Commit Graph

8058 Commits

Author SHA1 Message Date
Marc-André Moreau
4e1483a694 Merge pull request #2349 from RolKau/2349_dvp
Forward layout ID of Programmer Dvorak to server
2015-02-04 11:30:35 -05:00
Marc-André Moreau
4af1261132 Merge pull request #2350 from giox069/master
Fix freerdp_channels_free for clients with multiple active connections
2015-02-04 11:27:41 -05:00
Norbert Federa
0f8fc29dfa Merge pull request #2361 from bmiklautz/set_pointer_fix
xfreerdp: fix problem with SetPosition
2015-02-04 10:03:21 +01:00
Bernhard Miklautz
5558f7cd54 xfreerdp: fix problem with SetPosition
Since XWarpPointer generates an pointer motion event, as if the mouse
was moved by hand, xfreerdp sends back the received mouse position to
the server. This behavior is wrong since pointer positions set via
server pointer update pdu shouldn't get sent back to the server
(it's not a "real" mouse move).

To fix this problem change the x windows event mask to not handle
pointer motion events before setting the new pointer position and change
it back again afterwards.

Possible downside of this is that some pointer motion events might get
lost but this shouldn't be noticeable.

Thanks to nfedera for the neat idea ;).
2015-02-03 22:08:34 +01:00
Hardening
6bf23c1e35 Merge pull request #2358 from nfedera/fix-2015-02-03-01
core/fastpath: removed flawed slow-path conversion
2015-02-03 17:22:21 +01:00
Hardening
aed323e6c2 Merge pull request #2356 from nfedera/fix-2015-02-02-01
core/capabilities: remove misplaced/useless code
2015-02-03 17:15:51 +01:00
Bernhard Miklautz
ce22445e92 pkg/rpm: fix changelog order 2015-02-03 16:09:01 +01:00
Bernhard Miklautz
d785a28ba4 pkg/rpm: fix typo in changelog 2015-02-03 16:07:54 +01:00
Hardening
f59f0dabec Merge pull request #2360 from bmiklautz/version_update
Update version to 1.2.1
2015-02-03 15:52:16 +01:00
Marc-André Moreau
032956ae3a Merge pull request #2359 from bmiklautz/ringbuffer_debug
ringbuffer: add option to enable/disable debugging
2015-02-03 09:47:15 -05:00
Bernhard Miklautz
adf5b4f3a0 pkgs: update version to 1.2.1 2015-02-03 15:46:57 +01:00
Hardening
a8c06a4306 Update version to 1.2.1
This allows code using FreeRDP to detect the presence of the skipCompression field in
surface commands.
2015-02-03 15:46:08 +01:00
Bernhard Miklautz
c228860082 ringbuffer: add option to enable/disable debugging
Add option WITH_DEBUG_RINGBUFFER to enable/disable ringbuffer debugging
at compile time.

Even if it is possible to filter specific wlog tags it's not yet
possible to exclude one or more and ringbuffer adds massive debugging
output if enabled and WLOG_LEVEL is set to DEBUG.
2015-02-03 15:28:05 +01:00
Norbert Federa
4c4019203a core/fastpath: removed flawed slow-path conversion
Commit 0357a38e31 modified the function
fastpath_send_update_pdu() to check if the desired update is possible
by checking the payload size against the computed maxLength and the
clients's advertised max request size.
If the check failed that commit added a workaround which simply
copied the payload to a slow path updade.
This workaround is totally flawed and causes protocol errors:
- the fast path update code is not checked and required data format
  conversions are missing
- depending on the fast path update code rdp_send_data_pdu() would
  have to be called with differend data pdu type values but the
  workaround always uses DATA_PDU_TYPE_UPDATE
- the workaround does not check if the total size would exceed
  the maximum possible size for a slow path update

The check if a fast path output is actually possible with the
passed parameters is basically a good idea.
However, if that check fails it would only indicate an error in
the server implementation who must not generate updates that
exceed the client's max request size.
Even though a slow-path conversion would be possible there is
much more involved than simply copying the payload stream.
In addition it is highly doubtful if there is a benefit at all.
Even the oldest rdesktop and windows ce clients do support fast
path and although some lack the multi-fragment update capability
we cannot really send larger updates using slow-path outputs.

For the reasons elucidated above, I have removed the workaround
but kept a modified version of the check if a fast-path output
is possible at all.
2015-02-03 13:51:35 +01:00
Norbert Federa
dd9f15450a core/capabilities: remove misplaced/useless code
Commit 0357a38e31 has added some code
without any effect.
That commit added code to rdp_read_capability_sets() to check if
CAPSET_TYPE_MULTI_FRAGMENT_UPDATE was not received which caused
settings->MultifragMaxRequestSize to be set to 0.

- this was done in the wrong place because we do these kind
  of checks in rdp_recv_confirm_active() by consulting the
  variable settings->ReceivedCapabilities[]
- the code had no effect at all because MultifragMaxRequestSize gets
  set to FASTPATH_FRAGMENT_SAFE_SIZE in rdp_recv_confirm_active()
  if the CAPSET_TYPE_MULTI_FRAGMENT_UPDATE was not received.
