Commit Graph

4800 Commits

Author SHA1 Message Date
matt335672 8a2f427162
Merge pull request #3011 from matt335672/unpriv_user_fix
Fix permissions on user socket directory
2024-03-22 12:08:39 +00:00
matt335672 7fabef86f0
Merge pull request #2943 from matt335672/update_astyle_ver
Remove hard-coded version from scripts/run_astyle.sh
2024-03-22 12:08:31 +00:00
matt335672 f5d8fe5f3d
Merge pull request #2959 from matt335672/remove_librt_from_link
Remove unnecessary '-lrt' from common lib link
2024-03-22 12:08:11 +00:00
matt335672 fb34d742bb
Merge pull request #2910 from matt335672/fix_lfn_performance
Improve performance on long fat networks (LFNs)
2024-03-22 12:07:58 +00:00
matt335672 e0e9177f5e Simplify allowed system calls for xrdp
- The command 'systemd-analyze syscall-filter' shows that the group
  @system-service added to the xrdp-service SystemCallFilter
  actually includes all of the other listed groups and individual
  services.  Consequently this line can be simplified to just specify
  @system-service.

- (reversion) The SystemCallErrorNumber setting in xrdp.service has been
  removed so that unauthorized system calls cause an immediate process exit.
2024-03-22 11:40:44 +00:00
matt335672 200e4d84f4 Fix permissions on user socket directory
The user socket directory needs to be SGID so that they inherit
the group ownnership. Then xrdp can write to them.
2024-03-22 10:44:19 +00:00
Jay Sorg 651fcf85b7 remove per frame log entry when client frame acks is off 2024-03-20 23:07:22 -07:00
matt335672 45df24076f
Merge pull request #2990 from matt335672/detect_missing_drdynvc
Detect missing drdynvc
2024-03-15 10:30:22 +00:00
matt335672 661a441745
Merge pull request #2999 from matt335672/devel_fix_freebsd_core
[devel] Don't generate a corefile when generating SIGSEGV
2024-03-14 11:50:02 +00:00
matt335672 4f03b02302 Don't generate a corefile when generating SIGSEGV
One of the tests uses a child process which generates SIGSEGV.
On FreeBSD this generates a corefile by default which breaks
the 'make distcheck' process.
2024-03-14 11:14:49 +00:00
matt335672 6ff99cc4b5 Load channel config in xrdp_wm_create()
This commit moves the '[Channels]' parsing code for xrdp.ini
from xrdp_wm_init() to an earlier location in xrdp_wm_create().

