akallabeth [Thu, 14 Dec 2017 15:56:29 +0000 (16:56 +0100)]
Merge pull request #4312 from bmiklautz/smartcard-cleanup
Smartcard fixes and cleanup
Bernhard Miklautz [Thu, 14 Dec 2017 15:21:19 +0000 (16:21 +0100)]
fix client/smartcard: indentation and return value
Integrate feedback from pull request review.
Bernhard Miklautz [Thu, 14 Dec 2017 14:46:14 +0000 (15:46 +0100)]
fix smartcard: SCardStatus unicode handling
* fix StatusW_Call to rely and use SCardStatusW
* fix trace call in StatusW_Call - needs to be called after the sizes
are set
* unify SCardStatus functions for pcsc - let the internal function handle unicode directly
This fixes an issue with size calculations of SCardStatusW.
Martin Fleisz [Wed, 13 Dec 2017 16:24:41 +0000 (17:24 +0100)]
Merge pull request #4305 from hardening/xrandr_fix
Fix XRandr for old systems and MacOSX
Bernhard Miklautz [Wed, 13 Dec 2017 15:57:53 +0000 (16:57 +0100)]
fix channel/smartcard: leak in Connect[AW]
smartcard_Connect[AW] leaked the reader buffer in error case.
Bernhard Miklautz [Wed, 13 Dec 2017 14:50:33 +0000 (15:50 +0100)]
feat winpr/smartcard: add test for SCardStatus
Add an extensive test for SCardStatus. It's not enabled per default
as it requires a reader with card to be present.
Bernhard Miklautz [Wed, 13 Dec 2017 14:46:50 +0000 (15:46 +0100)]
fix channel/smartcard: SCardStatus
Add support for fmszReaderNamesIsNULL. Formating of the touched files
was also updated.
Bernhard Miklautz [Mon, 11 Dec 2017 15:25:46 +0000 (16:25 +0100)]
fix channel/smartcard: compiler warnings
* remove unused variables
* remove unused jump label
Bernhard Miklautz [Mon, 11 Dec 2017 14:49:03 +0000 (15:49 +0100)]
refactor winpr/smartcard/pcsc: reader/group naming
The PCSC SCard implementation in winpr tried to rename reader and group
names received from PCSC to something similar to what the windows smart
card service would return.
Because of the following reasons this mapping was removed:
* reader names are not standardized
* no mapping of reader name should be required at all
* the mapping added extra complexity
* the mapping didn't produce the same names as if the reader was
directly connected on windows (or redirected from a windows host)
In case there are situations where this is nevertheless required this
feature can simple be (re-)implemented a part of the smart card channel.
Also the formatting was fixed.
Bernhard Miklautz [Mon, 11 Dec 2017 14:15:02 +0000 (15:15 +0100)]
feat winpr: add WINPR_UNUSED macro
WINPR_UNUSED can be used to mark intentionally unused function parameters.
Bernhard Miklautz [Mon, 11 Dec 2017 13:31:19 +0000 (14:31 +0100)]
fix channel/smartcard: remove SCardAddReaderName
SCardAddReaderName isn't part of the SCard API.
Note: removing this also removes the possibility to redirect single
smartcard readers with /smartcard:READERNAME. However this features
wasn't implemented in a general way and will be re-added as part of
the smart card channel directly.
Bernhard Miklautz [Mon, 11 Dec 2017 13:00:09 +0000 (14:00 +0100)]
fix channel/smartcard: simplify channel variables
Path was not really used and name was duplicated. Use the device->Name
directly.
Bernhard Miklautz [Mon, 11 Dec 2017 09:33:28 +0000 (10:33 +0100)]
fix channel/smartcard: remove status mappings
The state tracking/modifications (presumably thought as optimization?!) in
PCSC_SCardGetStatusChange_Internal cause a lot of applications to behave
incorrectly and/or hang. Ideally no modifications of the states should
be necessary as PCSC implements the same API as passed over the channel.
Bernhard Miklautz [Mon, 4 Dec 2017 15:16:59 +0000 (16:16 +0100)]
fix channel/smartcard: GetStatusChange return code
In case SCardGetStatusChange returned an error the call didn't return
any data but STATUS_NO_MEMORY as the calloc failed. This caused problems
with multiple applications server side (hangs and incorrect behavior).
Now the case when no readers are returned is handed correctly and the
data is also filled and send if the call fails.
Bernhard Miklautz [Mon, 4 Dec 2017 14:22:07 +0000 (15:22 +0100)]
fix channel/smartcard: async request handling
The smart card channel tried to mimic mstsc's behavior on if an IRP was
processed synchronously or asynchronously. As the channel uses one thread per
context it could happen, especially with PCSC, that the main
channel thread was blocked waiting for an smart card operation to
complete. To prevent that behavior only call known safe functions in the
main thread (like CreateContext) and call the rest asynchronously.
For example the channel would block if a ListReaders is invoked on
the same context where a GetStatusChange (infinite timeout)
was already pending. Only when a status change happened the channel
would continue.
Note: Due to the one context per thread design it's important that
cancel isn't queued an alway run synchronously. Otherwise a specific
context might lock.
Bernhard Miklautz [Mon, 4 Dec 2017 11:31:10 +0000 (12:31 +0100)]
fix channel/smartcard: return value handling
Device control calls always returned SCARD_S_SUCCESS even if an error
occurred. This caused server side software (including the card manager)
to behave incorrectly.
Bernhard Miklautz [Mon, 4 Dec 2017 11:17:57 +0000 (12:17 +0100)]
fix channel/smartcard: error handling
According to MS-RDPESC the smart card channel must set the IoStatus to
an NTSTATUS in case a encoding or decoding error happens. The smart card
channel did this correctly but the output stream was modified
incorrectly causing the smart card remote manager to stop in error
cases.
Martin Fleisz [Wed, 13 Dec 2017 08:58:14 +0000 (09:58 +0100)]
Merge pull request #4276 from akallabeth/big_endian_more
Big endian fixes
Martin Fleisz [Wed, 13 Dec 2017 08:09:33 +0000 (09:09 +0100)]
Merge pull request #4301 from hardening/geometry
geometry: a skeleton for the MS-RDPEGT channel
David Fort [Tue, 12 Dec 2017 09:40:14 +0000 (10:40 +0100)]
Merge pull request #4277 from akallabeth/mac_server
Mac fixes
Armin Novak [Tue, 12 Dec 2017 09:35:02 +0000 (10:35 +0100)]
Fixed uninitialized variable.
David Fort [Mon, 11 Dec 2017 09:25:21 +0000 (10:25 +0100)]
Fix users of Stream_GetPosition() that returns size_t
David Fort [Wed, 6 Dec 2017 12:51:45 +0000 (13:51 +0100)]
geometry: a skeleton for the MS-RDPEGT channel
The base for implementing the MS-RDPEGT client channel that allows to track window
geometry.
David Fort [Fri, 8 Dec 2017 09:45:50 +0000 (10:45 +0100)]
Fix XRandr for old systems and MacOSX
We need a recent enough version of XRandr to correctly detect monitor.
Also this patch adds some typo or style fixes.
Martin Fleisz [Tue, 5 Dec 2017 13:40:03 +0000 (14:40 +0100)]
Merge pull request #4297 from akallabeth/cmd_parser_hardening
Fix #4296: Hardened command line post filter.
Martin Fleisz [Tue, 5 Dec 2017 10:19:59 +0000 (11:19 +0100)]
Merge pull request #4294 from akallabeth/shadow_fix
Shadow server crash fixes
Martin Fleisz [Tue, 5 Dec 2017 09:56:14 +0000 (10:56 +0100)]
Merge pull request #4288 from hardening/disp_channel
Disp channel changes and improvements
Bernhard Miklautz [Sat, 2 Dec 2017 15:09:43 +0000 (16:09 +0100)]
Merge pull request #4298 from myfreeweb/libressl-fix-fips
Fix LibreSSL build
Greg V [Fri, 1 Dec 2017 15:34:48 +0000 (18:34 +0300)]
Fix LibreSSL build
LibreSSL does not support FIPS mode.
David Fort [Tue, 28 Nov 2017 14:32:15 +0000 (15:32 +0100)]
drdynvc: fix invalid check
There were a copy'n paste error in the check of a malloc.
David Fort [Fri, 24 Nov 2017 13:53:39 +0000 (14:53 +0100)]
display control channel: add a callback called when we receive capabilities
We need a signal to know when the channel is ready and it's safe to send the
monitor layouts.
Armin Novak [Thu, 30 Nov 2017 15:56:45 +0000 (16:56 +0100)]
Fix #4296: Hardened command line post filter.
akallabeth [Fri, 1 Dec 2017 10:24:50 +0000 (11:24 +0100)]
Merge pull request #4275 from ondrejholy/big-endian-fixes
Big endian fixes
David Fort [Wed, 29 Nov 2017 14:28:37 +0000 (15:28 +0100)]
Merge pull request #4292 from daixj-shterm/master
Fix #4291: xfreerdp segfault when connecting freerdp-shadow-cli
Armin Novak [Wed, 29 Nov 2017 13:17:27 +0000 (14:17 +0100)]
Reset errno in X11 monitor enumeration
XOpenDisplay may succeed but set errno,
reset at the end of the function.
Armin Novak [Wed, 29 Nov 2017 13:13:50 +0000 (14:13 +0100)]
Fixed /monitors argument checks.
daixj [Wed, 29 Nov 2017 10:12:40 +0000 (05:12 -0500)]
Fix #4291: xfreerdp segfault when connecting freerdp-shadow-cli
David Fort [Fri, 24 Nov 2017 13:06:35 +0000 (14:06 +0100)]
xfreerdp: when available use xrandr to get display infos
akallabeth [Tue, 28 Nov 2017 15:36:32 +0000 (16:36 +0100)]
Merge pull request #4287 from bmiklautz/dev2
2.0.0-dev2 - start rc2 development cycle
Bernhard Miklautz [Tue, 28 Nov 2017 14:33:03 +0000 (15:33 +0100)]
client/android: increase version
Bernhard Miklautz [Tue, 28 Nov 2017 14:29:17 +0000 (15:29 +0100)]
2.0.0-dev2 - start rc2 development cycle
akallabeth [Tue, 28 Nov 2017 14:26:30 +0000 (15:26 +0100)]
Merge pull request #4286 from bmiklautz/rc1
Version 2.0.0-rc1
Bernhard Miklautz [Tue, 28 Nov 2017 14:03:09 +0000 (15:03 +0100)]
Version 2.0.0-rc1
David Fort [Tue, 28 Nov 2017 09:48:53 +0000 (10:48 +0100)]
Merge pull request #4282 from akallabeth/force_ipv6
Fix #4281: Added option to prefer IPv6 over IPv4
Bernhard Miklautz [Tue, 28 Nov 2017 09:47:27 +0000 (10:47 +0100)]
Merge pull request #4284 from akallabeth/channel_count_fix_v2
Fixed channel count exceed checks
Armin Novak [Tue, 28 Nov 2017 08:40:04 +0000 (09:40 +0100)]
Fixed channel count exceed checks
The check aborted on CHANNEL_MAX_COUNT - 1 instead
of correctly at CHANNEL_MAX_COUNT
akallabeth [Tue, 28 Nov 2017 08:19:58 +0000 (09:19 +0100)]
Merge pull request #4283 from bmiklautz/kfreebsd
fix build: GNU/kFreeBSD
David Fort [Mon, 27 Nov 2017 21:46:23 +0000 (22:46 +0100)]
Merge pull request #4272 from akallabeth/static_channel_checks
Fix #3378: 31 static channels are supported.
Bernhard Miklautz [Mon, 23 Oct 2017 08:32:51 +0000 (10:32 +0200)]
fix/build: handle GNU/kFreeBSD like other BSDs
Based on a patch for Debian from
Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Mike Gabriel [Mon, 23 Oct 2017 08:31:55 +0000 (10:31 +0200)]
fix/build: GNU/kFreeBSD is not FreeBSD
Bernhard Miklautz [Mon, 27 Nov 2017 10:49:46 +0000 (11:49 +0100)]
Merge pull request #3991 from akallabeth/stream_string_helper
Stream convenience functions to read/write strings.
Bernhard Miklautz [Mon, 27 Nov 2017 10:46:54 +0000 (11:46 +0100)]
Merge pull request #4261 from akallabeth/doc_ssl_store
Fix #3890: Point to OpenSSL doc for private CA
Armin Novak [Mon, 27 Nov 2017 09:54:49 +0000 (10:54 +0100)]
Fix #4281: Added option to prefer IPv6 over IPv4
Bernhard Miklautz [Mon, 27 Nov 2017 09:57:26 +0000 (10:57 +0100)]
Merge pull request #4220 from akallabeth/version_from_file_or_tag
Extract build version from file or git tag.
Bernhard Miklautz [Mon, 27 Nov 2017 09:41:06 +0000 (10:41 +0100)]
Merge pull request #4273 from akallabeth/issue_template
Added issue template.
Bernhard Miklautz [Mon, 27 Nov 2017 09:40:44 +0000 (10:40 +0100)]
Merge pull request #4270 from akallabeth/mac_clipboard_fix
Fixed #1536: Clipboard data size.
Bernhard Miklautz [Mon, 27 Nov 2017 09:06:30 +0000 (10:06 +0100)]
Merge pull request #4280 from akallabeth/snd_parser_fix
Fix #4278: Fix nasty range check bug
Armin Novak [Mon, 27 Nov 2017 09:03:49 +0000 (10:03 +0100)]
Added mailing list address.
Armin Novak [Mon, 27 Nov 2017 08:06:31 +0000 (09:06 +0100)]
Added reminder to delete template before submit
Armin Novak [Thu, 23 Nov 2017 15:44:00 +0000 (16:44 +0100)]
Added pull request template.
Armin Novak [Thu, 23 Nov 2017 15:34:17 +0000 (16:34 +0100)]
Added issue template.
Armin Novak [Sun, 26 Nov 2017 13:59:37 +0000 (14:59 +0100)]
Fix #4278: Fix nasty range check bug
David Fort [Fri, 24 Nov 2017 14:51:46 +0000 (15:51 +0100)]
Merge pull request #4229 from akallabeth/from_stdin_args
Option to force password prompt before connection
Bernhard Miklautz [Fri, 24 Nov 2017 14:44:15 +0000 (15:44 +0100)]
Merge pull request #4268 from akallabeth/big_endian_fixes
Fix ZGfx decoder on big endian
Armin Novak [Fri, 24 Nov 2017 12:19:48 +0000 (13:19 +0100)]
Fixed #3810: Renamed color functions
Armin Novak [Fri, 24 Nov 2017 12:10:30 +0000 (13:10 +0100)]
Added missing channel defines.
Armin Novak [Fri, 24 Nov 2017 11:46:01 +0000 (12:46 +0100)]
Fixed mac server compilation.
Armin Novak [Thu, 23 Nov 2017 11:00:52 +0000 (12:00 +0100)]
Fixed big endian issues with bitmap read.
Armin Novak [Thu, 23 Nov 2017 09:47:56 +0000 (10:47 +0100)]
Fixed endianess issues with ncrush.
David Fort [Fri, 24 Nov 2017 10:14:17 +0000 (11:14 +0100)]
Merge pull request #4271 from akallabeth/surface_c
Fixed return value check for callbacks.
akallabeth [Fri, 24 Nov 2017 09:43:53 +0000 (10:43 +0100)]
Merge pull request #4274 from hardening/clipboard_checks
clipboard: add some checks for the message
Ondrej Holy [Fri, 24 Nov 2017 09:24:47 +0000 (10:24 +0100)]
client/common: Fix two memory leaks in RDP file processing
FALSE is returned immediately in case of parsing error and thus buffer
copy is leaked. Let's release the memory properly.
Ondrej Holy [Thu, 23 Nov 2017 18:51:57 +0000 (19:51 +0100)]
winpr/nt: Fix wide char string on big endian
Wide char strings are always little endian encoded and thus
Data_Write_UINT16 has to be used in _RtlAnsiStringToUnicodeString.
It fixes TestIoDevice on big endian machines among others.
https://github.com/FreeRDP/FreeRDP/issues/4231
Ondrej Holy [Thu, 23 Nov 2017 17:22:48 +0000 (18:22 +0100)]
client/common: Fix RDP file processing on big endian
TestClientRdpFile fails on big endian machines due to some bug in
unicode processing. Let's drop all the unicode functions and convert
unicode input into ascii as soon as possible. This significantly
simplify RDP file processing and also fixes TestClientRdpFile on
big endian machines.
https://github.com/FreeRDP/FreeRDP/issues/4231
David Fort [Thu, 23 Nov 2017 16:37:55 +0000 (17:37 +0100)]
clipboard: add some checks for the message
Armin Novak [Thu, 23 Nov 2017 15:18:44 +0000 (16:18 +0100)]
Fix #3378: 31 static channels are supported.
David Fort [Thu, 23 Nov 2017 14:35:52 +0000 (15:35 +0100)]
Merge pull request #4255 from akallabeth/rfx_fix
Fix #4253: Rfx decode tile width.
Armin Novak [Thu, 23 Nov 2017 14:10:42 +0000 (15:10 +0100)]
Fixed return value check for callbacks.
Armin Novak [Thu, 23 Nov 2017 11:53:39 +0000 (12:53 +0100)]
Fixed #1536: Clipboard data size.
akallabeth [Thu, 23 Nov 2017 09:49:15 +0000 (10:49 +0100)]
Merge pull request #4267 from ondrejholy/autofips
Enable FIPS mode automatically
Ondrej Holy [Wed, 22 Nov 2017 18:41:35 +0000 (19:41 +0100)]
Remove unused variable
Unused variable was added together with FIPS mode support, let's remove it.
Ondrej Holy [Wed, 22 Nov 2017 18:25:32 +0000 (19:25 +0100)]
Enable FIPS mode automatically
FreeRDP aborts if OpenSSL operates in FIPS mode and +fipsmode is not
manually specified. Let's prevent the abortion and enable the necessary
options in that case automatically.
Armin Novak [Tue, 21 Nov 2017 16:32:54 +0000 (17:32 +0100)]
Fixed endianess issues of zgfx decoder.
David Fort [Thu, 23 Nov 2017 08:22:02 +0000 (09:22 +0100)]
Merge pull request #4251 from akallabeth/openssl_warn_fixes
Fix #4247: warnings introduced with #3904
Martin Fleisz [Wed, 22 Nov 2017 11:23:04 +0000 (12:23 +0100)]
Merge pull request #4244 from akallabeth/drivestoredirect
Fix parsing of drivestoredirect (#3267)
Martin Fleisz [Wed, 22 Nov 2017 11:06:55 +0000 (12:06 +0100)]
Merge pull request #4258 from akallabeth/kbd_parse_fix
Fix #4257: Proper error checks for /kbd argument
Armin Novak [Wed, 8 Nov 2017 13:22:38 +0000 (14:22 +0100)]
Extract version from file or git tag.
Armin Novak [Tue, 21 Nov 2017 07:46:29 +0000 (08:46 +0100)]
Fix #4257: Proper error checks for /kbd argument
Martin Fleisz [Wed, 22 Nov 2017 08:24:16 +0000 (09:24 +0100)]
Merge pull request #4263 from akallabeth/rdp_parser_mem_corruption_fix
Fixed #4249: Corruption due to recursive parser
akallabeth [Tue, 21 Nov 2017 18:10:28 +0000 (19:10 +0100)]
Testing argument to end with file extension.
Martin Fleisz [Tue, 21 Nov 2017 16:25:25 +0000 (17:25 +0100)]
Merge pull request #4264 from cedrozor/upstream-master
Fixed NLA for Negotiate and NTLM authentication
cedrozor [Tue, 21 Nov 2017 15:36:47 +0000 (16:36 +0100)]
Fixed NLA for Negotiate and NTLM authentication (regression due to the recent addition of kerberos support)
Armin Novak [Tue, 21 Nov 2017 12:47:28 +0000 (13:47 +0100)]
Fixed #4249: Corruption due to recursive parser
Armin Novak [Tue, 21 Nov 2017 10:47:33 +0000 (11:47 +0100)]
Fix #3890: Point to OpenSSL doc for private CA
Armin Novak [Tue, 21 Nov 2017 10:37:42 +0000 (11:37 +0100)]
Disabled ceritficate signature check.
Armin Novak [Mon, 20 Nov 2017 13:02:41 +0000 (14:02 +0100)]
Fixed X11 stride on screen update.
Armin Novak [Mon, 20 Nov 2017 12:42:40 +0000 (13:42 +0100)]
Fix #4101: Rfx decode tile width.
Martin Fleisz [Tue, 21 Nov 2017 10:02:25 +0000 (11:02 +0100)]
Merge pull request #4252 from akallabeth/mac_kbd_sync
Mac kbd sync
Martin Fleisz [Tue, 21 Nov 2017 09:55:18 +0000 (10:55 +0100)]
Merge pull request #4256 from akallabeth/15bpp_fix
Fix #4111: 15bpp color handling for brush.
Armin Novak [Fri, 17 Nov 2017 13:03:57 +0000 (14:03 +0100)]
Fix parsing of drivestoredirect (#3267)