errinfo.c: Cleanup global variables and strings.

This moves constant data into a read-only section and cuts around 7k out
of the resulting object code.
This commit is contained in:
Mike Gilbert 2011-11-29 20:00:27 -05:00
parent ac9d584de5
commit f176059921

View File

@ -21,314 +21,314 @@
/* Protocol-independent codes */ /* Protocol-independent codes */
char ERRINFO_RPC_INITIATED_DISCONNECT_STRING[] = #define ERRINFO_RPC_INITIATED_DISCONNECT_STRING \
"The disconnection was initiated by an administrative tool on the server in another session."; "The disconnection was initiated by an administrative tool on the server in another session."
char ERRINFO_RPC_INITIATED_LOGOFF_STRING[] = #define ERRINFO_RPC_INITIATED_LOGOFF_STRING \
"The disconnection was due to a forced logoff initiated by an administrative tool on the server in another session."; "The disconnection was due to a forced logoff initiated by an administrative tool on the server in another session."
char ERRINFO_IDLE_TIMEOUT_STRING[] = #define ERRINFO_IDLE_TIMEOUT_STRING \
"The idle session limit timer on the server has elapsed."; "The idle session limit timer on the server has elapsed."
char ERRINFO_LOGON_TIMEOUT_STRING[] = #define ERRINFO_LOGON_TIMEOUT_STRING \
"The active session limit timer on the server has elapsed."; "The active session limit timer on the server has elapsed."
char ERRINFO_DISCONNECTED_BY_OTHER_CONNECTION_STRING[] = #define ERRINFO_DISCONNECTED_BY_OTHER_CONNECTION_STRING \
"Another user connected to the server, forcing the disconnection of the current connection."; "Another user connected to the server, forcing the disconnection of the current connection."
char ERRINFO_OUT_OF_MEMORY_STRING[] = #define ERRINFO_OUT_OF_MEMORY_STRING \
"The server ran out of available memory resources."; "The server ran out of available memory resources."
char ERRINFO_SERVER_DENIED_CONNECTION_STRING[] = #define ERRINFO_SERVER_DENIED_CONNECTION_STRING \
"The server denied the connection."; "The server denied the connection."
char ERRINFO_SERVER_INSUFFICIENT_PRIVILEGES_STRING[] = #define ERRINFO_SERVER_INSUFFICIENT_PRIVILEGES_STRING \
"The user cannot connect to the server due to insufficient access privileges."; "The user cannot connect to the server due to insufficient access privileges."
char ERRINFO_SERVER_FRESH_CREDENTIALS_REQUIRED_STRING[] = #define 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."; "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[] = #define ERRINFO_RPC_INITIATED_DISCONNECT_BY_USER_STRING \
"The disconnection was initiated by an administrative tool on the server running in the user's session."; "The disconnection was initiated by an administrative tool on the server running in the user's session."
/* Protocol-independent licensing codes */ /* Protocol-independent licensing codes */
char ERRINFO_LICENSE_INTERNAL_STRING[] = #define ERRINFO_LICENSE_INTERNAL_STRING \
"An internal error has occurred in the Terminal Services licensing component."; "An internal error has occurred in the Terminal Services licensing component."
char ERRINFO_LICENSE_NO_LICENSE_SERVER_STRING[] = #define ERRINFO_LICENSE_NO_LICENSE_SERVER_STRING \
"A Remote Desktop License Server ([MS-RDPELE] section 1.1) could not be found to provide a license."; "A Remote Desktop License Server ([MS-RDPELE] section 1.1) could not be found to provide a license."
char ERRINFO_LICENSE_NO_LICENSE_STRING[] = #define ERRINFO_LICENSE_NO_LICENSE_STRING \
"There are no Client Access Licenses ([MS-RDPELE] section 1.1) available for the target remote computer."; "There are no Client Access Licenses ([MS-RDPELE] section 1.1) available for the target remote computer."
char ERRINFO_LICENSE_BAD_CLIENT_MSG_STRING[] = #define ERRINFO_LICENSE_BAD_CLIENT_MSG_STRING \
"The remote computer received an invalid licensing message from the client."; "The remote computer received an invalid licensing message from the client."
char ERRINFO_LICENSE_HWID_DOESNT_MATCH_LICENSE_STRING[] = #define ERRINFO_LICENSE_HWID_DOESNT_MATCH_LICENSE_STRING \
"The Client Access License ([MS-RDPELE] section 1.1) stored by the client has been modified."; "The Client Access License ([MS-RDPELE] section 1.1) stored by the client has been modified."
char ERRINFO_LICENSE_BAD_CLIENT_LICENSE_STRING[] = #define ERRINFO_LICENSE_BAD_CLIENT_LICENSE_STRING \
"The Client Access License ([MS-RDPELE] section 1.1) stored by the client is in an invalid format."; "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[] = #define ERRINFO_LICENSE_CANT_FINISH_PROTOCOL_STRING \
"Network problems have caused the licensing protocol ([MS-RDPELE] section 1.3.3) to be terminated."; "Network problems have caused the licensing protocol ([MS-RDPELE] section 1.3.3) to be terminated."
char ERRINFO_LICENSE_CLIENT_ENDED_PROTOCOL_STRING[] = #define ERRINFO_LICENSE_CLIENT_ENDED_PROTOCOL_STRING \
"The client prematurely ended the licensing protocol ([MS-RDPELE] section 1.3.3)."; "The client prematurely ended the licensing protocol ([MS-RDPELE] section 1.3.3)."
char ERRINFO_LICENSE_BAD_CLIENT_ENCRYPTION_STRING[] = #define ERRINFO_LICENSE_BAD_CLIENT_ENCRYPTION_STRING \
"A licensing message ([MS-RDPELE] sections 2.2 and 5.1) was incorrectly encrypted."; "A licensing message ([MS-RDPELE] sections 2.2 and 5.1) was incorrectly encrypted."
char ERRINFO_LICENSE_CANT_UPGRADE_LICENSE_STRING[] = #define 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."; "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[] = #define ERRINFO_LICENSE_NO_REMOTE_CONNECTIONS_STRING \
"The remote computer is not licensed to accept remote connections."; "The remote computer is not licensed to accept remote connections."
/* RDP specific codes */ /* RDP specific codes */
char ERRINFO_UNKNOWN_DATA_PDU_TYPE_STRING[] = #define ERRINFO_UNKNOWN_DATA_PDU_TYPE_STRING \
"Unknown pduType2 field in a received Share Data Header (section 2.2.8.1.1.1.2)."; "Unknown pduType2 field in a received Share Data Header (section 2.2.8.1.1.1.2)."
char ERRINFO_UNKNOWN_PDU_TYPE_STRING[] = #define ERRINFO_UNKNOWN_PDU_TYPE_STRING \
"Unknown pduType field in a received Share Control Header (section 2.2.8.1.1.1.1)."; "Unknown pduType field in a received Share Control Header (section 2.2.8.1.1.1.1)."
char ERRINFO_DATA_PDU_SEQUENCE_STRING[] = #define ERRINFO_DATA_PDU_SEQUENCE_STRING \
"An out-of-sequence Slow-Path Data PDU (section 2.2.8.1.1.1.1) has been received."; "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[] = #define 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."; "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[] = #define 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."; "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[] = #define 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" "(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."; "(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[] = #define 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 " "(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" "(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 " "(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."; "(section 2.2.8.1.2.2.4) has been received with an invalid pointerFlags field."
char ERRINFO_INVALID_REFRESH_RECT_PDU_STRING[] = #define ERRINFO_INVALID_REFRESH_RECT_PDU_STRING \
"An invalid Refresh Rect PDU (section 2.2.11.2) has been received."; "An invalid Refresh Rect PDU (section 2.2.11.2) has been received."
char ERRINFO_CREATE_USER_DATA_FAILED_STRING[] = #define ERRINFO_CREATE_USER_DATA_FAILED_STRING \
"The server failed to construct the GCC Conference Create Response user data (section 2.2.1.4)."; "The server failed to construct the GCC Conference Create Response user data (section 2.2.1.4)."
char ERRINFO_CONNECT_FAILED_STRING[] = #define ERRINFO_CONNECT_FAILED_STRING \
"Processing during the Channel Connection phase of the RDP Connection Sequence " "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."; "(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[] = #define 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."; "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[] = #define 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."; "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[] = #define ERRINFO_PERSISTENT_KEY_PDU_BAD_LENGTH_STRING \
"There is not enough data to process a Persistent Key List PDU (section 2.2.1.17)."; "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[] = #define 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 " "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."; "of a prior Persistent Key List PDU also marked as PERSIST_PDU_FIRST."
char ERRINFO_PERSISTENT_KEY_PDU_TOO_MANY_TOTAL_KEYS_STRING[] = #define 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."; "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[] = #define 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 " "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 " "(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)."; "(section 2.2.7.1.4) that is sent from client to server)."
char ERRINFO_INPUT_PDU_BAD_LENGTH_STRING[] = #define 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)."; "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[] = #define ERRINFO_BITMAP_CACHE_ERROR_PDU_BAD_LENGTH_STRING \
"There is not enough data to process the shareDataHeader, NumInfoBlocks, " "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)."; "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[] = #define 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" "(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."; "(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[] = #define 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" "(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)."; "(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[] = #define ERRINFO_SHARE_DATA_TOO_SHORT_STRING \
"(a) There is not enough data to process Control PDU Data (section 2.2.1.15.1).\n" "(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" "(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" "(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)."; "(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[] = #define 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" "(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."; "(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[] = #define ERRINFO_CONFIRM_ACTIVE_PDU_TOO_SHORT_STRING \
"(a) There is not enough data to read the shareControlHeader, shareId, originatorId, lengthSourceDescriptor, " "(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" "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 " "(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)."; "fields of the Confirm Active PDU Data (section 2.2.1.13.2.1)."
char ERRINFO_CAPABILITY_SET_TOO_SMALL_STRING[] = #define 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)."; "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[] = #define ERRINFO_CAPABILITY_SET_TOO_LARGE_STRING \
"A Capability Set (section 2.2.1.13.1.1.1) has been received with a lengthCapability " "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."; "field that contains a value greater than the total length of the data received."
char ERRINFO_NO_CURSOR_CACHE_STRING[] = #define 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" "(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."; "(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[] = #define 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."; "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[] = #define 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)"; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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) " "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."; "as the session on the remote server can only host remote applications."
char ERRINFO_CACHE_CAP_NOT_SET_STRING[] = #define 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 " "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)."; "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[] = #define 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 " "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)."; "Info field ([MS-RDPEGDI] section 2.2.2.3.1.1)."
char ERRINFO_OFFSCREEN_CACHE_ERROR_PDU_BAD_LENGTH_STRING[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define ERRINFO_SECURITY_DATA_TOO_SHORT5_STRING \
"There is not enough data to read the CodePage, flags, cbDomain, cbUserName, cbPassword, cbAlternateShell, " "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)."; "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[] = #define ERRINFO_SECURITY_DATA_TOO_SHORT6_STRING \
"There is not enough data to read the CodePage, flags, cbDomain, cbUserName, cbPassword, cbAlternateShell, " "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)."; "and cbWorkingDir fields in the Info Packet (section 2.2.1.11.1.1)."
char ERRINFO_SECURITY_DATA_TOO_SHORT7_STRING[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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 " "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."; "which is larger than the maximum allowed length of 128 bytes."
char ERRINFO_SECURITY_DATA_TOO_SHORT17_STRING[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define 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)."; "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[] = #define ERRINFO_SECURITY_DATA_TOO_SHORT23_STRING \
"There is not enough data to read the Client Info PDU Data (section 2.2.1.11.1)."; "There is not enough data to read the Client Info PDU Data (section 2.2.1.11.1)."
char ERRINFO_BAD_MONITOR_DATA_STRING[] = #define ERRINFO_BAD_MONITOR_DATA_STRING \
"The monitorCount field in the Client Monitor Data (section 2.2.1.3.6) is invalid."; "The monitorCount field in the Client Monitor Data (section 2.2.1.3.6) is invalid."
char ERRINFO_VC_DECOMPRESSED_REASSEMBLE_FAILED_STRING[] = #define ERRINFO_VC_DECOMPRESSED_REASSEMBLE_FAILED_STRING \
"The server-side decompression buffer is invalid, or the size of the decompressed VC data exceeds " "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)."; "the chunking size specified in the Virtual Channel Capability Set (section 2.2.7.1.10)."
char ERRINFO_VC_DATA_TOO_LONG_STRING[] = #define ERRINFO_VC_DATA_TOO_LONG_STRING \
"The size of a received Virtual Channel PDU (section 2.2.6.1) exceeds the chunking size specified " "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)."; "in the Virtual Channel Capability Set (section 2.2.7.1.10)."
char ERRINFO_GRAPHICS_MODE_NOT_SUPPORTED_STRING[] = #define ERRINFO_GRAPHICS_MODE_NOT_SUPPORTED_STRING \
"The graphics mode requested by the client is not supported by the server."; "The graphics mode requested by the client is not supported by the server."
char ERRINFO_GRAPHICS_SUBSYSTEM_RESET_FAILED_STRING[] = #define ERRINFO_GRAPHICS_SUBSYSTEM_RESET_FAILED_STRING \
"The server-side graphics subsystem failed to reset."; "The server-side graphics subsystem failed to reset."
char ERRINFO_UPDATE_SESSION_KEY_FAILED_STRING[] = #define ERRINFO_UPDATE_SESSION_KEY_FAILED_STRING \
"An attempt to update the session keys while using Standard RDP Security mechanisms (section 5.3.7) failed."; "An attempt to update the session keys while using Standard RDP Security mechanisms (section 5.3.7) failed."
char ERRINFO_DECRYPT_FAILED_STRING[] = #define ERRINFO_DECRYPT_FAILED_STRING \
"(a) Decryption using Standard RDP Security mechanisms (section 5.3.6) failed.\n" "(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."; "(b) Session key creation using Standard RDP Security mechanisms (section 5.3.5) failed."
char ERRINFO_ENCRYPT_FAILED_STRING[] = #define ERRINFO_ENCRYPT_FAILED_STRING \
"Encryption using Standard RDP Security mechanisms (section 5.3.6) failed."; "Encryption using Standard RDP Security mechanisms (section 5.3.6) failed."
char ERRINFO_ENCRYPTION_PACKAGE_MISMATCH_STRING[] = #define 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)."; "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[] = #define 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)."; "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 */ /* Special codes */
char ERRINFO_SUCCESS_STRING[] = "Success."; #define ERRINFO_SUCCESS_STRING "Success."
char ERRINFO_NONE_STRING[] = ""; #define ERRINFO_NONE_STRING ""
ERRINFO ERRINFO_CODES[] = static const ERRINFO ERRINFO_CODES[] =
{ {
ERRINFO_DEFINE(SUCCESS), ERRINFO_DEFINE(SUCCESS),
@ -433,7 +433,7 @@ ERRINFO ERRINFO_CODES[] =
void rdp_print_errinfo(uint32 code) void rdp_print_errinfo(uint32 code)
{ {
ERRINFO* errInfo; const ERRINFO* errInfo;
errInfo = &ERRINFO_CODES[0]; errInfo = &ERRINFO_CODES[0];