Commit Graph

2848 Commits

Author SHA1 Message Date
Armin Novak
7d89ea22d4 Unified initialization of OrderSupport
Added a library internal function freerdp_settings_set_default_order_support
which initializes the OrderSupport array of settings.
Now clients no longer need to set this up on their own, if they
do not implement their own hardware accelerated order processing.
2018-11-23 10:11:50 +01:00
Martin Fleisz
394bc62869
Merge pull request #5035 from akallabeth/better_cmdline_format
Improved formatting of terminal help messages.
2018-11-23 10:03:56 +01:00
Martin Fleisz
9684a06f87
Merge pull request #5053 from akallabeth/sample_client_update
Fix #5052: Updated client sample
2018-11-23 09:48:08 +01:00
Armin Novak
e6e87eb3b3 Unified strto[u]l in cmdline.c
To clean up code all integer conversions are now done by
a helper function with proper checks in place.
2018-11-22 16:28:30 +01:00
Armin Novak
2f8737d973 Improved formatting of terminal help messages. 2018-11-22 15:56:37 +01:00
David Fort
8d62ced6a4
Merge pull request #5056 from akallabeth/direct_fb_remove
Removed DirectFB client as it is unmaintained
2018-11-22 15:50:52 +01:00
Armin Novak
fff22f027b Removed DirectFB client as it is unmaintained
DirectFB support was in search of a maintainer for ages and
no longer compiles.
Since nobody stepped up get rid of this unused code once and for all.
2018-11-22 14:40:19 +01:00
Armin Novak
a471fc5939 Spelling fix in log message.
Integrate spelling fix from debian patch from
Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
2018-11-22 12:06:30 +01:00
Armin Novak
f79eeb7446 Fixed NULL access checks. 2018-11-22 11:19:12 +01:00
Armin Novak
c8908c8be6 Updated windows shadow server assistance usage. 2018-11-22 11:11:31 +01:00
Armin Novak
a531930f36 Disable NLA for remote assistance. 2018-11-22 11:11:31 +01:00
Armin Novak
6de2129a90 assistance v2 support 2018-11-22 11:11:31 +01:00
Armin Novak
6ab3d3e8fc Fix #5052: Updated client sample 2018-11-22 10:38:26 +01:00
Martin Fleisz
947aa80033
Merge pull request #5016 from akallabeth/windows_server_build_fix
Windows server build fix
2018-11-21 16:02:47 +01:00
akallabeth
1cc739f10e
Merge pull request #5039 from mcsong/master
Fixed recreate activity issue with bluetooth devices.
2018-11-21 11:49:45 +01:00
mcsong
34e8b92714 Fixed recreate activity issue when a bluetooth device connected or disconnected 2018-11-20 13:11:14 -08:00
mcsong
1d7fd201b1 Fixed recreate activity issue when a bluetooth device connected or disconnected. 2018-11-20 12:57:07 -08:00
akallabeth
3cea4bfb55
Merge pull request #5008 from wintersandroid/master
Android library build script fixes, and Android thread lock on remote disconnect.
2018-11-20 12:14:28 +01:00
Bernhard Miklautz
58091dc138 new: development cycle dev5 2018-11-20 11:49:34 +01:00
Bernhard Miklautz
ef0c7e81a7
Merge pull request #4953 from akallabeth/region_signed
signed gdi regions to adjust negative coordinates
2018-11-20 10:07:30 +00:00
Martin Fleisz
38091fc34e
Merge pull request #5030 from akallabeth/pointer_cache_optional
Fix #4864: Register pointer cache after PostConnect is called
2018-11-20 10:53:40 +01:00
Armin Novak
666ef4ab34 Fix #4864: Register pointer cache after PostConnect is called
With #4950 client side pointer implementation was made optional.
This addresses an issue that each client had to call
pointer_cache_register_callbacks on its own.
2018-11-20 09:49:39 +01:00
mcsong
d7ab198a68 added korean translation 2018-11-19 14:38:48 -08:00
akallabeth
b6eca4fc54 signed gdi regions to adjust negative coordinates 2018-11-19 12:52:43 +01:00
Mathew Winters
eceb107ddd
Revert store password variable 2018-11-19 08:27:36 +13:00
ileGITimo
d5dd983bcd call xf_SetWindowTitle before XMapWindow, so window manager can act on window name 2018-11-17 06:32:52 -08:00
David Fort
e118d14f6a cmdline: add window-position argument to set initial window position
This is useful if you want the window to be at a given position. The patch also mutualizes
the parsing of <xpos>x<ypos> or <width>x<height> arguments.
2018-11-15 14:40:03 +01:00
Bernhard Miklautz
d915491717
Merge pull request #5012 from akallabeth/rail_app_icons
Rail app icons
2018-11-15 08:50:56 +00:00
Armin Novak
a2cd934184 Fixed windows build warnings. 2018-11-15 09:01:53 +01:00
Mathew Winters
0e88eb5a91 Fixes as per merge request 2018-11-15 08:29:51 +13:00
akallabeth
268a2c0cf8
Merge pull request #4979 from hardening/CAL
license: support CAL license
2018-11-14 13:45:31 +01:00
Armin Novak
43e17c9755 Fixed color conversion, log level and buffer types 2018-11-14 11:57:57 +01:00
ilammy
9292b2231f xfreerdp: set _NET_WM_ICON to RAIL app icon
Icons on X11 windows are configured using the _NET_WM_ICON property
described in Extended Window Manager Hints. Here we implement converison
from DIB bitmaps used by RAIL to the format expected by _NET_WM_ICON,
and actually set the icon for RAIL app windows.

