Summary: | freebsd-update does not form a valid MLIST when host -t srv returns non caps reply | ||||||
---|---|---|---|---|---|---|---|
Product: | Base System | Reporter: | George Mamalakis <mamalos> | ||||
Component: | bin | Assignee: | Colin Percival <cperciva> | ||||
Status: | Closed DUPLICATE | ||||||
Severity: | Affects Some People | CC: | mamalos | ||||
Priority: | --- | Keywords: | patch | ||||
Version: | 10.2-RELEASE | ||||||
Hardware: | amd64 | ||||||
OS: | Any | ||||||
Attachments: |
|
Fixed in HEAD, will MFC soon. *** This bug has been marked as a duplicate of bug 170503 *** |
Created attachment 175655 [details] Patch that just makes the sed statement case insensitive. freebsd-update fetch fails to find a valid mirror list on some FreeBSD systems (tested with 10.1-RELEASE and 10.2-RELEASE), by returning: Looking up update.FreeBSD.org mirrors... none found. Fetching metadata signature for 10.2-RELEASE from update.FreeBSD.org... Reason: Depending on the DNS server a FreeBSD box asks, the answer to a query like: host -tsrv _http._tcp.update.FREEBSD.org can be either: _http._tcp.update.freebsd.org has SRV record 1 5 80 update3.freebsd.org. _http._tcp.update.freebsd.org has SRV record 1 50 80 update5.freebsd.org. _http._tcp.update.freebsd.org has SRV record 1 35 80 update4.freebsd.org. _http._tcp.update.freebsd.org has SRV record 1 40 80 update6.freebsd.org. or: _http._tcp.update.FREEBSD.org has SRV record 1 50 80 update5.freebsd.org. _http._tcp.update.FREEBSD.org has SRV record 1 40 80 update6.freebsd.org. _http._tcp.update.FREEBSD.org has SRV record 1 5 80 update3.freebsd.org. _http._tcp.update.FREEBSD.org has SRV record 1 35 80 update4.freebsd.org. freebsd-update script forms a list of available mirror servers by executing such a query and by running various sed commands on its output. If the reply does not contain FREEBSD in caps, the produced list turns out to be empty - which is wrong, since the reply is not empty (and since FQDNs are case insensitive). This happens because the SERVERNAME variable of freebsd-update takes its value (update.FREEBSD.org) from /etc/freebsd-update.conf, which has caps in it. It's strange that some DNS servers reply with caps when asked with caps and others don't, but this is a different issue... A patch that makes the sed statement case insensitive is provided. Another possible patch that would resolve the issue would be to change /etc/freebsd-update.conf's record to use lower case, but IMHO, the script is wrong because FQDNs are case insensitive and it doesn't take it into account.