Przeglądaj źródła

s-s-d: Fix OpenBSD KVM code to use current kinfo_proc layout

Guillem Jover 12 lat temu
rodzic
commit
d12071e4aa
2 zmienionych plików z 7 dodań i 0 usunięć
  1. 1 0
      debian/changelog
  2. 6 0
      utils/start-stop-daemon.c

+ 1 - 0
debian/changelog

@@ -61,6 +61,7 @@ dpkg (1.17.7) UNRELEASED; urgency=low
       the KVM-based one, and means neither linprocfs nor procfs are required
       on such system anymore. Note that GNU/kFreeBSD is still using Linux
       procfs code (which ends up using linprocfs).
+    - Fix OpenBSD KVM code to use current kinfo_proc layout.
 
   [ Updated dpkg translations ]
   * German (Sven Joachim).

+ 6 - 0
utils/start-stop-daemon.c

@@ -1322,6 +1322,8 @@ pid_is_user(pid_t pid, uid_t uid)
 
 #if defined(OSFreeBSD)
 	proc_uid = kp->ki_ruid;
+#elif defined(OSOpenBSD)
+	proc_uid = kp->p_ruid;
 #else
 	if (kp->kp_proc.p_cred)
 		kvm_read(kd, (u_long)&(kp->kp_proc.p_cred->p_ruid),
@@ -1405,6 +1407,8 @@ pid_is_cmd(pid_t pid, const char *name)
 
 #if defined(OSFreeBSD)
 	process_name = kp->ki_comm;
+#elif defined(OSOpenBSD)
+	process_name = kp->p_comm;
 #else
 	process_name = kp->kp_proc.p_comm;
 #endif
@@ -1578,6 +1582,8 @@ do_procinit(void)
 
 #if defined(OSFreeBSD)
 		pid = kp[i].ki_pid;
+#elif defined(OSOpenBSD)
+		pid = kp[i].p_pid;
 #else
 		pid = kp[i].kp_proc.p_pid;
 #endif