Commit Graph

687 Commits

Author SHA1 Message Date
Koichiro IWAO
258a7a12ac
add Spanish (Latin Amarican) keyboard
Closes #1237.
2018-11-01 09:24:51 +09:00
jsorg71
ae1514c167
dynamic virtual channel improvements
remove not used chansrv <-> xrdp messages
move static channel disable control into libxrdp
remove some blocking read, write chansrv calls
add drdynvc calls to libxrdp
add drdynvc calls to chansrv
channel cleanup
2018-10-11 22:09:20 -07:00
Idan Freiberg
28d1fa7620
Merge pull request #1192 from hate-m-dollarsign/devel
xrdp: Use configured values instead of hardcoded ones in login_wnd inputs.
2018-09-18 05:34:16 +03:00
Koichiro IWAO
171f8e79ed
xrdp: deprecate TLSv1 and TLSv1.1
Most websites disabled TLSv1 (1.0) and TLSv1.1 since March 2018
[1][2][3]. It is HTTPS context but there's few differences between HTTPS
and other TLS connections. Users can whenever re-enable these deprecated
TLS versions by editing xrdp.ini but not enabled by default.

[1] https://www.globalsign.com/en/blog/disable-tls-10-and-all-ssl-versions/
[2] https://www.thesslstore.com/blog/deprecation-tls-1-0-1-1-underway/
[3] https://www.digicert.com/blog/depreciating-tls-1-0-and-1-1/
2018-09-14 11:50:55 +09:00
Koichiro IWAO
1ad8cbb2a0
Document TLSv1.3 support 2018-09-14 11:50:55 +09:00
jsane
fadbd20baf xrdp: Use configured values instead of hardcoded ones in login_wnd inputs.
Configured ls_label_width and ls_input_width currently only apply to the combo l
abel and dropdown. Other labels and inputs (username, password, port, ...) use hardcoded defaults.

Also had to change the default label width; for the previous value of 60, "username" ends up just a few pixels too wide.
2018-09-07 14:50:45 +02:00
Koichiro IWAO
c0c7c3f106
xrdp: unify inconsistent mixed use of
* configure params
* configure options
* configure string
2018-06-27 09:00:55 +09:00
Koichiro IWAO
be05afb30b
xrdp: print configure options to --version more pretty 2018-06-27 09:00:52 +09:00
Jay Sorg
349616a35d add ipv6only to configure echo and add configure parameter to xrdp -h output 2018-05-25 22:17:31 -07:00
metalefty
f52f632e21
Merge pull request #1096 from metalefty/version_info
Show OpenSSL version to --version
2018-04-13 14:49:26 +09:00
Koichiro IWAO
2eb4be426b
xrdp: show which CLI option is unknown to xrdp 2018-04-10 23:58:31 +09:00
Koichiro IWAO
b2b42d28f3
xrdp: add OpenSSL version to --version
While here, cleanup --help,  --version, and when unknown option.
2018-04-10 23:58:31 +09:00
Koichiro IWAO
48aafc1866
xrdp: xrdp should exit with error code when unknown CLI option given 2018-04-10 13:07:40 +09:00
Ben Cohen
3b5b7a5935 UDS file deleted after first connection
If you run xrdp with a Unix Domain Socket (UDS) for the port specified in
/etc/xrdp/xrdp.ini then the first connection succeeds but subsequent
connections fail.  In fact the UDS is deleted from the filesystem as soon
as the first connection is established.

Test case:

1. Edit /etc/xrdp/xrdp.ini to set "port=/var/run/xrdp-local.socket".

2. Restart xrdp.

3. Run the following.  When rdesktop starts up and the logon dialog is
   displayed, press "Cancel".

   sudo socat TCP-LISTEN:12345 UNIX-CONNECT:/var/run/xrdp-local.socket &
   rdesktop localhost:12345

4. Run the following:

    sudo socat TCP-LISTEN:12346 UNIX-CONNECT:/var/run/xrdp-local.socket &
    rdesktop localhost:12346

