Commit Graph

916 Commits

Author SHA1 Message Date
okhowang(王沛文)
32ef6ea3dd support mousex button 8/9 2020-01-14 18:04:06 +08:00
matt335672
6f881d47d3 Rationalise ms- constants
Constants from MS documents (MS-RDPBCGR etc) moved out of
common/xrdp_constants.h into includes named after the documents.

Similar includes moved from sesman/chansrv to the common area.
2020-01-06 15:46:37 +00:00
metalefty
352107fc5f
Merge pull request #1319 from metalefty/sighup
xrdp: do not exit when caught SIGHUP
2019-11-21 18:42:52 +09:00
Belinsky-L-V
a2fd7c09fa make vsock config accept -1 for cid and port
linux/vm_sockets.h defines VMADDR_CID_ANY and VMADDR_PORT_ANY (both
equal to -1U) for vsock cid and port respectively. This change aims to
add the capability to parse negative cid and port numbers for vsock from
the config and pass them to the kernel.

Allows for valid configurations such as "port=vsock://-1:3389" to be
correctly processed, but will parse port and cid inputs like "---1" to
"-", which should currently get silently turned into 0 by atoi inside
g_sck_vsock_bind_address. Inputs that do not contain "-" get parsed as
by xrdp_listen_parse_integer.
2019-11-12 23:59:49 +03:00
Koichiro IWAO
f37faca65b
xrdp: skip connecting to chansrv when no channels enabled 2019-08-22 17:20:19 +09:00
Koichiro IWAO
bcb281707b
xrdp: reformat comments/descriptions in xrdp.ini 2019-08-19 14:20:32 +09:00
Jay Sorg
1ef47cbf0b xrdp: fix seg fault when fork on connect and disconnect 2019-07-02 21:02:09 -07:00
Jay Sorg
37ade1cb25 remove unused variable 2019-07-01 18:07:36 -07:00
Jay Sorg
ee65ccb31d use address for tcp:// and tcp6:// and vsock:// 2019-07-01 17:56:50 -07:00
Jay Sorg
f42e38125e xrdp: enable listen_test, other parameter fixes about listen_test 2019-07-01 00:53:11 -07:00
Jay Sorg
0bc7803eaa add TCP V4 and V6 only socket functions 2019-06-29 23:59:18 -07:00
Jay Sorg
d7bd6f726b xrdp: support old xrdp.ini port, use_vsock style 2019-06-27 09:09:34 -07:00
Jay Sorg
216ba3b4d4 xrdp: update xrdp.ini.in 2019-06-26 22:16:44 -07:00
Jay Sorg
e3f41da2cc xrdp: parsing for listeners 2019-06-26 22:16:43 -07:00
Jay Sorg
c236f665d2 xrdp: parsing for listeners 2019-06-26 22:16:43 -07:00
Jay Sorg
d6229df5a1 xrdp: work on trans list 2019-06-26 22:16:43 -07:00
Jay Sorg
bacd76f9a2 xrdp: change listen to list 2019-06-26 22:16:43 -07:00
Jay Sorg
21f90e3ca2 work on suppress 2019-04-25 14:54:25 -07:00
Jay Sorg
0ed82f71e8 xrdp: check term event for more responsive shutdown 2019-04-01 23:14:09 -07:00
Koichiro IWAO
fff61cbeca
xrdp: do not exit when caught SIGHUP 2019-03-29 09:27:29 +09:00
Koichiro IWAO
4f85f8787b
xrdpwin: xrdp.sourceforge.net -> www.xrdp.org 2019-03-20 17:00:17 +09:00
netromnetrom
3f42e5d6e5
Add Danish keyboard 2019-02-05 17:00:46 +01:00
metalefty
2e340bd68c
Merge pull request #1244 from metalefty/km-0000080a
correct latam keylayout value
2018-11-08 08:56:27 +09:00
Koichiro IWAO
92fa56546e
correct latam keylayout value 2018-11-07 18:58:07 +09:00
metalefty
3ad380949c
Merge pull request #1240 from metalefty/km-0000080a
add Spanish (Latin American) keyboard
2018-11-02 09:30:40 +09:00
Koichiro IWAO
9f22223b91
capitilize hex keylayout value 2018-11-01 09:25:04 +09:00
Koichiro IWAO
258a7a12ac
add Spanish (Latin Amarican) keyboard
Closes #1237.
2018-11-01 09:24:51 +09:00
Koichiro IWAO
37c04a40d8
Remove console session
it is VNC session to localhost:5900. Can be replaced with vnc-any.
2018-10-19 10:52:12 +09:00
Koichiro IWAO
f64e990ce8
Remove sesman-any as it is not used at all 2018-10-18 11:44:52 +09:00
Koichiro IWAO
a4b0aa9355
Remove x11rdp from config
as it is already deprecated. x11rdp is complicated to build and very few
people using it actually. However, some people still select "X11rdp"
session and get stuck despite not installing x11rdp.

