Armin Novak
2f519d7f16
Replaced logging in libfreerdp with wlog defines.
2014-09-15 08:48:46 +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
Marc-André Moreau
8c8a82c31f
libfreerdp-utils: purge old STREAM utils
2013-03-21 16:45:25 -04:00
Marc-André Moreau
92bf3e4ae0
libfreerdp-utils: remove sleep utils in favor of WinPR
2012-12-14 00:58:48 -05:00
Marc-André Moreau
808fc210e3
libfreerdp-utils: remove hexdump utils in favor of WinPR utils
2012-12-13 23:54:54 -05:00
Marc-André Moreau
6450ecd67f
libfreerdp-core: fix windows build
2012-12-12 23:18:20 -05:00
Marc-André Moreau
7ff2be09b2
libfreerdp-core: more TSG memory cleanup
2012-12-12 22:03:40 -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
3aeb9eb197
libfreerdp-core: TSG partial cleanup
2012-12-11 23:34:51 -05:00
Marc-André Moreau
dc978a967c
libfreerdp-core: improve receiving of TSG data
2012-12-11 19:17:57 -05:00
Marc-André Moreau
db91555564
libfreerdp-core: improved TSG asynchronicity
2012-12-10 18:56:53 -05:00
Marc-André Moreau
0f3d80d63f
libfreerdp-core: start implementation of asynchronous RPC fragment receive
2012-12-10 15:43:07 -05:00
Marc-André Moreau
6e07570dda
libwinpr-utils: simplify stream utils
2012-12-10 14:23:27 -05:00
Marc-André Moreau
731e606c15
libfreerdp-core: start handling client call state
2012-12-07 21:09:55 -05:00
Marc-André Moreau
2f6192532f
libfreerdp-core: map DCE error codes
2012-12-07 18:33:52 -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
875c556d13
libfreerdp-core: change interlocked singly-linked list to synchronized Queue
2012-12-05 16:04:01 -05:00
Marc-André Moreau
4fe3501bc4
libfreerdp-core: refactoring of sequencing of TSG connection
2012-11-29 01:33:19 -05:00
Marc-André Moreau
dde2e60a56
libfreerdp-core: refactor RPC receiving as a synchronized queue
2012-11-28 22:03:18 -05:00
Marc-André Moreau
3634a1bbf1
libfreerdp-core: encapsulate received RPC PDU
2012-11-28 21:25:01 -05:00
Marc-André Moreau
5faebcd77a
libfreerdp-core: start asynchronous receiving
2012-11-28 20:30:03 -05:00
Marc-André Moreau
3936a19914
libfreerdp-core: add asynchronous send queue
2012-11-28 13:38:01 -05:00
Marc-André Moreau
d0792ea4d1
libwinpr-synch: implement pipe-based semaphore
2012-11-28 12:47:04 -05:00
Marc-André Moreau
335add832d
libfreerdp-core: split code from rpc.c to rpc_bind.c and rpc_fault.c
2012-11-28 00:32:12 -05:00
Marc-André Moreau
536d7be180
libfreerdp-core: move RTS pdu signature checking to separate file
2012-11-27 22:27:04 -05:00
Marc-André Moreau
83a9af128f
libfreerdp-core: move TSG code in subdirectory
2012-11-27 18:52:08 -05:00