]> git.etc.gen.nz Git - spong.git/commitdiff
Replaced faulty sort and compare method for checking lists with List::Compare CPAN...
authorStephen L Johnson <sjohnson@monsters.org>
Wed, 14 May 2003 05:49:46 +0000 (05:49 +0000)
committerStephen L Johnson <sjohnson@monsters.org>
Wed, 14 May 2003 05:49:46 +0000 (05:49 +0000)
src/spong-network.pl
src/spong-server.pl
src/wap-spong.pl
src/www-spong.pl

index 68267a7afbd5d397c7d72553daf1e746a84bae68..4ed8b749062113e4ab52edece8aa2877d2def2ac 100755 (executable)
@@ -17,7 +17,7 @@
 # (2) Converted checks to new plugin mechanism (Stephen Johnson May 28, 1999)
 #     Added user-configurable escalation mechanism
 #
-# $Id: spong-network.pl,v 1.46 2003/01/29 22:47:57 sljohnson Exp $
+# $Id: spong-network.pl,v 1.47 2003/05/14 05:49:46 sljohnson Exp $
 
 use Carp;
 use lib "@@LIBDIR@@";
@@ -34,6 +34,8 @@ use Spong::Daemon;
 use Spong::Status qw(status);
 use Spong::Log;
 
+use List::Compare;
+
 # Check to see if the Time::HiRes module is available
 eval { require Time::HiRes; import Time::HiRes qw(time); };
 if (! $@ ) { $hires = 1; } else { $hires = 0; };
@@ -489,8 +491,9 @@ sub load_config_files {
    
    # Fallback, if we didn't read things correctly...
 
-   if( sort ( @HOSTS_LIST ) != sort ( keys %HOSTS ) ) { 
-      @HOSTS_LIST = sort keys %HOSTS; }
+   my $lc = List::Compare->new( \@HOSTS_LIST, \@{[keys %HOSTS]} );
+
+   if( ! $lc->is_LequivalentR ) { @HOSTS_LIST = sort keys %HOSTS; }
    &debug( "host file loaded" );
 }
 
index 916f1b55de87da8a9bc36039bc4bdb2a7fa3cb2a..6ab7dfd0020553995e7a2370d8b21fcc30df6693 100755 (executable)
@@ -6,7 +6,7 @@
 # There are one or more update processes that listen for status updates 
 # from client programs.
 
-# $Id: spong-server.pl,v 1.57 2003/05/14 03:47:13 sljohnson Exp $
+# $Id: spong-server.pl,v 1.58 2003/05/14 05:49:46 sljohnson Exp $
 
 use lib "@@LIBDIR@@";
 
@@ -21,6 +21,8 @@ use Spong::Log;
 use Spong::HostGroups;
 use Spong::ConfigFile;
 
+use List::Compare;
+
 use Sys::Hostname;
 use File::Path;
 use Socket;
