[Dnsmasq-discuss] NETLINK_NO_ENOBUFS not defined on old platforms
Geert Stappers
stappers at stappers.nl
Fri Mar 20 06:40:17 GMT 2020
On Fri, Mar 20, 2020 at 02:18:18AM +0000, Roy Marples wrote:
> On 19/03/2020 22:01, Simon Kelley wrote:
> > http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=0506a5ed4e56863627c54aedad30ad61221292ef
> >
> >
> > should handle both old kernel header files and old kernels, in any
> > combination.
>
> I really dislike this approach because it makes the assumption that no other
> symbol will take No 5.
>
> Whilst this might be true for generic linux, is it true for customised linux?
> Or to put it another way I can point to many examples cross BSD where the
> ioctls differ in number but not name.
>
> You might take the view "So what? We just support generic linux.".
>
> I have started to take the hard stance with Arch Linux which shipped latest
> kernel headers and support that on an old LTS kernel. It's not maintainable
> because I've had 3 instances where dhcpcd used to do this and then promptly
> crashed on newer kernels because they had customised headers.
>
> Modern software should not need this hack. Either #ifdef around it or
> require userland headers to define it. Don't hardcode it as it's not
> userlands responsibility to do it.
>
> See the similar case where OpenBSD removed a ioctl but let it in the header
> - even worse!!
|$ git pull
|Already up to date.
|$ git branch | grep \*
|* master
|$ git log -p 0506a5ed4e56863627^1...0506a5ed4e56863627 | sed -n 107,111p
|
|+#ifndef NETLINK_NO_ENOBUFS
|+#define NETLINK_NO_ENOBUFS 5
|+#endif
|
|$
In case more #ifdef is wanted, sent patches ...
Regards
Geert Stappers
--
Silence is hard to parse
More information about the Dnsmasq-discuss
mailing list