Commit Graph

55 Commits

Author SHA1 Message Date
Armin Novak
7ceddc73e9 Decreased logging verbosity. 2014-09-15 19:51:58 +02:00
Armin Novak
2f519d7f16 Replaced logging in libfreerdp with wlog defines. 2014-09-15 08:48:46 +02:00
Armin Novak
6762d73ae1 Fixed winpr_HexDump calls. 2014-09-09 16:33:05 +02:00
Armin Novak
f4c133eaf8 Replaced custom logging mechanism with WLog wrapper. 2014-08-07 16:51:24 +02:00
Marc-André Moreau
a8be174e03 libfreerdp-core: remove ineffective full duplex locks 2014-06-01 11:20:13 -04:00
Marc-André Moreau
b1416af362 libfreerdp-core: add locks to disable full duplex BIOs (currently unsafe) 2014-05-30 14:53:10 -04: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
Zhang Zhaolong
e64a64dcd6 core: fix memory leak in case of error out. 2014-04-26 13:44:28 +08:00
Zhang Zhaolong
24fce3a749 core: fix memory leak in case of error out. 2014-04-26 12:05:52 +08:00
Marc-André Moreau
e0966bbfff Merge branch 'master' of github.com:mrthebunny/FreeRDP 2014-03-10 23:08:17 -04:00
Dan Bungert
3b7fd4ceb6 Improved Gateway error handling
* General improvements to reduce the case where something bad happens
  and RDP hangs around forever without closing.
* Specific error code improvement for CAP related login rejection.
2014-03-04 09:39:39 -07:00
Benoît LeBlanc
ac6385448b tsg_write: return error when transport layer is closed 2013-12-20 18:24:29 -05:00
Benoît LeBlanc
ad4d5c1ce7 Added timeout on blocking send, receive operations 2013-12-20 18:22:29 -05:00
Benoît LeBlanc
9245d364cc Fixed handling gateway authentication error
Handle NULL pdu
2013-12-18 12:59:53 -05:00
Marc-André Moreau
9829504fc1 libfreerdp-core: start async transport thread after successful transport-level connection 2013-11-01 10:24:19 -04:00
Marc-André Moreau
3bc47a2bf8 libfreerdp-core: fix leaks and potential use after free 2013-10-31 21:12:06 -04:00
Marc-André Moreau
8609a19cac Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-10-17 17:34:16 -04:00
Dan Bungert
486250b182 Gateway: Parsing fix for Create Tunnel Response
This fix addresses a logon issue that may occur when a logon
message is present.
2013-10-17 14:51:04 -06:00
Marc-André Moreau
c058095251 libfreerdp-core: cleanup TS Gateway code 2013-10-11 05:07:33 -04:00
Armin Novak
61c0c98dac Fixed missing free for subbuffers of packet. 2013-09-05 12:14:34 +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
Armin Novak
66da66cdc2 Fixed coverity issue 1047614 2013-09-05 12:14:32 +02:00
Armin Novak
15466fc37d Fixed coverity issue 1047615 2013-09-05 12:14:31 +02:00
Armin Novak
a861cdbdd9 Fixed coverity issue 1047616 2013-09-05 12:14:31 +02:00
Benoît LeBlanc
c17c2f811b FreeRDP:
- replaced char* by const char* in function prototypes
- MacFreeRDP: moved assignation of context function pointers
- freerdp: added more pointer and return value validations to prevent crashes
2013-07-04 14:42:40 -04:00
Martin Fleisz
120960fd4d libfreerdp-core: Added support for server initiated shutdown to TSG 2013-05-22 10:58:11 +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
8b9ea43d78 libfreerdp-core: fix locking with TS Gateway 2013-03-27 20:06:10 -04:00
Marc-André Moreau
0031c4918e libfreerdp-core: add TS Gateway system message support 2013-03-14 12:57:45 -04:00
Marc-André Moreau
10b48b1af8 libfreerdp-core: separate TSG response parsing from receiving 2013-03-13 15:43:44 -04:00
Marc-André Moreau
6c57bcf0a9 libfreerdp-core: start implementing TSG messaging 2013-02-01 17:52:19 -05:00
Marc-André Moreau
f0c94562cc libfreerdp-core: TS Gateway cleanup and NTLM SingleHostData implementation 2013-01-09 12:05:34 -05:00
Marc-André Moreau
81c2782be3 libwinpr-sspi: start implementing Channel Bindings 2012-12-21 12:17:07 -05:00
Marc-André Moreau
d19e2042c3 libfreerdp-utils: remove deprecrated unicode utils in favor of WinPR 2012-12-17 10:20:25 -05:00
Marc-André Moreau
b53bdba143 libfreerdp-core: TSG cleanup 2012-12-13 20:23:37 -05:00
Marc-André Moreau
7d8ef00d6a libfreerdp-core: implement proper TS Gateway connection shutdown 2012-12-13 12:40:46 -05:00
Marc-André Moreau
52353e2427 libfreerdp-core: TSG printf cleanup 2012-12-12 22:34:41 -05:00
Marc-André Moreau
102abcbef2 libfreerdp-core: improve TSG memory cleanup 2012-12-12 20:02:56 -05:00
Marc-André Moreau
387a152299 libfreerdp-core: TSG reassembly refactoring 2012-12-12 15:55:42 -05:00
Marc-André Moreau
d3e0537d0d libfreerdp-core: more TSG memory cleanup 2012-12-12 00:49:15 -05:00
Marc-André Moreau
dc978a967c libfreerdp-core: improve receiving of TSG data 2012-12-11 19:17:57 -05:00
Marc-André Moreau
8aa1143cc6 libfreerdp-core: work around PDU corruption issue with TSG, still experience locking 2012-12-11 17:24:52 -05:00
Marc-André Moreau
db91555564 libfreerdp-core: improved TSG asynchronicity 2012-12-10 18:56:53 -05:00
Marc-André Moreau
7f1a5ab7cd libfreerdp-core: fix TSG synchronous receive 2012-12-07 22:43:53 -05:00
Marc-André Moreau
282c950522 libfreerdp-core: fix pipe call id check 2012-12-07 22:27:05 -05:00
Marc-André Moreau
2215e0a57a libfreerdp-core: improve comments for TS Gateway 2012-12-07 17:41:12 -05:00
Marc-André Moreau
98c4cb56a1 libfreerdp-core: set TSG non-blocking mode 2012-12-06 16:49:50 -05:00
Marc-André Moreau
4fe3501bc4 libfreerdp-core: refactoring of sequencing of TSG connection 2012-11-29 01:33:19 -05:00