Code

Events should get the right use statement too.
[gosa.git] / gosa-si / modules / GosaPackages.pm
index 2cc5b97022e8f3c14c6374035c510ccd00e818e5..ffc99840c0ca5496ac9c4dd00dff843449a42b22 100644 (file)
@@ -283,10 +283,10 @@ sub open_socket {
 #===============================================================================
 sub process_incoming_msg {
     my ($crypted_msg) = @_ ;
-    if(not defined $crypted_msg) {
+    if( (not(defined($crypted_msg))) || (length($crypted_msg) <= 0)) {
         &main::daemon_log("function 'process_incoming_msg': got no msg", 7);
+        return;
     }
-    &main::daemon_log("GosaPackages: incoming msg: \n$crypted_msg", 7);
 
     $crypted_msg =~ /^([\s\S]*?)\.(\d{1,3}?)\.(\d{1,3}?)\.(\d{1,3}?)\.(\d{1,3}?)$/;
     $crypted_msg = $1;
@@ -316,7 +316,7 @@ sub process_incoming_msg {
 
     my $header = @{$msg_hash->{header}}[0];
     
-    &main::daemon_log("GosaPackages: recieve '$header' from $host", 1);
+    &main::daemon_log("GosaPackages: receive '$header' from $host", 1);
     
     my $out_msg;
     if ($header =~ /^job_/) {
@@ -333,11 +333,14 @@ sub process_incoming_msg {
 
     if ($out_msg =~ /<jobdb_id>(\d*?)<\/jobdb_id>/) {
         my $job_id = $1;
-        my $sql = "UPDATE '$main::job_queue_table_name' SET status='done', result='$out_msg' WHERE id='$job_id'";
+        my $sql = "BEGIN TRANSATION; UPDATE '".$main::job_queue_table_name.
+            "' SET status='done', result='".$out_msg.
+            "' WHERE id='$job_id'; COMMIT;";
         my $res = $main::job_db->exec_statement($sql);
         return;
 
     } else {
+
         my $out_cipher = &create_ciphering($gosa_passwd);
         $out_msg = &encrypt_msg($out_msg, $out_cipher);
         return $out_msg;
@@ -349,7 +352,6 @@ sub process_gosa_msg {
     my ($msg, $header) = @_ ;
     my $out_msg;
     $header =~ s/gosa_//;
-    &main::daemon_log("GosaPackages: got a gosa msg $header", 5);
 
     # decide wether msg is a core function or a event handler
     if ( $header eq 'query_jobdb') { $out_msg = &query_jobdb }
@@ -397,7 +399,6 @@ sub process_job_msg {
 
     my $header = @{$msg_hash->{header}}[0];
     $header =~ s/job_//;
-    &main::daemon_log("GosaPackages: got a job msg for queue: $header", 5);
     
     # check wether mac address is already known in known_daemons or known_clients
     my $target = 'none';
@@ -429,13 +430,15 @@ sub db_res_2_xml {
     my $xml = "<xml>";
 
     while ( my ($hit, $hash) = each %{ $db_res } ) {
-        $xml .= "<answer$hit>";
+        $xml .= "\n<answer$hit>";
 
         while ( my ($column_name, $column_value) = each %{$hash} ) {
             $xml .= "<$column_name>";
-            my $xml_content = $column_value;
-            if( $column_name eq "xml" ) {
+            my $xml_content;
+            if( $column_name eq "xmlmessage" ) {
                 $xml_content = &encode_base64($column_value);
+            } else {
+                $xml_content = $column_value;
             }
             $xml .= $xml_content;
             $xml .= "</$column_name>";