Code

Updated to generate autonetwork conf
[gosa.git] / gosa-si / modules / SIPackages.pm
index f84e3277bdfea68c38ee25898b21a97990a40409..8f052d07c7db414b6aa2761ecb114d1537f7ae65 100644 (file)
@@ -433,16 +433,14 @@ sub process_incoming_msg {
                     &main::daemon_log("SIPackages: trigger wake for $_", 1);
                     do_wake($_);
                 }
-
             } else {
                 &main::daemon_log("ERROR: $header is an unknown core function", 1);
                 $error++;
             }
-        }
-               else {
-                       &main::daemon_log("msg is not for gosa-si-server '$server_address', deliver it to target '$target'", 5);
-                       push(@out_msg_l, $msg);
-               }
+        } else {
+               &main::daemon_log("msg is not for gosa-si-server '$server_address', deliver it to target '$target'", 5);
+               push(@out_msg_l, $msg);
+       }
     }
 
     return \@out_msg_l;
@@ -850,7 +848,7 @@ sub new_ldap_config {
        $mesg = $ldap->unbind;
 
        # Send information
-       return send_msg("new_ldap_config", $server_address, $address, \%data);
+       return &build_msg("new_ldap_config", $server_address, $address, \%data);
 }
 
 sub process_detected_hardware {
@@ -914,17 +912,20 @@ sub process_detected_hardware {
                        $entry->add("objectClass" => "gosaAdministrativeUnit");
                        $entry->add("gosaUnitTag" => $gosa_unit_tag);
                }
-               if(my $res=$entry->update($ldap)) {
+               my $res=$entry->update($ldap);
+               if(defined($res->{'errorMessage'}) &&
+                       length($res->{'errorMessage'}) >0) {
+                       &main::daemon_log("There was a problem adding the entries to LDAP:", 1);
+                       &main::daemon_log($res->{'errorMessage'}, 1);
+                       return;
+               } else {
                        # Fill $mesg again
                        $mesg = $ldap->search(
                                base   => $ldap_base,
                                scope  => 'sub',
                                filter => "(&(objectClass=GOhard)(|(macAddress=$macaddress)(dhcpHWaddress=ethernet $macaddress)))"
                        );
-               } else {
-                       &main::daemon_log("ERROR: There was a problem adding the entry", 1);
                }
-
        }
        
        if($mesg->count == 1) {
@@ -934,7 +935,8 @@ sub process_detected_hardware {
                        "gotoSndModule", "ghNetNic", "gotoXResolution", "ghSoundAdapter", "ghCpuType", "gotoXkbModel", 
                        "ghGfxAdapter", "gotoXMousePort", "ghMemSize", "gotoXMouseType", "ghUsbSupport", "gotoXHsync", 
                        "gotoXDriver", "gotoXVsync", "gotoXMonitor", "gotoHardwareChecksum") {
-                       if(defined($msg_hash->{detected_hardware}[0]->{$attribute})) {
+                       if(defined($msg_hash->{detected_hardware}[0]->{$attribute}) &&
+                               length($msg_hash->{detected_hardware}[0]->{$attribute}) >0 ) {
                                if(defined($entry->get_value($attribute))) {
                                        $entry->delete($attribute);
                                }
@@ -944,7 +946,8 @@ sub process_detected_hardware {
                }
                foreach my $attribute (
                        "gotoModules", "ghScsiDev", "ghIdeDev") {
-                       if(defined($msg_hash->{detected_hardware}[0]->{$attribute})) {
+                       if(defined($msg_hash->{detected_hardware}[0]->{$attribute}) &&
+                               length($msg_hash->{detected_hardware}[0]->{$attribute}) >0 ) {
                                if(defined($entry->get_value($attribute))) {
                                        $entry->delete($attribute);
                                }
@@ -952,10 +955,14 @@ sub process_detected_hardware {
                                        $entry->add($attribute => $array_entry);
                                }
                        }
-
                }
 
-               if($entry->update($ldap)) {
+               my $res=$entry->update($ldap);
+               if(defined($res->{'errorMessage'}) &&
+                       length($res->{'errorMessage'}) >0) {
+                       &main::daemon_log("There was a problem adding the entries to LDAP:", 1);
+                       &main::daemon_log($res->{'errorMessage'}, 1);
+               } else {
                        &main::daemon_log("Added Hardware configuration to LDAP", 4);
                }
 
@@ -1086,7 +1093,7 @@ sub hardware_config {
        &main::daemon_log("Send detect_hardware message to $address", 4);
 
        # Send information
-       return send_msg("detect_hardware", $server_address, $address, \%data);
+       return &build_msg("detect_hardware", $server_address, $address, \%data);
 }
 
 sub server_matches {
@@ -1186,4 +1193,5 @@ sub execute_actions {
 }
 
 
+#vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 1;