akallabeth
641fa990f9
[cache,persistent] use aligned allocation
2023-03-28 11:34:52 +02:00
akallabeth
a5d7325164
[codec,progressive] resize tile cache by constant
...
The previouse size increment was power of two, which might run out of
memory really fast. Use a constant size increment instead.
2023-03-24 11:14:17 +01:00
akallabeth
ec095bc6dd
[codec,progressive] simplify tile cache allocation
2023-03-24 11:14:17 +01:00
David Fort
2fed8fb62e
[codec] fix tile usage in progressive
...
This is a fix for #8816 . When PROGRESSIVE_SURFACE_CONTEXT.tiles were reallocated, we were
ending up with wrong tiles in PROGRESSIVE_BLOCK_REGION.tiles when the memory block was moved.
2023-03-23 15:28:55 +01:00
David Fort
b7b46b8123
[codecs] make progressive honor threading flags
...
Progressive codec was not honoring the threading flags in settings like does
remoteFX, so even when no multiple threads decoding was asked, progressive was
using multiple threads anyway. This patch fixes it.
2023-03-20 15:32:28 +01:00
Armin Novak
937c158174
[core,gateway] copy data for credssp
...
the authentication data needs to be copied for use in credssp
fixes #8811
2023-03-17 22:28:13 +01:00
akallabeth
00572768b9
[core,rdp] fixed wrong format string
2023-03-15 08:22:23 +01:00
akallabeth
a5b42f0f84
[includes] untangled circular includes
2023-03-15 08:22:23 +01:00
akallabeth
a360f1ca8c
[build] fix a few compiler warnings
2023-03-13 13:04:45 +01:00
Martin Fleisz
ecc29d00c0
core: Allow NULL identity for NLA authentication
...
During the recent changes the possiblity to perform NLA auth using the
current identity was removed.
In case we receive AUTH_NO_CREDENTIALS with NLA we should resume using a
NULL-identity and not abort the connection.
2023-03-13 10:59:57 +01:00
Armin Novak
0c8a08817c
[core,utils] do not abort on auth fail
...
Authenticate and GatewayAuthenticate return FALSE when there are no
credentials supplied. AuthenticateEx indicates connection termination
with that return value. Handle this accordingly
2023-03-13 09:36:07 +01:00
Armin Novak
461a307c42
[core,utils] prefer legacy over AuthenticateEx
...
the new AuthenticateEx callback has a default implementation. To not
break old clients only setting Authenticate or GatewayAuthenticate
callbacks prefer the old ones over the new one.
2023-03-13 09:36:07 +01:00
Armin Novak
39bf831d50
[core,nego] unify SelectedProtocol usage
2023-03-13 09:36:07 +01:00
Armin Novak
e9bc54e8b7
[core] improve logging in freerdp_set_last_error
2023-03-13 09:36:07 +01:00
Armin Novak
24dd697003
[core,rdstls] allow 0 size data to be written.
2023-03-13 08:46:51 +01:00
Joan Torres
41c0f22398
[core,rdstls] Fix getting password as pointer
2023-03-13 08:46:51 +01:00
Armin Novak
2ddd82338a
[core,security] fix security_establish_keys
...
the lenght of the keys was incorrect breaking RDP security
2023-03-12 22:30:31 +01:00
Marc-André Moreau
b34bad2b50
fix and improve cJSON detection
2023-03-11 08:20:10 +01:00
Armin Novak
f26dc59a9d
[core,aad] make AAD optional
...
* make cJSON an optional dependency
* disable AAD if cJSON was not compiled in
2023-03-10 16:38:07 +01:00
Armin Novak
17b6f1bb6f
[core,aad] add compatibility with cJSON < 1.7.13
2023-03-10 16:38:07 +01:00
Armin Novak
a9c52e1c79
[cmake] manual cJSON detection
...
older builds do not ship the cmake files required for
find_package in their libcjson-dev package.
2023-03-10 16:38:07 +01:00
Armin Novak
8d57fa0a7f
[core,aad] fix format strings, use strtok_s
2023-03-10 16:38:07 +01:00
Armin Novak
8219c30eef
[build] fixed cJSON dependency
...
need to find_package at top level so symbols are defined for add_library
and target_*
2023-03-10 16:38:07 +01:00
Armin Novak
47ad94e4f9
[core,aad] clean up some mistakes
2023-03-10 16:38:07 +01:00
Armin Novak
4d12c22f4e
[core,aad] fixed warnings and openssl compat
2023-03-10 16:38:07 +01:00
fifthdegree
304ce6d702
Test base64url en/decoding
...
Add tests for base64url and fix a bug discovered while doing that
2023-03-10 16:38:07 +01:00
akallabeth
429c361435
[core,aad] fix cJSON usage
2023-03-10 16:38:07 +01:00
fifthdegree
f4431cdc8c
fixup! Implement support for RDS AAD
2023-03-10 16:38:07 +01:00
akallabeth
af2a74cbbb
[core,aad] refactor aad parser
...
* split functions into smaller elements
* improve return code checks
* add log messages for error results
2023-03-10 16:38:07 +01:00
akallabeth
0af370c04b
[core,aad] use dynamic logger
2023-03-10 16:38:07 +01:00
akallabeth
157d71e802
[core,aad] migrate to cJSON parser library
2023-03-10 16:38:07 +01:00
akallabeth
c5406d79c5
[core,aad] typedef AAD_STATE
2023-03-10 16:38:07 +01:00
akallabeth
3d9eaf59dc
[core,aad] typedef AAD_STATE
2023-03-10 16:38:07 +01:00
akallabeth
2117cdcb0f
[core,transport] rewritten aad transport read
...
use a do {} while loop to make it easier to read.
2023-03-10 16:38:07 +01:00
akallabeth
f5423caace
[auth,aad] add freerdp* argument to callback
2023-03-10 16:38:07 +01:00
fifthdegree
4cbfa006f2
Implement support for RDS AAD
...
Have a working implementation of the RDS AAD enhanced security mechanism
for Azure AD logons
2023-03-10 16:38:07 +01:00
fifthdegree
5df4d4c934
Implement a basic JSON parser
2023-03-10 16:38:07 +01:00
fifthdegree
8d6c92c037
Implement base64url encoding/decoding
...
Tweak the base64 functions to allow for encoding and decoding base64url
as well
2023-03-10 16:38:07 +01:00
Martin Fleisz
384642f95f
core: Fix sending incorrect GUID in RDSTLS auth request
...
The spec states that the GUID must be sent as a Base64-encoded GUID in
Unicode format. However in the redirection code we read the (correctly
formatted) GUID and convert it to a binary BLOB.
This PR removes the unnecessary conversion which now results in a
correct RDSTLS auth request.
It also removes some dead code in `rdstls_write_data`.
2023-03-09 14:29:41 +01:00
Armin Novak
1580daecbc
[core,rdstls] fix uninitialized wStream
2023-03-09 11:17:37 +01:00
Armin Novak
ec60ebaf37
[core] parse whole wStream instead of current
2023-03-09 11:17:37 +01:00
Armin Novak
5c49fae477
[core,transport] split pdu parser function
...
split according to which PDU type is being parsed.
2023-03-09 11:17:37 +01:00
Joan Torres
5bcc5326d0
[core,rdstls] fix rdstls_parse_pdu
...
When this function returns <= 0 the caller was considering it a pduLength
creating a bug.
Also fixed length calculation on some rdstls pdu types.
2023-03-09 11:17:37 +01:00
Joan Torres
b469f53c43
[core,transport] check for rdstls == NULL on accept_rdstls too
2023-03-09 11:17:37 +01:00
akallabeth
d56487717f
[core,redirection] fix const warnings
2023-03-09 11:17:37 +01:00
akallabeth
34c056e163
[core,smartcard] fix WCHAR compare, use _wcscmp
2023-03-09 11:17:37 +01:00
akallabeth
4154bc500e
[core,transport] check for rdstls == NULL
2023-03-09 11:17:37 +01:00
akallabeth
9a51f3b77b
[core,rdstls] log state checks
...
when checking expected states print a proper log message when the
requirement is not met
2023-03-08 14:05:00 +01:00
akallabeth
bc1d291b44
[core,rdstls] add state transition checks and logs
2023-03-08 14:05:00 +01:00
akallabeth
adbecf71c6
[core,rdstls] use dynamic logger
2023-03-08 14:05:00 +01:00