platform/upstream/freerdp.git
9 years agocore: fix problem with data for unknown channel
Bernhard Miklautz [Tue, 16 Dec 2014 15:27:55 +0000 (16:27 +0100)]
core: fix problem with data for unknown channel

Some buggy server(s) send data for channels that weren't announced or
negotiated. When processing this data FreeRDP had a problem and always
used the last channel in the channels list even if it wasn't responsible
for the data. Depending on how the channel handled the data this could
lead to different kind of problems and also segmentation faults.

Now data for unknown channels is ignored and not processed further.

9 years agoMerge pull request #2278 from erobertor/master
Marc-André Moreau [Mon, 15 Dec 2014 18:26:35 +0000 (13:26 -0500)]
Merge pull request #2278 from erobertor/master

Update drdynvc_main.c

9 years agoUpdate drdynvc_main.c
erobertor [Mon, 15 Dec 2014 17:36:56 +0000 (18:36 +0100)]
Update drdynvc_main.c

fixed memory leak

9 years agoMerge pull request #2277 from nfedera/fix-2014-12-15-01
Marc-André Moreau [Mon, 15 Dec 2014 15:55:15 +0000 (10:55 -0500)]
Merge pull request #2277 from nfedera/fix-2014-12-15-01

xfreerdp: fix RDP order color conversion

9 years agoxfreerdp: fix RDP order color conversion
Norbert Federa [Mon, 15 Dec 2014 15:34:09 +0000 (16:34 +0100)]
xfreerdp: fix RDP order color conversion

Note: /gdi:sw was working fine, this commit fixes /gdi:hw

* calculate color channel shifts based on X11 visual color masks
* fast path to skip conversion if visual color masks equal rdp color masks
* successfully tested 8/15/16/24/32 bpp rdp sessions on 16/24/32 bpp visuals

9 years agoMerge pull request #2276 from bmiklautz/build_fixes
Norbert Federa [Mon, 15 Dec 2014 12:51:47 +0000 (13:51 +0100)]
Merge pull request #2276 from bmiklautz/build_fixes

Build fixes

9 years agoMerge pull request #2266 from Vinche59/smartcard
Marc-André Moreau [Sun, 14 Dec 2014 16:56:01 +0000 (11:56 -0500)]
Merge pull request #2266 from Vinche59/smartcard

SmartCard

9 years agoDetermine OSX Version ... only on OSX
Vincent Sourin [Sun, 14 Dec 2014 14:15:33 +0000 (15:15 +0100)]
Determine OSX Version ... only on OSX

9 years ago* Determine OS X Version at runtime
Vincent Sourin [Sat, 13 Dec 2014 13:27:57 +0000 (05:27 -0800)]
* Determine OS X Version at runtime

9 years agordtk/shadow: install libraries versioned
Bernhard Miklautz [Fri, 12 Dec 2014 17:57:40 +0000 (18:57 +0100)]
rdtk/shadow: install libraries versioned

9 years agobuild: cmake 3.1 compatibility
Bernhard Miklautz [Fri, 12 Dec 2014 17:26:45 +0000 (18:26 +0100)]
build: cmake 3.1 compatibility

