Commit Graph

621 Commits

Author SHA1 Message Date
Armin Novak
fd26624bcb Parse RDP and assistance files in parser.
The command line parser is now populating the settings with
the RDP or assistance file content before parsing the rest
of the arguments.
2016-03-16 13:20:11 +01:00
Armin Novak
bb3448f2a7 Set variable to NULL to prevent double free. 2016-03-07 13:12:38 +01:00
Armin Novak
4bb33e904a Reparse command line after RDP or assistance file. 2016-03-07 09:45:09 +01:00
Armin Novak
36241ed540 Fix memory leaks if parsed multiple times. 2016-03-07 09:45:04 +01:00
Bernhard Miklautz
25506348d0 Merge pull request #3168 from akallabeth/visibility_fixes
Fixed default visibility.
2016-02-29 16:59:58 +01:00
Armin Novak
c182be093d Removed module.def from build config. 2016-02-29 15:24:07 +01:00
Armin Novak
68c402ac58 Removed windows module.def files.
All symbols exported from libraries are declared
using *_API defines.
2016-02-29 15:18:47 +01:00
Armin Novak
dccf40c2bc Fixed duplicate loading of smartcard and printers. 2016-02-26 15:21:11 +01:00
Bernhard Miklautz
e6f013eac7 fix spelling
replace occured with occurred
Fixes #3142
2016-02-22 17:01:43 +01:00
Armin Novak
ae4a1ee342 Abort certificate accept if password is read from stdin. 2016-02-19 10:25:21 +01:00
Hardening
2a3e9996b3 Merge pull request #2710 from akallabeth/cert_temp_accept_v2
Extended certificate callbacks.
2016-02-15 13:52:47 +01:00
Isaac Richter
1f6ba7963c Enable display scaling in client 2016-02-05 11:08:27 -08:00
Armin Novak
5e46a6e4be Replaced getline with custom GetLine. 2016-02-05 02:05:37 +01:00
Armin Novak
b35f6658b9 Moved common code from cli clients to client lib. 2016-02-05 02:05:37 +01:00
Armin Novak
cd05ea7452 Fixed error checks for command line parser. 2016-02-01 15:18:34 +01:00
Armin Novak
035f127081 Added get_build_config functions. 2016-01-28 14:26:50 +01:00
Armin Novak
46a079fcb6 Added new command line options for logger.
The new command line options /log-level:<level> and
/log-filters:<filter>:<level> allow setting default log
level and log module filter to be set.
2016-01-23 15:16:13 +01:00
Bernhard Miklautz
7c03db342c add parameter buildconfig
Extend winpr and client/common to support a new option "/buildconfig".
When used build the following build specific information is print:
* cmake options
* cflags
* compiler
* target architecture
* cmake build type
2016-01-12 17:32:33 +01:00
Bernhard Miklautz
6fa3608111 cleanup cmake exports and pkg-config files
With this commit the "exported" components (usable with pkg-config and
cmake find module package)
* winpr - winpr library and headers
* freerdp - core library and headers
* freerdp-client - client specific library
* freerdp-server - server specific library
* rdtk - rdtk headers and library