Both DIB format and _NET_WM_ICON (or rather, Xlib) are weird. Let's
start with RAIL's format. That's the one used in BMP and ICO formats
on Windows. It has some strange properties but thankfully FreeRDP's
freerdp_image_copy() can handle most of them for us. (With an exception
of monochrome and 16-color formats that it does not support. Sorry, but
I'm too lazy to fix them. They are not seem to be used by any real
application either.) The one thing that it can't do is to apply the
alpha transparency bitmask so we have to do it manually. This instantly
reminds us that DIB format has HISTORY: it's vertically flipped and
each must be padded to 4 bytes. Both these quirks having reasonable
(for a certain definition of 'reason') explanations. Such is life.
(Also, 8-bit images require a color palette which we must fill in.)

So okay, now comes _NET_WM_ICON. It is more sane (or rather, easier to
deal with). The bitmap is represented with a tiny [width, height] header
followed by an array of pixels in ARGB format. There is no padding, no
weird color formats. But here's a catch: you can't simply take the
output of freerdp_image_copy() and cast to (unsigned char*) of colors.
We have to allocate an array of C's longs and copy the pixels there,
because that's what Xlib expects (and this is mentioned in the spec).
Simply casting an array of bytes causes crashes on 64-bit systems.
So don't try to cheat or "optimize" and read the docs, kids.

Note that XFlush() call after XChangeProperty(). It's there because it
seems to helps see the icon quicker with Unity on Ubuntu 14.04. I don't
know why. (And Unity does not support _NET_WM_ICON officially. But it
sorta kinda works sometimes.)

Oh, and while we're here, delete some old, unused, and commented out
code that was setting window icons in the past. It's not needed anymore.
2018-11-14 10:53:45 +01:00
ilammy
8163b6d1ce xfreerdp: add RAIL icon cache
This commit adds a cache for RAIL application icons. It is (surpisingly)
used to cache icons for remote applications. This mechanism is described
in MS-RDPERP 3.1.1.2 Icon Cache Support and related items.

Note that some (actually, most) of the icons are not cached. These are
marked with CacheId == 0xFF. In order to keep the code clean we do not
introduce a special case and instead use a 'scratch' icon and simply
pretend to return an xfRailIcon from cache.

We're going to set icons via _NET_WM_ICON property which explains
why we use "long" values to store pixel data. The icon conversion
is not implemented in this commit, it's only stubs.

