Commit Graph

131 Commits

Author SHA1 Message Date
Armin Novak
4b4368fc19 [compiler,gcc] fix function pointer casts
use dedicated macro WINPR_FUNC_PTR_CAST to cast function pointers
without warnings.
2026-03-03 17:24:10 +01:00
Armin Novak
17163d3738 [winpr,collections] fix PubSub_OnEvent return checks
* proper return checks on use
* fix return on invalid input arguments
* fix return on no event registered
2026-03-03 13:49:54 +01:00
Armin Novak
ea77d2d922 [nodiscard] fix all InitOnceExecuteOnce usages 2026-02-27 15:52:28 +01:00
Armin Novak
5c510af477 [c23,freerdp] replace NULL with nullptr 2026-02-26 15:06:27 +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
df64d00a97 [warnings,api] fix -Wunused-result
With marking publid API [[nodiscard]] some problematic error checks in
the core library were uncovered. This commit addresses these
shortcomings.
2026-02-17 11:07:08 +01:00
akallabeth
cc65c43f84 [c,printf] fix wlog format string to match arguments 2026-01-16 11:41:15 +01:00
akallabeth
085f4e9705 [core,client] fix SVC channel init calls
Ensure correct types are passed and returned.
2026-01-13 17:11:24 +01:00
Simon Nivault
5d32afcdd0 Don't bypass PubSub_OnChannelDisconnected in case of channel error 2025-06-17 18:21:50 +02:00
akallabeth
74cd8d8fe0 [freerdp,warnings] fix -Wunused-parameter 2025-02-13 15:53:54 +01:00
akallabeth
cc934795e4 [warnings] fix integer casting
* use asserting casts to detect overflows or sign conversions
* code cleanup for issues uncovered by casts
2025-01-01 12:58:34 +01:00
akallabeth
4dff4ad762 [core,client] fix freerdp_channels_get_id_by_name
return 0 in case of a failure. Fixes #10863
2024-11-15 16:17:53 +01:00
akallabeth
47c5070805 Merge pull request #10635 from akallabeth/initialize-variables
Initialize variables
2024-09-30 16:04:20 +02:00
akallabeth
f400b9a602 [core,client] fix freerdp_channels_check_fds
unify freerdp_channels_check_fds and
freerdp_channels_process_pending_messages as they both do the same
thing.
2024-09-26 17:01:14 +02:00
akallabeth
0fe89241f8 [core,client] add argument checks & assertions
* freerdp_get_event_handles
* freerdp_channels_process_pending_messages
2024-09-24 11:08:38 +02:00
akallabeth
82a43ef4dc [core,client] add channel poll registration API
Add a new API that allows channels to register/unregister an
event-handle along with a callback function to be called by the RDP main
thread.
This allows background processing of channel specifics without the need
for a channel specific thread.
2024-09-24 10:10:52 +02:00
akallabeth
f2e90eca34 [windows,32bit] fix VCAPITYPE consistency
Fixes #10581
2024-09-16 14:15:59 +02:00
akallabeth
baa70d1ab6 [warnings] fix compare integers of different signs 2024-09-03 15:10:46 +02:00
akallabeth
4ccfbc96ac [core,client] flush pending channel messages
on disconnect flush all pending messages to avoid sending on reconnect.
2024-08-28 14:13:28 +02:00
akallabeth
e31acc048e [core,client] prevent double channel close
reset clientDataCount on close.
2024-03-12 14:24:36 +01:00
akallabeth
93eb4df524 [core,gateway] implement RDG and TSG policy
* use dynamic logger in RDG
* honor [MS-TSGU] 2.2.9.2.1.5.2 TSG_REDIRECTION_FLAGS
* honor [MS-TSGU] 2.2.10.16 HTTP_TUNNEL_AUTH_RESPONSE
  HTTP_TUNNEL_AUTH_RESPONSE_FIELD_REDIR_FLAGS flag
* add setting GatewayIgnoreRedirectionPolicy to ignore the gateway
  policy if desired
