[Bug 1005062] Re: dhcpd cannot READ /var/run/dhcpd.pid because of bad apparmor config
Launchpad Bug Tracker
1005062 at bugs.launchpad.net
Wed May 30 20:20:22 UTC 2012
** Branch linked: lp:ubuntu/precise-proposed/isc-dhcp
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to isc-dhcp in Ubuntu.
https://bugs.launchpad.net/bugs/1005062
Title:
dhcpd cannot READ /var/run/dhcpd.pid because of bad apparmor config
Status in “isc-dhcp” package in Ubuntu:
Fix Released
Status in “isc-dhcp” source package in Precise:
Fix Committed
Status in “isc-dhcp” source package in Quantal:
Fix Released
Bug description:
This bug is present in the latest versions of isc-dhcp-server
available in precise and in natty.
This bugs prevents dhcpd from detecting the presence of an already
running dhcpd, the result is multiple copies of dhcpd running when
there should only ever be one ( or none ).
apparmor="DENIED" operation="open" parent=31445
profile="/usr/sbin/dhcpd" name="/run/dhcp-server/dhcpd.pid" pid=31446
comm="dhcpd" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
Apparmor config for dhcpd
/{,var/}run/{,dhcp-server/}dhcpd{,6}.pid w,
dhcpd needs access to read the pid file in server/dhcpd.c
/*Read previous pid file. */
if ((i = open (path_dhcpd_pid, O_RDONLY)) >= 0) {
status = read(i, pbuf, (sizeof pbuf) - 1);
close (i);
if (status > 0) {
pbuf[status] = 0;
pid = atoi(pbuf);
/*
* If there was a previous server process and
* it is still running, abort
*/
if (!pid ||
(pid != getpid() && kill(pid, 0) == 0))
log_fatal("There's already a "
"DHCP server running.");
}
}
Testcase:
1) Follow the testcase from bug 985417
2) Once you're done with that testcase, restart isc-dhcp-server and isc-dhcp-server6 (if doing IPv6 testing)
3) Check "dmesg" for any apparmor error
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1005062/+subscriptions
More information about the foundations-bugs
mailing list