Greetings,
I would like to confirm that this bug also affected my systems with
running 4.3.4-1, and it was an unpleasant experience finding out why the
init script in /etc/init.d seems to start dhcpd happily, only to find
out that no dhcpd process is running and there is no message logged to
narrow down the problem.
I would also like to confirm findings of Tim and Lucas that the
/etc/init.d/isc-dhcp-server script decides to start v4 or v6 dhcpd based
on the non-zero content length of the INTERFACESv4/v6 variables. This
is, however, a poor criterion because it is perfectly legit to run dhcpd
without a list of interfaces to listen on; after all, even the package
installation script says during the installation: "The interfaces will
be automatically detected if this field is left blank." The current init
script therefore breaks all systems that do not specify a list of
interfaces to listen on, hoping that dhcpd will find out about
interfaces itself.
What I suggest:
1.) Instead of using INTERFACESv4 and INTERFACESv6 variables to find out
what dhcpd to run, have /etc/init.d/isc-dhcp-server and
/etc/default/isc-dhcp-server use dedicated variables, such as RUNv4 and
RUNv6, or DHCPDv4 and DHCPDv6. The configuration MUST allow running
dhcpd in either version without specifying a list of interfaces.
2.) Have /etc/init.d/isc-dhcp-server always print out a message about
starting or not-starting v4 and v6 dhcpd. This way, it will be at least
clear that it is the init script itself that decides not to start a
particular dhcpd proces.
I can provide a patch against the init script if it would help but at
this point, both these suggestions seem to be a rather trivial scripting
effort.
In any case, please, with all due respect and understanding for the
maintainer's other duties and responsibilities, would it be possible to
move the solution of this bug forward? I honestly believe this can be
done and over with in an hour of concerted effort.
Thank you!
Best regards,
Peter