Commit Graph

5154 Commits

Author SHA1 Message Date
matt335672 b02689ab44 Remove g_time1() call
This is not year 2038 compliant on systems with 32-bit integers.

The call can be replaced with the standard C time() call. On
POSIX systems, time_t is guaranteed to be an integer type.
2024-12-16 16:13:15 +00:00
matt335672 54a6bf11d7 Merge pull request #3345 from matt335672/chansrv_log_file_path
Allow a path to be specified for the chansrv log file
2024-12-16 13:52:34 +00:00
matt335672 162153ab6f Move LogFilePath parameter to [ChansrvLogging]
This seems a better fit than having it in the [Chansrv] section.

Also fixed a minor logging error relating to the parameter in
chansrv_config.c

(cherry picked from commit 6d2fd1be8451418f01dfbb203929e2838c1a979f)
2024-12-16 10:55:30 +00:00
matt335672 2f7be3f634 Allow a path to be specified for the chansrv log
This is useful for NFS-mounted home directories, where hosts
may otherwise produce colliding chansrv log file names

(cherry picked from commit cfc2e362b47103bc2c786252f331bb26b6ddecb5)
2024-12-16 10:55:21 +00:00
metalefty e07cc72de1 Merge pull request #3340 from metalefty/chkpriv
make xrdp-chkpriv script fancy
2024-12-13 23:27:56 +09:00
matt335672 31a09f5100 Merge pull request #3304 from matt335672/add_statfs_to_fuse
Add support for statvfs() to FUSE
2024-12-13 11:41:09 +00:00
Koichiro Iwao a857f0b7ea tools: make the output of xrdp-chkpriv fancy
While here, drop exec permission from xrdp-chkpriv.in. The exec
permission will be granted to substituted xrdp-chkpriv script
during `make install` process.
2024-12-12 23:35:10 +09:00
Koichiro Iwao f61a59166e tools: fix for make dist
- Do not include substitutedd xrdp-chkpriv into tarball
- Dot not install xrdp-chkpriv.in

While here, drop exec permission from *.c source file.
2024-12-12 23:28:06 +09:00
matt335672 83cf04b0fd Merge pull request #3336 from matt335672/fix_x11_socket_check
[regression] code to open local display in waitforx is broken by recent libxcb
2024-12-12 14:24:56 +00:00
matt335672 2a190a2264 Fix regression in opening local display in waitforx
Commit 80fab03198 introduced a way to
prevent waitforx going to the network when trying to open a display,
and hence potentially blocking.

This method turned out to be invalidated by libxcb version 1.16 and
1.17

