From d0feb85781f69325ee70aff98370cfac037c4cc2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=BCnther=20Deschner?= Date: Tue, 22 Aug 2006 00:36:31 +0000 Subject: [PATCH] r17677: There is no need for a 2nd krb5_to_nt_status function, is there? Michael Adam/Volker, please check. Guenther --- source/libads/ads_status.c | 2 +- source/libads/krb5_errs.c | 1 + source/libsmb/errormap.c | 37 ------------------------------------- 3 files changed, 2 insertions(+), 38 deletions(-) diff --git a/source/libads/ads_status.c b/source/libads/ads_status.c index 00427936ade..07c60c5ac01 100644 --- a/source/libads/ads_status.c +++ b/source/libads/ads_status.c @@ -83,7 +83,7 @@ NTSTATUS ads_ntstatus(ADS_STATUS status) #endif #ifdef HAVE_KRB5 case ENUM_ADS_ERROR_KRB5: - return krb5_to_ntstatus(status.err.rc); + return krb5_to_nt_status(status.err.rc); #endif default: break; diff --git a/source/libads/krb5_errs.c b/source/libads/krb5_errs.c index e73482522b8..38d34f86769 100644 --- a/source/libads/krb5_errs.c +++ b/source/libads/krb5_errs.c @@ -55,6 +55,7 @@ static const struct { #if defined(KRB5KRB_ERR_RESPONSE_TOO_BIG) {KRB5KRB_ERR_RESPONSE_TOO_BIG, NT_STATUS_PROTOCOL_UNREACHABLE}, #endif + {KRB5KDC_ERR_NONE, NT_STATUS_OK}, {0, NT_STATUS_OK} }; diff --git a/source/libsmb/errormap.c b/source/libsmb/errormap.c index 7758246929b..cb5e8311cad 100644 --- a/source/libsmb/errormap.c +++ b/source/libsmb/errormap.c @@ -1566,40 +1566,3 @@ NTSTATUS map_nt_error_from_unix(int unix_error) /* Default return */ return NT_STATUS_ACCESS_DENIED; } - -#ifdef HAVE_KRB5 -/********************************************************************* - Map a krb5 error code to an NT error code -*********************************************************************/ - -struct krb5_error_map { - int krb5_error; - NTSTATUS nt_error; -}; - -const struct krb5_error_map krb5_nt_errmap[] = { - { KRB5KDC_ERR_PREAUTH_FAILED, NT_STATUS_LOGON_FAILURE }, - { KRB5_KDC_UNREACH, NT_STATUS_NO_LOGON_SERVERS }, - { KRB5KRB_AP_ERR_SKEW, NT_STATUS_TIME_DIFFERENCE_AT_DC }, - /* not sure if this mapping is appropriate */ - { KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN, NT_STATUS_NO_TRUST_SAM_ACCOUNT }, - { KRB5KDC_ERR_NONE, NT_STATUS_OK }, - /* end of array flag - not used as error code... */ - { 0, NT_STATUS_OK } -}; - -NTSTATUS krb5_to_ntstatus(int error) -{ - int i = 0; - - while (krb5_nt_errmap[i].krb5_error != 0) { - if (krb5_nt_errmap[i].krb5_error == error) { - return krb5_nt_errmap[i].nt_error; - } - i++; - } - - return NT_STATUS_ACCESS_DENIED; -} -#endif - -- 2.34.1