2024-03-07 16:18:41 +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
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
akallabeth
cd4d77af86 [settings] add deprecation warnings
direct struct access to rdpSettings now produces warnings if not
explicitly deactiaved by defining FREERDP_SETTINGS_INTERNAL_USE
2023-11-24 14:54:56 +01:00
akallabeth
1163cc4d5c [core] add internal settings.h include 2023-11-24 14:54:56 +01:00
Armin Novak
a4c6b36a19 [build] fix memory sanitizer stack frame warnings 2023-06-07 09:14:45 +02: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
895c22992c [core,client] fix channel error check
Do not only check for a channel error but also abort if one is detected.
2022-12-09 11:11:40 +01:00
akallabeth
c0e3624a10 Code cleanups
prefer use of settings getter
2022-11-04 14:46:58 +01:00
Armin Novak
a8d4c3397c Fixed passing enum to pointer type 2022-09-20 15:52:14 +02:00
Armin Novak
d0ae1c8160 Moved pubSub to rdpRdp 2022-07-06 12:01:23 +02:00
Armin Novak
40ae6731c9 Fixed issues with settings clone 2022-06-27 14:27:12 +02:00
Armin Novak
29af8a45b6 Fixed missing LoadChannels calls and settings on redirect 2022-06-27 14:27:12 +02:00
akallabeth
bc8b4ade1c reformatted 2022-06-23 08:48:39 +02:00
akallabeth
667b471686 Fixed cast-quality warnings 2022-04-28 09:17:20 +02:00
akallabeth
d3ae821477 Improved logging, compiler warning fixes
* Improved logging in TPKT, TPDU, MCS, PER
* Proper use of rdpSettings functions
* Fixed missing return values
* Refactored rdp_server_transition_to_state
2022-03-28 15:52:32 +02:00
akallabeth
14568872a9 Instance cleanup (#7738)
* Cleaned up freerdp::autodetect

* Deprecate freerdp::input

* Deprecated freerdp::update

* Deprecated freerdp::settings

* Deprecated freerdp::autodetect

* Removed rdpTransport::settings

* Deprecated freerdp_per::update|settings|autodetect

* Fixed mac client and server compilation

* Fixed windows compilation

* Added deprecation warnings

* Fixed initialization of structs.

* Fixed android build

* Fixed freerdp_client_context_new const correctness

* Fixed checks for android implementation

Replaced checks with assertions where appropriate

* Fixed checks for windows client

Replaced checks with assertions where appropriate

* Fixed proxy client pointer dereference
2022-03-23 13:18:35 +01:00
Armin Novak
4d03d7c0bf Freerdp remove #ifdef HAVE_CONFIG_H 2022-03-03 11:26:48 +01:00
Armin Novak
b2ad47a809 Reorganized FreeRDP headers 2022-03-03 11:26:48 +01:00
Armin Novak
9c7ec3888a Added deprecation to *get_fds functions 2022-01-21 08:59:09 +01:00
akallabeth
19ee9f0cce Fix freerdp_channels_process_message cleanup
Not all code paths did clean up the message, specifically WMQ_QUIT
2021-12-16 10:53:17 +01:00
akallabeth
9d7e2cc3d0 Code refactoring, use initializer instead of memset 2021-12-15 13:36:15 +01:00
akallabeth
04a8ced567 Added WINPR_ASSERT and proper error reset in client.c 2021-09-20 10:59:59 +02:00
Armin Novak
054f0ea260 Use defines instad of channel names 2021-08-25 10:54:24 +02:00
akallabeth
617293e0d3 Cleanups (#7239)
* Use freerdp_settings_* for shadow and sample server

* Added freerdp_peer_set_local_and_hostname

* Code cleanups and WINPR_ASSERT

* Code cleanups

* Use CHANNEL_NAME_LEN where appropriate
* Use temporary variables in loop instead of direct array access
2021-08-24 14:09:40 +02:00
Armin Novak
ccfe0c129e Removed checks already done by WINPR_ASSERT 2021-06-16 11:46:42 +02:00
Armin Novak
31862e60f9 Added missing return checks 2021-06-16 11:46:42 +02:00
Armin Novak
880c603c26 Renamed HashTable_Add to HashTable_Insert
* Since the changes break HashTable_Add rename it so that it will
  not fail silently
2021-06-16 11:46:42 +02:00
Martin Fleisz
6fa9896474 core: Clear message queue to reset its closed state 2021-04-08 14:01:50 +02:00