Expected behaviour: rdesktop starts up and displays the logon dialog.
Observed behaviour: rdesktop exits with "ERROR: Connection closed" and
                    socat exits with "No such file or directory.

This is because in the child process after forking, xrdp_listen_fork()
calls trans_delete() which deletes the UDS.  Simply commenting out the
g_file_delete() and g_free() fixes this, but that isn't a proper solution
because trans_delete() is called from elsewhere where the UDS might no
longer be wanted.

Fix by adding a function trans_delete_from_child() that frees and clears
listen_filename before calling trans_delete(), and call the new function
from xrdp_listen_fork().

(Workaround: set "fork=false" in /etc/xrdp/xrdp.ini, because
trans_delete() is then not called.)
2018-03-27 09:22:49 +03:00
fbourqui
3d9e7db849
Update xrdp_keyboard.ini
Add the missing Swiss French rdp_layout_ definitions, ch(fr) in X11
2018-03-05 12:11:31 +01:00
Vraiment
9ed5243de9 Make xrdp.ini to be dynamic for each operating system 2018-02-19 11:41:55 +09:00
Jay Sorg
f763cb3788 fix for zombie processes sometimes appearing 2018-01-22 04:34:09 +00:00
Jay Sorg
acd05f365f xrdp: xrdp_encoder.c fix compile when XRDP_RFXCODEC is not defined 2018-01-22 04:32:36 +00:00
Jay Sorg
a64cb81a36 xrdp: fix some leaks in xrdp_encoder.c 2018-01-22 04:32:36 +00:00
Koichiro IWAO
b17c45d86f
fix potential fd leak
In most cases, checking fd > 0 is not valid. open(2) returns -1 on
error, 0 on stdin, 1 on stdout, 2 on stderr, >2 . The border should be
between -1 and 0. Additionally, between 2 and 3.

Pointed out by: #919
2018-01-17 09:38:28 +09:00
Koichiro IWAO
942bb6316a add comment on sessions xrdp.ini 2017-12-16 00:27:06 +09:00
rkantos
cdba988f52 Update xrdp_keyboard.ini
Add the missing? Finnish rdp_layout_ definitions. Makes my install now work with Finnish keyboard layout. (same as Swedish)
2017-12-14 14:43:04 +09:00
Koichiro IWAO
8d951ab02e xrdp_listen: suppress log when TRANS_STATUS_DOWN
The log is always logged when clients are disconnecting even though
nothing unusual is happening. This scares users too much. Actually,
some users created a issue on GitHub with the following log. It will
lose focus from the real error.

