Commit Graph

8213 Commits

Author SHA1 Message Date
Marc-André Moreau ff6dbb049c Merge pull request #2422 from akallabeth/nmake_warning_fixes
Fixes warning D9025 with NMake
2015-02-24 09:55:44 -05:00
Armin Novak 89d97e3f2b Fixes warning D9025 with NMake 2015-02-23 16:48:07 +01:00
Norbert Federa 1fd5508afd Merge pull request #2416 from zavadovsky/transport_dead_end_fix
libfreerdp-core: fix dead-end state in transport_read_pdu()
2015-02-23 12:56:26 +01:00
Bernhard Miklautz 757085096c Merge pull request #2415 from zavadovsky/android_fixes
Android fixes
2015-02-23 12:44:40 +01:00
Zavadovsky Yan ab8aedd801 libfreerdp-core: add comments for previous fix 2015-02-23 13:57:46 +03:00
Norbert Federa 31a75ea3e0 Merge pull request #2409 from bmiklautz/tcp_user_timeout
core/tcp: set TCP_USER_TIMEOUT if available
2015-02-23 11:00:06 +01:00
Zavadovsky Yan 60c79f5450 client/Android: fix coords calculation in previous commit 2015-02-23 11:50:32 +03:00
Marc-André Moreau 46303babb9 Merge pull request #2417 from austin987/master
winpr/asn1: add ASN1_CreateDecoder/ASN1_Decode stubs
2015-02-22 20:16:18 -05:00
Austin English 9c09a1d531 winpr/asn1: add ASN1_Decode stub 2015-02-22 19:11:11 -06:00
Austin English 2d185e51b5 winpr/asn1: add ASN1_CreateDecoder stub 2015-02-22 19:09:58 -06:00
Zavadovsky Yan 2be175cec4 libfreerdp-core: fix dead-end state in transport_read_pdu()
Situation: we have fragmented TPKT PDU without two last bytes
(or one last byte - for fast-path) in network stack.

First call to transport_read_pdu() works normally, read
available bytes and exit with status 0 - no whole PDU readed.

Before second call this missed bytes arrive.
Optionally with next PDU.

In second call header parsing code unconditionally read this
two bytes(one byte) despite this is not header bytes.
And increase stream position, so stream now contains whole PDU.

This cause (pduLength - Stream_GetPosition(s)) calculation to be 0.
So transport_read_layer_bytes()-->transport_read_layer() return 0
and transport_read_pdu() exits with "not enough data is available"
status.

If next PDU isn't available next calls to transport_read_pdu()
give same result.
If next PDU arrive - (pduLength - Stream_GetPosition(s)) will be
less than 0. Stream position will grow, grow and grow on each call.
And transport_read_pdu() never signals that PDU is readed.

Caught on Android FreeRDP client with high RDP traffic (several MBytes/s).
2015-02-22 00:28:22 +03:00
Zavadovsky Yan 082e7b8661 client/Android: optimize android_end_paint() logic
1. Don't draw to screen if server sends begin/end paint
messages without any real updates.
2. Redraw only summary region that covers really invalidated
part of screen.
2015-02-21 23:52:38 +03:00
Zavadovsky Yan ac8b50c464 client/Android: fix bad realloc
Fast and long pointer moves cause app to crash.
2015-02-21 23:51:02 +03:00
Marc-André Moreau c3bbe706fb Merge pull request #2411 from awakecoding/master
SCardTransmit pioRecvPci Fix
2015-02-20 15:48:36 -05:00
Marc-André Moreau bc50c81a0a channels/smartcard: fix SCardTransmit return encoding with pioRecvPci 2015-02-20 15:39:51 -05:00
Bernhard Miklautz 388d014888 core/tcp: set TCP_USER_TIMEOUT if available
Keepalive settings are usually (depending on the implementation) only
used if the TCP connection is idle.
If the network is interrupted/disconnected/... click or keyboard input
generates outgoing traffic therefore the connection isn't idle
anymore and keepalives might not be used causing the connection to
stay open and the client to stall.

Linux 2.6.36 added a TCP_USER_TIMEOUT TCP socket option that lets a
program specify the maximum time transmitted data may remain
unacknowledged before TCP will close the corresponding connection with
ETIMEDOUT.

