<div dir="ltr"><div class="gmail_quote"><div dir="ltr">Hello,<div><br></div><div>I might have stumbled upon a minor bug in dnsmasq which causes NET_ADMIN capability being required even if it's actually not needed (according to provided command line arguments).</div><div><br></div><div><div>diff --git a/src/dnsmasq.c b/src/dnsmasq.c<br>index 30fb419..cef42f6 100644<br>--- a/src/dnsmasq.c<br>+++ b/src/dnsmasq.c<br>@@ -313,9 +313,10 @@ int main (int argc, char **argv)<br> {<br> dhcp_init();<br> # ifdef HAVE_LINUX_NETWORK<br>- if (!option_bool(OPT_NO_PING))<br>- need_cap_net_raw = 1;<br>- need_cap_net_admin = 1;<br>+ if (!option_bool(OPT_NO_PING)) {<br>+ need_cap_net_raw = 1;<br>+ need_cap_net_admin = 1;<br>+ }<br> # endif<br> }<br></div></div><div><br></div><div>Without this patch, with following arguments, dnsmasq ends with "dnsmasq: process is missing required capability NET_ADMIN"</div><div><br></div><div>src/dnsmasq \<br>--strict-order \<br>--bind-interfaces \<br>--interface=br-mgmt \<br>--listen-address=10.0.0.254 \<br>--dhcp-range=10.0.0.1,10.0.0.250 \<br>--dhcp-authoritative \<br>--no-ping \<br>--dhcp-broadcast \<br>--port=0 \<br>--conf-file= \<br>--pid-file=/tmp/dnsmasq.pid \<br>--dhcp-leasefile=/tmp/dnsmasq.leases \<br>--dhcp-no-override \<br>--no-daemon<br></div><div><br></div><div>After applying the patch dnsmasq starts and runs fine.</div><div><br></div><div>Best regards,</div><div>Martin</div><div><br></div></div>
</div></div>