-
Couldn't load subscription status.
- Fork 13.9k
Closed
Labels
O-macosOperating system: macOSOperating system: macOS
Description
This is the test from rust source repository.
// FIXME: figure out why this fails on openbsd and bitrig and fix it #[test] #[cfg(not(any(windows, target_os = "openbsd", target_os = "bitrig")))] fn to_socket_addr_str_bad() { assert!(tsa("1200::AB00:1234::2552:7777:1313:34300").is_err()); } It says, the test fails on openbsd and bitrig, but it also fails on macOS.
let a: Vec<_> = "1200::AB00:1234::2552:7777:1313:34300" .to_socket_addrs().unwrap().collect(); println!("{:?}", a); // prints [V4(92.242.132.24:34300)] I guess the reason is this:
% host random::junk random::junk has address 92.242.132.24 Host random::junk not found: 3(NXDOMAIN) % dig random::junk ; <<>> DiG 9.10.6 <<>> random::junk ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 581 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;random::junk. IN A ;; ANSWER SECTION: random::junk. 0 IN A 92.242.132.24 ;; Query time: 30 msec ;; SERVER: 194.168.4.100#53(194.168.4.100) ;; WHEN: Wed Sep 05 04:07:34 BST 2018 ;; MSG SIZE rcvd: 57 194.168.4.100 is an IP address of DNS of my ISP.
So for some reason, macOS decides to resolve string 1200::AB00:1234::2552:7777:1313 using DNS, and on certain ISP this resolution success.
I think rust should either:
- disable this test on macOS as well
- or explicitly check if hostname contains a colon, immediately fail without passing the string to libc resolver
Metadata
Metadata
Assignees
Labels
O-macosOperating system: macOSOperating system: macOS