2015-02-02 18:25:10 +01:00
Norbert Federa
7651fdaf0b Merge pull request #2354 from bmiklautz/ts_pointer_pdu
Handle Server Pointer Update PDU client side
2015-02-02 18:12:49 +01:00
Bernhard Miklautz
160a933837 Merge pull request #2332 from bmiklautz/pkg_rpm
Preparations for rpm builds
2015-02-02 17:03:33 +01:00
Bernhard Miklautz
823dbb1dd0 xfreerdp: add support to set pointer 2015-02-02 15:32:49 +01:00
Bernhard Miklautz
d625edbe97 gfx/pointer: add support to set pointer
Extend rdp_pointer with function SetPosition. Can then be used by
clients support setting pointer by server which might be used in
shadowing scenarios.
2015-02-02 10:57:31 +01:00
Giovanni Panozzo
7ceafe190e Fix channels_free for multiple connected clients
When a client disconnects from a server and its channel structures are removed, the global hash g_OpenHandles should not be destroyed. Only freed channels must be removed from the hash.
2015-02-01 10:57:54 +01:00
Roland Kaufmann
d930431169 Forward layout ID of Programmer Dvorak to server
The Programmer Dvorak keyboard layout is supported by Xkb but support
in Windows is only available through an open-source add-on driver. It
is plausible that those that use this layout in X11 also installs this
driver on Windows instead of using the standard Dvorak variant there.

This changeset recognizes Programmer Dvorak as its own variant, and
assigns this a layout ID which matches the one used in the Windows
driver so that it will be selected when you logon. If this layout is
not available, it will now revert to the regular United States layout.

Tested with Ubuntu Precise 12.04 connecting to Windows 7 SP1.
2015-01-30 21:22:59 +01:00
Marc-André Moreau
ee17750633 Merge pull request #2348 from awakecoding/socket
FreeRDP Wait Events
2015-01-30 11:10:58 -05:00
Marc-André Moreau
7c6948cd5c xfreerdp: make use of freerdp_get_event_handles 2015-01-30 09:47:02 -05:00
Marc-André Moreau
3a906caa4a freerdp: add event handle usage instead of file descriptors 2015-01-29 22:57:58 -05:00
Marc-André Moreau
77b6a20223 Merge pull request #2346 from awakecoding/gateway
Win32 Gateway Fix
2015-01-29 15:00:37 -05:00
Marc-André Moreau
c6b6bd0a57 Merge branch 'master' of github.com:FreeRDP/FreeRDP into gateway 2015-01-29 14:51:40 -05:00
Bernhard Miklautz
86ab147399 Merge pull request #2337 from bmiklautz/ci/preloads
ci update cmake preloads and build fix
2015-01-29 20:48:06 +01: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
bb67968141 libfreerdp-core: cleanup transport debug output 2015-01-28 15:37:20 -05:00
Marc-André Moreau
977cd21919 libfreerdp-core: don't enable GatewayBypassLocal by default 2015-01-28 15:16:31 -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
bc857776fb Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-01-27 15:55:52 -05:00
Marc-André Moreau
c76847dafc Merge branch 'master' of github.com:awakecoding/FreeRDP 2015-01-27 14:54:49 -05:00
Bernhard Miklautz
4eb1054927 build: Disable ALSA on OS X 2015-01-27 01:16:24 +01:00
Bernhard Miklautz
b1c5d10feb ci: update os x preload
* enable testing
* build cups
* enable x11
2015-01-27 01:07:07 +01:00
Bernhard Miklautz
07b9988ddd ci: add cmake preload for linux
Enable debugging and most features to cover as much code paths as
possible.
2015-01-27 00:24:21 +01:00
Marc-André Moreau
447ea28afa Merge pull request #2335 from nfedera/fix-2015-01-26-01
drdynvc: fix segfaults and a compiler warning
2015-01-26 14:54:08 -05:00
Norbert Federa
70c8acdd67 drdynvc: fix segfaults and a compiler warning
If we send a negative creation status while processing the DVC create
response pdu in drdynvc_process_create_request() we must also close
the created channel. Otherwise we will get duplicated channel IDs
in the channel manager's array list because the server will
eventually reuse the channel ids which we have reported as failed in
previous creation responses.
In order to protect the client from duplicated IDs sent by buggy or
malicious servers I've added an appropriate check in
dvcman_channel_new() which will now return NULL in this case.
Also added a missing NULL check for the result of dvcman_channel_new()
in dvcman_create_channel().
2015-01-26 19:26:38 +01:00
Bernhard Miklautz
adcc7020bf pkg/rpm: update spec file to build on opensuse 2015-01-24 00:53:46 +01:00
Marc-André Moreau
bcc702346f channels/smartcard: fix buffer read alignment in SCardTransmit parsing 2015-01-23 14:19:15 -05:00
Bernhard Miklautz
d16efe92c0 Remove old unmaintained spec file 2015-01-23 14:55:07 +01:00
Bernhard Miklautz
126888019e pkg/rpm: add initial version of freerdp-nightly 2015-01-23 02:06:12 +01:00
Marc-André Moreau
0146927605 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-01-22 16:07:25 -05:00
Marc-André Moreau
bcf3a551c4 libwinpr-utils: fix Win32 undefined function write error 2015-01-22 16:06:18 -05:00
Marc-André Moreau
b73e61de6b Merge pull request #2320 from nfedera/fix-2015-01-20-01
build/win32: fix static build
2015-01-22 16:05:55 -05:00
Marc-André Moreau
27af9786e2 Merge pull request #2322 from akallabeth/channel_load_once
Preventing channels from being loaded twice
2015-01-22 16:05:41 -05:00
Marc-André Moreau
62d1276a0a Merge pull request #2330 from akallabeth/h264_decoder_fix
Fixed buffer size checks in h264_decompress
2015-01-22 16:05:09 -05:00