However, we do implement processing of window information orders that
contain new icons or cached references to previously sent icons. Note
that it is important to not fail (i.e., to not return FALSE) if we
cannot find a window for the icon by its ID. The server occasionally
likes to be slow or something and send icon updates for nonexistent
windows. This behavior is mandated by the spec, too:

    MS-RDPERP 3.2.5.1.6 Processing Window Information Orders

    Upon receipt of a Window Information Order for an icon or
    cached icon, as specified in sections 2.2.1.3.1.2.2 and
    2.2.1.3.1.2.3, the client SHOULD locate the local RAIL window
    that corresponds to the WindowId reported in the Hdr field
    and apply the icon updates to the RAIL window. If no such
    window can be found, the client SHOULD ignore the order.

Indeed, we silently ignore such orders now.
2018-11-14 10:53:45 +01:00
Mathew Winters
f91a4d0b6e Resolve thread not exiting when remote lost or disconnected. 2018-11-14 15:25:38 +13:00
David Fort
b6e6575bf6 license: support CAL license
This patch simplifies the licensing code mutualizing encryption / decryption
routines. It also adds the support for client_info packet that allows to send a
previously saved CAL file.
2018-11-13 09:42:19 +01:00
Armin Novak
738aa56233 Fixed #4995: Don't forget to send the NULL of the clipboard string. 2018-11-12 08:40:54 +01:00
Mathew
2ff19597dc fix scripts to build with ndk r15c,
cache dependancies so we are not hitting github often
update android dependancies to latest and compile.
./android-build-freerdp.sh --ndk ~/Programming/android-ndk-r15c --relWithDebug --jpeg
Still an error compiling openh264
2018-11-09 15:20:52 +13:00
Bernhard Miklautz
8be6ec9720 fix [cmdline]: parameter parsing
use strtoul instead of strtol
2018-11-08 11:13:57 +01:00
Bernhard Miklautz
1222e7060b new [crypto/tls]: add support to set tls security level
The newly introduced option /tls-seclevel can be used to set the tls
security level on systems with openssl >= 1.1.0 or libressl.
As default level 1 is used as higher levels might prohibit connections
to older systems.
2018-11-08 11:13:15 +01:00
Armin Novak
9633e4576d Fixed signedness of MoniorCount 2018-10-25 14:08:20 +02:00
Armin Novak
02f68c35b9 Fixed -Wextra sign warnings 2018-10-24 13:25:31 +02:00
Bernhard Miklautz
0e9b26c1d2
Merge pull request #4796 from akallabeth/groegera_fixes
Update X11-modifier key state on focus_in
2018-10-22 12:50:21 +00:00
Bernhard Miklautz
9b353202a5 fix [x11]: compiler warnings in floatbar
client/X11/xf_floatbar.c:530:27: warning: use of logical '&&' with constant
      operand [-Wconstant-logical-operand]
        if (event->xmotion.state && Button1Mask && mode > XF_FLOATBAR_MODE_DRAGGING)
                                 ^  ~~~~~~~~~~~
client/X11/xf_floatbar.c:534:32: warning: use of logical '&&' with constant
      operand [-Wconstant-logical-operand]
        else if (event->xmotion.state && Button1Mask && mode == XF_FLOATBAR_MODE_DRAGGING)
                                      ^  ~~~~~~~~~~~
clang 8.0.0-svn344413-1~exp1+0~20181012203207.819~1.gbpc91f27
2018-10-19 11:33:28 +02:00
akallabeth
3d0ccb3f5d
Merge pull request #4946 from mmattes/fix/floatbar_app_check_missing
added missing check for remote app where no floatbar exists
2018-10-18 16:40:22 +02:00
Markus Mattes
a235b44f61 added missing check for remote app where no floatbar exists 2018-10-18 15:33:01 +02:00
Armin Novak
88d310ff2c Fixed compiler warnings (casts, ...) 2018-10-18 09:09:30 +02:00
akallabeth
305f5d1bd5
Merge pull request #4600 from andreesteve/xfullscreen
X11: Fix fullscreen toggle
2018-10-17 17:27:29 +02:00
Martin Fleisz
e46d1d95ff
Merge pull request #4926 from akallabeth/primary_order_checks
Order data validation and correction
2018-10-17 16:02:28 +02:00
akallabeth
e54af8efa0
Merge pull request #4927 from akallabeth/cmdline_fixes
Fixed command line setting of flags, unified string replace
2018-10-17 12:19:03 +02:00