libfreerdp-core: added complete errinfo lookup table with full meaning strings
This commit is contained in:
parent
b9c9d31451
commit
9c64b994da
@ -46,6 +46,8 @@ set(LIBFREERDP_CORE_SRCS
|
|||||||
ntlmssp.h
|
ntlmssp.h
|
||||||
license.c
|
license.c
|
||||||
license.h
|
license.h
|
||||||
|
errinfo.c
|
||||||
|
errinfo.h
|
||||||
registry.c
|
registry.c
|
||||||
registry.h
|
registry.h
|
||||||
security.c
|
security.c
|
||||||
|
453
libfreerdp-core/errinfo.c
Normal file
453
libfreerdp-core/errinfo.c
Normal file
@ -0,0 +1,453 @@
|
|||||||
|
/**
|
||||||
|
* FreeRDP: A Remote Desktop Protocol Client
|
||||||
|
* Error Info
|
||||||
|
*
|
||||||
|
* Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "errinfo.h"
|
||||||
|
|
||||||
|
/* Protocol-independent codes */
|
||||||
|
|
||||||
|
char ERRINFO_RPC_INITIATED_DISCONNECT_STRING[] =
|
||||||
|
"The disconnection was initiated by an administrative tool on the server in another session.";
|
||||||
|
|
||||||
|
char ERRINFO_RPC_INITIATED_LOGOFF_STRING[] =
|
||||||
|
"The disconnection was due to a forced logoff initiated by an administrative tool on the server in another session.";
|
||||||
|
|
||||||
|
char ERRINFO_IDLE_TIMEOUT_STRING[] =
|
||||||
|
"The idle session limit timer on the server has elapsed.";
|
||||||
|
|
||||||
|
char ERRINFO_LOGON_TIMEOUT_STRING[] =
|
||||||
|
"The active session limit timer on the server has elapsed.";
|
||||||
|
|
||||||
|
char ERRINFO_DISCONNECTED_BY_OTHER_CONNECTION_STRING[] =
|
||||||
|
"Another user connected to the server, forcing the disconnection of the current connection.";
|
||||||
|
|
||||||
|
char ERRINFO_OUT_OF_MEMORY_STRING[] =
|
||||||
|
"The server ran out of available memory resources.";
|
||||||
|
|
||||||
|
char ERRINFO_SERVER_DENIED_CONNECTION_STRING[] =
|
||||||
|
"The server denied the connection.";
|
||||||
|
|
||||||
|
char ERRINFO_SERVER_INSUFFICIENT_PRIVILEGES_STRING[] =
|
||||||
|
"The user cannot connect to the server due to insufficient access privileges.";
|
||||||
|
|
||||||
|
char ERRINFO_SERVER_FRESH_CREDENTIALS_REQUIRED_STRING[] =
|
||||||
|
"The server does not accept saved user credentials and requires that the user enter their credentials for each connection.";
|
||||||
|
|
||||||
|
char ERRINFO_RPC_INITIATED_DISCONNECT_BY_USER_STRING[] =
|
||||||
|
"The disconnection was initiated by an administrative tool on the server running in the user's session.";
|
||||||
|
|
||||||
|
/* Protocol-independent licensing codes */
|
||||||
|
|
||||||
|
char ERRINFO_LICENSE_INTERNAL_STRING[] =
|
||||||
|
"An internal error has occurred in the Terminal Services licensing component.";
|
||||||
|
|
||||||
|
char ERRINFO_LICENSE_NO_LICENSE_SERVER_STRING[] =
|
||||||
|
"A Remote Desktop License Server ([MS-RDPELE] section 1.1) could not be found to provide a license.";
|
||||||
|
|
||||||
|
char ERRINFO_LICENSE_NO_LICENSE_STRING[] =
|
||||||
|
"There are no Client Access Licenses ([MS-RDPELE] section 1.1) available for the target remote computer.";
|
||||||
|
|
||||||
|
char ERRINFO_LICENSE_BAD_CLIENT_MSG_STRING[] =
|
||||||
|
"The remote computer received an invalid licensing message from the client.";
|
||||||
|
|
||||||
|
char ERRINFO_LICENSE_HWID_DOESNT_MATCH_LICENSE_STRING[] =
|
||||||
|
"The Client Access License ([MS-RDPELE] section 1.1) stored by the client has been modified.";
|
||||||
|
|
||||||
|
char ERRINFO_LICENSE_BAD_CLIENT_LICENSE_STRING[] =
|
||||||
|
"The Client Access License ([MS-RDPELE] section 1.1) stored by the client is in an invalid format.";
|
||||||
|
|
||||||
|
char ERRINFO_LICENSE_CANT_FINISH_PROTOCOL_STRING[] =
|
||||||
|
"Network problems have caused the licensing protocol ([MS-RDPELE] section 1.3.3) to be terminated.";
|
||||||
|
|
||||||
|
char ERRINFO_LICENSE_CLIENT_ENDED_PROTOCOL_STRING[] =
|
||||||
|
"The client prematurely ended the licensing protocol ([MS-RDPELE] section 1.3.3).";
|
||||||
|
|
||||||
|
char ERRINFO_LICENSE_BAD_CLIENT_ENCRYPTION_STRING[] =
|
||||||
|
"A licensing message ([MS-RDPELE] sections 2.2 and 5.1) was incorrectly encrypted.";
|
||||||
|
|
||||||
|
char ERRINFO_LICENSE_CANT_UPGRADE_LICENSE_STRING[] =
|
||||||
|
"The Client Access License ([MS-RDPELE] section 1.1) stored by the client could not be upgraded or renewed.";
|
||||||
|
|
||||||
|
char ERRINFO_LICENSE_NO_REMOTE_CONNECTIONS_STRING[] =
|
||||||
|
"The remote computer is not licensed to accept remote connections.";
|
||||||
|
|
||||||
|
/* RDP specific codes */
|
||||||
|
|
||||||
|
char ERRINFO_UNKNOWN_DATA_PDU_TYPE_STRING[] =
|
||||||
|
"Unknown pduType2 field in a received Share Data Header (section 2.2.8.1.1.1.2).";
|
||||||
|
|
||||||
|
char ERRINFO_UNKNOWN_PDU_TYPE_STRING[] =
|
||||||
|
"Unknown pduType field in a received Share Control Header (section 2.2.8.1.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_DATA_PDU_SEQUENCE_STRING[] =
|
||||||
|
"An out-of-sequence Slow-Path Data PDU (section 2.2.8.1.1.1.1) has been received.";
|
||||||
|
|
||||||
|
char ERRINFO_CONTROL_PDU_SEQUENCE_STRING[] =
|
||||||
|
"An out-of-sequence Slow-Path Non-Data PDU (section 2.2.8.1.1.1.1) has been received.";
|
||||||
|
|
||||||
|
char ERRINFO_INVALID_CONTROL_PDU_ACTION_STRING[] =
|
||||||
|
"A Control PDU (sections 2.2.1.15 and 2.2.1.16) has been received with an invalid action field.";
|
||||||
|
|
||||||
|
char ERRINFO_INVALID_INPUT_PDU_TYPE_STRING[] =
|
||||||
|
"(a) A Slow-Path Input Event (section 2.2.8.1.1.3.1.1) has been received with an invalid messageType field.\n"
|
||||||
|
"(b) A Fast-Path Input Event (section 2.2.8.1.2.2) has been received with an invalid eventCode field.";
|
||||||
|
|
||||||
|
char ERRINFO_INVALID_INPUT_PDU_MOUSE_STRING[] =
|
||||||
|
"(a) A Slow-Path Mouse Event (section 2.2.8.1.1.3.1.1.3) or Extended Mouse Event "
|
||||||
|
"(section 2.2.8.1.1.3.1.1.4) has been received with an invalid pointerFlags field.\n"
|
||||||
|
"(b) A Fast-Path Mouse Event (section 2.2.8.1.2.2.3) or Fast-Path Extended Mouse Event "
|
||||||
|
"(section 2.2.8.1.2.2.4) has been received with an invalid pointerFlags field.";
|
||||||
|
|
||||||
|
char ERRINFO_INVALID_REFRESH_RECT_PDU_STRING[] =
|
||||||
|
"An invalid Refresh Rect PDU (section 2.2.11.2) has been received.";
|
||||||
|
|
||||||
|
char ERRINFO_CREATE_USER_DATA_FAILED_STRING[] =
|
||||||
|
"The server failed to construct the GCC Conference Create Response user data (section 2.2.1.4).";
|
||||||
|
|
||||||
|
char ERRINFO_CONNECT_FAILED_STRING[] =
|
||||||
|
"Processing during the Channel Connection phase of the RDP Connection Sequence "
|
||||||
|
"(see section 1.3.1.1 for an overview of the RDP Connection Sequence phases) has failed.";
|
||||||
|
|
||||||
|
char ERRINFO_CONFIRM_ACTIVE_HAS_WRONG_SHAREID_STRING[] =
|
||||||
|
"A Confirm Active PDU (section 2.2.1.13.2) was received from the client with an invalid shareId field.";
|
||||||
|
|
||||||
|
char ERRINFO_CONFIRM_ACTIVE_HAS_WRONG_ORIGINATOR_STRING[] =
|
||||||
|
"A Confirm Active PDU (section 2.2.1.13.2) was received from the client with an invalid originatorId field.";
|
||||||
|
|
||||||
|
char ERRINFO_PERSISTENT_KEY_PDU_BAD_LENGTH_STRING[] =
|
||||||
|
"There is not enough data to process a Persistent Key List PDU (section 2.2.1.17).";
|
||||||
|
|
||||||
|
char ERRINFO_PERSISTENT_KEY_PDU_ILLEGAL_FIRST_STRING[] =
|
||||||
|
"A Persistent Key List PDU (section 2.2.1.17) marked as PERSIST_PDU_FIRST (0x01) was received after the reception "
|
||||||
|
"of a prior Persistent Key List PDU also marked as PERSIST_PDU_FIRST.";
|
||||||
|
|
||||||
|
char ERRINFO_PERSISTENT_KEY_PDU_TOO_MANY_TOTAL_KEYS_STRING[] =
|
||||||
|
"A Persistent Key List PDU (section 2.2.1.17) was received which specified a total number of bitmap cache entries larger than 262144.";
|
||||||
|
|
||||||
|
char ERRINFO_PERSISTENT_KEY_PDU_TOO_MANY_CACHE_KEYS_STRING[] =
|
||||||
|
"A Persistent Key List PDU (section 2.2.1.17) was received which specified an invalid total number of keys for a bitmap cache "
|
||||||
|
"(the number of entries that can be stored within each bitmap cache is specified in the Revision 1 or 2 Bitmap Cache Capability Set "
|
||||||
|
"(section 2.2.7.1.4) that is sent from client to server).";
|
||||||
|
|
||||||
|
char ERRINFO_INPUT_PDU_BAD_LENGTH_STRING[] =
|
||||||
|
"There is not enough data to process Input Event PDU Data (section 2.2.8.1.1.3.1) or a Fast-Path Input Event PDU (section 2.2.8.1.2).";
|
||||||
|
|
||||||
|
char ERRINFO_BITMAP_CACHE_ERROR_PDU_BAD_LENGTH_STRING[] =
|
||||||
|
"There is not enough data to process the shareDataHeader, NumInfoBlocks, "
|
||||||
|
"Pad1, and Pad2 fields of the Bitmap Cache Error PDU Data ([MS-RDPEGDI] section 2.2.2.3.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT_STRING[] =
|
||||||
|
"(a) The dataSignature field of the Fast-Path Input Event PDU (section 2.2.8.1.2) does not contain enough data.\n"
|
||||||
|
"(b) The fipsInformation and dataSignature fields of the Fast-Path Input Event PDU (section 2.2.8.1.2) do not contain enough data.";
|
||||||
|
|
||||||
|
char ERRINFO_VCHANNEL_DATA_TOO_SHORT_STRING[] =
|
||||||
|
"(a) There is not enough data in the Client Network Data (section 2.2.1.3.4) to read the virtual channel configuration data.\n"
|
||||||
|
"(b) There is not enough data to read a complete Channel PDU Header (section 2.2.6.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SHARE_DATA_TOO_SHORT_STRING[] =
|
||||||
|
"(a) There is not enough data to process Control PDU Data (section 2.2.1.15.1).\n"
|
||||||
|
"(b) There is not enough data to read a complete Share Control Header (section 2.2.8.1.1.1.1).\n"
|
||||||
|
"(c) There is not enough data to read a complete Share Data Header (section 2.2.8.1.1.1.2) of a Slow-Path Data PDU (section 2.2.8.1.1.1.1).\n"
|
||||||
|
"(d) There is not enough data to process Font List PDU Data (section 2.2.1.18.1).";
|
||||||
|
|
||||||
|
char ERRINFO_BAD_SUPPRESS_OUTPUT_PDU_STRING[] =
|
||||||
|
"(a) There is not enough data to process Suppress Output PDU Data (section 2.2.11.3.1).\n"
|
||||||
|
"(b) The allowDisplayUpdates field of the Suppress Output PDU Data (section 2.2.11.3.1) is invalid.";
|
||||||
|
|
||||||
|
char ERRINFO_CONFIRM_ACTIVE_PDU_TOO_SHORT_STRING[] =
|
||||||
|
"(a) There is not enough data to read the shareControlHeader, shareId, originatorId, lengthSourceDescriptor, "
|
||||||
|
"and lengthCombinedCapabilities fields of the Confirm Active PDU Data (section 2.2.1.13.2.1).\n"
|
||||||
|
"(b) There is not enough data to read the sourceDescriptor, numberCapabilities, pad2Octets, and capabilitySets "
|
||||||
|
"fields of the Confirm Active PDU Data (section 2.2.1.13.2.1).";
|
||||||
|
|
||||||
|
char ERRINFO_CAPABILITY_SET_TOO_SMALL_STRING[] =
|
||||||
|
"There is not enough data to read the capabilitySetType and the lengthCapability fields in a received Capability Set (section 2.2.1.13.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_CAPABILITY_SET_TOO_LARGE_STRING[] =
|
||||||
|
"A Capability Set (section 2.2.1.13.1.1.1) has been received with a lengthCapability "
|
||||||
|
"field that contains a value greater than the total length of the data received.";
|
||||||
|
|
||||||
|
char ERRINFO_NO_CURSOR_CACHE_STRING[] =
|
||||||
|
"(a) Both the colorPointerCacheSize and pointerCacheSize fields in the Pointer Capability Set (section 2.2.7.1.5) are set to zero.\n"
|
||||||
|
"(b) The pointerCacheSize field in the Pointer Capability Set (section 2.2.7.1.5) is not present, and the colorPointerCacheSize field is set to zero.";
|
||||||
|
|
||||||
|
char ERRINFO_BAD_CAPABILITIES_STRING[] =
|
||||||
|
"The capabilities received from the client in the Confirm Active PDU (section 2.2.1.13.2) were not accepted by the server.";
|
||||||
|
|
||||||
|
char ERRINFO_VIRTUAL_CHANNEL_DECOMPRESSION_STRING[] =
|
||||||
|
"An error occurred while using the bulk compressor (section 3.1.8 and [MS-RDPEGDI] section 3.1.8) to decompress a Virtual Channel PDU (section 2.2.6.1)";
|
||||||
|
|
||||||
|
char ERRINFO_INVALID_VC_COMPRESSION_TYPE_STRING[] =
|
||||||
|
"An invalid bulk compression package was specified in the flags field of the Channel PDU Header (section 2.2.6.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_INVALID_CHANNEL_ID_STRING[] =
|
||||||
|
"An invalid MCS channel ID was specified in the mcsPdu field of the Virtual Channel PDU (section 2.2.6.1).";
|
||||||
|
|
||||||
|
char ERRINFO_VCHANNELS_TOO_MANY_STRING[] =
|
||||||
|
"The client requested more than the maximum allowed 31 static virtual channels in the Client Network Data (section 2.2.1.3.4).";
|
||||||
|
|
||||||
|
char ERRINFO_REMOTEAPP_NOT_ENABLED_STRING[] =
|
||||||
|
"The INFO_RAIL flag (0x00008000) MUST be set in the flags field of the Info Packet (section 2.2.1.11.1.1) "
|
||||||
|
"as the session on the remote server can only host remote applications.";
|
||||||
|
|
||||||
|
char ERRINFO_CACHE_CAP_NOT_SET_STRING[] =
|
||||||
|
"The client sent a Persistent Key List PDU (section 2.2.1.17) without including the prerequisite Revision 2 Bitmap Cache "
|
||||||
|
"Capability Set (section 2.2.7.1.4.2) in the Confirm Active PDU (section 2.2.1.13.2).";
|
||||||
|
|
||||||
|
char ERRINFO_BITMAP_CACHE_ERROR_PDU_BAD_LENGTH2_STRING[] =
|
||||||
|
"The NumInfoBlocks field in the Bitmap Cache Error PDU Data is inconsistent with the amount of data in the "
|
||||||
|
"Info field ([MS-RDPEGDI] section 2.2.2.3.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_OFFSCREEN_CACHE_ERROR_PDU_BAD_LENGTH_STRING[] =
|
||||||
|
"There is not enough data to process an Offscreen Bitmap Cache Error PDU ([MS-RDPEGDI] section 2.2.2.3.2).";
|
||||||
|
|
||||||
|
char ERRINFO_DRAWNINEGRID_CACHE_ERROR_PDU_BAD_LENGTH_STRING[] =
|
||||||
|
"There is not enough data to process a DrawNineGrid Cache Error PDU ([MS-RDPEGDI] section 2.2.2.3.3).";
|
||||||
|
|
||||||
|
char ERRINFO_GDIPLUS_PDU_BAD_LENGTH_STRING[] =
|
||||||
|
"There is not enough data to process a GDI+ Error PDU ([MS-RDPEGDI] section 2.2.2.3.4).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT2_STRING[] =
|
||||||
|
"There is not enough data to read a Basic Security Header (section 2.2.8.1.1.2.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT3_STRING[] =
|
||||||
|
"There is not enough data to read a Non-FIPS Security Header (section 2.2.8.1.1.2.2) or FIPS Security Header (section 2.2.8.1.1.2.3).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT4_STRING[] =
|
||||||
|
"There is not enough data to read the basicSecurityHeader and length fields of the Security Exchange PDU Data (section 2.2.1.10.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT5_STRING[] =
|
||||||
|
"There is not enough data to read the CodePage, flags, cbDomain, cbUserName, cbPassword, cbAlternateShell, "
|
||||||
|
"cbWorkingDir, Domain, UserName, Password, AlternateShell, and WorkingDir fields in the Info Packet (section 2.2.1.11.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT6_STRING[] =
|
||||||
|
"There is not enough data to read the CodePage, flags, cbDomain, cbUserName, cbPassword, cbAlternateShell, "
|
||||||
|
"and cbWorkingDir fields in the Info Packet (section 2.2.1.11.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT7_STRING[] =
|
||||||
|
"There is not enough data to read the clientAddressFamily and cbClientAddress fields in the Extended Info Packet (section 2.2.1.11.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT8_STRING[] =
|
||||||
|
"There is not enough data to read the clientAddress field in the Extended Info Packet (section 2.2.1.11.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT9_STRING[] =
|
||||||
|
"There is not enough data to read the cbClientDir field in the Extended Info Packet (section 2.2.1.11.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT10_STRING[] =
|
||||||
|
"There is not enough data to read the clientDir field in the Extended Info Packet (section 2.2.1.11.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT11_STRING[] =
|
||||||
|
"There is not enough data to read the clientTimeZone field in the Extended Info Packet (section 2.2.1.11.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT12_STRING[] =
|
||||||
|
"There is not enough data to read the clientSessionId field in the Extended Info Packet (section 2.2.1.11.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT13_STRING[] =
|
||||||
|
"There is not enough data to read the performanceFlags field in the Extended Info Packet (section 2.2.1.11.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT14_STRING[] =
|
||||||
|
"There is not enough data to read the cbAutoReconnectLen field in the Extended Info Packet (section 2.2.1.11.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT15_STRING[] =
|
||||||
|
"There is not enough data to read the autoReconnectCookie field in the Extended Info Packet (section 2.2.1.11.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT16_STRING[] =
|
||||||
|
"The cbAutoReconnectLen field in the Extended Info Packet (section 2.2.1.11.1.1.1) contains a value "
|
||||||
|
"which is larger than the maximum allowed length of 128 bytes.";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT17_STRING[] =
|
||||||
|
"There is not enough data to read the clientAddressFamily and cbClientAddress fields in the Extended Info Packet (section 2.2.1.11.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT18_STRING[] =
|
||||||
|
"There is not enough data to read the clientAddress field in the Extended Info Packet (section 2.2.1.11.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT19_STRING[] =
|
||||||
|
"There is not enough data to read the cbClientDir field in the Extended Info Packet (section 2.2.1.11.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT20_STRING[] =
|
||||||
|
"There is not enough data to read the clientDir field in the Extended Info Packet (section 2.2.1.11.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT21_STRING[] =
|
||||||
|
"There is not enough data to read the clientTimeZone field in the Extended Info Packet (section 2.2.1.11.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT22_STRING[] =
|
||||||
|
"There is not enough data to read the clientSessionId field in the Extended Info Packet (section 2.2.1.11.1.1.1).";
|
||||||
|
|
||||||
|
char ERRINFO_SECURITY_DATA_TOO_SHORT23_STRING[] =
|
||||||
|
"There is not enough data to read the Client Info PDU Data (section 2.2.1.11.1).";
|
||||||
|
|
||||||
|
char ERRINFO_BAD_MONITOR_DATA_STRING[] =
|
||||||
|
"The monitorCount field in the Client Monitor Data (section 2.2.1.3.6) is invalid.";
|
||||||
|
|
||||||
|
char ERRINFO_VC_DECOMPRESSED_REASSEMBLE_FAILED_STRING[] =
|
||||||
|
"The server-side decompression buffer is invalid, or the size of the decompressed VC data exceeds "
|
||||||
|
"the chunking size specified in the Virtual Channel Capability Set (section 2.2.7.1.10).";
|
||||||
|
|
||||||
|
char ERRINFO_VC_DATA_TOO_LONG_STRING[] =
|
||||||
|
"The size of a received Virtual Channel PDU (section 2.2.6.1) exceeds the chunking size specified "
|
||||||
|
"in the Virtual Channel Capability Set (section 2.2.7.1.10).";
|
||||||
|
|
||||||
|
char ERRINFO_GRAPHICS_MODE_NOT_SUPPORTED_STRING[] =
|
||||||
|
"The graphics mode requested by the client is not supported by the server.";
|
||||||
|
|
||||||
|
char ERRINFO_GRAPHICS_SUBSYSTEM_RESET_FAILED_STRING[] =
|
||||||
|
"The server-side graphics subsystem failed to reset.";
|
||||||
|
|
||||||
|
char ERRINFO_UPDATE_SESSION_KEY_FAILED_STRING[] =
|
||||||
|
"An attempt to update the session keys while using Standard RDP Security mechanisms (section 5.3.7) failed.";
|
||||||
|
|
||||||
|
char ERRINFO_DECRYPT_FAILED_STRING[] =
|
||||||
|
"(a) Decryption using Standard RDP Security mechanisms (section 5.3.6) failed.\n"
|
||||||
|
"(b) Session key creation using Standard RDP Security mechanisms (section 5.3.5) failed.";
|
||||||
|
|
||||||
|
char ERRINFO_ENCRYPT_FAILED_STRING[] =
|
||||||
|
"Encryption using Standard RDP Security mechanisms (section 5.3.6) failed.";
|
||||||
|
|
||||||
|
char ERRINFO_ENCRYPTION_PACKAGE_MISMATCH_STRING[] =
|
||||||
|
"Failed to find a usable Encryption Method (section 5.3.2) in the encryptionMethods field of the Client Security Data (section 2.2.1.4.3).";
|
||||||
|
|
||||||
|
char ERRINFO_DECRYPT_FAILED2_STRING[] =
|
||||||
|
"Unencrypted data was encountered in a protocol stream which is meant to be encrypted with Standard RDP Security mechanisms (section 5.3.6).";
|
||||||
|
|
||||||
|
/* Special codes */
|
||||||
|
char ERRINFO_SUCCESS_STRING[] = "Success.";
|
||||||
|
char ERRINFO_NONE_STRING[] = "";
|
||||||
|
|
||||||
|
ERRINFO ERRINFO_CODES[] =
|
||||||
|
{
|
||||||
|
ERRINFO_DEFINE(SUCCESS),
|
||||||
|
|
||||||
|
/* Protocol-independent codes */
|
||||||
|
ERRINFO_DEFINE(RPC_INITIATED_DISCONNECT),
|
||||||
|
ERRINFO_DEFINE(RPC_INITIATED_LOGOFF),
|
||||||
|
ERRINFO_DEFINE(IDLE_TIMEOUT),
|
||||||
|
ERRINFO_DEFINE(LOGON_TIMEOUT),
|
||||||
|
ERRINFO_DEFINE(DISCONNECTED_BY_OTHER_CONNECTION),
|
||||||
|
ERRINFO_DEFINE(OUT_OF_MEMORY),
|
||||||
|
ERRINFO_DEFINE(SERVER_DENIED_CONNECTION),
|
||||||
|
ERRINFO_DEFINE(SERVER_INSUFFICIENT_PRIVILEGES),
|
||||||
|
ERRINFO_DEFINE(SERVER_FRESH_CREDENTIALS_REQUIRED),
|
||||||
|
ERRINFO_DEFINE(RPC_INITIATED_DISCONNECT_BY_USER),
|
||||||
|
|
||||||
|
/* Protocol-independent licensing codes */
|
||||||
|
ERRINFO_DEFINE(LICENSE_INTERNAL),
|
||||||
|
ERRINFO_DEFINE(LICENSE_NO_LICENSE_SERVER),
|
||||||
|
ERRINFO_DEFINE(LICENSE_NO_LICENSE),
|
||||||
|
ERRINFO_DEFINE(LICENSE_BAD_CLIENT_MSG),
|
||||||
|
ERRINFO_DEFINE(LICENSE_HWID_DOESNT_MATCH_LICENSE),
|
||||||
|
ERRINFO_DEFINE(LICENSE_BAD_CLIENT_LICENSE),
|
||||||
|
ERRINFO_DEFINE(LICENSE_CANT_FINISH_PROTOCOL),
|
||||||
|
ERRINFO_DEFINE(LICENSE_CLIENT_ENDED_PROTOCOL),
|
||||||
|
ERRINFO_DEFINE(LICENSE_BAD_CLIENT_ENCRYPTION),
|
||||||
|
ERRINFO_DEFINE(LICENSE_CANT_UPGRADE_LICENSE),
|
||||||
|
ERRINFO_DEFINE(LICENSE_NO_REMOTE_CONNECTIONS),
|
||||||
|
|
||||||
|
/* RDP specific codes */
|
||||||
|
ERRINFO_DEFINE(UNKNOWN_DATA_PDU_TYPE),
|
||||||
|
ERRINFO_DEFINE(UNKNOWN_PDU_TYPE),
|
||||||
|
ERRINFO_DEFINE(DATA_PDU_SEQUENCE),
|
||||||
|
ERRINFO_DEFINE(CONTROL_PDU_SEQUENCE),
|
||||||
|
ERRINFO_DEFINE(INVALID_CONTROL_PDU_ACTION),
|
||||||
|
ERRINFO_DEFINE(INVALID_INPUT_PDU_TYPE),
|
||||||
|
ERRINFO_DEFINE(INVALID_INPUT_PDU_MOUSE),
|
||||||
|
ERRINFO_DEFINE(INVALID_REFRESH_RECT_PDU),
|
||||||
|
ERRINFO_DEFINE(CREATE_USER_DATA_FAILED),
|
||||||
|
ERRINFO_DEFINE(CONNECT_FAILED),
|
||||||
|
ERRINFO_DEFINE(CONFIRM_ACTIVE_HAS_WRONG_SHAREID),
|
||||||
|
ERRINFO_DEFINE(CONFIRM_ACTIVE_HAS_WRONG_ORIGINATOR),
|
||||||
|
ERRINFO_DEFINE(PERSISTENT_KEY_PDU_BAD_LENGTH),
|
||||||
|
ERRINFO_DEFINE(PERSISTENT_KEY_PDU_ILLEGAL_FIRST),
|
||||||
|
ERRINFO_DEFINE(PERSISTENT_KEY_PDU_TOO_MANY_TOTAL_KEYS),
|
||||||
|
ERRINFO_DEFINE(PERSISTENT_KEY_PDU_TOO_MANY_CACHE_KEYS),
|
||||||
|
ERRINFO_DEFINE(INPUT_PDU_BAD_LENGTH),
|
||||||
|
ERRINFO_DEFINE(BITMAP_CACHE_ERROR_PDU_BAD_LENGTH),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT),
|
||||||
|
ERRINFO_DEFINE(VCHANNEL_DATA_TOO_SHORT ),
|
||||||
|
ERRINFO_DEFINE(SHARE_DATA_TOO_SHORT),
|
||||||
|
ERRINFO_DEFINE(BAD_SUPPRESS_OUTPUT_PDU),
|
||||||
|
ERRINFO_DEFINE(CONFIRM_ACTIVE_PDU_TOO_SHORT),
|
||||||
|
ERRINFO_DEFINE(CAPABILITY_SET_TOO_SMALL),
|
||||||
|
ERRINFO_DEFINE(CAPABILITY_SET_TOO_LARGE),
|
||||||
|
ERRINFO_DEFINE(NO_CURSOR_CACHE),
|
||||||
|
ERRINFO_DEFINE(BAD_CAPABILITIES),
|
||||||
|
ERRINFO_DEFINE(VIRTUAL_CHANNEL_DECOMPRESSION),
|
||||||
|
ERRINFO_DEFINE(INVALID_VC_COMPRESSION_TYPE),
|
||||||
|
ERRINFO_DEFINE(INVALID_CHANNEL_ID),
|
||||||
|
ERRINFO_DEFINE(VCHANNELS_TOO_MANY),
|
||||||
|
ERRINFO_DEFINE(REMOTEAPP_NOT_ENABLED),
|
||||||
|
ERRINFO_DEFINE(CACHE_CAP_NOT_SET),
|
||||||
|
ERRINFO_DEFINE(BITMAP_CACHE_ERROR_PDU_BAD_LENGTH2),
|
||||||
|
ERRINFO_DEFINE(OFFSCREEN_CACHE_ERROR_PDU_BAD_LENGTH),
|
||||||
|
ERRINFO_DEFINE(DRAWNINEGRID_CACHE_ERROR_PDU_BAD_LENGTH),
|
||||||
|
ERRINFO_DEFINE(GDIPLUS_PDU_BAD_LENGTH),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT2),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT3),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT4),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT5),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT6),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT7),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT8),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT9),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT10),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT11),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT12),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT13),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT14),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT15),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT16),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT17),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT18),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT19),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT20),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT21),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT22),
|
||||||
|
ERRINFO_DEFINE(SECURITY_DATA_TOO_SHORT23),
|
||||||
|
ERRINFO_DEFINE(BAD_MONITOR_DATA),
|
||||||
|
ERRINFO_DEFINE(VC_DECOMPRESSED_REASSEMBLE_FAILED),
|
||||||
|
ERRINFO_DEFINE(VC_DATA_TOO_LONG),
|
||||||
|
ERRINFO_DEFINE(GRAPHICS_MODE_NOT_SUPPORTED),
|
||||||
|
ERRINFO_DEFINE(GRAPHICS_SUBSYSTEM_RESET_FAILED),
|
||||||
|
ERRINFO_DEFINE(UPDATE_SESSION_KEY_FAILED),
|
||||||
|
ERRINFO_DEFINE(DECRYPT_FAILED),
|
||||||
|
ERRINFO_DEFINE(ENCRYPT_FAILED),
|
||||||
|
ERRINFO_DEFINE(ENCRYPTION_PACKAGE_MISMATCH),
|
||||||
|
ERRINFO_DEFINE(DECRYPT_FAILED2),
|
||||||
|
|
||||||
|
ERRINFO_DEFINE(NONE)
|
||||||
|
};
|
||||||
|
|
||||||
|
void rdp_print_errinfo(uint32 code)
|
||||||
|
{
|
||||||
|
ERRINFO* errInfo;
|
||||||
|
|
||||||
|
errInfo = &ERRINFO_CODES[0];
|
||||||
|
|
||||||
|
while (errInfo->code != ERRINFO_NONE)
|
||||||
|
{
|
||||||
|
if (code == errInfo->code)
|
||||||
|
{
|
||||||
|
printf("%s (0x%08X):\n%s\n", errInfo->name, code, errInfo->info);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
errInfo++;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("ERRINFO_UNKNOWN 0x%08X: Unknown error.\n", code);
|
||||||
|
}
|
||||||
|
|
136
libfreerdp-core/errinfo.h
Normal file
136
libfreerdp-core/errinfo.h
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
/**
|
||||||
|
* FreeRDP: A Remote Desktop Protocol Client
|
||||||
|
* Error Info
|
||||||
|
*
|
||||||
|
* Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __ERRINFO_H
|
||||||
|
#define __ERRINFO_H
|
||||||
|
|
||||||
|
#include <freerdp/freerdp.h>
|
||||||
|
|
||||||
|
/* Protocol-independent codes */
|
||||||
|
#define ERRINFO_RPC_INITIATED_DISCONNECT 0x00000001
|
||||||
|
#define ERRINFO_RPC_INITIATED_LOGOFF 0x00000002
|
||||||
|
#define ERRINFO_IDLE_TIMEOUT 0x00000003
|
||||||
|
#define ERRINFO_LOGON_TIMEOUT 0x00000004
|
||||||
|
#define ERRINFO_DISCONNECTED_BY_OTHER_CONNECTION 0x00000005
|
||||||
|
#define ERRINFO_OUT_OF_MEMORY 0x00000006
|
||||||
|
#define ERRINFO_SERVER_DENIED_CONNECTION 0x00000007
|
||||||
|
#define ERRINFO_SERVER_INSUFFICIENT_PRIVILEGES 0x00000008
|
||||||
|
#define ERRINFO_SERVER_FRESH_CREDENTIALS_REQUIRED 0x0000000A
|
||||||
|
#define ERRINFO_RPC_INITIATED_DISCONNECT_BY_USER 0x0000000B
|
||||||
|
|
||||||
|
/* Protocol-independent licensing codes */
|
||||||
|
#define ERRINFO_LICENSE_INTERNAL 0x00000100
|
||||||
|
#define ERRINFO_LICENSE_NO_LICENSE_SERVER 0x00000101
|
||||||
|
#define ERRINFO_LICENSE_NO_LICENSE 0x00000102
|
||||||
|
#define ERRINFO_LICENSE_BAD_CLIENT_MSG 0x00000103
|
||||||
|
#define ERRINFO_LICENSE_HWID_DOESNT_MATCH_LICENSE 0x00000104
|
||||||
|
#define ERRINFO_LICENSE_BAD_CLIENT_LICENSE 0x00000105
|
||||||
|
#define ERRINFO_LICENSE_CANT_FINISH_PROTOCOL 0x00000106
|
||||||
|
#define ERRINFO_LICENSE_CLIENT_ENDED_PROTOCOL 0x00000107
|
||||||
|
#define ERRINFO_LICENSE_BAD_CLIENT_ENCRYPTION 0x00000108
|
||||||
|
#define ERRINFO_LICENSE_CANT_UPGRADE_LICENSE 0x00000109
|
||||||
|
#define ERRINFO_LICENSE_NO_REMOTE_CONNECTIONS 0x0000010A
|
||||||
|
|
||||||
|
/* RDP specific codes */
|
||||||
|
#define ERRINFO_UNKNOWN_DATA_PDU_TYPE 0x000010C9
|
||||||
|
#define ERRINFO_UNKNOWN_PDU_TYPE 0x000010CA
|
||||||
|
#define ERRINFO_DATA_PDU_SEQUENCE 0x000010CB
|
||||||
|
#define ERRINFO_CONTROL_PDU_SEQUENCE 0x000010CD
|
||||||
|
#define ERRINFO_INVALID_CONTROL_PDU_ACTION 0x000010CE
|
||||||
|
#define ERRINFO_INVALID_INPUT_PDU_TYPE 0x000010CF
|
||||||
|
#define ERRINFO_INVALID_INPUT_PDU_MOUSE 0x000010D0
|
||||||
|
#define ERRINFO_INVALID_REFRESH_RECT_PDU 0x000010D1
|
||||||
|
#define ERRINFO_CREATE_USER_DATA_FAILED 0x000010D2
|
||||||
|
#define ERRINFO_CONNECT_FAILED 0x000010D3
|
||||||
|
#define ERRINFO_CONFIRM_ACTIVE_HAS_WRONG_SHAREID 0x000010D4
|
||||||
|
#define ERRINFO_CONFIRM_ACTIVE_HAS_WRONG_ORIGINATOR 0x000010D5
|
||||||
|
#define ERRINFO_PERSISTENT_KEY_PDU_BAD_LENGTH 0x000010DA
|
||||||
|
#define ERRINFO_PERSISTENT_KEY_PDU_ILLEGAL_FIRST 0x000010DB
|
||||||
|
#define ERRINFO_PERSISTENT_KEY_PDU_TOO_MANY_TOTAL_KEYS 0x000010DC
|
||||||
|
#define ERRINFO_PERSISTENT_KEY_PDU_TOO_MANY_CACHE_KEYS 0x000010DD
|
||||||
|
#define ERRINFO_INPUT_PDU_BAD_LENGTH 0x000010DE
|
||||||
|
#define ERRINFO_BITMAP_CACHE_ERROR_PDU_BAD_LENGTH 0x000010DF
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT 0x000010E0
|
||||||
|
#define ERRINFO_VCHANNEL_DATA_TOO_SHORT 0x000010E1
|
||||||
|
#define ERRINFO_SHARE_DATA_TOO_SHORT 0x000010E2
|
||||||
|
#define ERRINFO_BAD_SUPPRESS_OUTPUT_PDU 0x000010E3
|
||||||
|
#define ERRINFO_CONFIRM_ACTIVE_PDU_TOO_SHORT 0x000010E5
|
||||||
|
#define ERRINFO_CAPABILITY_SET_TOO_SMALL 0x000010E7
|
||||||
|
#define ERRINFO_CAPABILITY_SET_TOO_LARGE 0x000010E8
|
||||||
|
#define ERRINFO_NO_CURSOR_CACHE 0x000010E9
|
||||||
|
#define ERRINFO_BAD_CAPABILITIES 0x000010EA
|
||||||
|
#define ERRINFO_VIRTUAL_CHANNEL_DECOMPRESSION 0x000010EC
|
||||||
|
#define ERRINFO_INVALID_VC_COMPRESSION_TYPE 0x000010ED
|
||||||
|
#define ERRINFO_INVALID_CHANNEL_ID 0x000010EF
|
||||||
|
#define ERRINFO_VCHANNELS_TOO_MANY 0x000010F0
|
||||||
|
#define ERRINFO_REMOTEAPP_NOT_ENABLED 0x000010F3
|
||||||
|
#define ERRINFO_CACHE_CAP_NOT_SET 0x000010F4
|
||||||
|
#define ERRINFO_BITMAP_CACHE_ERROR_PDU_BAD_LENGTH2 0x000010F5
|
||||||
|
#define ERRINFO_OFFSCREEN_CACHE_ERROR_PDU_BAD_LENGTH 0x000010F6
|
||||||
|
#define ERRINFO_DRAWNINEGRID_CACHE_ERROR_PDU_BAD_LENGTH 0x000010F7
|
||||||
|
#define ERRINFO_GDIPLUS_PDU_BAD_LENGTH 0x000010F8
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT2 0x00001111
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT3 0x00001112
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT4 0x00001113
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT5 0x00001114
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT6 0x00001115
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT7 0x00001116
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT8 0x00001117
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT9 0x00001118
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT10 0x00001119
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT11 0x0000111A
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT12 0x0000111B
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT13 0x0000111C
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT14 0x0000111D
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT15 0x0000111E
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT16 0x0000111F
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT17 0x00001120
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT18 0x00001121
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT19 0x00001122
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT20 0x00001123
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT21 0x00001124
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT22 0x00001125
|
||||||
|
#define ERRINFO_SECURITY_DATA_TOO_SHORT23 0x00001126
|
||||||
|
#define ERRINFO_BAD_MONITOR_DATA 0x00001129
|
||||||
|
#define ERRINFO_VC_DECOMPRESSED_REASSEMBLE_FAILED 0x0000112A
|
||||||
|
#define ERRINFO_VC_DATA_TOO_LONG 0x0000112B
|
||||||
|
#define ERRINFO_GRAPHICS_MODE_NOT_SUPPORTED 0x0000112D
|
||||||
|
#define ERRINFO_GRAPHICS_SUBSYSTEM_RESET_FAILED 0x0000112E
|
||||||
|
#define ERRINFO_UPDATE_SESSION_KEY_FAILED 0x00001191
|
||||||
|
#define ERRINFO_DECRYPT_FAILED 0x00001192
|
||||||
|
#define ERRINFO_ENCRYPT_FAILED 0x00001193
|
||||||
|
#define ERRINFO_ENCRYPTION_PACKAGE_MISMATCH 0x00001194
|
||||||
|
#define ERRINFO_DECRYPT_FAILED2 0x00001195
|
||||||
|
|
||||||
|
#define ERRINFO_SUCCESS 0x00000000
|
||||||
|
#define ERRINFO_NONE 0xFFFFFFFF
|
||||||
|
|
||||||
|
struct _ERRINFO
|
||||||
|
{
|
||||||
|
uint32 code;
|
||||||
|
char* name;
|
||||||
|
char* info;
|
||||||
|
};
|
||||||
|
typedef struct _ERRINFO ERRINFO;
|
||||||
|
|
||||||
|
#define ERRINFO_DEFINE(_code) { ERRINFO_##_code , "ERRINFO_" #_code , ERRINFO_##_code##_STRING }
|
||||||
|
|
||||||
|
void rdp_print_errinfo(uint32 code);
|
||||||
|
|
||||||
|
#endif
|
@ -19,6 +19,24 @@
|
|||||||
|
|
||||||
#include "license.h"
|
#include "license.h"
|
||||||
|
|
||||||
|
uint8 LICENSE_MESSAGE_STRINGS[][32] =
|
||||||
|
{
|
||||||
|
"",
|
||||||
|
"License Request",
|
||||||
|
"Platform Challenge",
|
||||||
|
"New License",
|
||||||
|
"Upgrade License",
|
||||||
|
"", "", "", "", "", "",
|
||||||
|
"", "", "", "", "", "",
|
||||||
|
"",
|
||||||
|
"License Info",
|
||||||
|
"New License Request",
|
||||||
|
"",
|
||||||
|
"Platform Challenge Response",
|
||||||
|
"", "", "", "", "", "", "", "", "",
|
||||||
|
"Error Alert"
|
||||||
|
};
|
||||||
|
|
||||||
uint8 error_codes[][32] =
|
uint8 error_codes[][32] =
|
||||||
{
|
{
|
||||||
"ERR_UNKNOWN",
|
"ERR_UNKNOWN",
|
||||||
@ -134,6 +152,8 @@ void license_send(rdpLicense* license, STREAM* s, uint8 type)
|
|||||||
uint16 wMsgSize;
|
uint16 wMsgSize;
|
||||||
uint16 sec_flags;
|
uint16 sec_flags;
|
||||||
|
|
||||||
|
DEBUG_LICENSE("Sending %s Packet", LICENSE_MESSAGE_STRINGS[type & 0x1F]);
|
||||||
|
|
||||||
length = stream_get_length(s);
|
length = stream_get_length(s);
|
||||||
stream_set_pos(s, 0);
|
stream_set_pos(s, 0);
|
||||||
|
|
||||||
@ -164,6 +184,8 @@ void license_recv(rdpLicense* license, STREAM* s)
|
|||||||
|
|
||||||
license_read_preamble(s, &bMsgType, &flags, &wMsgSize); /* preamble (4 bytes) */
|
license_read_preamble(s, &bMsgType, &flags, &wMsgSize); /* preamble (4 bytes) */
|
||||||
|
|
||||||
|
DEBUG_LICENSE("Receiving %s Packet", LICENSE_MESSAGE_STRINGS[bMsgType & 0x1F]);
|
||||||
|
|
||||||
switch (bMsgType)
|
switch (bMsgType)
|
||||||
{
|
{
|
||||||
case LICENSE_REQUEST:
|
case LICENSE_REQUEST:
|
||||||
@ -503,8 +525,6 @@ void license_free_scope_list(SCOPE_LIST* scopeList)
|
|||||||
|
|
||||||
void license_read_license_request_packet(rdpLicense* license, STREAM* s)
|
void license_read_license_request_packet(rdpLicense* license, STREAM* s)
|
||||||
{
|
{
|
||||||
DEBUG_LICENSE("Receiving License Request Packet");
|
|
||||||
|
|
||||||
/* ServerRandom (32 bytes) */
|
/* ServerRandom (32 bytes) */
|
||||||
stream_read(s, license->server_random, 32);
|
stream_read(s, license->server_random, 32);
|
||||||
|
|
||||||
@ -668,7 +688,6 @@ void license_send_new_license_request_packet(rdpLicense* license)
|
|||||||
STREAM* s;
|
STREAM* s;
|
||||||
|
|
||||||
s = license_send_stream_init(license);
|
s = license_send_stream_init(license);
|
||||||
DEBUG_LICENSE("Sending New License Request Packet");
|
|
||||||
|
|
||||||
license->client_user_name->data = (uint8*)license->rdp->settings->username;
|
license->client_user_name->data = (uint8*)license->rdp->settings->username;
|
||||||
license->client_user_name->length = strlen((char*)license->rdp->settings->username);
|
license->client_user_name->length = strlen((char*)license->rdp->settings->username);
|
||||||
|
@ -196,6 +196,8 @@ void license_send_platform_challenge_response_packet(rdpLicense* license);
|
|||||||
rdpLicense* license_new(rdpRdp* rdp);
|
rdpLicense* license_new(rdpRdp* rdp);
|
||||||
void license_free(rdpLicense* license);
|
void license_free(rdpLicense* license);
|
||||||
|
|
||||||
|
#define WITH_DEBUG_LICENSE
|
||||||
|
|
||||||
#ifdef WITH_DEBUG_LICENSE
|
#ifdef WITH_DEBUG_LICENSE
|
||||||
#define DEBUG_LICENSE(fmt, ...) DEBUG_CLASS(LICENSE, fmt, ## __VA_ARGS__)
|
#define DEBUG_LICENSE(fmt, ...) DEBUG_CLASS(LICENSE, fmt, ## __VA_ARGS__)
|
||||||
#else
|
#else
|
||||||
|
@ -245,8 +245,8 @@ void rdp_read_set_error_info_data_pdu(STREAM* s)
|
|||||||
|
|
||||||
stream_read_uint32(s, errorInfo); /* errorInfo (4 bytes) */
|
stream_read_uint32(s, errorInfo); /* errorInfo (4 bytes) */
|
||||||
|
|
||||||
if (errorInfo != 0)
|
if (errorInfo != ERRINFO_SUCCESS)
|
||||||
printf("Error Info: 0x%08X\n", errorInfo);
|
rdp_print_errinfo(errorInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
void rdp_read_data_pdu(rdpRdp* rdp, STREAM* s)
|
void rdp_read_data_pdu(rdpRdp* rdp, STREAM* s)
|
||||||
@ -359,6 +359,7 @@ void rdp_process_pdu(rdpRdp* rdp, STREAM* s)
|
|||||||
uint16 initiator;
|
uint16 initiator;
|
||||||
uint16 channelId;
|
uint16 channelId;
|
||||||
uint16 sec_flags;
|
uint16 sec_flags;
|
||||||
|
boolean processed;
|
||||||
enum DomainMCSPDU MCSPDU;
|
enum DomainMCSPDU MCSPDU;
|
||||||
|
|
||||||
/* TODO: Check Fast Path header */
|
/* TODO: Check Fast Path header */
|
||||||
@ -373,6 +374,7 @@ void rdp_process_pdu(rdpRdp* rdp, STREAM* s)
|
|||||||
|
|
||||||
if (rdp->licensed != True)
|
if (rdp->licensed != True)
|
||||||
{
|
{
|
||||||
|
processed = False;
|
||||||
rdp_read_security_header(s, &sec_flags);
|
rdp_read_security_header(s, &sec_flags);
|
||||||
|
|
||||||
if (sec_flags & SEC_PKT_MASK)
|
if (sec_flags & SEC_PKT_MASK)
|
||||||
@ -380,20 +382,27 @@ void rdp_process_pdu(rdpRdp* rdp, STREAM* s)
|
|||||||
switch (sec_flags & SEC_PKT_MASK)
|
switch (sec_flags & SEC_PKT_MASK)
|
||||||
{
|
{
|
||||||
case SEC_LICENSE_PKT:
|
case SEC_LICENSE_PKT:
|
||||||
|
processed = True;
|
||||||
license_recv(rdp->license, s);
|
license_recv(rdp->license, s);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SEC_REDIRECTION_PKT:
|
case SEC_REDIRECTION_PKT:
|
||||||
|
processed = True;
|
||||||
rdp_read_redirection_packet(rdp, s);
|
rdp_read_redirection_packet(rdp, s);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
//printf("incorrect security flags: 0x%04X\n", sec_flags);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (processed)
|
||||||
|
return;
|
||||||
|
else
|
||||||
|
stream_rewind(s, 4);
|
||||||
}
|
}
|
||||||
else if (channelId != MCS_GLOBAL_CHANNEL_ID)
|
|
||||||
|
if (channelId != MCS_GLOBAL_CHANNEL_ID)
|
||||||
{
|
{
|
||||||
vchan_process(rdp->vchan, s, channelId);
|
vchan_process(rdp->vchan, s, channelId);
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,7 @@ typedef struct rdp_rdp rdpRdp;
|
|||||||
#include "input.h"
|
#include "input.h"
|
||||||
#include "update.h"
|
#include "update.h"
|
||||||
#include "license.h"
|
#include "license.h"
|
||||||
|
#include "errinfo.h"
|
||||||
#include "security.h"
|
#include "security.h"
|
||||||
#include "registry.h"
|
#include "registry.h"
|
||||||
#include "transport.h"
|
#include "transport.h"
|
||||||
@ -110,98 +111,6 @@ typedef struct rdp_rdp rdpRdp;
|
|||||||
#define STREAM_MED 0x02
|
#define STREAM_MED 0x02
|
||||||
#define STREAM_HI 0x04
|
#define STREAM_HI 0x04
|
||||||
|
|
||||||
/* Error Info Codes */
|
|
||||||
#define ERRINFO_RPC_INITIATED_DISCONNECT 0x00000001
|
|
||||||
#define ERRINFO_RPC_INITIATED_LOGOFF 0x00000002
|
|
||||||
#define ERRINFO_IDLE_TIMEOUT 0x00000003
|
|
||||||
#define ERRINFO_LOGON_TIMEOUT 0x00000004
|
|
||||||
#define ERRINFO_DISCONNECTED_BY_OTHER_CONNECTION 0x00000005
|
|
||||||
#define ERRINFO_OUT_OF_MEMORY 0x00000006
|
|
||||||
#define ERRINFO_SERVER_DENIED_CONNECTION 0x00000007
|
|
||||||
#define ERRINFO_SERVER_INSUFFICIENT_PRIVILEGES 0x00000008
|
|
||||||
#define ERRINFO_SERVER_FRESH_CREDENTIALS_REQUIRED 0x0000000A
|
|
||||||
#define ERRINFO_RPC_INITIATED_DISCONNECT_BY_USER 0x0000000B
|
|
||||||
#define ERRINFO_LICENSE_INTERNAL 0x00000100
|
|
||||||
#define ERRINFO_LICENSE_NO_LICENSE_SERVER 0x00000101
|
|
||||||
#define ERRINFO_LICENSE_NO_LICENSE 0x00000102
|
|
||||||
#define ERRINFO_LICENSE_BAD_CLIENT_MSG 0x00000103
|
|
||||||
#define ERRINFO_LICENSE_HWID_DOESNT_MATCH_LICENSE 0x00000104
|
|
||||||
#define ERRINFO_LICENSE_BAD_CLIENT_LICENSE 0x00000105
|
|
||||||
#define ERRINFO_LICENSE_CANT_FINISH_PROTOCOL 0x00000106
|
|
||||||
#define ERRINFO_LICENSE_CLIENT_ENDED_PROTOCOL 0x00000107
|
|
||||||
#define ERRINFO_LICENSE_BAD_CLIENT_ENCRYPTION 0x00000108
|
|
||||||
#define ERRINFO_LICENSE_CANT_UPGRADE_LICENSE 0x00000109
|
|
||||||
#define ERRINFO_LICENSE_NO_REMOTE_CONNECTIONS 0x0000010A
|
|
||||||
#define ERRINFO_UNKNOWN_DATA_PDU_TYPE 0x000010C9
|
|
||||||
#define ERRINFO_UNKNOWN_PDU_TYPE 0x000010CA
|
|
||||||
#define ERRINFO_DATA_PDU_SEQUENCE 0x000010CB
|
|
||||||
#define ERRINFO_CONTROL_PDU_SEQUENCE 0x000010CD
|
|
||||||
#define ERRINFO_INVALID_CONTROL_PDU_ACTION 0x000010CE
|
|
||||||
#define ERRINFO_INVALID_INPUT_PDU_TYPE 0x000010CF
|
|
||||||
#define ERRINFO_INVALID_INPUT_PDU_MOUSE 0x000010D0
|
|
||||||
#define ERRINFO_INVALID_REFRESH_RECT_PDU 0x000010D1
|
|
||||||
#define ERRINFO_CREATE_USER_DATA_FAILED 0x000010D2
|
|
||||||
#define ERRINFO_CONNECT_FAILED 0x000010D3
|
|
||||||
#define ERRINFO_CONFIRM_ACTIVE_HAS_WRONG_SHAREID 0x000010D4
|
|
||||||
#define ERRINFO_CONFIRM_ACTIVE_HAS_WRONG_ORIGINATOR 0x000010D5
|
|
||||||
#define ERRINFO_PERSISTENT_KEY_PDU_BAD_LENGTH 0x000010DA
|
|
||||||
#define ERRINFO_PERSISTENT_KEY_PDU_ILLEGAL_FIRST 0x000010DB
|
|
||||||
#define ERRINFO_PERSISTENT_KEY_PDU_TOO_MANY_TOTAL_KEYS 0x000010DC
|
|
||||||
#define ERRINFO_PERSISTENT_KEY_PDU_TOO_MANY_CACHE_KEYS 0x000010DD
|
|
||||||
#define ERRINFO_INPUT_PDU_BAD_LENGTH 0x000010DE
|
|
||||||
#define ERRINFO_BITMAP_CACHE_ERROR_PDU_BAD_LENGTH 0x000010DF
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT 0x000010E0
|
|
||||||
#define ERRINFO_VCHANNEL_DATA_TOO_SHORT 0x000010E1
|
|
||||||
#define ERRINFO_SHARE_DATA_TOO_SHORT 0x000010E2
|
|
||||||
#define ERRINFO_BAD_SUPPRESS_OUTPUT_PDU 0x000010E3
|
|
||||||
#define ERRINFO_CONFIRM_ACTIVE_PDU_TOO_SHORT 0x000010E5
|
|
||||||
#define ERRINFO_CAPABILITY_SET_TOO_SMALL 0x000010E7
|
|
||||||
#define ERRINFO_CAPABILITY_SET_TOO_LARGE 0x000010E8
|
|
||||||
#define ERRINFO_NO_CURSOR_CACHE 0x000010E9
|
|
||||||
#define ERRINFO_BAD_CAPABILITIES 0x000010EA
|
|
||||||
#define ERRINFO_VIRTUAL_CHANNEL_DECOMPRESSION 0x000010EC
|
|
||||||
#define ERRINFO_INVALID_VC_COMPRESSION_TYPE 0x000010ED
|
|
||||||
#define ERRINFO_INVALID_CHANNEL_ID 0x000010EF
|
|
||||||
#define ERRINFO_VCHANNELS_TOO_MANY 0x000010F0
|
|
||||||
#define ERRINFO_REMOTEAPP_NOT_ENABLED 0x000010F3
|
|
||||||
#define ERRINFO_CACHE_CAP_NOT_SET 0x000010F4
|
|
||||||
#define ERRINFO_BITMAP_CACHE_ERROR_PDU_BAD_LENGTH2 0x000010F5
|
|
||||||
#define ERRINFO_OFFSCREEN_CACHE_ERROR_PDU_BAD_LENGTH 0x000010F6
|
|
||||||
#define ERRINFO_DRAWNINEGRID_CACHE_ERROR_PDU_BAD_LENGTH 0x000010F7
|
|
||||||
#define ERRINFO_GDI_PLUS_PDU_BAD_LENGTH 0x000010F8
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT2 0x00001111
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT3 0x00001112
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT4 0x00001113
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT5 0x00001114
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT6 0x00001115
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT7 0x00001116
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT8 0x00001117
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT9 0x00001118
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT10 0x00001119
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT11 0x0000111A
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT12 0x0000111B
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT13 0x0000111C
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT14 0x0000111D
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT15 0x0000111E
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT16 0x0000111F
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT17 0x00001120
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT18 0x00001121
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT19 0x00001122
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT20 0x00001123
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT21 0x00001124
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT22 0x00001125
|
|
||||||
#define ERRINFO_SECURITY_DATA_TOO_SHORT23 0x00001126
|
|
||||||
#define ERRINFO_BAD_MONITOR_DATA 0x00001129
|
|
||||||
#define ERRINFO_VC_DECOMPRESSED_REASSEMBLE_FAILED 0x0000112A
|
|
||||||
#define ERRINFO_VC_DATA_TOO_LONG 0x0000112B
|
|
||||||
#define ERRINFO_GRAPHICS_MODE_NOT_SUPPORTED 0x0000112D
|
|
||||||
#define ERRINFO_GRAPHICS_SUBSYSTEM_RESET_FAILED 0x0000112E
|
|
||||||
#define ERRINFO_UPDATE_SESSION_KEY_FAILED 0x00001191
|
|
||||||
#define ERRINFO_DECRYPT_FAILED 0x00001192
|
|
||||||
#define ERRINFO_ENCRYPT_FAILED 0x00001193
|
|
||||||
#define ERRINFO_ENCRYPTION_PACKAGE_MISMATCH 0x00001194
|
|
||||||
#define ERRINFO_DECRYPT_FAILED2 0x00001195
|
|
||||||
|
|
||||||
struct rdp_rdp
|
struct rdp_rdp
|
||||||
{
|
{
|
||||||
boolean licensed;
|
boolean licensed;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user