mDNS candidates resolution
this is not really an issue, as it can be addressed in the application, but I thought I'd mention it anyway, since libnice was mentioned in a discussion on discuss-webrtc as unable to address the change, and I explained how to do it instead.
To summarize, not sure you're aware that, after Safari, Chrome is now adding support for mDNS based candidates too, as defined in draft-mdns-ice-candidates-00, in an attempt to further increase privacy. Basically, it means that instead of a numeric IP, a host candidate in the SDP may contain a
.local address instead, that needs to be resolved locally.
Trying to pass the address as it is to libnice fails, so I fixed this in Janus by doing a resolution of the
.local address before passing the address to
nice_address_set_from_string. Anyway, looking at the implementation in libnice, it looks like you're doing a
getaddrinfo too, but with a constraint:
/* AI_NUMERICHOST prevents getaddrinfo() from doing DNS resolution. */ hints.ai_family = AF_UNSPEC; hints.ai_flags = AI_NUMERICHOST;
AI_NUMERICHOST is involved (which makes sense), resolving the
.local fails. I'm wondering if it might make sense to add an exception for mDNS addresses, though, considering they'll become a standard soon: that is, still not do a DNS resolution for domain names, but do it if it's a local address like this.
Looking forward to your thoughts on this, and hope this helps!