Page MenuHomeSolus

Update dnsmasq to 2.80
Needs ReviewPublic

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

Details

Summary

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

Repository
R645 dnsmasq
Branch
master
Lint
No Linters Available
Unit
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: https://github.com/imp/dnsmasq/blob/master/dbus/DBus-interface

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/dnsmasq.pid 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.