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
Benoît LeBlanc
bb9fa6979d
Fix compilation on windows (variable declaration was not in standard C)
2014-01-08 21:02:40 -05: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
3dddce811c
rpc client thread: added periodic check on transport layer state, replacing an infinite wait operation.
2013-12-20 18:23:57 -05:00
Benoît LeBlanc
ad4d5c1ce7
Added timeout on blocking send, receive operations
2013-12-20 18:22:29 -05:00
Benoît LeBlanc
44e7d2f36c
error handling in rpc and transport functions
2013-12-20 17:56:59 -05:00
Benoît LeBlanc
9245d364cc
Fixed handling gateway authentication error
...
Handle NULL pdu
2013-12-18 12:59:53 -05:00
Benoît LeBlanc
3adff0ec60
- added CANCELEDBYUSER error code.
...
- AUTHENTICATIONERROR error code correclty set on gateway authentication (http error 401)
- Better error handling on connection errors and user cancelation
2013-12-13 10:11:36 -05:00
Benoît LeBlanc
8c1f836ac8
- SSL verification callback: send correct hostname and port
...
- Gateway Authentication callback.
- Handling “use same credentials”
2013-12-06 22:15:45 -05:00
Marc-André Moreau
85b7ad90fe
libfreerdp-core: fix possible crash on unauthorized TS Gateway error
2013-12-05 17:31:33 -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
04c2e4aef6
Gateway: Logoff crash fix
...
This addresses a race condition where the freerdp client
may crash on logoff.
2013-10-17 14:53:39 -06: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
Marc-André Moreau
0dd5788266
libfreerdp-core: minor TS Gateway fixes
2013-10-11 02:10:02 -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
Armin Novak
91cfc90f3b
Fixed coverity issue 1047617
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
Marc-André Moreau
90ce8be9fc
freerdp-core: added Terminate event
2013-06-18 16:55:23 -04:00
Marc-André Moreau
2bd6808432
freerdp: merge with master
2013-06-05 10:31:01 -04:00
Benoit LeBlanc
bda6acbf3f
Updated with changes from awakecoding repository.
2013-05-31 14:54:15 -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
367ebf32a3
freerdp: make use of stream macros to access members
2013-05-15 12:14:26 -04:00
Marc-André Moreau
dc0aa4c72d
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2013-05-10 16:43:19 -04:00
Marc-André Moreau
30e2db0553
Merge pull request #1242 from hardening/http_fixes
...
Misc fixes in HTTP parsing
2013-05-08 15:44:49 -07: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
5e4365788f
freerdp: merge with master
2013-05-08 15:15:15 -04:00
Martin Fleisz
935aa5e2ea
iOS: Added TS Gateway support
2013-05-08 14:50:29 +02:00
Marc-André Moreau
51715636a5
freerdp: remove some deprecated stream utils
2013-04-29 22:35:15 -04:00
Benoit LeBlanc
3eebd2edf2
Implemented writing RDP file to disk
...
TODO: Optimize by only writing the fields that have a value i.e
~((size_t) file->FieldName) != 0
Fixed wfi leak.
Fixed insufficient mem alloc.
2013-04-22 16:08:47 -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
8c8a82c31f
libfreerdp-utils: purge old STREAM utils
2013-03-21 16:45:25 -04:00
Marc-André Moreau
882c914e6c
channels/tsmf: fix build
2013-03-21 14:45:03 -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
hardening
865ff2a5f8
Fixed compilation with -Wstrict-prototypes
2013-02-14 22:20:43 +01:00
Marc-André Moreau
6c57bcf0a9
libfreerdp-core: start implementing TSG messaging
2013-02-01 17:52:19 -05:00
Marc-André Moreau
a17ddeea2a
mfreerdp-server: merging with master
2013-01-31 11:33:08 -05:00
Marc-André Moreau
4a5bd8584a
libwinpr-sspi: cleanup NTLM authenticate message construction
2013-01-30 19:47:27 -05:00
Marc-André Moreau
f3d4da3cf9
libfreerdp-core: added more RPC fault PDU error codes
2013-01-25 13:52:01 -05:00
C-o-r-E
575a38794b
libfreerdp: fixed parenthesis
2013-01-23 13:44:58 -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
1d893ed268
libwinpr-sspi: add support for NTLMv2 Channel Binding Token (CBT)
2013-01-09 00:20:08 -05:00
Marc-André Moreau
81c2782be3
libwinpr-sspi: start implementing Channel Bindings
2012-12-21 12:17:07 -05:00
Marc-André Moreau
8267f2cb88
libfreerdp-core: fix usage of proper gateway credentials
2012-12-18 10:51:43 -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
a02090c09b
libfreerdp-utils: fix unicode conversion
2012-12-16 23:00:40 -05: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
cfa2e169c1
libfreerdp-core: added missing codec GUIDs
2012-12-13 23:33:24 -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
c0d12b1b9e
libfreerdp-core: implement RTS flow control ack PDU
2012-12-13 11:01:13 -05:00
Marc-André Moreau
c317c60275
libfreerdp-core: reply to TSG ping PDUs
2012-12-13 10:49:52 -05:00
Marc-André Moreau
f43298d69b
libfreerdp-core: set target name in RPC bind
2012-12-13 07:37:41 -05:00
Marc-André Moreau
c428d1c4de
libfreerdp-core: fix build on linux
2012-12-12 23:36:15 -05:00
Marc-André Moreau
6450ecd67f
libfreerdp-core: fix windows build
2012-12-12 23:18:20 -05:00
Marc-André Moreau
52353e2427
libfreerdp-core: TSG printf cleanup
2012-12-12 22:34:41 -05:00
Marc-André Moreau
7ff2be09b2
libfreerdp-core: more TSG memory cleanup
2012-12-12 22:03:40 -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
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
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
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
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
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
0fcd7ea243
libfreerdp-core: fix build with WITH_DEBUG_TSG
2012-11-30 12:35:49 -05:00
Marc-André Moreau
7285700705
libfreerdp-core: revert to HTTP/ SPN settings for TS Gateway
2012-11-29 10:53:54 -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
4da0c0daa9
libfreerdp-core: refactor NTLM over HTTP authentication
2012-11-27 22:03:05 -05:00
Marc-André Moreau
83a9af128f
libfreerdp-core: move TSG code in subdirectory
2012-11-27 18:52:08 -05:00