To allow the installation of multiple different version (different major
number) the include files were moved into the respective sub folder:
freerdp -> freerdp{MAJOR}/freerdp (currently freerdp2/freerdp/)
winpr -> winpr{MAJOR}/winpr (currently winrp1/winpr/)
rdtk -> rdpk{MAJOR}/rdtk (currently rdtk0/rdtk/

The generated pkg-config and cmake find modules now also include the major
version number. Currently the following pkg-config are generated and
installed.
* winpr1
* freerdp2
* freerdp-server2
* freerdp-client2
* rdtk0

As cmake is able to handle multiple versions out of the box the
following can be used to find a specific module:

find_package(WinPR)
find_package(FreeRDP)
find_package(FreeRDP-Server)
find_package(FreeRDP-Client)
find_package(RdTk)

As cmake doesn't automatically resolve dependencies for packages it is
necessary to manually include the requirements. For example if
FreeRDP-Client is required WinPR and FreeRDP need to be included
(find_package) as well.

This commit also fixes the installation when STATIC_CHANNELS are built.
WITH STATIC_CHANNELS all channels are linked into libfreerdp-client, for
this all channels are generated as linker archive and linked together in
the final step. Before the intermediate linker archives were, although
not required and useful, installed. Same applies for server side
channels.
2016-01-12 17:32:33 +01:00
Hardening
b35d0aa8aa Merge pull request #2779 from RolKau/2779_ptrbtn
Send correct buttons when using a left-handed mouse
2015-12-17 00:04:53 +01:00
Roland Kaufmann
600d3c5ccb Add option to disable pointer button mapping
In case the old behaviour of not reverse-mapping the mouse buttons is
desirable, a command-line option is added to disable the mapping. This
option is made experimental for the time being.

The default is to do the reverse mapping, as this is the intuitive
behaviour (the mouse then works as it would on the console).
2015-12-15 17:42:57 +01:00
Armin Novak
6ed43cd6ec Updated pdb file locations.
Now supporting generators NMake and Visual Studio.
2015-12-15 12:08:35 +01:00
Armin Novak
cb958ba9c6 Added pdb files to package target.
Fixed name collision with freerdp-shadow targets.
2015-12-15 12:07:21 +01:00
Armin Novak
e223684fcb args arrays static.
When creating static builds the args arrays collided due
to global visibility.
2015-12-15 12:07:21 +01:00
Bernhard Miklautz
05c02da742 settings: update settings/help to match
* wallpaper was off but help said "default: on"
* compression is on but help said "default: off"

Fixes #2853
2015-08-28 11:09:38 +02:00
MartinHaimberger
45f9519b58 Merge pull request #2723 from akallabeth/pwd_from_stdin
New /from-stdin
2015-07-15 14:12:13 +02:00
Bernhard Miklautz
1cee185e3c hardening: check fread and fwrite return values 2015-06-26 20:38:30 +02:00
Marc-André Moreau
cf2f4bf9cf Merge pull request #2737 from nfedera/nf-fix-gdi-return-value-weirdness
libfreerdp/gdi: fixed gdi return value madness
2015-06-26 09:24:08 -04:00
Norbert Federa
bb9536b867 libfreerdp/gdi: fixed gdi return value madness
Mostly booleanization to comply with the MS API
2015-06-26 14:32:38 +02:00
Marc-André Moreau
ddf2519f1e Merge pull request #2719 from bmiklautz/pull/2481
OSS, tsmf, usb and BSD fixes and improvements
2015-06-26 08:27:22 -04:00
Armin Novak
e969049aa3 Removed unused variable and incorrect comment. 2015-06-23 16:20:59 +02:00
Armin Novak
2d41cb9467 Updated from-stdin help message. 2015-06-23 16:09:39 +02:00
Armin Novak
5a5ed77c57 Added /from-stdin 2015-06-23 14:59:54 +02:00
Armin Novak
2f81d99327 Added missing argument checks. 2015-06-23 12:17:37 +02:00
Bernhard Miklautz
09445c2b0e nla and cmdline: integrated feedback
* fix possible problems with 0 size lengths
* add return value checks
2015-06-23 10:14:11 +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
1b8dd139a9 cmd line: add missing checks
* strdup
* some allocs
2015-06-22 19:23:57 +02:00
David FORT
7c3f8f33ab Fixes for malloc / calloc + other fixes
This patch contains:

* checks for malloc return value + treat callers;
* modified malloc() + ZeroMemory() to calloc();
* misc fixes of micro errors seen during the code audit:
** some invalid checks in gcc.c, also there were some possible
integer overflow. This is interesting because at the end the data are parsed
and freed directly, so it's a vulnerability in some kind of dead code (at least
useless);
** fixed usage of GetComputerNameExA with just one call, when 2 were used
in misc places. According to MSDN GetComputerNameA() is supposed to return
an error when called with NULL;
** there were a bug in the command line parsing of shadow;
** in freerdp_dynamic_channel_collection_add() the size of array was multiplied
by 4 instead of 2 on resize
2015-06-22 19:21:47 +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
Armin Novak
c3e368bd4b Fixed typo and invalid domain name. 2015-06-18 16:07:09 +02:00
Armin Novak
90cc7eb3c8 UPN syntax fix: domain must be empty, not NULL. 2015-06-18 13:01:23 +02:00
Armin Novak
427d85f5f0 Added user setting if no domain provided. 2015-06-18 12:01:17 +02:00
Armin Novak
d5c3f210e9 Fixed variable parsed. 2015-06-18 11:49:16 +02:00
Armin Novak
64529b6d60 Using last @ for domain split.
Command line parser splits username after
parsing all options.
2015-06-18 11:35:22 +02:00
Armin Novak
3e26940547 Allowing UPN syntax for user. 2015-06-15 09:47:16 +02:00
ivan-83
83a40a32a7 * tsmf: OSS code cleanup
+ urbdrc: add devd support (not tested)
* fix FindUUID detection ubder BSD
* wlog: fix prev commit: build error on Windows
* cmdline: add /usb syntax help
2015-05-27 22:58:41 +03:00
ivan-83
94a7abd2af + tsmf: OSS initial suppot (not work yet)
* tsmf: fix video playback on FreeBSD (proper shared object name)
* tsmf: renamed args: audio->sys, audio-dev->dev
* audin: OSS fix, now it work
* cmdline: add syntax help for /audin, /rdpsnd, /tsmf
* add debug messages
2015-05-27 22:54:13 +03:00
Marc-André Moreau
29d14773c8 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	client/Windows/wf_client.c
	libfreerdp/common/assistance.c
2015-05-20 10:12:24 -04:00
Norbert Federa
1eff1a345e free can handle NULL perfectly fine 2015-05-11 09:07:39 +02:00
Marc-André Moreau
6b1fefea40 freerdp: fix remote assistance mode, add multi-address connection 2015-05-06 16:32:45 -04:00
Norbert Federa
ef1fd12b15 Fix unchecked CreateEvent calls and misc fixes
1)
Added missing checks for CreateEvent which also required the
following related changes:

- changed freerdp_context_new API to BOOL
- changed freerdp_peer_context_new API to BOOL
- changed pRdpClientNew callback to BOOL
- changed pContextNew callback to BOOL
- changed psPeerAccepted callback to BOOL
- changed psPeerContextNew callback to BOOL

2)
Fixed lots of missing alloc and error checks in the
changed code's neighbourhood.

3)
Check freerdp_client_codecs_prepare result to avoid segfaults
caused by using non-initialized codecs.

4)
Fixed deadlocks in x11 caused by missing xf_unlock_x11() calls
in some error handlers

