matt335672
86c87b6f15
Move get_display_num_from_display to string_calls module
2021-04-13 12:16:00 +01:00
matt335672
e7cb5bd64a
Allow DISPLAY=:0 for chansrv and in other modules
2021-04-13 12:15:26 +01:00
matt335672
741be5a4a2
Enable FUSE in cirrus build
2021-04-09 10:04:30 +01:00
aquesnel
0ec471b02d
Add detailed logging to libxrdp ( #1742 )
...
* Added s_rem(s) for getting the remaining bytes in a stream
* Added s_rem_out() macro
* Fixed 15bpp pointer error checking
* Combined the 512 and 2048 bit certificate sending code paths
* Other detailed comments and logging added following MS-RDPBCGR
2021-02-04 10:11:54 +00:00
matt335672
1e13533048
Remove output on stdout by default on daemon startuip
2021-01-07 10:50:16 +00:00
matt335672
8ab3a2e9f8
Bumped cppcheck version to 2.3
...
addressed resulting warnings
2020-12-31 11:27:14 +00:00
matt335672
8205559959
Fix regressions in auth modules
2020-12-29 09:48:01 +00:00
Khem Raj
d4e9b0f637
correct the location of errno.h
...
Fixes build on musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-12-22 23:11:50 -08:00
matt335672
0a1a8f40e5
Moved a lot of string funcs to string_calls module
2020-12-22 11:57:24 +00:00
matt335672
5523847540
Allow FuseMountName for chansrv to be absolute path
2020-12-21 12:36:31 +00:00
metalefty
785db575ca
Merge pull request #1751 from matt335672/address-minor-user-comments
...
Cosmetic fixes for minor issues
2020-12-21 16:12:58 +09:00
metalefty
61fd63f028
Merge pull request #1756 from metalefty/delete-socket-files
...
sesman: address the issue of socket file leftovers
2020-12-21 13:49:20 +09:00
metalefty
835536b406
Merge pull request #1741 from matt335672/sesrun-improvements
...
sesrun improvements and doc fixes
2020-12-21 13:45:57 +09:00
Koichiro IWAO
31214f15a6
sesman: reflect review suggestions on cleanup_sockets
...
* Use LOG_LEVEL_WARNING for the deletion failure
* Log the error condition when the deletion failed
2020-12-21 13:28:53 +09:00
metalefty
5b73fb9c31
Merge pull request #1755 from metalefty/man
...
man page fixes after neutrinolabs/xorgxrdp#175
2020-12-19 14:03:49 +09:00
Koichiro IWAO
5114d1ee64
sesman: address the issue of socket file leftovers
...
There are two points.
Make sure cleanup files happen after chansrv and Xserver exit. If these
child processes lock socket files, the deletion might fail.
Usually, cleanup of xorgxrdp related socket files is handled by
xorgxrdp. Just in case it failed, perform cleanup also in sesman.
Fixes #1740 . Thanks to @matt335672.
Sponsored by: Cybertrust Japan
Sponsored by: HAW International
2020-12-18 18:30:49 +09:00
Koichiro IWAO
6562c9d958
man page fixes after neutrinolabs/xorgxrdp#175
2020-12-18 15:21:21 +09:00
metalefty
87d710e89b
Merge pull request #1727 from RisingWater/devel
...
Update verify_user_pam.c
2020-12-17 16:15:43 +09:00
matt335672
7ddc43aeea
Cosmetic fixes for minor issues
2020-12-14 11:35:31 +00:00
matt335672
633716bbad
sesrun improvements and doc fixes
2020-12-09 11:44:17 +00:00
matt335672
e6c1df64d3
Added --config/-c to sesman
2020-12-09 10:19:14 +00:00
matt335672
8d994a547d
Add log_config_init_for_console() for utilities
2020-11-30 11:04:21 +00:00
Alexandre Quesnel
0c61a15fc5
Migrating logging to LOG() and LOG_DEVEL() in sesman/*
2020-11-30 00:36:20 +00:00
RisingWater
9efdd92c2a
Update verify_user_pam.c
...
change to g_memset
2020-11-19 11:03:43 +08:00
RisingWater
5d8f451a41
Update verify_user_pam.c
...
when a system give a tip message in function verify_pam_conv, authenticate will fail.
so it need skip this message to make sure authenticate success.
2020-11-17 11:48:26 +08:00
D.V.Yacenko
a6a785d7a4
Allow parameters for XRDP run bash script
...
Allows run bash script with parameters on xrdp. For example rdesktop -s "myscript.sh params"
2020-10-22 16:12:55 +01:00
metalefty
176b4b15a2
Merge pull request #1702 from yifanjiang/devel
...
startwm.sh: Additionally support /usr/etc/X11/xdm/Xsession
2020-10-19 14:33:53 +09:00
Alexandre Quesnel
a9ec1ebd99
Unifying logging in chanserv
...
This commit adds:
* replace multiple logging macros with LOG and LOG_DEVEL
* logging configuration for chanserv
* logging configuration for console output
* logging configuration for per file or method log level filtering for
debug builds
* file, line, and method name in log message for debug builds
2020-10-19 05:10:47 +00:00
Yifan J
31a910a275
startwm.sh: Additionally support /usr/etc/X11/xdm/Xsession in SUSE
...
distributions
https://lists.opensuse.org/opensuse-factory/2019-08/msg00113.html
2020-10-19 09:35:03 +08:00
Alexandre Quesnel
12a0266f1e
Use a single type for the fuse file handle callback context
2020-09-15 15:37:56 +00:00
matt335672
79b88d7f30
Merge pull request #1635 from matt335672/minus-c-option-chansrv
...
chansrv improved config support
2020-09-09 09:59:43 +01:00
Alexandre Quesnel
a7462404d5
Adding casts for narrowing to pointer width for issue #1678
2020-09-08 21:04:02 +00:00
matt335672
edda1b064d
chansrv improved config support
2020-09-08 16:58:03 +01:00
matt335672
8bd7309d72
Updated sesman.ini comment for Policy= in line with the manpage
2020-08-26 10:04:33 +01:00
bolkedebruin
5cd36c511c
Set max character buffer len to 512 per MS specification
...
The MS specs determine that the character buffer lenngths
for usernames, domains, passwords, alternate shells, etc
can be up to 512 characters including the mandatory null
terminator.
2020-08-17 10:35:35 +02:00
metalefty
f3e42fc209
Merge pull request #1640 from aquesnel/build_debug_werror
...
Fixing the build with --enable-xrdpdebug and CFLAGS=-Werror -Wall
2020-08-11 14:01:52 +09:00
Koichiro IWAO
00dca40bf8
sesman.ini: Update Xorg path for CentOS 8
...
Closes #1646 .
2020-08-03 10:39:04 +09:00
Alexandre Quesnel
7e58209b19
Fixing the build with --enable-xrdpdebug and CFLAGS=-Werror -Wall
2020-07-25 23:53:26 +00:00
matt335672
7384f6e574
Fixed CVE-2020-4044 CI errors
2020-06-29 11:38:24 +01:00
matt335672
e593f58a82
Fix for CVE-2020-4044
...
Reported by: Ashley Newson
2020-06-26 20:06:02 +09:00
matt335672
3c4b42b1aa
Implemented resize and multimon support for VNC backend
2020-06-04 15:10:35 +01:00
matt335672
aa0dbbae15
Added CHANNEL_NAME_LEN to ms-rdpbcgr.h
2020-04-27 15:01:56 +01:00
matt335672
617283eb34
Remove unnecessary g_malloc() call
2020-04-24 11:27:36 +01:00
matt335672
7ef01f7b0c
Address memory allocation overflow security issues
2020-04-23 17:29:06 +01:00
Koichiro IWAO
1adb3c7b33
Fix Xorg path for Arch Linux
...
It has been moved: https://www.archlinux.org/packages/extra/x86_64/xorg-server/
Fixes : #1448
2020-04-02 16:18:06 +09:00
matt335672
a2266f23f6
Allow a redirected drive device_id to be zero (Guacamole support)
2020-03-03 16:16:09 +00:00
matt335672
a3d429b4f7
Minor fixes to drive redirection
2020-03-03 16:14:24 +00:00
matt335672
77686bf832
Fix cppcheck 1.89+1.90 warnings
2020-01-30 10:36:23 +00:00
metalefty
6d7cce3d34
Merge pull request #1484 from matt335672/cppc-chansrv-pcsc
...
xrdp_pcsc: Fix cppcheck 1.82 + 1.90 warnings
2020-01-30 10:28:36 +09:00
Derek Schrock
72bece526b
return from xfs_delete_xfs_fs if NULL
2020-01-27 21:15:09 -05:00
matt335672
70d78dfb6f
Fix cppcheck 1.82 + 1.90 warnings
2020-01-17 11:18:46 +00:00
metalefty
627da8da3e
Merge pull request #1470 from matt335672/rename-includes
...
Move MS-defined constants into separate includes
2020-01-16 15:01:18 +09:00
matt335672
6f881d47d3
Rationalise ms- constants
...
Constants from MS documents (MS-RDPBCGR etc) moved out of
common/xrdp_constants.h into includes named after the documents.
Similar includes moved from sesman/chansrv to the common area.
2020-01-06 15:46:37 +00:00
Ilya Shipitsin
00f17c3ffc
sesman/chansrv/chansrv_fuse.c: resolve double free found by cppcheck
...
sesman/chansrv/chansrv_fuse.c:1719:9: error: Memory pointed to by 'full_path' is freed twice. [doubleFree]
2020-01-06 13:38:02 +05:00
matt335672
3820d279e2
Added includes for C/POSIX types referenced in chansrv_fuse.h to chansrv_fuse.h
2019-12-22 12:37:38 +00:00
matt335672
3ef2e7ce49
CI Fixes
2019-12-05 16:44:52 +00:00
matt335672
4d8f2b5a31
Significant remote file system improvements
...
- Reimplemented inode store in separate module chansrv_xfs.[hc]
- Allowed atimes and mtimes to be written to Windows side
- Mapped file user write bit to (inverted) Windows FILE_ATTRIBUTE_READONLY bit
- Mapped file user execute bit to Windows FILE_ATTRIBUTE_SYSTEM bit
- Implemented improved security for remotely mounted drives
- Implemented USB device removal, allowing hot-plug/remove of memory sticks
- Fixed pagefile.sys breaking Ubuntu file browser
- Fixed write offset bug
- Allowed renaming of open files
- Improved reported error codes
- Fixed various memory leaks
- Addressed valgrind errors related to struct fuse_file_info pointers.
2019-12-05 11:41:32 +00:00
Jay Sorg
d7b1f12d9b
default rdpsnd audin off, can enable with --enable-rdpsndaudin
2019-10-22 22:48:15 -07:00
Jay Sorg
351c92dfba
sesman: fix for sesman startup without startup script
2019-10-16 13:53:22 -07:00
Jay Sorg
cf67dd56bf
chansrv: no logic change, fix typo
2019-07-10 11:18:07 -07:00
Jay Sorg
417bb71abf
chansrv: env var to disable rdpsnd record
2019-07-08 22:45:58 -07:00
Jay Sorg
933394c6be
chansrv: remove excessive logging
2019-07-08 22:40:31 -07:00
Jay Sorg
8aedd31762
chansrv: use rdpsnd record if supported, else try AUDIO_INPUT(MS-RDPEAI)
2019-07-08 22:03:27 -07:00
Jay Sorg
c5798df0bd
chansrv: hook up audin
2019-07-08 18:25:59 -07:00
Jay Sorg
ae40ff27c8
chansrv: audin close should chose channel
2019-07-07 22:05:46 -07:00
Jay Sorg
a9a823b0da
chansrv: audio in partial working
2019-07-04 23:52:18 -07:00
Jay Sorg
3c9241022a
chansrv: add audin.c/h
2019-07-03 21:31:52 -07:00
Jay Sorg
e14ea4ff2e
chansrv: drop g_sent_flag, not very useful and some clients skip acks
2019-06-23 20:52:55 -07:00
Jay Sorg
4ad9e48ff5
chansrv: don't let audio fall behind
2019-06-22 23:01:13 -07:00
Koichiro IWAO
ae2cbbb2e0
Fix build after #1327
...
Fixes #1335 .
In file included from ./irp.h:27:
./chansrv_fuse.h:39:5: error: unknown type name 'time_t'
time_t atime; /* Time of last access. */
^
./chansrv_fuse.h:40:5: error: unknown type name 'time_t'
time_t mtime; /* Time of last modification. */
^
./chansrv_fuse.h:41:5: error: unknown type name 'time_t'
time_t ctime; /* Time of last status change. */
^
3 errors generated.
*** Error code 1
2019-04-18 14:25:46 +09:00
matt335672
fe97b983f5
Remove unnecessary reference from sesman/config.c
...
Following commit 81703c426f
, there are
no longer any references to g_cfg from within this file, and so the
external reference can be removed.
2019-04-11 11:28:33 +01:00
metalefty
006721fea8
Merge pull request #1327 from matt335672/implement-separate-lookup
...
XFuse file overwrite and lookup improvements
2019-04-11 15:56:24 +09:00
matt335672
6a6442e32f
Fix sing symbol link error when --disable-fuse is set
2019-04-02 13:08:47 +01:00
matt335672
d154df5059
Add remote drive lookup functionality to fuse
...
- Replace xfuse_cb_enum_dir() directory callback for adding files with
more general xfuse_devredir_add_file_or_dir() to be called from a
directory or a lookup operation.
- Moved XRDP_INODE out of public interface for chansrv_fuse, and replaced
with simpler struct file_attr to pass to
xfuse_devredir_add_file_or_dir()
- Allow a struct file_attr to be placed in an IRP for assembly of file
attributes over multiple IRP_MJ_QUERY_INFORMATION requats.
- Add dev_redir_lookup_entry() to public interface for devredir.c
- Add xfuse_devredir_cb_lookup_entry() callback to public interface for
chansrv-fuse.c
2019-04-01 14:15:12 +01:00
matt335672
ef9013b4d9
Implement O_WRONLY option for open file
...
Allows files to be overwritten on Linux without EIO
Logging improved on failed write
2019-04-01 14:14:46 +01:00
matt335672
c43c9cd551
Code tidyups
...
- Remove unused 'is_synced' member from struct xrdp_inode
- Move prototype for xfuse_devredir_cb_write_file() to correct file
- Add const correctness to dev_redir_strings_ends_with() function
- Add const correctness to fuse_reverse_pathname() function
- Moved devredir_proc_cid_* functions out of devredir.h and made static
- Added XFUSE_DUMP_ADDED_ENTRIES maro for debugging
- Removed duplicate code path in xfuse_remove_dir_or_file()
- Removed duplicate code path in xfuse_cb_rename()
- Removed duplicate code path in xfuse_create_dir_or_file()
- Removed duplicate code path in xfuse_cb_open()
- Removed duplicate code path in xfuse_proc_opendir_req()
2019-04-01 14:14:22 +01:00
matt335672
c31b3b0dc2
chansrv_fuse.c tidyups
...
- Remove unused USE_SYNC_FLAG macro
- Remove unused members invoke_fuse, off, dirbuf1 from XFUSE_INFO
- Clear f_fifo_opendir entries on deinit
- Added some comments and fixed some others
2019-04-01 14:13:57 +01:00
Koichiro IWAO
81703c426f
sesman: Fix default_wm and reconnect_sh refer wrong path after SIGHUP
...
Changes in #1147 had a bug. Fixes #1315 .
Reported by: Daniel Hoffend
2019-03-28 11:42:32 +09:00
metalefty
ec05d4208d
Merge pull request #1298 from jaroslaw-osmanski/restrict-outbound-clipboard
...
Restrict outbound clipboard
2019-03-20 10:37:40 +09:00
Jaroslaw Osmanski
56fe961349
Fixed style and format issues.
2019-03-08 08:42:18 +01:00
Jaroslaw Osmanski
7d7e8184ae
Use CHANSRV_RESTRICT_OUTBOUND_CLIPBOARD env between sesman -> chansrv
2019-03-02 16:53:15 +01:00
Jaroslaw Osmanski
1b6bfa682c
Log when outbound copy was rejected because RestrictOutboundClipboard was set
2019-03-01 14:49:57 +01:00
matt335672
d49f405130
Add implementation of xfuse_deinit_xrdp_fs()
2019-02-26 13:22:30 +00:00
Jaroslaw Osmanski
46c33ddaf4
Read sesman config in clipboard
2019-02-26 11:36:32 +01:00
Krzysztof Adamski
751cd97018
reapply outboud-resitrcted clipboard
2019-02-26 07:40:17 +01:00
Jaroslaw Osmanski
0d8a49ab13
astyle formatting for sesman config.h and chansrv clipboard
2019-02-26 07:40:10 +01:00
4680414@qq.com
e655fe6a1b
libscp v1 server set height twice,and not set width. so fix it.
2019-02-15 09:18:37 +08:00
Koichiro IWAO
88f0d3114d
Fix build with FDK AAC v2
...
Original fix provided by takefu. See also:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233556
2018-11-28 01:31:14 +09:00
Koichiro IWAO
a4b0aa9355
Remove x11rdp from config
...
as it is already deprecated. x11rdp is complicated to build and very few
people using it actually. However, some people still select "X11rdp"
session and get stuck despite not installing x11rdp.
https://github.com/neutrinolabs/xrdp/issues/962#issuecomment-430545526
People who really want to use x11rdp should revert this commit.
2018-10-18 11:19:38 +09:00
metalefty
c2ade7a1f7
Merge pull request #1225 from savisko/devel
...
Fix crash of xrdp-chansrv process, issue #1202 .
2018-10-18 10:49:09 +09:00
metalefty
a83400060b
Merge pull request #1227 from metalefty/idle-disc
...
Ressurect IdleTimeLimit
2018-10-18 10:40:12 +09:00
Koichiro IWAO
5ea403430a
Sort & reword description of IdleTimeLimit
2018-10-16 16:53:33 +09:00
jsorg71
ae1514c167
dynamic virtual channel improvements
...
remove not used chansrv <-> xrdp messages
move static channel disable control into libxrdp
remove some blocking read, write chansrv calls
add drdynvc calls to libxrdp
add drdynvc calls to chansrv
channel cleanup
2018-10-11 22:09:20 -07:00
Michael Savisko
47d8e03d3a
Fixed compilation warning in previous commit.
2018-10-11 13:51:59 +03:00
Michael Savisko
ba93badf73
Fix crash of xrdp-chansrv process, issue #1202 .
...
In xfuse_create_file_in_xrdp_fs insure that xfuse_fs is properly initialized.
2018-10-11 13:11:24 +03:00
Koichiro IWAO
f84f3de478
docs: ressurect IdleTimeLimit
...
This reverts commit 513f767996
.
2018-10-10 17:47:12 +09:00
Koichiro IWAO
2a85a65d08
show more helpful message if xrdp-dis failed
2018-09-11 11:58:44 +09:00
Koichiro IWAO
d6992cf62d
sesman: add XRDP_ prefix to xrdp related environment variable
...
and remove CHANSRV, use the shorter name
2018-09-04 16:01:40 +09:00
Koichiro IWAO
59f3a79fe4
sesman: pass pulse socket name via environment variable
2018-09-04 16:01:40 +09:00
Idan Freiberg
5d2c5b1410
chansrv: remove pulseaudio modules from xrdp source tree
...
its actually an independent code which is not part of xrdp
moved to its own repoistory: https://github.com/neutrinolabs/pulseaudio-modules
Signed-off-by: Idan Freiberg <speidy@gmail.com>
2018-08-03 06:12:53 +03:00
Koichiro IWAO
ff85cb4530
Merge branch 'wfix-pulsechansrv-makefile' into devel
2018-08-03 10:05:46 +09:00
Brandon Wooldridge
8427c3601b
Corrected spacing between arguments to cc
for Pulseaudio chanserv Makefile
2018-08-02 15:24:46 -07:00
matt335672
c467ba6b04
Add handler for fatal X server conditions
...
Unless X server failures are caught, these can cause a premature
exit of chansrv, giving it no chance to clean up. This is currently a
particular problem for fuser mounts.
2018-07-19 08:16:29 +01:00
Koichiro IWAO
eda1842825
sesman: add comments, no logic change
2018-06-19 12:57:30 +09:00
Koichiro IWAO
6e16b38ecc
sesman: fix potential buffer over flow
2018-06-16 16:44:37 +09:00
Koichiro IWAO
9192e95c96
sesman: fix logging after default_wm change
2018-06-16 16:44:37 +09:00
Koichiro IWAO
6fb18cd5fa
docs: document configurable reconnect script path
2018-06-16 16:44:37 +09:00
Koichiro IWAO
a39b413746
sesman: make the path of reconnect script configurable
2018-06-16 16:44:37 +09:00
Koichiro IWAO
e82f212f34
sesman: accept full path for DefaultWindowManager
...
Solves: #1143
Also, this idea is inspired by Fedora's patch [1]. Some distro wants to
put all scripts in libexec directory due to SELinux. This enables
distros to put such scripts anywhere.
[1] https://src.fedoraproject.org/cgit/rpms/xrdp.git/tree/xrdp-0.9.6-scripts-libexec.patch?id=02f845c1b8cea781313cf3e9efcd6d7d50341824
2018-06-16 16:44:37 +09:00
Idan Freiberg
036c292120
Merge pull request #1146 from metalefty/sesman-leak
...
sesman: fix leak in struct config_sesman
2018-06-14 12:43:02 +03:00
metalefty
f83d967f46
Merge pull request #1120 from matt335672/set-env-on-reconnect
...
Copy the PAM session environment for the reconnect script
2018-06-14 11:04:43 +09:00
Koichiro IWAO
037d4eeece
sesman: fix leak in struct config_sesman
2018-06-13 17:20:03 +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
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
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
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
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
Vraiment
fd37805ac0
Make sesman.ini dynamic for the location of the configuration file
2018-02-19 11:41:55 +09:00
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.
2018-02-06 16:03:10 +09:00
Koichiro IWAO
e16029cbc2
fix leak of SCP_DISCONNECTED_SESSION
...
Pointed out by: #919
2018-01-23 11:16:26 +09:00
Koichiro IWAO
5daa09171e
devredir: fix xinode leak
...
Pointed out by: #919
2018-01-12 09:24:03 +09:00
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.
2018-01-11 10:57:47 +09:00
Koichiro IWAO
dcf64e43ca
remove trailing space
2018-01-11 10:57:43 +09:00
Koichiro IWAO
f2db57afb0
fix indent
2018-01-09 14:09:13 +09:00
matt335672
3f2a017c97
Make listen check before daemon fork
2017-12-27 15:00:18 +00:00
Dominik George
53eccc93a2
Simplify pulseaudio module build instructions
2017-12-26 19:06:36 +09:00
Koichiro IWAO
93481365d1
pulse: replace old pulse notes with bran-new README
2017-12-26 09:26:51 +09:00
Dominik George
3244cb59d5
Fix memory corruption introduced by CVE-2017-16927 fix.
2017-12-21 14:07:51 +09:00
Koichiro IWAO
d8bb32541a
sesman: bring Xorg at the top in sesman.ini
...
as Xorg prefered recommended backend now. Add more comments.
2017-12-16 00:27:06 +09:00
Koichiro IWAO
64a0deb9cf
sesman: comment on non-suid Xorg in sesman.ini
...
Pointed out by: #923
2017-12-16 00:27:06 +09:00
speidy
d958d1f018
sesman: scpv0, accept variable length data fields
2017-11-28 09:04:25 +09:00
Koichiro IWAO
929a7c359d
chansrv: add LOG_LEVEL_TRACE here, too
2017-11-12 22:27:46 +09:00
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.
2017-11-08 08:57:52 +09:00
Koichiro IWAO
26394870e5
sesman: delete socket files when session exits
2017-09-13 09:04:58 +09:00
Jay Sorg
d9b929c185
chansrv: sound, fdk-aac, avoid 1 item array items
2017-08-04 17:24:57 -07:00
Jay Sorg
152318ad7c
use pkg-config to configure with fdk-aac
2017-08-04 17:24:57 -07:00
Jay Sorg
4f91a52109
chansrv: sound, remove a do not know and a comment
2017-08-04 17:24:57 -07:00
Jay Sorg
021a78f4c6
chansrv: sound, use WAVE_FORMAT_AAC not WAVE_FORMAT_AAC_MS
2017-08-04 17:24:57 -07:00
Jay Sorg
bf0d56c314
chansrv: sound, add aac
2017-08-04 17:24:57 -07:00
Jay Sorg
8ac35d7ed1
chansrv: sound, handle skips in audio acks
2017-08-04 17:24:57 -07:00
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
2017-08-03 11:50:31 +09:00
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
2017-07-26 11:34:01 +09:00
Koichiro IWAO
e990dd4263
chansrv: remove trailing space
2017-07-25 11:40:04 +09:00
Koichiro IWAO
ca24572fd5
chansrv: use switch-case to support more codecs
2017-07-25 11:40:04 +09:00
Koichiro IWAO
dbaf23e93b
chansrv: constify wFormatTag
2017-07-25 11:40:04 +09:00
Ian Geiser
4b87548b71
Use g_create_path instead of g_create_dir
...
Rename g_mk_temp_dir to g_mk_socket_path
2017-07-14 20:52:38 +09:00
Koichiro IWAO
858e6149f0
fix typo
2017-07-13 13:41:26 +09:00
Koichiro IWAO
6f8eacd72b
sesman: make sure socket directory present
...
before try to create a domain socket.
Originally proposed by Ian Geiser (geiseri).
2017-07-13 13:41:26 +09:00
Jay Sorg
b6bd8acef1
sesman: move auth_start_session, auth_stop_session, and auth_end to child process
2017-07-12 17:58:36 +09:00
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
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.
2016-10-21 20:15:50 +00:00
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.
2016-10-21 20:15:50 +00:00
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.
2016-10-21 20:15:50 +00:00
Pavel Roskin
a370306f75
Get rid of EXTRA_LIBS, use variables with more specific names
2016-10-20 10:43:02 -07:00
Pavel Roskin
5c69f3cd57
Eliminate EXTRA_FLAGS, it's a poor name, use AM_LDFLAGS
2016-10-20 10:43:02 -07:00
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.
2016-10-20 10:43:02 -07:00
Pavel Roskin
6fef1e4eb5
Use const pointers in function arguments when possible
2016-10-17 08:54:07 -07:00
Pavel Roskin
c3b99de739
Fix wrong comments in sesman config printing code
2016-10-17 08:54:07 -07:00
Pavel Roskin
bf08892622
Fix incorrect description of auth_userpass() return value
2016-10-17 08:54:07 -07:00
Pavel Roskin
a618d4f757
Don't use final newline in log calls, it's already appended
2016-10-17 08:54:07 -07:00
Pavel Roskin
424cef464b
Log malloc errors with LOG_LEVEL_ERROR
2016-10-17 08:38:22 -07:00
Pavel Roskin
945833a94f
Don't close socket in scp_process_start(), the caller closes it
2016-09-08 20:26:19 -07:00
Pavel Roskin
f7c27f05cf
g_term_event is a wait object, not TCP socket, delete it correctly
2016-09-08 20:26:19 -07:00
Pavel Roskin
931fb90832
sesrun: remove unused g_sck and write-only g_pid
2016-09-08 20:26:19 -07:00
Pavel Roskin
d605310bdc
sesman: don't close listening socket in signal handler
...
It is closed when the main loop terminates.
2016-09-08 20:26:19 -07:00
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.
2016-08-30 15:49:58 +09:00
jsorg71
8353baab3d
Merge pull request #390 from proski/june21
...
Cleanups and C++ compatibility
2016-08-05 14:38:41 -07:00
jsorg71
81fe939dd3
Merge pull request #388 from metalefty/freebsd/fuse
...
sesman: Add /sbin to PATH for FreeBSD
2016-08-05 14:22:50 -07:00
speidy
f2addd346f
Merge branch 'devel' of https://github.com/neutrinolabs/xrdp into devel
2016-07-26 13:13:56 -04:00
speidy
c9b55e3691
sesman: env_set_user, fix potential bof issues
2016-07-22 04:48:37 -04:00
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.
2016-07-21 16:02:21 +09:00
Jay Sorg
9ccbfb6985
chansrv: added mp3 compression from Speidy
2016-07-13 17:44:07 -07:00
Pavel Roskin
2c13ef5c6d
Use enum logLevels consistently for log levels
2016-07-08 04:29:57 +00:00
Pavel Roskin
cbe413bd8b
Fix return type of devredir_fuse_data_peek and devredir_fuse_data_dequeue
2016-07-08 04:29:56 +00:00
Pavel Roskin
c5ca0332be
Use cast when applying boolean OR to enum
2016-07-08 04:29:51 +00:00
Pavel Roskin
d1efb0d5ba
Fix signed to unsigned comparisons reported by g++ 6.1.0
2016-07-08 04:29:51 +00:00
Pavel Roskin
5829323ad8
Use g_new or g_new0 when C++ compiler would complain about implicit cast
2016-07-08 04:29:49 +00:00
Pavel Roskin
bde4925f0e
Cast appdata_ptr explicitly, needed for C++ compatibility
2016-07-08 04:29:47 +00:00
Pavel Roskin
4b05bb2ebd
Mark g_drdynvc_chan_id as extern in g_drdynvc_chan_id, it's in chansrv.c
2016-07-08 04:29:44 +00:00
Pavel Roskin
aaa89ad4e6
Use const unsigned for hex arrays
...
Some constants are too big for the signed type.
2016-07-08 04:29:43 +00:00
Pavel Roskin
aeeb3d2c2e
Fix warnings detected by -Wwrite-strings
2016-07-08 04:29:42 +00:00
Pavel Roskin
951e632757
Make program_name constant, don't duplicate or free it
2016-07-08 04:27:07 +00:00
Pavel Roskin
b00ca6e03d
Remove commented out config_read_logging(), the code is long dead
2016-07-08 04:26:59 +00:00
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.
2016-07-08 04:15:41 +00:00
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.
2016-07-08 04:15:39 +00:00
Pavel Roskin
f7ef9bb938
Fix scp_init() invocation, it takes no arguments
2016-07-08 04:15:38 +00:00
Pavel Roskin
77b380c0b5
Fix format warnings in log_message() calls
2016-06-21 16:30:16 -07:00
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.
2016-06-21 16:30:15 -07:00
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.
2016-06-21 16:30:15 -07:00
Pavel Roskin
ae5bb5bf9c
Fix incorrect use of "it's" and "its", adjust wording
2016-06-21 16:30:15 -07:00
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 .
2016-06-20 09:47:37 +09:00
Pavel Roskin
1403652c72
Remove unused variable in devredir_cvt_from_unicode_len()
2016-05-06 18:58:16 -07:00
Pavel Roskin
f2d326cbed
Remove unused variables from dev_redir_proc_query_dir_response()
2016-05-06 18:58:16 -07:00
Pavel Roskin
0dd0426e6f
Check XGetWindowProperty() return code in clipboard_event_property_notify()
2016-05-06 18:31:03 -07:00
Pavel Roskin
72019d3611
Use better symbols to protect include files
2016-05-05 00:06:26 -07:00
Pavel Roskin
ca9cbcafc8
Typo fixes
2016-05-04 23:33:30 -07:00
jsorg71
fdb146740f
Merge pull request #360 from proski/format-warnings
...
Warning fixes
2016-05-03 00:52:58 -07:00
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.
2016-04-23 00:26:46 -07:00
Pavel Roskin
70f3d4c5e2
Fix warnings for unused variables read from byte streams
2016-04-23 00:18:38 -07:00
Pavel Roskin
95e1603f9d
Fix recently introduced warnings in session.c
...
Use of tabs is fixed as well.
2016-04-21 23:03:40 -07:00
Pavel Roskin
0629b25d5f
Fix warnings about unused variables and functions
2016-04-21 22:27:27 -07:00
Pavel Roskin
e65bd6b7d7
Fix more format warnings
2016-04-21 21:21:17 -07:00
jsorg71
00a11f77ce
Merge pull request #359 from metalefty/sesman/configurable-xserver-path
...
sesman: do not hardcode Xorg/X11rdp/Xvnc executables
2016-04-18 13:29:15 -07:00
Koichiro IWAO
cfdce461c3
Do not attempt to trap SIGKILL part 2
...
it doesn't work on any OS.
2016-04-11 16:43:12 +09:00
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
2016-04-07 18:34:43 +09:00
Koichiro IWAO
fb08623b66
sesman: brief xorg_params, no logic change
2016-04-07 16:27:23 +09:00
NerdKnight
99ebe1340f
Fix compile error "format not a string literal and no format arguments [-Werror=format-security]"
2016-03-28 14:55:20 -03:00
Jay Sorg
a6cba63a89
fix a warning
2016-03-16 14:40:24 -07:00
Jay Sorg
689ffe79d9
fix warnings, move some calls to os_calls
2016-03-16 14:32:14 -07:00
Jay Sorg
38241f2a0b
Fix all format warnings and some unused variable warnings
2016-03-14 17:04:08 -07:00
Jay Sorg
7393579205
Don't attempt to intercept SIGKILL, it doesn't work on any OS
2016-03-14 16:33:49 -07:00
Itamar Reis Peixoto
cfbb00c6cb
Merge pull request #333 from proski/key-install
...
Key install (generate rsakeys.ini during make install)
2016-02-24 06:38:02 -05:00
jsorg71
f53b3bb737
Merge pull request #326 from metalefty/pulseaudio-6.0
...
pulse: fix build pulseaudio 6.0 or higher
2016-02-23 23:19:59 -08:00
Pavel Roskin
22e6f3e2f7
Use SCRIPTS for executable scripts, don't use "chmod 755"
2016-02-22 23:13:16 -08:00
Pavel Roskin
7642675ddf
Use "dist_" prefix to minimize use of EXTRA_DIST
...
"dist" is ignored in presense of "noinst", so keep noinst_man_MANS.
2016-02-22 22:11:57 -08:00
Pavel Roskin
59a5fb0ddb
Move headers from EXTRA_DIST to sources, sort alphabetically
...
There should be no functional difference.
2016-02-21 23:06:48 -08:00
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.
2016-02-18 00:45:33 +09:00
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.
2016-02-14 10:27:17 -08:00
Pavel Roskin
92a6833e9b
Fix typos
2016-02-13 20:41:07 -08:00
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.
2016-02-13 18:31:47 -08:00
Pavel Roskin
81779ddb01
Use lowercase program names for syslog
...
Other programs typically use the same case as their execulables.
2016-02-13 18:14:42 -08:00
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.
2016-02-12 23:52:46 -08:00
Pavel Roskin
ffc4efb9ce
Don't ignore files known to git
...
That can cause unexpected behavior, especially with third party tools.
The ignored files will be lost if the source tree is re-imported to
another git repository, unless special care is taken.
Whitelist all non-generated makefiles.
To whitelist instfiles/pam.d/xrdp-sesman, add path to all generated
executables listed in the top-level .gitignore, sort .gitignore
alphabetically.
Add mkinstalldir, it's used by Automake on some systems.
2016-02-12 23:52:46 -08:00
Pavel Roskin
22e808a186
Add missing spaces in the strings that are split for line wrapping
2016-02-12 23:52:45 -08:00
Pavel Roskin
09709d3ced
xcon: include unistd.h, it's needed for select() on MacOS
2016-02-12 23:52:45 -08:00
Pavel Roskin
85840863da
startwm.sh: make sure sourced scripts are readable
...
Strictly speaking, both existence and readability should be checked.
However, chances of ~/.profile being a directory or a FIFO are very small
compared to its chances of being non-readable due to some
misconfiguration.
Put "if" and "then" on the same line for consistency with other checks.
Improve comment and pseudocode formatting.
2016-02-12 23:52:45 -08:00
Jay Sorg
ac901fd283
sesman: add missing break
2016-02-11 17:52:44 -08:00
Itamar Reis Peixoto
09a69fbec2
remove duplicated call to scp_session_set_bpp
2016-02-11 11:54:43 -02:00
Pavel Roskin
a61349c1d3
Allow sessions with 32 bpp
2016-02-10 09:30:23 -08:00
Pavel Roskin
5d23d007e9
Check return value of scp_session_set_bpp()
2016-02-10 09:30:23 -08:00
Itamar Reis Peixoto
ee436aeec9
Merge pull request #309 from proski/devel
...
Fixes for autotools, compile warnings and MacOS compatibility
2016-02-08 22:37:44 -02:00
Pavel Roskin
5575197eaa
sesman: don't set LANG, let initialization scripts take care of it
...
Setting LANG to en_US.UTF-8 suppresses language settings from
/etc/locale.conf
See https://bugzilla.redhat.com/show_bug.cgi?id=1290820
2016-02-07 22:50:14 -08:00
Pavel Roskin
5de1d31a75
Change an unconditional #warning to a comment
...
Notes about software design should not be shown as warnings to everybody
who compiles the code. Warnings should be about unexpected conditions
detected at the compile time.
2016-01-31 23:42:16 -08:00
Pavel Roskin
f1ba2b2c9d
xcon: include sys/types.h for select() and related macros
2016-01-31 23:35:40 -08:00
Pavel Roskin
5b0dcfc8fe
rail: fix declaration of rail_desktop_resize()
...
Arguments without a type default to int. The caller passes a pointer to
XEvent, so use that type.
2016-01-31 23:35:40 -08:00
Pavel Roskin
986fa94733
clipboard: undefine previously defined log level
2016-01-30 18:01:12 -08:00
Pavel Roskin
02c981e796
More spelling fixes found by codespell and aspell
2016-01-30 17:39:25 -08:00
Pavel Roskin
00e70a5c54
Use standard autotools means to detect X11
...
Use AC_PATH_XTRA to search for X11 in configure.ac. In Makefiles, add
X_CFLAGS to AM_CFLAGS for the source compilation. Add X_LIBS to LDFLAGS.
Add X_PRE_LIBS and X_EXTRA_LIBS to LDADD.
With this patch, X Windows system is correctly detected on Mac OS X.
2016-01-30 17:18:52 -08:00
Pavel Roskin
334eeb970a
clipboard_file: include sys/time.h for struct timeval, needed on Mac OS X
2016-01-30 12:32:52 -08:00
Pavel Roskin
a452d8d36a
Merge AM_CFLAGS and INCLUDES info AM_CPPFLAGS
...
AM_CPPFLAGS is for flags passed to the preprocessor, such as defines and
includes. AM_CFLAGS is for flags affecting the compiler, such as debug
and optimization settings.
INCLUDES is an obsolete name. Users can pass INCLUDES and break
compilation. AM_CPPFLAGS is more explicit that the flags come from
Automake and should not be overridden.
2016-01-29 22:45:00 -08:00
Pavel Roskin
309fca35ac
Don't use a symlink where #include would suffice
...
Absolute symlinks break when the source is moved to another location. In
the best case, the symlink will be replaced with a copy, but that creates
code duplication. A user who got the packaged source may decide to change
one config.c without realizing that another config.c will get the same
changes.
Don't ignore config.c, it's a regular source file now, albeit very
short.
Testing done: compiled inside and outside build directory.
2016-01-26 23:22:05 -08:00
Pavel Roskin
964e860072
Run through codespell
2016-01-14 08:47:50 -08:00
Jay Sorg
ded462ab8e
chansrv: fix some warnings
2015-12-29 13:28:15 -08:00