Commit Graph

140 Commits

Author SHA1 Message Date
Bernhard Miklautz
630cb35aa5 transport: fix variable initialization
Fixes possible problem when NLA is enabled and header verification fails.
2014-04-17 12:08:09 +02:00
Norbert Federa
4e2b696221 libfreerdp-core: fix transport_check_fds
This patch fixes an issue with hung clients connected to FreeRDP server:

- Removed the completely useless inner while loop which used the transport
  receive buffer stream position as break contition: The transport receive
  buffer stream is replaced after each iteration of this loop with a fresh
  instance from a pool which has the position set to 0. Thus it was
  technically impossible that this loop would ever be run twice.

- We must not always return if transport_read_nonblocking returns 0:
  transport_read_nonblocking() is also called in transport_write() and
  therefore it is possible that the stream position of the transport
  receive buffer is already > 0 when entering transport_check_fds.
2014-04-03 21:42:32 +02:00
Marc-André Moreau
56d75ac892 libfreerdp-core: fix non-C89 declaration 2014-04-01 20:56:34 -04:00
Marc-André Moreau
feea87b42f libfreerdp-crypto: make distinction between TLS connection error and user cancellation 2014-04-01 16:23:27 -04:00
Marc-André Moreau
a8551f4008 libfreerdp-core: fix potential issue while reading packet headers 2014-03-27 17:09:26 -04:00
Marc-André Moreau
3f07157637 libfreerdp-core: enforce checking of NLA packets in transport only when expecting NLA 2014-03-27 14:24:15 -04:00
Marc-André Moreau
14b75d1b27 libfreerdp-core: fix build warnings and windows broken build 2014-03-25 15:19:52 -04:00
Marc-André Moreau
4c920506ed libfreerdp-core: add 'Bypass RD Gateway server for local addresses' feature 2014-03-24 14:44:18 -04:00
Benoît LeBlanc
4bed3d082f Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-03-21 14:03:38 -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
40ffe51aef Merge branch 'master' of github.com:mrthebunny/FreeRDP 2014-03-20 09:49:51 -04:00
Norbert Federa
52f06250fd libfreerdp-core: fixed transport
Commit 1daea0d0dc introduced an
error: If transport_read_nonblocking returns 0 we may not return
without checking if the ReceiveBuffer is empty.
2014-03-19 21:06:21 +01:00
Benoît LeBlanc
af28a35e0d Transport: closing transport before sending stop event caused SSL errors when stopping the session. 2014-03-18 15:27:23 -04:00
Marc-André Moreau
8b15db3b66 Merge branch 'master' of github.com:awakecoding/FreeRDP 2014-03-11 11:55:49 -04:00
Mike McDonald
1daea0d0dc Modified transport_check_fds to deliver all available PDUs before returning to the caller. This prevents the caller from waiting indefinitely for a socket to get signalled that data is available. It fixes a problem with Microsoft mobile clients connecting to FreeRDS whereby the client places both the MCS Erect Domain and MCS Attach User PDUs into the same ethernet frame. As a result, FreeRDS was only processing the first PDU and then blocking indefinitely waiting for data to arrive on the socket. 2014-03-10 15:35:14 -04:00
Benoît LeBlanc
557c082458 Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-03-05 16:35:22 -05:00
Marc-André Moreau
8a44b2baa6 libfreerdp-core: add spn-class option 2014-02-12 00:43:02 -05:00
Benoît LeBlanc
53f2b8511d Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-02-06 12:13:39 -05:00
Marc-André Moreau
e8a9b7ff14 libfreerdp-core: fix ignored port settings for TS Gateway and vmconnect 2014-02-05 11:54:42 -05:00
Benoît LeBlanc
70cc837eaf Transport: trigger OnErrorInfo if a read/write error forced the thread to closed. 2013-12-20 18:26:07 -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
Marc-André Moreau
51ad85e0ee libfreerdp-core: send Access Denied TLS alert when server-side NLA fails 2013-12-18 19:44:18 -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
f429b909a9 libfreerdp-core: fix transport_free in cases where transport thread was not started 2013-11-26 11:30:44 -05:00
Marc-André Moreau
c4492411e4 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-11-14 19:41:59 -05:00
Armin Novak
31ffb498f8 Fixed argument checks in <transport_disconnect> 2013-11-14 10:09:21 +01:00
Marc-André Moreau
b0b8b6aa9e Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-11-12 12:59:41 -05:00
Armin Novak
0ac908ba20 Added assertions to detect invalid call sequences of <transport_free>
and <transport_disconnect>.
2013-11-12 15:04:26 +01:00
Marc-André Moreau
70aed3fa85 libfreerdp-core: minor style cleanup 2013-11-08 13:57:41 -05:00
Marc-André Moreau
5536033a8a libfreerdp-core: transport refactoring 2013-11-07 17:37:58 -05:00
Marc-André Moreau
61f95fbe16 libfreerdp-core: transport code style cleanup 2013-11-07 15:14:59 -05:00
Marc-André Moreau
9921e519a9 mfreerdp: fix termination of MacFreeRDP 2013-11-05 11:49:42 -05:00
Marc-André Moreau
3d339b04d9 libfreerdp-core: modify parsing functions to return int instead of BOOL to propagate session redirection return code 2013-11-04 15:52:29 -05:00
Marc-André Moreau
1f31fd9ae1 libfreerdp-core: fix deadlock in transport thread 2013-11-04 14:16:59 -05:00
Marc-André Moreau
813a26a212 libfreerdp-core: change transport thread 2013-11-04 12:40:29 -05:00
Marc-André Moreau
13b6678977 libfreerdp-core: start untangling session redirection 2013-11-03 16:25:56 -05:00
Marc-André Moreau
3e3c0f1942 libfreerdp-core: fix potential asynchronous queuing memory problems for primary drawing orders 2013-11-03 13:29:48 -05:00
Marc-André Moreau
76414588b1 libfreerdp-core: fix transport failure case with session redirection 2013-11-01 14:13:09 -04: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
1fc2d780f7 libfreerdp-core: fix memory leaks reported by valgrind 2013-10-31 23:35:24 -04:00
Marc-André Moreau
8c4b1361d1 libfreerdp-core: merge with TSG TLS update 2013-10-28 20:20:18 -04:00
Dan Bungert
66ecabb647 Final cleanups - merge ready. 2013-10-28 16:59:02 -06:00
Dan Bungert
f02daaa2d5 More cleanups - remove LWD and all references. 2013-10-28 15:46:28 -06:00
Dan Bungert
1dd2e649e3 Cleanup pass 1 2013-10-28 15:08:50 -06:00
Dan Bungert
c025042d07 NLA over TLS support
Improve credssp transport layer handling, so that it works
with the correct TLS object.
2013-10-28 14:39:10 -06:00
Dan Bungert
426dc2cf84 fix blocking issues. Full TLS over TLS. 2013-10-25 17:17:36 -06:00
Dan Bungert
cefcac3414 more debug 2013-10-25 15:29:46 -06:00
Dan Bungert
f13c8a0be7 Logging 2013-10-25 10:43:21 -06:00
Dan Bungert
db890d9bf2 TLS over TLS baseline functionality.
TLS over TLS works and we get screen drawing and server interaction.
Network traffic flows in spurts with frequent apparent hangups.
2013-10-24 12:58:06 -06:00