Commit Graph

9629 Commits

Author SHA1 Message Date
Binyamin Sagal
d81784cec6 remove horizontal scroll maping to forward/back
partal fix for #2302
2015-12-14 18:01:04 +01:00
Bernhard Miklautz
7f7ef1a464 Merge pull request #2831 from akallabeth/gdi_fix
Fixed GDI_BITMAP, now using custom deallocation function.
2015-12-14 17:58:25 +01:00
Hardening
55d097a161 Merge pull request #2414 from zavadovsky/opensles_fixes
opensles fixes
2015-12-14 17:22:38 +01:00
Hardening
7b5051c873 Merge pull request #2913 from realjiangms/shadow_fix_align
Server/Shadow: Fix invalid ALIGN in shadow_client_send_bitmap_update
2015-12-14 17:21:58 +01:00
Hardening
c44dc17bc7 Merge pull request #2980 from akallabeth/clipboard_struct_fixes
Fixed CLIPRDR_FILEDESCRIPTOR
2015-12-14 16:09:47 +01:00
Hardening
292a37b719 Merge pull request #2772 from bjcollins/master
tsmf updates/fixes for gstreamer decoder on X11 platform
2015-12-14 16:08:13 +01:00
Hardening
58d80d23d5 Merge pull request #2973 from hopToDev/master
Fixed build errors that occur when setting WITH_IOSAUDIO build option
2015-12-14 15:10:33 +01:00
Armin Novak
d339b986de Fixed broken #if #endif. 2015-12-14 14:18:51 +01:00
Armin Novak
533e14745e Fixed broken objective C detection. 2015-12-14 14:18:51 +01:00
Armin Novak
ff24885ff3 Fixed mixup of type defines. 2015-12-14 14:18:51 +01:00
Armin Novak
6e69caad9f Disabled definition of BOOL for objective C 2015-12-14 14:18:50 +01:00
Armin Novak
c8652371e7 Removed stdbool define for iOS. 2015-12-14 14:18:50 +01:00
Armin Novak
00b8d802d2 Fixed callback function return 2015-12-14 14:18:50 +01:00
Armin Novak
90251f5e0d Fixed OnNewChannelConnection arguments 2015-12-14 14:18:50 +01:00
Armin Novak
639c176004 Fixed DecodeEx return value 2015-12-14 14:18:50 +01:00
Armin Novak
74c15a6309 Fixed freerdp_assistance_file_new argument declaration 2015-12-14 14:18:50 +01:00
Armin Novak
63894eb4e7 Using stdint.h and stdbool.h for type definitions
When stdint.h or stdbool.h are detected, use these
standard types for definitions in wtypes.h
2015-12-14 14:18:50 +01:00
Armin Novak
6010932984 Fixed possible race on file creation. 2015-12-14 09:32:42 +01:00
Bernhard Miklautz
b02943ae98 Merge pull request #2928 from akallabeth/non_verbose_VerifyX509Certificate
Silenced VerifyX509Certificate logging.
2015-12-11 12:09:33 +01:00
Hardening
70b9e994e1 Merge pull request #2941 from akallabeth/clipboard_file_fix
Clipboard file fixes
2015-12-10 16:13:24 +01:00
Armin Novak
65062633c2 Fixed memory leak. 2015-12-10 13:57:05 +01:00
Armin Novak
f0e3a2d845 Added extended file seek tests. 2015-12-10 10:40:14 +01:00
Armin Novak
fe51dd1e10 Fixed logging, added file name. 2015-12-10 10:39:37 +01:00
Armin Novak
400d1b8b96 Fixed open mode for fdopen. 2015-12-10 10:37:44 +01:00
Armin Novak
df528cefc5 Using locking winpr file functions for known hosts. 2015-12-09 18:29:41 +01:00
Armin Novak
19744f3bb8 Added additional file functions and tests. 2015-12-09 18:29:16 +01:00
Armin Novak
d0e3528c8e Added winpr_strerror function. 2015-12-09 18:27:37 +01:00
Armin Novak
a04f1f8fc5 Added missing _snprintf define. 2015-12-09 18:27:05 +01:00
Hardening
17a1127341 Merge pull request #2976 from akallabeth/mac_audin_support
Added audin support for mac os.
2015-12-09 14:56:56 +01:00
Hardening
20f27f5c22 Merge pull request #2972 from akallabeth/option_fix
Fixed cmake_dependent_option use.
2015-12-09 14:41:53 +01:00
Hardening
57fe581b16 Merge pull request #2824 from bjcollins/nla_auth_exit_code
Return FREERDP_ERROR_AUTHENTICATION_FAILED on an authentication failure
2015-12-08 22:46:29 +01:00
Hardening
b588075098 Merge pull request #2979 from bmiklautz/bm/pre2.0_2
pkg: update version infos to 2.0
2015-12-03 19:39:30 +01:00
Hardening
8ba1b1cd2e Merge pull request #2991 from xdqi/master
Fix compilation error under Visual Studio 2010
2015-11-30 10:52:40 +01:00
Xiaodong Qi
602d2715a2 Fix compilation error under Visual Studio 2010
Visual Studio 2010 use a compiler that supports only C89, which
only supports declaring variable at top of a local scope. Moving
scope variable to the top of function should solve this problem.
2015-11-29 00:14:29 +08:00
Hardening
3375865b52 Merge pull request #2983 from nitomartinez/master
Fixes #2982. The idea is to be able to create the socket externally a…
2015-11-26 09:56:19 +01:00
Nito Martinez
2d5c78849e Fix formatting: else if in its own line and no brackets for single statements 2015-11-26 09:50:03 +01:00
Nito Martinez
89d8a68f4a Disable setting socket options for preexisting socket like: keepalive and tcp_nodelay, these should be set extenally if needed. Do not close the socket if the clientaddress could not be set 2015-11-25 08:36:49 +01:00
Hardening
c63928fd07 Merge pull request #2981 from mfleisz/server_cliprdr_fix
cliprdr/server: Fix parsing of file contents request PDU
2015-11-23 11:53:20 +01:00
Nito Martinez
428cbd802d Fixes #2982. The idea is to be able to create the socket externally and pass that socket FD to FreeRDP so that it can be used there.
The idea suggested is to use the following interface:

settings->ServerHostname = "|"
settings->ServerPort = SocketFD
2015-11-20 02:44:35 +01:00
Martin Fleisz
6890e0b84d cliprdr/server: Fix incorrect message flags 2015-11-19 16:29:57 +01:00
Martin Fleisz
fc2768f807 cliprdr/server: Fix incorrect message header 2015-11-19 16:17:36 +01:00
Martin Fleisz
3070cab0fa cliprdr/server: Fix parsing of file contents request PDU 2015-11-19 14:12:26 +01:00
Armin Novak
75fc2010a7 Fixed CLIPRDR_FILEDESCRIPTOR 2015-11-18 09:50:52 +01:00
Bernhard Miklautz
428ac98b9a pkg: update version infos to 2.0 2015-11-17 23:29:07 +01:00
ilammy
7bce7ef372 client/X11: transfer raw clipboard format data
The second step of raw transfer is to transfer the format data itself.
This has been already implemented in XFreeRDP before, but several
tweaks are required for it to work correctly.

The idea of raw data transfer is to request for _FREERDP_RAW clipboard
format while putting the actual formatId into _FREERDP_CLIPRDR property
where the requested data is expected to arrive to. Then the clipboard
owner will check for the real formatId and deliver the expected data.

This stays true, but the check is performed in a more straightforward
way, and CF_RAW format (numerically equal to zero) is not considered
an unknown destination format when performing (identity) conversions
with wClipboard. This is not an issue because wClipboard will allow
only identity conversion for CF_RAW, it will fail if something else
is going to be converted into CF_RAW.
2015-11-14 19:03:10 +02:00
ilammy
391ed0d91d client/X11: transfer raw clipboard format lists
The first part of raw transfer sequence is to transfer the format
list of the session A into the session B. Then we will be able to
request/reply with raw data using proper format IDs.

xf_cliprdr_server_format_list() of the session A now exposes the
raw server format list. As soon as the list is received, it is
serialized and put into _FREERDP_CLIPRDR_FORMATS property.

xf_cliprdr_get_requested_targets() of the session B now checks
whether the clipboard owner is a FreeRDP session with enabled
raw transfer capability. If it is, the raw format list is simply
extracted from _FREERDP_CLIPRDR_FORMATS of the clipboard owner.
Otherwise, the format list is populated from the usual TARGETS
clipboard format.
2015-11-14 19:03:10 +02:00
ilammy
626e40a9c1 client/X11: add raw clipboard transfer indication
Some time ago there was a property _FREERDP_CLIPRDR_ID which was indended
to indicate that an XFreeRDP window owns a clipboard. This was necessary
for raw transfers. This property was used by xf_cliprdr_is_self_owned()
function. However, raw transfer support was broken and the meaning of
xf_cliprdr_is_self_owned() gradually changed into checking whether
the *current* window owns the clipboard, not just any XFreeRDP window.
Thus _FREERDP_CLIPRDR_ID was removed in a4580923e7 (xfreerdp/clipr:
fix self owned test and hardening).

However, now we are going to fix raw transfers and we need that property.
This patch reintroduces a similar property "_FREERDP_CLIPRDR_RAW" which
indicates that a window is an XFreeRDP window with enabled raw transfer.
It is currently used by xf_cliprdr_server_format_data_request() to
correctly request format data from another XFreeRDP instance via raw
transfer protocol.

This property can be queried from the clipboard owner with the function
xf_cliprdr_is_raw_transfer_available() and can be enabled or disabled
on the current window by xf_cliprdr_set_raw_transfer_enabled().

Disabling raw transfers will be necesary to correctly implement file
transfers in the future. However, currently raw transfers are always
enabled.
2015-11-14 19:03:10 +02:00
ilammy
532371d5aa client/X11: remove unused function
xf_cliprdr_send_data_request() is actually used instead of this one.
2015-11-14 19:03:10 +02:00
ilammy
46fb66e0fb client/X11: send clipboard format data errors correctly
xf_cliprdr_send_data_response() is consistently called with NULL
data pointer as a way to report errors, but it was not setting
the msgFlags field accordingly.
2015-11-14 19:03:10 +02:00
ilammy
d7c9a31b4b client/X11: correctly trim terminating null bytes from strings
Sometimes Windows sends strings with excess null terminating bytes.
For example, when one copies digits from calc.exe. At the same time,
some local applications freak out when they encounter null bytes
(at least LibreOffice is known to be replacing them with '#').

According to the specification of UTF8_STRING format [1], the string
data must not contain any trailing null bytes. So they all should be
trimmed, not only the last one.

Also, if the trailing null byte is not present, the length should not
be adjusted. For example, Firefox is actually sending "HTML Format"
without a null byte while Internet Explorer adds one. The spec for
text/html format [2] says nothing about the teminating null byte, so
we are free to remove it, but at least we should not mistakingly
delete '>' character of "</html>" tag when it is the last character.

[1] http://www.pps.univ-paris-diderot.fr/~jch/software/UTF8_STRING/UTF8_STRING.text

[2] https://www.ietf.org/rfc/rfc2854.txt
2015-11-14 19:03:10 +02:00