5)
Some fixes in thread pool:
- DEFAULT_POOL assignment did not match TP_POOL definition
- don't free the pool pointer if it points to the static DEFAULT_POOL
- added error handling and cleanup in InitializeThreadpool
2015-04-29 18:18:39 +02:00
Bryan Everly
8c75127a67 Necessary changes to get latest branch working on OpenBSD 5.6 2015-04-21 14:42:06 -04:00
Bernhard Miklautz
0615c13dbb Fix regression introduced in 0b7f9d4
This fixes problems with command line parsing.
2015-04-02 22:53:45 +02:00
Armin Novak
878aecfa48 Fixed conversion warnings. 2015-03-31 15:18:45 +02:00
Bernhard Miklautz
3c7662517c hardening
Start to add missing checks for:
* *alloc
* *_New
2015-03-25 17:38:21 +01:00
Armin Novak
47f38b3059 Fixed uninitialized test argument buffer. 2015-03-23 14:14:38 +01:00
Marc-André Moreau
6202f48c12 libfreerdp-core: add configurable TSG/RGB fallback, fix edge cases 2015-03-19 11:44:47 -04:00
Marc-André Moreau
2094501d8b freerdp: fix failing tests 2015-03-16 09:26:38 -04:00
Armin Novak
b39940e0a5 Added ignore unkown keyword flag to detection. 2015-03-16 10:25:31 +01: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
ivan-83
9e7e4ce7ff Merge branch 'master' of github.com:ivan-83/FreeRDP 2015-03-13 01:39:41 +03:00
ivan-83
7b3a552988 + audin OSS support (un tested now)
+ add: COMMAND_LINE_IGN_UNKNOWN_KEYWORD flag for CommandLineParseArgumentsA to ignory unknown keys without fail
+ add: lot of WLog_DBG() in drdynvc, add function names in existing
* change: error text in rdpsnd OSS
* fix: dev in rdpsnd does not work
* fix/change: audio-dev renamed to dev and now work in audin
* fix dynamic channels now work again
2015-03-13 01:28:44 +03:00
Marc-André Moreau
5ab34dfa3e Merge pull request #2456 from zhangzl2013/fix-realloc
Fix incorrect usage of realloc
2015-03-12 07:33:27 -04:00
Zhang Zhaolong
19f2354ee4 fix build error.
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-11 15:04:38 +08:00
Zhang Zhaolong
0b7f9d4931 cmdline: fix incorrect usage of realloc.
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-11 12:26:04 +08: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
Bernhard Miklautz
e9985c2093 settings: handle collection_add in detection case
Command line detection is run with dummy settings where not everything
is allocated. Collections (device, dynamic channel and static
channel) didn't handle this case properly.
2015-03-10 13:10:39 +01:00
bjcollins
ad3cb384d4 Fix the command line argument array setup for decorations argument. The initial value was set for the wrong field in the structure. The decorations is correctly initialized to on
anyways, but this is the correct formatting for the array element.
2015-02-13 14:57:52 -06:00
Marc-André Moreau
9b9fbd2ab1 xfreerdp: fix fullscreen mode 2015-02-10 15:15:30 -05:00
Marc-André Moreau
fa06c4d401 libfreerdp-core: improve reconnection 2015-02-06 14:21:26 -05:00
Marc-André Moreau
977cd21919 libfreerdp-core: don't enable GatewayBypassLocal by default 2015-01-28 15:16:31 -05:00
Christian Plattner
33320a2e02 Merge remote-tracking branch 'upstream/master' into httpproxy
Conflicts:
	libfreerdp/core/settings.c
	libfreerdp/core/tcp.c
	libfreerdp/core/transport.c
2015-01-22 14:33:17 +01:00
Norbert Federa
bd345ed416 build/win32: fix static build
version.rc must only be included in client executable
2015-01-20 16:23:05 +01:00
Armin Novak
b621c542c4 Resetting DynamicChannelCount on addin load now. 2015-01-20 11:26:53 +01:00
Christian Plattner
3b7b3a0dac Merge commit '709df9^' into httpproxy
Conflicts:
	client/common/cmdline.c
2015-01-20 01:33:46 +01:00
Christian Plattner
c20b487815 Merge commit 'dd6d82955087e1b53c8d9f1a7a5b252c8a545210^' into httpproxy 2015-01-19 21:23:37 +01:00
Christian Plattner
5152a8a483 Merge commit '4c920506ed9985fdec0eb52fd2c40626458fd050' into httpproxy
Conflicts:
	include/freerdp/settings.h
	libfreerdp/common/settings.c
	libfreerdp/core/settings.c
	libfreerdp/core/transport.c
2015-01-19 21:13:24 +01:00
Bernhard Miklautz
1b18e97d7e TestClientCmdLine: fix formating 2015-01-16 00:54:45 +01:00
Bernhard Miklautz
c70293aa60 Fix clang compiler warnings 2015-01-16 00:41:57 +01:00
Bernhard Miklautz
ddd96d0968 Add test for client command line
TestClientCmdLine tests if the client command line parsing
works for new and legacy command line syntax.
2015-01-16 00:25:13 +01:00
Armin Novak
9863ccfe66 Fixed memory leak. 2015-01-15 17:19:39 +01:00
Armin Novak
dfb6176df6 Fixed multiple parsing errors for compatibility command line. 2015-01-15 17:14:29 +01:00
Armin Novak
f86ed3ffef Fixed windows command line
freerdp_detect_windows_style_command_line_syntax returns negative values
in error but also in help and version case... oh boy
2015-01-15 16:01:57 +01:00
Armin Novak
241848038c Fixed missing NULL pointer check. 2015-01-15 14:08:33 +01:00
Armin Novak
20f7e4d301 Fixed clang warnings.
Fixed check for compatibility command line.
2015-01-15 13:57:28 +01:00
Armin Novak
1d4403cbbe Fixed command line pre filter, now returning 2 to skip argument. 2015-01-15 13:56:54 +01:00
Marc-André Moreau
74bef0edca Merge pull request #2275 from awakecoding/master
TS Gateway Fixes
2014-12-12 09:33:52 -05:00
Norbert Federa
939f1c639a Standard RDP Security Layer Levels/Method Overhaul
[MS-RDPBCGR] Section 5.3 describes the encryption level and method values for
standard RDP security.

