This is merged by https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=762a3f243099d26b1e87aad2b1b4b696cd8c33ac

Simon has added description for it.

On 06. 02. 24 0:15, Heikki Linnakangas wrote:
On 05/02/2024 22:52, Geert Stappers wrote:
On Mon, Feb 05, 2024 at 08:47:54PM +0200, Heikki Linnakangas wrote:
diff --git a/src/inotify.c b/src/inotify.c
index a944c62..0c775de 100644
--- a/src/inotify.c
+++ b/src/inotify.c
@@ -94,7 +94,7 @@ void inotify_dnsmasq_init()
    if (daemon->inotifyfd == -1)
      die(_("failed to create inotify: %s"), NULL, EC_MISC);
  -  if (option_bool(OPT_NO_RESOLV))
+  if (daemon->port == 0 || option_bool(OPT_NO_RESOLV))

Nice and clean

Thanks!

diff --git a/src/dnsmasq.c b/src/dnsmasq.c
index ce897ae..5520511 100644
--- a/src/dnsmasq.c
+++ b/src/dnsmasq.c
@@ -429,8 +429,8 @@ int main (int argc, char **argv)
      }
    #ifdef HAVE_INOTIFY
-  if ((daemon->port != 0 || daemon->dhcp || daemon->doing_dhcp6)
-      && (!option_bool(OPT_NO_RESOLV) || daemon->dynamic_dirs))
+  if ((daemon->port != 0 && !option_bool(OPT_NO_RESOLV))
+      || ((daemon->dhcp || daemon->doing_dhcp6) && daemon->dynamic_dirs))

Mmm, not so clean.  So I didn't give it further attention.

The point is to avoid calling inotify_init1() and creating an inotify fd, if inotify is not used. My thinking was that inotify is used for two things:

1. To watch for resolv_files. Only if port != 0 and --no-resolv was not given. 2. To watch for dhcp-hostsdir, dhcp-optsdir and hostsdir. Only if DHCP is enabled.

Hmm, I think I got 2. wrong: the --hostsdir option also affects DNS replies. I'm not sure what exactly the conditions here should be. This is one alternative:

  if ((daemon->port != 0 && !option_bool(OPT_NO_RESOLV))
      || daemon->dynamic_dirs)

But that'd still create the inotify fd unnecessarily e.g if you specify --dhcp-optsdir but no --dhcp-range. (Admittedly that's a silly combination.)

- Heikki


_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss

--
Petr Menšík
Software Engineer, RHEL
Red Hat, http://www.redhat.com/
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB


_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss

Reply via email to