Commit Graph

40 Commits

Author SHA1 Message Date
Armin Novak
e79eee2bb1 Fixed Stream API misuse. 2016-02-25 20:01:12 +01:00
Armin Novak
6698e24228 Fixed leaks, NULL dereferences and broken init. 2015-06-23 21:29:21 +02:00
Hardening
f8120919af Add checks for some XXX_New and XXX_Add functions
Based on PR #2616
2015-05-18 11:28:00 +02:00
Norbert Federa
1eff1a345e free can handle NULL perfectly fine 2015-05-11 09:07:39 +02:00
Bernhard Miklautz
74c8400789 coding style fixes
Add missing space after if
2015-03-30 17:15:45 +02:00
Bernhard Miklautz
f469e069dc stream: Stream_Ensure*Capacity: change return type
Change the return type of Stream_Ensure*Capacity from void to BOOL to be
able to detect realloc problems easily. Otherwise the only way to detect
this was to check if the capacity after the call was >= the required
size.
In case Stream_Ensure*Capacity fails the old memory is still available
and need to freed outside.

This commit also adds checks to most calls of Stream_Ensure*Capacity to
check if the call was successful.
2015-03-30 16:33:48 +02:00
Marc-André Moreau
6202f48c12 libfreerdp-core: add configurable TSG/RGB fallback, fix edge cases 2015-03-19 11:44:47 -04:00
Marc-André Moreau
1380895a2a libfreerdp-core: fix RDG http receive 2015-03-18 09:48:21 -04:00
Marc-André Moreau
dc913d9f2c libfreerdp-core: fix some RDG valgrind issues 2015-03-17 16:09:17 -04:00
Marc-André Moreau
bdf17450e5 Merge branch 'gateway' of https://github.com/dvincent-devolutions/FreeRDP into gateway 2015-03-17 14:54:04 -04:00
Denis Vincent
144d0d9b23 libfreerdp-core: Initial RDG support. 2015-03-17 14:54:16 -04:00
Marc-André Moreau
1416ef8017 libfreerdp-core: fix tsg receiving of text/html content 2015-02-24 16:39:00 -05:00
David FORT
58f33247bd Fix compilation with valgrind helpers 2015-02-11 15:23:14 +01:00
Marc-André Moreau
5aea07d401 libfreerdp-core: add better state machine transitions to ts gateway 2015-02-02 18:50:26 -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
Marc-André Moreau
4eeabba933 libfreerdp-core: restructure RPC connection sequence 2015-02-01 18:50:21 -05:00
Marc-André Moreau
4f173ae52a libfreerdp-core: remove usage of magic 60-byte pad in TsProxyCreateTunnelWriteRequest 2015-02-01 15:58:32 -05:00
Marc-André Moreau
f79deaff7b libfreerdp-core: partial OUT channel recycling support 2015-01-13 16:35:34 -05:00
Marc-André Moreau
cc2321d359 libfreerdp-core: fix leak and use after free in tsg ListDictionary usage 2014-12-11 17:08:22 -05:00
Marc-André Moreau
d8e10ac04a freerdp: patch leaks reported by valgrind when using TS Gateway 2014-12-11 11:25:34 -05:00
Armin Novak
e61acfe6b4 Fixed null pointer dereference. 2014-11-17 01:26:31 +01:00
Armin Novak
9e5be6f7e8 Fixed API nonnull warning. 2014-11-17 00:00:09 +01:00
Armin Novak
2f519d7f16 Replaced logging in libfreerdp with wlog defines. 2014-09-15 08:48:46 +02:00
Armin Novak
b22b897389 Reformatted changed files. 2014-09-09 16:32:22 +02:00
Armin Novak
f8eae11bf3 Fixed calling of dump functions, updated API 2014-09-09 16:31:46 +02:00
Armin Novak
f4c133eaf8 Replaced custom logging mechanism with WLog wrapper. 2014-08-07 16:51:24 +02: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
Armin Novak
e5c138a5b9 Fixed various memory leaks, allocation size issues and API misuse
warnings shown by clang as well as some compiler warnings.
2013-09-05 12:14:34 +02:00
Armin Novak
a3b531c036 Fixed issues found with clang-analyzer 2013-09-05 12:14:33 +02:00
Marc-André Moreau
dc0aa4c72d Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-05-10 16:43:19 -04:00
Hardening
73e6b5efc9 Misc fixes in HTTP parsing
* HTTP headers are case insensitive (see RFC2616 4.2 for details)
* Check errors when parsing status line
* treat LWS around the colon in headers
2013-05-09 00:39:09 +02:00
Marc-André Moreau
51715636a5 freerdp: remove some deprecated stream utils 2013-04-29 22:35:15 -04:00
Hardening
7701c9d934 Replace printf(...) by fprintf(stderr, ...) 2013-03-28 23:06:34 +01:00
Marc-André Moreau
b53bdba143 libfreerdp-core: TSG cleanup 2012-12-13 20:23:37 -05:00
Marc-André Moreau
d3e0537d0d libfreerdp-core: more TSG memory cleanup 2012-12-12 00:49:15 -05:00
Marc-André Moreau
3aeb9eb197 libfreerdp-core: TSG partial cleanup 2012-12-11 23:34:51 -05:00
Marc-André Moreau
83a9af128f libfreerdp-core: move TSG code in subdirectory 2012-11-27 18:52:08 -05:00