On Sun, Jan 22, 2017 at 07:07:28AM +1000, Philip Guenther wrote: > On Sun, 22 Jan 2017, Martin Pieuchot wrote: > > On 21/01/17(Sat) 20:40, Philip Guenther wrote: > > > > > > This is your periodic reminder that it's pointless for userspace to set > > > the {sun,sin,sin6,etc}_len field in sockaddrs being passed to the POSIX > > > APIs. An application can use it internally for its own purposes, but the > > > kernel always overwrites the value when passed in. > > > > I'd say explicit is better than implicit. Is there any bug in the code > > below? > > > > I believe it is simpler to always set the length, it makes our life easier > > when review code between kernel and userland. Or should we have two > > different practices because history screwed up? > > Let's something that has no effect, just for visual consistency? When the > value there is ignored, what reason is there to believe the correct value > is being used? > > Meanwhile, new code coming in from elsewhere is unlikely to set it, as > that field doesn't exist on non-BSDs, so we either (a) add ignored > assignments, or (b) be inconsistent inside userland. Oh, and -portable > projects have to patch out use of it. > > I would rather have userland be consistent with itself and inconsistent > with the kernel, than try for an incomplete consistency between userland > and the kernel that spreads the inconsistency inside userland. > > Kernel and userland best practices are already quite different, including > this in that list is the lesser evil. >
I would love to remove this from smtpd to reduce diff with portable, so i'm generally ok with the idea -- Gilles Chehade https://www.poolp.org @poolpOrg