Denis Vincent
3e90726bac
libfreerdp-core: add TS Gateway out channel recycling support
2015-02-19 13:41:00 -05: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
0e57706de5
libfreerdp-core: cleanup connect error codes, fix Win32 NLA
2015-02-17 21:01:27 -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
69b93c322d
libfreerdp-core: fix transport crash, reduce rdpTcp usage
2015-02-13 09:27:54 -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
8f2b2be9f2
libfreerdp-core: integrate new RTS pdu functions from denis
2015-02-12 13:14:43 -05:00
Marc-André Moreau
c92e82b3dc
libfreerdp-core: improve TSG virtual connection and channel management
2015-02-12 12:03:15 -05:00
Marc-André Moreau
75cad064f1
libfreerdp-core: refactor tsg virtual connection, in/out channels
2015-02-11 15:26:22 -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
David FORT
58f33247bd
Fix compilation with valgrind helpers
2015-02-11 15:23:14 +01: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
f8259f94c5
libfreerdp-core: add event-driven RTS connection code
2015-02-03 20:39:47 -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
7b25f9130b
libfreerdp-core: improve error handling in ts gateway
2015-02-03 14:44:31 -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
0a97a5fc4e
libfreerdp-core: fix possible lost signal in tsg_connect
2015-02-01 17:06:50 -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
ef71181897
libfreerdp-core: fix Win32 gateway authentication
2015-01-29 14:07:02 -05:00
Marc-André Moreau
b387708069
libfreerdp-core: fix Win32 socket event handle
2015-01-29 11:35:52 -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
32a991c165
libfreerdp-core: move socket event and nonblock options to socket BIO
2015-01-27 21:18:26 -05:00
Marc-André Moreau
fa538911ca
libfreerdp-core: fix build on Windows
2015-01-15 15:04:35 -05:00
Marc-André Moreau
701186e461
libfreerdp-core: silence false error on server disconnect
2015-01-15 14:52:35 -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
94f828a873
libfreerdp-core: fix detection of TS Gateway transport disconnection
2015-01-14 15:39:35 -05:00
Marc-André Moreau
f79deaff7b
libfreerdp-core: partial OUT channel recycling support
2015-01-13 16:35:34 -05:00
Marc-André Moreau
43fe94d939
libfreerdp-core: fix identification of OUT R1/A2 RTS PDU
2015-01-13 15:01:07 -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
aa23c4eaaa
libfreerdp-core: fix random TS Gateway disconnects with async modes
2014-12-12 09:08:39 -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
Bernhard Miklautz
daa3e7c7f8
tsg: fix possible free of initialized memory
2014-11-27 15:08:07 +01:00
Bernhard Miklautz
5066a5e455
tsg: rpc_send_enqueue_pdu always free buffer
...
rpc_send_enqueue_pdu returns -1 on error but the type of error isn't
distinguishable. Therefore make sure that the buffer gets always freed.
The only exception to this is when the pdu was already queued. Then the
dequeuing function should take care of freeing the buffer when
processing the pdu.
2014-11-27 14:39:47 +01: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
Bernhard Miklautz
81a6c43938
tsg: fix segfault
...
Revert false positive from commit 585d9101b7
buffer shouldn't be freed since it is set and used in a stream.
2014-11-26 19:46:32 +01:00
Armin Novak
e61acfe6b4
Fixed null pointer dereference.
2014-11-17 01:26:31 +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
037c612c33
Fixed memory leak.
2014-11-17 00:58:43 +01:00
Armin Novak
a594a15220
Fixed memory leaks.
2014-11-17 00:28:17 +01:00
Armin Novak
9e5be6f7e8
Fixed API nonnull warning.
2014-11-17 00:00:09 +01:00
Armin Novak
585d9101b7
Fixed memory leaks.
2014-11-16 23:06:03 +01:00
Marc-André Moreau
ddedc574f3
freerdp: remove tcp, uds utils
2014-11-12 14:06:34 -05:00
Armin Novak
7ceddc73e9
Decreased logging verbosity.
2014-09-15 19:51:58 +02:00
Armin Novak
d178e33db5
Decreased logging verbosity.
2014-09-15 19:51:37 +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
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
Marc-André Moreau
04968b18c4
libfreerdp-core: replace all OpenSSL built-in BIOs by new full duplex BIOs
2014-06-01 21:37:20 -04: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
Sandor Oroszi
d447f122c3
libfreerdp-core: fix misplaced sec_trailer in rpc_auth_3 PDU
2014-05-20 17:15:26 +02:00
Hardening
9f1d0201ec
Changes for base64
...
This patch changes the prototype for decode_base64 so that the encode / decode
method are consistant (encode(BYTE *) => char* and decode(char*) => BYTE*).
It also does some improvements with unrolling loops so that end conditions are
tested only at the end.
The patch also adds some unitary tests.
Before the patch base64_decode() made valgrind complain about uninitialized
bits, after valgrind is happy and very quiet.
2014-05-11 22:49:10 +02:00
Hardening
597cba042a
Fix some compilation warnings
2014-04-29 16:02:31 +02:00
Marc-André Moreau
769502ec72
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2014-04-26 13:47:01 -04:00
Zhang Zhaolong
e64a64dcd6
core: fix memory leak in case of error out.
2014-04-26 13:44:28 +08:00
Zhang Zhaolong
69eee0709d
core: fix memory leak in case of error out.
2014-04-26 12:08:30 +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
3ee6494d36
libfreerdp-core: cleanup GatewayUsageMethod setting
2014-04-24 17:05:10 -04:00
Benoit LeBlanc
9e859ad11f
rpc_client_stop() : Avoid waiting infinitely for rpc client thread if connection failure occurs while in "synchronous receive" mode.
2014-04-24 14:07:11 -04: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
2edd8bee12
Misc fixes to check OOM
2014-04-10 21:10:19 +02:00
Marc-André Moreau
4093f1a715
Merge pull request #1782 from hardening/oom_cases
...
Treat OOM cases
2014-04-09 10:39:31 -04:00
Hardening
1d1844aabd
Treat OOM cases
2014-04-09 16:07:06 +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
Benoît LeBlanc
3e1dfc6311
updated context error messages. utility macros for getting error code CLASS/TYPE
2014-03-21 13:45:43 -04:00
Benoît LeBlanc
d1b9565f51
Added context-specific error management.
...
Added error codes to replace connectErrorCode.
2014-03-20 18:19:54 -04:00
Marc-André Moreau
e0966bbfff
Merge branch 'master' of github.com:mrthebunny/FreeRDP
2014-03-10 23:08:17 -04:00
Benoît LeBlanc
557c082458
Merge branch 'master' of git://github.com/awakecoding/FreeRDP
2014-03-05 16:35:22 -05: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
Marc-André Moreau
8a44b2baa6
libfreerdp-core: add spn-class option
2014-02-12 00:43:02 -05:00
Marc-André Moreau
cdcd290c44
wfreerdp: fix most build warnings
2014-02-10 22:12:13 -05:00