Bernhard Miklautz
7f3326d41c
Fix compiler warnings
...
gcc 4.7.2
* warning: value computed is not used [-Wunused-value]
* warning: unused variable ‘oss’ [-Wunused-variable]
2015-03-25 17:38:21 +01:00
Marc-André Moreau
6202f48c12
libfreerdp-core: add configurable TSG/RGB fallback, fix edge cases
2015-03-19 11:44:47 -04:00
Zhang Zhaolong
4b618852e4
core/gateway: fix memory leak of packet.
...
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-13 11:26:22 +08:00
Marc-André Moreau
44d06888bb
libfreerdp-core: fix BIO leaks
2015-02-18 15:36:57 -05:00
Marc-André Moreau
2f4a305c67
libfreerdp-core: fix tsg_get_event_handles
2015-02-18 13:50:03 -05:00
Marc-André Moreau
c2a107ac9d
libfreerdp-core: initial support for tsg silent reauth
2015-02-17 16:36:01 -05:00
Marc-André Moreau
3b622d15d1
libfreerdp-core: refactor TsProxy* calls
2015-02-17 16:15:57 -05:00
Marc-André Moreau
b8b94327c8
libfreerdp-core: improve tsg debug output and reauth sequence
2015-02-17 14:34:42 -05:00
Marc-André Moreau
668b2c1811
libfreerdp-core: fix tsg buffer flushing
2015-02-17 10:54:39 -05:00
Marc-André Moreau
7639addb40
libfreerdp-core: partial tsg reauth support
2015-02-16 15:35:51 -05:00
Marc-André Moreau
ffe24e8cfb
libfreerdp-core: improve TSProxyCreateTunnelRequest
2015-02-15 18:22:49 -05:00
Marc-André Moreau
991f7b347d
libfreerdp-core: further abstract multiple connections used internally by tsg from rdpTransport
2015-02-15 10:06:17 -05:00
Marc-André Moreau
edfc5120b7
libfreerdp-core: replace rdpTcp by BufferedSocket BIO
2015-02-14 10:14:13 -05:00
Marc-André Moreau
b7a619ff8a
libfreerdp-core: move some rdpTcp operations under BIO layer
2015-02-13 14:26:02 -05:00
Marc-André Moreau
889ccefe0d
libfreerdp-core: remove TlsIn/TlsOut from rdpTransport
2015-02-12 16:22:25 -05:00
Marc-André Moreau
0d85dfd395
libfreerdp-core: handle TCP/TLS connection at TSG RPC channel level
2015-02-12 14:40:26 -05:00
Marc-André Moreau
4ecff39eb6
libfreerdp-core: more tsg in/out channel refactoring
2015-02-12 14:08:38 -05:00
Marc-André Moreau
70fab69347
libfreerdp-core: gateway connection refactoring
2015-02-11 14:27:29 -05:00
Marc-André Moreau
aa8b843250
libfreerdp-core: move stuff down from transport to tsg layer
2015-02-11 11:57:02 -05:00
Marc-André Moreau
5fbcdf5b3d
libfreerdp-core: make tsg rpc connection event-driven, fix race condition on connection
2015-02-04 11:18:27 -05:00
Marc-André Moreau
13d4fa74c4
libfreerdp-core: start event-driven gateway http code
2015-02-03 17:17:17 -05:00
Marc-André Moreau
1bf0e2ee03
libfreerdp-core: add more IN/OUT gateway channel states
2015-02-03 16:33:45 -05: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
e4f99834d0
libfreerdp-core: make tsg threadless
2015-02-02 11:50:56 -05:00
Marc-André Moreau
bfe1c31529
libfreerdp-core: remove receive queue, make tsg connection sequence more event-driven
2015-02-02 08:19:07 -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
90a429e43c
libfreerdp-core: refactor tsg connection sequence towards better state machine usage
2015-02-01 17:55:24 -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
9406ac188c
libfreerdp-core: use ringbuffer for TS Gateway receive pipe
2015-02-01 13:09:28 -05:00
Marc-André Moreau
85191391d5
libfreerdp-core: simplify TS Gateway RPC fragment receiving
2015-01-31 16:56:25 -05:00
Marc-André Moreau
a9df86ab16
libfreerdp-core: update gateway code for Windows
2015-01-28 14:54:03 -05:00
Marc-André Moreau
5bf8b1509e
libfreerdp-core: improve socket BIO handling
2015-01-28 13:46:17 -05:00
Marc-André Moreau
d8ddfd83c3
libfreerdp-core: parse gateway idle timeout + final status code
2015-01-14 16:49:21 -05:00
Marc-André Moreau
fc38dcc775
libfreerdp-core: gateway cleanup
2015-01-13 13:50:46 -05:00
Marc-André Moreau
e2f377ae11
libfreerdp-core: fix TSG thread shutdown and input freeze problem
2014-12-15 09:42:04 -05:00
Marc-André Moreau
d8e10ac04a
freerdp: patch leaks reported by valgrind when using TS Gateway
2014-12-11 11:25:34 -05:00
Bernhard Miklautz
96ae2df5a4
tsg: unwind recursion in tsg_read
2014-11-26 19:46:32 +01:00
Bernhard Miklautz
c0525574c8
transport: handle all return values of tsg_read
...
tsg_read can also return 0 which means that no data (complete PDU) is
currently available. This case wasn't handled properly.
Fixes #2056
2014-11-26 19:46:32 +01:00
Armin Novak
727a7a9aed
Fixed memory leaks.
2014-11-17 01:08:38 +01:00
Armin Novak
2958a2c0c5
Fixed memory leaks.
2014-11-17 01:00:55 +01:00
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