* fix libusb libusb_device usage (manually unref required usb devices, versus freeing all when we still hold references to the ones we want)
* disabled detach_kernel_driver & attach_kernel_driver on win32 since libusb does not support them
* fixed libusb async event handling
* add log for transfer request error
* Update libusb_udevice.c
* refactor code
* NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED and NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED
* Problem with clients not supporting NTLMSSP_NEGOTIATE_LM_KEY
* Improve logging
(cherry picked from commit 3c657d58cd)
Added a WinPR macro that can be used for WinPR and FreeRDP to
replace standard C assert.
It is more verbose and logs issues to WLog which makes it easier
for us to trace problems in the field.
(cherry picked from commit b435e6db9b)
Connections with windows 2016 and 2019 sometimes receive short
frame marker. Ignore these to prevent disconnects
(cherry picked from commit 91ef44ed35)
If no arguments are supplied, default to the behaviour of
/network:auto. This ensures the default experience is using the
best available graphics options.
As soon as any /network, /bpp, /rfx, /gfx, ... argument is used
only use these.
(cherry picked from commit d3168a1436)
If freerdp_abort_connect is called, set FREERDP_ERROR_CONNECT_CANCELLED
This way freerdp_reconnect can distinguish between network issues and
user interaction and abort a retry attempt.
(cherry picked from commit a6b42ff6c9)
When the server supports the protocol version RDPINPUT_PROTOCOL_V300,
the additional supportedFeatures field will be present.
The pduLength in the RDPINPUT_HEADER should, however, reflect this.
So, fix this error by writing the correct PDU length when the
supportedFeatures field is present.
(cherry picked from commit 1e18b53821)
The server sided handling of the display control channel currently
treats the physical monitor size values as obligatory values.
When the physical monitor size is invalid according to the
documentation, it is supposed to be ignored.
However, this is currently not done, leading to an abort of the display
control channel handling, when using Remmina, as Remmina does not submit
physical-monitor- widths and -heights.
Fix this issue by sanitizing the physical monitor size values, instead
of handling them as obligatory values, where both the physical with and
the physical height must be constrained to the values in the
documentation.