summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: c685702)
raw | patch | inline | side by side (parent: c685702)
author | rettenbe <rettenbe@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Wed, 5 Nov 2008 15:26:10 +0000 (15:26 +0000) | ||
committer | rettenbe <rettenbe@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Wed, 5 Nov 2008 15:26:10 +0000 (15:26 +0000) |
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@12926 594d385d-05f5-0310-b6e9-bd551577e9d8
gosa-si/gosa-si-server | patch | blob | history | |
gosa-si/server/events/clMessages.pm | patch | blob | history |
diff --git a/gosa-si/gosa-si-server b/gosa-si/gosa-si-server
index 4cb878816532c0244ed44ff88afa3095446e9d65..80c1d78cb6b714dc44ccd773bc82d2579364b131 100755 (executable)
--- a/gosa-si/gosa-si-server
+++ b/gosa-si/gosa-si-server
@@ -180,7 +180,7 @@ my @foreign_clients_col_names = ("hostname VARCHAR(255)", "macaddress VARCHAR(17
our $login_users_db;
our $login_users_tn = "login_users";
my $login_users_file_name;
-my @login_users_col_names = ("client VARCHAR(255)", "user VARCHAR(255)", "timestamp VARCHAR(14)");
+my @login_users_col_names = ("client VARCHAR(255)", "user VARCHAR(255)", "timestamp VARCHAR(14)", "regserver VARCHAR(255) DEFAULT 'localhost'");
# holds all fai server, the debian release and tag
our $fai_server_db;
# sending msg failed
if( $error ) {
- # JUST FOR TESTING
- daemon_log("D \n$error\n$answer");
-
# set jobs to done, jobs do not need to deliver their message in any case
if (($job_header eq "trigger_action_localboot")
||($job_header eq "trigger_action_lock")
index 5f23c351a0390a3bb0fb21519eef54869cf6c54a..86e23aeea1176669cd09a6c70df38309fa5d08b2 100644 (file)
# Invoke set_last_system; message sets ldap attributes 'gotoLastSystemLogin' and 'gotoLastSystem'
$res = &set_last_system($msg, $msg_hash, $session_id);
+ # Add user to login_users_db
my %add_hash = ( table=>$main::login_users_tn,
primkey=> ['client', 'user'],
client=>$source,
user=>$login,
timestamp=>&get_time,
+ regserver=>'localhost',
);
($res, $error_str) = $main::login_users_db->add_dbentry( \%add_hash );
if ($res != 0) {
return;
}
- return;
+ # Share login information with all other si-server
+ my %data = ( 'new_user' => "$source;$login" );
+ my $info_msg = &build_msg("information_sharing", $main::server_address, "KNOWN_SERVER", \%data);
+
+ return ($info_msg);
}
client=>$source,
user=>$user,
timestamp=>&get_time,
+ regserver=>'localhost',
);
my ($res, $error_str) = $main::login_users_db->add_dbentry( \%add_hash );
if ($res != 0) {
&main::daemon_log("$session_id INFO: delete user '".$hit->{'user'}."' at client '".$hit->{'client'}."' from login_user_db", 5);
}
- # TODO
# Inform all other server which users are logged in at clients registered at local server
+ my $info_sql = "SELECT * FROM $main::login_users_tn";
+ my $info_res = $main::login_users_db->select_dbentry($info_sql);
+ my $info_msg_hash = &create_xml_hash("information_sharing", $main::server_address, "KNOWN_SERVER");
+ while (my ($hit_id, $hit) = each(%$info_res)) {
+ &add_content2xml_hash($info_msg_hash, 'user_db', $hit->{'client'}.";".$hit->{'user'});
+ }
+ my $info_msg = &create_xml_string($info_msg_hash);
- # sende allen anderen server eine nachricht, "foreign_user_updates" zum beispiel
-
- return;
+ return ($info_msg);
}