akallabeth
7990eec166
[freerdp] mark all WINPR_ATTR_MALLOC also nodiscard
2026-01-26 13:39:39 +01:00
akallabeth
021356cb08
[gateway,http] change return type of http_response_get_body
...
the data is a string, so avoid unnecessary casts later on.
2025-11-07 11:21:13 +01:00
akallabeth
32aa6d6e8f
[gateway,http] improve header handling
...
In http context store header values in a hash table. This simplifies
handling of currently known and custom http headers.
2025-11-07 09:51:16 +01:00
akallabeth
c978c64162
[core,gateway] improve response cookie handling
...
* extract cookies from responses
* append to http context for new requests
2025-10-31 11:36:19 +01:00
akallabeth
e9890c3960
[core,gateway] add http_request_append_header
2025-10-28 11:13:55 +01:00
Armin Novak
b5b6a4b7e7
[core,gateway] make HTTP status codes UINT16
2025-09-25 11:08:53 +02:00
Armin Novak
7bf010af22
[core,gateway] log http reponse location of call
...
in http_response_log_error_status log the location of where it was
called instead of the function itself
2025-03-19 09:48:29 +01:00
akallabeth
78acedb40e
[warnigns] fix Wshorten-64-to-32
2024-11-11 10:22:37 +01:00
akallabeth
bb42d425ed
[gcc,clang] add support for attribute(malloc)
...
Mark all malloc like functions and add their appropriate free function
to let the compiler complain on mismatches
2024-02-02 15:10:40 +01:00
Armin Novak
e451b4cad1
[core,gateway] rpc use generated session id
2023-11-20 18:00:42 +01:00
Armin Novak
7d02a97a88
[core,gateway] change type of GUID arguments
...
use const GUID* for GUID strings and format the string internally
2023-11-20 18:00:42 +01:00
Armin Novak
e62e1dbbaf
[core,gateway] add RDG-Correlation-Id
...
implement [MS-TSGU] 2.2.3.2.2 RDG-Correlation-Id
2023-11-20 18:00:42 +01:00
akallabeth
be7f2979ee
[gateway,http] const correct HttpResponse
2023-09-14 17:38:08 +02:00
Armin Novak
cd7cb514a8
[core,gateway] unify http response logging
2023-07-28 16:42:23 +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
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
0f1b0cac76
[core,gateway] add http_status_string_format
2023-04-11 11:21:27 +02:00
akallabeth
8eec678710
[core,gateway] add http_status_string
2023-04-11 11:21:27 +02:00
Armin Novak
dd0d130f48
[crypto] make tls.h a private header
...
no need to uselessly export symbols that are not usable outside the
project
2023-01-14 08:50:26 +01:00
akallabeth
8cc6582044
Unify struct definitions ( #7633 )
...
* Unified enum/struct definitions, fixed include issues
* Fixed mac compilation issues
* Added missing include
* Fixed windows server build warnings
* Fixed VS2010 build issue
* Removed unnecessary library linking
* Fixed ThreadPool WinXP compatibility
* Fixed pr review remarks
2022-02-14 14:59:22 +01:00
Armin Novak
3de6af34ed
Removed unused module winhttp
2021-12-23 14:27:12 +01:00
Michael Saxl
bc52147fbb
rdg websocket support
2021-02-09 18:47:14 +01:00
akarl10
43691d59ee
Fr6731 ( #6734 )
...
* Implement chunked encoding for RDG_OUT_DATA
2021-01-25 08:39:30 +01:00
Armin Novak
72ca88f49c
Reformatted to new style
2019-11-07 10:53:54 +01:00
Armin Novak
15a41586a8
Don't read content length in VIRTUAL_CONNECTION_STATE_OUT_CHANNEL_WAIT
2018-11-13 11:22:37 +01:00
Armin Novak
a5fdf9e006
Refactored gateway HTTP to be self contained.
2018-09-27 15:04:41 +02:00
Jacco Braat
2af67baea3
Modified RDG connection setup using PAA Cookie.
...
Skip NTLM auth on the IN/OUT channels. Add PAACookie to TUNNEL_CREATE.
2018-02-15 10:56:58 +01:00
Armin Novak
a49a2299b1
Refactored http parser
...
* Using single buffer for all data
* Added response size limit of 64MiB
* Fixed various memory leaks
2018-01-15 16:51:33 +01:00
Armin Novak
8b9e3fa51e
Fixed use of reserved keywords for include guards.
2017-07-20 09:35:41 +02:00
Armin Novak
c7448c03fb
Added FREERDP_LOCAL
...
CMake 2.8 does not support default visibility on windows.
To allow building tests add the FREERDP_LOCAL define for each
function that is internal to FreeRDP.
When build with testing these functions are exported and available
for use by tests.
2016-10-06 13:43:09 +02:00
Denis Vincent
144d0d9b23
libfreerdp-core: Initial RDG support.
2015-03-17 14:54:16 -04:00
Marc-André Moreau
13d4fa74c4
libfreerdp-core: start event-driven gateway http code
2015-02-03 17:17:17 -05:00
Marc-André Moreau
e0b0c77ecb
libfreerdp-core: improve http parsing
2015-02-02 17:16:32 -05:00
Marc-André Moreau
4239a1d4f4
libfreerdp-core: remove TS Gateway send queue
2015-02-01 20:47:43 -05:00
Hardening
dd6d829550
Allow transport_write calls to be non-blocking
...
This big patch allows to have non-blocking writes. To achieve
this, it slightly changes the way transport is handled. The misc transport
layers are handled with OpenSSL BIOs. In the chain we insert a
bufferedBIO that will bufferize write calls that couldn't be honored.
For an access with Tls security the BIO chain would look like this:
FreeRdp Code ===> SSL bio ===> buffered BIO ===> socket BIO
The buffered BIO will store bytes that couldn't be send because of
blocking write calls.
This patch also rework TSG so that it would look like this in the
case of SSL security with TSG:
(TSG in)
> SSL BIO => buffered BIO ==> socket BIO
/
FreeRdp => SSL BIO => TSG BIO
\
> SSL BIO => buffered BIO ==> socket BIO
(TSG out)
So from the FreeRDP point of view sending something is only BIO_writing
on the frontBio (last BIO on the left).
2014-05-21 17:42:31 +02:00
Hardening
ef38a5e55d
Fix multiple WWW-Authenticate headers
...
This patch fixes the case with the server trying to negociate the authentication
method and returning multiple WWW-Authenticate headers.
2014-04-19 09:14:14 +02:00
Hardening
4210890acd
Fix corner cases in http parsing
...
This patch adds checks for malloc / strdup, and free all memory
when such call fails.
2014-04-09 15:00:38 +02:00
hardening
865ff2a5f8
Fixed compilation with -Wstrict-prototypes
2013-02-14 22:20:43 +01:00
Marc-André Moreau
b53bdba143
libfreerdp-core: TSG cleanup
2012-12-13 20:23:37 -05:00
Marc-André Moreau
83a9af128f
libfreerdp-core: move TSG code in subdirectory
2012-11-27 18:52:08 -05:00