This patch adds the handling of basic NTLM commands. Because there's some mysterious
4 zero bytes after pickle header in Kerberos packets, not present in NTLM commands, the
patch also had to rework a bit the packet parsing / forging.
The patch also addresses a server-side bug when parsing supplemental creds, if the client
was sending an empty list, we were considering this as an error.
And finally we also implement the parsing of MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL.
This breaks the public API, anyway this was basically unused (as not parsed before) and
the previous API was wrong as what we receive is MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL
not MSV1_0_SUPPLEMENTAL_CREDENTIAL, so I guess the API breakage is ok.
* Add FreeRDPGetColorFromatFromName to get a PIXEL_FORMAT from a given
string.
* Add a unit test to ensure FreeRDPGetColorFromatFromName and
FreeRDPGetColorFormatName work as expected
* Make freerdp_interruptible_getc nonblocking so each typed char is
returned
* Handle ctrl+[cdz] in freerdp_interruptible_getc so the function can be
aborted by a user
* Handle simple input edit in freerdp_interruptible_get_line (delete
characters, provide a suggested value)
Sometimes it is required to have raw values from a RDP file converted to
rdpSettings without consistency modifications. Expose this with a new
function.
* Move code to client/common to have it in place for all clients without
modification
* Remember if a button was pressed and only suppress move events if no
button is pressed.
To allow client-common library to override the GetAccessToken callback
introduce a new GetCommonAccessToken callback.
This callback defaults to call the existing GetAccessToken callback, but
client-common library can override if desired, so that a common token
retrieval method is executed before a client UI is invoked.
* Add RdpdrClientContext to OnChannelConnectedEventHandler
* Expose device register/unregister in RdpdrClientContext
* Expose device hotplug poll function in RdpdrClientContext
Do not deprecate the functions to read an unencrypted key from file or
PEM. While the extended versions of the function now exist these still
have their use.
GCC does not like declaring a function deprecated and using it with
attribute malloc. Redeclare the function deprecated after using it for
attribute malloc works around this.