Code

general update
[gosa.git] / gosa-si / modules / GosaPackages.pm
index d23b658e3950f41bc00b57263b51e6b8d9560729..bc067c3372f5f0ec5ab041d37eeade76f8aca9df 100644 (file)
@@ -19,36 +19,25 @@ use lib "/usr/lib/gosa-si/server/events";
 BEGIN{}
 END{}
 
-my ($server_activ, $server_ip, $server_mac_address, $server_port, $server_passwd, $max_clients, $server_event_dir);
-my ($bus_activ, $bus_passwd, $bus_ip, $bus_port);
-my ($gosa_activ, $gosa_ip, $gosa_mac_address, $gosa_port, $gosa_passwd, $network_interface);
+my ($server_ip, $server_mac_address, $server_port, $server_passwd, $max_clients);
+my ($gosa_ip, $gosa_mac_address, $gosa_port, $gosa_passwd, $network_interface);
 my ($job_queue_timeout, $job_queue_file_name);
 
 my $gosa_server;
 my $event_hash;
 
-my %cfg_defaults = 
-("general" =>
-    {"job_queue_file_name" => [\$job_queue_file_name, '/var/lib/gosa-si/jobs.db'],
+my %cfg_defaults = (
+"server" => {
+    "ip" => [\$server_ip, "0.0.0.0"],
+    "port" => [\$server_port, "20081"],
+    "key" => [\$server_passwd, ""],
+    "max-clients" => [\$max_clients, 100],
     },
-"server" =>
-    {"server_activ" => [\$server_activ, "on"],
-    "server_ip" => [\$server_ip, "0.0.0.0"],
-    "server_port" => [\$server_port, "20081"],
-    "server_passwd" => [\$server_passwd, ""],
-    "max_clients" => [\$max_clients, 100],
-    },
-"bus" =>
-    {"bus_activ" => [\$bus_activ, "on"],
-    "bus_passwd" => [\$bus_passwd, ""],
-    "bus_ip" => [\$bus_ip, "0.0.0.0"],
-    "bus_port" => [\$bus_port, "20080"],
-    },
-"gosa" =>
-    {"gosa_activ" => [\$gosa_activ, "on"],
-    "gosa_ip" => [\$gosa_ip, "0.0.0.0"],
-    "gosa_port" => [\$gosa_port, "20082"],
-    "gosa_passwd" => [\$gosa_passwd, "none"],
+"GOsaPackages" => {
+    "ip" => [\$gosa_ip, "0.0.0.0"],
+    "port" => [\$gosa_port, "20082"],
+    "key" => [\$gosa_passwd, "none"],
+    "job-queue" => [\$job_queue_file_name, '/var/lib/gosa-si/jobs.db'],
     },
 );
  
@@ -61,8 +50,7 @@ $network_interface= &get_interface_for_ip($server_ip);
 $gosa_mac_address= &get_mac($network_interface);
 
 # complete addresses
-my $server_address = "$server_ip:$server_port";
-my $bus_address = "$bus_ip:$bus_port";
+our $server_address = "$server_ip:$server_port";
 my $gosa_address = "$gosa_ip:$gosa_port";
 
 # create general settings for this module
@@ -78,9 +66,6 @@ my $xml = new XML::Simple();
 sub get_module_info {
     my @info = ($gosa_address,
                 $gosa_passwd,
-                $gosa_server,
-                $gosa_activ,
-                "socket",
                 );
     return \@info;
 }
@@ -292,6 +277,9 @@ sub process_incoming_msg {
         my $res = $main::job_db->exec_statement($sql);
     } 
 
+    # substitute in all outgoing msg <source>GOSA</source> of <source>$server_address</source>
+    $out_msg =~ s/<source>GOSA<\/source>/<source>$server_address<\/source>/g;
+
     my @out_msg_l;
     if (defined $out_msg){
         push(@out_msg_l, $out_msg);
@@ -309,23 +297,20 @@ sub process_gosa_msg {
 
     # decide wether msg is a core function or a event handler
     if ( $header eq 'query_jobdb') {
-       $out_msg = &query_jobdb
+        $out_msg = &query_jobdb
     } elsif ($header eq 'delete_jobdb_entry') {
         $out_msg = &delete_jobdb_entry
     } elsif ($header eq 'clear_jobdb') {
-       $out_msg = &clear_jobdb
+        $out_msg = &clear_jobdb
     } elsif ($header eq 'update_status_jobdb_entry' ) {
-       $out_msg = &update_status_jobdb_entry
+        $out_msg = &update_status_jobdb_entry
     } elsif ($header eq 'count_jobdb' ) {
         $out_msg = &count_jobdb
-    } elsif ($header eq 'trigger_action_reboot' ) {
-       print STDERR "trigger_action_reboot\n";
-       print STDERR Dumper($msg);
     } elsif ($header eq 'trigger_action_wake' ) {
-       # Forward messages to all known servers as "trigger_wake"
-       my $in_hash= &transform_msg2hash($msg);
-       my %data = ( 'macAddress'  => \@{$in_hash->{macAddress}} );
-       $out_msg = &send_msg("trigger_wake", $server_address, "KNOWN_SERVER", \%data);
+        # Forward messages to all known servers as "trigger_wake"
+        my $in_hash= &transform_msg2hash($msg);
+        my %data = ( 'macAddress'  => \@{$in_hash->{macAddress}} );
+        $out_msg = &send_msg("trigger_wake", $server_address, "KNOWN_SERVER", \%data);
     } else {
         # msg could not be assigned to core function
         # maybe it is an eventa
@@ -335,26 +320,6 @@ sub process_gosa_msg {
             no strict 'refs';
             $out_msg = &{$event_hash->{$header}."::$header"}($msg, $msg_hash);
          }
-
-#        opendir (DIR, $server_event_dir) or &main::daemon_log("ERROR cannot open $server_event_dir: $!\n", 1) and return;
-#        while (defined (my $file = readdir (DIR))) {
-#            if (not $file eq $header) {
-#                next;
-#            }
-#            # try to deliver incoming msg to eventhandler
-#            my $cmd = File::Spec->join($server_event_dir, $header)." '$msg'";
-#            &main::daemon_log("GosaPackages: execute event_handler $header", 3);
-#            &main::daemon_log("GosaPackages: cmd: $cmd", 8);
-#
-#            $out_msg = "";
-#            open(PIPE, "$cmd 2>&1 |");
-#            while(<PIPE>) {
-#                $out_msg.=$_;
-#            }
-#            close(PIPE);
-#            &main::daemon_log("GosaPackages: answer of cmd: $out_msg", 5);
-#            last;
-#        }
     }
 
     # if delivery not possible raise error and return