Commit Graph

184 Commits

Author SHA1 Message Date
Marc-André Moreau
af4a413287 Merge branch 'non_blocking_writes' of github.com:hardening/FreeRDP into non_blocking_writes 2014-05-22 14:01:44 -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
Marc-André Moreau
5e97757939 freerdp: fix improper .rdp file parsing 2014-05-10 17:28:34 -04:00
itsmikeeng
b65e8ac195 Fixed padding 2014-05-07 10:50:14 -07:00
Marc-André Moreau
3ee6494d36 libfreerdp-core: cleanup GatewayUsageMethod setting 2014-04-24 17:05:10 -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
Marc-André Moreau
4310089102 libfreerdp-core: add options for specifying compression level 2014-03-10 11:16:36 -04:00
Marc-André Moreau
8510ad3171 freerdp: remove rdpChannel definition in favor of CHANNEL_DEF 2014-02-28 12:07:22 -05:00
Marc-André Moreau
87be2e0f80 freerdp: add option to disable credentials delegation 2014-02-14 00:43:31 -05:00
Marc-André Moreau
8a44b2baa6 libfreerdp-core: add spn-class option 2014-02-12 00:43:02 -05:00
Marc-André Moreau
6bd4362e6d Merge branch 'auto-detect' of github.com:vworkspace/FreeRDP
Conflicts:
	include/freerdp/settings.h
	libfreerdp/core/gcc.c
	libfreerdp/core/gcc.h
	libfreerdp/core/mcs.h
	libfreerdp/core/rdp.c
2014-01-25 17:08:43 -05:00
Mike McDonald
07083acc97 First cut at network characteristics auto-detect and multitransport protocol 2014-01-23 18:01:31 -05:00
Marc-André Moreau
1c0e874b5b libfreerdp-core: more GCC and MCS fixes 2014-01-23 17:41:05 -05:00
Marc-André Moreau
38b125f336 libfreerdp-core: fix and update parsing of server-side GCC client data blocks 2014-01-23 16:00:02 -05:00
Marc-André Moreau
47f3b879db libfreerdp-core: implement parsing of less frequent core rdp messages 2014-01-11 22:54:08 -05:00
Marc-André Moreau
b3ea580616 freerdp: add missing SurfaceFrameMarkerEnabled setting 2013-12-08 11:17:16 -05:00
Marc-André Moreau
b0369cf284 libfreerdp-core: add external certificate management, pass X509 PEM certificate through client callback 2013-11-18 13:54:33 -05:00
Marc-André Moreau
b8a1f7d6c0 freerdp: implement restricted admin mode pass-the-hash option 2013-11-06 10:02:58 -05:00
Marc-André Moreau
a3d0e271b5 freerdp: add restricted admin option 2013-11-06 01:51:55 -05:00
Marc-André Moreau
13b6678977 libfreerdp-core: start untangling session redirection 2013-11-03 16:25:56 -05:00
Marc-André Moreau
d30f66b1b7 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-10-23 14:18:40 -04:00
Daryl Poe
076b8a84c2 commandline session reconnect 2013-10-22 09:14:29 -06:00
Marc-André Moreau
3951a6e1c3 channels/rdpgfx: implement basic negotiation 2013-10-21 23:33:25 -04:00
Marc-André Moreau
b1494322a9 libfreerdp-core: fix deep cloning of rdpSettings* 2013-10-18 22:42:50 -04:00
Marc-André Moreau
970d8d2260 libfreerdp-core: add freerdp_settings_clone 2013-10-16 22:55:51 -04:00
Marc-André Moreau
b70ecbbf62 libfreerdp-core: decouple initialization of rdpSettings from freerdp* instance 2013-10-12 18:20:25 -04:00
Marc-André Moreau
7a7c967425 libfreerdp-rail: cleanup RAIL code 2013-10-09 22:38:26 -04:00
Benoît LeBlanc
cf02d714b9 fixed freerdp_set_param_string prototype to use const char* 2013-10-02 14:33:46 -04:00
Marc-André Moreau
1cfd1bdc58 libfreerdp-common: parse more .rdp file settings 2013-09-17 15:42:36 -04:00
Marc-André Moreau
c4a8fe0064 libfreerdp-core: simplify management and consistency of PerformanceFlags 2013-09-17 14:56:23 -04:00
Marc-André Moreau
bc631c93a8 freerdp: separate GatewayUsageMethod from GatewayEnabled 2013-07-03 15:07:12 -04:00
Marc-André Moreau
aa4ce5ee4b freerdp: add more settings for window panning and scaling 2013-06-26 18:49:01 -04:00
Marc-André Moreau
f7af23c2e9 freerdp: added BitmapCompressionDisabled setting 2013-06-19 02:48:25 -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
Bernhard Miklautz
a6cfa931b5 core: changed type of FrameAcknowledge 2013-05-21 15:48:50 +02:00
Marc-André Moreau
99c821357d freerdp: add /multitouch option 2013-05-08 22:14:16 -04:00
Marc-André Moreau
12ec6c60db xfreerdp: add support for selecting individual monitors 2013-04-28 18:48:27 -04:00
Marc-André Moreau
24573ef08d xfreerdp: add /monitor-list option 2013-04-28 17:10:43 -04:00
Marc-André Moreau
1cfda17da9 xfreerdp: partial multimonitor patch from Hans-Peter Jansen 2013-04-28 16:27:23 -04:00
Benoit LeBlanc
e98bb31d27 RDP file writing optimization
removed function freerdp_get_connection_type

TODO:
- validate presence of all fields
- update cmdline.c to use set_param functions to modify settings.
2013-04-22 18:39:18 -04:00
Marc-André Moreau
bb733db683 wfreerdp: integrating benoit's latest code 2013-04-10 16:58:19 -04:00
Marc-André Moreau
0cbdd6b641 freerdp: merge with master 2013-04-09 10:18:03 -04:00
Vic Lee
3f9e70357c libfreerdp-core/settings: server read earlyCapabilityFlags. 2013-04-09 19:35:52 -07:00
Vic Lee
80229557b2 libfreerdp-core/server: put RemoteFX captureFlags into settings needed by some thin clients. 2013-04-09 12:43:10 -07:00
Marc-André Moreau
168a5eabf3 xfreerdp: add UI events (experimental) 2013-04-05 19:08:37 -04:00
Marc-André Moreau
066d3384c2 xfreerdp: fix RemoteApp with system message (don't show full desktop on every single connection, just when needed) 2013-03-28 22:26:28 -04:00
Marc-André Moreau
92114d1d38 freerdp: merging with master 2013-03-27 13:13:22 -04:00
Marc-André Moreau
1df8049c08 libfreerdp-core: started async transport 2013-03-27 13:03:41 -04:00
Marc-André Moreau
1813ced156 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-03-26 12:45:05 -04:00