Commit Graph

1383 Commits

Author SHA1 Message Date
Marc-André Moreau
75302e2cc2 libfreerdp-core: don't set connectErrorCode when there is no error 2014-03-27 11:50:56 -04:00
Marc-André Moreau
00e6463e1e channels/rdpdr: robustness improvements 2014-03-26 11:05:12 -04:00
Marc-André Moreau
797d326252 libfreerdp-core: fix handling of uncompressed packets 2014-03-26 09:16:28 -04:00
Hardening
ac7507ab8d Adds some check to treat OOM problems + RDP security fix
Malloc can fail so it will, this patch adds some check in some places
where malloc/strdup results were not checked.

This patch also contains a server side fix for RDP security (credit to nfedera).
The signature len was badly set in the GCC packet. And some other RDP security
oriented fixes are also there.
2014-03-25 23:13:08 +01: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
65ff98bb99 libfreerdp-core: fix /multimon and /span options 2014-03-25 14:39:21 -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
fb12998957 libfreerdp-core: fix context error handling 2014-03-22 17:42:44 -04:00
Benoit LeBlanc
21b5f0e418 Fix windows build 2014-03-21 15:25:00 -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
3e1dfc6311 updated context error messages. utility macros for getting error code CLASS/TYPE 2014-03-21 13:45:43 -04:00
Marc-André Moreau
23cb561a53 libfreerdp-core: fix RDP4 compression 2014-03-21 10:27:11 -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
Benoit LeBlanc
27c753f80c Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-03-19 11:53:10 -04:00
Norbert Federa
313c97df88 capabilities: fix MultifragMaxRequestSize parsing
- no reason to limit this to RemoteFX
- network and settings values were incorrectly compared
2014-03-19 10:52:05 +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
5a0f36b0ce libfreerdp-core: enable RDP6 bulk compression by default 2014-03-17 10:26:22 -04:00
Marc-André Moreau
59ff4db1c7 Merge branch 'master' of github.com:awakecoding/FreeRDP into ncrush 2014-03-17 10:18:56 -04:00
Marc-André Moreau
1184c3c835 Merge pull request #1740 from bmiklautz/bm/fix/msg_channel_id
only process msg channel pdu if msg channel is set
2014-03-17 10:18:27 -04:00
Marc-André Moreau
b23f0dba7f Merge pull request #1730 from divineforge/master
Fixing the E_PROXY_RAP_ACCESSDENIED error
2014-03-17 10:04:23 -04:00
Marc-André Moreau
5951a9178c libfreerdp-codec: remove old NCrush decompressor 2014-03-16 21:16:53 -04:00
Marc-André Moreau
90a135c928 libfreerdp-codec: cleanup new NCrush decompressor 2014-03-16 21:10:57 -04:00
Marc-André Moreau
698cae2052 libfreerdp-codec: start hooking new NCrush decompressor 2014-03-16 20:54:07 -04:00
Marc-André Moreau
20019f10b2 libfreerdp-codec: add NCrush offset cache decoding 2014-03-16 18:14:33 -04:00
Marc-André Moreau
669265d021 libfreerdp-core: initial NCrush decompression support 2014-03-16 18:01:02 -04:00
Marc-André Moreau
882f3098b3 libfreerdp-codec: add more NCrush tables, decode literals and CopyOffsets 2014-03-16 15:51:35 -04:00
Marc-André Moreau
2570e064ce libfreerdp-codec: add NCrush unit tests and tables 2014-03-15 22:18:22 -04:00
Marc-André Moreau
47ed6002f6 libfreerdp-codec: stub ncrush bulk compression 2014-03-15 14:03:05 -04:00
Bernhard Miklautz
59eadb9213 only process msg channel pdu if msg channel is set 2014-03-14 21:56:10 +01:00
Marc-André Moreau
4d9a3dc218 libfreerdp-core: change internal fastpath utils function declarations 2014-03-12 12:09:14 -04:00
Marc-André Moreau
d95f8638b8 libfreerdp-core: enable MPPC compression by default 2014-03-11 22:55:40 -04:00
Marc-André Moreau
786c2afb56 libfreerdp-core: add bulk compression metrics 2014-03-11 22:52:21 -04:00
Marc-André Moreau
88bebd1f15 libfreerdp-core: add support for RDP4 MPPC compression 2014-03-11 22:33:41 -04:00
Marc-André Moreau
85049299e0 libfreerdp-core: improve MPPC compress/decompress function definitions 2014-03-11 21:42:27 -04:00
Marc-André Moreau
37e037ee71 libfreerdp-core: hook new MPPC compressor successfully 2014-03-11 20:58:35 -04:00
Marc-André Moreau
d52acf9099 libfreerdp-core: start hooking new MPPC compressor 2014-03-11 17:52:34 -04:00
Marc-André Moreau
d2ed1793fa libfreerdp-core: cleanup fastpath update fragmentation 2014-03-11 17:25:00 -04:00
Marc-André Moreau
affc5d5cc4 libfreerdp-core: further reduce fastpath output sending 2014-03-11 15:35:15 -04:00
Marc-André Moreau
69534400a6 libfreerdp-core: simplify server-side fastpath fragmentation code 2014-03-11 14:43:28 -04:00
Marc-André Moreau
201bbf5df4 Merge branch 'master' of github.com:awakecoding/FreeRDP into mppc 2014-03-11 11:57:01 -04:00
Marc-André Moreau
8b15db3b66 Merge branch 'master' of github.com:awakecoding/FreeRDP 2014-03-11 11:55:49 -04:00
Marc-André Moreau
b245dea4a8 channels/rdpei: make use of callback interface for Suspend/Resume touch events 2014-03-11 11:55:38 -04:00
Marc-André Moreau
e0966bbfff Merge branch 'master' of github.com:mrthebunny/FreeRDP 2014-03-10 23:08:17 -04:00
Marc-André Moreau
98f98c95e9 libfreerdp-codec: remove old MPPC decompressor, fix RDP4 MPPC 2014-03-10 16:19:47 -04:00
Marc-André Moreau
891a10c4f6 libfreerdp-core: hook new MPPC decompressor 2014-03-10 15:57:39 -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
Mike McDonald
b4b6a2171d Merge branch 'master' of https://github.com/awakecoding/FreeRDP into awakecoding 2014-03-10 15:11:23 -04:00
Marc-André Moreau
f31676e4e4 libfreerdp-codec: make MPPC compressor produce output identical to Microsoft implementation 2014-03-10 15:06:23 -04:00
Marc-André Moreau
2f756745e9 libfreerdp-core: wrap old MPPC implementation under rdpBulk 2014-03-10 13:15:10 -04:00
Marc-André Moreau
61ecd0ff31 libfreerdp-core: add bulk.c to handle bulk compression in a centralized place 2014-03-10 11:41:10 -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
ab5e2b4f3d Merge branch 'mppc' of github.com:awakecoding/FreeRDP into mppc 2014-03-10 10:06:03 -04:00
Marc-André Moreau
dde2c26957 Merge branch 'master' of github.com:awakecoding/FreeRDP into mppc 2014-03-10 10:05:50 -04:00
Marc-André Moreau
805876f976 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-03-10 10:05:29 -04:00
Zhang Zhaolong
353b4f8ba3 clipboard: add events for file clipping. 2014-03-10 14:25:56 +08:00
William Cheong Weelau
bcff95c8ab Update redirection.c
this is related to the changes in connection.c that we should resolve using the FQDN first, where trying an internal get us into RAP Access denied issue.
2014-03-10 11:21:11 +08:00
William Cheong Weelau
4e588ac331 Update connection.c
it's better to check and resolve the connection use the FQDN first instead of ip address, due to the issue of getting internal ip address that's getting "Resource Access Denied" response.
2014-03-10 11:18:31 +08:00
Marc-André Moreau
baeefd1263 libfreerdp-codec: MPPC cleanup 2014-03-09 21:58:00 -04:00
Marc-André Moreau
ad7ed25d30 libfreerdp-codec: reduce amount of MPPC context variables 2014-03-09 20:45:42 -04:00
Marc-André Moreau
6c89e3cff7 libfreerdp-codec: initial MPPC decompression support 2014-03-09 19:55:52 -04:00
Marc-André Moreau
c686d434b7 libfreerdp-codec: initial RDP4/RDP5 MPPC compression test case success 2014-03-09 17:32:49 -04:00
Marc-André Moreau
ccf71a1fa3 libfreerdp-codec: improve MPPC compressor consistency with Microsoft implementation 2014-03-09 16:02:46 -04:00
Marc-André Moreau
3530b83291 libfreerdp-codec: add annotated MPPC compression samples 2014-03-09 14:35:11 -04:00
Marc-André Moreau
11e0830884 libfreerdp-codec: start adding support for RDP4 MPPC 2014-03-09 13:37:46 -04:00
Marc-André Moreau
16c176dd5f libfreerdp-codec: decode LengthOfMatch 2014-03-08 19:10:30 -05:00
Marc-André Moreau
d9a2fb4ff9 libfreerdp-codec: start MPPC compressor 2014-03-08 17:38:47 -05:00
Norbert Federa
b39cae3883 Fix handling of "no CAPSET_TYPE_SURFACE_COMMANDS"
If CAPSET_TYPE_SURFACE_COMMANDS is not received the SurfaceCommandsEnabled and SurfaceFrameMarkerEnabled settings must be set to FALSE.
2014-03-06 19:16:05 +01:00
Marc-André Moreau
95127d5632 libfreerdp-codec: start testing MPPC against large buffer 2014-03-05 18:03:39 -05: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
a711132cd9 libfreerdp-codec: initial RDP5 MPPC LOM/CO encoding 2014-03-05 16:28:53 -05:00
Marc-André Moreau
cea902deb8 libfreerdp-codec: produce correct LOM/CO sequences 2014-03-05 15:29:04 -05:00
Marc-André Moreau
94f99f9afc Merge pull request #1714 from dbungert/gateway
Improved Gateway error handling
2014-03-05 11:28:00 -05:00
Marc-André Moreau
5c635591ee Merge pull request #1720 from maksqwe/small_fixes
libfreerdp: small fixes
2014-03-05 11:26:32 -05:00
Norbert Federa
e74e9887eb libfreerdp-core/mcs: fixed protocol error+segfault
wrong channelcount pointer was referenced in the server
mcs attach user confirm pdu
2014-03-05 15:47:23 +01:00
Maks Naumov
ec7cc1d523 fix window_list_has_next() 2014-03-05 14:55:22 +02:00
Maks Naumov
85853051f0 fix filing array of "messages"
sizeof(sizeof(struct) * struct_count) == sizeof(size_t)
2014-03-05 14:49:00 +02:00
Maks Naumov
5fda218116 fix "_settings->ClientTimeZone" initialization 2014-03-05 14:24:07 +02:00
Mike McDonald
567b4f783b Merge branch 'master' of https://github.com/awakecoding/FreeRDP into awakecoding 2014-03-04 18:15:38 -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
35a289e14a libfreerdp-codec: start new MPPC compressor 2014-03-03 16:15:29 -05:00
Marc-André Moreau
c697941de2 libfreerdp-codec: add new freerdp_image_copy function with detailed parameters 2014-02-28 21:51:29 -05:00
Marc-André Moreau
004ad2123e libfreerdp-codec: fix typedef redefinitions 2014-02-28 16:17:36 -05:00
Marc-André Moreau
6695873394 libwinpr-wtsapi: fix multiple inconsistencies with original wtsapi headers 2014-02-28 14:49:57 -05: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
f7bcdad775 Merge branch 'master' of github.com:awakecoding/FreeRDP into channels 2014-02-27 16:55:24 -05:00
Marc-André Moreau
c22490ec3b xfreerdp: disable auto-reconnect by default, add command-line option 2014-02-27 16:55:07 -05:00
Marc-André Moreau
419e2936be Merge branch 'master' of github.com:awakecoding/FreeRDP into channels 2014-02-27 15:09:06 -05:00
Marc-André Moreau
951368a1ce Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-02-27 13:58:29 -05:00
Marc-André Moreau
6e1cdf1b67 libfreerdp-core: expose opaque HANDLE instead of WTSVirtualChannelManager* 2014-02-27 13:30:04 -05:00
Marc-André Moreau
922624f5b4 Merge branch 'master' of github.com:awakecoding/FreeRDP into channels 2014-02-27 12:14:18 -05:00
Marc-André Moreau
f3011492d8 freerdp-server: remove usage of deprecated custom server-side channel API 2014-02-16 23:09:21 -05:00
Marc-André Moreau
9afddf66ad libfreerdp-core: implement WTSVirtualChannelOpenEx 2014-02-16 23:00:58 -05:00
Marc-André Moreau
3e546a22a1 channels: start migrating existing server-side channels to WTSAPI 2014-02-16 22:07:00 -05:00
Marc-André Moreau
f21faf80ee libfreerdp-core: add more server-side WTSAPI stubs 2014-02-16 21:19:25 -05:00
Marc-André Moreau
a143a70114 libfreerdp-core: link against libwinpr-wtsapi, dynamically register proper WtsApi implementation in FreeRDS 2014-02-16 20:41:19 -05:00
Marc-André Moreau
1afeb448b4 libfreerdp-core: expose stubbed WtsApi function table from the core 2014-02-16 20:12:45 -05:00
Marc-André Moreau
de3156512c libfreerdp-core: start including wtsapi.h 2014-02-16 18:02:50 -05:00
Marc-André Moreau
82b922a70d channels: rename custom CHANNEL_ENTRY_POINTS_EX to CHANNEL_ENTRY_POINTS_FREERDP to fix conflict 2014-02-16 17:38:59 -05:00
Marc-André Moreau
b833073f57 libfreerdp-core: make client virtual channel API prototypes converge towards original API 2014-02-16 17:27:36 -05:00
Marc-André Moreau
858923836c libfreerdp-codec: fix windows compilation for new region code 2014-02-15 21:57:33 -05:00
Marc-André Moreau
bd1ba6e321 libfreerdp-core: get rid of useless wts_data_item in server-side virtual channels 2014-02-15 19:21:41 -05:00
Marc-André Moreau
6a04a7b43e libfreerdp-core: make use of message queues for server-side virtual channels 2014-02-15 18:41:40 -05:00
Marc-André Moreau
8a81208059 libfreerdp-core: move server-side virtual channels back into core 2014-02-15 17:42:59 -05:00
Marc-André Moreau
db7a9d2e77 libfreerdp-core: start moving internal MCS variables out of rdpSettings* 2014-02-15 16:32:38 -05:00
Marc-André Moreau
4bbd78a80b libfreerdp-core: remove unnecessary usage of freerdp_channels_data 2014-02-15 15:26:34 -05:00
Marc-André Moreau
7d54669a6e libfreerdp-core: reduce amount of global table locking in client-side virtual channels 2014-02-15 14:57:10 -05:00
Marc-André Moreau
aca0b9996d Merge branch 'remoteFx_fix2' of https://github.com/hardening/FreeRDP into hardening-remoteFx_fix2
Conflicts:
	libfreerdp/codec/test/CMakeLists.txt
