diff options
Diffstat (limited to 'net-mgmt/hawk/files/patch-daemon__hawk')
| -rw-r--r-- | net-mgmt/hawk/files/patch-daemon__hawk | 217 |
1 files changed, 0 insertions, 217 deletions
diff --git a/net-mgmt/hawk/files/patch-daemon__hawk b/net-mgmt/hawk/files/patch-daemon__hawk deleted file mode 100644 index 12ccb2e44ac5..000000000000 --- a/net-mgmt/hawk/files/patch-daemon__hawk +++ /dev/null @@ -1,217 +0,0 @@ ---- daemon/hawk.orig 2002-01-12 01:10:52.000000000 +0000 -+++ daemon/hawk 2012-02-05 12:31:38.000000000 +0000 -@@ -1,8 +1,9 @@ --#!/usr/bin/perl -+#!%%PREFIX%%/bin/perl -w - - # hawk version 0.60 - # Greg Heim <gregheim@mindspring.com> - -+use strict; - - use Socket; - use Net::Netmask; -@@ -10,12 +11,14 @@ - use File::Basename; - use DBI; - -+# Variables defined in the config file -+our (@networks, @gateways, $frequency, $pingtimeout, $debuglevel, $logfile, -+ $dbuser, $dbpass, $dbhost, $dbname, $pidfile); - - ############################################################################ - # create pid file and process config file - ############################################################################ --$configfile = dirname($0) . "/hawk.conf"; --readConfigs($configfile); -+readConfigs("%%PREFIX%%/etc/hawk/daemon.conf"); - - createPidFile($pidfile); - -@@ -34,13 +37,24 @@ - # main loop - ########################################################################## - LOOP: while () { -+ my ($block, @children, $netblock, $gateway, @ips, $ip, $pingtime, $hostname); - -- $loopstarttime = time(); -+ my $loopstarttime = time(); - - - BLOCK: foreach $block (@networks) { -+ -+ my $pid = fork(); -+ if ($pid) { -+ # parent -+ push (@children, $pid); -+ } elsif ($pid == 0) { -+ # child -+ - $netblock = new Net::Netmask ($block); - -+ logMsg (2, "Forked a child process for $netblock"); -+ - # check here that gateway is up - if (@gateways) { - foreach $gateway (@gateways) { -@@ -51,7 +65,7 @@ - - if (!ping($gateway, $pingtimeout)) { - logMsg (1, "No response from gateway $gateway, skipping network $block"); -- next BLOCK; -+ exit (0); - } - else { - logMsg (1, "Gateway $gateway responded. $block ok so far."); -@@ -90,15 +104,37 @@ - $hostname = gethostbyaddr (inet_aton($ip), AF_INET); - $hostname = "" unless $hostname; - -+ my $for_rev_match='0'; -+ if ($hostname) { -+ my $packed_host_ip = gethostbyname("$hostname"); -+ if (defined $packed_host_ip) { -+ if (inet_ntoa($packed_host_ip) =~ /^$ip$/) { -+ $for_rev_match='1'; -+ } -+ } -+ } -+ - # check if it's already in the database - # if pingtime is zero, that field isn't updated - if (ipExists($ip)) { -- updateRecord($ip, $hostname, $pingtime); -+ updateRecord($ip, $hostname, $pingtime, $for_rev_match); - } - else { -- insertRecord($ip, $hostname, $pingtime); -+ insertRecord($ip, $hostname, $pingtime, $for_rev_match); - } - } -+ -+ logMsg (2, "Child process for $netblock exiting"); -+ exit (0); -+ -+ } else { -+ die "Couldn't fork: $!\n"; -+ } -+ -+ } -+ -+ foreach (@children) { -+ waitpid($_, 0); - } - - # sleep until it's time for another run -@@ -121,8 +157,9 @@ - ########################################################################## - sub ipExists { - -- ($ip) = @_; -+ my ($ip) = @_; - my $qip; # ip from query -+ my ($dbh, %attr, $sth); - - logMsg (2, "Checking database for $ip"); - -@@ -148,12 +185,13 @@ - ########################################################################## - sub insertRecord{ - -- ($ip, $hostname, $pingtime) = @_; -+ my ($ip, $hostname, $pingtime, $for_rev_match) = @_; -+ my ($dbh, %attr, $sth); - -- logMsg (2, "Inserting record: IP: $ip, Hostname: $hostname, Pingtime: $pingtime"); -+ logMsg (2, "Inserting record: IP: $ip, Hostname: $hostname, Pingtime: $pingtime, Match: $for_rev_match"); - - $dbh = DBI->connect('dbi:mysql:' . $dbname . ';host='. $dbhost, $dbuser, $dbpass, \%attr) or die "Couldn't connect to database: " . DBI->errstr; -- $sth = $dbh -> prepare("insert into hawk.ip (ip, hostname, lastping) values ('$ip', '$hostname', '$pingtime')"); -+ $sth = $dbh -> prepare("insert into hawk.ip (ip, hostname, lastping, for_rev_match) values ('$ip', '$hostname', '$pingtime', '$for_rev_match')"); - $sth -> execute or logMsg (0, "Couldn't update record!" . DBI -> errstr); - - } -@@ -164,15 +202,16 @@ - ########################################################################## - sub updateRecord{ - -- ($ip, $hostname, $pingtime) = @_; -+ my ($ip, $hostname, $pingtime, $for_rev_match) = @_; -+ my ($query, $dbh, %attr, $sth); - -- logMsg (2, "Updating record: IP: $ip, Hostname: $hostname, Pingtime: $pingtime"); -+ logMsg (2, "Updating record: IP: $ip, Hostname: $hostname, Pingtime: $pingtime, Match: $for_rev_match"); - - if ($pingtime) { -- $query = "update hawk.ip set hostname = '$hostname', lastping = '$pingtime' where ip = '$ip'"; -+ $query = "update hawk.ip set hostname = '$hostname', lastping = '$pingtime', for_rev_match = '$for_rev_match' where ip = '$ip'"; - } - else { -- $query = "update hawk.ip set hostname = '$hostname' where ip = '$ip'"; -+ $query = "update hawk.ip set hostname = '$hostname', for_rev_match = '$for_rev_match' where ip = '$ip'"; - } - - $dbh = DBI->connect('dbi:mysql:' . $dbname . ';host='. $dbhost, $dbuser, $dbpass, \%attr) or die "Couldn't connect to database: " . DBI->errstr; -@@ -188,14 +227,15 @@ - sub ping { - - my ($ip, $timeout) = @_; -+ my ($p, $return); - - logMsg(2, "Pinging $ip"); - -- $p = Net::Ping->new(icmp); -+ $p = Net::Ping->new('icmp'); - $return = $p->ping($ip, $timeout); - $p->close; - -- logMsg(2, "Ping returned $return"); -+ logMsg(2, "Ping $ip returned $return"); - - return $return; - } -@@ -208,7 +248,7 @@ - - sub createPidFile { - -- ($pidfile) = @_; -+ my ($pidfile) = @_; - - logMsg (2, "Creating pid file $pidfile"); - -@@ -219,7 +259,7 @@ - - # found pid file. signalling existing process - logMsg (1, "Pid file $pidfile exists. Attempting to signal existing process."); -- $kstatus = kill 0, $pid; -+ my $kstatus = kill 0, $pid; - - # see if we killed anything - if ($kstatus) { -@@ -305,9 +345,8 @@ - - sub readConfigs { - -- ($file) = @_; -+ my ($file) = @_; - -- logMsg(1, "Reading config file"); - do $file; - - } -@@ -317,12 +356,12 @@ - ########################################################################## - # write debug messages - ########################################################################## --sub logMsg () { -+sub logMsg { - -- ($level, $message) = @_; -+ my ($level, $message) = @_; - if ($debuglevel >= $level) { - -- $time = localtime(time); -+ my $time = localtime(time); - open LOGFILE, ">> $logfile" || die "Couldn't open logfile: $!\n"; - print LOGFILE "$time: $message\n"; - close LOGFILE; |