> [ERROR] Listening socket is in wrong state, terminating listener
2017-11-30 15:13:18 +09:00
Koichiro IWAO
fb8f0adcc4 remove useless braces 2017-11-30 15:13:18 +09:00
Jay Sorg
54285d26dd remove empty crc16.h file 2017-11-09 21:13:53 -08:00
Jay Sorg
26507644e3 vsock, move some defines 2017-11-07 18:20:45 -08:00
Justin Terry (VM)
50bd624cc4 Implements XRDP over vsock
1. Implements the ability to use AV_VSOCK for the transport rather than TCP.
2. Updates the ini file to be able to conditionally turn this feature on.
2017-11-07 18:20:45 -08:00
Koichiro IWAO
2475893402 Constify extended mouse events 2017-11-06 16:18:42 +09:00
Koichiro IWAO
27aef96e81 Constify mouse event flags, use the MS name for constants 2017-11-06 16:18:42 +09:00
Koichiro IWAO
8e7e54e49f xrdp_wm: handle horizontal mouse wheel events 2017-11-06 16:18:42 +09:00
Koichiro IWAO
903a2bf83a xrdp_wm: make mouse button 6 and 7 act like button 4 and 5
because 6 and 7 are horizontal scroll. They should acts as same as
vertical scroll.
2017-11-06 16:18:42 +09:00
Soedarsono
3c3eb9ed73 Add dvorak keyboard layout 2017-11-01 10:24:54 -07:00
Felix Zhang
eaed9af498 xrdp: corret the config file name in the comment 2017-10-09 21:38:10 +09:00
Oscar Salvador
be23682f90 xrdp: get port from configfile in access_control()
This fixes #894
2017-10-03 09:45:24 +09:00
Koichiro IWAO
ced3a4817f xrdp: constify input event type 2017-10-02 09:39:48 +09:00
cocoon
8ded88a0c6 Fixes #414 2017-09-17 18:03:07 +09:00
Koichiro IWAO
e6b7d12191 xrdp: accept full path for ls_background_image
because ls_logo_filename accepts full path.
2017-09-05 17:17:33 +09:00
Koichiro IWAO
9ca52b05da add Belgian keyboard 2017-09-01 10:08:26 +09:00
Koichiro IWAO
b34fc6da55 don't use hard coded constant values 2017-08-01 08:40:30 +09:00
Koichiro IWAO
df32f74519 use g_free() 2017-08-01 08:40:30 +09:00
Koichiro IWAO
04187945a8 move base64 functions to base64.c 2017-08-01 08:40:30 +09:00
Koichiro IWAO
a89cb93bc7 decode base64 login window parameter
such as prefill username and password:
    username=ask{base64}YmFzZTY0
    username={base64}YmFzZTY0
    password=ask{base64}YmFzZTs2NCFwYXNzd29yZCM=
    password={base64}YmFzZTs2NCFwYXNzd29yZCM=

';', '#', '!' means comment in .ini files. If prefill username or
password contains such symbols, these can be provided base64 encoded.
2017-08-01 08:40:30 +09:00
Ben Cohen
8b4d057af2 Allow UDS connection from non-root users
If you run xrdp with a Unix Domain Socket (UDS) for the port specified in
/etc/xrdp/xrdp.ini then only root can connect to it.

Test case:

1. Edit /etc/xrdp/xrdp.ini to set "port=/var/run/xrdp-local.socket".

2. Restart xrdp.

3. Run the following, as a non-root user.

  socat TCP-LISTEN:12345 UNIX-CONNECT:/var/run/xrdp-local.socket &
  rdesktop localhost:12345

Expected behaviour: rdesktop starts up and displays the logon dialog.
Observed behaviour: rdesktop exits with "ERROR: Connection closed" and
socat exits with "Permission denied".  (But it suceeds if root runs
socat.)

UDS files are created by trans_listen_address() and given permissions
0660, so only root can connect to it.  In this case, for the RDP client
connection, it it fine for any user to connect so it should be given
permissions 0666.

Note that this is only relevant when the port in /etc/xrdp/xrdp.ini has
been set to create a UDS instead of a TCP socket.  When a TCP port is
created any user (including remote users, unless the loopback interface
is used) can connect so this is not less secure.
2017-07-20 09:13:06 +09:00
Koichiro IWAO
b83b5510f4 Fix Xvnc backend disconnects when some data copied to clipboard
Should fix #755.
2017-07-06 13:44:53 +09:00
Koichiro IWAO
5def0596e0 int function should return 2017-06-20 14:29:02 +09:00
Koichiro IWAO
1d89000d90 xrdp: exit main process with failure status if listen failed (daemon mode) 2017-06-20 14:29:02 +09:00
Koichiro IWAO
7aad2c83c6 xrdp: exit with failure status if listen failed (foreground mode) 2017-06-20 14:29:02 +09:00
Koichiro IWAO
252cb20365 xrdp: xrdp_listen_main_loop pass through trans_listen_address return value 2017-06-20 14:29:02 +09:00
Koichiro IWAO
606984baad add Spanish keylayout 2017-06-17 16:31:17 +09:00
Koichiro IWAO
0299d64fa8 sort xrdp_keyboard.ini 2017-06-09 15:55:22 +09:00