Looking at the current usage of these values in the FreeRDP code gives me
reason to believe that there is a certain lack of understanding of how these
values should be handled.

The encryption level is only configured on the server side in the "Encryption
Level" setting found in the Remote Desktop Session Host Configuration RDP-Tcp
properties dialog and this value is never transferred from the client to the
server over the wire.
The possible options are "None", "Low", "Client Compatible", "High" and
"FIPS Compliant". The client receices this value in the Server Security Data
block (TS_UD_SC_SEC1), probably only for informational purposes and maybe to
give the client the possibility to verify if the server's decision for the
encryption method confirms to the server's encryption level.
The possible encryption methods are "NONE", "40BIT", "56BIT", "128BIT" and
"FIPS" and the RDP client advertises the ones it supports to the server in the
Client Security Data block (TS_UD_CS_SEC).
The server's configured encryption level value restricts the possible final
encryption method.
Something that I was not able to find in the documentation is the priority
level of the individual encryption methods based on which the server makes its
final method decision if there are several options.
My analysis with Windows Servers reveiled that the order is 128, 56, 40, FIPS.
The server only chooses FIPS if the level is "FIPS Comliant" or if it is the
only method advertised by the client.

Bottom line:
* FreeRDP's client side does not need to set settings->EncryptionLevel
(which was done quite frequently).
* FreeRDP's server side does not have to set the supported encryption methods
list in settings->EncryptionMethods

Changes in this commit:

Removed unnecessary/confusing changes of EncryptionLevel/Methods settings

Refactor settings->DisableEncryption
* This value actually means "Advanced RDP Encryption (NLA/TLS) is NOT used"
* The old name caused lots of confusion among developers
* Renamed it to "UseRdpSecurityLayer" (the compare logic stays untouched)

Any client's setting of settings->EncryptionMethods were annihilated
* All clients "want" to set all supported methods
* Some clients forgot 56bit because 56bit was not supported at the time the
code was written
* settings->EncryptionMethods was overwritten anyways in nego_connect()
* Removed all client side settings of settings->EncryptionMethods
The default is "None" (0)
* Changed nego_connect() to advertise all supported methods if
settings->EncryptionMethods is 0 (None)
* Added a commandline option /encryption-methods:comma separated list of the
values "40", "56", "128", "FIPS". E.g. /encryption-methods:56,128
* Print warning if server chooses non-advertised method

Verify received level and method in client's gcc_read_server_security_data
* Only accept valid/known encryption methods
* Verify encryption level/method combinations according to MS-RDPBCGR 5.3.2

Server implementations can now set settings->EncryptionLevel
* The default for settings->EncryptionLevel is 0 (None)
* nego_send_negotiation_response() changes it to ClientCompatible in that case
* default to ClientCompatible if the server implementation set an invalid level

Fix server's gcc_write_server_security_data
* Verify server encryption level value set by server implementations
* Choose rdp encryption method based on level and supported client methods
* Moved FIPS to the lowest priority (only used if other methods are possible)

Updated sample server
* Support RDP Security (RdpKeyFile was not set)
* Added commented sample code for setting the security level
2014-12-12 02:17:12 +01:00
Marc-André Moreau
d8e10ac04a freerdp: patch leaks reported by valgrind when using TS Gateway 2014-12-11 11:25:34 -05:00
Armin Novak
edfee8213e Initializing ServerHostname string now with 0 2014-12-11 11:26:42 +01:00
Marc-André Moreau
6ccce86140 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	winpr/libwinpr/thread/thread.c
2014-12-03 10:10:50 -05:00
Norbert Federa
25f66d2e6d xfreerdp: added smart sizing, mt gesture fixes
- removed setting ScalingFactor
- added settings SmartSizingWidth and SmartSizingHeight
- changed option /smart-sizing to optionally support <width>x<height>
- consolidated transformation of input event coordinates
- rdp8 gfx ignored scaling and panning offsets: fixed
- never resize window on panning/pinching
- simplified keyboard multitouch gesture debugging emulation
- disabled keyboard multitouch gesture emulation debug code via define
2014-12-01 11:56:44 +01:00
Marc-André Moreau
7881ec762e server/shadow: avoid sending pointer updates when not active, fix remdesk leak 2014-11-21 15:10:39 -05:00
Armin Novak
d30b6ed04d Fixed null pointer dereference. 2014-11-17 01:22:33 +01:00
Vic Lee
288097e271 Removed library prefix on Windows def files. 2014-11-03 12:39:27 +08:00
Martin Fleisz
0be28ba0f6 Merge pull request #1965 from akallabeth/dynamic-addin-naming
Dynamic channel library naming
2014-10-31 13:42:16 +01:00
Martin Fleisz
d58c6de93c Merge pull request #2134 from akallabeth/windows_version_information
Windows version information
2014-10-31 12:23:11 +01:00
Jean-Louis Dupond
0dc0e01568 Add ipv6 client support 2014-10-17 12:08:39 +02:00
Armin Novak
22c775988b Using global RC_VERSION_PATCH now. 2014-10-09 16:20:32 +02:00
Armin Novak
5364a834c4 Added windows version information to build. 2014-10-03 15:17:40 +02:00
Marc-André Moreau
ca1cec64d8 libfreerdp-core: update RDP8 virtual channels 2014-09-25 17:31:05 -04:00
Marc-André Moreau
c762a4d5a2 Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow 2014-09-25 10:35:14 -04:00
Marc-André Moreau
86b4123cf0 Merge pull request #2101 from eledoux/ports
Ports
2014-09-25 10:38:07 -04:00
Marc-André Moreau
72fff184dd libfreerdp-core: fix RemoteFX/autodetect incompatibility issue with 2008 R2 2014-09-24 17:23:12 -04:00
Christian Plattner
844ce44473 Removed WITH_HTTP_PROXY flag, enabling feature always 2014-09-21 12:56:54 +02:00
Armin Novak
059374457d Removed library prefix override. 2014-09-17 11:27:11 +02:00
Bernhard Miklautz
1fb028fc9f command line: fix --version
In command line detection status (return) values were ignored therefore
--version wasn't recognized properly and help was printed
2014-09-16 22:51:01 +02:00
Bernhard Miklautz
06e81a1d9b command line: print help and kbd list to stdout
Revert recent wlog changes for command line and print help/kbd listings
directly to stdout
2014-09-16 21:07:38 +02:00
Emmanuel Ledoux
e9749c6b3f serial: ability to turn on the permissive mode from the command line 2014-09-16 12:08:33 +02:00
Armin Novak
81a4081279 Decreased logging verbosity. 2014-09-16 09:37:45 +02:00
Armin Novak
1e622bc500 Decreased logging verbosity. 2014-09-15 19:50:50 +02:00
Armin Novak
1845c0b590 Fixed possible memory leak. 2014-09-15 08:55:00 +02:00
Armin Novak
7913a57bc5 Using wlog for logging in clients now. 2014-09-15 08:55:00 +02:00
Bernhard Miklautz
0313ca3622 libfreerdp: always build "MONOLITHIC"
"libfreerdp" consisted of multiple (small) single libraries. If the cmake
option MONOLITHIC was used only one library was build combining all of
the libfreerdp-* libraries.
The only exceptions to this are libfreerdp-server and libfreerdp-client these
are build as separate libraries.

