Added additional NLA error mappings.
This commit is contained in:
parent
c4aaf5bc6c
commit
7a73a0eb1b
@ -239,14 +239,22 @@ FREERDP_API const char* freerdp_get_error_base_name(UINT32 code);
|
||||
#define ERRCONNECT_SECURITY_NEGO_CONNECT_FAILED 0x0000000C
|
||||
#define ERRCONNECT_CONNECT_TRANSPORT_FAILED 0x0000000D
|
||||
#define ERRCONNECT_PASSWORD_EXPIRED 0x0000000E
|
||||
#define ERRCONNECT_ACCOUNT_DISABLED 0x0000000F
|
||||
#define ERRCONNECT_PASSWORD_MUST_CHANGE 0x00000010
|
||||
|
||||
/* For non-domain workstation where we can't contact a kerberos server */
|
||||
#define ERRCONNECT_PASSWORD_CERTAINLY_EXPIRED 0x0000000F
|
||||
#define ERRCONNECT_CLIENT_REVOKED 0x00000010
|
||||
#define ERRCONNECT_KDC_UNREACHABLE 0x00000011
|
||||
|
||||
#define ERRCONNECT_ACCOUNT_DISABLED 0x00000012
|
||||
#define ERRCONNECT_PASSWORD_MUST_CHANGE 0x00000013
|
||||
#define ERRCONNECT_LOGON_FAILURE 0x00000014
|
||||
#define ERRCONNECT_WRONG_PASSWORD 0x00000015
|
||||
#define ERRCONNECT_ACCESS_DENIED 0x00000016
|
||||
#define ERRCONNECT_ACCOUNT_RESTRICTION 0x00000017
|
||||
#define ERRCONNECT_ACCOUNT_LOCKED_OUT 0x00000018
|
||||
#define ERRCONNECT_ACCOUNT_EXPIRED 0x00000019
|
||||
#define ERRCONNECT_LOGON_TYPE_NOT_GRANTED 0x0000001A
|
||||
|
||||
|
||||
#define ERRCONNECT_SUCCESS ERRINFO_SUCCESS
|
||||
#define ERRCONNECT_NONE ERRINFO_NONE
|
||||
|
||||
@ -300,6 +308,9 @@ FREERDP_API const char* freerdp_get_error_connect_name(UINT32 code);
|
||||
#define FREERDP_ERROR_CONNECT_PASSWORD_MUST_CHANGE \
|
||||
MAKE_FREERDP_ERROR(CONNECT, ERRCONNECT_PASSWORD_MUST_CHANGE)
|
||||
|
||||
#define FREERDP_ERROR_CONNECT_KDC_UNREACHABLE \
|
||||
MAKE_FREERDP_ERROR(CONNECT, ERRCONNECT_KDC_UNREACHABLE)
|
||||
|
||||
#define FREERDP_ERROR_CONNECT_ACCOUNT_DISABLED \
|
||||
MAKE_FREERDP_ERROR(CONNECT, ERRCONNECT_ACCOUNT_DISABLED)
|
||||
|
||||
@ -309,8 +320,26 @@ FREERDP_API const char* freerdp_get_error_connect_name(UINT32 code);
|
||||
#define FREERDP_ERROR_CONNECT_CLIENT_REVOKED \
|
||||
MAKE_FREERDP_ERROR(CONNECT, ERRCONNECT_CLIENT_REVOKED)
|
||||
|
||||
#define FREERDP_ERROR_CONNECT_KDC_UNREACHABLE \
|
||||
MAKE_FREERDP_ERROR(CONNECT, ERRCONNECT_KDC_UNREACHABLE)
|
||||
#define FREERDP_ERROR_CONNECT_LOGON_FAILURE \
|
||||
MAKE_FREERDP_ERROR(CONNECT, ERRCONNECT_LOGON_FAILURE)
|
||||
|
||||
#define FREERDP_ERROR_CONNECT_WRONG_PASSWORD \
|
||||
MAKE_FREERDP_ERROR(CONNECT, ERRCONNECT_WRONG_PASSWORD)
|
||||
|
||||
#define FREERDP_ERROR_CONNECT_ACCESS_DENIED \
|
||||
MAKE_FREERDP_ERROR(CONNECT, ERRCONNECT_ACCESS_DENIED)
|
||||
|
||||
#define FREERDP_ERROR_CONNECT_ACCOUNT_RESTRICTION \
|
||||
MAKE_FREERDP_ERROR(CONNECT, ERRCONNECT_ACCOUNT_RESTRICTION)
|
||||
|
||||
#define FREERDP_ERROR_CONNECT_ACCOUNT_LOCKED_OUT \
|
||||
MAKE_FREERDP_ERROR(CONNECT, ERRCONNECT_ACCOUNT_LOCKED_OUT)
|
||||
|
||||
#define FREERDP_ERROR_CONNECT_ACCOUNT_EXPIRED \
|
||||
MAKE_FREERDP_ERROR(CONNECT, ERRCONNECT_ACCOUNT_EXPIRED)
|
||||
|
||||
#define FREERDP_ERROR_CONNECT_LOGON_TYPE_NOT_GRANTED \
|
||||
MAKE_FREERDP_ERROR(CONNECT, ERRCONNECT_LOGON_TYPE_NOT_GRANTED)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -85,6 +85,33 @@
|
||||
#define ERRCONNECT_KDC_UNREACHABLE_STRING \
|
||||
"The KDC is unreachable."
|
||||
|
||||
#define ERRCONNECT_ACCOUNT_DISABLED_STRING \
|
||||
"The account is disabled."
|
||||
|
||||
#define ERRCONNECT_PASSWORD_MUST_CHANGE_STRING \
|
||||
"The password must be changed."
|
||||
|
||||
#define ERRCONNECT_LOGON_FAILURE_STRING \
|
||||
"Logon failed."
|
||||
|
||||
#define ERRCONNECT_WRONG_PASSWORD_STRING \
|
||||
"Wrong password supplied."
|
||||
|
||||
#define ERRCONNECT_ACCESS_DENIED_STRING \
|
||||
"Access denied."
|
||||
|
||||
#define ERRCONNECT_ACCOUNT_RESTRICTION_STRING \
|
||||
"Account restriction."
|
||||
|
||||
#define ERRCONNECT_ACCOUNT_LOCKED_OUT_STRING \
|
||||
"Account locked out."
|
||||
|
||||
#define ERRCONNECT_ACCOUNT_EXPIRED_STRING \
|
||||
"Account expired."
|
||||
|
||||
#define ERRCONNECT_LOGON_TYPE_NOT_GRANTED_STRING \
|
||||
"Logon type not granted."
|
||||
|
||||
/* Special codes */
|
||||
#define ERRCONNECT_SUCCESS_STRING "Success."
|
||||
#define ERRCONNECT_NONE_STRING ""
|
||||
@ -110,6 +137,15 @@ static const ERRINFO ERRCONNECT_CODES[] =
|
||||
ERRCONNECT_DEFINE(PASSWORD_CERTAINLY_EXPIRED),
|
||||
ERRCONNECT_DEFINE(CLIENT_REVOKED),
|
||||
ERRCONNECT_DEFINE(KDC_UNREACHABLE),
|
||||
ERRCONNECT_DEFINE(ACCOUNT_DISABLED),
|
||||
ERRCONNECT_DEFINE(PASSWORD_MUST_CHANGE),
|
||||
ERRCONNECT_DEFINE(LOGON_FAILURE),
|
||||
ERRCONNECT_DEFINE(WRONG_PASSWORD),
|
||||
ERRCONNECT_DEFINE(ACCESS_DENIED),
|
||||
ERRCONNECT_DEFINE(ACCOUNT_RESTRICTION),
|
||||
ERRCONNECT_DEFINE(ACCOUNT_LOCKED_OUT),
|
||||
ERRCONNECT_DEFINE(ACCOUNT_EXPIRED),
|
||||
ERRCONNECT_DEFINE(LOGON_TYPE_NOT_GRANTED),
|
||||
|
||||
ERRCONNECT_DEFINE(NONE)
|
||||
};
|
||||
|
@ -1638,6 +1638,34 @@ int nla_recv_pdu(rdpNla* nla, wStream* s)
|
||||
code = FREERDP_ERROR_CONNECT_ACCOUNT_DISABLED;
|
||||
break;
|
||||
|
||||
case STATUS_LOGON_FAILURE:
|
||||
code = FREERDP_ERROR_CONNECT_LOGON_FAILURE;
|
||||
break;
|
||||
|
||||
case STATUS_WRONG_PASSWORD:
|
||||
code = FREERDP_ERROR_CONNECT_WRONG_PASSWORD;
|
||||
break;
|
||||
|
||||
case STATUS_ACCESS_DENIED:
|
||||
code = FREERDP_ERROR_CONNECT_ACCESS_DENIED;
|
||||
break;
|
||||
|
||||
case STATUS_ACCOUNT_RESTRICTION:
|
||||
code = FREERDP_ERROR_CONNECT_ACCOUNT_RESTRICTION;
|
||||
break;
|
||||
|
||||
case STATUS_ACCOUNT_LOCKED_OUT:
|
||||
code = FREERDP_ERROR_CONNECT_ACCOUNT_LOCKED_OUT;
|
||||
break;
|
||||
|
||||
case STATUS_ACCOUNT_EXPIRED:
|
||||
code = FREERDP_ERROR_CONNECT_ACCOUNT_EXPIRED;
|
||||
break;
|
||||
|
||||
case STATUS_LOGON_TYPE_NOT_GRANTED:
|
||||
code = FREERDP_ERROR_CONNECT_LOGON_TYPE_NOT_GRANTED;
|
||||
break;
|
||||
|
||||
default:
|
||||
WLog_ERR(TAG, "SPNEGO failed with NTSTATUS: 0x%08"PRIX32"", nla->errorCode);
|
||||
code = FREERDP_ERROR_CONNECT_FAILED;
|
||||
|
Loading…
x
Reference in New Issue
Block a user