Bernhard Miklautz [Mon, 9 Feb 2015 13:07:14 +0000 (14:07 +0100)]
winpr/process: handle pids <= 0
TerminateProcess shouldn't call kill if the PID is <=0 because this has
unwanted effects (and is not what TerminateProcess should do):
* with PID == 0 any process in the same process group gets the signal
sent
* with PID == -1 *every* processes that the running users has
permissions to gets the signal sent
* with PID < -1 the process within the same process group and -PID gets
the signal send
For more details see kill(2).
Marc-André Moreau [Fri, 6 Feb 2015 23:29:33 +0000 (18:29 -0500)]
Merge pull request #2368 from awakecoding/master
AutoReconnect Fixes
Marc-André Moreau [Fri, 6 Feb 2015 23:02:16 +0000 (18:02 -0500)]
Merge pull request #2367 from eledoux/ports
fixed: serial redirect not work #2333
Marc-André Moreau [Fri, 6 Feb 2015 23:02:10 +0000 (18:02 -0500)]
Merge branch 'master' of github.com:FreeRDP/FreeRDP
Marc-André Moreau [Fri, 6 Feb 2015 22:59:48 +0000 (17:59 -0500)]
Merge pull request #2366 from xsumbe00/master
Fixes Solaris bus error on sparc.
Marc-André Moreau [Fri, 6 Feb 2015 22:46:15 +0000 (17:46 -0500)]
xfreerdp: fix egfx multimon on reconnect
Marc-André Moreau [Fri, 6 Feb 2015 22:35:14 +0000 (17:35 -0500)]
libfreerdp-core: add channel reconnect
Marc-André Moreau [Fri, 6 Feb 2015 21:55:21 +0000 (16:55 -0500)]
libfreerdp-core: refactor client info pdu functions
Marc-André Moreau [Fri, 6 Feb 2015 21:37:28 +0000 (16:37 -0500)]
libfreerdp-core: fix auto reconnect cookie security verifier computation
Marc-André Moreau [Fri, 6 Feb 2015 20:44:29 +0000 (15:44 -0500)]
libfreerdp-core: improve client core info debug output
Marc-André Moreau [Fri, 6 Feb 2015 19:21:26 +0000 (14:21 -0500)]
libfreerdp-core: improve reconnection
Emmanuel Ledoux [Fri, 6 Feb 2015 18:56:36 +0000 (19:56 +0100)]
serial: changed the default underlying ServerSerialDriverId from SerialDriverSerCx2Sys to SerialDriverSerialSys
Marc-André Moreau [Thu, 5 Feb 2015 22:01:56 +0000 (17:01 -0500)]
xfreerdp: partial reconnect fixes
Marc-André Moreau [Thu, 5 Feb 2015 20:10:24 +0000 (15:10 -0500)]
libfreerdp-codec: allow region_uninit to be called multiple times
Petr Sumbera [Thu, 5 Feb 2015 16:46:56 +0000 (08:46 -0800)]
Fixes Solaris bus error on sparc.
Marc-André Moreau [Wed, 4 Feb 2015 16:58:34 +0000 (11:58 -0500)]
Merge pull request #2364 from awakecoding/gateway
Gateway Improvements and Fixes
Marc-André Moreau [Wed, 4 Feb 2015 16:40:19 +0000 (11:40 -0500)]
wlfreerdp: fix unused variable warning
Marc-André Moreau [Wed, 4 Feb 2015 16:36:05 +0000 (11:36 -0500)]
Merge branch 'master' of github.com:FreeRDP/FreeRDP into gateway
Marc-André Moreau [Wed, 4 Feb 2015 16:34:02 +0000 (11:34 -0500)]
Merge pull request #2355 from xsumbe00/master
Fixes some build issues on Solaris 11.
Marc-André Moreau [Wed, 4 Feb 2015 16:32:12 +0000 (11:32 -0500)]
Merge pull request #2343 from kilobyte/master
Fix build failure on x32.
Marc-André Moreau [Wed, 4 Feb 2015 16:31:49 +0000 (11:31 -0500)]
Merge pull request #2340 from akallabeth/openssl_detection_fix
Openssl detection fix
Marc-André Moreau [Wed, 4 Feb 2015 16:30:35 +0000 (11:30 -0500)]
Merge pull request #2349 from RolKau/2349_dvp
Forward layout ID of Programmer Dvorak to server
Marc-André Moreau [Wed, 4 Feb 2015 16:27:41 +0000 (11:27 -0500)]
Merge pull request #2350 from giox069/master
Fix freerdp_channels_free for clients with multiple active connections
Marc-André Moreau [Wed, 4 Feb 2015 16:18:27 +0000 (11:18 -0500)]
libfreerdp-core: make tsg rpc connection event-driven, fix race condition on connection
Norbert Federa [Wed, 4 Feb 2015 09:03:21 +0000 (10:03 +0100)]
Merge pull request #2361 from bmiklautz/set_pointer_fix
xfreerdp: fix problem with SetPosition
Marc-André Moreau [Wed, 4 Feb 2015 01:39:47 +0000 (20:39 -0500)]
libfreerdp-core: add event-driven RTS connection code
Marc-André Moreau [Tue, 3 Feb 2015 22:17:17 +0000 (17:17 -0500)]
libfreerdp-core: start event-driven gateway http code
Marc-André Moreau [Tue, 3 Feb 2015 21:33:45 +0000 (16:33 -0500)]
libfreerdp-core: add more IN/OUT gateway channel states
Petr Sumbera [Tue, 3 Feb 2015 21:29:35 +0000 (13:29 -0800)]
Better to use HAVE_SYS_FILIO_H when we already have it.
Petr Sumbera [Tue, 3 Feb 2015 21:14:40 +0000 (13:14 -0800)]
"ar" and zero or several 'm' matches also to "sparc". Adding '^' at the begiinning seems like the safest option.
Bernhard Miklautz [Tue, 3 Feb 2015 21:08:34 +0000 (22:08 +0100)]
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 ;).
Emmanuel Ledoux [Tue, 3 Feb 2015 20:16:29 +0000 (21:16 +0100)]
winpr-comm: fixed timeouts to return immediately with zeroed timeval structures instead of a NULL pointer.
Marc-André Moreau [Tue, 3 Feb 2015 19:44:31 +0000 (14:44 -0500)]
libfreerdp-core: improve error handling in ts gateway
Hardening [Tue, 3 Feb 2015 16:22:21 +0000 (17:22 +0100)]
Merge pull request #2358 from nfedera/fix-2015-02-03-01
core/fastpath: removed flawed slow-path conversion
Hardening [Tue, 3 Feb 2015 16:15:51 +0000 (17:15 +0100)]
Merge pull request #2356 from nfedera/fix-2015-02-02-01
core/capabilities: remove misplaced/useless code
Bernhard Miklautz [Tue, 3 Feb 2015 15:09:01 +0000 (16:09 +0100)]
pkg/rpm: fix changelog order
Bernhard Miklautz [Tue, 3 Feb 2015 15:07:54 +0000 (16:07 +0100)]
pkg/rpm: fix typo in changelog
Hardening [Tue, 3 Feb 2015 14:52:16 +0000 (15:52 +0100)]
Merge pull request #2360 from bmiklautz/version_update
Update version to 1.2.1
Marc-André Moreau [Tue, 3 Feb 2015 14:47:15 +0000 (09:47 -0500)]
Merge pull request #2359 from bmiklautz/ringbuffer_debug
ringbuffer: add option to enable/disable debugging
Bernhard Miklautz [Tue, 3 Feb 2015 12:49:05 +0000 (13:49 +0100)]
pkgs: update version to 1.2.1
Hardening [Mon, 2 Feb 2015 21:52:35 +0000 (22:52 +0100)]
Update version to 1.2.1
This allows code using FreeRDP to detect the presence of the skipCompression field in
surface commands.
Bernhard Miklautz [Tue, 3 Feb 2015 14:28:05 +0000 (15:28 +0100)]
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.
Norbert Federa [Tue, 3 Feb 2015 12:51:35 +0000 (13:51 +0100)]
core/fastpath: removed flawed slow-path conversion
Commit
0357a38e3129b67093c7c055c7eaa242ce293673 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.
Marc-André Moreau [Mon, 2 Feb 2015 23:50:26 +0000 (18:50 -0500)]
libfreerdp-core: add better state machine transitions to ts gateway
Marc-André Moreau [Mon, 2 Feb 2015 22:16:32 +0000 (17:16 -0500)]
libfreerdp-core: improve http parsing
Petr Sumbera [Mon, 2 Feb 2015 18:59:51 +0000 (10:59 -0800)]
Added ifdef to previous commit.
Norbert Federa [Mon, 2 Feb 2015 17:25:10 +0000 (18:25 +0100)]
core/capabilities: remove misplaced/useless code
Commit
0357a38e3129b67093c7c055c7eaa242ce293673 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.
Norbert Federa [Mon, 2 Feb 2015 17:12:49 +0000 (18:12 +0100)]
Merge pull request #2354 from bmiklautz/ts_pointer_pdu
Handle Server Pointer Update PDU client side
Marc-André Moreau [Mon, 2 Feb 2015 16:50:56 +0000 (11:50 -0500)]
libfreerdp-core: make tsg threadless
Petr Sumbera [Mon, 2 Feb 2015 16:48:54 +0000 (08:48 -0800)]
Fixes some build issues on Solaris 11.
Bernhard Miklautz [Mon, 2 Feb 2015 16:03:33 +0000 (17:03 +0100)]
Merge pull request #2332 from bmiklautz/pkg_rpm
Preparations for rpm builds
Bernhard Miklautz [Mon, 2 Feb 2015 14:32:49 +0000 (15:32 +0100)]
xfreerdp: add support to set pointer
Marc-André Moreau [Mon, 2 Feb 2015 13:19:07 +0000 (08:19 -0500)]
libfreerdp-core: remove receive queue, make tsg connection sequence more event-driven
Bernhard Miklautz [Tue, 13 Jan 2015 16:12:02 +0000 (17:12 +0100)]
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.
Marc-André Moreau [Mon, 2 Feb 2015 01:47:43 +0000 (20:47 -0500)]
libfreerdp-core: remove TS Gateway send queue
Marc-André Moreau [Sun, 1 Feb 2015 23:50:21 +0000 (18:50 -0500)]
libfreerdp-core: restructure RPC connection sequence
Marc-André Moreau [Sun, 1 Feb 2015 22:55:24 +0000 (17:55 -0500)]
libfreerdp-core: refactor tsg connection sequence towards better state machine usage
Marc-André Moreau [Sun, 1 Feb 2015 22:06:50 +0000 (17:06 -0500)]
libfreerdp-core: fix possible lost signal in tsg_connect
Marc-André Moreau [Sun, 1 Feb 2015 20:58:32 +0000 (15:58 -0500)]
libfreerdp-core: remove usage of magic 60-byte pad in TsProxyCreateTunnelWriteRequest
Marc-André Moreau [Sun, 1 Feb 2015 18:09:28 +0000 (13:09 -0500)]
libfreerdp-core: use ringbuffer for TS Gateway receive pipe
Giovanni Panozzo [Sun, 1 Feb 2015 09:57:54 +0000 (10:57 +0100)]
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.
Marc-André Moreau [Sat, 31 Jan 2015 21:56:25 +0000 (16:56 -0500)]
libfreerdp-core: simplify TS Gateway RPC fragment receiving
Marc-André Moreau [Sat, 31 Jan 2015 17:27:48 +0000 (12:27 -0500)]
channels/smartcard: fix SCardTransmit pioRecvPci parsing
Roland Kaufmann [Fri, 30 Jan 2015 20:22:59 +0000 (21:22 +0100)]
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.
Marc-André Moreau [Fri, 30 Jan 2015 16:34:09 +0000 (11:34 -0500)]
libfreerdp-core: warn but do not fail in freerdp_tcp_set_keep_alive_mode
Marc-André Moreau [Fri, 30 Jan 2015 16:10:58 +0000 (11:10 -0500)]
Merge pull request #2348 from awakecoding/socket
FreeRDP Wait Events
Marc-André Moreau [Fri, 30 Jan 2015 14:47:02 +0000 (09:47 -0500)]
xfreerdp: make use of freerdp_get_event_handles
Armin Novak [Tue, 27 Jan 2015 20:05:51 +0000 (21:05 +0100)]
Added additional search path suffix for OpenH264.
Armin Novak [Tue, 27 Jan 2015 20:46:57 +0000 (21:46 +0100)]
Fixed OpenSSL version regex
Starting with OpenSSL 1.0.2 source code is reformatted.
This patch takes care of the differences in the define
spacing.
Marc-André Moreau [Fri, 30 Jan 2015 03:57:58 +0000 (22:57 -0500)]
freerdp: add event handle usage instead of file descriptors
Marc-André Moreau [Thu, 29 Jan 2015 20:00:37 +0000 (15:00 -0500)]
Merge pull request #2346 from awakecoding/gateway
Win32 Gateway Fix
Marc-André Moreau [Thu, 29 Jan 2015 19:51:40 +0000 (14:51 -0500)]
Merge branch 'master' of github.com:FreeRDP/FreeRDP into gateway
Bernhard Miklautz [Thu, 29 Jan 2015 19:48:06 +0000 (20:48 +0100)]
Merge pull request #2337 from bmiklautz/ci/preloads
ci update cmake preloads and build fix
Marc-André Moreau [Thu, 29 Jan 2015 19:07:02 +0000 (14:07 -0500)]
libfreerdp-core: fix Win32 gateway authentication
Marc-André Moreau [Thu, 29 Jan 2015 16:35:52 +0000 (11:35 -0500)]
libfreerdp-core: fix Win32 socket event handle
Adam Borowski [Thu, 29 Jan 2015 04:50:12 +0000 (05:50 +0100)]
Fix build failure on x32.
Unlike i386, x32 can't accept -march=i686 but wants -fPIC, same as amd64
(both are x86_64 ABIs after all). Thus, check for the __x86_64__ define
instead of pointer width.
Marc-André Moreau [Wed, 28 Jan 2015 20:37:20 +0000 (15:37 -0500)]
libfreerdp-core: cleanup transport debug output
Marc-André Moreau [Wed, 28 Jan 2015 20:16:31 +0000 (15:16 -0500)]
libfreerdp-core: don't enable GatewayBypassLocal by default
Marc-André Moreau [Wed, 28 Jan 2015 19:54:03 +0000 (14:54 -0500)]
libfreerdp-core: update gateway code for Windows
Marc-André Moreau [Wed, 28 Jan 2015 18:46:17 +0000 (13:46 -0500)]
libfreerdp-core: improve socket BIO handling
Emmanuel Ledoux [Wed, 28 Jan 2015 11:43:20 +0000 (12:43 +0100)]
libwinpr: better indentation
Marc-André Moreau [Wed, 28 Jan 2015 02:18:26 +0000 (21:18 -0500)]
libfreerdp-core: move socket event and nonblock options to socket BIO
Marc-André Moreau [Tue, 27 Jan 2015 20:55:52 +0000 (15:55 -0500)]
Merge branch 'master' of github.com:FreeRDP/FreeRDP
Emmanuel Ledoux [Tue, 27 Jan 2015 20:05:40 +0000 (21:05 +0100)]
libwinpr: attempt to fix TerminateThread(...).
The following sequence should not hang forever anymore: TerminateThread(thread, 0); WaitForSingleObject(thread, INFINTE);
Marc-André Moreau [Tue, 27 Jan 2015 19:54:49 +0000 (14:54 -0500)]
Merge branch 'master' of github.com:awakecoding/FreeRDP
Bernhard Miklautz [Tue, 27 Jan 2015 00:16:24 +0000 (01:16 +0100)]
build: Disable ALSA on OS X
Bernhard Miklautz [Tue, 27 Jan 2015 00:04:53 +0000 (01:04 +0100)]
ci: update os x preload
* enable testing
* build cups
* enable x11
Bernhard Miklautz [Mon, 26 Jan 2015 23:24:21 +0000 (00:24 +0100)]
ci: add cmake preload for linux
Enable debugging and most features to cover as much code paths as
possible.
Marc-André Moreau [Mon, 26 Jan 2015 19:54:08 +0000 (14:54 -0500)]
Merge pull request #2335 from nfedera/fix-2015-01-26-01
drdynvc: fix segfaults and a compiler warning
Norbert Federa [Mon, 26 Jan 2015 18:26:38 +0000 (19:26 +0100)]
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().
Bernhard Miklautz [Fri, 23 Jan 2015 23:53:46 +0000 (00:53 +0100)]
pkg/rpm: update spec file to build on opensuse
Marc-André Moreau [Fri, 23 Jan 2015 19:19:15 +0000 (14:19 -0500)]
channels/smartcard: fix buffer read alignment in SCardTransmit parsing
Bernhard Miklautz [Fri, 23 Jan 2015 13:55:07 +0000 (14:55 +0100)]
Remove old unmaintained spec file
Bernhard Miklautz [Fri, 23 Jan 2015 01:06:12 +0000 (02:06 +0100)]
pkg/rpm: add initial version of freerdp-nightly
Marc-André Moreau [Thu, 22 Jan 2015 21:07:25 +0000 (16:07 -0500)]
Merge branch 'master' of github.com:FreeRDP/FreeRDP
Marc-André Moreau [Thu, 22 Jan 2015 21:06:18 +0000 (16:06 -0500)]
libwinpr-utils: fix Win32 undefined function write error
Marc-André Moreau [Thu, 22 Jan 2015 21:05:55 +0000 (16:05 -0500)]
Merge pull request #2320 from nfedera/fix-2015-01-20-01
build/win32: fix static build
Marc-André Moreau [Thu, 22 Jan 2015 21:05:41 +0000 (16:05 -0500)]
Merge pull request #2322 from akallabeth/channel_load_once
Preventing channels from being loaded twice
Marc-André Moreau [Thu, 22 Jan 2015 21:05:09 +0000 (16:05 -0500)]
Merge pull request #2330 from akallabeth/h264_decoder_fix
Fixed buffer size checks in h264_decompress
Marc-André Moreau [Thu, 22 Jan 2015 21:04:39 +0000 (16:04 -0500)]
Merge pull request #2327 from akallabeth/dynamic_channel_cleanup_fix
Fixes cleanup when closing a dynamic channel.