@@ -1340,9 +1342,8 @@ sub load_config_files {
    eval $evalme || die "Invalid spong.hosts file: $@";
 
    # Fallback, if we didn't read things correctly...
-   
-   if( sort ( @HOSTS_LIST ) != sort ( keys %HOSTS ) ) { 
-      @HOSTS_LIST = sort keys %HOSTS; }
+   my $lc = List::Compare->new( \@HOSTS_LIST, \@{[keys %HOSTS]} );
+   if( ! $lc->is_LequivalentR ) { @HOSTS_LIST = sort keys %HOSTS; }
 
    # Do the same thing for the groups file.
 
@@ -1357,8 +1358,8 @@ sub load_config_files {
    close( GROUPS );
    eval $evalme || die "Invalid spong.groups file: $@";
 
-   if( sort ( @GROUPS_LIST ) != sort ( keys %GROUPS ) ) { 
-      @GROUPS_LIST = sort keys %GROUPS; }
+   $lc = List::Compare->new( \@GROUPS_LIST, \@{[keys %GROUPS]} );
+   if( ! $lc->is_LequivalentR ) { @GROUPS_LIST = sort keys %GROUPS; }
 }
 
 
index b6c139ab7b134abeda64a101be8016c3c2608fad..a59c5147706b546098d7ff22406b10cf5d7d150d 100644 (file)
 # (3) Re-did as a client which gets info from the spong-server (07/24/1997)
 # (4) Did a whole bunch of stuff (Ed Hill, 06/18/1998)
 
+use lib "@@LIBDIR@@";
+
 use Sys::Hostname;
 use Getopt::Long;
 use Socket;
 use POSIX;
 
+use List::Compare;
+
 # Load our configuration variables, including the user specified configuration
 # information (spong.conf, spong.hosts, and spong.groups files).
 
@@ -662,9 +666,9 @@ sub load_config_files {
    eval $evalme || die "Invalid spong.hosts file: $@";
 
    # Fallback, if we didn't read things correctly...
+   my $lc = List::Compare->new( \@HOSTS_LIST, \@{[keys %HOSTS]} );
+   if( ! $lc->is_LequivalentR ) { @HOSTS_LIST = sort keys %HOSTS; }
    
-   if( sort ( @HOSTS_LIST ) != sort ( keys %HOSTS ) ) { 
-      @HOSTS_LIST = sort keys %HOSTS; }
 
    # Do the same thing for the groups file.
 
@@ -679,8 +683,8 @@ sub load_config_files {
    close( GROUPS );
    eval $evalme || die "Invalid spong.groups file: $@";
 
-   if( sort ( @GROUPS_LIST ) != sort ( keys %GROUPS ) ) { 
-      @GROUPS_LIST = sort keys %GROUPS; }
+   $lc = List::Compare->new( \@GROUPS_LIST, \@{[keys %GROUPS]} );
+   if( ! $lc->is_LequivalentR ) { @GROUPS_LIST = sort keys %GROUPS; }
 }
 
 
index 0124e54e29238aeedd56593c3569e0c4e1a72b14..eb76642d989ed11ff60f3f1a220f948ab34cf26e 100755 (executable)
 # (3) Re-did as a client which gets info from the spong-server (07/24/1997)
 # (4) Did a whole bunch of stuff (Ed Hill, 06/18/1998)
 #
-# $Id: www-spong.pl,v 1.21 2003/01/29 23:00:12 sljohnson Exp $
+# $Id: www-spong.pl,v 1.22 2003/05/14 05:49:46 sljohnson Exp $
+
+use lib "@@@LIBDIR@@";
 
 use Sys::Hostname;
 use Getopt::Long;
 use Socket;
 use POSIX;
 
+use List::Compare;
+
 # Load our configuration variables, including the user specified configuration
 # information (spong.conf, spong.hosts, and spong.groups files).
 
@@ -642,10 +646,9 @@ sub load_config_files {
    eval $evalme || die "Invalid spong.hosts file: $@";
 
    # Fallback, if we didn't read things correctly...
+   my $lc = List::Compare->new( \@HOSTS_LIST, \@{[keys %HOSTS]} );
+   if( ! $lc->is_LequivalentR ) { @HOSTS_LIST = sort keys %HOSTS; }
    
-   if( sort ( @HOSTS_LIST ) != sort ( keys %HOSTS ) ) { 
-      @HOSTS_LIST = sort keys %HOSTS; }
-
    # Do the same thing for the groups file.
 
    $evalme = "";
@@ -659,8 +662,9 @@ sub load_config_files {
    close( GROUPS );
    eval $evalme || die "Invalid spong.groups file: $@";
 
-   if( sort ( @GROUPS_LIST ) != sort ( keys %GROUPS ) ) { 
-      @GROUPS_LIST = sort keys %GROUPS; }
+   $lc = List::Compare->new( \@GROUPS_LIST, \@{[keys %GROUPS]} );
+   if( ! $lc->is_LequivalentR ) { @GROUPS_LIST = sort keys %GROUPS; }
+
 }