aboutsummaryrefslogtreecommitdiffstats
path: root/net-mgmt/nrpep/files/patch-aa
diff options
context:
space:
mode:
authoredwin <edwin@FreeBSD.org>2003-01-17 21:47:59 +0800
committeredwin <edwin@FreeBSD.org>2003-01-17 21:47:59 +0800
commitf56c063f6ff39b5e5406e9935a5b22f53bd91280 (patch)
tree7f58151c2d1bf24ffd36f8e92ab206ae09b259a7 /net-mgmt/nrpep/files/patch-aa
parent6da43adb575947ef0efb9cdaa3c994d23bf91351 (diff)
downloadfreebsd-ports-gnome-f56c063f6ff39b5e5406e9935a5b22f53bd91280.tar.gz
freebsd-ports-gnome-f56c063f6ff39b5e5406e9935a5b22f53bd91280.tar.zst
freebsd-ports-gnome-f56c063f6ff39b5e5406e9935a5b22f53bd91280.zip
New port: net/nrpep
New port for the Netsaint Remote Plugin Executor (Perl) PR: ports/37185 Submitted by: Jon Wilson <jon@netcraft.com>
Diffstat (limited to 'net-mgmt/nrpep/files/patch-aa')
-rw-r--r--net-mgmt/nrpep/files/patch-aa113
1 files changed, 113 insertions, 0 deletions
diff --git a/net-mgmt/nrpep/files/patch-aa b/net-mgmt/nrpep/files/patch-aa
new file mode 100644
index 000000000000..a72ea0d7143b
--- /dev/null
+++ b/net-mgmt/nrpep/files/patch-aa
@@ -0,0 +1,113 @@
+--- nrpep.bak Sat Jan 8 01:00:45 2000
++++ nrpep Wed Apr 10 16:50:09 2002
+@@ -13,24 +13,39 @@
+
+ # Perl libs and such the program needs
+ use strict;
+-use vars qw($opt_c $version %commands $key $cipher);
++use vars qw($opt_d $opt_c $version %commands $key $cipher);
+ use Getopt::Std;
+ use Crypt::TripleDES;
+
+ # Global Variables
+-$version = "0.2";
++$version = "0.2-fbsd";
+
+ # Get the command line arguments
+-getopts('c:');
++getopts('d:c:');
++
++# Open a log
++if ($opt_d) {
++ open(LOG,">>$opt_d") or die "Cannot open $opt_d for logging";
++ print LOG "\n\nNRPEP\n";
++}
++
+ # Check for the proper command line arguments, if we fail, print out an
+ # error message and die.
+ &Check_Command($opt_c);
++
+ # Grab the configuration file, and parse it for all the variables we
+ # will need.
+-&Get_Configs($opt_c);
++%commands = Get_Configs($opt_c);
++if ($opt_d) {print LOG Dumper(%commands);}
++
+ # Now that I have a set of commands, go into recieve mode
+ &Recieve;
+
++$opt_d && close(LOG);
++exit 0;
++
++######################################################################################
++
+ sub Recieve {
+ my $line;
+ my $commandentered;
+@@ -49,8 +64,10 @@
+ $_ =~ s/(\r|\n)//g;
+ # Start a new cipher with the proper key;
+ $cipher = new Crypt::TripleDES;
+-# Decrypt the command
++# Decrypt the command
++ $opt_d && print LOG "Decrypting $_\n";
+ $commandentered = $cipher->decrypt3(pack("H*", $_), $key);
++ $opt_d && print LOG " ... got $commandentered\n";
+ $commandentered =~ s/\s+$//;
+ # If the command entered looks like one in the config file, execute it and
+ # print it's return code
+@@ -72,6 +89,8 @@
+ }
+ }
+
++#################################################################################
++
+ sub Check_Command {
+ # If I don't have a config file given, barf the mini-howto
+ unless ($opt_c) {
+@@ -89,30 +108,31 @@
+ }
+ }
+
++###################################################################################
++
+ sub Get_Configs {
+ my $opt_c = $_[0];
+- my $line;
+- my $command;
+- my $plugin;
+- my $garbage;
++
++ my %commands;
+
+ # Open the config file...
+ open(FILE, "$opt_c") || die "Cannot open file at $opt_c";
+- foreach $line (<FILE>) {
++ foreach my $line (<FILE>) {
+ chomp($line);
+-# Ignore comments
+- unless ($line =~ /^#/) {
++# Ignore comments and blank lines
++ unless ($line =~ /^#/ or $line =~ /^\s*$/) {
+ # If it's a command line, grab the command name and toss it in a name value
+ # hash. The value is the command to execute.
+- if ($line =~ /command\[.*\]=/) {
+- ($garbage, $plugin) = split(/\=/, $line);
+- ($garbage, $garbage, $command) = split(/(\[|\])/, $line);
++ if (my ($command,$plugin) = $line =~ /^\s*command\[(.+)\]=(.*)$/) {
+ $commands{$command} = $plugin;
++ $opt_d && print LOG "Got command '$command' = $plugin\n";
+ # If it's the secret, we want it!
+- } elsif ($line =~ /secret=/) {
+- ($garbage, $key) = split(/\=/, $line, 2);
++ } elsif ($line =~ /secret=(.+)/) {
++ $key = $1;
+ }
+ }
+ }
+ close(FILE);
++
++ return %commands;
+ }
+
+