X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-si%2Fclient%2Fevents%2Fkrb5.pm;h=0a262f5cc0cce7bd6a2077370a0680a84d147044;hb=2e1a7f272ac8f39bc8ebe2e6c33fe7bdd63ab03d;hp=c027c9b0fdcd83490fead37cb4536cf08804fea6;hpb=21268ef2164771b19b3bf3f017cd903678ab5ec0;p=gosa.git diff --git a/gosa-si/client/events/krb5.pm b/gosa-si/client/events/krb5.pm index c027c9b0f..0a262f5cc 100644 --- a/gosa-si/client/events/krb5.pm +++ b/gosa-si/client/events/krb5.pm @@ -92,6 +92,11 @@ sub krb5_list_principals { } } + my $forward_to_gosa = @{$msg_hash->{'forward_to_gosa'}}[0]; + if (defined $forward_to_gosa) { + &add_content2xml_hash($out_hash, "forward_to_gosa", $forward_to_gosa); + } + # return message return &create_xml_string($out_hash); } @@ -140,9 +145,17 @@ sub krb5_create_principal { $princ->principal($principal); $kadm5->create_principal($princ, join '', map { chr rand(255) + 1 } 1..256) or &add_content2xml_hash($out_hash, "error", Authen::Krb5::Admin::error); + + # Directly randomize key + $kadm5->randkey_principal($princ); } } + my $forward_to_gosa = @{$msg_hash->{'forward_to_gosa'}}[0]; + if (defined $forward_to_gosa) { + &add_content2xml_hash($out_hash, "forward_to_gosa", $forward_to_gosa); + } + # return message return &create_xml_string($out_hash); } @@ -194,6 +207,11 @@ sub krb5_modify_principal { } } + my $forward_to_gosa = @{$msg_hash->{'forward_to_gosa'}}[0]; + if (defined $forward_to_gosa) { + &add_content2xml_hash($out_hash, "forward_to_gosa", $forward_to_gosa); + } + # return message return &create_xml_string($out_hash); } @@ -245,6 +263,11 @@ sub krb5_get_principal { } } + my $forward_to_gosa = @{$msg_hash->{'forward_to_gosa'}}[0]; + if (defined $forward_to_gosa) { + &add_content2xml_hash($out_hash, "forward_to_gosa", $forward_to_gosa); + } + # return message return &create_xml_string($out_hash); } @@ -281,6 +304,11 @@ sub krb5_del_principal { } } + my $forward_to_gosa = @{$msg_hash->{'forward_to_gosa'}}[0]; + if (defined $forward_to_gosa) { + &add_content2xml_hash($out_hash, "forward_to_gosa", $forward_to_gosa); + } + # return message return &create_xml_string($out_hash); } @@ -308,6 +336,11 @@ sub krb5_list_policies { } } + my $forward_to_gosa = @{$msg_hash->{'forward_to_gosa'}}[0]; + if (defined $forward_to_gosa) { + &add_content2xml_hash($out_hash, "forward_to_gosa", $forward_to_gosa); + } + # return message return &create_xml_string($out_hash); } @@ -347,6 +380,11 @@ sub krb5_get_policy { &add_content2xml_hash($out_hash, "policy_refcnt", $data->policy_refcnt); } + my $forward_to_gosa = @{$msg_hash->{'forward_to_gosa'}}[0]; + if (defined $forward_to_gosa) { + &add_content2xml_hash($out_hash, "forward_to_gosa", $forward_to_gosa); + } + # return message return &create_xml_string($out_hash); } @@ -375,7 +413,7 @@ sub krb5_create_policy { if (not defined $kadm5){ &add_content2xml_hash($out_hash, "error", "Cannot connect to kadmin server"); } else { - if ( $kadm5->get_policy(@{$msg_hash->{'policy'}}[0]) or &add_content2xml_hash($out_hash, "error", Authen::Krb5::Admin::error)){ + if ( $kadm5->get_policy(@{$msg_hash->{'policy'}}[0])) { &add_content2xml_hash($out_hash, "error", "Policy exists"); return &create_xml_string($out_hash); } @@ -395,6 +433,11 @@ sub krb5_create_policy { $kadm5->create_policy($pol) or &add_content2xml_hash($out_hash, "error", Authen::Krb5::Admin::error); } + my $forward_to_gosa = @{$msg_hash->{'forward_to_gosa'}}[0]; + if (defined $forward_to_gosa) { + &add_content2xml_hash($out_hash, "forward_to_gosa", $forward_to_gosa); + } + # build return message with twisted target and source my $out_msg = &create_xml_string($out_hash); @@ -441,6 +484,11 @@ sub krb5_modify_policy { $kadm5->modify_policy($pol) or &add_content2xml_hash($out_hash, "error", Authen::Krb5::Admin::error); } + my $forward_to_gosa = @{$msg_hash->{'forward_to_gosa'}}[0]; + if (defined $forward_to_gosa) { + &add_content2xml_hash($out_hash, "forward_to_gosa", $forward_to_gosa); + } + # build return message with twisted target and source my $out_msg = &create_xml_string($out_hash); @@ -468,13 +516,18 @@ sub krb5_del_policy { # Authenticate my $kadm5 = Authen::Krb5::Admin->init_with_password($krb_admin, $krb_password); - my $policy; + my $policy= @{$msg_hash->{'policy'}}[0]; if (not defined $kadm5){ &add_content2xml_hash($out_hash, "error", "Cannot connect to kadmin server"); } else { $kadm5->delete_policy($policy) or &add_content2xml_hash($out_hash, "error", Authen::Krb5::Admin::error); } + my $forward_to_gosa = @{$msg_hash->{'forward_to_gosa'}}[0]; + if (defined $forward_to_gosa) { + &add_content2xml_hash($out_hash, "forward_to_gosa", $forward_to_gosa); + } + # return message return &create_xml_string($out_hash); } @@ -514,6 +567,11 @@ sub krb5_set_password { $kadm5->chpass_principal($principal, @{$msg_hash->{'password'}}[0]) or &add_content2xml_hash($out_hash, "error", Authen::Krb5::Admin::error); } + my $forward_to_gosa = @{$msg_hash->{'forward_to_gosa'}}[0]; + if (defined $forward_to_gosa) { + &add_content2xml_hash($out_hash, "forward_to_gosa", $forward_to_gosa); + } + # return message return &create_xml_string($out_hash); }