Commit Graph

3089 Commits

Author SHA1 Message Date
Koichiro IWAO
606984baad add Spanish keylayout 2017-06-17 16:31:17 +09:00
Koichiro IWAO
088bd2d811 common: implement g_file_readable for WIN32 2017-06-12 16:57:04 +09:00
Koichiro IWAO
a1b0344db5 Use the words "cannot read" rather than "cannot open"
as the code actually tests readability.
2017-06-12 16:57:04 +09:00
Koichiro IWAO
4f7969b562 Check certificate/privkey readability not existence
to fail RDP security negotiation if certificate/privkey is not readable
2017-06-12 16:57:04 +09:00
Koichiro IWAO
65c1fe87d7 Log user-friendly message when certificate/privkey is inaccessible
We shouldn't assume that xrdp daemon is running under root privilege.
In many cases, root privilege is not really needed for xrdp daemon.
xrdp may fail to load certificate/privkey due to lack of permissions
when running under user privilege. Checking existence of files is not
enough and xrdp should output user-friendly log in such case.

Reported by Debian user in bug 856436 [1].

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=856436
2017-06-12 16:57:04 +09:00
Koichiro IWAO
0299d64fa8 sort xrdp_keyboard.ini 2017-06-09 15:55:22 +09:00
Ben Cohen
bb9756f6c5 Fix UK/GB keyboard layout
The UK/GB keyboard doesn't work properly connecting to xrdp with xorgxrdp.
It does work when connecting to xrdp with x11vnc, however.

This is because the layout is not declared in xrdp_keyboard.ini.  It needs
to be called "gb" not "uk".  (There are other layouts that have
km-nnnn.ini files that aren't declared in xrdp_keyboard.ini, so they might
have the same bug, but I haven't tested that.  This is analagous to the
commits for the "ch" and "pl" layouts.)

Test case:

1. Use a PC with the UK/GB keyboard layout.

2. Create /etc/xrdp/startwm.sh as follows:

     #!/bin/sh
     export LANG=en_GB.UTF-8
     export MDM_LANG=en_GB.UTF-8
     export XTERM_LOCALE=en_GB.UTF-8
     xterm
     exit 0

3. Connect using rdesktop to localhost (from a session where the same
   environment variables are defined).

4. Test layout-specific keys such as:
      \ (backslash)
      | (bar)
      # (numbersign)
      ~ (asciitilde)
      £ (sterling: Shift-3)
      € (EuroSign: AltGr-4)

These keys should produce the appropriate symbol but they don't.  With
the change in this commit the keys produce the correct symbol.
2017-06-08 13:31:30 +09:00
Koichiro IWAO
84596e7392 Pick up the first section if given section(domain) doesn't match anything
As some clinents (AFAIK Windows 10) always send domain name, the backend
module is not selected properly. This causes the default usage with
Windows 10 fails with 'xrdp_wm_log_msg: Section "XXX" not configured'.
2017-06-07 14:08:26 +09:00
Koichiro IWAO
0e7844ab02 Constify MCS connectionType 2017-06-06 10:04:48 +09:00
Koichiro IWAO
e879cf5fce add TODO comments 2017-05-31 16:27:23 +09:00
Koichiro IWAO
bedf04cd9f instfiles: substitute directories in systemd service files
Do not expect prefix is always /usr. /usr/local is often used when users
compile xrdp manually.
2017-05-31 16:27:23 +09:00
Koichiro IWAO
67aab0a706 configure: fix confusing help text about painter and librfxcodec
painter and librfxcodec are enabled by default. --disable-* options
disables them.

Before:
  --disable-painter       Use included painter library (default: yes)
  --disable-rfxcodec      Use included librfxcodec library (default: yes)

After:
  --disable-painter       Do not use included painter library (default: no)
  --disable-rfxcodec      Do not use included librfxcodec library (default:
                          no)
2017-05-23 11:26:51 +09:00
Koichiro IWAO
3c3c362946 ignore *.so (pulseaudio modules) 2017-05-16 10:41:06 +09:00
Koichiro IWAO
e1d11a74da pulse: respect XRDP_SOCKET_PATH environment variable 2017-05-16 10:41:06 +09:00
Koichiro IWAO
1acef2567c sesman: pass xrdp socket path to user session
via environment variable.
2017-05-16 10:41:06 +09:00
Koichiro IWAO
c7f8e360fd common: separate sockets macros into basename and fullpath
since sometimes socket directory is obtained from environment variable.
2017-05-16 10:41:06 +09:00
Jay Sorg
2c96908ea5 common: if SSL_shutdown fails, only call one more time 2017-05-10 14:56:20 -07:00
Jay Sorg
75fd3fcf89 common: ssl_tls_write / read return 0 on socket close 2017-05-10 14:56:20 -07:00
Fuminobu TAKEYAMA
1f27a4d850 startwm.sh: do not call pseudo shell code for /etc/X11/xdm/Xsession
Since /etc/X11/xdm/Xsession calls user's login shell, startwm.sh
should not execute the pseudo code; It causes to execute
~/.profile twice.
2017-05-09 16:26:38 +09:00
MichaelSweden
5c668dc420 Removed error message while falling back to IPv4 (issue #714) 2017-04-25 09:31:22 +09:00
MichaelSweden
106ae2cd43 Fix to handle OS disabled IPv6, issue #714.
- Changes made only in the os_calls.c file.
- Exported functions changed: g_tcp_bind g_tcp_bind_address g_tcp_connect
- Support three network configurations:
  1) Normal network, with IPv6
  2) Partly disabled IPv6 via sysctl.conf
  3) Total disabled IPv6 via grub
