Code

Changed lock file name.
[gosa.git] / gosa-si / gosa-si-server
index cb759af22cdd18b31ae4d14ab575408d268cc7b2..893ccfb3656f2e10c4df5f1adea880c4bf6a6cad 100755 (executable)
@@ -1295,32 +1295,32 @@ sub get_ldap_handle {
        my $heap;
        my $ldap_handle;
 
-    if (not defined $session_id ) { $session_id = 0 };
+       if (not defined $session_id ) { $session_id = 0 };
 
        if ($session_id == 0) {
-        daemon_log("$session_id DEBUG: get_ldap_handle invoked without a session_id, create a new ldap_handle", 7); 
-        $ldap_handle = Net::LDAP->new( $ldap_uri );
+               daemon_log("$session_id DEBUG: get_ldap_handle invoked without a session_id, create a new ldap_handle", 7); 
+               $ldap_handle = Net::LDAP->new( $ldap_uri );
+               $ldap_handle->bind($ldap_admin_dn, password => $ldap_admin_password); 
 
        } else {
-        my $session_reference = $global_kernel->ID_id_to_session($session_id);
-        if( defined $session_reference ) {
-            $heap = $session_reference->get_heap();
-        }
-
-        if (not defined $heap) {
-            daemon_log("$session_id DEBUG: cannot get heap for session_id '$session_id'", 7); 
-            return;
-        }
-
-        if (not exists $heap->{ldap_handle}) {
-            # create new ldap handle
-            $ldap_handle = Net::LDAP->new( $ldap_uri );
-            # add ldap handle to heap
-            $heap->{ldap_handle} = $ldap_handle;
-        }
-    }
+               my $session_reference = $global_kernel->ID_id_to_session($session_id);
+               if( defined $session_reference ) {
+                       $heap = $session_reference->get_heap();
+               }
 
+               if (not defined $heap) {
+                       daemon_log("$session_id DEBUG: cannot get heap for session_id '$session_id'", 7); 
+                       return;
+               }
 
+               # TODO: This "if" is nonsense, because it doesn't prove that the
+                #       used handle is still valid - or if we've to reconnect...
+               #if (not exists $heap->{ldap_handle}) {
+                       $ldap_handle = Net::LDAP->new( $ldap_uri );
+                       $ldap_handle->bind($ldap_admin_dn, password => $ldap_admin_password); 
+                       $heap->{ldap_handle} = $ldap_handle;
+               #}
+       }
        return $ldap_handle;
 }
 
@@ -1349,7 +1349,7 @@ sub change_fai_state {
 
     my $state= $mapActions{ $st };
 
-    my $ldap_handle = get_ldap_handle($session_id);
+    my $ldap_handle = &get_ldap_handle($session_id);
     if( defined($ldap_handle) ) {
 
       # Build search filter for hosts
@@ -2124,38 +2124,40 @@ if ($no_bus > 0) {
     $bus_activ = "false"
 }
 
-
-
-# delete old DBsqlite lock files
-#unlink('/tmp/gosa_si_lock*');
-
 # connect to gosa-si job queue
+unlink($job_queue_file_name.".si.lock");
 $job_db = GOSA::DBsqlite->new($job_queue_file_name);
 $job_db->create_table($job_queue_tn, \@job_queue_col_names);
 
 # connect to known_clients_db
+unlink($known_clients_file_name.".si.lock");
 $known_clients_db = GOSA::DBsqlite->new($known_clients_file_name);
 $known_clients_db->create_table($known_clients_tn, \@known_clients_col_names);
 
 # connect to known_server_db
+unlink($known_server_file_name.".si.lock");
 $known_server_db = GOSA::DBsqlite->new($known_server_file_name);
 $known_server_db->create_table($known_server_tn, \@known_server_col_names);
 
 # connect to login_usr_db
+unlink($login_users_file_name.".si.lock");
 $login_users_db = GOSA::DBsqlite->new($login_users_file_name);
 $login_users_db->create_table($login_users_tn, \@login_users_col_names);
 
 # connect to fai_server_db and fai_release_db
+unlink($fai_server_file_name.".si.lock");
 $fai_server_db = GOSA::DBsqlite->new($fai_server_file_name);
 $fai_server_db->create_table($fai_server_tn, \@fai_server_col_names);
 $fai_server_db->create_table($fai_release_tn, \@fai_release_col_names);
 
 # connect to packages_list_db
+unlink($packages_list_file_name.".si.lock");
 unlink($packages_list_file_name);
 $packages_list_db = GOSA::DBsqlite->new($packages_list_file_name);
 $packages_list_db->create_table($packages_list_tn, \@packages_list_col_names);
 
 # connect to messaging_db
+unlink($messaging_file_name.".si.lock");
 $messaging_db = GOSA::DBsqlite->new($messaging_file_name);
 $messaging_db->create_table($messaging_tn, \@messaging_col_names);