Commit Graph

799 Commits (c15cd91198b7393cf7c9d2576f1762a22acc017f)

Author SHA1 Message Date
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
Koichiro IWAO a20d88335f pulse: use correct macro for audio in/out sockets 8 years ago
Jay Sorg 4b8a33e087 sesman: move auth/pam calls to main process 8 years ago
Pavel Roskin b0c2f18521 xrdp-chansrv: default to INFO log level rather than ERROR 8 years ago
Jay Sorg 05c599666d sesman: remove sessvc, one less process to manage 8 years ago
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.
8 years ago
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.
8 years ago
speidy cfdbc2b4db chansrv: dvc, check channel exists on get/remove api struct 8 years ago
Pavel Roskin 6ed4c969f4 Eliminate APP_CC and DEFAULT_CC 8 years ago
Pavel Roskin 30a7a947b1 Don't include config_ac.h from any header files 8 years ago
Pavel Roskin b2d3dcf169 Include config_ac.h from all source files 8 years ago
Pavel Roskin 8a1de8dbc4 Remove trailing whitespace 8 years ago
Koichiro IWAO f11eed3277 chansrv: fix warnings in pulse module 8 years ago
Pavel Roskin 99e4e4520a xrdp-sesadmin: show sessions in human readable format 8 years ago
Pavel Roskin ea6882fd4c xrdp-sesadmin: refactor array access 8 years ago
Pavel Roskin 0017081d78 xrdp-sesadmin: fix crash on network or authentication error
If scp_v1c_mng_get_session_list() returns an error, report it to the
user and exit. Session list is not initialized in that case and should
not be freed.

