11 # kadm5_get_admin_service_name, which returns the kadmin/<fqhn> form instead of |
11 # kadm5_get_admin_service_name, which returns the kadmin/<fqhn> form instead of |
12 # of kadmin@<fqhn> for instance. In any case, a design such as this should be |
12 # of kadmin@<fqhn> for instance. In any case, a design such as this should be |
13 # presented to MIT. |
13 # presented to MIT. |
14 # Patch source: in-house |
14 # Patch source: in-house |
15 # |
15 # |
16 diff --git a/src/lib/kadm5/clnt/client_init.c b/src/lib/kadm5/clnt/client_init.c |
|
17 --- a/src/lib/kadm5/clnt/client_init.c |
16 --- a/src/lib/kadm5/clnt/client_init.c |
18 +++ b/src/lib/kadm5/clnt/client_init.c |
17 +++ b/src/lib/kadm5/clnt/client_init.c |
19 @@ -299,7 +299,7 @@ _kadm5_initialize_rpcsec_gss_handle(kadm5_server_handle_t handle, |
18 @@ -299,7 +299,7 @@ _kadm5_initialize_rpcsec_gss_handle(kadm5_server_handle_t handle, |
20 { |
19 { |
21 int code = 0; |
20 int code = 0; |
149 - code = gic_iter(handle, init_type, ccache, client, pass, svcname, realm, |
148 - code = gic_iter(handle, init_type, ccache, client, pass, svcname, realm, |
150 + code = gic_iter(handle, init_type, ccache, client, pass, svcbuf, realm, |
149 + code = gic_iter(handle, init_type, ccache, client, pass, svcbuf, realm, |
151 server_out); |
150 server_out); |
152 /* Improved error messages */ |
151 /* Improved error messages */ |
153 if (code == KRB5KRB_AP_ERR_BAD_INTEGRITY) code = KADM5_BAD_PASSWORD; |
152 if (code == KRB5KRB_AP_ERR_BAD_INTEGRITY) code = KADM5_BAD_PASSWORD; |
154 diff --git a/src/lib/krb5/krb/gic_pwd.c b/src/lib/krb5/krb/gic_pwd.c |
|
155 --- a/src/lib/krb5/krb/gic_pwd.c |
153 --- a/src/lib/krb5/krb/gic_pwd.c |
156 +++ b/src/lib/krb5/krb/gic_pwd.c |
154 +++ b/src/lib/krb5/krb/gic_pwd.c |
157 @@ -5,6 +5,17 @@ |
155 @@ -5,6 +5,17 @@ |
158 #include "int-proto.h" |
156 #include "int-proto.h" |
159 #include "os-proto.h" |
157 #include "os-proto.h" |
215 + krb5_kdc_rep **ptr_as_reply) |
213 + krb5_kdc_rep **ptr_as_reply) |
216 +{ |
214 +{ |
217 krb5_error_code ret; |
215 krb5_error_code ret; |
218 int use_master; |
216 int use_master; |
219 krb5_kdc_rep *as_reply; |
217 krb5_kdc_rep *as_reply; |
220 @@ -503,8 +543,12 @@ cleanup: |
218 @@ -505,8 +545,12 @@ cleanup: |
221 memset(pw0array, 0, sizeof(pw0array)); |
219 memset(pw0array, 0, sizeof(pw0array)); |
222 memset(pw1array, 0, sizeof(pw1array)); |
220 memset(pw1array, 0, sizeof(pw1array)); |
223 krb5_free_cred_contents(context, &chpw_creds); |
221 krb5_free_cred_contents(context, &chpw_creds); |
224 - if (as_reply) |
222 - if (as_reply) |
225 - krb5_free_kdc_rep(context, as_reply); |
223 - krb5_free_kdc_rep(context, as_reply); |
230 + *ptr_as_reply = as_reply; |
228 + *ptr_as_reply = as_reply; |
231 + } |
229 + } |
232 k5_clear_error(&errsave); |
230 k5_clear_error(&errsave); |
233 |
231 |
234 return(ret); |
232 return(ret); |
235 diff --git a/src/slave/kpropd.c b/src/slave/kpropd.c |
|
236 --- a/src/slave/kpropd.c |
233 --- a/src/slave/kpropd.c |
237 +++ b/src/slave/kpropd.c |
234 +++ b/src/slave/kpropd.c |
238 @@ -644,6 +644,7 @@ do_iprop() |
235 @@ -644,6 +644,7 @@ do_iprop() |
239 params.realm = def_realm; |
236 params.realm = def_realm; |
240 |
237 |