From 7285ed586f129d45843f98c359003d9ac88cf5cb Mon Sep 17 00:00:00 2001 From: Christof Schmitt Date: Thu, 5 Jul 2012 13:17:00 -0700 Subject: auth: Common function for retrieving PAC_LOGIN_INFO from PAC Several functions use the same logic as kerberos_pac_logon_info. Move kerberos_pac_logon_info to common code and reuse it to remove the code duplication. Signed-off-by: Andrew Bartlett --- source4/auth/kerberos/kerberos.h | 8 -------- source4/auth/kerberos/kerberos_pac.c | 37 ------------------------------------ 2 files changed, 45 deletions(-) (limited to 'source4/auth') diff --git a/source4/auth/kerberos/kerberos.h b/source4/auth/kerberos/kerberos.h index 707426d496..51b80556bf 100644 --- a/source4/auth/kerberos/kerberos.h +++ b/source4/auth/kerberos/kerberos.h @@ -83,14 +83,6 @@ const krb5_data *krb5_princ_component(krb5_context context, krb5_principal princ #endif /* Samba wrapper function for krb5 functionality. */ -NTSTATUS kerberos_pac_logon_info(TALLOC_CTX *mem_ctx, - DATA_BLOB blob, - krb5_context context, - const krb5_keyblock *krbtgt_keyblock, - const krb5_keyblock *service_keyblock, - krb5_const_principal client_principal, - time_t tgs_authtime, - struct PAC_LOGON_INFO **logon_info); krb5_error_code kerberos_encode_pac(TALLOC_CTX *mem_ctx, struct PAC_DATA *pac_data, krb5_context context, diff --git a/source4/auth/kerberos/kerberos_pac.c b/source4/auth/kerberos/kerberos_pac.c index 85b62632ba..76c1d99d91 100644 --- a/source4/auth/kerberos/kerberos_pac.c +++ b/source4/auth/kerberos/kerberos_pac.c @@ -33,43 +33,6 @@ #include "auth/kerberos/kerberos_util.h" #include "auth/kerberos/pac_utils.h" -_PUBLIC_ NTSTATUS kerberos_pac_logon_info(TALLOC_CTX *mem_ctx, - DATA_BLOB blob, - krb5_context context, - const krb5_keyblock *krbtgt_keyblock, - const krb5_keyblock *service_keyblock, - krb5_const_principal client_principal, - time_t tgs_authtime, - struct PAC_LOGON_INFO **logon_info) -{ - NTSTATUS nt_status; - struct PAC_DATA *pac_data; - int i; - nt_status = kerberos_decode_pac(mem_ctx, - blob, - context, - krbtgt_keyblock, - service_keyblock, - client_principal, - tgs_authtime, - &pac_data); - if (!NT_STATUS_IS_OK(nt_status)) { - return nt_status; - } - - *logon_info = NULL; - for (i=0; i < pac_data->num_buffers; i++) { - if (pac_data->buffers[i].type != PAC_TYPE_LOGON_INFO) { - continue; - } - *logon_info = pac_data->buffers[i].info->logon_info.info; - } - if (!*logon_info) { - return NT_STATUS_INVALID_PARAMETER; - } - return NT_STATUS_OK; -} - krb5_error_code kerberos_encode_pac(TALLOC_CTX *mem_ctx, struct PAC_DATA *pac_data, krb5_context context, -- cgit