Code

removed images.
[gosa.git] / gosa-si / modules / ClientPackages.pm
index f89362a970197978da2dfd7c127c73dc5d7026fc..9c2ac1e579b484f8d5eb029e7d2e23e8ec41a9e1 100644 (file)
@@ -13,6 +13,7 @@ use XML::Simple;
 use Data::Dumper;
 use NetAddr::IP;
 use Net::LDAP;
+use Net::LDAP::Util;
 use Socket;
 use Net::hostent;
 
@@ -60,15 +61,13 @@ $main::server_mac_address= &get_mac($network_interface);
 
 # import local events
 my ($error, $result, $event_hash) = &import_events($event_dir);
-if ($error == 0) {
-    foreach my $log_line (@$result) {
+
+foreach my $log_line (@$result) {
+    if ($log_line =~ / succeed: /) {
         &main::daemon_log("0 DEBUG: ClientPackages - $log_line", 7);
-    }
-} else {
-    foreach my $log_line (@$result) {
+    } else {
         &main::daemon_log("0 ERROR: ClientPackages - $log_line", 1);
     }
-
 }
 
 # Unit tag can be defined in config
@@ -410,7 +409,7 @@ sub new_key {
 #  DESCRIPTION:  process this incoming message
 #===============================================================================
 sub here_i_am {
-    my ($heap, $msg, $msg_hash, $session_id) = @_[HEAP, ARG0, ARG1, ARG2];
+    my ($msg, $msg_hash, $session_id) = @_;
     my @out_msg_l;
     my $out_hash;
     my $source = @{$msg_hash->{source}}[0];
@@ -421,11 +420,18 @@ sub here_i_am {
     my $key_lifetime = @{$msg_hash->{key_lifetime}}[0];
 
     # Move forced hostname to heap - if used
+    #FIXME: move to some global POE namespace - please
     if ( defined($msg_hash->{'force-hostname'}[0]) &&
        length($msg_hash->{'force-hostname'}[0]) > 0){
-          $heap->{force-hostname}->{$mac_address}= $msg_hash->{'force-hostname'}[0];
+    #      $heap->{force-hostname}->{$mac_address}= $msg_hash->{'force-hostname'}[0];
+           open (TFILE, ">/var/tmp/$mac_address");
+           print TFILE $msg_hash->{'force-hostname'}[0];
+           close (TFILE); 
     } else {
-          $heap->{force-hostname}->{$mac_address}= undef;
+    #      $heap->{force-hostname}->{$mac_address}= undef;
+       if ( -e "/var/tmp/$mac_address") {
+               unlink("/var/tmp/$mac_address")
+       }; 
     }
 
     # number of known clients
@@ -639,10 +645,11 @@ sub new_ldap_config {
 
        # Do we need to look at an object class?
        if (not @servers){
+            my $escaped_dn = &escape_dn_value($dn);
                $mesg = $ldap_handle->search( base   => $ldap_base,
                        scope  => 'sub',
                        attrs => ['dn', 'gotoLdapServer', 'FAIclass'],
-                       filter => "(&(objectClass=gosaGroupOfNames)(member=$dn))");
+                       filter => "(&(objectClass=gosaGroupOfNames)(member=$escaped_dn))");
                if($mesg->code) {
                        &main::daemon_log("$session_id ERROR: unable to search for '(&(objectClass=gosaGroupOfNames)(member=$dn))': ".$mesg->error, 1);
                        return;