Commit Graph

3375 Commits

Author SHA1 Message Date
Koichiro IWAO 037d4eeece
sesman: fix leak in struct config_sesman 2018-06-13 17:20:03 +09:00
metalefty 91c5ee4475
Merge pull request #1142 from metalefty/dont-spit-on-the-console-sesman
Dont spit on the console (sesman)
2018-06-11 11:56:40 +09:00
Koichiro IWAO 2262f1361f
sesman: close stdout/stderr earlier
not to spit on the console
2018-06-05 00:19:36 +09:00
Koichiro IWAO 6ae3052a0f
sesman: don't spit on the console when starting
As the Debian patch[1] expresses, spitting messages on the console when
a process starts in background is a bad idea. Everything should be
written to log file and daemon should start silently. This is a first
step to shut up daemons.

Got some idea from Debian Remote Maintainers and Thorsten Glaser,
thanks!

[1] 2751ad4d62/debian/patches/shutup-daemon.diff
2018-06-05 00:19:36 +09:00
Koichiro IWAO 19fa26a27e
sesman: don't print config in reader function
reader function should just read. Add config_dump function to print read
config.
2018-06-05 00:19:35 +09:00
Koichiro IWAO de33a7832e
sesman: s/XOrg/Xorg/g, no logic change
X.Org is usually spelled X.Org or Xorg.
2018-06-05 00:19:35 +09:00
Koichiro IWAO e4857b13fa
sesman: config_read_logging function no longer exists 2018-06-05 00:19:33 +09:00
matt335672 cde5b09129 Copy the PAM session environment for the reconnect script
This provides access to variables set at login which may be
required by the script (e.g. KRB5CCNAME)
2018-05-31 10:54:38 +01:00
Koichiro IWAO 72b5088449
FreeBSD: separate rc script into xrdp and xrdp-sesman
to improve fscd(8)[1] compatibility. fscd(8) monitors daemons and
restarts after daemons crashed. We usually want to start, stop, and
restart xrdp and xrdp-sesman separately because restarting xrdp-sesman
means losing existing sessions. This change will enable fscd(8) not to
restart xrdp-sesman together when only xrdp daemon crashes.

Now rc.d/xrdp mainly has following commands:

* start      - starts xrdp
* stop       - stops xrdp
* restart    - stops xrdp, then starts it again
* allstart   - starts both xrdp and xrdp-sesman
* allstop    - stops both
* allrestart - stops both, then start them again
* status     - returns status of xrdp

rc.d/xrdp-sesman doesn't have all- prefixed commands.

[1] https://www.freshports.org/sysutils/fsc/
2018-05-30 01:27:23 +09:00
jsorg71 57015aa088
Merge pull request #1132 from daixj-shterm/devel
fix issue #1112: set SSL object's read_ahead flag to be 0
2018-05-27 01:09:14 -07:00
Jay Sorg f6d3fd46b6 don't remove configure_params.h on make clean, only make distclean 2018-05-27 01:05:08 -07:00
Jay Sorg 04a5a0582e distclean remove configure_params.h 2018-05-25 22:17:31 -07: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
daixj 88b3c06311 fix issue #1112: set SSL object's read_ahead flag to be 0 2018-05-21 11:08:41 +08:00
metalefty a1576ccbf7
Merge pull request #1126 from metalefty/strict-locations
configure: set default value for enable_strict_locations
2018-05-12 12:28:57 +09:00
Koichiro IWAO 9d8816b41b
configure: set default value for enable_strict_locations
This change prints yes or no to configure summary introduced in #1118.
2018-05-10 18:28:34 +09:00
Jay Sorg 0f89820351 echo configure summary 2018-05-02 15:33:01 -07:00
metalefty 39b664fc27
Merge pull request #1108 from aiden0z/devel
sesrun support start other session based on session_code argument
2018-04-22 13:45:18 +09:00
Aiden Luo 7864f9d692 sesrun support start other session based on session_code argument 2018-04-20 18:11:27 +08:00
metalefty 711750f798
Merge pull request #1107 from metalefty/sesman-xorg-wrapper
sesman: Update Xorg help comment for Arch Linux
2018-04-20 08:38:16 +09:00
metalefty b522fb4a2f
Merge pull request #1104 from metalefty/remove-x11rdp
Remove x11rdp
2018-04-19 01:46:31 +09:00
Koichiro IWAO 819c506d26
sesman: Update Xorg help comment for Arch Linux
As reported in #1106, Arch Linux looks to me like using Xorg wrapper now.
2018-04-19 01:21:54 +09:00
metalefty 6148f0e491
Merge pull request #1103 from metalefty/docs
docs: '!' is no longer a comment out symbol
2018-04-18 08:32:08 +09:00
Koichiro IWAO eb6ba23325
Remove x11rdp from README and EXTRA_DIST 2018-04-17 13:34:38 +09:00
Koichiro IWAO 2ad5df96a3
Remove x11rdp from xrdp repository
Now x11rdp is replaced with xorgxrdp. Deprecating it.
Repository moved to https://github.com/neutrinolabs/x11rdp.
2018-04-17 13:26:18 +09:00
Koichiro IWAO d103e1d83d
docs: '!' is no longer a comment out symbol 2018-04-17 10:57:52 +09: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
Fernando Seiti Furusato 9f80fcd74e Corrected endianness detection on ppc64el.
In common/arch.h, the endianness detection considers all powerpc
architectures as big endian. Since that is not true for ppc64el, I
added a verification that checks other preprocessor macros, only for
ppc cases.

