Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: /etc/exports is now being read incorrectly



In article <4510.1450878092%andromeda.noi.kre.to@localhost>,
Robert Elz  <kre%munnari.OZ.AU@localhost> wrote:
>In my previous message, I meant to explicitly say that I'd just
>change exports(5) to remove the couple of examples that use dotted-quads
>with less than 3 dots.
>
>If that's not considered approprite, then rather than reverting the
>change to getaddrinfo(), change get_net() in usr.sin/moountd/moountd.c
>to explicitly check for strings of digits and dots, and skip
>calling getaddrinfo() in that case, judt doing the inet_network()
>(and inet_makeaddr()) path instead.
>
>It used to be that getaddrinfo() would tyically fail (one hoped) when
>given a "name" like 1.2.3 (that is, it was hoped we wold not find that
>in the DNS, and it failed to convert as a dotted quad, because of
>insufficient fields).   The code in mountd then falls through and uses
>inet_network() which (being ancient) accepts all the old crappy formats.

Unfortunately the standards say it should parse that ol'style.

>Now getaddrinfo() is no longer failing, but is (as it should, if they should
>be interpreted at all) treating the dotted-"less than quad" in the old form
>for an IP address (where 10.2 meant 10.0.0.2), which isn't what mountd
>was expecting at all (it assumes getaddrinfo() will fail in such a case).
>
>I'm not 100% sure what the getaddrinfo() is doing there at all ... it only
>gets called when the first char of the "name" is a digit (what's special
>about that case??) so most likely it is not really anticipating being called
>with a host name, or FQDN, but only with an IP address.   Oh, I see  this
>is the way IPv6 addresse literals are being handled .. if they happen to
>start with a digit (2001:... but not c001:...) - ones that start with a
>hex digit that is not a digit are handled later.
>
>This whole section of code (get_net() in mountd) needs consigning to
>/dev/null and being replaced by something sane.

Heh, I put it in solitary confinement for now.

christos



Home | Main Index | Thread Index | Old Index