Armin Novak
2c0c55dc46
[c23,channels] replace NULL with nullptr
2026-02-26 13:43:54 +01:00
Armin Novak
e58819830a
[c23] simplify boolean checks
2026-02-26 11:51:05 +01:00
Armin Novak
48267edf2f
[winpr] add WINPR_C_ARRAY_INIT
...
since C23 allows c++ style initializing replace direct use with this
macro
2026-02-25 19:23:08 +01:00
Armin Novak
f14096d468
[channels] mark functions [[nodiscard]]
2026-02-24 11:31:57 +01:00
Armin Novak
5f10ae9599
[channels,rdpdr] fix IRP handling
...
* clean up IRP creation
* Properly handle each IRP, call irp->Complete or irp->Discard only once
for each IRP
* For each channel split IRP handling, one function prepares the data
and a single evaluate function later calls irp->Complete or irp->Discard
2026-02-17 16:38:31 +01:00
Armin Novak
118afc0b95
[allocations] fix growth of preallocated buffers
...
* Replace * 2 with * sizeof(WCHAR) for string usages
* Grow streams and other buffers reasonably, e.g. add 128 elements per
try and check for possible overflows
* Add constant postfix to force them to 64bit
2026-02-17 13:54:34 +01:00
Armin Novak
0a4122fb27
[channels,drive] name volume with freerdp_getApplicationDetailsString
2026-02-10 11:20:13 +01:00
akallabeth
b20a1274f0
[c,printf] fix wlog format string to match arguments
2026-01-16 11:39:42 +01:00
akallabeth
a3cb09c81c
[c,printf] fix wlog format string to match arguments
2026-01-16 11:39:39 +01:00
akallabeth
3da319570c
[channels,drive] fix constant type
...
ensure constant is of 64bit integer type
2026-01-12 09:03:39 +01:00
Armin Novak
a4dfa2ca7e
[clang,warnings] fix Wjump-misses-init
2026-01-08 11:32:33 +01:00
Armin Novak
15b0085ddf
[clang,warnings] fix Wjump-misses-init
2026-01-08 11:32:33 +01:00
Martin Fleisz
236959c440
[channels,drive] Small performance improvements in drive channel
...
This commit fixes following performance issues in the drive channel:
- `GetFileAttributes` functions where using `FindFirstFile` to query
attributes. The same can be achieved with `stat` and reusing the
existing stat <-> file info conversion code.
- `drive_file_query_information` was calling `CreateFile` on directories
which will always fail with the given parameters.
2025-11-20 14:26:19 +01:00
akallabeth
50a64d543f
[channels,drive] tolerate drive_file_set_disposition_information
...
the length field did change a lot during the eveolution of the protocol.
Be lenient on values that might occur as long as they satisfy the
basic requirements.
2025-09-01 21:12:02 +02:00
Armin Novak
abbb998dca
[channels,drive] unify drive redirection handling
2025-06-05 11:58:47 +02:00
akallabeth
cf35364efa
[channels,drive] fix file rename length checks
2025-06-02 20:22:50 +02:00
akallabeth
0a854001f7
[channels,drive] encapsulate drive information processing
2025-06-02 17:31:01 +02:00
akallabeth
ad9e3df18f
[channels,drive] fix error checks and log messages
2025-05-27 16:27:43 +02:00
akallabeth
03f20da4e6
[channels,drive] fix drive register
2025-05-22 19:40:13 +02:00
akallabeth
3dee8895ec
[rdpdr,hotplug] fix passing of device::Id back to caller
2025-05-22 11:17:21 +02:00
ljh0121
0d1b044436
fix: [channel,drive] Fix failure when renaming non-empty directories
2025-05-20 16:56:02 +09:00
Armin Novak
f5924a6556
[channels,rdpdr] expose device add/remove/hotplug
...
* Add RdpdrClientContext to OnChannelConnectedEventHandler
* Expose device register/unregister in RdpdrClientContext
* Expose device hotplug poll function in RdpdrClientContext
2025-05-12 17:27:07 +02:00
ljh0121
842388c261
feat: init commit
2025-05-12 09:57:40 +09:00
Armin Novak
b3605bd3da
[channels,rdpdr] assert Completion callback
2025-03-26 16:58:11 +01:00
David Lechevalier
f301e2b222
[channels,drive] Prefer using handle from IRP_CREATE when possible
...
Windows can query information on a file recently renamed using a
handle created before the rename
2025-03-13 08:43:36 +01:00
akallabeth
bfa8c498f1
[channels,drive] Use allocationSize for IRP_CREATE
2025-03-05 23:48:58 +01:00
akallabeth
3ed1545319
[channels,drive] log FSInformationClass
2025-03-05 23:48:31 +01:00
akallabeth
44f5b6c409
[warnings] fix various clang warnings
2025-02-04 11:22:00 +01:00
akallabeth
3092313d49
[channes,rdpdr] use NTSTATUS for IoStatus
...
the IoStatus will hold NTSTATUS values but is defined unsigned in
[MS-RDPEFS] whereas NTSTATUS is defined as signed integer. Ignore the
spec here and just treat it as signed (eliminates warnings and twos
complement will ensure the values are equal in bit representation)
2025-01-07 10:11:21 +01:00
akallabeth
be3ba1c425
[warnings,channels] fix integer casts
2024-12-25 13:29:07 +01:00
akallabeth
ac9cf26bce
[cmake] fix define_channel_options
...
* fix usage of default value
* fix defaults of channels
* unify to single CMake function define_channel_options
2024-12-17 16:29:32 +01:00
akallabeth
861e3bbe65
[channels,drive] allow operation on main thread
2024-12-03 09:58:09 +01:00
akallabeth
faae38120c
[cmake,format] reformat all cmake files
2024-11-27 20:41:48 +01:00
akallabeth
9db7deb30b
[warnings] initialize ULARGE_INTEGER
2024-10-30 10:20:41 +01:00
akallabeth
490ca0453b
[winpr,stream] use Stream_BufferAs instead of casting
2024-10-01 10:34:42 +02:00
akallabeth
586f40631f
[warnings] fix shorten-64-to-32
2024-09-17 16:13:48 +02:00
akallabeth
965d231e49
[return checks] fix use of CloseHandle
2024-09-16 08:22:31 +02:00
akallabeth
cd18dea174
[return checks] fix use of unicode functions
2024-09-16 06:48:26 +02:00
akallabeth
fe6d861a5c
[channels] fix VCAPITYPE for all channel entry points
2024-09-03 17:26:58 +02:00
Armin Novak
fe76bafd57
[channels,drive] fix out of bound access
2024-08-21 09:20:25 +02:00
akallabeth
9a2a1c3717
[channel,drive] fix directory traversal detection
...
filter out .. part of the file or directory name.
2024-07-01 17:10:23 +02:00
akallabeth
b9a1f791f7
[channels,drive] fix wrong function usage
...
_wcslen is for WCHAR, wcslen for wchar_t
2024-03-18 13:27:32 +01:00
akallabeth
d7ebec5a65
[tidy] move loop variable declaration to loop
2024-02-22 12:31:50 +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
Armin Novak
9575f386cd
fixed WCHAR constants, use endian safe definitions
2023-12-20 09:03:58 +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
Martin Fleisz
45ee30da5e
rdpdr: Fix potential null pointer access
2023-08-02 19:09:26 +02:00
Armin Novak
99bf501f0f
[channels,drive] remove unused member filename
2023-07-26 10:57:42 +02:00
Armin Novak
4154779672
[channel,drive] path must not end with separator
...
the fullpath string must not end with a path separator as FindFirstFile
returns an error in such cases.
2023-07-26 10:57:42 +02:00