summaryrefslogtreecommitdiff
path: root/source/a/sysvinit/sysvinit.pidof.rhforkseverything.diff
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/sysvinit/sysvinit.pidof.rhforkseverything.diff')
-rw-r--r--source/a/sysvinit/sysvinit.pidof.rhforkseverything.diff81
1 files changed, 0 insertions, 81 deletions
diff --git a/source/a/sysvinit/sysvinit.pidof.rhforkseverything.diff b/source/a/sysvinit/sysvinit.pidof.rhforkseverything.diff
deleted file mode 100644
index db94dcf1..00000000
--- a/source/a/sysvinit/sysvinit.pidof.rhforkseverything.diff
+++ /dev/null
@@ -1,81 +0,0 @@
---- sysvinit-2.86/man/pidof.8.chroot 1998-09-02 08:49:33.000000000 -0400
-+++ sysvinit-2.86/man/pidof.8 2005-12-19 15:37:40.000000000 -0500
-@@ -4,6 +4,7 @@
- .SH SYNOPSIS
- .B pidof
- .RB [ \-s ]
-+.RB [ \-c ]
- .RB [ \-x ]
- .RB [ \-o
- .IR omitpid ]
-@@ -24,6 +25,10 @@
- .SH OPTIONS
- .IP -s
- Single shot - this instructs the program to only return one \fIpid\fP.
-+.IP -c
-+Only return process ids that are running with the same root directory.
-+This option does not make sense for non-root users, as they will be
-+unable to check the current root directory of processes they do not own.
- .IP -x
- Scripts too - this causes the program to also return process id's of
- shells running the named scripts.
---- sysvinit-2.86/src/killall5.c.chroot 2004-07-30 08:16:23.000000000 -0400
-+++ sysvinit-2.86/src/killall5.c 2005-12-19 15:38:47.000000000 -0500
-@@ -476,16 +476,22 @@
- int f;
- int first = 1;
- int i, oind, opt, flags = 0;
-+ int chroot_check = 0;
-+ struct stat st;
-+ char tmp[512];
-
- for (oind = PIDOF_OMITSZ-1; oind > 0; oind--)
- opid[oind] = 0;
- opterr = 0;
-
-- while ((opt = getopt(argc,argv,"ho:sx")) != EOF) switch (opt) {
-+ while ((opt = getopt(argc,argv,"hco:sx")) != EOF) switch (opt) {
- case '?':
- nsyslog(LOG_ERR,"invalid options on command line!\n");
- closelog();
- exit(1);
-+ case 'c':
-+ chroot_check = 1;
-+ break;
- case 'o':
- if (oind >= PIDOF_OMITSZ -1) {
- nsyslog(LOG_ERR,"omit pid buffer size %d "
-@@ -518,6 +524,16 @@
- argc -= optind;
- argv += optind;
-
-+ /* Check if we are in a chroot */
-+ if (chroot_check) {
-+ snprintf(tmp, 512, "/proc/%d/root", getpid());
-+ if (stat(tmp, &st) < 0) {
-+ nsyslog(LOG_ERR, "stat failed for %s!\n", tmp);
-+ closelog();
-+ exit(1);
-+ }
-+ }
-+
- /* Print out process-ID's one by one. */
- readproc();
- for(f = 0; f < argc; f++) {
-@@ -541,6 +557,16 @@
- else
- spid = 1;
- }
-+ if (chroot_check) {
-+ struct stat st2;
-+ snprintf(tmp, 512, "/proc/%d/root",
-+ p->pid);
-+ if (stat(tmp, &st2) < 0 ||
-+ st.st_dev != st2.st_dev ||
-+ st.st_ino != st2.st_ino) {
-+ continue;
-+ }
-+ }
- if (!first)
- printf(" ");
- printf("%d", p->pid);