Armin Novak
a1003ab6f0
Fixed scanbuild warnings.
2017-02-20 14:12:39 +01:00
akallabeth
3762401d43
Merge pull request #1750 from ccpp/master
...
Support for HTTP-Proxy
2017-01-11 11:02:00 +01:00
Martin Fleisz
ac090520c3
Fix compilation with OpenSSL 1.1.0 using MSVC
2017-01-09 16:43:28 +01:00
Norbert Federa
f71b6b46e8
fix string format specifiers
...
- fixed invalid, missing or additional arguments
- removed all type casts from arguments
- added missing (void*) typecasts for %p arguments
- use inttypes defines where appropriate
2016-12-16 13:48:43 +01:00
Christian Plattner
58ef7cc42d
More abstracted proxy handling
2016-12-10 23:13:35 +01:00
Christian Plattner
5d10b3bf5b
Merge branch 'gateway-http-bugfix'
...
Conflicts:
client/common/cmdline.c
include/freerdp/settings.h
libfreerdp/common/settings.c
libfreerdp/core/settings.c
libfreerdp/core/tcp.c
libfreerdp/core/transport.c
2016-12-09 20:43:02 +01:00
Norbert Federa
7befab856c
Support for OpenSSL 1.1.0
2016-11-24 17:50:09 +01:00
Christian Plattner
b6e97cbad4
Bugfix in RDP Gateway HTTP: read/skip full HTTP body for non-RPC responses
...
This fixes issues #3300 and #3479 , but it reveals that there might be a timeout issue with /gt:http and /gt:auto
2016-11-13 03:26:01 +01:00
Armin Novak
c7448c03fb
Added FREERDP_LOCAL
...
CMake 2.8 does not support default visibility on windows.
To allow building tests add the FREERDP_LOCAL define for each
function that is internal to FreeRDP.
When build with testing these functions are exported and available
for use by tests.
2016-10-06 13:43:09 +02:00
Armin Novak
eacf2b542e
Fixed memory leaks.
2016-05-12 10:01:30 +02:00
Armin Novak
7dcba9a663
Removed additional '\0' from TUNNEL_AUTH message.
2016-03-03 09:11:28 +01:00
Bernhard Miklautz
e02af8287e
Merge pull request #3160 from akallabeth/stream_fixes
...
Stream fixes
2016-03-01 16:44:19 +01:00
Armin Novak
e79eee2bb1
Fixed Stream API misuse.
2016-02-25 20:01:12 +01:00
Armin Novak
4ca6b9bf10
Unified random functions and remaining MD5.
2016-02-24 20:41:01 +01:00
Armin Novak
106479d6f2
Fixed clientNameLen initialization.
2016-01-26 09:34:22 +01:00
Armin Novak
73ec3d6aca
Removed fixed size strings.
2016-01-21 15:45:21 +01:00
Marc-André Moreau
9c35b73fb6
libfreerdp-core: fix gateway connectivity on Windows
2015-09-17 14:32:40 -04:00
Marc-André Moreau
48c7a8dc1d
Merge pull request #2889 from dvincent-devolutions/gateway
...
Fix RDP8 gateway disconnections
2015-09-16 10:41:07 -04:00
Denis Vincent
3ea0fe0c01
Small corrections to BIO implementation.
2015-09-16 09:54:03 -04:00
Marc-André Moreau
3f2915eb78
libfreerdp-core: alternative RDG BIO fix
2015-09-15 13:03:11 -04:00
Marc-André Moreau
12ce635b34
libfreerdp-core: fix code style
2015-09-15 10:37:57 -04:00
Denis Vincent
6d55635ed0
libfreerdp-core: Gateway RDP8 BIO correction. Fixes connection losses.
2015-09-15 09:03:39 -04:00
MartinHaimberger
db2ce49a98
Merge pull request #2763 from akallabeth/nla_null_auth
...
Fixed server and client NLA state machine for NULL identity.
2015-09-15 14:53:55 +02:00
MartinHaimberger
d971116457
Merge pull request #2765 from akallabeth/connect_abort
...
Connect abort and unified TCP connect
2015-09-07 10:05:24 +02:00
Armin Novak
188fe4ed2b
Removed rdp disconnect, using unified abortEvent instead.
2015-09-05 14:57:30 +02:00
Armin Novak
dd9d66a3e6
Fixed NONNULL argument warnings.
2015-08-28 10:59:48 +02:00
Armin Novak
e6c23cb534
Implemented Async TCP connect with abort event
...
* Implemented unified freerdp_tcp_connect_timeout with connect abort.
* Implemented unified freerdp_tcp_connect_multi with connect abort.
* Added connect abort to freerdp_tcp_connect.
* Added freerdp_abort_connect and abortEvent.
2015-08-27 15:33:06 +02:00
Armin Novak
cb01e540ba
Fixed CompleteAuthToken return check.
2015-07-09 09:49:12 +02:00
Armin Novak
48ccf73a36
More SSPI logging.
2015-07-08 17:41:22 +02:00
Armin Novak
6698e24228
Fixed leaks, NULL dereferences and broken init.
2015-06-23 21:29:21 +02:00
Bernhard Miklautz
bf73f4e4f1
Fix unchecked strdups
...
* add missing checks
* adapt function return values where necessary
* add initial test for settings
2015-06-22 19:09:59 +02:00
Armin Novak
3c329aa207
Using InitSecurityInterfaceEx(0) now.
2015-06-17 13:23:44 +02:00
Armin Novak
34253f2664
Let SSPI module choose which implementation to use.
2015-06-15 15:21:21 +02:00
David FORT
84ae1d1cfb
Take in account nfedera's remarks
2015-05-29 14:24:14 +02:00
David FORT
a9709a62cc
Check some return values
2015-05-29 14:24:14 +02:00
David FORT
909a965fe9
Added misc checks in rdg.c
2015-05-29 14:24:14 +02:00
Martin Haimberger
951a2d2210
stream: check stream_new in winpr and libfreerdp
...
also fixed a few things
2015-05-29 04:46:50 -07:00
Hardening
f8120919af
Add checks for some XXX_New and XXX_Add functions
...
Based on PR #2616
2015-05-18 11:28:00 +02:00
Norbert Federa
1eff1a345e
free can handle NULL perfectly fine
2015-05-11 09:07:39 +02:00
Armin Novak
d98e485ac0
Fixed some type mismatches.
2015-04-21 12:35:55 +02:00
Armin Novak
d3336340ba
Add *get_event_handles handle count, return check.
2015-04-21 12:24:50 +02:00
Daniel Bungert
0a1273e508
GW RPC-HTTP - Don't drop 4 byte stub from the pipe
...
* Though not frequent, it's possible to get TsProxySetupReceivePipe
data of stublength 4 that is actual data. This happens when
header->common.call_id == rpc->PipeCallId &&
!(header->common.pfc_flags & PFC_LAST_FRAG).
This should address GW disconnects that manifest as SSL read errors.
2015-04-10 15:09:54 -06:00
Daniel Bungert
3910baf49d
GW RPC-HTTP login fix
...
* f469e069dc
introduced a logic flip
that broke RPC-HTTP Gateway. Fix that.
2015-04-10 14:50:17 -06:00
Bernhard Miklautz
74c8400789
coding style fixes
...
Add missing space after if
2015-03-30 17:15:45 +02:00
Bernhard Miklautz
f469e069dc
stream: Stream_Ensure*Capacity: change return type
...
Change the return type of Stream_Ensure*Capacity from void to BOOL to be
able to detect realloc problems easily. Otherwise the only way to detect
this was to check if the capacity after the call was >= the required
size.
In case Stream_Ensure*Capacity fails the old memory is still available
and need to freed outside.
This commit also adds checks to most calls of Stream_Ensure*Capacity to
check if the call was successful.
2015-03-30 16:33:48 +02:00
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
cb8e61cf99
libfreerdp-core: fix rdg.c header include
2015-03-19 12:13:37 -04:00
Marc-André Moreau
69f4d78785
libfreerdp-core: fix rdg.h header include
2015-03-19 12:08:30 -04:00
Marc-André Moreau
6202f48c12
libfreerdp-core: add configurable TSG/RGB fallback, fix edge cases
2015-03-19 11:44:47 -04:00
Marc-André Moreau
a2ff1e8348
Merge branch 'gateway' of https://github.com/dvincent-devolutions/FreeRDP into gateway
2015-03-19 09:41:50 -04:00
Denis Vincent
08a3d40ef8
libfreerdp-core: minor code corrections
2015-03-19 09:17:56 -04:00
Denis Vincent
205ccb70c8
libfreerdp-core: added fallback to RPC.
2015-03-18 16:13:32 -04:00
Marc-André Moreau
1380895a2a
libfreerdp-core: fix RDG http receive
2015-03-18 09:48:21 -04:00
Marc-André Moreau
3c4bee3d95
libfreerdp-core: fix RDG valgrind issues
2015-03-17 16:54:45 -04:00
Marc-André Moreau
dc913d9f2c
libfreerdp-core: fix some RDG valgrind issues
2015-03-17 16:09:17 -04:00
Marc-André Moreau
360e2c5e4e
libfreerdp-core: fix rdg event handles
2015-03-17 15:13:11 -04:00
Marc-André Moreau
bdf17450e5
Merge branch 'gateway' of https://github.com/dvincent-devolutions/FreeRDP into gateway
2015-03-17 14:54:04 -04:00
Denis Vincent
144d0d9b23
libfreerdp-core: Initial RDG support.
2015-03-17 14:54:16 -04:00
Marc-André Moreau
afdd55fa81
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2015-03-13 15:30:31 -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
8ee4cbdffd
Merge branch 'gateway' of https://github.com/dvincent-devolutions/FreeRDP
2015-02-26 09:08:56 -05:00
Marc-André Moreau
1416ef8017
libfreerdp-core: fix tsg receiving of text/html content
2015-02-24 16:39:00 -05:00
Denis Vincent
baab23fd14
libfreerdp-core: Make tsg out channel recycling event driven
2015-02-24 15:34:41 -05:00
Marc-André Moreau
65b2842792
libfreerdp-core: improve RTS PDU receiving
2015-02-19 16:06:20 -05:00
Marc-André Moreau
b5f1958b69
libfreerdp-core: cleanup channel recycling
2015-02-19 15:06:57 -05:00
Marc-André Moreau
dfee7710e1
Merge branch 'gateway' of https://github.com/dvincent-devolutions/FreeRDP into gateway
2015-02-19 14:11:12 -05:00
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