diff options
Diffstat (limited to 'source3/libsmb')
-rw-r--r-- | source3/libsmb/errormap.c | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/source3/libsmb/errormap.c b/source3/libsmb/errormap.c index b80065dde0..22daee4c5c 100644 --- a/source3/libsmb/errormap.c +++ b/source3/libsmb/errormap.c @@ -21,14 +21,6 @@ #include "includes.h" -#if HAVE_GSSAPI_GSSAPI_H -#include <gssapi/gssapi.h> -#elif HAVE_GSSAPI_GSSAPI_GENERIC_H -#include <gssapi/gssapi_generic.h> -#elif HAVE_GSSAPI_H -#include <gssapi.h> -#endif - /* dos -> nt status error map */ static const struct { uint8 dos_class; @@ -302,107 +294,3 @@ NTSTATUS dos_to_ntstatus(uint8 eclass, uint32 ecode) return NT_STATUS_UNSUCCESSFUL; } -#if defined(HAVE_GSSAPI) -/******************************************************************************* - Map between gssapi errors and NT status. I made these up :-(. JRA. -*******************************************************************************/ - -static const struct { - unsigned long gss_err; - NTSTATUS ntstatus; -} gss_to_ntstatus_errormap[] = { -#if defined(GSS_S_CALL_INACCESSIBLE_READ) - {GSS_S_CALL_INACCESSIBLE_READ, NT_STATUS_INVALID_PARAMETER}, -#endif -#if defined(GSS_S_CALL_INACCESSIBLE_WRITE) - {GSS_S_CALL_INACCESSIBLE_WRITE, NT_STATUS_INVALID_PARAMETER}, -#endif -#if defined(GSS_S_CALL_BAD_STRUCTURE) - {GSS_S_CALL_BAD_STRUCTURE, NT_STATUS_INVALID_PARAMETER}, -#endif -#if defined(GSS_S_BAD_MECH) - {GSS_S_BAD_MECH, NT_STATUS_INVALID_PARAMETER}, -#endif -#if defined(GSS_S_BAD_NAME) - {GSS_S_BAD_NAME, NT_STATUS_INVALID_ACCOUNT_NAME}, -#endif -#if defined(GSS_S_BAD_NAMETYPE) - {GSS_S_BAD_NAMETYPE, NT_STATUS_INVALID_PARAMETER}, -#endif -#if defined(GSS_S_BAD_BINDINGS) - {GSS_S_BAD_BINDINGS, NT_STATUS_INVALID_PARAMETER}, -#endif -#if defined(GSS_S_BAD_STATUS) - {GSS_S_BAD_STATUS, NT_STATUS_UNSUCCESSFUL}, -#endif -#if defined(GSS_S_BAD_SIG) - {GSS_S_BAD_SIG, NT_STATUS_ACCESS_DENIED}, -#endif -#if defined(GSS_S_NO_CRED) - {GSS_S_NO_CRED, NT_STATUS_ACCESS_DENIED}, -#endif -#if defined(GSS_S_NO_CONTEXT) - {GSS_S_NO_CONTEXT, NT_STATUS_ACCESS_DENIED}, -#endif -#if defined(GSS_S_DEFECTIVE_TOKEN) - {GSS_S_DEFECTIVE_TOKEN, NT_STATUS_ACCESS_DENIED}, -#endif -#if defined(GSS_S_DEFECTIVE_CREDENTIAL) - {GSS_S_DEFECTIVE_CREDENTIAL, NT_STATUS_ACCESS_DENIED}, -#endif -#if defined(GSS_S_CREDENTIALS_EXPIRED) - {GSS_S_CREDENTIALS_EXPIRED, NT_STATUS_PASSWORD_EXPIRED}, -#endif -#if defined(GSS_S_CONTEXT_EXPIRED) - {GSS_S_CONTEXT_EXPIRED, NT_STATUS_PASSWORD_EXPIRED}, -#endif -#if defined(GSS_S_BAD_QOP) - {GSS_S_BAD_QOP, NT_STATUS_ACCESS_DENIED}, -#endif -#if defined(GSS_S_UNAUTHORIZED) - {GSS_S_UNAUTHORIZED, NT_STATUS_ACCESS_DENIED}, -#endif -#if defined(GSS_S_UNAVAILABLE) - {GSS_S_UNAVAILABLE, NT_STATUS_UNSUCCESSFUL}, -#endif -#if defined(GSS_S_DUPLICATE_ELEMENT) - {GSS_S_DUPLICATE_ELEMENT, NT_STATUS_INVALID_PARAMETER}, -#endif -#if defined(GSS_S_NAME_NOT_MN) - {GSS_S_NAME_NOT_MN, NT_STATUS_INVALID_PARAMETER}, -#endif - { 0, NT_STATUS_OK } -}; - -/********************************************************************* - Map an NT error code from a gssapi error code. -*********************************************************************/ - -NTSTATUS map_nt_error_from_gss(uint32 gss_maj, uint32 minor) -{ - int i = 0; - - if (gss_maj == GSS_S_COMPLETE) { - return NT_STATUS_OK; - } - - if (gss_maj == GSS_S_CONTINUE_NEEDED) { - return NT_STATUS_MORE_PROCESSING_REQUIRED; - } - - if (gss_maj == GSS_S_FAILURE) { - return map_nt_error_from_unix((int)minor); - } - - /* Look through list */ - while(gss_to_ntstatus_errormap[i].gss_err != 0) { - if (gss_to_ntstatus_errormap[i].gss_err == gss_maj) { - return gss_to_ntstatus_errormap[i].ntstatus; - } - i++; - } - - /* Default return */ - return NT_STATUS_ACCESS_DENIED; -} -#endif |