This change adds an explicit check that the Unix socket for the display
in /tmp/.X11-unix/Xn is open before trying to connect to display ':n'.
This has the same effect.
2024-12-11 11:52:06 +00:00
metalefty e404509be3 Merge pull request #3327 from metalefty/openh264
add OpenH264
2024-12-04 21:15:20 +09:00
Koichiro Iwao 0c13792edc CI: fix build with g++
(cherry picked from commit 1f74edee0e036fa3288fac3d0b5d919ac66d96bf)
2024-12-04 18:08:34 +09:00
Koichiro Iwao 28669a8d61 CI: add OpenH264 to max features
(cherry picked from commit efd2a5fbd8b0d5024c16edc2d4a51e5371c679e8)
2024-11-29 20:59:03 +09:00
Koichiro Iwao 032b9b070b tests: add tests for OpenH264 params and prefered H264 encoder
(cherry picked from commit 92bd0812a398bc8d966e978cac32d3f80ffb1df2)
2024-11-29 20:52:46 +09:00
Koichiro Iwao 49c50701e2 x264 is the default H.264 encoder
(cherry picked from commit a9c7373b75fe60848c6cb6189bb39595a35159bd)
2024-11-29 20:52:46 +09:00
Koichiro Iwao 4b177dab01 tests: fix tests after OpenH264
(cherry picked from commit 655215f3038b653eb163ad00899c182b68ea8c64)
2024-11-29 20:52:46 +09:00
Koichiro Iwao 97cc0bc901 x264: cleanup gfx.toml
(cherry picked from commit d81b496d7f305d9ea567aa0648fbb757b5633b2d)
2024-11-29 20:52:46 +09:00
Koichiro Iwao cee29acd3f OpenH264: throw out some logs to TRACE level
(cherry picked from commit b95f6e94afa0bcb48607812d9b6ef60fb0ce8edc)
2024-11-29 20:52:46 +09:00
Koichiro Iwao e745ff6f31 OpenH264: apply encoding parameters from gfx.toml
(cherry picked from commit e87a7dd878201fd10632469e96e778b21184115b)
2024-11-29 20:52:46 +09:00
Koichiro Iwao 79bff10843 Add preferred H.264 encoder configuration in gfx.toml
(cherry picked from commit 93ad14ff2546cfbf08bb5061f2253d2640420eed)
2024-11-29 20:52:46 +09:00
Koichiro Iwao 14a1888fdd Revice OpenH264 description
(cherry picked from commit ddab8d35b554c55df9be6a640602a115aafa9f4d)
2024-11-29 20:52:46 +09:00
metalefty 6162b0be20 Merge pull request #3311 from jsorg71/openh264
add openh264 support
2024-11-29 20:51:00 +09:00
matt335672 3d853d5824 Merge pull request #3319 from matt335672/colemak_support
Colemak support
2024-11-29 10:45:49 +00:00
matt335672 600549c72d Merge pull request #3297 from matt335672/waitforx_improvements
waitforx changes
2024-11-27 10:54:27 +00:00
matt335672 80fab03198 waitforx changes
1) Changed alarm message from "Timed out waiting for RandR outputs" to
   "Timed out waiting for X display". The former was confusing, and the
   times where this message was triggered were nothing to do with
   RandR
2) Don't try to open a display of the form ":n" or ":n.m" directly
   (n,m >= 0). If the X server hasn't yet opened its local socket,
   the XOpenDisplay() call can go to the network and possibly block
   for a long time. Instead, use the (undocumented) "unix:n" display
   specification, whih never goes to the network, and doesn't block.
2024-11-27 10:28:04 +00:00
matt335672 a0989d9c00 Merge pull request #3197 from matt335672/wait_for_xorg_caps
Wait for capabilities message from Xorg
2024-11-23 14:48:04 +00:00
matt335672 84970a8d92 xup: Display mismatched version number to user
The mismatched versions are now displayed to the user rathe than being
buried in the log. This should aid fault reporting and help users find
distro-introduced problems with an Internet search.
2024-11-23 14:39:16 +00:00
matt335672 90e3258c04 Wait for capabilities message from Xorg
This commit adds a stage into the Xorg connection status to wait for
the capabilities message from the Xorg server. This allows us to move
the xorgxrdp version check to xrdp from the X server for better
reporting to the user.
2024-11-23 14:26:16 +00:00
metalefty 7d1c3f14e3 Merge pull request #3318 from metalefty/frame_rates
Set different frame capture interval for H.264 and RFX
2024-11-21 23:09:06 +09:00
Koichiro Iwao 1964dab4dc Frame capture intervals are not private to xrdp
(cherry picked from commit 56b4ca051e31650c836cab76eaf3e195117269bb)
2024-11-21 20:52:13 +09:00
Koichiro Iwao 7214afb132 Add DEFAULT_ prefix for default frame capture intervals
(cherry picked from commit 65f9ae4afbd5c8c4c608a9014177542d7d4f51a6)
2024-11-21 20:51:57 +09:00
Jay Sorg b1025bc7eb add openh264 support 2024-11-20 14:13:53 -08:00
matt335672 53079c4d4b Regenerate keymap files
Regenerate keymap files with latest genkeymap. This adds the
'caps_lock_supported' flag to the [General] section for each
file.
2024-11-18 16:28:02 +00:00
matt335672 17ad375aba Allow a programmable backspace key for the login screen
The login screen uses hardcoded scancode values to identify particular
keys. This is changed for the backspace key for Colemak support, as
the caps lock key has been re-purposed as a backspace key. We now
identify a backspace request by looking at the keysym for the key.
2024-11-18 16:28:02 +00:00
matt335672 cbf5f7aae8 Add support for keymaps with no Caps Lock key
The Colemak keyboard does not have a Caps Lock key:-

