Ignore:
Timestamp:
Dec 14, 2004, 12:09:00 AM (15 years ago)
Author:
landonf
Message:

Fix start-stop-daemon on FreeBSD 5.3

Location:
trunk/dports/sysutils/dpkg
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/dports/sysutils/dpkg/Portfile

    r9715 r9755  
    1 # $Id: Portfile,v 1.12 2004/12/11 00:53:35 landonf Exp $
     1# $Id: Portfile,v 1.13 2004/12/14 00:08:59 landonf Exp $
    22
    33PortSystem 1.0
    44name                    dpkg
    55version                 1.10.25
    6 revision                5
     6revision                6
    77platforms               darwin
    88categories              sysutils archivers
  • trunk/dports/sysutils/dpkg/files/patch-utils_start-stop-daemon.c

    r6346 r9755  
    1 --- utils/start-stop-daemon.c   Sat Apr 10 11:10:57 2004
    2 +++ utils/start-stop-daemon.c   Sat Apr 10 11:28:43 2004
     1--- utils/start-stop-daemon.c.orig      Thu Nov 11 12:10:04 2004
     2+++ utils/start-stop-daemon.c   Mon Dec 13 16:02:18 2004
    33@@ -36,6 +36,8 @@
    44 #  define OSFreeBSD
     
    1919 #include <sys/user.h>
    2020 #include <sys/proc.h>
    21 @@ -690,11 +692,12 @@
     21@@ -723,11 +725,12 @@
    2222 {
    2323 #if defined(OSLinux) || defined(OShpux)
     
    3434                return;
    3535        if (cmdname && !pid_is_cmd(pid, cmdname))
    36 @@ -877,6 +880,78 @@
     36@@ -849,7 +852,6 @@
     37 {
     38        kvm_t *kd;
     39        int nentries;   /* Value not used */
     40-       uid_t proc_uid;
     41        struct kinfo_proc *kp;
     42        char  errbuf[_POSIX2_LINE_MAX];
     43 
     44@@ -859,34 +861,10 @@
     45                errx(1, "%s", errbuf);
     46        if ((kp = kvm_getprocs(kd, KERN_PROC_PID, pid, &nentries)) == 0)
     47                errx(1, "%s", kvm_geterr(kd));
     48-       if (kp->kp_proc.p_cred )
     49-               kvm_read(kd, (u_long)&(kp->kp_proc.p_cred->p_ruid),
     50-                       &proc_uid, sizeof(uid_t));
     51-       else
     52-               return 0;
     53-       return (proc_uid == (uid_t)uid);
     54-}
     55-
     56-static int
     57-pid_is_exec(pid_t pid, const char *name)
     58-{
     59-       kvm_t *kd;
     60-       int nentries;
     61-       struct kinfo_proc *kp;
     62-       char errbuf[_POSIX2_LINE_MAX], *pidexec;
     63 
     64-       kd = kvm_openfiles(NULL, NULL, NULL, O_RDONLY, errbuf);
     65-       if (kd == 0)
     66-               errx(1, "%s", errbuf);
     67-       if ((kp = kvm_getprocs(kd, KERN_PROC_PID, pid, &nentries)) == 0)
     68-               errx(1, "%s", kvm_geterr(kd));
     69-       pidexec = (&kp->kp_proc)->p_comm;
     70-       if (strlen(name) != strlen(pidexec))
     71-               return 0;
     72-       return (strcmp(name, pidexec) == 0) ? 1 : 0;
     73+       return (kp->ki_uid == (uid_t)uid);
     74 }
     75 
     76-
     77 static void
     78 do_procinit(void)
     79 {
     80@@ -895,6 +873,78 @@
    3781 
    3882 #endif /* OSOpenBSD */
Note: See TracChangeset for help on using the changeset viewer.