https://github.com/neutrinolabs/xrdp/issues/962#issuecomment-430545526

People who really want to use x11rdp should revert this commit.
2018-10-18 11:19:38 +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
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
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
43899b7e0c Allocate space for tls_ciphers dynamically 2017-03-21 10:39:40 -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
Koichiro IWAO
a2d9272bc9 Propel xorgxrdp as default backend, give xorgxrdp the first place 2017-03-17 09:21:51 +09:00
Pavel Roskin
6ed4c969f4 Eliminate APP_CC and DEFAULT_CC 2017-03-14 00:21:48 -07:00
Pavel Roskin
8be83473b7 Call log_end() on xrdp exit 2017-03-13 17:17:06 +09:00
Jay Sorg
3f14559822 frame ack code cleanup, add comments for possible client acks, when pointer, use NULL, not 0 2017-03-06 22:44:26 -08:00
Jay Sorg
3ac0120fe7 add xrdp_mm_process_enc_done for processing encoder output 2017-03-06 22:44:26 -08:00
Jay Sorg
e0583f606a checkup frame ack code, combine dup code 2017-03-06 22:44:26 -08:00
Jay Sorg
3b056ec052 frame ack fix change, cleanup 2017-03-06 22:44:26 -08:00
Pavel Roskin
30a7a947b1 Don't include config_ac.h from any header files 2017-03-04 00:52:34 -08:00
Pavel Roskin
b2d3dcf169 Include config_ac.h from all source files 2017-03-04 00:52:34 -08:00
Koichiro IWAO
849c1a22a2 TLS: switch ssl_protocols to a comma separated list 2017-02-27 14:17:25 +09:00
Koichiro IWAO
03b5be5fd0 docs: document maximum length of tls_ciphers 2017-02-27 14:17:25 +09:00
Koichiro IWAO
e94ab10e14 TLS: new method to specify SSL/TLS version
SSL/TLS protocols only listed in ssl_protocols should be used.
The name "ssl_protocols" comes from nginx.

Resolves #428.
2017-02-27 14:17:25 +09:00
Jay Sorg
b8c79452f6 encoder, remove check for UINT16_MAX, not really needed 2017-02-22 20:57:33 -08:00
Jay Sorg
79796b77b7 changes and cleanup to process_enc_rfx 2017-02-22 20:57:33 -08:00
Jay Sorg
8c0dcbbd4f fix for frames in flight = 0 2017-02-22 20:57:33 -08:00
Jay Sorg
815b9b8bb8 frame ack change for slow client falling behind 2017-02-22 20:57:33 -08:00
Jay Sorg
fde04e802c rfx fixes for large tile sets, performance change, Xorg will start next frame earlier 2017-02-22 20:57:33 -08:00
Jay Sorg
7825246d7a fix warning new since stdint.h change 2017-02-22 20:39:56 -08:00
Koichiro IWAO
2424a9c020 Workaround for a regression of JP keyboard detection #663
caused by 9c31bd5.  This is not a complete fix but just a workaround
because keylayout value of Japanese keyboard can be other than these
4 values. This workaround still doesn't cover all JP keyboards.

  - 0x00000411
  - 0xe0010411
  - 0xe0200411
  - 0xe0210411

