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
Itamar Reis Peixoto
f7b0b0d89c
Merge pull request #488 from metalefty/docs
...
Update man pages and config files
8 years ago
metalefty
9deaa078fc
Merge pull request #477 from proski/vnc-strerror
...
Improve error messages about VNC password file
8 years ago
metalefty
8516e6f97b
Merge pull request #476 from proski/auth
...
Fix compile warnings for non-default authentication methods
8 years ago
metalefty
b89956d06e
Merge pull request #485 from proski/code-standards
...
Code standards
8 years ago
metalefty
d335c93a75
Merge pull request #480 from proski/strncat
...
Fix potential buffer overflow in strncat() invocation
8 years ago
Pavel Roskin
35b336272b
Fix compilation with C++
8 years ago
Pavel Roskin
16c3bbdb8d
Remove all tabs in sources
8 years ago
Pavel Roskin
e9d064e390
Don't try to create .vnc directory if it exists
...
Report system error if it cannot be created.
8 years ago
Pavel Roskin
60029514a6
Report system error if the VNC password file cannot be created
8 years ago
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.
8 years ago
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.
8 years ago
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
8 years ago
Koichiro IWAO
4f2d94505a
config: unify all boolean values in config to true/false
8 years ago
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.
8 years ago
metalefty
94901c9989
Merge pull request #454 from metalefty/change-chansrv-log-path
...
chansrv: change chansrv log path to ${XDG_DATA_HOME}/xrdp
8 years ago
Dominik George
c90bc13d39
Move -logfile /dev/null option for easier commenting in debug scenarios.
8 years ago
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.
8 years ago
Pavel Roskin
b28a986071
Fix memory leak in xrdp-sesman on config reload
8 years ago
Pavel Roskin
dc60a80b86
Memory leak fix: keep X server path in the parameter list
...
g_cfg->xorg_params, g_cfg->vnc_params and g_cfg->rdp_params don't have
auto_free enabled, so removing an item from one of those lists won't free
its contents.
It's better not to change those lists, as they represent the actual
config file and could be reused. Instead, omit the 0th parameter (the
executable path) from copying to xserver_params.
Found by Valgrind.
8 years ago
Pavel Roskin
e17a56efb6
Call auth_end() exactly once in scp_v0_process()
...
As discovered by Valgrind, it wasn't called at all in case of a
successful session creation, which leaked memory.
8 years ago
Pavel Roskin
65ac8e758b
Fix memory leak: free session data
...
Call scp_session_destroy() in the functions that call
scp_session_create() and nowhere else.
As found by Valgrind, the session data is not freed if the session is
created successfully.
8 years ago
Pavel Roskin
a370306f75
Get rid of EXTRA_LIBS, use variables with more specific names
8 years ago
Pavel Roskin
5c69f3cd57
Eliminate EXTRA_FLAGS, it's a poor name, use AM_LDFLAGS
8 years ago
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.
8 years ago
Pavel Roskin
6fef1e4eb5
Use const pointers in function arguments when possible
8 years ago
Pavel Roskin
c3b99de739
Fix wrong comments in sesman config printing code
8 years ago
Pavel Roskin
bf08892622
Fix incorrect description of auth_userpass() return value
8 years ago
Pavel Roskin
a618d4f757
Don't use final newline in log calls, it's already appended
8 years ago
Pavel Roskin
424cef464b
Log malloc errors with LOG_LEVEL_ERROR
8 years ago
Pavel Roskin
945833a94f
Don't close socket in scp_process_start(), the caller closes it
8 years ago
Pavel Roskin
f7c27f05cf
g_term_event is a wait object, not TCP socket, delete it correctly
8 years ago
Pavel Roskin
931fb90832
sesrun: remove unused g_sck and write-only g_pid
8 years ago
Pavel Roskin
d605310bdc
sesman: don't close listening socket in signal handler
...
It is closed when the main loop terminates.
8 years ago
Koichiro IWAO
9f277e4445
chansrv: pathname also should be URL decoded
...
because 1st argument to clipboard_get_file() is given as URL encoded.
Decoding only filename is incomplete.
Without this fix, clipboard file doesn't work in case pathname
contains non-ASCII characters or non-alphanumeric ASCII characters.
8 years ago
jsorg71
8353baab3d
Merge pull request #390 from proski/june21
...
Cleanups and C++ compatibility
8 years ago
jsorg71
81fe939dd3
Merge pull request #388 from metalefty/freebsd/fuse
...
sesman: Add /sbin to PATH for FreeBSD
8 years ago
speidy
f2addd346f
Merge branch 'devel' of https://github.com/neutrinolabs/xrdp into devel
9 years ago
speidy
c9b55e3691
sesman: env_set_user, fix potential bof issues
9 years ago
Kentaro Hayashi
8f3fb2f7c8
chansrv: avoid chansrv SEGV when xinode is NULL
...
When xfuse_create_file_in_xrdp_fs is failed, it returns NULL.
Without this fix, xinode->size causes SEGV, so implementation is changed
to return -1 and check the return value in caller.
9 years ago
Jay Sorg
9ccbfb6985
chansrv: added mp3 compression from Speidy
9 years ago
Pavel Roskin
2c13ef5c6d
Use enum logLevels consistently for log levels
9 years ago
Pavel Roskin
cbe413bd8b
Fix return type of devredir_fuse_data_peek and devredir_fuse_data_dequeue
9 years ago
Pavel Roskin
c5ca0332be
Use cast when applying boolean OR to enum
9 years ago
Pavel Roskin
d1efb0d5ba
Fix signed to unsigned comparisons reported by g++ 6.1.0
9 years ago
Pavel Roskin
5829323ad8
Use g_new or g_new0 when C++ compiler would complain about implicit cast
9 years ago
Pavel Roskin
bde4925f0e
Cast appdata_ptr explicitly, needed for C++ compatibility
9 years ago
Pavel Roskin
4b05bb2ebd
Mark g_drdynvc_chan_id as extern in g_drdynvc_chan_id, it's in chansrv.c
9 years ago
Pavel Roskin
aaa89ad4e6
Use const unsigned for hex arrays
...
Some constants are too big for the signed type.
9 years ago
Pavel Roskin
aeeb3d2c2e
Fix warnings detected by -Wwrite-strings
9 years ago
Pavel Roskin
951e632757
Make program_name constant, don't duplicate or free it
9 years ago
Pavel Roskin
b00ca6e03d
Remove commented out config_read_logging(), the code is long dead
9 years ago
Pavel Roskin
1ded8ec437
Remove unused string support in scp_session_set_addr()
...
Using the same argument for binary and text data is not a good idea. If
string support is ever needed, it should be a separate function.
Remove SCP_ADDRESS_TYPE_IPV4_BIN and SCP_ADDRESS_TYPE_IPV6_BIN, use
SCP_ADDRESS_TYPE_IPV4 and SCP_ADDRESS_TYPE_IPV6, which simplifies the
code.
9 years ago
Pavel Roskin
f908528a00
Downgrade "libscp initialized" to LOG_LEVEL_DEBUG, remove line number
...
It's a bad style to start the log with a cryptic warning.
9 years ago
Pavel Roskin
f7ef9bb938
Fix scp_init() invocation, it takes no arguments
9 years ago
Pavel Roskin
77b380c0b5
Fix format warnings in log_message() calls
9 years ago
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.
9 years ago
Pavel Roskin
a77ae440a7
Rename SESMAN_CFG_X11DISPLAYOFFSET to SESMAN_CFG_SESS_X11DISPLAYOFFSET
...
Move it to other session options in config.h. X11DisplayOffset is part of
the [Sessions] section.
9 years ago
Pavel Roskin
ae5bb5bf9c
Fix incorrect use of "it's" and "its", adjust wording
9 years ago
Koichiro IWAO
c0ac8251f7
sesman: Add /sbin to PATH for FreeBSD
...
to enable to execute FUSE mount program.
The place of FUSE mount programs are:
FreeBSD : /sbin/mount_fusefs
GNU/Linux : /bin/fusermount
See also #387 .
9 years ago
Pavel Roskin
1403652c72
Remove unused variable in devredir_cvt_from_unicode_len()
9 years ago
Pavel Roskin
f2d326cbed
Remove unused variables from dev_redir_proc_query_dir_response()
9 years ago
Pavel Roskin
0dd0426e6f
Check XGetWindowProperty() return code in clipboard_event_property_notify()
9 years ago
Pavel Roskin
72019d3611
Use better symbols to protect include files
9 years ago
Pavel Roskin
ca9cbcafc8
Typo fixes
9 years ago
jsorg71
fdb146740f
Merge pull request #360 from proski/format-warnings
...
Warning fixes
9 years ago
Pavel Roskin
f93074a430
Add unnamed semaphore support on Mac OS
...
sem_init() is not functional on Mac OS. Use the Grand Central Dispatch
implementation.
Make libscp_lock.c use semaphores through the thread_calls wrapper.
9 years ago
Pavel Roskin
70f3d4c5e2
Fix warnings for unused variables read from byte streams
9 years ago
Pavel Roskin
95e1603f9d
Fix recently introduced warnings in session.c
...
Use of tabs is fixed as well.
9 years ago
Pavel Roskin
0629b25d5f
Fix warnings about unused variables and functions
9 years ago
Pavel Roskin
e65bd6b7d7
Fix more format warnings
9 years ago
jsorg71
00a11f77ce
Merge pull request #359 from metalefty/sesman/configurable-xserver-path
...
sesman: do not hardcode Xorg/X11rdp/Xvnc executables
9 years ago
Koichiro IWAO
cfdce461c3
Do not attempt to trap SIGKILL part 2
...
it doesn't work on any OS.
9 years ago
Koichiro IWAO
cf2b629462
sesman: do not hardcode Xorg/X11rdp/Xvnc executables
...
In RHEL and its clones, /usr/bin/Xorg is set suid-root. To execute
Xorg with user privileges, /etc/pam.d/xserver needs be edited [1],
or suid bit of Xorg binary needs to be dropped.
In order to keep Xorg and /etc/pam.d/xserver untouched, preparing
non-suid version of Xorg as /usr/bin/Xorg.non-suid for example is
the simplest solution. However, Xorg.non-suid cannot be executed
since it is hardcoded to execute Xorg in sesman.
This change makes more flexible to execute Xorg with non-standard
name or not in PATH environment variable.
[1] https://www.centos.org/forums/viewtopic.php?t=21185
9 years ago
Koichiro IWAO
fb08623b66
sesman: brief xorg_params, no logic change
9 years ago
NerdKnight
99ebe1340f
Fix compile error "format not a string literal and no format arguments [-Werror=format-security]"
9 years ago
Jay Sorg
a6cba63a89
fix a warning
9 years ago
Jay Sorg
689ffe79d9
fix warnings, move some calls to os_calls
9 years ago
Jay Sorg
38241f2a0b
Fix all format warnings and some unused variable warnings
9 years ago
Jay Sorg
7393579205
Don't attempt to intercept SIGKILL, it doesn't work on any OS
9 years ago
Itamar Reis Peixoto
cfbb00c6cb
Merge pull request #333 from proski/key-install
...
Key install (generate rsakeys.ini during make install)
9 years ago
jsorg71
f53b3bb737
Merge pull request #326 from metalefty/pulseaudio-6.0
...
pulse: fix build pulseaudio 6.0 or higher
9 years ago
Pavel Roskin
22e6f3e2f7
Use SCRIPTS for executable scripts, don't use "chmod 755"
9 years ago
Pavel Roskin
7642675ddf
Use "dist_" prefix to minimize use of EXTRA_DIST
...
"dist" is ignored in presense of "noinst", so keep noinst_man_MANS.
9 years ago
Pavel Roskin
59a5fb0ddb
Move headers from EXTRA_DIST to sources, sort alphabetically
...
There should be no functional difference.
9 years ago
Koichiro IWAO
93f7bcb71b
pulse: fix build pulseaudio 6.0 or higher
...
Discovered in #321 . The number of argument for pa_rtpoll_run have
been changed since 6.0.
>=6.0 : int pa_rtpoll_run(pa_rtpoll *f);
<6.0 : int pa_rtpoll_run(pa_rtpoll *f, bool wait);
Check pulseaudio version by PA_CHECK_VERSION macro introduced since
pulseaudio 0.9.16. In case PA_CHECK_VERSION is not defined,
pa_rtpoll_run takes 2 arguments.
9 years ago
Pavel Roskin
50cbf01044
xrdp-sesadmin: show help and exit if mandatory arguments are not given
...
Don't mark password as mandatory, it's asked if not provided on the
command line.
9 years ago
Pavel Roskin
92a6833e9b
Fix typos
9 years ago
Pavel Roskin
fe055e989a
Fix connection month display in xrdp-sesadmin
...
tm_mon in `struct tm` uses 0 for January.
`struct session_data` and `struct SCP_DISCONNECTED_SESSION` don't specify
how dates are stored. But considering the code in sestest and sesadmin,
all date components are stored as displayed.
9 years ago
Pavel Roskin
81779ddb01
Use lowercase program names for syslog
...
Other programs typically use the same case as their execulables.
9 years ago
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.
9 years ago