akallabeth
aaded541d9
[core,client] replace cJSON with WinPR wrapper
...
use the new WinPR JSON wrapper API
2024-05-14 20:45:31 +02:00
akallabeth
71e78bedd7
[warnings] fixed sign and const
...
* fix various char/BYTE sign warnings
* fix various const warnings
* fix format string size_t
* remove unused CMake variables
2024-04-18 11:05:58 +02:00
akallabeth
9a7d30d174
[clang,tidy] fix a few warnings
2024-02-27 14:15:43 +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
Isaac Klein
763462d0a9
include null byte in Authorization Request PDU
...
The RDS AAD Auth PDUs have no packet headers to indicate length.
Instead, these packets are zero-terminated strings. Somehow, Windows
accepts Authentication Request PDUs without a terminating null byte
during regular connections, but not through WVD websocket gateways.
2024-02-04 13:00:48 +01:00
David Fort
6a31820363
[core] allow to specify the hostname used for AAD
...
The previous code was assuming that the host name used for doing AAD was
ServerHostname parameter. But when you connect directly to Azure hosts you most
likely connect by IP and use short name for the AAD host, so you need to be able
to give ServerHostname=<IP of host> and AadServerHostname=<shortname>.
2023-12-15 14:37:15 +01:00
Armin Novak
e56fcb45cb
[core,aad] move cJSON related parsing to core
...
hide cJSON parser from freerdp-client library, link privately
2023-11-02 11:30:55 +01:00
Armin Novak
c91a250623
[warnings] add WINPR_FORMAT_ARG
...
with WINPR_FORMAT_ARG format strings are marked for MSVC to avoid
warnings
2023-10-16 15:10:13 +02:00
akallabeth
80122c1784
[core,aad] cast constants to DWORD
2023-10-10 22:59:53 +02:00
akallabeth
60dd48e698
[api] fix integer overflow warnings
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
0a90e9214e
[core,aad] fix type mismatch warning
2023-08-25 12:56:36 +02:00
Armin Novak
03b78dd57b
[aad] print http status response message
2023-07-28 16:42:23 +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
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
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
fifthdegree
80f357ddcb
Add missing arg to aad token request format string
2023-06-19 08:42:33 +02:00
fifthdegree
53023a0627
Fix AAD token request body
2023-06-13 07:39:49 +02:00
Armin Novak
970f0c54e8
[stream] use const correct Stream_Pointer access
2023-06-08 08:09:33 +02:00
fifthdegree
449b96adb2
Use popup browser for AAD auth in SDL client
...
Optionally build the SDL client with Qt WebEngine to create a popup
browser for authentication to AAD. Also change the URL output on the
command line to use the "nativeclient" redirect for easier copy/pasting
of the authorization code.
2023-05-23 06:04:55 +02:00
fifthdegree
ba7fdcb5f0
Move alloc_sprintf into the winpr string api
2023-05-23 06:04:55 +02:00
akallabeth
cf477c581c
[core,aad] use rdpPrivateKey instead of direct SSL
2023-05-10 09:59:10 +02:00
akallabeth
a360f1ca8c
[build] fix a few compiler warnings
2023-03-13 13:04:45 +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
8d57fa0a7f
[core,aad] fix format strings, use strtok_s
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
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
3d9eaf59dc
[core,aad] typedef AAD_STATE
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