summaryrefslogtreecommitdiff
path: root/net/net-snmp/patches/patch-ab
diff options
context:
space:
mode:
Diffstat (limited to 'net/net-snmp/patches/patch-ab')
-rw-r--r--net/net-snmp/patches/patch-ab180
1 files changed, 180 insertions, 0 deletions
diff --git a/net/net-snmp/patches/patch-ab b/net/net-snmp/patches/patch-ab
new file mode 100644
index 00000000000..9c22ae140b8
--- /dev/null
+++ b/net/net-snmp/patches/patch-ab
@@ -0,0 +1,180 @@
+$NetBSD: patch-ab,v 1.4.6.1 2005/05/27 14:02:23 salo Exp $
+
+--- local/fixproc.orig 2002-04-20 08:30:13.000000000 +0100
++++ local/fixproc 2005-05-25 14:36:18.000000000 +0100
+@@ -129,6 +129,8 @@
+ #
+ # Timothy Kong 3/1995
+
++use File::Temp qw(tempfile);
++
+ $database_file = '/local/etc/fixproc.conf';
+
+ $debug = 0; # specify debug level using -dN
+@@ -191,20 +193,19 @@
+ sub create_sh_script
+ {
+ local ($file) = pop (@_);
++ local ($fh) = pop (@_);
+ local ($i) = pop (@_);
+
+- printf (stderr "create_sh_script\n") if ($debug > 0);
++ printf (STDERR "create_sh_script\n") if ($debug > 0);
+
+ $! = $fixproc_error;
+- open (file, ">"."$file") || die "$0: cannot open $file\n";
+ while ( $shell_lines[$i] ne $shell_end_marker )
+ {
+- printf (file "%s", $shell_lines[$i]);
++ printf ($fh "%s", $shell_lines[$i]);
+ $i++;
+ }
+- close (file);
+- system "chmod +x $file";
+- return file;
++ close ($fh);
++ chmod 0755, $file;
+ }
+
+
+@@ -212,7 +213,7 @@
+ {
+ local ($proc) = pop(@_);
+
+- printf (stderr "do_fix\n") if ($debug > 0);
++ printf (STDERR "do_fix\n") if ($debug > 0);
+
+ if ($fix{$proc} eq '')
+ {
+@@ -230,14 +231,13 @@
+ else
+ {
+ # it must be "shell", so execute the shell script defined in database
++ local ($tmpfh, $tmpfile) = tempfile("fix_XXXXXXXX", DIR => "/tmp");
+
+- local ($tmpfile) = "/tmp/fix_$$";
+-
+- &create_sh_script ($fix{$proc}, $tmpfile);
++ &create_sh_script ($fix{$proc}, $tmpfh, $tmpfile);
+
+ # return code is number divided by 256
+ $error_code = (system "$tmpfile") / 256;
+- system "rm $tmpfile";
++ unlink($tmpfile);
+ return ($fix_failed_error) if ($error_code != 0);
+ # sleep needed here?
+ return &do_exist ($proc);
+@@ -249,7 +249,7 @@
+ {
+ local ($proc) = pop(@_);
+
+- printf (stderr "do_check\n") if ($debug > 0);
++ printf (STDERR "do_check\n") if ($debug > 0);
+
+ if ($check{$proc} eq '')
+ {
+@@ -262,13 +262,13 @@
+ # if not "exist", then it must be "shell", so execute the shell script
+ # defined in database
+
+- local ($tmpfile) = "/tmp/check_$$";
++ local ($tmpfh, $tmpfile) = tempfile("check_XXXXXXXX", DIR => "/tmp");
+
+- &create_sh_script ($check{$proc}, $tmpfile);
++ &create_sh_script ($fix{$proc}, $tmpfh, $tmpfile);
+
+ # return code is number divided by 256
+ $error_code = (system "$tmpfile") / 256;
+- system "rm $tmpfile";
++ unlink($tmpfile);
+ return ($check_failed_error) if ($error_code != 0);
+
+ # check passed, continue
+@@ -281,13 +281,13 @@
+ {
+ local ($proc) = pop(@_);
+
+- printf (stderr "do_exist\n") if ($debug > 0);
++ printf (STDERR "do_exist\n") if ($debug > 0);
+
+ # do ps, check to see if min <= no. of processes <= max
+ $! = $fixproc_error;
+- open (command, "/bin/ps -e | /bin/grep $proc | /bin/wc -l |")
++ open (COMMAND, "/bin/ps -e | /bin/grep $proc | /bin/wc -l |")
+ || die "$0: can't run ps-grep-wc command\n";
+- $proc_count = <command>;
++ $proc_count = <COMMAND>;
+ if (($proc_count < $min{$proc}) || ($proc_count > $max{$proc}))
+ {
+ return $check_failed_error;
+@@ -301,13 +301,13 @@
+ local ($proc) = pop(@_);
+ local ($second_kill_needed);
+
+- printf (stderr "do_kill\n") if ($debug > 0);
++ printf (STDERR "do_kill\n") if ($debug > 0);
+
+ # first try kill
+ $! = $fixproc_error;
+- open (command, "/bin/ps -e | /bin/grep $proc |")
++ open (COMMAND, "/bin/ps -e | /bin/grep $proc |")
+ || die "$0: can't run ps-grep-awk command\n";
+- while (<command>)
++ while (<COMMAND>)
+ {
+ # match the first field of ps -e
+ $! = $fixproc_error;
+@@ -318,10 +318,10 @@
+ # if process still exist, try kill -9
+ sleep 2;
+ $! = $fixproc_error;
+- open (command, "/bin/ps -e | /bin/grep $proc |")
++ open (COMMAND, "/bin/ps -e | /bin/grep $proc |")
+ || die "$0: can't run ps-grep-awk command\n";
+ $second_kill_needed = 0;
+- while (<command>)
++ while (<COMMAND>)
+ {
+ # match the first field of ps -e
+ $! = $fixproc_error;
+@@ -334,9 +334,9 @@
+ # see if kill -9 worked
+ sleep 2;
+ $! = $fixproc_error;
+- open (command, "/bin/ps -e | /bin/grep $proc |")
++ open (COMMAND, "/bin/ps -e | /bin/grep $proc |")
+ || die "$0: can't run ps-grep-awk command\n";
+- while (<command>)
++ while (<COMMAND>)
+ { # a process still exist, return error
+ return $cannot_kill_error;
+ }
+@@ -349,7 +349,7 @@
+ local ($proc) = pop(@_);
+ local ($error_code);
+
+- printf (stderr "do_restart\n") if ($debug > 0);
++ printf (STDERR "do_restart\n") if ($debug > 0);
+
+ $error_code = &do_kill ($proc);
+ return $error_code if ($error_code != $no_error);
+@@ -369,7 +369,7 @@
+ local ($proc) = pop(@_);
+ local ($error_code);
+
+- printf (stderr "work_on_proc\n") if ($debug > 0);
++ printf (STDERR "work_on_proc\n") if ($debug > 0);
+
+ if ($cmd_line_action eq '')
+ {
+@@ -475,8 +475,8 @@
+ local ($str2);
+
+ $! = $fixproc_error;
+- open (db, $database_file) || die 'cannot open database file $database_file\n';
+- while (<db>)
++ open (DB, $database_file) || die 'cannot open database file $database_file\n';
++ while (<DB>)
+ {
+ if ((! /\S/) || (/^[ \t]*#.*$/))
+ {