libxrdp can now check that drdynvc is not disabled before starting it,
and xrdp_wm can disable GFX if virtual channels are not available.
2024-03-11 14:13:44 +00:00
matt335672 697dcbb24d Start the drdynvc channel within xrdp_wm
The responsibility for starting the drdynvc channel is moved out of
libxrdp into the application. This will make it easier to allow the
application to check the channel is enabled before starting it.
2024-03-11 11:00:53 +00:00
metalefty 0187daeb59
Merge pull request #2976 from rowlap/patch-2
Remove duplicate DEBUG output
2024-03-06 17:18:52 +09:00
rowlap bf81557cdc
Remove duplicate DEBUG output
allow_multimon and new_cursors are printed twice
2024-03-05 11:59:20 +00:00
metalefty b6d4e9df4f
Merge pull request #2969 from matt335672/increase_gfx_buffer
Increase GFX output buffer size
2024-03-03 09:36:43 +09:00
Koichiro Iwao e3c83c544c GFX: selectable lossy compression levels 2024-03-01 01:48:50 +09:00
metalefty 5ccabaf706
Merge pull request #2972 from metalefty/logs
Suppress some logs when no errors
2024-03-01 00:01:32 +09:00
Koichiro Iwao 0b4150ff48 Suppress some logs when no errors
This outputs per-frame logs when using VNC backend and on login screen.
2024-02-29 15:03:48 +09:00
metalefty a2c0d39c1e
Merge pull request #2970 from rowlap/patch-1
Remove tcutils channel from xrdp.ini
2024-02-27 22:30:08 +09:00
matt335672 90e4aca26a Increase GFX output buffer size
Size the GFX output buffer pessimistically based on the largest monitor
in the configuration.
2024-02-27 10:03:33 +00:00
matt335672 5845ce7c16
Merge pull request #2967 from derekschrock/ipv6
Fall back to IPv4 if IPv6 capable but don't have an IPv6 address set
2024-02-26 09:28:57 +00:00
Derek Schrock 5afbca4954 Fall back to IPv4 if IPv6 capable but don't have an IPv6 address set
When xrdp is built with IPv6 support it will only fall back to IPv4 if
IPv6 is not supported (EAFNOSUPPORT).  However, if the system is IPv6
capable but doesn't have an IPv6 address set (at least inside a FreeBSD
jail) EPROTONOSUPPORT is returned from socket().
2024-02-25 17:53:44 -05:00
matt335672 b79a7690fa
Merge pull request #2962 from matt335672/fix_egfx_disconnect
GFX: Fix disconnect on resize of busy windows
2024-02-23 15:34:01 +00:00
matt335672 3430b8898c GFX: Fix disconnect on resize of busy windows
When a resize is underway on a busy X server, it is possible for a
queued EGFX cmd (order #62) to be processed after the decoder has been
deleted. This causes a client disconnect with no useful error message.
2024-02-22 14:30:53 +00:00
rowlap 2a0c2a612f
Remove tcutils channel from xrdp.ini
According to #1943 tcutils was removed, so update the channel section to match.
2024-02-21 18:32:18 +00:00
matt335672 b2c0c506e8
Merge pull request #2745 from matt335672/wtmp
Add utmp/wtmp support
2024-02-21 14:22:16 +00:00
matt335672 e821eddb62 Remove unnecessary '-lrt' from common lib link
The '-lrt' added to the Makefile for the common library appears
to be unnecessary.

- On modern Linuxes, this library has been merged with libc, and the
  supplied library is empty.
- On older ones (e.g. Devuan 4), the library contains routines we
  do not use in xrdp (although we use 'shm_open()' in xorgxrdp).
- On FreeBSD 14 the library contains only mq_*  and timer_* routines
  which, again, are not required.
2024-02-21 12:43:53 +00:00
metalefty b6b9283df1
Merge pull request #2956 from metalefty/copyright
Bump copyright year and make easier to bump
2024-02-21 21:29:31 +09:00
matt335672 9bc706f412
Merge pull request #2955 from matt335672/github_ci_update_actions
Migrate github actions to Node 20
2024-02-21 12:28:06 +00:00
metalefty 82bbf7ef03
Merge pull request #2954 from metalefty/gfx_log
GFX: Relegate some logs to LOG_LEVEL_DEBUG
2024-02-21 19:11:52 +09:00
Koichiro Iwao ae249c6755 Bump copyright year and make easier to bump 2024-02-21 19:09:34 +09:00
matt335672 4ba026be38 Migrate github actions to Node 20
Github actions are transitioning to Node 20 ans Node 16 is EOL.

https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20
2024-02-21 09:36:53 +00:00
matt335672 8cea9b03ab Replace g_strncpy() with str2memcpy()
g_strncpy() is the wrong function for copying strings in struct utmp[x]
as it always terminates strings.

strncpy() itself would be a good choice, but is marked by many compilers
as being unsafe to use.

str2memcpy() is taken from util-linux, and is exactly right for this
application.
2024-02-21 09:24:48 +00:00
matt335672 b53c683edf Allow some utmpx fields to be optional
POSIX.1 doesn't define ut_host in struct utmpx. Also, Linux has support
for an exit status value in ut_exit. This commit adds conditional code
for both ut_host and ut_exit to maximise portability.
2024-02-21 09:24:48 +00:00
matt335672 04c67a5039 Set ut_id field
The utmp record is generally looked up by the ut_id field. Setting
this field means we can use a blank username and host when the
session exits
2024-02-21 09:24:48 +00:00
matt335672 98d6545566 Don't use DEAD_PROCESS/USER_PROCESS for add_xtmp_entry
If we're not compiling with USE_UTMP, these defines will not
be available
2024-02-21 09:24:48 +00:00
matt335672 3b6c9bcba3 Add --enable-utmp to configure.ac 2024-02-21 09:24:48 +00:00
matt335672 bf53a76ea1 Remove wtmp updating code 2024-02-21 09:24:48 +00:00
matt335672 bc9b35c38c Rename struct exit_status in os_calls
This conflicts with struct exit_status in <utmp.h>
2024-02-21 09:24:48 +00:00
Koichiro Iwao 7e305f9e24 GFX: Relegate some logs to LOG_LEVEL_DEBUG 2024-02-21 14:28:37 +09:00
matt335672 49f60fc64f Remove AC_GNU_SOURCE
AC_GNU_SOURCE is replaced with AC_USE_SYSTEM_EXTENSIONS (available
from autoconf 2.6.0)
2024-02-20 17:37:11 +00:00
BLINDAUER Emmanuel da0f3cefd7 Move some definitions, and small fixes 2024-02-20 17:37:11 +00:00
BLINDAUER Emmanuel 22f17ad123 More g_* functions usage
Follow coding standard
2024-02-20 17:37:11 +00:00
BLINDAUER Emmanuel 58b3989655 don't forget a free
use g_*
2024-02-20 17:37:11 +00:00
Blindauer Emmanuel 547388ddce Add support for FreeBSD 2024-02-20 17:37:11 +00:00
BLINDAUER Emmanuel 2af2e032c3 Add the loginuid pam module, as we are starting a session.
So /proc/<uid>/loginuid will be filled by the uid of the user.
This will fix entries in 'last' with "gone - no logout" instead of
'still logged in'
2024-02-20 17:37:11 +00:00
Koichiro IWAO eaffeaf53f cosmetic changes 2024-02-20 17:37:10 +00:00
Koichiro IWAO e32671cd79 Include sys/time.h to use gettimeofday() 2024-02-20 17:37:10 +00:00
BLINDAUER Emmanuel d3a751cff8 Add GNU_SOURCE to configure.ac: it allow usage f more GNU functions,
like updwtmpx
2024-02-20 17:37:10 +00:00
BLINDAUER Emmanuel bacda80492 WIP utmp/wtmp
- renamed the two files, including the header was conflicting with official headers
- configure look for utmp/utmpx headers, wo we know which struct to use
- reworked the usage for linux, works mostly (last still showing 'gone' for loggued users)
2024-02-20 17:37:10 +00:00