Commit Graph

192 Commits

Author SHA1 Message Date
Martin Fleisz
f3591485bd client/common: Always set gatewayprofileusagemethod to 1
mstsc will only load our gateway settings if gatewayprofileusagemethod
is set to 1. Otherwise it will always set the option "Auto-detect RD
Gateway server settings" and ignore the other gateway settings in the
rdp file.
2020-11-13 11:44:19 +01:00
Martin Fleisz
60317154a3 client/common: Several fixes for the rdp file parser
This PR fixes various issues in the rdp file parser:
- NetworkAutoDetect was written inverted
- GatewayHostname was missing the port info (if not default)
- Several settings were left out when populating the file struct
2020-11-12 18:13:12 +01:00
akallabeth
81765e71f3 Fixed BehaviourSanitizer warning in rdp parser 2020-05-20 15:10:07 +02:00
akallabeth
5f5bf10703 Fixed warning messages for RDP file options
networkautodetect and bandwidthautodetect are both boolean options
which must match each other. Added adequate warnings.
2020-05-05 10:43:33 +02:00
akallabeth
fdf151698d Fixed memory leak in rdp file parser. 2020-03-23 16:06:26 +01:00
Armin Novak
ddcc5ae768 Fixed copy of opaque data
do not use strcncpy for opaque data.
2020-01-23 10:12:12 +01:00
Martin Fleisz
baca062321 core: Fix and extend populate rdp file from settings
This PR contains the following changes:
- Get rid of unused SettingsModified array (kept in the settings struct for ABI
compatibility)
- Fix and extend freerdp_client_populate_rdp_file_form_settings (wrote <null> strings to the rdp file, missed a lot of settings)
- Set KeyboardHook default value to 2 (hook in fullscreen) just as mstsc
does
2020-01-22 14:18:30 +01:00
Pål Håland
fc992ee740 SmartSizingWidth and SmartSizingHeight in RDP file:
Adding this option to use the DesktopHeight and DesktopWidth as
parameters for the SmartSizingWidth and SmartSizingHeight, as there
are no options for that in standard RDP files.

