summaryrefslogtreecommitdiff
path: root/net-mgmt/hawk/files/patch-daemon__hawk
diff options
context:
space:
mode:
Diffstat (limited to 'net-mgmt/hawk/files/patch-daemon__hawk')
-rw-r--r--net-mgmt/hawk/files/patch-daemon__hawk217
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;