Code

Updated FAI summary tab
[gosa.git] / gosa-si / gosa-si-server
index 374343c92e69fe4cc0caf33267601a7ce0b0c32c..be587d2700a65f0d7216157a71defd54aa17daa4 100755 (executable)
@@ -320,9 +320,8 @@ usage: $prg [-hvf] [-c config] [-d number]
                           32 : ldap connectivity
                           64 : database status and connectivity
                          128 : main process 
 EOF
-    print "\n" ;
+       exit(0);
 }
 
 
@@ -431,11 +430,7 @@ sub check_cmdline_param () {
        }
 
        # Exit if an error occour
-    if( $err_counter > 0 ) 
-       {
-        &usage( "", 1 );
-        exit( -1 );
-    }
+    if( $err_counter > 0 ) { &usage( "", 1 ); }
 }
 
 
@@ -1127,7 +1122,7 @@ sub msg_to_decrypt {
        ($msg, $msg_hash, $module) = &input_from_unknown_host($next_msg, $session_id);
 
        # msg is from a gosa-si-server
-       if(( !$msg ) || ( !$msg_hash ) || ( !$module )){
+       if(((!$msg) || (!$msg_hash) || (!$module)) && ($serverPackages_enabled eq "true")){
                if (not defined $msg_source) 
                {
                        # Only needed, to be compatible with older gosa-si-server versions
@@ -1148,7 +1143,7 @@ sub msg_to_decrypt {
                # or a server.  In case of a client, send a ping. If the client could not understand a msg from its 
                # server the client cause a re-registering process. In case of a server, decrease update_time in kown_server_db
                # and trigger a re-registering process for servers
-               if (defined $msg_source && $msg_source =~ /:$server_port$/)
+               if (defined $msg_source && $msg_source =~ /:$server_port$/ && $serverPackages_enabled eq "true")
                {
                        daemon_log("$session_id WARNING: Cannot understand incoming msg from server '$msg_source'. Cause re-registration process for servers.", 3);
                        my $update_statement = "UPDATE $known_server_tn SET update_time='19700101000000' WHERE hostname='$msg_source'"; 
@@ -1156,19 +1151,20 @@ sub msg_to_decrypt {
                        my $upadte_res = $known_server_db->exec_statement($update_statement);
                        $kernel->yield("register_at_foreign_servers");
                }
-               elsif (defined $msg_source)
+               elsif ((defined $msg_source) && (not $msg_source =~ /:$server_port$/))
                {
                        daemon_log("$session_id WARNING: Cannot understand incoming msg from client '$msg_source'. Send ping-msg to cause a re-registering of the client if necessary", 3);
                        #my $remote_ip = $heap->{'remote_ip'};
                        #my $remote_port = $heap->{'remote_port'};
                        my $ping_msg = "<xml> <header>gosa_ping</header> <source>$server_address</source><target>$msg_source</target></xml>";
                        my ($test_error, $test_error_string) = &send_msg_to_target($ping_msg, "$msg_source", "dummy-key", "gosa_ping", $session_id);
-                       daemon_log("$session_id WARNING: sending msg to cause re-registering: $ping_msg", 3);
+                       daemon_log("$session_id WARNING: Sending msg to cause re-registering: $ping_msg", 3);
                }
                else
                {
                        my $foreign_host = defined $msg_source ? $msg_source : $heap->{'remote_ip'};
-                       daemon_log("$session_id ERROR: incoming message from host '$foreign_host' cannot be understood. Processing aborted: $tmp_next_msg", 1);
+                       daemon_log("$session_id ERROR: Incoming message from host '$foreign_host' cannot be understood. Processing aborted!", 1);
+                       daemon_log("$session_id DEBUG: Aborted message: $tmp_next_msg", 11);
                }
 
                $error++
@@ -3419,7 +3415,7 @@ GetOptions("h|help" => \&usage,
         "v|verbose+" => \$verbose,
         "no-arp+" => \$no_arp,
                "d=s" => \$debug_parts,
-           ) or (&usage("", 1)&&(exit(-1))); 
+           ) or &usage("", 1); 
 
 #  read and set config parameters
 &check_cmdline_param ;
@@ -3628,9 +3624,14 @@ POE::Component::Server::TCP->new(
        ClientInput => sub {
                my ($kernel, $input, $heap, $session) = @_[KERNEL, ARG0, HEAP, SESSION];
         my $session_id = $session->ID;
-               if ($input =~ /;([\d\.]+:[\d]+)$/) 
+               if ($input =~ /;([\d\.]+):([\d]+)$/) 
                {
-                       &daemon_log("$session_id DEBUG: incoming message from '$1'", 11);
+                       # Messages from other servers should be blocked if config option is set
+                       if (($2 eq $server_port) && ($serverPackages_enabled eq "false"))
+                       {
+                               return;
+                       }
+                       &daemon_log("$session_id DEBUG: incoming message from '$1:$2'", 11);
                }
                else
                {