** Description changed:

- 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
+ 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 config for dhcpd 
+ 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);
  
-                 /*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.");
-                         }
-                 }
- 
- This bug is present in precise and in natty
+                                 /*
+                                  * 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.");
+                         }
+                 }

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1005062

Title:
  dhcpd cannot READ /var/run/dhcpd.pid because of bad apparmor config

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1005062/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to