Norbert Federa [Wed, 1 Jun 2016 14:26:26 +0000 (16:26 +0200)]
fix race conditions, tests and some invalid return values
Since the current winpr implementation for overlapped operations is
incomplete and buggy, all affected functions will now fail if they are
called with a set FILE_FLAG_OVERLAPPED flag or a non-null pointer to
a OVERLAPPED structure.
winpr/nt:
- use proper one-time initialization on win32
- fix TestNtCreateFile
- fix broken/incomplete _RtlAnsiStringToUnicodeString
- unimplemented functions return appropriate error codes
winpr/pipe:
- improved TestPipeCreateNamedPipe
- rewrite the completely broken TestPipeCreateNamedPipeOverlapped test
rdtk:
- improve test and don't blindly return success
winpr/synch:
- fix race condition in TestSynchTimerQueue
winpr/ssspi:
- fix TestEnumerateSecurityPackages printf output
- fix TestQuerySecurityPackageInfo printf output
winpr/environment:
- fix GetEnvironmentStrings printf output
winpr/comm:
- unimplemented functions return appropriate error codes
winpr/io:
- unimplemented functions return appropriate error codes
winpr/thread:
- implement SwitchToThread() via sched_yield()
Norbert Federa [Tue, 31 May 2016 07:41:09 +0000 (09:41 +0200)]
Merge pull request #3379 from nfedera/fix-winpr-wtsapi
winpr/wtsapi: fixed race conditions and tests
akallabeth [Tue, 31 May 2016 07:37:31 +0000 (09:37 +0200)]
Merge pull request #3376 from realjiangms/fix_client_gfx
channels/rdpgfx: Fix for gfx client
Bernhard Miklautz [Mon, 30 May 2016 17:25:20 +0000 (19:25 +0200)]
Merge pull request #3371 from realjiangms/fix_x11_shadow_race
Server/shadow: Protect X operations on shared subystem X11 display with X11 display lock
Norbert Federa [Mon, 30 May 2016 15:54:59 +0000 (17:54 +0200)]
winpr/wtsapi: fixed race conditions and tests
MartinHaimberger [Mon, 30 May 2016 12:59:34 +0000 (14:59 +0200)]
Merge pull request #3377 from nfedera/fix-channel-name-parsing
freerdp/core/gcc: channel name hardening
Norbert Federa [Mon, 30 May 2016 12:40:23 +0000 (14:40 +0200)]
freerdp/core/gcc: channel name hardening
According to [MS-RDPBCGR 2.2.1.3.4.1 Channel Definition Structure]
the channel name must be an 8-byte array containing a null-terminated
collection of seven ANSI characters that uniquely identify the channel.
We did not check if the transmitted name was null-terminated which
could have the usual severe effects on stabiliy and security since
the channel name is used in several functions expecting a null-
terminated string (strlen, printf, etc.)
Bernhard Miklautz [Mon, 30 May 2016 11:00:32 +0000 (13:00 +0200)]
Merge pull request #3375 from nfedera/fix-sizet-format-segfaults
fix segfaults casused by size_t format specifier
zihao.jiang [Sat, 28 May 2016 18:13:47 +0000 (02:13 +0800)]
channels/rdpgfx: Make freerdp_client_codecs_prepare calls codec reset. It fix broken h264 client from #3328. Also it doesn't make sense that we don't need width and height for codec initialization while we need them for codec reset
Norbert Federa [Fri, 27 May 2016 13:53:49 +0000 (15:53 +0200)]
fix segfaults casused by size_t format specifier
win32/msvc cc does not recognize the %z format specifier which caused
invalid references and segfaults on win32.
Until FreeRDP gets format specifier macros we'll cast size_t to
unsigned long and use the %lu specifier.
Also simplified winpr_backtrace_symbols() a little bit and fixed it
to allocate the correct amount of bytes for the return buffer.
Hardening [Fri, 27 May 2016 12:53:12 +0000 (14:53 +0200)]
Merge pull request #3372 from nfedera/fix-winpr-test-library
winpr/library: fix win32 test and some cleanup
Norbert Federa [Thu, 26 May 2016 10:19:36 +0000 (12:19 +0200)]
winpr/library: fix win32 test and some cleanup
On Windows we seem to have to load the TestLibrary[AB] test libraries
from in same folder the test executable runs.
Also removed the empty RemoveDllDirectory, SetDefaultDllDirectories,
AddDllDirectory tests and the redundant FreeLibrary test.
TestLibrary now works and succeeds on Win32.
sadasd
Hardening [Fri, 27 May 2016 09:19:50 +0000 (11:19 +0200)]
Merge pull request #3374 from nfedera/fix-winpr-path
winpr/path: fix PathCchFindExtensionA and more
Norbert Federa [Thu, 26 May 2016 16:36:02 +0000 (18:36 +0200)]
winpr/path: fix PathCchFindExtensionA and more
- PathCchFindExtensionA had an off-by-one error when verifying the
required null termination
- TestPathCchFindExtension used unicode strings when testing the
*A (ASCII) functions
- The PathAllocCombineW implementation (which is still buggy has
hell) used strlen to calculate the lenght of unicode strings
TestPath now succeeds on WIN32
Hardening [Thu, 26 May 2016 12:07:48 +0000 (14:07 +0200)]
Merge pull request #3373 from nfedera/fix-winpr-test-pipe
winpr/pipe: fix CreateNamedPipe test
Norbert Federa [Thu, 26 May 2016 11:52:30 +0000 (13:52 +0200)]
winpr/pipe: fix CreateNamedPipe test
GetLastError() was not always checked for ERROR_PIPE_CONNECTED which
indicates success if ConnectNamePipe returns FALSE.
TestPipe now also succeeds on Win32
zihao.jiang [Wed, 25 May 2016 16:20:37 +0000 (00:20 +0800)]
Server/shadow: Protect X operations on shared subystem X11 display with X11 display lock
Bernhard Miklautz [Wed, 25 May 2016 15:25:07 +0000 (17:25 +0200)]
Merge pull request #3369 from realjiangms/fix_mouseback_2796
Server/shadow: Fix issue 2796. Mouse cursor draw back issue
zihao.jiang [Wed, 25 May 2016 09:24:30 +0000 (17:24 +0800)]
Server/shadow: Fix issue 2796. Mouse cursor draw back issue
Bernhard Miklautz [Wed, 25 May 2016 14:39:22 +0000 (16:39 +0200)]
Merge pull request #3370 from nfedera/fix-winpr-test-thread-createprocess
winpr/thread: fix TestThreadCreateProcess
Norbert Federa [Wed, 25 May 2016 13:47:58 +0000 (15:47 +0200)]
winpr/thread: fix TestThreadCreateProcess
On WIN32 TestThread now works and is expected to succeed
MartinHaimberger [Wed, 25 May 2016 09:08:31 +0000 (11:08 +0200)]
Merge pull request #3365 from nfedera/fix-winpr-synch-tests
winpr/synch: fix tests
Norbert Federa [Tue, 24 May 2016 20:33:27 +0000 (22:33 +0200)]
winpr/synch: fix tests
TestSynchTimerQueue:
- fixed race condition
TestSynchWaitableTimerAPC:
- Use WaitForSingleObjectEx since the thread must be in an alterable state
TestSynch is now expected to succeed on WIN32
akallabeth [Tue, 24 May 2016 13:41:45 +0000 (15:41 +0200)]
Merge pull request #3363 from nfedera/fix-mutex-implementation
winpr/synch: fix mutex implementation
Norbert Federa [Tue, 24 May 2016 11:35:11 +0000 (13:35 +0200)]
winpr/synch: fix mutex implementation
- Mutex is recursive on Windows; as a consequence we have to use
the pthread PTHREAD_MUTEX_RECURSIVE type
- Adapt MutexCloseHandle accordingly
- ReleaseMutex returned TRUE even if pthread_mutex_unlock failed
- Fixed and improved the TestSynchMutex ctest
akallabeth [Mon, 23 May 2016 14:21:49 +0000 (16:21 +0200)]
Merge pull request #3357 from realjiangms/fix_rdpsnd_race
shadow/rdpsnd: Fix race condition in rdpsnd channel server.
Martin Fleisz [Mon, 23 May 2016 11:38:18 +0000 (13:38 +0200)]
Merge pull request #3359 from bmiklautz/eventfd_leak
winpr/event: fix file descriptor leak
akallabeth [Mon, 23 May 2016 11:22:33 +0000 (13:22 +0200)]
Merge pull request #3349 from byteboon/master
kerberos authentication fix
Bernhard Miklautz [Mon, 23 May 2016 11:04:44 +0000 (13:04 +0200)]
winpr/event: fix file descriptor leak
SetEventFileDescriptor overrides the internal file descriptor of the
event but didn't close it. Now if the descriptor is closed if it isn't
marked as attached.
zihao.jiang [Thu, 19 May 2016 17:02:08 +0000 (01:02 +0800)]
shadow/rdpsnd: Fix race condition in rdpsnd channel server. The output buffer and format parameters are not protected. This cause some data inconsistence if rdpsnd has own thread
Hardening [Thu, 19 May 2016 21:39:49 +0000 (23:39 +0200)]
Merge pull request #3356 from rinov/master
Update mf_mountain_lion.c
rinov [Thu, 19 May 2016 16:17:49 +0000 (01:17 +0900)]
Update mf_mountain_lion.c
Remove duplicate return statement in mf_mlion_stop_getting_screen_updates()
This change is no impact anywhere.
Norbert Federa [Wed, 18 May 2016 15:30:25 +0000 (17:30 +0200)]
Merge pull request #3353 from bmiklautz/no_shared_libs
build: fix builds with -DBUILD_SHARED_LIBS=OFF
Bernhard Miklautz [Wed, 18 May 2016 15:13:45 +0000 (17:13 +0200)]
build: fix builds with -DBUILD_SHARED_LIBS=OFF
When no shared libs are built is required to export all generated
archive files otherwise programs linking against
freerdp-client/freerdp-server might miss symbols.
Fixes #3350
byteboon [Mon, 16 May 2016 16:53:38 +0000 (09:53 -0700)]
fixed kerberos authentication
Details: cbSecurityTrailer was assumed to be a fixed length for all signatures, however for Kerberos authentication the signature may generate smaller than this value
Hardening [Fri, 13 May 2016 09:32:48 +0000 (11:32 +0200)]
Merge pull request #3333 from akallabeth/memleak_fixes
Memleak fixes
Bernhard Miklautz [Fri, 13 May 2016 07:41:42 +0000 (09:41 +0200)]
Merge pull request #3340 from rjcorrig/kb3153731
winpr: KB3153731: May 2016 DST update for Azerbaijan, Chile, Haiti and Morocco
Marc-André Moreau [Thu, 12 May 2016 18:38:23 +0000 (14:38 -0400)]
Merge pull request #3341 from awakecoding/xcrush_fix
proper xcrush context reset fix
Marc-André Moreau [Thu, 12 May 2016 18:24:53 +0000 (14:24 -0400)]
libfreerdp-codec: make proper xcrush context reset fix
Robert Corrigan [Thu, 12 May 2016 17:12:24 +0000 (13:12 -0400)]
KB3153731: May 2016 DST update for Azerbaijan, Chile, Haiti and Morocco
Martin Fleisz [Thu, 12 May 2016 15:48:40 +0000 (17:48 +0200)]
Merge pull request #3335 from bmiklautz/wfreerdp_naming
wfreerdp: fix name build without client interface
Marc-André Moreau [Thu, 12 May 2016 13:41:57 +0000 (09:41 -0400)]
Merge pull request #3339 from awakecoding/xcrush_fix
libfreerdp-codec: fix xcrush decompression, revert remote control fix
Marc-André Moreau [Thu, 12 May 2016 13:22:24 +0000 (09:22 -0400)]
libfreerdp-codec: fix xcrush decompression, revert remote control fix
Bernhard Miklautz [Thu, 12 May 2016 09:47:10 +0000 (11:47 +0200)]
wfreerdp: fix name build without client interface
When built without client-interface the binary should be called wfreerdp
as well (currently it is wfreerdp-client)
Armin Novak [Thu, 12 May 2016 08:01:30 +0000 (10:01 +0200)]
Fixed memory leaks.
Armin Novak [Thu, 12 May 2016 07:28:12 +0000 (09:28 +0200)]
Fixed NULL pointer access.
Marc-André Moreau [Wed, 11 May 2016 21:00:35 +0000 (17:00 -0400)]
Merge pull request #3329 from awakecoding/hv_fix
freerdp: fix Hyper-V connectivity, fix issues #2421 and #3325
Marc-André Moreau [Wed, 11 May 2016 20:47:50 +0000 (16:47 -0400)]
Merge pull request #3330 from awakecoding/xcrush_fix
xcrush context flush fix
Marc-André Moreau [Wed, 11 May 2016 20:35:20 +0000 (16:35 -0400)]
libfreerdp-codec: fix xcrush context flush
Marc-André Moreau [Wed, 11 May 2016 19:52:36 +0000 (15:52 -0400)]
freerdp: fix Hyper-V connectivity, fix issues #2421 and #3325
Marc-André Moreau [Wed, 11 May 2016 18:15:07 +0000 (14:15 -0400)]
Merge pull request #3328 from awakecoding/gfx_fix
egfx codec context reset fix, Windows Server 2012 RemoteFX empty tile set fix
Marc-André Moreau [Wed, 11 May 2016 17:53:34 +0000 (13:53 -0400)]
libfreerdp-codec: fix error on empty RFX tileset, which can sometimes happen
Marc-André Moreau [Wed, 11 May 2016 17:42:54 +0000 (13:42 -0400)]
channels/rdpgfx: fix resetting of codec contexts
Marc-André Moreau [Wed, 11 May 2016 17:27:45 +0000 (13:27 -0400)]
Merge pull request #3260 from awakecoding/master
Universal Windows Platform (UWP) Port
Marc-André Moreau [Wed, 11 May 2016 17:13:02 +0000 (13:13 -0400)]
Merge branch 'master' of github.com:awakecoding/FreeRDP
Marc-André Moreau [Wed, 11 May 2016 17:12:44 +0000 (13:12 -0400)]
winpr: fix definitions of synchronization barrier and interlocked functions
Marc-André Moreau [Wed, 11 May 2016 15:05:17 +0000 (11:05 -0400)]
Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
winpr/libwinpr/bcrypt/CMakeLists.txt
akallabeth [Wed, 11 May 2016 07:44:26 +0000 (09:44 +0200)]
Merge pull request #3318 from bmiklautz/multilayoutpdu
core: don't advertise multi layout PDUs
akallabeth [Wed, 11 May 2016 07:40:18 +0000 (09:40 +0200)]
Merge pull request #3321 from bmiklautz/client_interface
client: disable the client interface per default
Bernhard Miklautz [Mon, 9 May 2016 08:25:31 +0000 (10:25 +0200)]
client: disable the client interface per default
libxfreerdp-client doesn't necessarily provide a stable interface
therefore it isn't built and installed anymore per default.
To archive the same behavior as before this change -
libxfreerdp-client.so built and a library version set - use
-DWITH_CLIENT_INTERFACE=ON -DCLIENT_INTERFACE_SHARED=ON
when running cmake.
This also fixes the build on windows without WITH_CLIENT_INTERFACE
enabled.
Bernhard Miklautz [Wed, 4 May 2016 07:47:23 +0000 (09:47 +0200)]
core: don't advertise multi layout PDUs
If support for multi layout PDUs is advertised there are known issues
with Windows 7 and Windows 2008R2. Until those are resolved generally
disable multi layout PDUs.
See #3114 for details.
Bernhard Miklautz [Tue, 3 May 2016 15:04:45 +0000 (17:04 +0200)]
Merge pull request #3282 from akallabeth/input_arg_checks
Added argument checks for exported input functions.
Bernhard Miklautz [Tue, 3 May 2016 14:27:15 +0000 (16:27 +0200)]
Merge pull request #3263 from akallabeth/tofu
Added command line option /cert-tofu
akallabeth [Tue, 3 May 2016 14:19:37 +0000 (16:19 +0200)]
Merge pull request #3314 from bmiklautz/refactoringx
Refactoring and fixes
Armin Novak [Wed, 13 Apr 2016 07:47:48 +0000 (09:47 +0200)]
Added argument checks for exported input functions.
Bernhard Miklautz [Tue, 3 May 2016 12:47:53 +0000 (14:47 +0200)]
pkg/deb: update the package
Bernhard Miklautz [Tue, 3 May 2016 12:16:11 +0000 (14:16 +0200)]
Add library libwinpr-tools
libwinpr-tools is a replacement for winpr-makecert-tool.a. Currently
it's basically the same as winpr-makecert-tool.a but in future
functionality that doesn't fit directly in winpr will be added here.
Bernhard Miklautz [Tue, 3 May 2016 08:44:42 +0000 (10:44 +0200)]
client/X11: fix build without client interface
Fix build when -DWITH_CLIENT_INTERFACE=OFF is used.
Bernhard Miklautz [Mon, 2 May 2016 16:44:40 +0000 (18:44 +0200)]
Merge pull request #3313 from bmiklautz/typos
libfreerd/color: fix typo
Bernhard Miklautz [Mon, 2 May 2016 16:31:43 +0000 (18:31 +0200)]
libfreerd/color: fix typo
Source: http://anonscm.debian.org/cgit/collab-maint/freerdp2.git/commit/?id=
f3c1f25bbfe0f17a0d1317096984b73db6fa1f38
akallabeth [Mon, 2 May 2016 16:09:24 +0000 (18:09 +0200)]
Merge pull request #3311 from bmiklautz/static_rdtk
Don't export/install rdtk
akallabeth [Mon, 2 May 2016 16:08:46 +0000 (18:08 +0200)]
Merge pull request #3312 from bmiklautz/commtests
Disable comm tests per default
Bernhard Miklautz [Mon, 2 May 2016 15:44:25 +0000 (17:44 +0200)]
rdtk: fix windows build
Don't do export any functions.
Bernhard Miklautz [Mon, 2 May 2016 14:59:25 +0000 (16:59 +0200)]
Disable comm tests per default
comm tests require a serial device for testing. If the test environment
isn't available the tests will return errors therefore the tests are
now disabled per default. They can be (re-)enabled by using the cmake
option BUILD_COMM_TESTS.
Bernhard Miklautz [Mon, 2 May 2016 14:10:31 +0000 (16:10 +0200)]
Don't export/install rdtk
Although exported rdtk isn't really mature and stable yet therefore it is
not exported/installed anymore. In case FreeRDP is built without
static libraries librdtk is installed as part or the
FreeRDP-ShadowTargets exports as this is the only place it is used right
now.
Bernhard Miklautz [Tue, 26 Apr 2016 09:01:40 +0000 (11:01 +0200)]
Merge pull request #3305 from akallabeth/dynamic_channel_crash_fix
Dynamic channel crash fix
akallabeth [Tue, 26 Apr 2016 07:59:40 +0000 (09:59 +0200)]
Merge pull request #3250 from mfleisz/cssp_v3
core: Add support for CredSSP version 3
Armin Novak [Tue, 26 Apr 2016 07:35:54 +0000 (09:35 +0200)]
Dynamic channel internal functions now static.
Armin Novak [Tue, 26 Apr 2016 07:34:12 +0000 (09:34 +0200)]
ListDictionary handle NULL list argument.
Hardening [Tue, 19 Apr 2016 15:57:53 +0000 (17:57 +0200)]
Merge pull request #3296 from akallabeth/clipboard_file_fix
Fix CB_FILECONTENTS_REQUEST message decoding.
Armin Novak [Tue, 19 Apr 2016 14:44:31 +0000 (16:44 +0200)]
Fix CB_FILECONTENTS_REQUEST message decoding.
Do not require optional fields to be present as required by
[MS-RDPECLIP] 2.2.5.3 File Contents Request PDU (CLIPRDR_FILECONTENTS_REQUEST)
Norbert Federa [Tue, 19 Apr 2016 13:32:56 +0000 (15:32 +0200)]
Merge pull request #3294 from bmiklautz/misc_build
Misc build and test fixes
Norbert Federa [Tue, 19 Apr 2016 13:21:49 +0000 (15:21 +0200)]
Merge pull request #3287 from bmiklautz/linking_fixes2
build: add missing dependencies
Hardening [Tue, 19 Apr 2016 12:55:26 +0000 (14:55 +0200)]
Merge pull request #3293 from nfedera/mitigate-cbclientaddress-verification
core: allow TS Gateway protocol violation
Bernhard Miklautz [Tue, 19 Apr 2016 12:33:26 +0000 (14:33 +0200)]
build: disable -Wl,--no-undefined per default
As building with -Wl,--no-undefined might cause issues when
combined with other linker flags (e.g. with -fsanitize=address see #3289)
it is now disabled per default but can be re-enabled with
-DWITH_NO_UNDEFINED=ON.
It is enabled for ci builds on linux to find undefined symbols.
Norbert Federa [Tue, 19 Apr 2016 12:09:58 +0000 (14:09 +0200)]
core: allow TS Gateway protocol violation
According to [MS-RDPBCGR 2.2.1.11.1.1.1] the TS_EXTENDED_INFO_PACKET
structure's cbClientAddress field must include the _mandatory_ NULL
terminator of the clientAddress field in its byte count.
However, connections proxied via Microsoft's TS Gateway set the
cbClientDir value to 0.
Bernhard Miklautz [Tue, 19 Apr 2016 10:46:54 +0000 (12:46 +0200)]
Tests: Disable TESTS_WTSAPI_EXTRA per default
TESTS_WTSAPI_EXTRA was mistakenly always enabled if BUILD_TESTING
was enabled.
Bernhard Miklautz [Fri, 15 Apr 2016 12:48:46 +0000 (14:48 +0200)]
Merge pull request #3285 from rjcorrig/kb3148851
winpr: KB3148851: Updates to Russian Time Zones for 2016
Bernhard Miklautz [Fri, 15 Apr 2016 12:32:40 +0000 (14:32 +0200)]
build: add missing dependencies
Add all missing dependencies found when building with
STATIC_CHANNELS=OFF.
Fixes #3281
Robert Corrigan [Wed, 13 Apr 2016 17:34:43 +0000 (13:34 -0400)]
KB3148851: Updates to Russian Time Zones for 2016
Hardening [Mon, 11 Apr 2016 18:47:53 +0000 (20:47 +0200)]
Merge pull request #3274 from bmiklautz/linking_fixes
Fix build regressions
Hardening [Mon, 11 Apr 2016 09:10:08 +0000 (11:10 +0200)]
Merge pull request #3276 from nfedera/nf-fix-ms-android-protocol-violation
core: allow ms android client protocol violation
Norbert Federa [Mon, 11 Apr 2016 08:50:27 +0000 (10:50 +0200)]
core: allow ms android client protocol violation
According to [MS-RDPBCGR 2.2.1.11.1.1.1] the TS_EXTENDED_INFO_PACKET
structure's cbClientDir field must include the _mandatory_ NULL
terminator of the ClientDir field.
However, since version 8.1.31.44, the Microsoft Remote Desktop Client
for Android sets cbClientDir to 0.
akallabeth [Fri, 8 Apr 2016 13:28:40 +0000 (15:28 +0200)]
Merge pull request #3275 from nfedera/fix-server-establish-keys-typo
core: fix broken rdp security (server side)
Norbert Federa [Fri, 8 Apr 2016 12:47:35 +0000 (14:47 +0200)]
core: fix broken rdp security (server side)
- fixed typo in rdp_server_establish_keys
Bernhard Miklautz [Thu, 7 Apr 2016 12:39:16 +0000 (14:39 +0200)]
build: add missing dependencies
Add all missing dependencies found with --no-undefined. Since
dependencies aren't exported anymore (if not required) it is no necessary
to explicitly list all required libraries.
Bernhard Miklautz [Thu, 7 Apr 2016 12:52:52 +0000 (14:52 +0200)]
Merge pull request #3273 from realjiangms/fix_android_crash_rotate_3258
Fix android rotation crash
Bernhard Miklautz [Thu, 7 Apr 2016 12:35:57 +0000 (14:35 +0200)]
build: use --no-undefined if available
zihao.jiang [Thu, 7 Apr 2016 12:19:22 +0000 (20:19 +0800)]
Fix android rotation crash
Armin Novak [Thu, 31 Mar 2016 10:16:55 +0000 (12:16 +0200)]
Added command line option /cert-tofu