Code

bugfix gosa-si-server: update of client event module krb5.pm
[gosa.git] / gosa-si / modules / GosaSupportDaemon.pm
index c9b6f865ed6d0f774d24f9fdf180c8adf5d32449..d2296f0508774c8b1318e1892c6bda1228f7812a 100644 (file)
@@ -3,6 +3,7 @@ package GOSA::GosaSupportDaemon;
 use Exporter;
 @ISA = qw(Exporter);
 my @functions = (
+    "create_passwd",
     "create_xml_hash",
     "get_content_from_xml_hash",
     "add_content2xml_hash",
@@ -21,6 +22,7 @@ my @functions = (
     "get_server_addresses",
     "get_logged_in_users",
     "import_events",
+    "del_doubles",
     ); 
 @EXPORT = @functions;
 use strict;
@@ -60,6 +62,21 @@ sub daemon_log {
 }
 
 
+sub create_passwd {
+    my $new_passwd = "";
+    for(my $i=0; $i<31; $i++) {
+        $new_passwd .= ("a".."z","A".."Z",0..9)[int(rand(62))]
+    }
+
+    return $new_passwd;
+}
+
+
+sub del_doubles { 
+    my %all; 
+    $all{$_}=0 for @_; 
+    return (keys %all); 
+}
 
 
 #===  FUNCTION  ================================================================
@@ -465,10 +482,10 @@ sub get_logged_in_users {
 
 
 sub import_events {
-    my ($event_dir)= @_;
+    my ($event_dir) = @_;
+    my $event_hash;
     my $error = 0;
     my @result = ();
-
     if (not -e $event_dir) {
         $error++;
         push(@result, "cannot find directory or directory is not readable: $event_dir");   
@@ -476,16 +493,15 @@ sub import_events {
 
     my $DIR;
     if ($error == 0) {
-        opendir (DIR, $event_dir) or sub { 
+        opendir ($DIR, $event_dir) or do { 
             $error++;
             push(@result, "cannot open directory '$event_dir' for reading: $!\n");
         }
     }
 
     if ($error == 0) {
-        while (defined (my $event = readdir (DIR))) {
+        while (defined (my $event = readdir ($DIR))) {
             if( $event eq "." || $event eq ".." ) { next; }  
-            if ($event ne "server_server_com.pm") { next; }
 
             # try to import event module
             eval{ require $event; };
@@ -505,9 +521,11 @@ sub import_events {
             my $events_string = join( ", ", @{$events_l});
             push(@result, "import of event module '$event' succeed: $events_string");
         }
+        
+        close $DIR;
     }
 
-    return ($error, \@result);
+    return ($error, \@result, $event_hash);
 
 }