[Dnsmasq-discuss] warning: `dnsmasq' uses 32-bit capabilities (re-visited)

Nick Warne nick at linicks.net
Sun Jun 9 11:54:47 BST 2013


On Sat, Jun 08, 2013 at 11:11:37AM +0100, Nick Warne wrote:

> > > > > >>What version of dnsmasq are you using?
> > > > > >
> > > > > >The latest - 2.66, built from source.
> > > > > >
> > > > > >with:
> > > > > >
> > > > > >/lib/libc.so.6 -v
> > > > > >GNU C Library stable release version 2.7
> > > > > >
> > > > > >and linux kernel (self rolled) 3.9.4
> > > > > 
> > > > > I'm mystified. The API hasn't changed in the latest kernel.
> > > > > 
> > > > > In src/dnsmasq.c, there's some code that starts
> > > > > 
> > > > > determine capability API version here,
> > > > > 
> > > > > Can you trace in gdb and see what API version it's getting?
> > > > 
> > > > OK, I might need some help here, long time since I used gdb like this - plus as dnsmasq needs root to start, how would I do it?
> > > > 
> > > 
> > > Right, I put a printf in the cap section:
> > > 
> > > /dnsmasq-2.66$ sudo src/dnsmasq
> > > version = 0x20080522
> > > 
> > > It finds what looks right to me?
> > 
> ...and some more:
>  
> before VERSION detection:
> version = 0x20080522
> capsize = 0x1
>  
> after VERSION detection:
> version = 0x20080522
> capsize = 0x2
>  
> ...so it's doing what it should do!

I am just building latest stable kernel, and have made a slight adjustment tyo the code so that the warning message appears everytime dnsmasq starts - so I can easy test now any fixes :)

For those interested, in kernel/capability.c 'static int warn' is assigned (if (!warn) {blah blah}), and after the warning is issued it gets set to 1;  I changed this to '0' so the warning appears each time now.

Nick

-- 
Free Software Foundation Associate Member 5508
http://linicks.net/



More information about the Dnsmasq-discuss mailing list