2017-04-25 09:31:22 +09:00
Koichiro IWAO
10fe699466 pulse: define default socket directory in Makefile 2017-04-06 09:29:16 +09:00
Koichiro IWAO
06ce0d7ee3 sesman: LOGNAME should be set to username
which is used to store login name. The login name shall be the string
that would be returned by the getlogin() function [1]. Some applications
only refers LOGNAME environment variable and don't fallback to other
variables such as USER.

Fixes #725.  Reported by @seidler2547.

[1] The Single UNIX Specification, Issue 7
2017-04-06 09:25:02 +09:00
speidy
7a7445fefd update submodules to their release tag head commit 2017-03-30 09:07:07 +03:00
speidy
d7882d5041 Bump version number to v0.9.2 2017-03-30 09:04:47 +03:00
speidy
5bae117fec update NEWS file for v0.9.2 release 2017-03-30 08:55:39 +03:00
Pavel Roskin
148afd1170 Rename file_loc.h to xrdp_sockets.h, install it
Include xrdp_sockets.h directly, not through headers.
2017-03-28 00:59:16 -07:00
Pavel Roskin
a7ec7237c4 Remove readme.txt, it has been replaced by README.md 2017-03-27 06:49:38 +03:00
speidy
1c70e4915f xrdp_orders_rail: fix resulting unicode length 2017-03-24 15:36:36 +09:00
speidy
22f0b05b03 libxrdp: window update, simplify length checks 2017-03-24 15:36:36 +09:00
speidy
954b68314d xrdp_orders_rail: fix g_mbstowcs error handling 2017-03-24 15:36:36 +09:00
speidy
dfd639a3a9 RAIL: use fixed size length for window texts 2017-03-24 15:36:36 +09:00
Jay Sorg
fdb6195bbc rail, text length checks 2017-03-24 15:36:36 +09:00
Jay Sorg
3c95a2aef2 rail, text length checks 2017-03-24 15:36:36 +09:00
Koichiro IWAO
8220afceab pulse: refer correct path to file_loc.h 2017-03-24 13:49:21 +09:00
Koichiro IWAO
a20d88335f pulse: use correct macro for audio in/out sockets 2017-03-24 13:49:21 +09:00
speidy
2f382d2a16 libxrdp: print connected client name to log 2017-03-21 22:02:29 -07:00
speidy
9d578d9c5f libxrdp: fix misleading variable name 2017-03-21 22:02:29 -07:00
speidy
b905967ba6 libxrdp: improve unicode_in 2017-03-21 22:02:29 -07:00
Pavel Roskin
95506a169f Log socket fd in g_sck_accept(), fix AF_UNIX logging 2017-03-21 21:59:50 -07:00
Jay Sorg
4b8a33e087 sesman: move auth/pam calls to main process 2017-03-21 21:56:28 -07:00
Pavel Roskin
43899b7e0c Allocate space for tls_ciphers dynamically 2017-03-21 10:39:40 -07:00
Pavel Roskin
b0c2f18521 xrdp-chansrv: default to INFO log level rather than ERROR 2017-03-20 19:11:06 -07:00
Jay Sorg
05c599666d sesman: remove sessvc, one less process to manage 2017-03-19 17:16:36 -07:00
Pavel Roskin
5c8f050c1a X11rdp: respect XRDP_SOCKET_PATH environment variable 2017-03-17 22:25:05 -07:00
Pavel Roskin
58c9cb43e9 Make socket directory configurable, don't hardcode /tmp/.xrdp
Use XRDP_SOCKET_PATH in file_loc.h

Don't define any non-socket paths in file_loc.h, they should come from
the makefiles.

Define all paths unconditionally, they should not be defined elsewhere.

Pass XRDP_SOCKET_PATH as environment variable to the backends.
2017-03-17 22:25:05 -07:00
Pavel Roskin
fc2572f60b Remove chansrv_cleanup(), it doesn't do anything useful
xrdp_chansrv_%8.8x_main_term and xrdp_chansrv_%8.8x_thread_done are both
wait objects, not sockets. They are created and cleaned up in chansrv.c

Wait objects are pairs of file descriptors on POSIX. They are closed
automatically when the process exits.

On Windows, wait objects are handles that are closed by CloseHandle().
Those handles should also be closed on the process exit.

In any case, there is no way for a parent process to clean up file
handles of the child process.
2017-03-17 22:25:05 -07:00
Koichiro IWAO
a2d9272bc9 Propel xorgxrdp as default backend, give xorgxrdp the first place 2017-03-17 09:21:51 +09:00
speidy
cfdbc2b4db chansrv: dvc, check channel exists on get/remove api struct 2017-03-16 00:20:10 +02:00
Pavel Roskin
6ed4c969f4 Eliminate APP_CC and DEFAULT_CC 2017-03-14 00:21:48 -07:00