akallabeth
2102fa907a
[core,connection] use dynamic logger rdp->log
...
for state transition logging use dynamic logger instead.
2023-09-02 07:56:21 +02:00
akallabeth
54021b50b0
[core,peer] fix initial state transitions
...
update initial state transitions according to [MS-RDPBCGR]
the diagram is misleading, some of the text below ambigious, but
1.3.1.1 Connection Sequence phase 10 description lists the dependencies
of server initiated messages.
2023-09-02 07:56:21 +02:00
akallabeth
4461219497
[core,rdp] make monitor layout PDU optional
...
the PDU might arrive or not, do not get stuck if not.
2023-09-02 07:56:21 +02:00
Armin Novak
1bbed81041
[core,orders] fix checks for multi opaque rect
2023-08-28 13:07:28 +02:00
akallabeth
60dd48e698
[api] fix integer overflow warnings
2023-08-25 14:36:05 +02: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
4e824b243f
[winpr] add WINPR_ATTR_FORMAT_ARG
...
this macro declares the function argument (pos,arg) to be a printf
style format string and enables compiler checks for that.
2023-08-25 12:56:36 +02:00
akallabeth
9cee9b3c08
[c standard] use WINPR_FALLTHROUGH
...
use the macro to silence intentional switch fallthrough locations
2023-08-25 12:56:36 +02:00
akallabeth
0a90e9214e
[core,aad] fix type mismatch warning
2023-08-25 12:56:36 +02:00
akallabeth
feb5ab52cb
[core,rdp] add log messages for unexpected data
2023-08-25 08:42:31 +02:00
akallabeth
d3ba8ebf00
[core,update] log BeginPaint/EndPaint failure
2023-08-23 14:27:51 +02:00
akallabeth
023c2dba6e
[core,autodetect] log unknown message types
2023-08-23 14:27:51 +02:00
akallabeth
769ffbd8a0
[core,fastpat] add logging for failures
2023-08-23 14:27:51 +02:00
akallabeth
74b1d5da89
[core,redirection] add logging
...
add log messages for all possible failure causes
2023-08-23 14:27:51 +02:00
Marc-André Moreau
30c31d64e8
WinSCard dynamic API loading with /winscard-module cli argument
2023-08-23 12:26:27 +02:00
Armin Novak
65a05fc490
[core,server] set freed pointer NULL
...
Fixes #9271 : after freeing the memory reset it to NULL to signal it was
already handled.
2023-08-21 13:35:36 +02:00
2fly2
bce9f1cbe6
[core,settings] default disable ThinClient setting
...
fixes show black window when connect transparent app in
windows server 2012r2
2023-08-21 13:03:56 +02:00
akallabeth
22fffdd5ea
[freerdp,api] log NULL IFCALL/IFCALLRET calls
2023-08-04 12:59:11 +02:00
akallabeth
e51a5b33fb
[core,orders] fix undefined variable, unify log strings
2023-08-03 13:54:03 +02:00
ehdgks0627
2496037f03
Standardize failure messages for order functions
2023-08-03 13:54:03 +02:00
ehdgks0627
105ce6c56b
Update error message when update_read* function failed
2023-08-03 13:54:03 +02:00
Armin Novak
0cd36c1526
[build] fix Wmissing-prototypes
2023-08-01 08:37:58 +02:00
Joan Torres
a332db7cf5
[libfreerdp] fix endianness issues
...
There were some fields sent without considering endianness, making the
clients fail when parsing those fields.
Use Data_Write_XXX functions so the endiannes won't affect the byte order
and the clients will read properly the fields.
2023-08-01 07:56:16 +02:00
Richard Markiewicz
f59c98eebe
[core,info] Fix rdp_info_read_string conversion check
2023-08-01 07:15:59 +02:00
Armin Novak
ef5c0e78ab
[build] use define WINPR_FALLTHROUGH
...
with c17 compatible compilers annotate with [[fallthrough]]
2023-07-31 23:46:53 +02:00
Armin Novak
e7c2a75e1e
[gateway,rpc] return FREERDP_ERROR_CONNECT_ACCESS_DENIED
...
unify http and rpc gateway return codes
2023-07-31 16:51:14 +02:00
Armin Novak
c656bb9d1d
[core,gateway] ensure '\0' termination of http response
2023-07-31 16:51:14 +02:00
Armin Novak
de6aaded94
[core,gateway] improve http_response_print
...
print out all response data.
2023-07-31 08:46:57 +02:00
Armin Novak
8be9a3a5dd
[core,gateway] unify http response logging
2023-07-31 08:32:43 +02:00
Armin Novak
03b78dd57b
[aad] print http status response message
2023-07-28 16:42:23 +02:00
Armin Novak
cd7cb514a8
[core,gateway] unify http response logging
2023-07-28 16:42:23 +02:00
Armin Novak
0bdb62e9b5
[libfreerdp] fix integere narrow warnings
2023-07-28 15:48:32 +02:00
ehdgks0627
d04ba8d6ef
Correct typos and formatting errors in format strings
...
In several files, fixed typos in format strings that were causing unexpected output and formatting issues.
2023-07-28 15:34:46 +02:00
Armin Novak
077aff0217
[core] fix cast warnings
2023-07-28 13:42:12 +02:00
Armin Novak
9d5e95c60b
[core] fix unary minus warnings
2023-07-28 13:42:12 +02:00
Armin Novak
76169c26cd
[core,caps] fix warnings
2023-07-27 20:02:43 +02:00
Armin Novak
6c01433f6a
[core,smartcardlogon] fix warnings
2023-07-27 20:02:43 +02:00
Armin Novak
e61880d077
[standard] replace __FUNCTION__ with __func__
2023-07-27 20:02:43 +02:00
Martin Fleisz
bb9c32ed72
gateway: Allow authentication using a NULL (current user) identity
2023-07-26 16:35:36 +02:00
fifthdegree
8330aa1ac4
Log aad authentication_result as hex and string
2023-07-26 09:44:17 +02:00
Armin Novak
a5ea634516
[core] fix cJSON compat
...
* only export used symbols, provide prototypes when required
* clean up some length checks
2023-07-24 09:54:49 +02:00
akallabeth
14d0ec9335
[core] move http status to string to utils
...
freerdp_http_status_string and freerdp_http_status_string_format are now
exposed as public API functions to work with http status codes
2023-07-21 14:53:19 +02:00
dev
80c7818f99
fix warning
2023-07-21 09:14:54 +02:00
Armin Novak
3d1bb4e1d9
[client,common] allow forcing default callbacks
...
All clients can implement their own callbacks for
certificate/credential/smartcard/... but there is a common (default)
implementation for all clients.
with the new setting FreeRDP_UseCommonStdioCallbacks it is now possible
to force these over the client implementation provided ones
2023-07-20 14:25:08 +02:00
akallabeth
a0d38914d6
[core,aad] refactor use of cJSON
...
* link cJSON public to FreeRDP
* export compatibility functions for older versions of cJSON
2023-07-20 14:20:28 +02:00
akallabeth
5d8e21927c
[warnings] fix compiler warnings
2023-07-20 14:20:28 +02:00
akallabeth
734117351d
[aad,avc] unify callbacks to GetAccessToken
...
The AAD and AVD authentication mechanisms both need an OAuth2 token.
They only differ in the provided arguments, so unify the callbacks into
a single one with variable argument lists.
2023-07-20 14:20:28 +02:00
fifthdegree
d309fcd6e8
Restructure Azure AD related stuff
...
- Move responsibility for obtaining access tokens to clients
- Add function for getting access tokens for AVD
- Get correct server hostname during AVD setup
- Add utility function for doing http requests
2023-07-20 14:20:28 +02:00
Pascal Nowack
4d7d136d1a
core/server: Remove invalid cast
...
The context of wMessage is already a pointer, so the cast into UINT_PTR
is wrong here.
Additionally, casts from void pointers are superfluous.
2023-07-20 11:36:11 +02:00
Armin Novak
6d9d118593
[core,nego] remove AUTHZ_RESULT from nego header
2023-07-13 09:25:45 +02:00
Armin Novak
555fa2c98a
[core,nla] print name of error code in log
2023-07-13 09:25:45 +02:00
Armin Novak
10e010329c
[client,file] add WebAuthN rdp file parsing support
2023-07-10 10:45:28 +02:00
akallabeth
e18918356f
[core,rdp] set logger context
2023-07-06 15:51:56 +02:00
Martin Fleisz
a5aad5159c
core: Fix issues in settings copy code
...
This code fixes an issue where some settings were lost when copying
settings around. I.e. the device count was first set but then calling
`freerdp_settings_set_pointer_len` caused the device count to be reset
to 0 because we passed `NULL` for the data value.
This means the count got lost upon the first copy and further copies
also resulted in losing the array data (because the count was set to 0).
This PR fixes this issue by first resetting the array and afterwards
setting the correct count value.
2023-07-06 14:26:38 +02:00
akallabeth
4c862892b4
[core,gateway] clean up websocket transport
2023-07-05 13:18:54 +02:00
akarl10
76abdcdabf
[core,gateway] cleanup http response
2023-07-05 10:43:27 +02:00
akallabeth
18185e9dbc
[test] disable TestConnect on windows
...
build directories are different and the test logic can not find the
binaries necessary to launch
2023-07-05 08:46:00 +02:00
akallabeth
d9b03b45ed
[test] add executable suffix for TestConnect
2023-07-05 08:46:00 +02:00
Michael Saxl
a5a60c888b
[core,transport] free wst transport after use
2023-07-04 20:33:13 +02:00
Martin Fleisz
622a2a8df0
misc: More int to BOOL conversion fixes
...
This is a follow up to #9129 .
This PR fixes some problematic `int` to `BOOL` conversions that might
cause overflows when checking for bit flags.
2023-07-04 09:45:20 +02:00
Martin Fleisz
37f9d5b494
core: Fix flag check to enable/disable RDSTLS security
...
On some platforms (i.e. Mac) the BOOL type might be narrower than the
`RedirectionFlags` type leading to an overflow when just assigning the
logical AND result to the setting. This fix makes sure that the value is
correctly set to either `TRUE` or `FALSE`.
2023-07-04 09:17:05 +02:00
akallabeth
a01f3ec5ab
[client,common] allow adding a named keyboard pipe
...
This allows starting FreeRDP clients with a named pipe that will type in
text written to the named pipe as keyboard input
2023-07-03 13:21:43 +02:00
Michael Saxl
132ce797db
[core,gateway,wst] fix use after free in wst_connect
2023-07-03 10:00:12 +02:00
akallabeth
e03b6596c6
[build] fix unused but set variable warnings
2023-06-29 18:34:51 +02:00
akallabeth
851f9cce2d
[core,nla] fix unused variable warning
2023-06-29 18:34:51 +02:00
akallabeth
5dcd9fcb8a
[core,gateway] eliminate intermediate buffer
2023-06-29 18:34:51 +02:00
Armin Novak
66cb8c68d4
[core,nego] change nego_set_routing_token argument
...
Use void* instead of BYTE* as the real type is unknown and warnings can
be avoided
2023-06-29 14:46:41 +02:00
akallabeth
37d9c891b4
[core,gateway] fix return value checks
2023-06-29 14:30:09 +02:00
akallabeth
b9ec4ef60d
[core,info] fix stream read check
...
read into variable of wrong type, fixed that.
2023-06-29 14:30:09 +02:00
Armin Novak
de7fea7347
[core,gcc] gcc_read_client_data_blocks update checks
...
* Update checks for stream consumed
* Update log messages, use stringified version of block type
2023-06-29 08:09:53 +02:00
akarl10
8d707adcb2
[core,gateway] make http authentication work again for websocket transport
2023-06-28 11:40:22 +02:00
akarl10
7f19fab76e
[core,gateway] only encode a cookie line if there is a cookie
2023-06-28 10:47:47 +02:00
akallabeth
3f78b3c379
[build] fix unused compiler warnings
2023-06-28 09:45:09 +02:00
Armin Novak
4d807a0bf0
[core,gateway] fix check for authentication
2023-06-27 21:15:08 +02:00
Armin Novak
ea66b23631
[core,gateway] fix various issues with arm transport
...
* fix possible leaks
* split big functions
* fix missing NULL checks
2023-06-27 21:15:08 +02:00
akallabeth
ca47058e8c
[core,gateway] use custom copy for listdictionary
2023-06-27 21:15:08 +02:00
akallabeth
84fabc49e2
[core,gateway] fix locking in http_encode_cookie_line
2023-06-27 21:15:08 +02:00
akarl10
d62b088527
[gateway,wst] Update log about supported url types
2023-06-27 21:15:08 +02:00
akarl10
1108d88fc4
[gateway,wst] make WWW-Authenticate: NTLM (without data) work again
...
This happens in wst.c because the first try is always anonymous
2023-06-27 21:15:08 +02:00
Michael Saxl
d55e035260
[gateway,arm] Azure Virtual Desktop Gateway support
...
This PR creates a new /gateway:type:arm transport.
It depends on CJSON
The arm transport is not a transport by itself but is responsible
for getting the websocket endpoint from a configuration url derived from
the configured gateway host in the rdpw file or cmdline
2023-06-27 21:15:08 +02:00
akallabeth
40dd43cb01
[core,gcc] use static substream for client data
2023-06-26 19:17:55 +02:00
akallabeth
b69c259967
[core,gcc] dump unknown GCC types with trace log
2023-06-26 19:17:55 +02:00
Hugues LEFEBVRE
b67afecf0f
CredSSP with early user auth (nla_ext) support
2023-06-26 11:53:46 +02:00
akallabeth
ff2b57c634
[core,peer] fixed invalid pointer to log function
2023-06-26 10:53:43 +02:00
akallabeth
4d350978dd
[core] assert rdp->context
2023-06-26 10:53:43 +02:00
akarl10
63c80423a9
[multitransport] Ignore unknown data
...
If the reserved filed is not 0 the request PDU seems to contain
some extra data. Two bytes of 0 (probably a version field) followed by a
JSON payload (not null terminated, until the end of the packet. There
seems to be no dedicated length field)
2023-06-26 09:09:47 +02:00
Armin Novak
52ec17309a
[core,caps] use settings getter/setter for unicode
2023-06-23 08:18:16 +02:00
Michael Saxl
44c1ec3276
[gateway,websocket] implement plain websocket transport
...
* factor out most websocket specific code parts into websocket.c
* create wst.c (Websocket Transport) as gateway transport implementation
* introduce GatewayUrl setting that holds the websocket url
* introduce GatewayHttpExtAuthBearer that holds the HTTP Bearer
* GatewayHttpExtAuthBearer can be used by both rdg and wst
2023-06-22 09:21:42 +02:00
Michael Saxl
6478edda5b
rdg bearer support
2023-06-22 09:21:42 +02:00
akallabeth
1fc0d5b4b1
[winpr] remove casts for winpr_RAND calls
2023-06-21 09:57:52 +02:00
fifthdegree
80f357ddcb
Add missing arg to aad token request format string
2023-06-19 08:42:33 +02:00
Armin Novak
df3c78a91d
[server,core] add CheckPeerAcceptRestrictions
...
the new (optional) callback CheckPeerAcceptRestrictions is used to check
for server implementation specific connection requirements before
accepting a client.
2023-06-14 17:15:21 +02:00
Richard Markiewicz
946cfb1068
[core,license] Fix build on msvnc with WITH_DEBUG_LICENSE
2023-06-14 17:14:45 +02:00
Mikhail Kashin
aeb6ec6f97
[core] fix handling loadbalanceinfo tsv://MS Terminal Services Plugin
2023-06-14 09:06:50 +02:00
Marc-André Moreau
4d4dcd4511
Fix usage of explicit server name when different from connection host
2023-06-13 09:20:17 -04:00
fifthdegree
53023a0627
Fix AAD token request body
2023-06-13 07:39:49 +02:00
akallabeth
45a54b1883
[core] fix typo in debug string
2023-06-12 11:13:43 +02:00
Armin Novak
381183f421
[core,gateway] align RPC_FAULT_CODES
...
some architectures require alignment (apple looking at you)
2023-06-08 08:11:05 +02:00
Armin Novak
970f0c54e8
[stream] use const correct Stream_Pointer access
2023-06-08 08:09:33 +02:00
Armin Novak
81e95e51ca
[winpr,ncrypt] log problems during cert enumeration
2023-06-07 23:05:54 +02:00