2014-02-15 11:06:09 -05:00
Christian Hofstaedtler
5a74bd7bdb Fix assertion abort when no CN is present in certificate
Triggered by Windows Server 2012 Admin-Mode with MS-recommended AD CA
Certificate setup, which would cause the CN to be absent, and a single
subjectAltName to be present.
2014-02-14 15:25:48 +01:00
Marc-André Moreau
bd6f6151c3 Merge branch 'master' of github.com:awakecoding/FreeRDP 2014-02-14 00:45:05 -05:00
Marc-André Moreau
87be2e0f80 freerdp: add option to disable credentials delegation 2014-02-14 00:43:31 -05:00
Marc-André Moreau
22fbf48109 libwinpr-utils: add synchronized version of HashTable 2014-02-13 22:25:30 -05:00
Marc-André Moreau
c5b14a5e0a libfreerdp-core: make use of rdpMcs* instead of rdpSettings* in most GCC functions 2014-02-13 17:50:38 -05:00
Marc-André Moreau
e5990fa60c libfreerdp-core: MCS cleanup, better handling of domain parameters 2014-02-13 17:06:33 -05:00
Marc-André Moreau
bc579912f6 Merge branch 'master' of github.com:awakecoding/FreeRDP 2014-02-13 11:59:13 -05:00
Marc-André Moreau
35a1aeac99 libfreerdp-gdi: minor cleanup, set text color on PatBlt 2014-02-13 11:59:05 -05:00
Marc-André Moreau
8a44b2baa6 libfreerdp-core: add spn-class option 2014-02-12 00:43:02 -05:00
Marc-André Moreau
0a2af868ef libfreerdp-gdi: fix mem3blt SetTextColor 2014-02-11 18:02:26 -05:00
Marc-André Moreau
7fbdf13a61 libfreerdp-gdi: fix mem3blt color conversion 2014-02-11 17:32:08 -05:00
Marc-André Moreau
b665d892a0 libfreerdp-core: move client channels code to separate file 2014-02-11 15:42:28 -05:00
Marc-André Moreau
ea8c9956d2 libfreerdp-codec: add some RemoteFX test data 2014-02-11 13:30:33 -05:00
Marc-André Moreau
00ace94b94 libfreerdp-channels: start consolidating channels client code with core 2014-02-10 23:13:29 -05:00
Marc-André Moreau
e968bb584e xfreerdp: fix build warnings 2014-02-10 22:23:59 -05:00
Marc-André Moreau
cdcd290c44 wfreerdp: fix most build warnings 2014-02-10 22:12:13 -05:00
Marc-André Moreau
39e64c5808 wfreerdp: fix monolithic static build 2014-02-10 21:07:05 -05:00
vworkspace
914a54f1fd Removed code corresponding to new cliprdr events. A separate pull request will be issued to request a merge of new cliprdr features. 2014-02-07 16:21:20 -05:00
vworkspace
e6efe7c678 Added creation of rdpei events and added processing of received 'suspend/resume touches' event from the server in the rdpei plugin. 2014-02-07 13:16:41 -05:00
Hardening
115a1e863d Fixes in intersection + checks
Fix a bug in the extents of an intersection.
Add some checks and assert that helps when using the remoteFx encoder.
A speedup for intersection when bands are above the target rect.
2014-02-07 17:10:29 +01: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
Hardening
0915060f40 Fixes before pullreq
Replaced zmalloc by calloc.
Moved region from utils to codec.
Fixed some typo and corner cases.
2014-02-05 16:24:46 +01:00
Marc-André Moreau
1ce1bcb5a3 libfreerdp-codec: add more checks in MPPC compression test 2014-02-05 08:54:10 -05:00
Marc-André Moreau
3bd5fda4a8 libfreerdp-codec: port MPPC unit tests 2014-02-05 08:37:13 -05:00
Hardening
4cc037d148 Some fixes after Norbert code review
There were a bug when the rectangles extents where not at the origin.
Some debugging statement have laso been removed.
2014-02-05 14:07:22 +01:00
Benoît LeBlanc
9d929469d2 Merge branch 'master' of git://github.com/awakecoding/FreeRDP
# By Marc-André Moreau (27) and others
# Via Marc-André Moreau
* 'master' of git://github.com/awakecoding/FreeRDP: (48 commits)
  afreerdp: fix build on Android
  libwinpr-wtsapi: include wtsapi32.h on Windows
  wfreerdp: fix target exporting
  wfreerdp: fix building against OpenSSL with MONOLITHIC_BUILD and shared libraries
  wfreerdp: fix test build issues
  libwinpr-crypto: implement CryptProtectMemory/CryptUnprotectMemory
  libwinpr-memory: add missing definitions
  libwinpr-memory: start stubbing
  Increased size of stream on GCC conference create request from 512 to 1024.  For large numbers of static virtual channels, the stream was being overflowed and was causing crashes.
  Fixes to process new command line options (autodetect, heartbeat, multitransport), join the MCS message channel and process auto-detect PDUs during the connection sequence.
  wfreerdp: fix build against static openssl library
  winpr-hash: fix building against openssl in static mode
  libfreerdp-gdi: fix invalidation of region with line drawing
  mfreerdp: fix hungarian keyboard '0' and 'i' key inversion
  Fixes build issue on Windows
  libwinpr-synch: add active/inactive linked list for timer queue
  libwinpr-synch: improve timer queue implementation
  libwinpr-synch: make use of head's expiration time in timer queue
  libwinpr-synch: make use of timespec for timer queue
  libwinpr-synch: improve timer queue implementation
  ...

