Page MenuHomeSolus

Update dnsmasq to 2.80
Needs ReviewPublic

Authored by livingsilver94 on Thu, Mar 12, 11:05 PM.



Changelog available here, read versions 2.79 and 2.80.

Package changes:

  • Make dnsmasq stateless
  • Enable dbus
  • Add systemd service

Fixes T1720, T7032.

Test Plan
  • Systemd starts, restarts and stops dnsmasq
  • Removing --enable-dbus from .service file makes systemctl wait indefinitely. That means that the dnsmasq actually acquires a name on the dbus bus.
  • dnsmasq reads /tmp/resolv.conf when /etc/dnsmasq.conf does not exists, and tmp/resolv2.conf when it does. You can check that by running sudo dnsmasq -d --enable-dbus. Of course those two .conf files were manually added to the conf files after installation.
  • mar 13 19:31:17 phoenix NetworkManager[30496]: <info> [1584124277.5005] dnsmasq: starting /usr/bin/dnsmasq When launching NetworkManager with dnsmasq added

Diff Detail

R645 dnsmasq
No Linters Available
No Unit Test Coverage

Event Timeline

livingsilver94 requested review of this revision.Thu, Mar 12, 11:05 PM
livingsilver94 added a comment.EditedThu, Mar 12, 11:20 PM

Do you want to enable dbus for dnsmasq? Most distros have it enabled, though I'm not sure what's useful for. Configuration maybe?

EDIT ah yes, here it is:

Oh, I found this task: T7032

Make it stateless and enable dbus

livingsilver94 edited the test plan for this revision. (Show Details)Fri, Mar 13, 6:06 PM
livingsilver94 edited the test plan for this revision. (Show Details)Fri, Mar 13, 6:14 PM
livingsilver94 edited the test plan for this revision. (Show Details)EditedFri, Mar 13, 6:33 PM

You can review now. There's still a little issue to fix imho: dnsmasq is launched with nobody user, in fact I get mar 13 19:31:17 phoenix dnsmasq[30598]: chown of PID file /var/run/NetworkManager/ failed: Operation not permitted when NetworkManager launches dnsmasq. Other distros add a system user dedicated to it, let me say what you want me to do.

Also, I think that putting dnsmasq inside /usr/bin is incorrect. It requires to create sockets in order to work, so I think the default path, /usr/sbin, is better.