Przeglądaj źródła

Fixes #1422: ipv6 addr contains colons, so we split only by the first char.

Signed-off-by: Clemens Gutweiler <[email protected]>
Clemens Gutweiler 9 lat temu
rodzic
commit
ce9f2681a2
2 zmienionych plików z 5 dodań i 3 usunięć
  1. 1 1
      compose/config/types.py
  2. 4 2
      tests/unit/config/types_test.py

+ 1 - 1
compose/config/types.py

@@ -58,7 +58,7 @@ def parse_extra_hosts(extra_hosts_config):
         extra_hosts_dict = {}
         for extra_hosts_line in extra_hosts_config:
             # TODO: validate string contains ':' ?
-            host, ip = extra_hosts_line.split(':')
+            host, ip = extra_hosts_line.split(':', 1)
             extra_hosts_dict[host.strip()] = ip.strip()
         return extra_hosts_dict
 

+ 4 - 2
tests/unit/config/types_test.py

@@ -16,11 +16,13 @@ def test_parse_extra_hosts_list():
     assert parse_extra_hosts([
         "www.example.com: 192.168.0.17",
         "static.example.com:192.168.0.19",
-        "api.example.com: 192.168.0.18"
+        "api.example.com: 192.168.0.18",
+        "v6.example.com: ::1"
     ]) == {
         'www.example.com': '192.168.0.17',
         'static.example.com': '192.168.0.19',
-        'api.example.com': '192.168.0.18'
+        'api.example.com': '192.168.0.18',
+        'v6.example.com': '::1'
     }