1) Keyboard files have a caps_lock_supported flag added to the [General]
   section. This is set to false if the keyboardlayout does not have a
   Caps Lock key.
2) The caps_lock_supported flag is parsed when reading keymap files
   for the login screen/VNC.
3) The flag is also checked when telling xorgxrdp what the scancode for
   the caps lock key is.
2024-11-18 16:28:02 +00:00
matt335672 25e5612ca3 Add Colemak keyboard definition files
Colemak is unusual in that it doesn't have a Caps Lock key.
This means we don't need to generate capslock sections in the keymap
file. We add a flag to the keymap file [General] section to indicate
these sections are missing.

A change is also made to the way the Dvorak keymap file (00010409) is
generated, for consistency with Colemak.
2024-11-18 16:28:02 +00:00
Koichiro Iwao 5fb59a7c38 Set different frame capture interval for H.264 and RFX
and pass them to xorgxrdp.

(cherry picked from commit c55694c51b570d84ad63bfb5dc7bdec75fee57da)
2024-11-18 23:19:35 +09:00
matt335672 b40ace381c Merge pull request #3312 from matt335672/cppcheck_add_have_boost
Re-introduce -DHAVE_BOOST to cppcheck builds
2024-11-15 14:41:13 +00:00
matt335672 01c262abdd Re-introduce -DHAVE_BOOST to cppcheck builds
A regression introduced in cppcheck 2.15.0 has been fixed in 2.16.0
2024-11-15 12:07:10 +00:00
matt335672 595bda604c Merge pull request #3291 from matt335672/update_cppcheck_ver
Update cppcheck version to 2.16.0
2024-11-14 10:22:14 +00:00
matt335672 6a49ff9946 Add fix for chromium saving files to FUSE filesys
Chromium 130 won't save to our filesystem if we don't return a
max filename length.

Dummy parameters were tried for inode counts, but these do not seem to
be necessary. Not also that btrfs foes not return values for these
fields.
2024-11-11 12:15:23 +00:00
matt335672 5dc4fdbc2c Add support for statvfs() to FUSE
Some desktop environments are now checking for free space before
copying files to a destination.

To support this, the FUSE filesystem needs to convert the statvfs()
system call to the relevent PDUs from [MS-RDPEFS]
2024-11-08 15:57:40 +00:00
matt335672 9c0a0a8c16 Merge pull request #3294 from matt335672/rework_video_size_warning
Clarify size limit for uploaded videos
2024-11-04 11:54:00 +00:00
matt335672 e58796d69b Clarify size limit for uploaded videos 2024-11-04 11:26:43 +00:00
matt335672 1e3acce73e cppcheck 2.15.0 -> 2.16.0 2024-10-28 14:17:37 +00:00
matt335672 a958e37e20 Remove calls to SSL_CTX_set_ecdh_auto()
SSL_CTX_set_ecdh_auto() was introduced for  OpenSSL 1.0.2. It
has no effect for OpenSSL 1.1.0 and later. For versions before
1.0.2 and after (and including 1.1.0) it should not be called.

The macro was erroneously being called twice for OpenSSL 3.0.0 and
later - this has also been remedied
2024-10-28 14:15:38 +00:00
matt335672 514c62c7c1 Merge pull request #3275 from matt335672/move_to_fuse3
Move to fuse3
2024-10-23 10:12:35 +01:00
matt335672 b31862462a Merge pull request #3281 from matt335672/no_videos
Ask for no videos on the bug form
2024-10-23 09:51:01 +01:00
matt335672 6a54c21998 Merge pull request #3243 from matt335672/chansrv_connect_to_sesman
Fix v0.10.x regressions in standalone chansrv
2024-10-22 12:40:59 +01:00
matt335672 d17d12d078 Add optional UID to DISPLAY() in chansrvport
The code to determine the socket address of chansrv when using
a manually started xrdp-chansrv may need some help determining
the UID of the session.

This commit allows a UID to be optionally specified in the
DISPLAY() function, if the code is unable to determine the
UID automatically from the connection parameters.

If a manual chansrvport is entered, xrdp now logs what it is
connecting to, to assist in debugging.
2024-10-22 12:21:25 +01:00