Commit Graph

770 Commits (f6d3fd46b63ed5d08d13ff6622633d520fe8469d)

Author SHA1 Message Date
metalefty 39b664fc27
Merge pull request #1108 from aiden0z/devel
sesrun support start other session based on session_code argument
7 years ago
Aiden Luo 7864f9d692 sesrun support start other session based on session_code argument 7 years ago
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.
7 years ago
Koichiro IWAO a63c411772
sesman: rename vnc password file, just a cosmetic change 7 years ago
Jay Sorg e40f0dc7e2 sesman: add hostname to vnc password file 7 years ago
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
7 years ago
Koichiro IWAO 97c21bc972 sesman: default startwm.sh should use bash
as it sources bash_profile. And add comments.
Closes #1009.
7 years ago
Vraiment fd37805ac0 Make sesman.ini dynamic for the location of the configuration file 7 years ago
Koichiro IWAO c50015122c
FreeBSD: rework setsid code
Pull request #650 is not valid to avoid run session twice.
It certainly stops running session twice but causes #1016.

In FreeBSD, sesman process will run like this. The intermediate
sesman is needed to detect session termination correctly.

xrdp-sesman (daemon)
    |
    +- xrdp-sesman (FreeBSD specific intermediate sesman)
        |
        +- xrdp-sesman (bsd sesion leader & each session)
             |
             +- Xorg
             +- startwm.sh
             +- xrdp-chansrv

To stop runninng session twice correctly, just exit before the
intermediate sesman executes Xorg, WM and chansrv.
7 years ago
Koichiro IWAO e16029cbc2
fix leak of SCP_DISCONNECTED_SESSION
Pointed out by: #919
7 years ago
Koichiro IWAO 5daa09171e
devredir: fix xinode leak
Pointed out by: #919
7 years ago
Koichiro IWAO 08f847d74b
sesman: refactor, change variable names
session_variables1 -> env_names
session_variables2 -> env_values

Use the name used in callee function env_set_user(). The former names
are not clear.
7 years ago
Koichiro IWAO dcf64e43ca
remove trailing space 7 years ago
Koichiro IWAO f2db57afb0
fix indent 7 years ago
matt335672 3f2a017c97 Make listen check before daemon fork 7 years ago
Dominik George 53eccc93a2 Simplify pulseaudio module build instructions 7 years ago
Koichiro IWAO 93481365d1 pulse: replace old pulse notes with bran-new README 7 years ago
Dominik George 3244cb59d5 Fix memory corruption introduced by CVE-2017-16927 fix. 7 years ago
Koichiro IWAO d8bb32541a sesman: bring Xorg at the top in sesman.ini
as Xorg prefered recommended backend now. Add more comments.
7 years ago
Koichiro IWAO 64a0deb9cf sesman: comment on non-suid Xorg in sesman.ini
Pointed out by: #923
7 years ago
speidy d958d1f018 sesman: scpv0, accept variable length data fields 7 years ago
Koichiro IWAO 929a7c359d chansrv: add LOG_LEVEL_TRACE here, too 7 years ago
Koichiro IWAO 3d29b6ec76 sound: g_bbuf_size should be determined after codec is determined
Fixes #910, if both client and server support more than one codecs,
g_bbuf_size might be set to wrong value.
7 years ago
Koichiro IWAO 26394870e5 sesman: delete socket files when session exits 8 years ago
Jay Sorg d9b929c185 chansrv: sound, fdk-aac, avoid 1 item array items 8 years ago
Jay Sorg 152318ad7c use pkg-config to configure with fdk-aac 8 years ago
Jay Sorg 4f91a52109 chansrv: sound, remove a do not know and a comment 8 years ago
Jay Sorg 021a78f4c6 chansrv: sound, use WAVE_FORMAT_AAC not WAVE_FORMAT_AAC_MS 8 years ago
Jay Sorg bf0d56c314 chansrv: sound, add aac 8 years ago
Jay Sorg 8ac35d7ed1 chansrv: sound, handle skips in audio acks 8 years ago
matt335672 4023aa7f1c xfuse_create_share() called before xfuse_init()
* Initialise inode table in `xfuse_create_share()` if necessary
* Add guard to `xfuse_init_xrdp_fs()` to prevent double initialisation of the inode table
8 years ago
Koichiro IWAO 05ef6d104e sesman: search pam files also in ${sysconfdir}/pam.d
as some operating system such as FreeBSD searches not only `/etc/pam.d`
but also `/usr/local/etc/pam.d` [1].

[1] https://www.freebsd.org/cgi/man.cgi?query=pam.d&sektion=5
8 years ago
Koichiro IWAO e990dd4263 chansrv: remove trailing space 8 years ago
Koichiro IWAO ca24572fd5 chansrv: use switch-case to support more codecs 8 years ago
Koichiro IWAO dbaf23e93b chansrv: constify wFormatTag 8 years ago
Ian Geiser 4b87548b71 Use g_create_path instead of g_create_dir
Rename g_mk_temp_dir to g_mk_socket_path
8 years ago
Koichiro IWAO 858e6149f0 fix typo 8 years ago
Koichiro IWAO 6f8eacd72b sesman: make sure socket directory present
before try to create a domain socket.
Originally proposed by Ian Geiser (geiseri).
8 years ago
Jay Sorg b6bd8acef1 sesman: move auth_start_session, auth_stop_session, and auth_end to child process 8 years ago
Ben Cohen c7d08bd9e7 xrdp-sesadmin: fix error when there are no sessions
Test case:  On a system running xrdp with no sessions running run:

  xrdp-sesadmin -u=<user> -p=<password> -c=list

Expected result: "No sessions." (ignoring debug output)
Observed result: "Error getting session list."

In the SCP_SERVER_STATE_MNG_LISTREQ case in scp_v1_mng_process() if
there are no sessions it ends the scp session, which causes an error in
the client.  In commit 0017081d the client was changed to report errors,
giving the result above.

Fix by calling scp_v1s_mng_list_sessions() from scp_v1_mng_process()
even when there are no sessions, and if so sending a packet with a count
of zero so that the client gets what it expects.
8 years ago
Koichiro IWAO 9065964bd9 chansrv: include display number in chansrv log filename
since xrdp-chansrv may be run multiple instances per user. For example,
Xvnc backend creates one session per screen geometry.
8 years ago
Koichiro IWAO 5a7208a15b sesman: exit with failure status if listen failed 8 years ago
Koichiro IWAO 6a860d4b02 sesman: install empty reconnectwm.sh as a template
as it was undocumented and few people know reconnectwm.sh is executed on
client reconnect. The behaviour of startwm.sh / reconnectwm.sh  should
be documented. This is a first step of documenting them.
8 years ago
Koichiro IWAO e1d11a74da pulse: respect XRDP_SOCKET_PATH environment variable 8 years ago
Koichiro IWAO 1acef2567c sesman: pass xrdp socket path to user session
via environment variable.
8 years ago
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.
8 years ago
Koichiro IWAO 10fe699466 pulse: define default socket directory in Makefile 8 years ago
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
8 years ago
Pavel Roskin 148afd1170 Rename file_loc.h to xrdp_sockets.h, install it
Include xrdp_sockets.h directly, not through headers.
8 years ago
Koichiro IWAO 8220afceab pulse: refer correct path to file_loc.h 8 years ago