Commit Graph

2658 Commits

Author SHA1 Message Date
Jay Sorg
8f747e37ca always set SSL_OP_NO_SSLv2 in TLS options 2016-08-25 11:38:03 -07:00
Alex Illsley
47124df4ed new options for xrdp.ini disableSSlv3=yes and tls_ciphers=HIGH and code to implement 2016-08-25 11:20:47 -07:00
metalefty
e28f529a94 Merge pull request #410 from metalefty/fix-utf8-clipboard
Fix clipboard when text/filename contains non-ASCII characters
2016-08-23 10:32:37 +09:00
Koichiro IWAO
ceb4b7b2a4 Fix clipboard when text/filename contains non-ASCII characters
broken by #314. This is compatible with the fix introduced in #314.

To use non-ASCII text/filename in clipboard, chansrv needs to be run
with LC_CTYPE=*.UTF-8 because the behaviour of mbstowcs(3) function
called in chansrv depends on LC_CTYPE[1].  However #314 made
LC_CTYPE=C in chansrv context.  Even if LANG and LC_* are set in
.bashrc, /etc/profile, /etc/locale.conf or something like that,
it doesn't affect in chansrv context because chansrv doesn't source
any of them unlike sesman.

So do not set LC_CTYPE to blank or "C" in g_init() in order to get
g_mbstowcs and g_wcstombs to work properly with non-ASCII UTF-8
characters in any context.

Setting LC_CTYPE to *.UTF-8 doesn't obstruct applying system
language in RHEL [2].

[1] Linux man page says:
      The behavior of mbstowcs() depends on the LC_CTYPE category of
      the current locale.

[2] https://bugzilla.redhat.com/show_bug.cgi?id=1290820
2016-08-18 13:27:55 +09:00
Jay Sorg
f4f23b0a7d Include stdint.h, don't redefine MAX/MIN constants if already defined 2016-08-12 12:16:14 -07:00
Jay Sorg
d35e57b117 Pixman fixes 2016-08-11 22:18:26 -07:00
Jay Sorg
bb7bac2d9b add region intersect 2016-08-08 23:12:52 -07:00
Jay Sorg
58c777783b add more advances region support using pixman 2016-08-08 20:02:10 -07:00
jsorg71
660132a49d Merge pull request #402 from metalefty/update-python
X11rdp: update python 2.7 -> 2.7.11
2016-08-08 11:15:51 -07:00
jsorg71
97cd690f84 Merge pull request #384 from CarstenGrohmann/improve_cert_log_messages
Improve certificate log messages
2016-08-05 14:44:34 -07:00
jsorg71
8353baab3d Merge pull request #390 from proski/june21
Cleanups and C++ compatibility
2016-08-05 14:38:41 -07:00
jsorg71
81fe939dd3 Merge pull request #388 from metalefty/freebsd/fuse
sesman: Add /sbin to PATH for FreeBSD
2016-08-05 14:22:50 -07:00
jsorg71
87da32bac8 Merge pull request #394 from AkiraPenguin/devel
Fix pc105-jp-Henkan key.
2016-08-05 14:17:37 -07:00
speidy
f2addd346f Merge branch 'devel' of https://github.com/neutrinolabs/xrdp into devel 2016-07-26 13:13:56 -04:00
speidy
c9b55e3691 sesman: env_set_user, fix potential bof issues 2016-07-22 04:48:37 -04:00
jsorg71
9855b0f922 Merge pull request #403 from kenhys/avoid-chansrv-segv
chansrv: avoid chansrv SEGV when xinode is NULL
2016-07-22 00:57:49 -07:00
Kentaro Hayashi
8f3fb2f7c8 chansrv: avoid chansrv SEGV when xinode is NULL
When xfuse_create_file_in_xrdp_fs is failed, it returns NULL.