Setting TCP_USER_TIMEOUT allows us to detect a network problem (like
cable disconnect) even if the connection isn't idle.
2015-02-20 13:22:01 +01:00
Marc-André Moreau ebdcf041f9 Merge pull request #2408 from dvincent-devolutions/gateway
TSGateway out channel recycling
2015-02-19 16:15:35 -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 15b8e7919f Merge pull request #2405 from akallabeth/rdpsnd_winmm_silence
Debug messages now use WLog_DBG instead of WLog_ERR.
2015-02-19 09:58:18 -05:00
Marc-André Moreau d5bb9a4077 Merge pull request #2406 from nfedera/fix-wlog-formats
wlog: wrong format specifiers, use LWP id on linux
2015-02-19 09:52:20 -05:00
Norbert Federa d7243a1fae wlog: wrong format specifiers, use LWP id on linux 2015-02-19 14:47:03 +01:00
Armin Novak 69afce34c7 Debug messages now use WLog_DBG instead of WLog_ERR. 2015-02-19 08:45:45 +01:00
Marc-André Moreau 970ed7b858 Merge pull request #2404 from awakecoding/master
Fix BIO leaks
2015-02-18 15:46:29 -05:00
Marc-André Moreau 44d06888bb libfreerdp-core: fix BIO leaks 2015-02-18 15:36:57 -05:00
Marc-André Moreau 3f371b22ad Merge pull request #2403 from awakecoding/master
Transport, Gateway, Sockets
2015-02-18 13:56:25 -05:00
Marc-André Moreau 2f4a305c67 libfreerdp-core: fix tsg_get_event_handles 2015-02-18 13:50:03 -05:00
Marc-André Moreau e9fe5bace6 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-02-18 13:42:28 -05:00
Marc-André Moreau 235683448f Merge pull request #2402 from nfedera/fix-2015-02-18-01
core: fix refreshRect/suppressOutput capabilities
2015-02-18 13:42:19 -05:00
Marc-André Moreau a6c292742e libwinpr-winsock: implement interface listing with WSAIoctl 2015-02-18 13:35:33 -05:00
Norbert Federa 5f525e4f8d core: fix refreshRect/suppressOutput capabilities
refreshRectSupport and suppressOutputSupport of the General
Capability Set (MS-RDPBCGR 2.2.7.1.1) are server-only flags
that indicate whether the Refresh Rect or Suppress Output
PDUs are supported by the server.

Therefore in rdp_read_general_capability_set() we must only
change the respective settings if we are not in server mode.
2015-02-18 19:33:19 +01:00
Marc-André Moreau f9885da81c Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-02-18 09:51:11 -05:00
Marc-André Moreau f86f5bc252 Merge pull request #2397 from hardening/nego_fix2
Fix disconnection when negociation has failed
2015-02-18 09:50:46 -05:00
Marc-André Moreau 004c501a69 Merge pull request #2398 from bjcollins/master
Fix the command line argument array setup for decorations flag
2015-02-18 09:50:37 -05:00
Marc-André Moreau b93f627f9e Merge pull request #2401 from bmiklautz/extend_wtsapi
Extend wtsapi with WTSStartRemoteControlSessionEx
2015-02-18 09:49:55 -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 ccf144e10f libwinpr-synch: fix test build on Win32 2015-02-17 18:44:09 -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
Bernhard Miklautz 0b902eeb5d wtsapi: add WTSStartRemoteControlSessionEx
WTSStartRemoteControlSession doesn't allow to specify additional flags
therefore add a new extended version WTSStartRemoteControlSessionEx
with an additional "flags" parameter.

The following flags are defined:

REMOTECONTROL_FLAG_DISABLE_KEYBOARD - disable keyboard input
REMOTECONTROL_FLAG_DISABLE_MOUSE    - disable mouse input
REMOTECONTROL_FLAG_DISABLE_INPUT    - disable input (keyboard and mouse)
2015-02-16 12:16:54 +01:00
Bernhard Miklautz 114a492a4e gitignore: ignore clion files 2015-02-16 12:14:20 +01:00
Marc-André Moreau ffe24e8cfb libfreerdp-core: improve TSProxyCreateTunnelRequest 2015-02-15 18:22:49 -05:00
Marc-André Moreau 9c7b7ab561 libfreerdp-core: make NLA event-driven 2015-02-15 16:04:59 -05:00
Marc-André Moreau eddfee56a3 libfreerdp-core: prepare client-side NLA for event-driven structure 2015-02-15 14:54:10 -05:00
Marc-André Moreau ab5fdcc3f1 libfreerdp-core: NLA cleanup 2015-02-15 11:10:14 -05:00