1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-10 01:18:15 +03:00

r17677: There is no need for a 2nd krb5_to_nt_status function, is there?

Michael Adam/Volker, please check.

Guenther
(This used to be commit d0feb85781)
This commit is contained in:
Günther Deschner 2006-08-22 00:36:31 +00:00 committed by Gerald (Jerry) Carter
parent 23535f7d49
commit 58247fea05
3 changed files with 2 additions and 38 deletions

View File

@ -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;

View File

@ -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}
};

View File

@ -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