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.
2017-07-06 13:40:25 +09:00
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.
2017-07-06 12:36:47 +09:00
Koichiro IWAO
5a7208a15b
sesman: exit with failure status if listen failed
2017-06-20 14:29:02 +09:00
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.
2017-06-20 13:40:05 +09:00
Koichiro IWAO
e1d11a74da
pulse: respect XRDP_SOCKET_PATH environment variable
2017-05-16 10:41:06 +09:00
Koichiro IWAO
1acef2567c
sesman: pass xrdp socket path to user session
...
via environment variable.
2017-05-16 10:41:06 +09:00
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.
2017-05-09 16:26:38 +09:00
Koichiro IWAO
10fe699466
pulse: define default socket directory in Makefile
2017-04-06 09:29:16 +09:00
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
2017-04-06 09:25:02 +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
Koichiro IWAO
8220afceab
pulse: refer correct path to file_loc.h
2017-03-24 13:49:21 +09:00
Koichiro IWAO
a20d88335f
pulse: use correct macro for audio in/out sockets
2017-03-24 13:49:21 +09:00
Jay Sorg
4b8a33e087
sesman: move auth/pam calls to main process
2017-03-21 21:56:28 -07:00
Pavel Roskin
b0c2f18521
xrdp-chansrv: default to INFO log level rather than ERROR
2017-03-20 19:11:06 -07:00
Jay Sorg
05c599666d
sesman: remove sessvc, one less process to manage
2017-03-19 17:16:36 -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
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.
2017-03-17 22:25:05 -07:00
speidy
cfdbc2b4db
chansrv: dvc, check channel exists on get/remove api struct
2017-03-16 00:20:10 +02:00
Pavel Roskin
6ed4c969f4
Eliminate APP_CC and DEFAULT_CC
2017-03-14 00:21:48 -07: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
Pavel Roskin
8a1de8dbc4
Remove trailing whitespace
2017-02-08 13:30:56 +09:00
Koichiro IWAO
f11eed3277
chansrv: fix warnings in pulse module
2017-02-02 21:46:49 -08:00
Pavel Roskin
99e4e4520a
xrdp-sesadmin: show sessions in human readable format
2017-02-02 21:24:50 -08:00
Pavel Roskin
ea6882fd4c
xrdp-sesadmin: refactor array access
2017-02-02 21:24:50 -08:00
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.
2017-02-02 21:24:50 -08:00
Koichiro IWAO
021b79ba55
docs: remove IdleTimeLimit until it is actually implemented
...
it gives users false hope and finally disappoints them.
2017-01-31 05:07:06 -03:00
Jay Sorg
a1aff316dc
change log message to long long
2017-01-29 23:14:33 -08:00
Jay Sorg
b5029c2596
sesman: fix warning for 32 bit / 64 bit log entry, trunc to 32 bit
2017-01-29 23:14:33 -08:00
metalefty
cc48345f40
sesman: remove unnecessary fork for FreeBSD ( #650 )
...
it is not only unnecessary but causes another bug.
2017-01-28 21:14:55 +09:00
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.
2017-01-26 23:02:41 -02:00
Pavel Roskin
e35b5a4708
Constify string arguments in xrdp-chansrv sources
2017-01-22 22:39:10 -08:00
Idan Freiberg
4a23b7939c
Merge pull request #630 from selu/devel
...
Fix calling XChangeProperty in clipboard provide
2017-01-23 08:16:18 +02:00
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.
2017-01-17 18:09:47 -08:00
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.
2017-01-17 15:18:23 +01:00
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.
2017-01-11 23:25:42 -08:00
Pavel Roskin
f1a521204a
Remove redundant function declarations
2017-01-11 23:25:42 -08:00
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.
2017-01-11 23:25:42 -08:00
Idan Freiberg
e08c85aa42
Merge pull request #618 from metalefty/max_disc_time
...
sesman: print max_disc_time as DisconnectedTimeLimit
2017-01-12 06:58:12 +02:00
Koichiro IWAO
c3fbd71513
sesman: print max_disc_time as DisconnectedTimeLimit
...
not max_idle_time.
2017-01-10 15:35:16 +09:00
Pavel Roskin
c049c3dfd0
rail: remove unneeded call to XGetWindowAttributes()
...
It is already called above "if" with the same arguments.
2017-01-06 11:24:17 -08:00
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".
2017-01-05 17:27:20 -08: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
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
volth
37b4a14b54
fix build with --enable-xrdpdebug=yes
2017-01-04 13:00:01 +00:00
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.
2016-12-19 23:58:13 -08:00
Idan Freiberg
a11af2bc95
Merge pull request #545 from moobyfr/fix-xauth
...
Fix xauth
2016-12-19 01:59:19 -05:00
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.
2016-12-18 09:24:11 -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
BLINDAUER Emmanuel
a2d7720887
Fix typo
2016-12-17 08:07:07 +01:00
BLINDAUER Emmanuel
1430c54c40
- Removed tailing space
...
- Fixed the copyright and year
2016-12-16 20:55:52 +01:00
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.
2016-12-15 22:45:12 +01:00
BLINDAUER Emmanuel
480d6d37b7
use correct include
2016-12-15 18:49:07 +01:00
BLINDAUER Emmanuel
51759d3d84
remove unused include
2016-12-15 18:38:37 +01:00
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
2016-12-15 18:06:35 +01:00
BLINDAUER Emmanuel
e72957b7c9
xauth: use the authfile if not using default value
2016-12-14 10:55:45 +01:00
BLINDAUER Emmanuel
7d1fdd04b5
Cosmetic change: follow coding standard
2016-12-14 08:28:25 +01:00
BLINDAUER Emmanuel
16b6471d88
use the correct size for snprintf
2016-12-14 07:16:06 +01:00
BLINDAUER Emmanuel
0aa4b85f81
Xauth: use snprintf for setting the filename and adjust the value of computed cookie
2016-12-14 00:29:22 +01:00
BLINDAUER Emmanuel
6875dbe860
use functions from os_call.h
2016-12-13 18:53:07 +01:00
BLINDAUER Emmanuel
7bd1823ceb
Add xauth support to get more security for all backends
2016-12-13 13:24:15 +01:00
Koichiro IWAO
35bc7c1d65
sesman: unbreak FreeBSD build after #523
2016-12-09 10:35:21 +09:00
metalefty
731d4be670
Merge pull request #521 from proski/xorg-log
...
Change default Xorg logfile to .xorgxrdp.%s.log
2016-12-09 09:45:47 +09:00
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.
2016-12-06 15:10:01 -08:00
Pavel Roskin
04414e0fd4
Disable privilege elevation by setuid for the X server
2016-12-06 15:09:52 -08:00
Jay Sorg
f14e3dc8ac
sesman: must save guid in session data
2016-12-04 17:20:01 -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
Pavel Roskin
e46d15ca84
Fix C++ errors and warnings in FUSE code
2016-11-26 09:17:51 -08:00
Pavel Roskin
2ab321a7c6
Use fuse_ino_t for FUSE inodes, not tui32 or int
2016-11-26 09:17:51 -08:00
Pavel Roskin
f622a17c75
Remove write-only FileId variable
2016-11-26 09:17:51 -08:00
Pavel Roskin
46f4025372
Cast pointer to uint64_t through tintptr to avoid warnings
...
Cast to long would damage a pointer on Win64.
2016-11-26 09:17:51 -08:00
Pavel Roskin
e92c4f3b40
Use constant strings to fix warnings
2016-11-26 09:17:51 -08:00
Pavel Roskin
662172012b
Call devredir_cvt_slash() on the path copy, it changes the argument
2016-11-26 09:17:51 -08:00
Pavel Roskin
a4e3952d65
Disable or remove dead code to prevent it from throwing warnings
2016-11-26 09:17:51 -08:00
Pavel Roskin
a547cc3784
Include needed files in chansrv_fuse.c, remove duplicate declarations
2016-11-26 09:17:51 -08:00
Pavel Roskin
bf39fed6e4
Fix misuse of NULL for arithmetic type
2016-11-26 09:17:51 -08:00
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.
2016-11-26 09:17:51 -08:00
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.
2016-11-21 22:37:41 -08:00
Pavel Roskin
7fce469cbc
Fix format warnings if FUSE is enabled
2016-11-21 17:51:20 +00:00
Jay Sorg
25fd585d55
chansrv: some fixes to log file path
2016-11-19 07:31:36 +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
9deaa078fc
Merge pull request #477 from proski/vnc-strerror
...
Improve error messages about VNC password file
2016-11-16 17:10:38 +09:00
metalefty
8516e6f97b
Merge pull request #476 from proski/auth
...
Fix compile warnings for non-default authentication methods
2016-11-16 17:08:15 +09:00
metalefty
b89956d06e
Merge pull request #485 from proski/code-standards
...
Code standards
2016-11-16 17:05:21 +09:00
metalefty
d335c93a75
Merge pull request #480 from proski/strncat
...
Fix potential buffer overflow in strncat() invocation
2016-11-16 17:02:33 +09:00
Pavel Roskin
35b336272b
Fix compilation with C++
2016-11-15 22:40:06 -08:00
Pavel Roskin
16c3bbdb8d
Remove all tabs in sources
2016-11-15 22:40:06 -08:00
Pavel Roskin
e9d064e390
Don't try to create .vnc directory if it exists
...
Report system error if it cannot be created.
2016-11-15 22:39:22 -08:00
Pavel Roskin
60029514a6
Report system error if the VNC password file cannot be created
2016-11-15 22:39:22 -08:00
Pavel Roskin
e9a0324cb3
Fix compile warnings for non-default authentication methods
...
Include string.h for strcmp(). Don't define _XOPEN_SOURCE, it conflicts
with libc headers and hides putpwent(). Make input strings constant. Fix
functions to match their declarations.
2016-11-15 22:38:56 -08:00
Pavel Roskin
92423a466e
Fix potential buffer overflow in strncat() invocation
...
strncat() will copy at most the specified number of characters and append
the null character on top of that. strlen() doesn't count the final null
character.
2016-11-15 22:38:21 -08: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
4f2d94505a
config: unify all boolean values in config to true/false
2016-11-16 14:15:44 +09:00
Pavel Roskin
0d72cced46
Omit numbers from the "param" keys, they are not needed
...
Users assume that they need to renumber the parameters. That makes
parameter editing more involved than it needs to be.
2016-11-15 20:55:03 -08:00
metalefty
94901c9989
Merge pull request #454 from metalefty/change-chansrv-log-path
...
chansrv: change chansrv log path to ${XDG_DATA_HOME}/xrdp
2016-11-07 09:56:31 +09:00
Dominik George
c90bc13d39
Move -logfile /dev/null option for easier commenting in debug scenarios.
2016-10-28 16:45:05 +02:00
Koichiro IWAO
7d017482f6
chansrv: change chansrv log path to ${XDG_DATA_HOME}/xrdp
...
like Xorg's logfile is written to ${XDG_DATA_HOME}/xorg/Xorg.n.log.
If XDG_DATA_HOME is not defined, the log path will be
${HOME}/.local/share/xrdp.
2016-10-25 14:52:43 +09:00
Pavel Roskin
b28a986071
Fix memory leak in xrdp-sesman on config reload
2016-10-21 20:15:50 +00:00