diff options
author | Andrew Bartlett <abartlet@samba.org> | 2012-01-05 11:16:24 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2012-01-10 21:50:07 +0100 |
commit | 39d73e2420be17cc7db16353e1a51a5d2123f9f1 (patch) | |
tree | 5389cbead88d59531f3f5cb7fcf2bc346b3e5160 /source3/libsmb | |
parent | a33d86a74592498ec731d57e8cd2ff6a260635bc (diff) | |
download | samba-39d73e2420be17cc7db16353e1a51a5d2123f9f1.tar.gz samba-39d73e2420be17cc7db16353e1a51a5d2123f9f1.tar.bz2 samba-39d73e2420be17cc7db16353e1a51a5d2123f9f1.zip |
krb5: Require krb5_get_renewed_creds be available to build with krb5
Diffstat (limited to 'source3/libsmb')
-rw-r--r-- | source3/libsmb/clikrb5.c | 53 |
1 files changed, 4 insertions, 49 deletions
diff --git a/source3/libsmb/clikrb5.c b/source3/libsmb/clikrb5.c index adb9c9c6fb..c0d822e5da 100644 --- a/source3/libsmb/clikrb5.c +++ b/source3/libsmb/clikrb5.c @@ -1156,56 +1156,11 @@ out: } } -#ifdef HAVE_KRB5_GET_RENEWED_CREDS /* MIT */ - { - ret = krb5_get_renewed_creds(context, &creds, client, ccache, discard_const_p(char, service_string)); - if (ret) { - DEBUG(10,("smb_krb5_renew_ticket: krb5_get_kdc_cred failed: %s\n", error_message(ret))); - goto done; - } - } -#elif defined(HAVE_KRB5_GET_KDC_CRED) /* Heimdal */ - { - krb5_kdc_flags flags; - krb5_realm *client_realm = NULL; - - ret = krb5_copy_principal(context, client, &creds_in.client); - if (ret) { - goto done; - } - - if (service_string) { - ret = smb_krb5_parse_name(context, service_string, &creds_in.server); - if (ret) { - goto done; - } - } else { - /* build tgt service by default */ - client_realm = krb5_princ_realm(context, creds_in.client); - if (!client_realm) { - ret = ENOMEM; - goto done; - } - ret = krb5_make_principal(context, &creds_in.server, *client_realm, KRB5_TGS_NAME, *client_realm, NULL); - if (ret) { - goto done; - } - } - - flags.i = 0; - flags.b.renewable = flags.b.renew = True; - - ret = krb5_get_kdc_cred(context, ccache, flags, NULL, NULL, &creds_in, &creds_out); - if (ret) { - DEBUG(10,("smb_krb5_renew_ticket: krb5_get_kdc_cred failed: %s\n", error_message(ret))); - goto done; - } - - creds = *creds_out; + ret = krb5_get_renewed_creds(context, &creds, client, ccache, discard_const_p(char, service_string)); + if (ret) { + DEBUG(10,("smb_krb5_renew_ticket: krb5_get_kdc_cred failed: %s\n", error_message(ret))); + goto done; } -#else -#error NO_SUITABLE_KRB5_TICKET_RENEW_FUNCTION_AVAILABLE -#endif /* hm, doesn't that create a new one if the old one wasn't there? - Guenther */ ret = krb5_cc_initialize(context, ccache, client); |