Conflicts:
	client/common/CMakeLists.txt
2014-02-04 11:37:40 -05:00
Hardening
2d16d929b6 Fix remoteFx encoder with topleft and bottomright rectangle
This patch fixes the case where with a topleft and a bottomright
rectangle, the encoder would send the full screen instead of only the
intersected tiles.
2014-02-04 16:22:34 +01:00
Hardening
d1e75efb8c Add a region component
This patch adds a pixman_region like component in the utility components
of FreeRdp.
The data structure is exactly the same as in pixman_region but the implementation
differs as we need fewer methods.
The patch contains the corresponding unitary tests.
2014-02-04 11:12:00 +01:00
Marc-André Moreau
9bdfbcd556 wfreerdp: fix test build issues 2014-02-01 12:50:28 -05:00
Marc-André Moreau
d4486b3205 Merge branch 'awakecoding' of github.com:vworkspace/FreeRDP 2014-01-31 17:20:47 -05:00
vworkspace
aca384992f Increased size of stream on GCC conference create request from 512 to 1024. For large numbers of static virtual channels, the stream was being overflowed and was causing crashes. 2014-01-31 13:52:37 -05:00
Marc-André Moreau
dd789ba9ba Merge branch 'awakecoding' of github.com:vworkspace/FreeRDP 2014-01-31 10:48:31 -05:00
Mike McDonald
02c9d07bcf Fixes to process new command line options (autodetect, heartbeat, multitransport), join the MCS message channel and process auto-detect PDUs during the connection sequence. 2014-01-29 22:53:32 -05:00
Marc-André Moreau
97dd904a36 libfreerdp-gdi: fix invalidation of region with line drawing 2014-01-28 21:46:47 -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
Marc-André Moreau
3782c2ad72 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-01-25 16:34:34 -05:00
Marc-André Moreau
95634f3e4c libfreerdp-core: improve encoding and decoding of GCC core data block 2014-01-24 13:03:37 -05:00
Mike McDonald
63f6947872 Added heartbeat to rdpRdp struct and added calls to heartbeat constructor and destructor 2014-01-24 08:38:28 -05:00
Mike McDonald
ac8fe6ad61 Added heartbeat code 2014-01-23 22:23:47 -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
ae9c10e233 Merge pull request #1664 from vworkspace/auto-reconnect
Addition of auto reconnect to FreeRDP core and X11 client
2014-01-23 10:15:18 -08:00
Mike McDonald
a563362ea2 Changed #define for SOL_TCP to be IPPROTO_TCP instead of 6 2014-01-21 11:06:29 -05:00
Mike McDonald
c0d26443ce Added #define for SOL_TCP to fix compilation error on iOS 2014-01-21 08:27:21 -05:00
Mike McDonald
25f834043e Modified FreeRDP core to ignore SIGPIPE signal. This signal was being generated during a call to SSL_shutdown when the socket is in a disconnected state. The proper way to handle this is to ignore SIGPIPE and allow the write system call to report an errno of EPIPE. 2014-01-20 11:20:50 -05:00
Mike McDonald
5ce6b787ec Revert "Fixed tls_read and tls_write to prevent a subsequent crash in SSL_shutdown when read/write errors occur."
This reverts commit 2a49238351.
2014-01-20 11:09:45 -05:00
Mike McDonald
4e31b9bbb9 Revert "Modified TLS code to handle disconnects a little cleaner."
This reverts commit c273a4ac5e.
2014-01-20 11:08:33 -05:00
Mike McDonald
3ddf681feb Revert "Fixed comment in tls_disconnect."
This reverts commit 7f040406ac.
2014-01-20 11:06:08 -05:00
Benoit LeBlanc
b142bd4e4d Added PubSub notification on mouse events (only triggered in Windows) 2014-01-17 18:17:10 -05:00
Mike McDonald
7f040406ac Fixed comment in tls_disconnect. 2014-01-17 11:54:35 -05:00
Mike McDonald
c273a4ac5e Modified TLS code to handle disconnects a little cleaner. 2014-01-17 11:51:39 -05:00
Mike McDonald
2a49238351 Fixed tls_read and tls_write to prevent a subsequent crash in SSL_shutdown when read/write errors occur. 2014-01-17 10:24:13 -05:00
Mike McDonald
c4f6dcc24f Added auto reconnect to FreeRDP core and X11 client 2014-01-16 17:38:56 -05:00
Daryl Poe
9897f72b97 add additional evdev key mappings for multimedia and Korean keyboards 2014-01-14 15:18:20 -07:00
Hardening
c1a6eda740 Improve performance for delta_encoder
This patch inline the case of the first line to drop the if() that was done
at each loop.
Some variable have been renamed for code clarity.
2014-01-14 09:44:38 +01:00
Marc-André Moreau
6dfaa8eefa libfreerdp-codec: got planar encoder to work 100% correctly 2014-01-13 22:16:10 -05:00
Benoît LeBlanc
4dbe3126aa Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-01-13 14:53:15 -05:00
Marc-André Moreau
7c6be746a6 libfreerdp-codec: minor planar codec fix (undocumented behaviour for RLE) 2014-01-12 16:28:06 -05:00
Marc-André Moreau
47f3b879db libfreerdp-core: implement parsing of less frequent core rdp messages 2014-01-11 22:54:08 -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
Marc-André Moreau
843953048c Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-01-08 11:16:35 -05:00
Hardening
f1d6afca6a Fix CVE-2014-0791
This patch fixes CVE-2014-0791, the remaining length in the stream is checked
before doing some malloc().
2014-01-08 16:57:56 +01:00
Benoît LeBlanc
df92491088 Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-01-06 09:36:33 -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
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
Marc-André Moreau
eb8f34ffef libfreerdp-codec: reduce size of GDI bitmap encoder 2013-12-20 16:02:20 -05:00
Marc-André Moreau
4c6218e594 libfreerdp-codec: make planar encoder pass compression/decompression tests 2013-12-20 02:41:25 -05:00
Marc-André Moreau
74a3232707 libfreerdp-codec: add new planar codec test data 2013-12-19 19:56:58 -05:00
Marc-André Moreau
05947dd0b2 libfreerdp-core: fix linux build 2013-12-18 22:02:59 -05:00
Marc-André Moreau
5e4f77b05f Merge branch 'master' of github.com:mrthebunny/FreeRDP 2013-12-18 21:52:41 -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
9245d364cc Fixed handling gateway authentication error
Handle NULL pdu
2013-12-18 12:59:53 -05:00
Benoît LeBlanc
5de7a4f082 Code cleanup 2013-12-18 12:44:40 -05:00
Hardening
33f0eb0915 More security fixes for capabilities
This patch fixes a security issue which would allow an attackant to set bytes to 1 at choosen places.
It also fixes a warning when DEBUG_CAPABILITIES is set.
2013-12-18 10:54:02 +01: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
Hardening
8767931431 Harden capability parsing
Don't check only the number of capabilities but also the remaining size in the stream
2013-12-13 15:08:43 +01:00
Benoît LeBlanc
469303a545 Fix: PromptCredentialsOnce / GatewayUseCredentials were always set to true regardless of the value present in the rdp file. 2013-12-12 11:32:36 -05:00
Marc-André Moreau
9d745cc038 Merge branch 'master' of github.com:mrthebunny/FreeRDP 2013-12-11 12:22:33 -05:00
Benoît LeBlanc
72f58b220d Remove deprecated ParamChanged event 2013-12-10 17:37:08 -05:00
Marc-André Moreau
5f96f50e0d libfreerdp-gdi: port old cunit gdi tests to ctest 2013-12-10 16:35:46 -05:00
Marc-André Moreau
62199fc46a Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-12-10 11:54:03 -05:00
Marc-André Moreau
26f543cdf4 libfreerdp-codec: planar cleanup 2013-12-09 12:02:05 -05:00
Benoît LeBlanc
cb46bbade0 Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2013-12-09 09:37:38 -05:00
Marc-André Moreau
718a0d0bbc libfreerdp-codec: avoid pixel overflow with planar codec RLE test cases 2013-12-08 23:17:24 -05:00
Marc-André Moreau
1add4e628f libfreerdp-codec: make planar codec encoder context reusable 2013-12-08 17:06:59 -05:00
Marc-André Moreau
6dfdc286ec libfreerdp-core: disconnect client when accept fails 2013-12-08 14:43:11 -05:00
Armin Novak
cf71df7881 Fixed include paths and linking for jpeg library. 2013-12-08 14:18:34 +01:00
Hardening
98245b8177 Fixed typo in the initialization 2013-12-08 11:22:36 +01: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
Hardening
d7b7fcc688 Parse the Surface frame marker flag
This patch adds the parsing for the surface framemarker flag, so that
we can test it later.
2013-12-06 23:25:31 +01: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
4d6f3b6de4 libfreerdp-client: fix bug in pInterface channel registration 2013-12-05 16:55:28 -05:00
Bernhard Miklautz
6763e059c3 tls: handle the case if endpoint has disconnected 2013-12-04 15:36:25 +01:00
Bernhard Miklautz
2b6b4a6685 updated file headers 2013-12-04 11:44:22 +01:00
Marc-André Moreau
2114fbb8f9 libfreerdp-codec: add new planar codec test case 2013-12-03 20:14:07 -05:00
Marc-André Moreau
f24610c7c0 Merge branch 'master' of github.com:awakecoding/FreeRDP 2013-12-03 18:50:40 -05:00
Marc-André Moreau
9096bd3b61 libfreerdp-codec: make planar codec bitmap 01 pass the test 2013-12-03 18:50:22 -05:00
Marc-André Moreau
c3723c66a8 Merge pull request #18 from hardening/gcc_fixes
More security in gcc.c
2013-11-29 09:59:55 -08:00
Marc-André Moreau
9d1c4c10a6 libfreerdp-codec: make planar decoder more robust 2013-11-29 04:12:59 -05:00
Marc-André Moreau
82b12621af libfreerdp-codec: refactor planar decompression 2013-11-29 03:06:39 -05:00
Marc-André Moreau
d9e1c0abaa libfreerdp-codec: add more planar unit tests 2013-11-29 02:16:16 -05:00
Marc-André Moreau
338d809e3a libfreerdp-codec: extend planar codec unit tests 2013-11-28 19:51:29 -05:00
Hardening
1d6a07d2d5 More security in gcc.c
As strange as it looks, i have found more errors that could lead to
security issues in gcc.c.
2013-11-28 23:17:21 +01:00
Marc-André Moreau
cca020a711 libfreerdp-codec: reorganize planar RLE encoding logic 2013-11-28 15:49:22 -05:00
Marc-André Moreau
fcafbfe626 libfreerdp-codec: improve planar RLE compression 2013-11-27 18:21:05 -05:00
Marc-André Moreau
a5c1d0bbaa libfreerdp-codec: detect planar overflow per set of planes, not individual planes 2013-11-27 16:23:20 -05:00
Marc-André Moreau
7d3ce08e96 libfreerdp-codec: simply planar RLE code 2013-11-27 14:46:38 -05:00
Marc-André Moreau
5bcdab95ff libfreerdp-codec: partial planar RLE compression support 2013-11-26 22:16:31 -05:00
Marc-André Moreau
919b6c666a libfreerdp-codec: compress and output RDP6 RLE planes 2013-11-26 18:04:29 -05:00
Marc-André Moreau
c64e10444b libfreerdp-codec: get all steps of planar scanline delta encoding tested 2013-11-26 16:30:43 -05:00
Marc-André Moreau
52a1b328f2 libfreerdp-codec: start implementing delta-encoding of planar scanlines 2013-11-26 16:07:55 -05:00
Marc-André Moreau
021ef0533e libfreerdp-codec: implement planar codec RLE scanline encoding 2013-11-26 15:16:40 -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
6d2608cbcb Merge branch 'master' of github.com:mrthebunny/FreeRDP 2013-11-26 11:10:44 -05:00
Marc-André Moreau
c8c75fd4e0 libfreerdp-codec: implement working uncompressed RDP6 bitmap planar codec 2013-11-25 23:29:20 -05:00
Marc-André Moreau
d30656d441 libfreerdp-codec: start implementing uncompressed RDP6 planar codec 2013-11-25 22:26:08 -05:00
Marc-André Moreau
7446c6f02b libfreerdp-codec: start unit tests for RDP6 planar compressor 2013-11-25 18:58:01 -05:00
Benoît LeBlanc
6a60f79e07 Merge branch 'master' of git://github.com/awakecoding/FreeRDP
# By Bernhard Miklautz (10) and others
# Via Marc-André Moreau (10) and Martin Fleisz (1)
* 'master' of git://github.com/awakecoding/FreeRDP: (32 commits)
  libfreerdp-crypto: add robustness checks for VerifyX509Certificate
  mfreerdp: fix possible crash on gdi termination
  channels/cliprdr: add callback for data request response
  channels/cliprdr: fix conflict with CLIPRDR_HEADER
  fix a gdi leak bug.
  channels/cliprdr: implement more of the callback interface
  channels/cliprdr: start implementing clean callback interface
  channels/rdpsnd: initial attempt at adding GSM610 support
  winpr-thread: fixed bugs in _CreateProcessExA
  ffmpeg-2 -- CodecID
  ffmpeg-2 -- dsp_mask
  ffmpeg-2 -- AVCODEC_MAX_AUDIO_FRAME_SIZE
  check return value.
  reformat coding styles.
  fix name length to copy.
  fix memory realloc size error.
  libfreerdp-crypto: don't report SSL_ERROR_SYSCALL with errno value 0 as error
  channels/rdpsnd: add wlog debug output
  android toolchain: support for ndk r9b
  android toolchain: fixed cmake syntax warning
  ...