Without this fix, xinode->size causes SEGV, so implementation is changed
to return -1 and check the return value in caller.
2016-07-21 16:02:21 +09:00
Koichiro IWAO
32561a7b74 X11rdp: update python 2.7 -> 2.7.11
Python 2.7 cannot build with OpenSSL 1.0.2h pointed out in #399.
Python-2.7.11.tar.xz needs to be uploaded to server1.xrdp.org.
2016-07-20 10:22:50 +09:00
Jay Sorg
9ccbfb6985 chansrv: added mp3 compression from Speidy 2016-07-13 17:44:07 -07:00
Jay Sorg
eed0227d81 X11rdp: xrandr change for multimon 2016-07-13 10:52:41 -07:00
Pavel Roskin
ace7d2c822 Declare unified module interface and use it in modules
This fixes loading modules compiled with a C++ compiler. Remote thandle
type, it's unused. Use tintptr for module data. Don't cast pointers to
long, they won't fit on Win64.
2016-07-08 05:09:09 +00:00
Pavel Roskin
2c13ef5c6d Use enum logLevels consistently for log levels 2016-07-08 04:29:57 +00:00
Pavel Roskin
0c72ee2371 Use char* for TLS send and receive
This is consistent with ssl_tls_read() and ssl_tls_write(). C++ warnings
are fixed without adding any casts.
2016-07-08 04:29:56 +00:00
Pavel Roskin
cbe413bd8b Fix return type of devredir_fuse_data_peek and devredir_fuse_data_dequeue 2016-07-08 04:29:56 +00:00
Pavel Roskin
28a1a090b3 Use correct types for ssl and ctx fields in struct ssl_tls 2016-07-08 04:29:53 +00:00
Pavel Roskin
2cb3af8ac3 Cast the result of g_shmat() to the destination type 2016-07-08 04:29:53 +00:00
Pavel Roskin
7cd9a5c4af Cast fifo_remove_item() to XRDP_ENC_DATA* or XRDP_ENC_DATA_DONE* as needed 2016-07-08 04:29:52 +00:00
Pavel Roskin
c5ca0332be Use cast when applying boolean OR to enum 2016-07-08 04:29:51 +00:00
Pavel Roskin
d1efb0d5ba Fix signed to unsigned comparisons reported by g++ 6.1.0 2016-07-08 04:29:51 +00:00
Pavel Roskin
5829323ad8 Use g_new or g_new0 when C++ compiler would complain about implicit cast 2016-07-08 04:29:49 +00:00
Pavel Roskin
a24df49241 Introduce glib style macros for allocating memory with type 2016-07-08 04:29:49 +00:00
Pavel Roskin
6ab8c5ac6e Don't include X11/Xlib.h for XPoint, define a replacement
XRDP modules are not X11 clients and should not generally need X11
headers. There is no need to match the X11 structure.
2016-07-08 04:29:48 +00:00
Pavel Roskin
bde4925f0e Cast appdata_ptr explicitly, needed for C++ compatibility 2016-07-08 04:29:47 +00:00
Pavel Roskin
4b05bb2ebd Mark g_drdynvc_chan_id as extern in g_drdynvc_chan_id, it's in chansrv.c 2016-07-08 04:29:44 +00:00
Pavel Roskin
aaa89ad4e6 Use const unsigned for hex arrays
Some constants are too big for the signed type.
2016-07-08 04:29:43 +00:00
Pavel Roskin
aeeb3d2c2e Fix warnings detected by -Wwrite-strings 2016-07-08 04:29:42 +00:00
Pavel Roskin
a680d46edf Use -Wwrite-strings compiler flag if supported, add required macros
String literals are const in C++. Using this warnings moves us closer to
the stated goal of C++ compatibility, makes the code cleaner and lets
compilers optimize the code better.

Add m4/ax_append_compile_flags.m4 from Autoconf Archives for the
AX_APPEND_COMPILE_FLAGS macro and m4/ax_check_compile_flag.m4 as its
dependency.
2016-07-08 04:29:40 +00:00
Pavel Roskin
951e632757 Make program_name constant, don't duplicate or free it 2016-07-08 04:27:07 +00:00
Pavel Roskin
b00ca6e03d Remove commented out config_read_logging(), the code is long dead 2016-07-08 04:26:59 +00:00
Pavel Roskin
1ded8ec437 Remove unused string support in scp_session_set_addr()
Using the same argument for binary and text data is not a good idea. If
string support is ever needed, it should be a separate function.

Remove SCP_ADDRESS_TYPE_IPV4_BIN and SCP_ADDRESS_TYPE_IPV6_BIN, use
SCP_ADDRESS_TYPE_IPV4 and SCP_ADDRESS_TYPE_IPV6, which simplifies the
code.
2016-07-08 04:15:41 +00:00
Pavel Roskin
f908528a00 Downgrade "libscp initialized" to LOG_LEVEL_DEBUG, remove line number
It's a bad style to start the log with a cryptic warning.
2016-07-08 04:15:39 +00:00
Pavel Roskin
f7ef9bb938 Fix scp_init() invocation, it takes no arguments 2016-07-08 04:15:38 +00:00
Pavel Roskin
6f5feb61e0 Shorten and clarify log window messages
Specify display in the "login failed" message. Print the section name
that wasn't found. Remove stdout message about missing section,
xrdp_wm_log_msg() already writes to stdout.
2016-07-08 04:15:34 +00:00
Pavel Roskin
a1b7de5679 Make xrdp_wm_log_msg() log its output
Accept variable arguments and the log level in xrdp_wm_log_msg(). Remove
logging that is done automatically now.
2016-07-08 04:15:33 +00:00
Pavel Roskin
27ba5b4e86 Rewrite add_string_to_logwindow()
Make static, fix formatting, shorten some variable names, use += to add
to variable, accept immutable strings.
2016-07-08 04:15:30 +00:00
Akira Taniguchi
b6ba95e179 Update xrdp_keyboard.ini 2016-06-29 00:18:28 +09:00
Akira Taniguchi
614101441e Add files via upload 2016-06-29 00:17:38 +09:00
Pavel Roskin
77b380c0b5 Fix format warnings in log_message() calls 2016-06-21 16:30:16 -07:00
Pavel Roskin
b1527b7947 Check string format in log_message
Move "printflike" definition to arch.h, it's used both by log.h and
os_calls.h.
2016-06-21 16:30:16 -07:00
Pavel Roskin
be1d034f91 Report pid and listening address/port for xrdp and xrdp-sesman
For xrdp-sesman, don't report that the daemon is listening to a port if
it fails to attach to that port. Don't use LOG_LEVEL_ALWAYS for startup
message, it's not a critical error.
2016-06-21 16:30:15 -07:00