Signed-off-by: Fernando Seiti Furusato <ferseiti@gmail.com>
2018-03-27 13:45:58 +09:00
Boris Bopp 31fc125e42 Configure.ac: Add missing macos option for pam config 2018-03-27 12:42:51 +09:00
Boris Bopp e875cd2af5 instfiles: Add pam.d config for arch linux. 2018-03-27 12:42:51 +09:00
Koichiro IWAO 37d5430123
Update README a little bit 2018-03-26 11:11:51 +09:00
Koichiro IWAO af57e191df
Bump version to v0.9.6 2018-03-26 11:11:51 +09:00
Koichiro IWAO 5f4130805f
Update NEWS for v0.9.6 2018-03-26 11:11:51 +09:00
Koichiro IWAO a63c411772
sesman: rename vnc password file, just a cosmetic change 2018-03-23 19:16:10 +09:00
Jay Sorg e40f0dc7e2 sesman: add hostname to vnc password file 2018-03-23 15:48:25 +09:00
Koichiro IWAO 780ba744f6
Revert "devredir: fix xinode leak"
This reverts commit 5daa09171e.

Causes "double free". Fix #990 was not correct.

```
[1271363627]: DEV_REDIR  dev_redir_proc_device_iocompletion: 738 : entered: IoStatus=0x0 CompletionId=1
[1271363627]: DEV_REDIR  dev_redir_proc_device_iocompletion: 839 : got CID_DIRECTORY_CONTROL
[1271363627]: DEV_REDIR  dev_redir_proc_query_dir_response: 933 : processing FILE_DIRECTORY_INFORMATION structs
[1271363627]: DEV_REDIR  dev_redir_proc_query_dir_response: 968 : FileName:          .
[1271363627]: DEV_REDIR  devredir_fuse_data_peek: 1335 : returning 0x7f2a9c013410
*** Error in `/usr/sbin/xrdp-chansrv': double free or corruption (out): 0x00007f2a9c13a330 ***
```

Closes: #1025
2018-03-23 11:40:52 +09:00
speidy a432969746 common: ssl_calls: add support for OpenSSL>=1.1.0 API for DH keys
also fixes some memory leak introduced in PR#1024.
and adds a check that DH params generated successfully. write a proper log message if not.
2018-03-22 02:20:47 +02:00
speidy 8effc09ab7 common: ssl_calls: check if SSL object created right after its creation. 2018-03-21 08:16:12 +02:00
Koichiro IWAO e3d0fd6d46
common: temporarily disable DHE
until make it possible to use generated DH parameters per installation.
2018-03-18 21:14:06 +09:00
Koichiro IWAO 97c21bc972 sesman: default startwm.sh should use bash
as it sources bash_profile. And add comments.
Closes #1009.
2018-03-09 14:24:17 +09: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
Koichiro IWAO 1690950cc8
common: regenerate dhparam
Generated by: openssl dhparam -C 2236
2018-03-01 13:48:22 +09:00
Koichiro IWAO 578d23477c
common: obey coding style, remove trailing space 2018-03-01 12:11:52 +09:00
Enrico Tagliavini 70b5adb396 add support for DHE ciphers via compiled in dhparam
make it possible to use regular (non EC) EDH ciphers. To make this
possible a Diffie-Hellman parameter must be passed to the openssl
library. There are a few options possible as described in the manuals at
[1] and [2]. Simplest approach is to generate a DH parameter using
openssl dhparam -C <lenght> and include the code into the application.
The lenght used for this commit is 2236 bits long, which is the longest
possible without risking backward incompatibilities with old systems as
stated in [1]. Newer systems should use ECDH anyway, so it makes sense
to keep this method as compatible with older system as possible.
Paramters longer than 2048 should still be secure enough at the time of
writing.

[1] https://wiki.openssl.org/index.php/Diffie-Hellman_parameters
[2] https://wiki.openssl.org/index.php/Manual:SSL_CTX_set_tmp_dh_callback(3)
2018-03-01 09:57:35 +09:00
Enrico Tagliavini 6cdc0f31b0 enable automatic ECDH when possible (openssl 1.0.2)
Openssl 1.1.0 and later are enabling ECDH automatically, but for older
version it must be enabled explicitly or all Perfect Forward Secrecy
ciphers will be silently ignored. See also [1]. This commit applies the
same fix as found in CnetOS 7 httpd package to enable automatic ECDH as
found in [2].

[1] https://wiki.openssl.org/index.php/Diffie-Hellman_parameters
[2] https://git.centos.org/blob/rpms!httpd.git/c7/SOURCES!httpd-2.4.6-ssl-ecdh-auto.patch
2018-03-01 09:57:35 +09:00
Koichiro IWAO 793a418cfb
common: log what value is set to tls_ciphers
Related to #1033.
2018-02-20 13:13:37 +09:00