index f89362a970197978da2dfd7c127c73dc5d7026fc..9c2ac1e579b484f8d5eb029e7d2e23e8ec41a9e1 100644 (file)
use Data::Dumper;
use NetAddr::IP;
use Net::LDAP;
+use Net::LDAP::Util;
use Socket;
use Net::hostent;
# 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
# 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];
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
# 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;