Looking for `0411` in lower 16 bits is enough to detect JP keyboards.
2017-02-16 18:40:06 +09:00
Pavel Roskin
8a1de8dbc4 Remove trailing whitespace 2017-02-08 13:30:56 +09:00
Pavel Roskin
130fa12845 Don't use ACCESS macro
ACCESS is defined unconditionally in the files that use it. No comments
exist about that macro. The code guarded by the macro is PAM related.
2017-02-02 21:28:53 -08:00
Pavel Roskin
0bb048d35e Fix several cases of discarding return values 2017-01-25 23:22:29 -08:00
Idan Freiberg
6a5f90ca6e Merge pull request #636 from proski/painter
Fix incorrect argument to painter_line()
2017-01-23 08:15:39 +02:00
Idan Freiberg
482671fd18 Merge pull request #625 from speidy/proxy_session_info
Pass session info in proxy mode
2017-01-23 08:15:18 +02:00
Pavel Roskin
6807b616ed Fix incorrect argument to painter_line() 2017-01-21 18:20:27 -08:00
Pavel Roskin
2b614ed4ab Remove librdp.so sources, it's obsoleted by neutrinordp
Remove "rdp-any" section from xrdp.ini.
2017-01-19 20:13:49 -08:00
Pavel Roskin
0799523c13 List shorthand versions of command line switches in the help text 2017-01-17 18:09:47 -08:00
Pavel Roskin
9d162d7301 Implement "-n" alias for "--nodaemon" as documented in the manpage 2017-01-17 18:09:47 -08:00
Idan Freiberg
a64e1789c5 Merge pull request #615 from speidy/channels_fixes
Channels improvements
2017-01-15 08:55:00 +02:00
Jay Sorg
6f74efa70a add session_info
Conflicts:
	libxrdp/libxrdp.h
2017-01-15 08:20:50 +02:00
Pavel Roskin
d46a26c1c3 Don't call file_read_section() on unitialized section name
This can only happen if xrdp.ini is corrupted and has no sections for
backends.
2017-01-11 12:24:59 -08:00
Pavel Roskin
b8ed23daab Constify the value argument to mod_set_param 2017-01-11 11:59:11 -08:00
Ricardo Duarte
a959a9f851 Move mouse before click 2017-01-10 12:22:06 -08:00
speidy
a82d412754 libxrdp: channels, respect xrdp.ini channel blocking also for data
coming in from chansrv
2017-01-06 08:32:30 +02:00
jsorg71
15a24ff1c4 Merge pull request #612 from proski/includes
Use <> for system includes, move system includes above local ones
2017-01-05 16:01:52 -08:00
jsorg71
5194311d9d Merge pull request #611 from volth/support-enable-xrdpdebug=yes-2
fix build with --enable-xrdpdebug=yes
2017-01-05 16:00:51 -08:00
Pavel Roskin
7ba3610787 Use <> for system includes, move system includes above local ones 2017-01-04 13:13:20 -08:00
volth
26a26ef906 fix build with --enable-xrdpdebug=yes 2017-01-04 19:20:44 +00:00
speidy
70e9132ab1 xrdp: add some logging, remove unused var 2016-12-29 08:38:59 -05:00
speidy
1f930f252f xrdp: fix for codec frame acks handling.
can handle zero unacked frames now.

This should make RemoteFX usable with Parallels Client. they always
wan't zero unacked frames on the wire.
2016-12-29 00:41:16 -05:00
Pavel Roskin
0e7bc6e111 Compile libpainter only if enabled, fix path to libpainter.a
When subpackages are compiled outside the build tree, the build artifacts
are placed under top_builddir.
2016-12-20 13:07:48 -08:00
metalefty
25e5243ecf Merge pull request #553 from jsorg71/libpainter
add libpainter for drawing when client does not have minimum orders
2016-12-20 17:00:48 +09:00
Pavel Roskin
77d6fd0807 Fix Parallels Client on Mac
self->line_size should be calculated in xrdp_bitmap_create_with_data()

The code was in the original noorders branch but got lost. Without this
fix, the image is garbled.

