Commit Graph

2875 Commits

Author SHA1 Message Date
Pavel Roskin
7d03d1a3e9 Fix outgoing connections on Mac OSX
connect() on an already established connection returns error with errno
set to EISCONN. Treat it as success.
2016-09-08 22:28:38 -07:00
Pavel Roskin
5465b8c85e Add socklen_t check with substitution, use socklen_t as needed 2016-09-08 20:26:19 -07:00
Pavel Roskin
49ae93130a Improve message about listening socket is a wrong state 2016-09-08 20:26:19 -07:00
Pavel Roskin
945833a94f Don't close socket in scp_process_start(), the caller closes it 2016-09-08 20:26:19 -07:00
Pavel Roskin
f7c27f05cf g_term_event is a wait object, not TCP socket, delete it correctly 2016-09-08 20:26:19 -07:00
Pavel Roskin
931fb90832 sesrun: remove unused g_sck and write-only g_pid 2016-09-08 20:26:19 -07:00
Pavel Roskin
d605310bdc sesman: don't close listening socket in signal handler
It is closed when the main loop terminates.
2016-09-08 20:26:19 -07:00
Pavel Roskin
6f4ffa769c Improve debug information when closing a socket
Don't assume AF_INET family. Don't assume the socket is connected. Report
local address and port. Don't try to close non-sockets and invalid file
descriptors. Report errors getting socket information and closing the
socket. Use more appropriate log levels.
2016-09-08 20:26:19 -07:00
metalefty
c02f18993a Merge pull request #420 from proski/uk-keyboard
Add UK English keyboard and code to generate it
2016-09-09 00:11:29 +09:00
Koichiro IWAO
e2d4b65787 libxrdp: cleanup log log in xrdp_load_keyboard_layout 2016-09-06 15:55:11 +09:00
Pavel Roskin
7e8863b0f2 Add UK English keyboard and code to generate it 2016-09-05 22:12:17 -07:00
Koichiro IWAO
2488159645 libxrdp: log keyboard type/subtype 2016-09-02 13:44:11 +09:00
Koichiro IWAO
644242fc53 libxrdp: log keyboard options 2016-09-02 13:44:11 +09:00
Koichiro IWAO
bc37e5aaac x11rdp: apply keyboard options 2016-09-02 13:44:11 +09:00
metalefty
de6ed280b2 Merge pull request #415 from metalefty/pathname-should-be-url-decoded
Fix clipboard fle when directory name contains non-ASCII or ASCII non-alphanumeric chars
2016-09-01 13:29:33 +09:00
Koichiro IWAO
9f277e4445 chansrv: pathname also should be URL decoded
because 1st argument to clipboard_get_file() is given as URL encoded.
Decoding only filename is incomplete.

Without this fix, clipboard file doesn't work in case pathname
contains non-ASCII characters or non-alphanumeric ASCII characters.
2016-08-30 15:49:58 +09:00
metalefty
b934e55fc8 Merge pull request #364 from laigor/devel
Allows use the xkb options that for example allows you to specify a key combination to change the layouts.
2016-08-30 09:28:25 +09:00
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