Network Manager does: --conf-file=/dev/null 
--conf-dir=/etc/NetworkManager/dnsmasq.d
and might therefore be an example of those that call it - as you mentioned it 
can be discussed if it would have to add the,*.conf or anything like it.

An example of a program not calling with --conf-dir=/etc/dnsmasq.d might be 
libvirt.
But then it explicitly wants no other config at all to influence it and in 
terms of the interface exceptions and such it is correct as it explicitly 
states the interface to bind to.
Call:
--conf-file=/var/lib/libvirt/dnsmasq/default.conf
But in there:
interface=virbr0
So instead of using exclusions it it very specific where to bind to.
Maybe that and similar cases are a reason why it should not always pull in the 
dnsmasq.d dir - not sure?

Could you list the other examples you found - as I assume to get an idea
of potential side effects we would have to collect as much as possible.

** Changed in: dnsmasq (Ubuntu)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to dnsmasq in Ubuntu.
https://bugs.launchpad.net/bugs/1652032

Title:
  ambiguous config file

Status in dnsmasq package in Ubuntu:
  Confirmed

Bug description:
  Hi,

  I'm currently hunting some problems caused by some ambiguity in the
  dnsmasq config.

  There's a directory /etc/dnsmasq.d, where some packages put files with
  except-interface=... clauses, telling other instances of dnsmasq to
  "Keep your fingers from my interface". Good practice.

  But then, conf-dir=/etc/dnsmasq.d clauses in /etc/dnsmasq.conf are
  commented out, so actually the /etc/dnsmasq.d directory is not read by
  default.

  Some packages that use dnsmasq therefore give it a --conf-
  dir=/etc/dnsmasq.d command line parameter to make it read all those
  config snippets.

  This causes two problems:

  - Not all packages give their dnsmasq this additional parameter, and
  therefore not all dnsmasq instances obey those config. E.g.
  NetwerkManager uses it's own /etc/NetworkManager/dnsmasq.d, libvirt
  does not read it either.

  
  - Even those packages that use --conf-dir=/etc/dnsmasq.d do not all read the 
same, since there is an additional parameter telling which files to load or 
ignore, which is used differently by all the packages. 


  So it is quite unclear how these things should work together cleanly.
  Since the details are left to both the user's arbitrary configuration
  of /etc/dnsmasq.conf and every single package maintainer how he would
  prefer to use it, there's just a heap of confusion.

  In my eyes the best way would be to just use

  conf-dir=/etc/dnsmasq.d/,*.conf

  
  in the /etc/dnsmasq.conf and have this as a default, and that's it. 


  regards

  ProblemType: Bug
  DistroRelease: Ubuntu 16.10
  Package: dnsmasq 2.76-4
  ProcVersionSignature: Ubuntu 4.8.0-30.32-generic 4.8.6
  Uname: Linux 4.8.0-30-generic x86_64
  NonfreeKernelModules: zfs zunicode zcommon znvpair zavl
  ApportVersion: 2.20.3-0ubuntu8.2
  Architecture: amd64
  CurrentDesktop: XFCE
  Date: Thu Dec 22 12:55:33 2016
  InstallationDate: Installed on 2016-04-22 (243 days ago)
  InstallationMedia: Lubuntu 16.04 LTS "Xenial Xerus" - Release amd64 (20160420)
  PackageArchitecture: all
  SourcePackage: dnsmasq
  UpgradeStatus: Upgraded to yakkety on 2016-10-17 (66 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dnsmasq/+bug/1652032/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to