This commit obsoltes non-monolithic builds and makes monolithic builds
the default. The cmake option MONOLITHIC is also removed.
2014-09-12 00:19:53 +02:00
Daryl Poe
5bf59b0810 handle user@corp.net username correctly
(cherry picked from commit 248c918508)
2014-08-19 12:02:48 +02:00
Marc-André Moreau
1a8c763309 Merge branch 'shadow' of github.com:awakecoding/FreeRDP 2014-08-18 17:06:13 -04:00
Marc-André Moreau
241b3d7134 Merge pull request #2022 from dbungert/percent
Restore window size by percent
2014-08-18 16:20:15 -04:00
Marc-André Moreau
9adaadb93a shadow: add more virtual channels to RDP backend like WDS API 2014-08-14 19:23:48 -04:00
Marc-André Moreau
dc7f89dbd5 Merge branch 'egfx' of github.com:awakecoding/FreeRDP 2014-08-11 17:25:38 -04: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
Marc-André Moreau
067da290dd Merge pull request #2027 from akallabeth/winpr-log
Replace stdout and logging defines with WLog, add logcat support
2014-08-11 10:38:28 -04:00
Marc-André Moreau
51ac7fffbd Merge pull request #1993 from bmiklautz/merge/from-stable-1.1
Pick changes from stable-1.1 that are not yet on master
2014-08-11 10:28:10 -04:00
Armin Novak
0780c0993e Replaced fprintf(stderr with DEBUG_WARN 2014-08-07 22:21:07 +02:00
Daniel Bungert
a8c31a286b Restore window size by percent
1.0 had the ability to specifiy window geometry by a percentage.
The support is still there, just needed command line support.
Example in 1.1 syntax: /size:85%
2014-08-06 04:19:50 -06:00
Marc-André Moreau
800be2f680 libfreerdp-codec: complete parsing of progressive codec block arrays 2014-07-29 17:37:46 -04:00
Marc-André Moreau
b56eaccdc3 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	client/common/client.c
2014-07-28 16:58:32 -04:00
Justin DeFields
65aab2569d Move multimon/span logic from cmdline.c to client.c post processing 2014-07-28 15:24:48 -04:00
Bernhard Miklautz
ff26a90489 return status instead of returning directly 2014-07-28 18:49:18 +02:00
Bernhard Miklautz
32bb18152a cmdline post: cleanup in case of oom 2014-07-28 17:57:51 +02:00
Bernhard Miklautz
f06490b426 fix freerdp_client_settings_post_processing 2014-07-28 17:52:40 +02:00
Marc-André Moreau
2036b443eb libwinpr-wtsapi: fix WtsApi32.dll dynamic loading on Windows 2014-07-26 15:23:39 -04:00
Marc-André Moreau
ef04373628 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-07-26 14:43:10 -04:00
Daryl Poe
3be316d66a /kbd: option should be unsigned
(cherry picked from commit fc6b72017f)
2014-07-25 11:32:29 +02:00
Justin DeFields
2e859a5d14 Removed GatewayUseSameCredentials logic from cmdline.c, and placed it after both cmdline and rpd file have been parsed. This provides proper GatewayUseSameCredentials support for the rdp file 2014-07-24 16:07:14 -04:00
Benoit LeBlanc
653d52bff3 Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-07-18 12:02:52 -04:00
Daniel Bungert
625f7c3c22 Add arguments for managing tls ciphers & netmon
This adds 2 arguments:
    /tls-ciphers                List of permitted openssl ciphers - see ciphers(1)
    /tls-ciphers-netmon         Use tls ciphers that netmon can parse

With KB2919355, client/server negotiate the use of
TLS cipher TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
which works fine except that netmon can't parse it.
By adding commandline /tls-ciphers-netmon, we restrict
the available ciphers to a list that netmon can
deal with.  Also adds /tls-ciphers, which
accepts a string arg, for further customization.
2014-07-17 06:59:06 -06:00
Armin Novak
ad3255354d Added WITH_LIBRARY_VERSIONING, allowing to build shared libraries without
SOVERSION information. (required by Android)
2014-07-11 11:53:58 +02:00
Bernhard Miklautz
6a49bcfe40 winpr: always build "monolitic"
winpr is now always build as single library.
The build option MONOLITHIC_BUILD doesn't influence this behavior anymore.

The only exception is winpr-makecert-tool which is still build as extra
library.

This obsoletes complex_libraries for winpr.
2014-07-10 11:10:58 +02:00
Benoît LeBlanc
18eaddc7fe Merge branch 'master' of git://github.com/awakecoding/FreeRDP
# By Marc-André Moreau (20) and others
# Via Mike McDonald (6) and others
* 'master' of git://github.com/awakecoding/FreeRDP: (26 commits)
  libfreerdp-codec: fix C++ headers
  libfreerdp-codec: fix ClearCodec short vbar cache hit
  libfreerdp-codec: improve ClearCodec error checking
  libfreerdp-codec: fix ClearCodec RLEX decoding
  libfreerdp-codec: ClearCodec fix error codes and wrapping around of cursors
  libfreerdp-codec: fix some ClearCodec flag checking
  Fixed issue with last merge.
  Added #ifdef WITH_OPENH264 ... #endif to appropriate places in the code.
  libfreerdp-codec: handle long vbar length mismatch
  channels/rdpgfx: add egfx command line options and settings
  libfreerdp-codec: reduce number of variables
  libfreerdp-codec: improve ClearCodec robustness
  libfreerdp-codec: simplify ClearCodec code
  Initial implementation of H.264 decoder for MS-RDPEGFX
  libfreerdp-codec: improve ClearCodec subcodec xStart, yStart handling
  libfreerdp-codec: improve ClearCodec subcodec support
  libfreerdp-codec: improve ClearCodec error checking
  libfreerdp-codec: more ClearCodec vBar caching
  channels/rdpgfx: harden parsing code
  libfreerdp-codec: add ClearCodec glyph cache
  ...
2014-07-08 16:45:59 -04:00
Benoît LeBlanc
84d0089401 Added KeyboardHook to settings 2014-07-08 16:32:28 -04:00
Marc-André Moreau
c16000e67b Merge branch 'master' of github.com:FreeRDP/FreeRDP into egfx 2014-07-08 12:29:30 -04:00
Marc-André Moreau
8516846999 libfreerdp-client: cleanup gfx options 2014-07-08 12:29:08 -04:00
Marc-André Moreau
5c5386fe04 channels/rdpgfx: add egfx command line options and settings 2014-07-03 14:35:03 -04:00
Emmanuel Ledoux
e4840d3596 Merge remote-tracking branch 'upstream/master' 2014-07-03 11:56:00 +02:00
Marc-André Moreau
5606c64f61 channels/remdesk: initial working Remote Assistance 2014-06-30 13:26:11 -04:00
Marc-André Moreau
b60eff8e42 channels/remdesk: start sending authentication data 2014-06-30 12:51:27 -04:00
Emmanuel Ledoux
9fc225ac5d Merge branch 'ports'
Conflicts:
	channels/serial/client/serial_tty.c
2014-06-30 17:22:15 +02:00
Marc-André Moreau
7a50525880 libfreerdp-common: move assistance code 2014-06-30 09:40:24 -04:00
Marc-André Moreau
dadba85f99 client/common: fix remote assistance expert blob 2014-06-30 09:21:45 -04:00
Marc-André Moreau
b83685cdef client/common: start parsing Remote Assistance Connection String 2 2014-06-29 20:38:33 -04:00
Marc-André Moreau
01a013f826 client/common: fix Remote Assistance memory leaks 2014-06-29 19:57:46 -04:00
Marc-André Moreau
90ea609576 client/common: improve remote assistance blob encryption 2014-06-29 18:48:37 -04:00
Marc-André Moreau
fc315365f6 client/common: add .msrcIncident type 1 file test 2014-06-29 12:36:28 -04:00
Marc-André Moreau
06c7f83bc2 channels/remdesk: start parsing messages 2014-06-28 20:22:36 -04:00
Marc-André Moreau
af1be38775 client/common: parse and use remote assistance file 2014-06-28 18:33:46 -04:00
Marc-André Moreau
1d8221d95b client/common: parse RCTICKET Connection String 1 2014-06-28 17:03:16 -04:00
Marc-André Moreau
f6b6c1188b client/common: start parsing of .msrcIncident Remote Assistance file 2014-06-28 16:04:49 -04:00
Marc-André Moreau
c156006195 Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx 2014-06-23 11:55:27 -04:00
Emmanuel Ledoux
e6c82f99d5 serial: ability to setup the server serial driver thanks to a third parameter on the command line 2014-06-18 18:20:21 +02:00
Benoît LeBlanc
903c5dada1 fix smart sizing parsing 2014-06-16 15:01:09 -04:00
Marc-André Moreau
6f9a256c5c Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx
Conflicts:
	channels/drdynvc/client/dvcman.c
	client/X11/xf_client.c
	include/freerdp/dvc.h
2014-06-12 12:03:08 -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
5f18f06e6f Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx 2014-06-04 19:05:04 -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
Marc-André Moreau
267e95590b libfreerdp-client: fix /gfx option 2014-06-02 22:39:40 -04:00
Marc-André Moreau
629858b676 libfreerdp-core: add gateway-usage-method command line option, avoid resetting BIO flags we shouldn't reset 2014-05-30 12:31:26 -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
4bac8374de Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-05-21 11:17:58 -04:00
Marc-André Moreau
04dc037666 Merge pull request #1845 from SBoyNumber1/DiskDrives
Removed autosharing of all disk drives during redirect of any drive.
2014-05-21 10:57:27 -04:00
SBoyNumber1
4865cbd589 Removed autosharing of all disk drives during redirect of any drive. 2014-05-17 23:05:21 +03:00
Hardening
9f1d0201ec Changes for base64
This patch changes the prototype for decode_base64 so that the encode / decode
method are consistant (encode(BYTE *) => char* and decode(char*) => BYTE*).
It also does some improvements with unrolling loops so that end conditions are
tested only at the end.
The patch also adds some unitary tests.
Before the patch base64_decode() made valgrind complain about uninitialized
bits, after valgrind is happy and very quiet.
2014-05-11 22:49:10 +02:00
Marc-André Moreau
5e97757939 freerdp: fix improper .rdp file parsing 2014-05-10 17:28:34 -04:00
Marc-André Moreau
c1d727e9cd freerdp: fix type build warnings 2014-05-09 15:44:49 -04:00
Marc-André Moreau
2b27fd51ad Merge branch 'master' of github.com:mrthebunny/FreeRDP 2014-05-08 21:15:02 -04:00
Marc-André Moreau
a202fe4057 freerdp: fix several type related warnings 2014-05-08 18:02:02 -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
b1c0a68f55 client/common: honor RedirectSmartCards, RedirectPrinters 2014-04-27 21:29:44 -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
Bernhard Miklautz
b817e92e5e cmake: mark required libraries for export 2014-04-23 10:16:02 +02:00
Maks Naumov
1162b37602 fix check args count for 'parallel' cmd 2014-04-08 20:23:02 +03:00
Norbert Federa
18cb418c81 core: FIPS for fastpath and RDP security fixes
- fixed invalid stream position if extEncryptionMethods is not used
- enabled 56bit rdp security method
- fixed entropy reduction of the keys for 40 bit and 56 bit
- added rdp security incl. FIPS for fastpath output
- added FIPS encryption to fast path input
- fixed FIPS key generation in server mode
- fixed stream length correction in FIPS mode
- added rdp encryption for licensing packets (apparently some clients,
  specifically cetsc, require the license packets received from the
  server to be encrypted under certain RDP encryption levels)
- replace errnous virtual extended mouse event in focus in event
2014-04-02 14:17:39 +02:00
Marc-André Moreau
00e6463e1e channels/rdpdr: robustness improvements 2014-03-26 11:05:12 -04:00
Marc-André Moreau
65ff98bb99 libfreerdp-core: fix /multimon and /span options 2014-03-25 14:39:21 -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
Christian Plattner
469f680ebf Correct help screen for windows; fixed C comments 2014-03-22 15:58:16 +01:00
chris
02e49a4b40 Added help output about the https_proxy environment variable 2014-03-22 01:24:43 +01:00
Chris
996f8ccb94 Start support for HTTP Proxy. Does almost work; need to fully read and parse HTTP Proxy response. 2014-03-21 18:58:28 +01:00
Marc-André Moreau
201bbf5df4 Merge branch 'master' of github.com:awakecoding/FreeRDP into mppc 2014-03-11 11:57:01 -04:00
Marc-André Moreau
4310089102 libfreerdp-core: add options for specifying compression level 2014-03-10 11:16:36 -04:00
Benoît LeBlanc
557c082458 Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-03-05 16:35:22 -05:00
Marc-André Moreau
c22490ec3b xfreerdp: disable auto-reconnect by default, add command-line option 2014-02-27 16:55:07 -05:00
Marc-André Moreau
87be2e0f80 freerdp: add option to disable credentials delegation 2014-02-14 00:43:31 -05:00
Marc-André Moreau
8a44b2baa6 libfreerdp-core: add spn-class option 2014-02-12 00:43:02 -05:00
Marc-André Moreau
e968bb584e xfreerdp: fix build warnings 2014-02-10 22:23:59 -05:00
Marc-André Moreau
5ff847a6e6 wfreerdp: fix multiple warnings 2014-02-10 01:06:11 -05:00
Benoît LeBlanc
53f2b8511d Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-02-06 12:13:39 -05:00
Marc-André Moreau
e8a9b7ff14 libfreerdp-core: fix ignored port settings for TS Gateway and vmconnect 2014-02-05 11:54:42 -05:00
Benoît LeBlanc
9d929469d2 Merge branch 'master' of git://github.com/awakecoding/FreeRDP
# By Marc-André Moreau (27) and others
# Via Marc-André Moreau
* 'master' of git://github.com/awakecoding/FreeRDP: (48 commits)
  afreerdp: fix build on Android
  libwinpr-wtsapi: include wtsapi32.h on Windows
  wfreerdp: fix target exporting
  wfreerdp: fix building against OpenSSL with MONOLITHIC_BUILD and shared libraries
  wfreerdp: fix test build issues
  libwinpr-crypto: implement CryptProtectMemory/CryptUnprotectMemory
  libwinpr-memory: add missing definitions
  libwinpr-memory: start stubbing
  Increased size of stream on GCC conference create request from 512 to 1024.  For large numbers of static virtual channels, the stream was being overflowed and was causing crashes.
  Fixes to process new command line options (autodetect, heartbeat, multitransport), join the MCS message channel and process auto-detect PDUs during the connection sequence.
  wfreerdp: fix build against static openssl library
  winpr-hash: fix building against openssl in static mode
  libfreerdp-gdi: fix invalidation of region with line drawing
  mfreerdp: fix hungarian keyboard '0' and 'i' key inversion
  Fixes build issue on Windows
  libwinpr-synch: add active/inactive linked list for timer queue
  libwinpr-synch: improve timer queue implementation
  libwinpr-synch: make use of head's expiration time in timer queue
  libwinpr-synch: make use of timespec for timer queue
  libwinpr-synch: improve timer queue implementation
  ...

Conflicts:
	client/common/CMakeLists.txt
2014-02-04 11:37:40 -05:00
Marc-André Moreau
b5bef07e50 wfreerdp: fix building against OpenSSL with MONOLITHIC_BUILD and shared libraries 2014-02-01 19:53:45 -05:00
Mike McDonald
02c9d07bcf Fixes to process new command line options (autodetect, heartbeat, multitransport), join the MCS message channel and process auto-detect PDUs during the connection sequence. 2014-01-29 22:53:32 -05:00
Marc-André Moreau
fab0cd2779 libwinpr-synch: stub timer queues 2014-01-24 17:48:55 -05:00
Benoît LeBlanc
6a7e4ba48a Remove CMAKE policy warning 2014-01-14 11:26:00 -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
Marc-André Moreau
9d745cc038 Merge branch 'master' of github.com:mrthebunny/FreeRDP 2013-12-11 12:22:33 -05:00
Marc-André Moreau
eb20d0f770 freerdp: fix order of OrderSupport initialization 2013-12-10 12:30:25 -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
c4492411e4 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-11-14 19:41:59 -05:00
Dan Bungert
d128e44ae3 Add support with new args for client hostname 2013-11-11 17:57:44 -07: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
Benoît LeBlanc
f4d0371480 Removed const warning 2013-11-07 10:48:49 -05:00
Benoît LeBlanc
7215f4295f Merge branch 'master' of git://github.com/awakecoding/FreeRDP
Conflicts:
	include/freerdp/client.h
2013-11-07 10:42:35 -05:00
Marc-André Moreau
d754e4f9a8 Fixed memory corruption that occured when writing rdpFile to disk 2013-11-07 10:37:46 -05:00
Benoît LeBlanc
b50969e05d Removed logs 2013-11-06 20:15:14 -05:00
Benoît LeBlanc
08da7211aa Fixed crash caused by string value not being copied when parsing an ASCII file. 2013-11-06 20:07:42 -05:00
Benoît LeBlanc
c82fd89860 Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2013-11-06 14:52:27 -05:00
Marc-André Moreau
0e1fd4a777 freerdp: merge with master 2013-11-06 13:53:10 -05:00
Marc-André Moreau
4fa03e644e client: fix loading of external static virtual channels with /vc option 2013-11-06 13:00:10 -05:00
Bernhard Miklautz
a0161a12ac moved version information to freerdp/version.h
fixed #1465
2013-11-06 17:29:33 +01:00
Marc-André Moreau
b8a1f7d6c0 freerdp: implement restricted admin mode pass-the-hash option 2013-11-06 10:02:58 -05:00
Marc-André Moreau
a3d0e271b5 freerdp: add restricted admin option 2013-11-06 01:51:55 -05:00
Marc-André Moreau
bccd0750e8 libfreerdp-client: fix memory leaks in settings accessors 2013-11-05 11:51:33 -05:00
Benoît LeBlanc
ce34923959 Merge branch 'master' of git://github.com/awakecoding/FreeRDP
Conflicts:
	libfreerdp/core/gateway/tsg.c
	libfreerdp/crypto/tls.c
2013-11-04 09:12:26 -05:00
Benoît LeBlanc
993f5f18b8 added const to buffer parameters in functions 2013-11-04 09:10:05 -05:00
Marc-André Moreau
3bc47a2bf8 libfreerdp-core: fix leaks and potential use after free 2013-10-31 21:12:06 -04:00
Marc-André Moreau
55565e056c freerdp: export targets 2013-10-28 23:06:39 -04:00
Marc-André Moreau
e9787c7a9d libfreerdp-core: minor TS Gateway fixes 2013-10-24 12:56:43 -06:00
Marc-André Moreau
557cb4992b libfreerdp-client: fix build with inclusion of crypto library 2013-10-23 16:36:03 -04:00
Marc-André Moreau
d30f66b1b7 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-10-23 14:18:40 -04:00
Benoît LeBlanc
5bfca61261 setting pointers to NULL after freeing memory to avoid crashes.
gitignore: only top-level "external" folder is ignored.
2013-10-22 17:05:41 -04:00
Daryl Poe
076b8a84c2 commandline session reconnect 2013-10-22 09:14:29 -06:00
Marc-André Moreau
3951a6e1c3 channels/rdpgfx: implement basic negotiation 2013-10-21 23:33:25 -04:00
Marc-André Moreau
0276b095eb Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-10-17 13:08:30 -04:00
Marc-André Moreau
970d8d2260 libfreerdp-core: add freerdp_settings_clone 2013-10-16 22:55:51 -04:00
Benoît LeBlanc
52ff05fa6e set WRITE_ALL_SETTINGS macro to TRUE for now, to prevent a 0-byte file size. 2013-10-16 18:29:52 -04:00
Marc-André Moreau
59eccac4e7 libfreerdp-client: refactor and decouple rdpSettings* from client context 2013-10-12 21:07:12 -04:00