James Fu
0755325f77
[channels,rdpdr] fix drive redirection hotplug
...
Currently, after receiving PAKID_CORE_USER_LOGGEDON, the client will
switch to RDPDR_CHANNEL_STATE_USER_LOGGEDON, send Device List
Announce, then switch back to RDPDR_CHANNEL_STATE_READY. As a result,
any drives mounted later will not be announced.
2024-07-10 17:06:47 +02:00
James Fu
75dfcabe91
[channels,rdpdr] fix state check
2024-07-09 22:54:15 +08:00
Andrey Af
5f26c013ed
[server,rdpdr] fixed HashTable equal keys func
2024-06-07 10:08:46 +02:00
akallabeth
6ce8bc3e98
[channels,rdpdr] remove dead code.
2024-04-21 11:00:47 +02:00
Armin Novak
2500fb7bfb
[cleanup] refactor some checks
2024-04-15 12:40:01 +02:00
akallabeth
a8ce0aee29
[coverity] 1543213 Dereference before null check
2024-04-12 12:41:42 +02:00
akallabeth
8c580e6d6d
[coverity] 1543073 Resource leak
2024-04-12 09:45:09 +02:00
akallabeth
e63d4666a0
[coverity] 1543273 Resource Leak
2024-04-12 09:45:09 +02:00
akallabeth
80f85cdd55
[coverity] 1543238 Resource leak
2024-04-12 09:45:09 +02:00
akallabeth
d7ebec5a65
[tidy] move loop variable declaration to loop
2024-02-22 12:31:50 +01:00
akallabeth
0e44b2c674
[clang-tidy] clang-analyzer-unix.Malloc
2024-02-15 11:49:16 +01:00
akallabeth
81d2c1f057
[clang-tidy] clang-analyzer-core.NullDereference
2024-02-15 11:49:16 +01:00
akallabeth
0ba995655d
[clang-tidy] cppcoreguidelines-init-variables
2024-02-15 11:49:16 +01:00
akallabeth
207def5c56
[clang-tidy] readability-isolate-declaration
2024-02-15 11:49:16 +01:00
akallabeth
ba8cf8cf21
[build] fix Wmismatched-deallocator warnings
...
With custom malloc function attributes the fail path in the _New
functions produces warnings due to allocator mismatches. Silence them.
2024-02-05 08:16:55 +01:00
Vic Lee
5559e59f40
[channels] Add synchronous static channel setting.
2024-02-01 15:06:23 +01:00
Armin Novak
731e1f183d
[channel,rdpds] ignore XPS device messages
...
if FreeRDP_IgnoreInvalidDevices is set ignore XPS messages for unknown
devices
2023-12-06 15:22:59 +01:00
Armin Novak
303c477c06
[channels,rdpdr] fix #9610
...
windows RDP server randomly sends PAKID_CORE_SERVER_CAPABILITY to
reinitialize the rdpdr channel. Allow this message in all following
states.
2023-12-06 15:22:59 +01:00
akallabeth
eb445f7c43
[channels] make settings opaque
2023-11-24 14:54:56 +01:00
LucasMou
412c5c4ba6
fix abnormal exit: when removing the USB flash drive, the program abnormal exit
2023-11-15 10:46:42 +01:00
Armin Novak
e7f8c05bb6
[channel,rdpdr] relax state checks
...
ClientID confirm message might be sent async to userloggedon. So allow
these messages to arrive in any order
2023-11-09 10:12:16 +01:00
Armin Novak
43fc6bbfdc
[channel,rdpdr] use server general caps
...
* read server CAP_GENERAL_TYPE
* check if messages are allowed according to caps
2023-11-09 10:12:16 +01:00
Armin Novak
9e361b613d
[channels,rdpdr] fix user loggedon handling
...
PAKID_CORE_USER_LOGGEDON might happen in quite a lot of combinations not
obvious from the spec at first glance. Relax state checks so that all
valid combinations are allowed.
2023-11-02 11:21:32 +01:00
akallabeth
bb5345c60e
[freerdp,api] add FREERDP_ENTRY_POINT
...
C requires prototypes or compilers will complain about them missing. Our
library entry points do not have such, therefore add the macro
FREERDP_ENTRY_POINT which declares the function prototype automatically
before the function.
2023-08-25 14:36:05 +02:00
akallabeth
bd7f0ecd24
[collections] fix ListDictionary usage
2023-07-05 08:46:00 +02:00
akallabeth
e03b6596c6
[build] fix unused but set variable warnings
2023-06-29 18:34:51 +02:00
akallabeth
3f78b3c379
[build] fix unused compiler warnings
2023-06-28 09:45:09 +02:00
akallabeth
54847499e9
[winpr,collections] fix ListDictionary New/Free handling
2023-06-27 15:05:43 +02:00
akallabeth
63d4da2d0d
[winpr,collections] ListDictionary_GetKeys
2023-06-27 15:05:43 +02:00
Armin Novak
970f0c54e8
[stream] use const correct Stream_Pointer access
2023-06-08 08:09:33 +02:00
Armin Novak
a4c6b36a19
[build] fix memory sanitizer stack frame warnings
2023-06-07 09:14:45 +02:00
akallabeth
00b393c094
[channels,rdpdr] enforce client state checks
...
Keep track of client channel state and abort on invalid messages for a
certain state
2023-06-05 09:56:43 +02:00
Richard Markiewicz
13e52cfae2
[channels,settings] add a setting to ignore invalid devices
2023-04-24 11:29:05 +02:00
Andrey Af
58cdc9e82b
rdpdr_server_drive_close_file_callback remaining length fixed
2023-04-24 09:33:26 +02:00
akallabeth
a5b42f0f84
[includes] untangled circular includes
2023-03-15 08:22:23 +01:00
akallabeth
cf9777cd92
[channels] simplified server linking
2023-03-01 08:18:34 +01:00
akallabeth
c3a82daad6
[channels] simplified client linking
2023-03-01 08:18:34 +01:00
Armin Novak
641022b795
[logging] remove __FUNCTION__ from actual message
...
prefer the log formatter to provide that information.
2023-01-25 16:26:39 +01:00
akallabeth
82ba9ede9c
[freerdp] use FREERDP_/UWAC_/RDTK_ prefix for conditional headers
2023-01-10 17:38:00 +01:00
Armin Novak
f1e7cc0d48
[rdpdr] unify header read/write
2023-01-10 11:49:38 +01:00
Armin Novak
920d5ee7a1
[rdpdr] improved version handling
2023-01-10 11:49:38 +01:00
Armin Novak
37454c7420
[utils] improve rdpdr packet dump
2022-12-22 15:09:03 +01:00
Armin Novak
833a1b2d24
[channel,rdpdr] use wLog* for server logging
2022-12-22 15:09:03 +01:00
Armin Novak
d5c5473aa9
[channel,rdpdr] use wLog* for client logging
2022-12-22 15:09:03 +01:00
Armin Novak
318b55adc1
[rdpdr] filter empty device announce
2022-12-22 15:09:03 +01:00
akallabeth
9d6a06a197
[channels,rdpdr] fix misleading log entries
...
* Use __FUNCTION__ instead of copying the name to the message
* Fix freerdp_rdpdr_dtyp_string argument to get correct name
2022-12-16 09:42:44 +01:00
Armin Novak
37d7b98449
[channels,rdpdr] refactoring server callbacks
...
* Add callbacks for all messages exchanged between client and server
to allow server implementations to intercept them.
* Unify logging
* Add device tracking
2022-12-15 14:57:29 +01:00
Armin Novak
df4c076946
[channels,rdpdr] abort on invalid device request
...
If a request references a non existing device abort.
2022-12-15 14:57:29 +01:00
Armin Novak
186e97e0a8
[channels,rdpdr] better logging of device manager
...
if a device could not be found print a better log message
2022-12-15 14:57:29 +01:00
Armin Novak
231babef5e
[channels,rdpdr] improve log message
...
try to stringify magic numbers in log message
2022-12-15 14:57:29 +01:00