diff options
-rw-r--r-- | source3/include/includes.h | 4 | ||||
-rw-r--r-- | source3/libads/kerberos.c | 6 | ||||
-rw-r--r-- | source3/libads/kerberos_verify.c | 1 |
3 files changed, 7 insertions, 4 deletions
diff --git a/source3/include/includes.h b/source3/include/includes.h index 9f3fcacc20..3999ef48bd 100644 --- a/source3/include/includes.h +++ b/source3/include/includes.h @@ -1349,7 +1349,9 @@ void free_kerberos_etypes(krb5_context context, krb5_enctype *enctypes); BOOL get_krb5_smb_session_key(krb5_context context, krb5_auth_context auth_context, DATA_BLOB *session_key, BOOL remote); krb5_error_code smb_krb5_kt_free_entry(krb5_context context, krb5_keytab_entry *kt_entry); krb5_principal kerberos_fetch_salt_princ_for_host_princ(krb5_context context, krb5_principal host_princ, int enctype); - +void kerberos_set_creds_enctype(krb5_creds *pcreds, int enctype); +BOOL kerberos_compatible_enctypes(krb5_context context, krb5_enctype enctype1, krb5_enctype enctype2); +void kerberos_free_data_contents(krb5_context context, krb5_data *pdata); #endif /* HAVE_KRB5 */ diff --git a/source3/libads/kerberos.c b/source3/libads/kerberos.c index 32f5951c9f..a38f3c35b1 100644 --- a/source3/libads/kerberos.c +++ b/source3/libads/kerberos.c @@ -635,7 +635,7 @@ static void kerberos_derive_salting_principal_direct(krb5_context context, Wrapper function for the above. ************************************************************************/ -void kerberos_derive_salting_principal(char *service_principal) +BOOL kerberos_derive_salting_principal(char *service_principal) { krb5_context context = NULL; krb5_enctype *enctypes = NULL; @@ -646,7 +646,7 @@ void kerberos_derive_salting_principal(char *service_principal) if ((ret = krb5_init_context(&context)) != 0) { DEBUG(1,("kerberos_derive_cifs_salting_principals: krb5_init_context failed. %s\n", error_message(ret))); - return; + return False; } if ((ret = get_kerberos_allowed_etypes(context, &enctypes)) != 0) { DEBUG(1,("kerberos_derive_cifs_salting_principals: get_kerberos_allowed_etypes failed. %s\n", @@ -672,6 +672,8 @@ void kerberos_derive_salting_principal(char *service_principal) if (context) { krb5_free_context(context); } + + return ret ? False : True; } /************************************************************************ diff --git a/source3/libads/kerberos_verify.c b/source3/libads/kerberos_verify.c index 8524fc5d05..848bd61acc 100644 --- a/source3/libads/kerberos_verify.c +++ b/source3/libads/kerberos_verify.c @@ -231,7 +231,6 @@ NTSTATUS ads_verify_ticket(const char *realm, const DATA_BLOB *ticket, char *host_princ_s = NULL; BOOL got_replay_mutex = False; - fstring myname; BOOL auth_ok = False; ZERO_STRUCT(packet); |