2013-11-25 14:40:01 -05:00
Benoît LeBlanc
56c517170f Added hostname and port to callback function for SSL certification verification. 2013-11-25 14:30:43 -05:00
Marc-André Moreau
4987f2b0e1 libfreerdp-crypto: add robustness checks for VerifyX509Certificate 2013-11-25 12:08:58 -05:00
Marc-André Moreau
128fb72ec6 mfreerdp: fix possible crash on gdi termination 2013-11-25 00:25:16 -05:00
Marc-André Moreau
83ad1730b8 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	libfreerdp/core/input.c
	libfreerdp/core/update.c
2013-11-23 16:39:29 -05:00
Marc-André Moreau
cf0dace9d9 Merge branch 'master' of github.com:mrthebunny/FreeRDP 2013-11-23 16:31:23 -05:00
Benoît LeBlanc
d734bde420 Fix leak: free gdi object (if it wasn’t freed before) 2013-11-22 13:37:28 -05:00
Marc-André Moreau
76c842285d channels/rdpsnd: initial attempt at adding GSM610 support 2013-11-22 12:11:39 -05:00
Marc-André Moreau
690a6b624d libfreerdp-crypto: don't report SSL_ERROR_SYSCALL with errno value 0 as error 2013-11-20 15:21:29 -05:00
Bernhard Miklautz
261651b43b core: don't use c99 style initialization
fixes #1602
2013-11-18 20:29:00 +01: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
5fc0f72c90 Merge branch 'master' of github.com:mrthebunny/FreeRDP 2013-11-15 09:36:39 -05:00
Benoît LeBlanc
c4de5a4e4b Fixed compilation on windows (code was not standard C) 2013-11-15 08:21:36 -05:00
Marc-André Moreau
498227eb1b libfreerdp-core: map more Disconnect Provider Ultimatum PDU reason codes to error info pdu 2013-11-14 23:41:46 -05:00
Marc-André Moreau
fa12414a4b libfreerdp-core: fix parsing of MCS Disconnect Provider Ultimatum, workaround for 2008 R2 lack of error info pdu on user logoff 2013-11-14 23:05:29 -05:00
Marc-André Moreau
c4492411e4 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-11-14 19:41:59 -05:00
Armin Novak
6f43252c9a Fixed argument check in <tls_disconnect> 2013-11-14 10:09:40 +01: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