The client should be configured with compression disabled, or it will
disconnect. That's a known problem.
2016-12-18 09:24:06 -08:00
Pavel Roskin
c21b9a78f4 Distribute all files except git and github specific data
It is better to distribute a few useless file than not to distribute
needed files.
2016-12-18 00:00:11 -08:00
Idan Freiberg
0f6d1aabc2 Merge pull request #548 from proski/autorun
Set autorun to empty, improve autorun documentation
2016-12-18 02:48:58 -05:00
Pavel Roskin
0c6b5111af Regression fix: session matching uses wrong bpp for Xorg
The removal of "xserverbpp=24" from the Xorg entry lead to a regression.
Clients with a different bpp would not reconnect to an xorgxrdp session
if the client's bpp is different, even though xorgxrdp is always using 24
bpp.

Imply "xserverbpp=24" for "code=20" in xrdp.ini.
2016-12-17 16:15:07 -08:00
Pavel Roskin
65be965ebd Set autorun to empty, improve autorun documentation
Setting autorun to empty keeps X11rdp as the default backend for
autologin (since it's the first section), but it also enables the backend
selection by the domain name.

Describe the autorun interaction with the domain name both in the config
file and in the manual.
2016-12-17 16:14:44 -08:00
Pavel Roskin
e65aa594e8 Make librfxcodec a subpackage
Since libpainter is going to become a subpackage, we can make librfxcodec
a subpackage as well.

With this change, librfxcodec is configured, built and linked to xrdp
automatically if enabled by "--enable-rfxcodec"

librfxcodec is packaged by "make dist" regardless of "--enable-rfxcodec"

librfxcodec/confgure is run unconditionally, it's needed for "make dist"
to work. But librfxcodec is only compiled if enabled.
2016-12-15 22:37:20 -08:00
jsorg71
d4e96f0c4c Merge pull request #531 from speidy/surface_cmds
xrdp_encoder: make RemoteFX work with MSTSC client
2016-12-15 21:26:41 -08:00
Jay Sorg
1f51586769 add libpainter for drawing when client does not have minimum orders 2016-12-15 21:17:50 -08:00
Westporch
2ea8eddc25 Sort alphabetically 2016-12-14 15:30:31 +09:00
Westporch
52081cb8bc Add 'rdp_layout_kr=kr' 2016-12-14 14:38:27 +09:00
Speidy
a0cf6030df Merge branch 'devel' of https://github.com/neutrinolabs/xrdp into surface_cmds 2016-12-12 15:51:39 -08:00
jsorg71
5966de4ee2 Merge pull request #536 from jsorg71/unicode
add unicode support
2016-12-11 17:15:34 -08:00
Jay Sorg
c264862afe change some magics to defines 2016-12-10 01:06:45 -08:00
Jay Sorg
2f8d3ba9da add unicode support 2016-12-10 00:11:28 -08:00
speidy
4f04801b11 o caps: advertise remotefx codec capsets only when supported (RFX mode,
proxy mode)
o xrdp_encoder: do not initialze encoder context for RFX when rfxcodec
is not supported
2016-12-10 02:03:20 -05:00
speidy
bb8b85759d xrdp_encoder: remove temporary workaround for RFX to avoid mstsc 2016-12-08 20:12:00 -05:00
speidy
8a0fec5e66 o send RFX tiles as stream (Stream Surface Bits Command)
o silent frame ack logging
o support surface commands in capsets
o fix some wrong constants
2016-12-08 20:12:00 -05:00
Pavel Roskin
9cfe477f60 Document xserverbpp, add it to Xvnc section, remove from Xorg section
xserverbpp affects X11rdp and Xvnc, but not Xorg. No need to have
xserverbpp in the Xorg section where it has no effect. Add commented out
xserverbpp to Xvnc, some users may want to experiment with that setting.
2016-12-06 14:40:38 -08:00
jsorg71
bbae1a98c6 Merge pull request #523 from jsorg71/vpf
vnc: change password file to use guid hash
2016-12-06 12:05:23 -08:00
Pavel Roskin
c759a1a645 Make configure show it's looking for "pixman", not "xrdp_pixman"
The pixman library in not part of xrdp. If users see that "xrdp_pixman"
is not found, they might assume it is some xrdp specific library.

The Automake conditional is still XRDP_PIXMAN, but the pkg-config
variables become PIXMAN_LIBS and PIXMAN_CFLAGS.
2016-12-04 19:38:45 -08:00
Jay Sorg
9a517b34f0 vnc: code cleanup 2016-12-04 15:39:10 -08:00
Jay Sorg
57905d71ad vnc: change password file to use guid hash 2016-12-03 23:12:48 -08:00
Itamar Reis Peixoto
fb892c7d80 Merge pull request #516 from metalefty/keymaps
Adjust Japanese keymaps
2016-12-02 15:22:04 -02:00
Koichiro IWAO
9c31bd5cc4 unify Japanese keymap in xrdp_keyboard.ini 2016-12-02 16:48:23 +09:00
speidy
1fe048b63d xrdp_encoder: do not initialize for non-UNIX rdp clients
xrdp_encoder: comment about temporary workaround
2016-11-29 15:25:14 -05:00
Jay Sorg
e8308d58b3 xrdp: do case insensitive compare for section names 2016-11-19 07:44:28 +00:00
Itamar Reis Peixoto
f7b0b0d89c Merge pull request #488 from metalefty/docs
Update man pages and config files
2016-11-17 23:12:49 -02:00
metalefty
b89956d06e Merge pull request #485 from proski/code-standards
Code standards
2016-11-16 17:05:21 +09:00
Pavel Roskin
5d2ce60340 Fix regression in domain to session type mapping
If no domain is passed, self->session->client_info->domain is an empty
string that is incorrectly treated as if the domain were passed by the
client.

The regression was introduced in fc753a95, when an incorrect check for
non-empty domain was added. That check was removed in 67119ecc based on
coverity report, leaving no trace of the original intention.

Check domain both for '_' and '\0' as the initial character. In either
case, select the first session type section in xrdp.ini.
2016-11-15 22:42:04 -08:00
Pavel Roskin
16c3bbdb8d Remove all tabs in sources 2016-11-15 22:40:06 -08:00
Koichiro IWAO
0a7f1bb007 docs: revise description for disableSSLv3 in xrdp.ini 2016-11-16 15:02:46 +09:00
Koichiro IWAO
d74366a6f2 config: change order of parameters
Put same layer configuration parameters together, bring low layer
parameters earlier.
2016-11-16 14:15:44 +09:00
Koichiro IWAO
cb1960e0fc config: use semicolon to comment out descriptions in config files
and use number sign to comment out actual configurations.
For example:

    ; if set to true, enables foobar
    #foobar=true
2016-11-16 14:15:44 +09:00
Koichiro IWAO
181830bf61 config: Capitalize section title to fit documents 2016-11-16 14:15:44 +09:00
Koichiro IWAO
4f2d94505a config: unify all boolean values in config to true/false 2016-11-16 14:15:44 +09:00
Jay Sorg
4f33a9db1d change xrdp.ini security_layer=negotiate and auto generate tls keys on make install 2016-11-11 22:55:21 -08:00
Koichiro IWAO
5725200e82 Use km-0000yyyy.ini if km-xxxxyyyy.ini doen't exist
upper 16 bits of keylayout value indicates keyboard layout.
lower 16 bits of keylayout value indicates country/language.

If the keymap file doesn't match exactly to keylayout value,
the typical keyboard of the country/language should be used.

For example [1]:
  0x00000409: US English
  0x00010409: US Dvorak
  0x00020409: US International
  0x00030409: US Dvorak for left hand
  0x00040409: US Dvorak for right hang
  0x0000040e: Hungarian
  0x0001040e: Hungarian 101-key

[1] https://msdn.microsoft.com/windows/hardware/commercialize/manufacture/desktop/windows-language-pack-default-values
2016-11-04 17:25:02 +09:00
Itamar Reis Peixoto
f94920171e Merge pull request #437 from metalefty/switch-to-8-hex-digit-keymap-file
Switch to 8 hex digit keymapfile
2016-11-02 01:14:19 -02:00
Pavel Roskin
61811466e2 Simplify names of xrdp.ini sections, rename "Session Manager" to "Xorg"
Make section names equal to the names in the "name=" setting to avoid
confusion and the need to renumber sections. Avoid "sesman-" in the
names, it's not helpful to the user. Move "Xorg" just below "X11rdp",
that would give xorgxrdp more visibility.
2016-11-01 13:38:42 -07:00
Koichiro IWAO
c654c86206 Switch to 8 hex digit keymapfile
as the value keyboardLayout is actually 32-bit unsigned integer.
See [MS-RDPBCGR] - v20160714 p.45.
2016-10-24 15:19:23 +09:00
Pavel Roskin
a370306f75 Get rid of EXTRA_LIBS, use variables with more specific names 2016-10-20 10:43:02 -07:00
Pavel Roskin
5c69f3cd57 Eliminate EXTRA_FLAGS, it's a poor name, use AM_LDFLAGS 2016-10-20 10:43:02 -07:00
Pavel Roskin
0422734fc7 Merge EXTRA_DEFINES and EXTRA_INCLUDES into AM_CPPFLAGS
AM_CPPFLAGS is a documented Automake variable for C preprocessor flags
that should not be overridden when compiling the package.

There is no need to have two additional variables that are ultimately
merged into AM_CPPFLAGS.

Their names are also confusing. EXTDA_DIST is a documented Automake
variable. Everything else that starts with "EXTRA" is not.
2016-10-20 10:43:02 -07:00
Pavel Roskin
09746fcebc Leave only one "autorun" in xrdp.ini, improve comment 2016-10-17 08:54:07 -07:00
Pavel Roskin
a618d4f757 Don't use final newline in log calls, it's already appended 2016-10-17 08:54:07 -07:00
Koichiro IWAO
ee3a38f93d xrdp: librfxcodc link fix
as same fix as done in 4a815d5 for libpainter
2016-10-13 14:07:53 +09:00
Jay Sorg
b24f8d8fef remove a debug message 2016-10-03 20:34:12 -07:00
Jay Sorg
409878666f xrdp: handle 3 byte PDU 2016-10-03 20:05:14 -07:00
Pavel Roskin
49ae93130a Improve message about listening socket is a wrong state 2016-09-08 20:26:19 -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
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
8353baab3d Merge pull request #390 from proski/june21
Cleanups and C++ compatibility
2016-08-05 14:38:41 -07: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
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
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
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
Pavel Roskin
77b380c0b5 Fix format warnings in log_message() calls 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
Pavel Roskin
ae5bb5bf9c Fix incorrect use of "it's" and "its", adjust wording 2016-06-21 16:30:15 -07:00
speidy
b38dcf1bb0 xrdp_wm: fix for multimon, draw login window and log window on primary
monitor
2016-05-17 20:11:49 -04:00
Jay Sorg
dd906c3fc8 remove tabs 2016-05-16 16:03:13 -07:00
Jay Sorg
d27270ab1f remove tabs 2016-05-16 15:59:25 -07:00
speidy
62799b8b10 xrdp_wm: in multimon scenario, draw log window and login window on
primary monitor
2016-05-12 17:20:32 -04:00
Pavel Roskin
b95dc9e12f Remove extraneous color initialization 2016-05-05 00:11:36 -07:00
Pavel Roskin
ca9cbcafc8 Typo fixes 2016-05-04 23:33:30 -07:00
Pavel Roskin
bd0b1acf79 Fix format warnings caused by g_writeln("") 2016-04-21 21:21:15 -07:00
Jay Sorg
dbf6bcc8be remove some warnings 2016-04-09 19:26:27 -07:00
Jay Sorg
6a692c96cf remove some warnings 2016-04-09 19:17:05 -07:00
NerdKnight
99ebe1340f Fix compile error "format not a string literal and no format arguments [-Werror=format-security]" 2016-03-28 14:55:20 -03:00
jsorg71
034ee36f9c Merge pull request #341 from proski/sanity-checks
Sanity checks
2016-03-16 20:51:58 -07:00
Jay Sorg
38241f2a0b Fix all format warnings and some unused variable warnings 2016-03-14 17:04:08 -07:00
Jay Sorg
7393579205 Don't attempt to intercept SIGKILL, it doesn't work on any OS 2016-03-14 16:33:49 -07:00
Pavel Roskin
e0a9c769e0 Be more specific in error messages about PID file location 2016-03-03 22:56:09 -08:00
Pavel Roskin
3eb495f425 Check if rsakeys.ini exists on startup, exit if it's missing 2016-03-03 22:56:08 -08:00
Pavel Roskin
86ec50789c Move all sanity checks to a separate function xrdp_sanity_check() 2016-03-03 22:56:08 -08:00
Pavel Roskin
7642675ddf Use "dist_" prefix to minimize use of EXTRA_DIST
"dist" is ignored in presense of "noinst", so keep noinst_man_MANS.
2016-02-22 22:11:57 -08:00
Pavel Roskin
59a5fb0ddb Move headers from EXTRA_DIST to sources, sort alphabetically
There should be no functional difference.
2016-02-21 23:06:48 -08:00
Pavel Roskin
92a6833e9b Fix typos 2016-02-13 20:41:07 -08:00
Pavel Roskin
81779ddb01 Use lowercase program names for syslog
Other programs typically use the same case as their execulables.
2016-02-13 18:14:42 -08:00
Pavel Roskin
dcab7552db Stop redefining libdir, use moduledir for ${libdir}/xrdp
libdir is for shared and static libraries. Some xrdp libraries are loaded
dynamically from a non-standard directory, so they are used like modules.

Having separate libdir and moduledir would eventually allow to separate
dynamically loaded modules from shared libraries.
2016-02-12 23:52:46 -08:00
Pavel Roskin
22e808a186 Add missing spaces in the strings that are split for line wrapping 2016-02-12 23:52:45 -08:00
Pavel Roskin
9717e7392a Spell "return value", not "returnvalue" 2016-02-07 23:14:27 -08:00
Pavel Roskin
eacfb00050 Declare xrdp_mm_frame_ack() in xrdp.h, it's used in xrdp_wm.c 2016-01-31 23:35:40 -08:00
Pavel Roskin
02c981e796 More spelling fixes found by codespell and aspell 2016-01-30 17:39:25 -08:00
Pavel Roskin
f8cb1588ef Replace "charactor" with "character" everywhere 2016-01-30 17:33:04 -08:00
Pavel Roskin
a452d8d36a Merge AM_CFLAGS and INCLUDES info AM_CPPFLAGS
AM_CPPFLAGS is for flags passed to the preprocessor, such as defines and
includes. AM_CFLAGS is for flags affecting the compiler, such as debug
and optimization settings.

INCLUDES is an obsolete name. Users can pass INCLUDES and break
compilation. AM_CPPFLAGS is more explicit that the flags come from
Automake and should not be overridden.
2016-01-29 22:45:00 -08:00
Pavel Roskin
ee1a237685 Remove GOT_PREFIX, it's a broken hack of limited utility
To add flags to the compiler, CFLAGS, CPPFLAGS or LDFLAGS can be used on
the configure command line.

The need to add flags depends on the location of the headers and
libraries of the dependencies, which is orthogonal to the directory where
xrdp will be installed.

The implementation in configure.ac has a stray closing bracket, making
GOT_PREFIX true even if --prefix is not passed.

The implementation is inconsistent - the only affected makefiles are for
xrdp and libxrdp.

Changing rpath manually is wrong in most cases. Libtool should be able to
set rpath correctly on its own.

Using $(prefix)/lib ignores the libdir setting. For many 64-bit systems,
/usr/lib is used for 32-bit libraries. Adding 32-bit libraries to the
rpath slows down 64-bit executables, as the dynamic loader searches for
libraries in a wrong directory.

There is no way to disable GOT_PREFIX if --prefix has to be passed.
Fedora RPM patches configure.ac and needs to rerun autoconf and automake
after that.
2016-01-26 22:36:59 -08:00
jsorg71
c6f27eb96c Merge pull request #304 from proski/devel
Minor fixes
2016-01-24 22:34:41 -08:00
Koichiro IWAO
16a284d1dc Drop exec permission of non executable files 2016-01-22 10:50:51 +09:00
Pavel Roskin
964e860072 Run through codespell 2016-01-14 08:47:50 -08:00
Jay Sorg
f49e2058df xrdp: change when using xrdp.ini hidelogwindow 2015-12-01 23:10:09 -08:00
Jay Sorg
418637f72d xrdp: fix --kill 2015-10-10 15:42:29 -07:00
Jay Sorg
fd793bd213 rename g_tcp_can_recv to g_sck_can_recv 2015-10-07 22:17:12 -07:00
Jay Sorg
6974dc5c6d remove some more generated files 2015-08-17 11:18:48 -07:00
itamarjp
960cc62a0e add missing files into extra_dist,
this is required when using make dist to generate a tarball
2015-07-14 11:35:33 -03:00
Jay Sorg
6c23b85593 add timeout to trans_get_wait_objs_rw 2015-07-13 01:10:48 -07:00
Jay Sorg
5d73cbd636 set the source for chansrv 2015-07-11 01:17:32 -07:00
Jay Sorg
4a553e07af update the module API 2015-07-10 21:57:04 -07:00
Jay Sorg
b56aa9832e work on main loop changes 2015-07-05 23:14:46 -07:00
Thomas Spalinger
04b729ccd1 finish for supporting swiss german keyboard 2015-04-19 16:33:26 -07:00
jsorg71
b55231f18a Merge pull request #226 from metalefty/freebsd/openpam
xrdp: xrdp_mm.c detect and use OpenPAM
2015-04-01 22:15:17 -07:00
Jay Sorg
33167a7c74 add frame acks and h264 codec mode basics 2015-03-28 18:34:25 -07:00
Koichiro IWAO
283a16115a xrdp: xrdp_mm.c detect and use OpenPAM
OpenPAM is used in FreeBSD, NetBSD, DragonFly BSD and Mac OS X.
On the Linux system, Linux-PAM is used.  Detect PAM during configure
and use which the system has.
2015-03-16 15:01:25 +09:00
Koichiro IWAO
ba2237a3c4 xrdp: fix -h -v option if xrdp.ini is invalid
- log_start should be called after help and version
- Fixes neutrinolabs/xrdp#33.
2015-03-10 23:10:00 +09:00
Akira Taniguchi
2fc1f3b811 xrdp_keyboard.ini: Fix jp keyboard model 2014-12-29 05:18:53 +09:00
Koichiro IWAO
2212991bd7 Add Japanese keymap codes in xrdp_keyboard.ini 2014-12-11 02:18:33 +09:00
Mike Rostermund
b3cc8f75d9 Fix spelling error and typo 2014-11-20 23:49:35 +01:00
jsorg71
c39d2b0912 Merge pull request #178 from mgorny/altgr-keymap
altgr+shift/capslock support in keymaps
2014-11-08 21:25:40 -08:00
Anthony Agresta
6ddc43c4fc vnc: Added delay_ms option. Fixes neutrinolabs/xrdp#182 2014-11-07 09:32:00 -05:00
jsorg71
dd00c8691c Merge pull request #173 from moobyfr/default-autorun-ini
Set a value for the default autorun session
2014-11-01 21:07:59 -07:00
Michał Górny
cc3231272d Install and enable 0415/pl keymap 2014-10-27 12:53:19 +01:00
Michał Górny
20a962b640 keymap: support combining shift & capslock with altgr
Add support for combining shift & caps lock keys with altgr so that
capital national characters can be written. There was some support for
shift+altgr in xrdp-keygen but it was never actually used.
2014-10-24 12:02:00 +02:00
BLINDAUER Emmanuel
4dcc186299 Set a value for the default autorun session 2014-09-21 09:26:30 +02:00
Jay Sorg
2badb31bf2 big endian fix 2014-09-20 19:29:10 -07:00
Jay Sorg
f73f314c2c no logic change, indent 2014-09-04 18:30:22 -07:00
jsorg71
0d63263772 Merge pull request #137 from ArvidNorr/choose_shortcutdev
support for preferred combo box choice added
2014-09-04 17:24:47 -07:00
Jay Sorg
4afe769467 xrdp: encoder shutdown fix 2014-08-19 15:46:28 -07:00
Jay Sorg
a6d71388c8 xrdp: add tcutils to xrdp.ini 2014-08-12 00:37:21 -07:00