* fix problem with REMOVE_DUPLICATES on undefined lists
* since 3.1 file(GLOB FILEPATHS RELATIVE .. returns single / instead of // as
  previously - necessary adoptions for regex and matches done. Should
work with all cmake versions.

Tested with 3.1.0-rc3

9 years agoMac: set policy to silent cmake >= 3.0 warnings
Bernhard Miklautz [Fri, 12 Dec 2014 18:25:43 +0000 (19:25 +0100)]
Mac: set policy to silent cmake >= 3.0 warnings

Set the following policies to "OLD" if cmake version is greater than
2.8.12:

CMP0026 - Disallow use of the LOCATION target property
CMP0045 - Error on non-existent target in get_target_property

9 years agordtk: build samples only if WITH_SAMPLE is enabled
Bernhard Miklautz [Fri, 12 Dec 2014 16:53:33 +0000 (17:53 +0100)]
rdtk: build samples only if WITH_SAMPLE is enabled

9 years agobuild: improve X11 detection on OS X
Bernhard Miklautz [Fri, 12 Dec 2014 16:43:14 +0000 (17:43 +0100)]
build: improve X11 detection on OS X

/usr/X11R6 doesn't exist on OS X per default (anymore). Therefore add
PATHS to all X11 detection modules pointing to the Xquarz installation
directory in /opt/X11.
For FindX11 it was also necessary to ensure that the frameworks are
searched as last (after PATHS) otherwise it could happen that X11 headers
of a framework (e.g. Tk.framework) were used.

9 years agoMerge pull request #2275 from awakecoding/master
Marc-André Moreau [Fri, 12 Dec 2014 14:33:52 +0000 (09:33 -0500)]
Merge pull request #2275 from awakecoding/master

TS Gateway Fixes

9 years agolibfreerdp-core: fix random TS Gateway disconnects with async modes
Marc-André Moreau [Fri, 12 Dec 2014 14:08:39 +0000 (09:08 -0500)]
libfreerdp-core: fix random TS Gateway disconnects with async modes

9 years agoMerge pull request #2273 from nfedera/fix-2014-12-12-01
Marc-André Moreau [Fri, 12 Dec 2014 03:18:54 +0000 (22:18 -0500)]
Merge pull request #2273 from nfedera/fix-2014-12-12-01

Standard RDP Security Layer Levels/Method Overhaul

9 years agoStandard RDP Security Layer Levels/Method Overhaul
Norbert Federa [Fri, 12 Dec 2014 01:17:12 +0000 (02:17 +0100)]
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

9 years agolibfreerdp-core: fix leak and use after free in tsg ListDictionary usage
Marc-André Moreau [Thu, 11 Dec 2014 22:08:22 +0000 (17:08 -0500)]
libfreerdp-core: fix leak and use after free in tsg ListDictionary usage

9 years agofreerdp: patch leaks reported by valgrind when using TS Gateway
Marc-André Moreau [Thu, 11 Dec 2014 16:25:34 +0000 (11:25 -0500)]
freerdp: patch leaks reported by valgrind when using TS Gateway

9 years agoMerge pull request #2261 from akallabeth/more_memleak_fixes
Marc-André Moreau [Thu, 11 Dec 2014 13:28:48 +0000 (08:28 -0500)]
Merge pull request #2261 from akallabeth/more_memleak_fixes

More warning and memleak fixes

9 years agoMerge pull request #2262 from bmiklautz/misc_fixes
Marc-André Moreau [Thu, 11 Dec 2014 13:27:30 +0000 (08:27 -0500)]
Merge pull request #2262 from bmiklautz/misc_fixes

Misc fixes

9 years agoMerge pull request #2265 from TaGUNil/master
Marc-André Moreau [Thu, 11 Dec 2014 13:26:44 +0000 (08:26 -0500)]
Merge pull request #2265 from TaGUNil/master

Fix segmentation fault in URBDRC

9 years agoMerge pull request #2272 from akallabeth/ipv6_parser_fix
Bernhard Miklautz [Thu, 11 Dec 2014 12:21:35 +0000 (13:21 +0100)]
Merge pull request #2272 from akallabeth/ipv6_parser_fix

Fixed conversion of IPv6 to ServerHostname

9 years agoInitializing ServerHostname string now with 0
Armin Novak [Thu, 11 Dec 2014 10:26:42 +0000 (11:26 +0100)]
Initializing ServerHostname string now with 0

9 years agoMerge pull request #2268 from hardening/rdpei_cleanup_fix
MartinHaimberger [Thu, 11 Dec 2014 06:50:54 +0000 (07:50 +0100)]
Merge pull request #2268 from hardening/rdpei_cleanup_fix

Fix cleanup of RDPEI server-side channel

9 years agoFix cleanup of RDPEI server-side channel
Hardening [Wed, 10 Dec 2014 15:47:15 +0000 (16:47 +0100)]
Fix cleanup of RDPEI server-side channel

9 years ago* Correct detection of Mac OS X Yosemite Version
Vincent Sourin [Tue, 9 Dec 2014 21:14:06 +0000 (22:14 +0100)]
* Correct detection of Mac OS X Yosemite Version

9 years agoSmartCard
Vincent Sourin [Tue, 9 Dec 2014 19:14:57 +0000 (20:14 +0100)]
SmartCard
* Check for NULL parameters in PCSC_ConvertReaderNameToWinSCard (Issue #2184)
* Remove masking of dwEventState as it is not needed under Linux and MacOSX and it helps in ThinLinc environment
* Workaround for Mac OS X Yosemite (10.10) SCardStatus Bug (Issue #2184)
* Since Mac OS Tiger (10.5.6), Apple introduced new function for SCardControl calls named SCardControl132(), the old SCardControl doesn't work (cf. https://opensource.apple.com/source/SmartCardServices/SmartCardServices-55111/src/PCSC/winscard_clnt.c)

9 years agochannels/urbdrc: fix segfault
TaGUNil [Tue, 9 Dec 2014 16:28:13 +0000 (19:28 +0300)]
channels/urbdrc: fix segfault

Fix segmentation fault in urbdrc_main.c caused by missing memset.

9 years agonego: print message when bypassing gateway
Bernhard Miklautz [Mon, 8 Dec 2014 18:00:05 +0000 (19:00 +0100)]
nego: print message when bypassing gateway

When "detect" is used as gateway usage method (which is the default)
it is tried to by-pass gateway connection for local hosts.
The detection might take some time therefore print a message that people
are aware that a detection is tried.

Fixes #2171

9 years agoxfreerdp: clean up AuthenticationOnly
Bernhard Miklautz [Mon, 8 Dec 2014 17:13:54 +0000 (18:13 +0100)]
xfreerdp: clean up AuthenticationOnly

* removed dead code path: user name is always set now
* update message if no password was set

9 years agoxfreerdp: use login name if no user name was set
Bernhard Miklautz [Mon, 8 Dec 2014 17:07:05 +0000 (18:07 +0100)]
xfreerdp: use login name if no user name was set

If no user name is set with /u:.. use the login name of the current user will be
used as user name.

9 years agoMerge pull request #2259 from erbth/master
Marc-André Moreau [Mon, 8 Dec 2014 15:01:27 +0000 (10:01 -0500)]
Merge pull request #2259 from erbth/master

fixed shutdown of input thread in xfreerdp

9 years agoFixed missing declarations.
Armin Novak [Sun, 7 Dec 2014 00:15:49 +0000 (01:15 +0100)]
Fixed missing declarations.

9 years agoFixed memory leak.
Armin Novak [Sun, 7 Dec 2014 00:04:30 +0000 (01:04 +0100)]
Fixed memory leak.

9 years agoFixed memory leak.
Armin Novak [Sat, 6 Dec 2014 23:50:20 +0000 (00:50 +0100)]
Fixed memory leak.

9 years agoFixed missing NULL pointer check.
Armin Novak [Sat, 6 Dec 2014 23:33:37 +0000 (00:33 +0100)]
Fixed missing NULL pointer check.

9 years agoFixed uninitialized value.
Armin Novak [Sat, 6 Dec 2014 23:29:28 +0000 (00:29 +0100)]
Fixed uninitialized value.

9 years agoFixed uninitialized values in case of error return.
Armin Novak [Sat, 6 Dec 2014 23:27:06 +0000 (00:27 +0100)]
Fixed uninitialized values in case of error return.

9 years agoFixed uninitialized value.
Armin Novak [Sat, 6 Dec 2014 23:23:46 +0000 (00:23 +0100)]
Fixed uninitialized value.

9 years agoFixed broken NULL pointer check.
Armin Novak [Sat, 6 Dec 2014 23:21:28 +0000 (00:21 +0100)]
Fixed broken NULL pointer check.

9 years agofixed shutdown of input thread in xfreerdp
erbth [Fri, 5 Dec 2014 20:48:24 +0000 (21:48 +0100)]
fixed shutdown of input thread in xfreerdp

9 years agoMerge pull request #2258 from nfedera/fix-2014-12-05-02
Marc-André Moreau [Fri, 5 Dec 2014 19:50:25 +0000 (14:50 -0500)]
Merge pull request #2258 from nfedera/fix-2014-12-05-02

gdi: don't pollute invalid region with empty rects

9 years agoMerge pull request #2257 from nfedera/fix-2014-12-05-01
Marc-André Moreau [Fri, 5 Dec 2014 19:50:02 +0000 (14:50 -0500)]
Merge pull request #2257 from nfedera/fix-2014-12-05-01

cache: fixes for GlyphIndex, FastIndex & FastGlyph

9 years agogdi: don't pollute invalid region with empty rects
Norbert Federa [Fri, 5 Dec 2014 18:40:40 +0000 (19:40 +0100)]
gdi: don't pollute invalid region with empty rects

9 years agocache: fixes for GlyphIndex, FastIndex & FastGlyph
Norbert Federa [Fri, 5 Dec 2014 17:28:43 +0000 (18:28 +0100)]
cache: fixes for GlyphIndex, FastIndex & FastGlyph

* update_process_glyph_fragments() ignored the text background rectangle

* moved the OpRight value fix-up to update_process_glyph_fragments() since
  it is required for all glyph primary drawing orders

9 years agoMerge pull request #2256 from llyzs/llyzs
Norbert Federa [Fri, 5 Dec 2014 15:06:23 +0000 (16:06 +0100)]
Merge pull request #2256 from llyzs/llyzs

libfreerdp-core: enable ipv6 listener.

9 years agolibfreerdp-core: enable ipv6 listener.
Vic Lee [Fri, 5 Dec 2014 02:06:35 +0000 (10:06 +0800)]
libfreerdp-core: enable ipv6 listener.

9 years agoMerge pull request #2255 from awakecoding/master
Marc-André Moreau [Thu, 4 Dec 2014 19:13:15 +0000 (14:13 -0500)]
Merge pull request #2255 from awakecoding/master

Memory Leak/Corruption Fixes, PulseAudio Detection Fixes

9 years agocmake: fix PulseAudio.cmake version detection
Marc-André Moreau [Thu, 4 Dec 2014 19:06:25 +0000 (14:06 -0500)]
cmake: fix PulseAudio.cmake version detection

9 years agoMerge branch 'master' of github.com:FreeRDP/FreeRDP
Marc-André Moreau [Thu, 4 Dec 2014 18:32:59 +0000 (13:32 -0500)]
Merge branch 'master' of github.com:FreeRDP/FreeRDP

9 years agolibwinpr-clipboard: fix memory corruption and leaks
Marc-André Moreau [Thu, 4 Dec 2014 18:19:10 +0000 (13:19 -0500)]
libwinpr-clipboard: fix memory corruption and leaks

9 years agoMerge pull request #2253 from nfedera/fix-2014-12-04-02
Bernhard Miklautz [Thu, 4 Dec 2014 17:04:25 +0000 (18:04 +0100)]
Merge pull request #2253 from nfedera/fix-2014-12-04-02

xfreerdp: smart sizing fix

9 years agoxfreerdp: smart sizing fix
Norbert Federa [Thu, 4 Dec 2014 16:52:54 +0000 (17:52 +0100)]
xfreerdp: smart sizing fix

Standard format PictStandardRGB24 is not always available.
Use XRenderFindVisualFormat instead of XRenderFindStandardFormat

9 years agoMerge branch 'master' of github.com:FreeRDP/FreeRDP
Marc-André Moreau [Thu, 4 Dec 2014 15:49:01 +0000 (10:49 -0500)]
Merge branch 'master' of github.com:FreeRDP/FreeRDP

9 years agoMerge pull request #2251 from nfedera/fix-2014-12-04-01
Bernhard Miklautz [Thu, 4 Dec 2014 15:38:00 +0000 (16:38 +0100)]
Merge pull request #2251 from nfedera/fix-2014-12-04-01

cliprdr: fix segfault caused by invalid seek value

9 years agocliprdr: fix segfault caused by invalid seek value
Norbert Federa [Thu, 4 Dec 2014 15:07:01 +0000 (16:07 +0100)]
cliprdr: fix segfault caused by invalid seek value

9 years agoMerge branch 'master' of github.com:FreeRDP/FreeRDP
Marc-André Moreau [Thu, 4 Dec 2014 15:00:10 +0000 (10:00 -0500)]
Merge branch 'master' of github.com:FreeRDP/FreeRDP

9 years agoMerge pull request #2110 from akallabeth/winpr_backtrace_windows
Martin Fleisz [Thu, 4 Dec 2014 14:03:37 +0000 (15:03 +0100)]
Merge pull request #2110 from akallabeth/winpr_backtrace_windows

Winpr backtrace windows

9 years agoUsing fixed size debug string buffers now.
Armin Novak [Thu, 4 Dec 2014 13:54:08 +0000 (14:54 +0100)]
Using fixed size debug string buffers now.

9 years agoMerge pull request #2248 from nfedera/fix-2014-12-03-02
Marc-André Moreau [Thu, 4 Dec 2014 02:23:17 +0000 (21:23 -0500)]
Merge pull request #2248 from nfedera/fix-2014-12-03-02

xfreerdp: fix cliprdr SelectionNotify enless loop

9 years agoxfreerdp: fix cliprdr SelectionNotify enless loop
Norbert Federa [Wed, 3 Dec 2014 23:19:23 +0000 (00:19 +0100)]
xfreerdp: fix cliprdr SelectionNotify enless loop

xf_cliprdr_process_selection_notify calls xf_cliprdr_send_client_format_list
if the SelectionNotify event property was None.
xf_cliprdr_send_client_format_list called XConvertSelection even if there
was no clipboard owner. In that case the XServer generates a SelectionNotify
event to the requestor (us) with property None and so on ...

The most obvious fix is to ensure that XConvertSelection is not called if
the owner is None which is done in this commit.

9 years agofreerdp: patch valgrind leaks, cleanup
Marc-André Moreau [Wed, 3 Dec 2014 19:17:27 +0000 (14:17 -0500)]
freerdp: patch valgrind leaks, cleanup

9 years agoxfreerdp: fix formating - indentation
Bernhard Miklautz [Wed, 3 Dec 2014 17:23:20 +0000 (18:23 +0100)]
xfreerdp: fix formating - indentation

9 years agoMerge pull request #2247 from bmiklautz/fix/resizing_race
Norbert Federa [Wed, 3 Dec 2014 17:21:53 +0000 (18:21 +0100)]
Merge pull request #2247 from bmiklautz/fix/resizing_race

xfreerdp: fix a possible re-size race condition

9 years agoxfreerdp: fix a possible re-size race condition
Bernhard Miklautz [Wed, 3 Dec 2014 17:08:01 +0000 (18:08 +0100)]
xfreerdp: fix a possible re-size race condition

In case of server side initiated desktop resize it could happen that the
client was "scaling" even if smart-sizing was disabled. The reason for
this was that the "scaled" width and height was set when the X Configure
event arrived but not in xf_desktop_resize.

9 years agolibfreerdp-core: fix crash on failed redirect
Marc-André Moreau [Wed, 3 Dec 2014 16:48:27 +0000 (11:48 -0500)]
libfreerdp-core: fix crash on failed redirect

9 years agoMerge branch 'master' of github.com:FreeRDP/FreeRDP
Marc-André Moreau [Wed, 3 Dec 2014 15:10:50 +0000 (10:10 -0500)]
Merge branch 'master' of github.com:FreeRDP/FreeRDP

Conflicts:
winpr/libwinpr/thread/thread.c

9 years agoMerge pull request #2246 from nfedera/fix-2014-12-03-01
Bernhard Miklautz [Wed, 3 Dec 2014 14:58:34 +0000 (15:58 +0100)]
Merge pull request #2246 from nfedera/fix-2014-12-03-01

xfreerdp: smart-sizing and software-gdi fixes

9 years agoxfreerdp: smart-sizing and software-gdi fixes
Norbert Federa [Wed, 3 Dec 2014 14:41:10 +0000 (15:41 +0100)]
xfreerdp: smart-sizing and software-gdi fixes

* fixed crash on server-initiated desktop resize and fullscreen toggle with /gdi:sw
* implemented desktop resize for /gdi:sw
* check for availibility of XRender extension and show error messages if a setting would require it
* fixed compile error if xrender devel packages are missing
* fixed bug with server-initiated desktop resize in fullscreen mode

9 years agoMerge pull request #2240 from nfedera/fix-2014-12-01-01
Marc-André Moreau [Tue, 2 Dec 2014 19:04:49 +0000 (14:04 -0500)]
Merge pull request #2240 from nfedera/fix-2014-12-01-01

xfreerdp: pinch/pan fixes and smart-sizing

9 years agoMerge pull request #2244 from MartinHaimberger/mh-improveHandleHandling
Martin Fleisz [Tue, 2 Dec 2014 13:18:04 +0000 (14:18 +0100)]
Merge pull request #2244 from MartinHaimberger/mh-improveHandleHandling

improve handle handling and fix memory leak

9 years agoMerge pull request #2239 from bmiklautz/issue/2196
Norbert Federa [Tue, 2 Dec 2014 13:13:27 +0000 (14:13 +0100)]
Merge pull request #2239 from bmiklautz/issue/2196

core client side: set flag to crypt license

9 years agofixed compiler warning
Martin Haimberger [Tue, 2 Dec 2014 08:36:46 +0000 (00:36 -0800)]
fixed compiler warning

9 years agofixed win32 build
Martin Haimberger [Tue, 2 Dec 2014 08:27:30 +0000 (00:27 -0800)]
fixed win32 build

9 years agochanged processhandle handling to new system
Martin Haimberger [Tue, 2 Dec 2014 08:08:10 +0000 (00:08 -0800)]
changed processhandle handling to new system

9 years agofixing memoryleak by introducing a nonehandle
Martin Haimberger [Tue, 2 Dec 2014 07:53:58 +0000 (23:53 -0800)]
fixing memoryleak by introducing a nonehandle

In CreateProcess the non functional thread
handle was leaked.

9 years agoMerge pull request #2241 from akallabeth/extern_c_fix
Hardening [Mon, 1 Dec 2014 12:42:51 +0000 (13:42 +0100)]
Merge pull request #2241 from akallabeth/extern_c_fix

Extern c fix

9 years agoFixed missing extern C
Armin Novak [Mon, 1 Dec 2014 12:12:51 +0000 (13:12 +0100)]
Fixed missing extern C

9 years agoFixed missing extern C
Armin Novak [Mon, 1 Dec 2014 12:03:46 +0000 (13:03 +0100)]
Fixed missing extern C

9 years agoxfreerdp: added smart sizing, mt gesture fixes
Norbert Federa [Mon, 1 Dec 2014 10:56:44 +0000 (11:56 +0100)]
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

9 years agoxfreerdp: remove duplicated drawing operations
Norbert Federa [Mon, 1 Dec 2014 10:19:27 +0000 (11:19 +0100)]
xfreerdp: remove duplicated drawing operations

Most of xfreerdp's hw gdi callbacks did the the same X11 drawing operation
twice: Initially on the primary pixmap to keep the back buffer up to date
and then directly on the window in order to see the result.
This sequence is followed by a call to gdi_InvalidateRegion() to mark the
rectangular area of the drawing operation.
Since in xfreerdp's current design (or better current evolved state) the
backbuffer pixmap is obligatory, all drawing operations directly targeting
the window are redundant because of the subsequent EndPaint (mapped to
xf_hw_end_paint) where the damaged region is copied from the backbuffer
to the drawable.

- removed X11 drawing operations which directly target the window drawable
- fixed some errors in the calculation of the required update regions

9 years agoxfreerdp: several fixes for panned/pinched drawing
Norbert Federa [Mon, 1 Dec 2014 10:17:16 +0000 (11:17 +0100)]
xfreerdp: several fixes for panned/pinched drawing

- use bilinear filter instead of nearest filter
- fixed invalid transformation matrix
- support non-proportional scaling
- fix calculation of transformed coordinates (rounding errors)

9 years agocore client side: set flag to crypt license
Bernhard Miklautz [Mon, 1 Dec 2014 10:12:34 +0000 (11:12 +0100)]
core client side: set flag to crypt license

Client side code always tells the server that it is capable of processing
encrypted licensing packages (SEC_LICENSE_ENCRYPT_SC) but didn't set
the recently added flag to indicate that.

Fixes #2196

9 years agoMerge pull request #2236 from marioli/master
Marc-André Moreau [Sun, 30 Nov 2014 02:08:36 +0000 (21:08 -0500)]
Merge pull request #2236 from marioli/master

Rename tcp-functions as they are conflicting with qemu functions

9 years agoRename tcp-functions as they are conflicting with qemu functions
Mario Lombardo [Sat, 29 Nov 2014 20:14:39 +0000 (21:14 +0100)]
Rename tcp-functions as they are conflicting with qemu functions

9 years agoMerge branch 'master' of github.com:FreeRDP/FreeRDP
Marc-André Moreau [Fri, 28 Nov 2014 16:23:53 +0000 (11:23 -0500)]
Merge branch 'master' of github.com:FreeRDP/FreeRDP

9 years agoMerge pull request #2225 from akallabeth/openh264_fix
Marc-André Moreau [Fri, 28 Nov 2014 16:23:11 +0000 (11:23 -0500)]
Merge pull request #2225 from akallabeth/openh264_fix

Openh264 v1.2 API

9 years agoMerge pull request #2234 from bmiklautz/fix/tls
Marc-André Moreau [Fri, 28 Nov 2014 16:00:27 +0000 (11:00 -0500)]
Merge pull request #2234 from bmiklautz/fix/tls

Transport and tsg fixes

9 years agocmake: fix FindPulse.cmake version detection
Marc-André Moreau [Fri, 28 Nov 2014 14:36:38 +0000 (09:36 -0500)]
cmake: fix FindPulse.cmake version detection

9 years agotsg: fix possible free of initialized memory
Bernhard Miklautz [Thu, 27 Nov 2014 14:08:07 +0000 (15:08 +0100)]
tsg: fix possible free of initialized memory

9 years agotsg: rpc_send_enqueue_pdu always free buffer
Bernhard Miklautz [Thu, 27 Nov 2014 13:39:47 +0000 (14:39 +0100)]
tsg: rpc_send_enqueue_pdu always free buffer

rpc_send_enqueue_pdu returns -1 on error but the type of error isn't
distinguishable. Therefore make sure that the buffer gets always freed.
The only exception to this is when the pdu was already queued. Then the
dequeuing function should take care of freeing the buffer when
processing the pdu.

9 years agotsg: unwind recursion in tsg_read
Bernhard Miklautz [Tue, 25 Nov 2014 20:25:26 +0000 (21:25 +0100)]
tsg: unwind recursion in tsg_read

9 years agotransport: handle all return values of tsg_read
Bernhard Miklautz [Tue, 25 Nov 2014 21:55:39 +0000 (22:55 +0100)]
transport: handle all return values of tsg_read

tsg_read can also return 0 which means that no data (complete PDU) is
currently available. This case wasn't handled properly.

Fixes #2056

9 years agocrypto: revert pull request #2130
Bernhard Miklautz [Tue, 25 Nov 2014 17:58:36 +0000 (18:58 +0100)]
crypto: revert pull request #2130

The fix in #2130 eliminates the problem when connecting over a gateway
but introduces other problems server side and client side (client/server
can't detect anymore when a TCP connection was closed).

9 years agotsg: fix segfault
Bernhard Miklautz [Tue, 25 Nov 2014 19:09:14 +0000 (20:09 +0100)]
tsg: fix segfault

Revert false positive from commit 585d9101b752e4ec525339e5c5addfddb519760d
buffer shouldn't be freed since it is set and used in a stream.

9 years agoMerge pull request #2232 from Tarnyko/master
Hardening [Wed, 26 Nov 2014 10:17:21 +0000 (11:17 +0100)]
Merge pull request #2232 from Tarnyko/master

wlfreerdp: add keyboard and mouse wheel support, fix bugs

9 years agowlfreerdp: add keyboard and mouse wheel support, fix bugs
Manuel Bachmann [Wed, 26 Nov 2014 09:38:12 +0000 (10:38 +0100)]
wlfreerdp: add keyboard and mouse wheel support, fix bugs

This commit does the following:

* fix the keyboard logic (which now fully works), add support for vertical mouse wheel events ;
* make the rendering a lot more efficient, by using RDP damage information to refresh only the relevant part of the buffer ;
* fix two race conditions. wlfreerdp should not crash anymore now ;
* fix shm_open() and shm_unlink() calls ;
* improve the code style.

Signed-off-by: Manuel Bachmann <tarnyko@tarnyko.net>
9 years agocmake: fix PulseAudio version detection
Marc-André Moreau [Tue, 25 Nov 2014 18:28:18 +0000 (13:28 -0500)]
cmake: fix PulseAudio version detection