g_free() already checks its argument for being to NULL, remove an extra
check.
8 years ago
Koichiro IWAO 021b79ba55 docs: remove IdleTimeLimit until it is actually implemented
it gives users false hope and finally disappoints them.
8 years ago
Jay Sorg a1aff316dc change log message to long long 8 years ago
Jay Sorg b5029c2596 sesman: fix warning for 32 bit / 64 bit log entry, trunc to 32 bit 8 years ago
metalefty cc48345f40 sesman: remove unnecessary fork for FreeBSD (#650)
it is not only unnecessary but causes another bug.
8 years ago
mirabilos 6257bae23f Add GNU/kFreeBSD support (#645)
* GNU/kFreeBSD is a FreeBSD variant, for code purposes.

* GNU/kFreeBSD uses GNU/Linux-ish init scripts, however.
8 years ago
Pavel Roskin e35b5a4708 Constify string arguments in xrdp-chansrv sources 8 years ago
Idan Freiberg 4a23b7939c Merge pull request #630 from selu/devel
Fix calling XChangeProperty in clipboard provide
8 years ago
Pavel Roskin 0a9b586332 Improve xrdp-sesman help text
Don't document "-ns", as "-n" and "--nodaemon" should be enough. Always
refer to the program as xrdp-sesman, not sesman.
8 years ago
Szabolcs Seláf bf4c32c862 Fix calling XChangeProperty in clipboard provide
XChangeProperty's last parameter is number of elements, not number of bytes as it's in https://tronche.com/gui/x/xlib/window-information/XChangeProperty.html
Because of this bug Paste did not work in any java applications.
8 years ago
Pavel Roskin 8ee886a5cc Don't log device_data_len in the code where it may be uninitialized
Log device_data_len only in the code that reads it.
8 years ago
Pavel Roskin f1a521204a Remove redundant function declarations 8 years ago
Pavel Roskin 9a2e728396 Remove send_channel_data() from devredir.h, it's declared in chansrv.h
Include "chansrv.h" from devredir.c to have send_channel_data()
declaration.
8 years ago
Idan Freiberg e08c85aa42 Merge pull request #618 from metalefty/max_disc_time
sesman: print max_disc_time as DisconnectedTimeLimit
8 years ago
Koichiro IWAO c3fbd71513 sesman: print max_disc_time as DisconnectedTimeLimit
not max_idle_time.
8 years ago
Pavel Roskin c049c3dfd0 rail: remove unneeded call to XGetWindowAttributes()
It is already called above "if" with the same arguments.
8 years ago
Pavel Roskin 6664aac00f Use "void" for empty argument list in declarations
In C, an empty argument list in a declaration means that the function
can accept any arguments. Use "void" instead, it means "no arguments".

C++ treats void and empty list as "no arguments".
8 years ago
jsorg71 15a24ff1c4 Merge pull request #612 from proski/includes
Use <> for system includes, move system includes above local ones
8 years ago
Pavel Roskin 7ba3610787 Use <> for system includes, move system includes above local ones 8 years ago
volth 26a26ef906 fix build with --enable-xrdpdebug=yes 8 years ago
volth 37b4a14b54 fix build with --enable-xrdpdebug=yes 8 years ago
Pavel Roskin a01aaa19b8 Fix help text to match the manual and the actual behavior
The help text mentions "LIST" and "KILL" commands, but the manual says
"list" and "kill", and the command line parser expects the later.
8 years ago
Idan Freiberg a11af2bc95 Merge pull request #545 from moobyfr/fix-xauth
Fix xauth
8 years ago
Pavel Roskin b1db87ea21 Use per-display VNC password files, remove old style password if found
Every session uses its own VNC password, so keep then in separate files.

The old style password file uses the user's password encrypted with a
known key. Since we are not replacing it anymore, we should remove it.
8 years ago
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.
8 years ago
BLINDAUER Emmanuel a2d7720887 Fix typo 8 years ago
BLINDAUER Emmanuel 1430c54c40 - Removed tailing space
- Fixed the copyright and year
8 years ago
BLINDAUER Emmanuel 2927eed74c - Update copyright
- remove test on filename for xauth as we know what we send
- better names for variables in xauth
- if xauth fails, exit sesman
- g_bytes_to_hexstr returns a null-teminated string, don't set it twice.
8 years ago
BLINDAUER Emmanuel 480d6d37b7 use correct include 8 years ago
BLINDAUER Emmanuel 51759d3d84 remove unused include 8 years ago
BLINDAUER Emmanuel b2f4f68ab8 - move function related to xauth in own file
- use of g_bytes_to_hexstr()
- correct typos and coding syntax
- don't create auth file, xauth can do that if needed
8 years ago
BLINDAUER Emmanuel e72957b7c9 xauth: use the authfile if not using default value 8 years ago
BLINDAUER Emmanuel 7d1fdd04b5 Cosmetic change: follow coding standard 8 years ago
BLINDAUER Emmanuel 16b6471d88 use the correct size for snprintf 8 years ago
BLINDAUER Emmanuel 0aa4b85f81 Xauth: use snprintf for setting the filename and adjust the value of computed cookie 8 years ago
BLINDAUER Emmanuel 6875dbe860 use functions from os_call.h 8 years ago
BLINDAUER Emmanuel 7bd1823ceb Add xauth support to get more security for all backends 8 years ago
Koichiro IWAO 35bc7c1d65 sesman: unbreak FreeBSD build after #523 8 years ago
metalefty 731d4be670 Merge pull request #521 from proski/xorg-log
Change default Xorg logfile to .xorgxrdp.%s.log
8 years ago
Pavel Roskin 9cbf3d1bb8 Change default Xorg logfile to .xorgxrdp.%s.log
The log file is created in the home directory, %s is replaced with the
display number (e.g. 10).

If Xorg is run setuid root, it can refuse to run if the log path is
absolute.
8 years ago
Pavel Roskin 04414e0fd4 Disable privilege elevation by setuid for the X server 8 years ago
Jay Sorg f14e3dc8ac sesman: must save guid in session data 8 years ago
Jay Sorg 9a517b34f0 vnc: code cleanup 8 years ago
Jay Sorg 57905d71ad vnc: change password file to use guid hash 8 years ago
Pavel Roskin e46d15ca84 Fix C++ errors and warnings in FUSE code 8 years ago
Pavel Roskin 2ab321a7c6 Use fuse_ino_t for FUSE inodes, not tui32 or int 8 years ago
Pavel Roskin f622a17c75 Remove write-only FileId variable 8 years ago
Pavel Roskin 46f4025372 Cast pointer to uint64_t through tintptr to avoid warnings
Cast to long would damage a pointer on Win64.
8 years ago
Pavel Roskin e92c4f3b40 Use constant strings to fix warnings 8 years ago
Pavel Roskin 662172012b Call devredir_cvt_slash() on the path copy, it changes the argument 8 years ago
Pavel Roskin a4e3952d65 Disable or remove dead code to prevent it from throwing warnings 8 years ago
Pavel Roskin a547cc3784 Include needed files in chansrv_fuse.c, remove duplicate declarations 8 years ago
Pavel Roskin bf39fed6e4 Fix misuse of NULL for arithmetic type 8 years ago
Pavel Roskin 4234ed278e Use FUSE_CFLAGS and FUSE_LIBS from pkg-config
Include <fuse_lowlevel.h>, not <fuse/fuse_lowlevel.h>, the include path
should be set up for that.

Don't define _FILE_OFFSET_BITS in one file, FUSE_CFLAGS would enable it
for the whole xrdp-chansrv build if needed.
8 years ago
Pavel Roskin 15c4c47811 Remove "-ac" from X server parameters, it's insecure and unnecessary
Fedora patches sesman.ini to remove "-ac", and that doesn't cause any ill
effects.
8 years ago
Pavel Roskin 7fce469cbc Fix format warnings if FUSE is enabled 8 years ago
Jay Sorg 25fd585d55 chansrv: some fixes to log file path 8 years ago