[Pkg-nagios-changes] [pkg-monitoring-plugins] 25/51: Drop 13_check_proc_parent_process.dpatch - Included upstream
Jan Wagner
waja at moszumanska.debian.org
Mon Jul 7 14:36:23 UTC 2014
This is an automated email from the git hooks/post-receive script.
waja pushed a commit to branch master
in repository pkg-monitoring-plugins.
commit 9b0771520e0540b231f67c2d7b80e1298a9aa964
Author: Jan Wagner <waja at cyconet.org>
Date: Fri Feb 21 19:44:58 2014 +0100
Drop 13_check_proc_parent_process.dpatch
- Included upstream
---
debian/patches/00list | 1 -
debian/patches/13_check_proc_parent_process.dpatch | 138 ---------------------
2 files changed, 139 deletions(-)
diff --git a/debian/patches/00list b/debian/patches/00list
index 6ba78e1..2e7a453 100644
--- a/debian/patches/00list
+++ b/debian/patches/00list
@@ -1,4 +1,3 @@
02_check_icmp_links.dpatch
03_configure.in_remove_perlmods.dpatch
# commited upstream
-13_check_proc_parent_process.dpatch
diff --git a/debian/patches/13_check_proc_parent_process.dpatch b/debian/patches/13_check_proc_parent_process.dpatch
deleted file mode 100644
index c508115..0000000
--- a/debian/patches/13_check_proc_parent_process.dpatch
+++ /dev/null
@@ -1,138 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 13_check_proc_parent_process.dpatch by Anton Lofgren <alofgren at op5.com>
-##
-## From 77fc3548ae1be360584082d771fa01696d4f4479 Mon Sep 17 00:00:00 2001
-## From: Anton Lofgren <alofgren at op5.com>
-## Date: Fri, 18 Oct 2013 11:42:46 +0200
-## Subject: [PATCH] check_procs: ignore plugin parent process
-## Connection reset by peer
-##
-## This fix was grabbed from upstream VCS and provided by Anton Lofgren.
-## Fixes Debian Bug #626913
-
-This fixes an issue that appears when running check_procs over NRPE,
-where the default shell is configured to (for example) dash, as is the
-case on Debian.
-
-dash (and tcsh, and mksh, and probably others), when invoked with -c forks an additional process
-to execute the argument string. Contrast this with bash, which does not
-do this, provided that the argument string simply can be exec()'d as-is.
-
-To demonstrate:
-$ bash -c pstree
-init─┬ ..
- ...
- ├─sshd─-─sshd───pstree
-
-versus
-$ dash -c pstree
-init─┬ ..
- ...
- ├─sshd─-─sshd───dash───pstree
-
-The consequence of this fork is that the following invocation:
- /opt/plugins/check_procs -a init
-
-will result in this output:
-
- PROCS OK: 2 processes with args 'init' | processes=2;;;0;
-
-because the check_procs, in addition to finding the actual init process,
-finds its parent shell as well.
-
-This example is a bit contrived, but I think it illustrates the
-point.
-
-This wouldn't really be a problem, and normally isn't, if it weren't
-for the fact that NRPE uses a call to popen() which does exactly the
-above (executes '/bin/sh -c ...'), causing inconsistent behaviour
-between distributions and much confusion for end users.
-
-The argument may be made that the dash process spawned by NRPE is just a
-process like any other, and should therefore be included in the process
-count just like any other. However, this is not very intuitive, because
-of the previously mentioned inconsistencies.
-
-The argument might also well be made that we're _never_ interested in the
-immediate ancestor of the plugin, and while it is unknown how many
-installations have already made the necessary modifications to their
-setups to make up for the fact that the plugin behaves the way it does,
-it is not deemed worthwhile to entertain such workarounds.
-
-Thus, this patch ignores the parent process.
-
-See also these bug reports:
-http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626913
-http://sourceforge.net/p/nagiosplug/bugs/512/
-https://github.com/nagios-plugins/nagios-plugins/issues/999
-https://bugs.op5.com/view.php?id=4398
----
- plugins/check_procs.c | 8 ++++++++
- plugins/t/check_procs.t | 9 ++++++++-
- 2 files changed, 16 insertions(+), 1 deletion(-)
-
- at DPATCH@
-
-diff --git a/plugins/check_procs.c b/plugins/check_procs.c
-index d20b027..c2239db 100644
---- a/plugins/check_procs.c
-+++ b/plugins/check_procs.c
-@@ -123,6 +123,7 @@ enum metric {
- char *procprog;
-
- pid_t mypid = 0;
-+ pid_t myppid = 0;
- struct stat statbuf;
- dev_t mydev = 0;
- ino_t myino = 0;
-@@ -172,6 +173,7 @@ enum metric {
-
- /* find ourself */
- mypid = getpid();
-+ myppid = getppid();
- if (usepid || stat_exe(mypid, &statbuf) == -1) {
- /* usepid might have been set by -T */
- usepid = 1;
-@@ -241,6 +243,12 @@ enum metric {
- printf("not considering - is myself or gone\n");
- continue;
- }
-+ /* Ignore parent*/
-+ else if (myppid == procpid) {
-+ if (verbose >= 3)
-+ printf("not considering - is parent\n");
-+ continue;
-+ }
-
- /* filter kernel threads (childs of KTHREAD_PARENT)*/
- /* TODO adapt for other OSes than GNU/Linux
-diff --git a/plugins/t/check_procs.t b/plugins/t/check_procs.t
-index 1dea564..e0479ea 100644
---- a/plugins/t/check_procs.t
-+++ b/plugins/t/check_procs.t
-@@ -13,7 +13,7 @@ my $t;
- if (`uname -s` eq "SunOS\n" && ! -x "/usr/local/nagios/libexec/pst3") {
- plan skip_all => "Ignoring tests on solaris because of pst3";
- } else {
-- plan tests => 12;
-+ plan tests => 14;
- }
-
- my $result;
-@@ -26,6 +26,13 @@ $result = NPTest->testCmd( "./check_procs -w 100000 -c 100000 -s Z" );
- is( $result->return_code, 0, "Checking less than 100000 zombie processes" );
- like( $result->output, '/^PROCS OK: [0-9]+ process(es)? with /', "Output correct" );
-
-+SKIP: {
-+ skip "No bash available", 2 unless(system("which bash > /dev/null") == 0);
-+ $result = NPTest->testCmd( "bash -c './check_procs -a '/sbin/init'; true'" );
-+ is( $result->return_code, 0, "Parent process is ignored" );
-+ like( $result->output, '/^PROCS OK: 1 process?/', "Output correct" );
-+
-+}
- $result = NPTest->testCmd( "./check_procs -w 0 -c 100000" );
- is( $result->return_code, 1, "Checking warning if processes > 0" );
- like( $result->output, '/^PROCS WARNING: [0-9]+ process(es)? | procs=[0-9]+;0;100000;0;$/', "Output correct" );
---
-1.8.5.1
-
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-nagios/pkg-monitoring-plugins.git
More information about the Pkg-nagios-changes
mailing list