Equivalent of doing /smart-sizing:WxH
2019-11-29 11:14:55 +01:00
Armin Novak
ce5661ce60 Added RDP file option 'desktop size id:i:' support. 2019-11-29 09:09:30 +01:00
Armin Novak
72ca88f49c Reformatted to new style 2019-11-07 10:53:54 +01:00
Armin Novak
c904a4c5cd Trim all RDP file string options except passwords. 2019-09-27 09:09:59 +02:00
Martin Fleisz
db2ac11828
Merge pull request #5615 from akallabeth/rdp_relaxed_parse
Added option to parse RDP files relaxed.
2019-09-24 16:27:54 +02:00
Armin Novak
04a7c068d8 Added option to parse RDP files relaxed. 2019-09-24 16:11:43 +02:00
akallabeth
3edadef768 Fix #5593: Do not use diagnostics pragma inside functions 2019-09-22 16:37:52 +02:00
Armin Novak
73897ebd3b Tighter error checking for integer options in RDP file. 2019-09-11 14:24:00 +02:00
Armin Novak
7dc47bca4f Compare rdp file options case insensitive 2019-09-11 10:26:37 +02:00
Armin Novak
18ec98c402 Set default connection type to autodetect for RDP files. 2019-09-05 12:20:40 +02:00
Martin Fleisz
29f914f178
Merge pull request #5541 from akallabeth/rdp_file_full_drivestoredirect_parsing
Rdp file full drivestoredirect parsing
2019-08-30 11:29:06 +02:00
Armin Novak
6c17d138bd Read and write RDP file 'prompt for credentials' 2019-08-27 12:24:28 +02:00
Armin Novak
fdf1715213 Unified DriveStoreRedirect parsing. 2019-08-23 12:06:21 +02:00
Armin Novak
d8bf05367b Added support for drivestoreredirect:s:<path>(<path>) syntax 2019-08-23 11:18:32 +02:00
Armin Novak
35cb729f31 Added drivestoredirect option value parser 2019-08-23 10:27:01 +02:00
Armin Novak
3dec88f5e3 added BandwidthAutoDetect parsing. 2019-08-22 16:13:04 +02:00
Martin Fleisz
0a4bc1ff94
Merge pull request #5523 from akallabeth/rdp_parser_null_checks
Rdp parser null checks
2019-08-20 16:50:55 +02:00
Martin Fleisz
81cb0a7ee5 client/common: Remove incorrect prompt for creds parsing (#5528)
"prompt for credentials on client" was incorrectly merged together with
"prompt for credentials" into a single setting. However the first option
determines if the client should prompt for credentials if the remote
server does not support server authentication. "prompt for credentials"
on the other hand determines if the client should use any previously
stored credentials or if it should always prompt for them.
2019-08-20 10:07:10 +02:00
Armin Novak
14dfb99a6f Fixed NULL buffer access and alignment warnings. 2019-08-14 09:49:02 +02:00
Armin Novak
b4e1e9a1bd Fixed loading of microphone channel
Ensure microphone channel is loaded if settings require it in freerdp_client_load_addins
2019-07-30 12:32:55 +02:00
Armin Novak
fe6a4c5648 Fixed loading of sound channel
Ensure sound channel is loaded if settings require it in freerdp_client_load_addins
2019-07-30 11:29:17 +02:00
Armin Novak
4128c6741d Fixed a bunch of conversion warnings. 2019-07-30 11:23:33 +02:00
Martin Fleisz
c8d0d50610 common: Fix parsing of devicestoredirect setting in rdp files
If devicestoredirect was found in an rdp file we incorrectly enabled
drive redirection (which has nothing to do with device redirection).
2019-07-30 09:20:58 +02:00
Martin Fleisz
73c90e6e72 Fix rdp file writer
The RDP file writer was based on previously parsed lines from an
existing rdp file. If you created a new rdpFile, populated it from
settings and tried to write it to a file you just got an error. This PR
fixes this issue by creating the data from the rdpFile properties rather
than the parsed lines.
2019-07-18 11:56:27 +02:00
Martin Fleisz
397db534d2 Reformatting 2019-07-18 11:56:27 +02:00
Armin Novak
2394c987ee Added alternate full address to rdp file parser. 2019-07-18 10:44:23 +02:00
Armin Novak
70ba57caee Fixed freerdp_client_rdp_file_set_integer standard flag set. 2019-07-15 12:01:30 +02:00
Armin Novak
607a3e35f4 Fixed rdp file parser tests. 2019-07-15 12:01:30 +02:00
Armin Novak
1deb78f211 Implemented rdp file parser functions with a callback for custom settings. 2019-07-15 12:01:30 +02:00
Armin Novak
3b38479ec5 Added PromptForCredentials setting. 2019-07-15 12:01:30 +02:00
Martin Fleisz
c2fa671dda client: populate settings didn't update NetworkAutoDetect 2019-07-09 15:23:17 +02:00
Armin Novak
4d4e7a69d7 Fixed remaining getter/setter return checks. 2019-05-09 14:04:40 +02:00
Armin Novak
93bf375686 Refactored settings getter/setter to stay compatible. 2019-05-08 14:35:25 +02:00
Armin Novak
6ac91924d5 Fixed use of settings getter/setter 2019-05-08 14:17:23 +02:00
Armin Novak
1c24450fe0 Fixed sign-compare warnings, removed internal functions from API 2019-04-05 09:14:34 +02:00
Armin Novak
89f3f7d837 Added extended error logging for assistance, rdp file and command line parser. 2019-01-16 14:32:19 +01:00
Pavel Pautov
32505fda13 Apply "authentication level" RDP property only to non-RDG connections (as mstsc does). 2018-04-25 18:12:23 -07:00
Jakob Kaivo
3a1d70d9ba add support for the "pcb" block in .rdp files provided by Project Honolulu in the VM interface 2018-03-31 22:15:39 -04:00
Jacco Braat
b592684734 Added to rdp file parsing: gatewayaccesstoken:s:<token>
Added to commandline parsing: /gat:<token>
Added GatewayAccessToken to sings
2018-02-15 10:56:57 +01:00
Armin Novak
a202476422 Fixed RDP file parser for unicode.
There was a memory corruption hidden due to ignoring the
buffer size argument.
2017-12-20 13:44:24 +01:00
akallabeth
0cb5907664
Merge pull request #4275 from ondrejholy/big-endian-fixes
Big endian fixes
2017-12-01 11:24:50 +01:00
Ondrej Holy
90000fd36e 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.
2017-11-24 10:24:47 +01:00
Ondrej Holy
5dcd1ebb06 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
2017-11-23 20:00:09 +01:00
Armin Novak
6504b81b9e Fix parsing of drivestoredirect (#3267) 2017-11-21 10:46:50 +01:00
Armin Novak
4eb5b8e349 Replaced atoi 2017-11-15 15:52:16 +01:00
Bernhard Miklautz
52fbfb7b12 fix clang warnings, directly include wtypes.h (#4097)
* build: clang use -Wno-unused-command-line-argument

With clang 5.0 builds are quite noisy otherwise.

* Directly include wtypes.h

Directly include winpr/wtypes.h where _fseeki64 or _ftelli64 is used.

* fix build warnings with clang 5

clang version: 5.0.0-svn310678-1~exp1 (branches/release_50)
Warning: parentheses-equality

* fix build warnings with clang 5

clang version: 5.0.0-svn310678-1~exp1 (branches/release_50)
Warning: tautological-compare

* fix build warnings with clang 5

clang version: 5.0.0-svn310678-1~exp1 (branches/release_50)
Warning:
incompatible pointer types passing 'size_t *' (aka 'unsigned
long *') to parameter of type 'UINT32 *' (aka 'unsigned int *')
[-Wincompatible-pointer-types]
2017-08-29 09:09:38 +02:00
Armin Novak
c3d4b7d262 fseeko and ftello for 64bit file support. 2017-08-14 08:42:49 +02:00
Armin Novak
0490aeb018 Fixed clang malloc integer overflow warnings. 2017-07-20 09:29:48 +02:00
Armin Novak
b2c29158be Scanbuild warning, argument checks and leak fixes.
* Added Stream_GetRemainingCapacity to check remaining stream size
  before writes.
* Fixed shadow server memory leak.
* Fixed lots of scanbuild warnings
* Added missing argument checks in many functions
* Added missing static function declarations
2017-03-02 18:13:43 +01:00
akallabeth
4065581c98 Merge pull request #3756 from bigpjo/master
.RDP Password Attribute
2017-02-17 09:52:22 +01:00
Armin Novak
198bc6d9e1 Fixed compiler warnings. 2017-02-16 13:17:49 +01:00
Armin Novak
291362e2df Fixed possible memory leak. 2017-02-15 15:42:14 +01:00
Armin Novak
2f8e206c58 Fixed freerdp_client_parse_rdp_file_buffer
The parser function needs a modifyable copy of the input buffer.
2017-02-14 16:02:11 +01:00
bigpjo
f0a52d431d .RDP Password Attribute
Allow password to be stored in .RDP file and parsed and settings
updated, this will allow for dynamic .RDP files to be created with
complete login credentials, using this method the username, server and
password will no longer be visible within process lists.

Also fixed issue of username and domain being read from .RDP files and
set to null by command line processor.
2017-02-10 20:38:52 +00:00
Armin Novak
cd05ea7452 Fixed error checks for command line parser. 2016-02-01 15:18:34 +01:00
Bernhard Miklautz
1cee185e3c hardening: check fread and fwrite return values 2015-06-26 20:38:30 +02:00
Armin Novak
2f81d99327 Added missing argument checks. 2015-06-23 12:17:37 +02:00
Bernhard Miklautz
af81a91ea7 windows: fix compilation and warnings 2015-06-22 19:31:25 +02:00
Bernhard Miklautz
06502e6a91 misc: integrate pull request feedback 2015-06-22 19:24:30 +02:00
Bernhard Miklautz
bf73f4e4f1 Fix unchecked strdups
* add missing checks
* adapt function return values where necessary
* add initial test for settings
2015-06-22 19:09:59 +02:00
Norbert Federa
1eff1a345e free can handle NULL perfectly fine 2015-05-11 09:07:39 +02:00
Armin Novak
c380fb3520 Added flag to ignore unknown keywords
freerdp_client_settings_parse_command_line now allows ignoring
unknown keywords.
2015-03-16 10:15:37 +01:00
Zhang Zhaolong
d1c508768e common/file: fix incorrect usage of realloc.
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-11 11:32:51 +08:00
Armin Novak
7913a57bc5 Using wlog for logging in clients now. 2014-09-15 08:55:00 +02:00
Marc-André Moreau
cff9c16c1e Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	channels/disp/client/disp_main.c
2014-08-11 10:36:07 -04:00
Armin Novak
0780c0993e Replaced fprintf(stderr with DEBUG_WARN 2014-08-07 22:21:07 +02:00
Benoît LeBlanc
84d0089401 Added KeyboardHook to settings 2014-07-08 16:32:28 -04:00
Benoît LeBlanc
903c5dada1 fix smart sizing parsing 2014-06-16 15:01:09 -04:00
Marc-André Moreau
2da89cd8e5 libfreerdp-client: fix parsing of port numbers in .rdp file full address, gatewayhostname options 2014-06-12 10:49:29 -04:00
Marc-André Moreau
001ff64840 Merge pull request #1875 from jbd1986/fix-rdp-file-fullscreen
Reading RDP File: changed fullscreen constants to reflect the current states from Technet
2014-06-04 12:02:30 -04:00
Justin DeFields
c89601faeb Changed fullscreen value to reflect the current states from http://technet.microsoft.com/en-us/library/ff393692(v=ws.10).aspx 2014-05-29 11:48:38 -04:00
Marc-André Moreau
5e97757939 freerdp: fix improper .rdp file parsing 2014-05-10 17:28:34 -04:00
Benoît LeBlanc
d7b587161d Settings: persist SmartSizing 2014-04-29 17:33:59 -04:00
Benoit LeBlanc
72a9a92564 Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-04-28 10:11:25 -04:00
Marc-André Moreau
769502ec72 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-04-26 13:47:01 -04:00
Zhang Zhaolong
5cb7819830 client-common: fix memory leak in case of error out. 2014-04-26 12:19:28 +08:00
Benoit LeBlanc
c59ae16b02 fix typo 2014-04-24 17:27:45 -04:00
Marc-André Moreau
3ee6494d36 libfreerdp-core: cleanup GatewayUsageMethod setting 2014-04-24 17:05:10 -04:00
Marc-André Moreau
4c920506ed libfreerdp-core: add 'Bypass RD Gateway server for local addresses' feature 2014-03-24 14:44:18 -04:00
Marc-André Moreau
5ff847a6e6 wfreerdp: fix multiple warnings 2014-02-10 01:06:11 -05:00
Benoît LeBlanc
36a1323dce fixed error parsing rdp file: lines without value were ignored before being marked as formatted, resulting in duplicate values being written to the RDP file afterwards. 2013-12-13 16:58:46 -05:00
Benoît LeBlanc
469303a545 Fix: PromptCredentialsOnce / GatewayUseCredentials were always set to true regardless of the value present in the rdp file. 2013-12-12 11:32:36 -05:00
Benoît LeBlanc
153bcbfa7c Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2013-12-06 09:15:02 -05:00
Benoît LeBlanc
a86168fe8f added const to freerdp_client_get_string_option 2013-12-06 09:14:55 -05:00
Marc-André Moreau
f963491ebe libfreerdp-client: cleanup .rdp file parsing 2013-12-05 12:35:31 -05:00
Marc-André Moreau
73196c3777 libfreerdp-common: add fine grained control over .rdp file writing functions 2013-12-04 18:25:55 -05:00
Marc-André Moreau
4b341daa3d libfreerdp-client: add functions for getting/setting rdp file options 2013-12-04 16:29:45 -05:00
Marc-André Moreau
0ffc6a93ae libfreerdp-client: start extending .rdp file parsing capabilities 2013-12-04 15:37:42 -05:00
Marc-André Moreau
83ad1730b8 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	libfreerdp/core/input.c
	libfreerdp/core/update.c
2013-11-23 16:39:29 -05:00
Bernhard Miklautz
440d945f5d client/common: fixed TestClientRdpFile test
Unified ascii and unicode string handling.
2013-11-15 16:58:54 +01:00
Marc-André Moreau
fb23f08388 libfreerdp-client: fix possible infinite loop with .rdp file parsing containing freerdp options 2013-11-10 13:29:20 -05:00
Benoît LeBlanc
02fe384ecb typo 2013-11-07 13:45:16 -05:00
Benoît LeBlanc
c4dea17af3 added _scprintf macro to winpr because snprintf does not count characters on Windows.
Modified write_rdp_file_ macros for windows compatibility
2013-11-07 13:44:18 -05:00