Skip to content

Commit c11c9d5

Browse files
committed
Adapt ucx address when parsing for all_zero_ip
Introduced from commit 5ffa0ea Author: Adam Ning <[email protected]> Date: Wed Jul 10 15:24:08 2024 +0800 ENH: fix non-local client connection problem when server listen on 0.0.0.0 (#92)
1 parent 3320bd3 commit c11c9d5

File tree

2 files changed

+41
-2
lines changed

2 files changed

+41
-2
lines changed

python/xoscar/tests/test_utils.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,20 +164,59 @@ def test_timer():
164164

165165
def test_fix_all_zero_ip():
166166
assert utils.is_v4_zero_ip("0.0.0.0:1234") == True
167+
assert utils.is_v4_zero_ip("ucx://0.0.0.0:1234") == True
167168
assert utils.is_v4_zero_ip("127.0.0.1:1234") == False
169+
assert utils.is_v4_zero_ip("ucx://127.0.0.1:1234") == False
168170
assert utils.is_v6_zero_ip(":::1234") == True
171+
assert utils.is_v6_zero_ip("ucx://:::1234") == True
169172
assert utils.is_v6_zero_ip("::FFFF:1234") == False
173+
assert utils.is_v6_zero_ip("ucx://::FFFF:1234") == False
170174
return utils.is_v6_zero_ip("0000:0000:0000:0000:0000:0000:0000:0000:1234") == True
175+
return (
176+
utils.is_v6_zero_ip("ucx://0000:0000:0000:0000:0000:0000:0000:0000:1234")
177+
== True
178+
)
171179
return utils.is_v6_zero_ip("0:0:0:0:0:0:0:0:1234") == True
180+
return utils.is_v6_zero_ip("ucx://0:0:0:0:0:0:0:0:1234") == True
172181
return utils.is_v6_zero_ip("0:0:0:0:0:1234") == True
182+
return utils.is_v6_zero_ip("ucx://0:0:0:0:0:1234") == True
173183
assert utils.is_v6_zero_ip("2001:db8:3333:4444:5555:6666:7777:8888:1234") == False
184+
assert (
185+
utils.is_v6_zero_ip("ucx://2001:db8:3333:4444:5555:6666:7777:8888:1234")
186+
== False
187+
)
174188
assert utils.is_v6_zero_ip("127.0.0.1:1234") == False
189+
assert utils.is_v6_zero_ip("ucx://127.0.0.1:1234") == False
190+
# untouched
175191
assert utils.fix_all_zero_ip("127.0.0.1:1234", "127.0.0.1:5678") == "127.0.0.1:1234"
192+
# untouched
193+
assert (
194+
utils.fix_all_zero_ip("ucx://127.0.0.1:1234", "ucx://127.0.0.1:5678")
195+
== "ucx://127.0.0.1:1234"
196+
)
197+
# untouched
176198
assert utils.fix_all_zero_ip("0.0.0.0:1234", "0.0.0.0:5678") == "0.0.0.0:1234"
199+
# untouched
200+
assert (
201+
utils.fix_all_zero_ip("ucx://0.0.0.0:1234", "ucx://0.0.0.0:5678")
202+
== "ucx://0.0.0.0:1234"
203+
)
204+
# fixd with port change
177205
assert (
178206
utils.fix_all_zero_ip("0.0.0.0:1234", "192.168.0.1:5678") == "192.168.0.1:1234"
179207
)
208+
# fixd with port change
209+
assert (
210+
utils.fix_all_zero_ip("ucx://0.0.0.0:1234", "ucx://192.168.0.1:5678")
211+
== "ucx://192.168.0.1:1234"
212+
)
213+
# untouched
180214
assert utils.fix_all_zero_ip("127.0.0.1:1234", "0.0.0.0:5678") == "127.0.0.1:1234"
215+
assert (
216+
utils.fix_all_zero_ip("ucx://127.0.0.1:1234", "ucx://0.0.0.0:5678")
217+
== "ucx://127.0.0.1:1234"
218+
)
219+
# fixed ipv6
181220
assert (
182221
utils.fix_all_zero_ip(":::1234", "2001:0db8:0001:0000:0000:0ab9:C0A8:0102:5678")
183222
== "2001:0db8:0001:0000:0000:0ab9:C0A8:0102:1234"

python/xoscar/utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -465,12 +465,12 @@ def is_linux():
465465

466466

467467
def is_v4_zero_ip(ip_port_addr: str) -> bool:
468-
return ip_port_addr.startswith("0.0.0.0:")
468+
return ip_port_addr.split("://")[-1].startswith("0.0.0.0:")
469469

470470

471471
def is_v6_zero_ip(ip_port_addr: str) -> bool:
472472
# tcp6 addr ":::123", ":: means all zero"
473-
arr = ip_port_addr.split(":")
473+
arr = ip_port_addr.split("://")[-1].split(":")
474474
if len(arr) <= 2: # Not tcp6 or udp6
475475
return False
476476
for part in arr[0:-1]:

0 commit comments

Comments
 (0)