Commit Graph

5154 Commits

Author SHA1 Message Date
matt335672 cad52028e0 Add g_sck_set_reuseaddr()
Only set SO_REUSEADDR where it is actually required, which is
before most (but not all) bind() calls.
2025-03-12 10:01:27 +00:00
matt335672 984a0b2767 Merge pull request #3454 from matt335672/coverity_fix
Fix coverity warning concerning unchecked return
2025-03-10 20:53:43 +00:00
matt335672 f618965eb7 Fix coverity warning concerning unchecked return
Coverity insists the return value from read() is unchecked. This seems
to not be true to me, but adding a complete sanity check seems to fix
it.
2025-03-10 20:48:05 +00:00
matt335672 0115e9c806 Merge pull request #3452 from matt335672/vnc_local_sock_connection
Add new session type SCP_SESSION_TYPE_XVNC_UDS
2025-03-10 09:56:55 +00:00
matt335672 39a178902e Improve logging on failed connect attempt 2025-03-08 11:45:26 +00:00
matt335672 39ec7089ac Add FIPS mode detection
On FIPS-based systems, DES3 is not used at all, and the default
session type is UDS-based Xvnc rather than TCP-based Xvnc.
2025-03-08 11:45:26 +00:00
matt335672 6979df55ee Add new session type SCP_SESSION_TYPE_XVNC_UDS
This PR adds a new session type, which is a VNC session using a
Unix Domain Socket connection rather than a TCP connection.

This is necessary for FIPS_based deployments using VNC, as the classic
VNC password algorithm is not supported by FIPS
2025-03-08 11:45:26 +00:00
matt335672 e8a0699bb4 Merge pull request #3393 from matt335672/xauth_in_sysdir
Add XAuthorityInSystemDir option
2025-03-03 13:38:09 +00:00
matt335672 f5634269f2 Merge pull request #3442 from matt335672/coverity_scan
Fix more coverity warnings
2025-02-28 14:47:42 +00:00
matt335672 f187d2314c Coverity CID 468117 2025-02-28 14:34:26 +00:00
matt335672 2805572601 Coverity CID 468112 2025-02-28 14:34:26 +00:00
matt335672 8b449868fe Coverity CID 468108
Repeated constant WAVE_FORMAT_MULAW in conditional
2025-02-28 14:34:26 +00:00
matt335672 621920e3f0 Coverity CID 468103 2025-02-28 14:34:26 +00:00
matt335672 a7ab8ecd9a Coverity CID 468102 2025-02-28 14:34:26 +00:00
matt335672 4a95185dc6 Coverity CID 475385 2025-02-28 11:18:58 +00:00
matt335672 a4209c1c34 Merge pull request #3439 from matt335672/update_cppcheck
Add support for cppcheck 2.17.x
2025-02-27 15:15:04 +00:00
matt335672 82de537221 Rebase cppcheck 2.17.0 -> 2.17.1 2025-02-27 15:04:11 +00:00
matt335672 3cc1265adc Add test suite calls for list16
Following a re-write of the list16 module to avoid memory allocation
issues, a test suite is added for the module.
2025-02-27 15:04:11 +00:00
matt335672 2f46ef27a2 Add support for cppcheck 2.17.0
cppcheck 2.17.0 adds checks that a NULL pointer returned from malloc() and
calloc() is not used.

We do this quite a lot.

I've addressed this by adding functions g_malloc_nofail() and
g_calloc_nofail() which either allocate memory or abort.
functions are now called in places where we are not making these
checks.

Many of these checks are in test programs or example programs.

I've modified the list16 module to handle out-of-memory conditions.
2025-02-27 15:04:11 +00:00
jsorg71 3446614961 Merge pull request #3320 from jsorg71/nvenc
add support for nvenc and accel_assist
2025-02-21 22:39:57 -08:00
Jay Sorg 75b9304304 add grid options to sesman.ini 2025-02-16 17:34:51 -08:00
Jay Sorg 6dcb8ffe79 add support for nvenc and accel_assist 2025-02-16 17:34:51 -08:00
matt335672 6889a0731d Merge pull request #3433 from matt335672/coverity_scan
Address Coverity mutex issues
2025-02-14 17:09:53 +00:00
matt335672 67fbccc539 Address Coverity mutex issues
Coverity has generated a number of 'Data race condition' and 'Double
lock' false positives. A lot of these seem to be caused by the NULL
guard in tc_mutex_unlock() not being paired with a NULL guard in
tc_mutex_lock(). This PR adds a NULL guard to tc_mutex_lock().

It should be noted, that on Linux at least, passing NULL to
tc_mutex_lock() causes a segfault. We clearly aren't doing this at the
moment, or we'd know about it. A log message is generated if a NULL
call is made, rather than failing silently.
2025-02-14 11:57:42 +00:00
matt335672 fa9cc88389 Merge pull request #3413 from matt335672/detect_noopenh264
Cope with broken OpenH264 encoder
2025-02-13 11:29:28 +00:00
matt335672 8c69cb00ef Merge pull request #3429 from matt335672/add_hu_kbd
Add Hungarian keyboard
2025-02-12 09:44:32 +00:00
matt335672 fb9e543b37 Add xorgxrdp keyboard 040e -> hu 2025-02-11 09:53:14 +00:00
matt335672 bc6a91c935 Add Hungarian keyboard km-0000040e.toml 2025-02-11 09:53:14 +00:00
matt335672 d86dc49423 Merge pull request #3428 from matt335672/update_freebsd_ci
Bump Cirrus CI to 14.2
2025-02-11 09:52:53 +00:00
matt335672 023dbf266b Bump Cirrus CI to 14.2 2025-02-11 09:42:56 +00:00
matt335672 5800c4c5c7 Merge pull request #3426 from matt335672/coverity_scan
More coverity fixes
2025-02-10 16:03:24 +00:00
matt335672 f376196c15 Coverity CID 468135 2025-02-10 15:31:46 +00:00
matt335672 8769481136 Coverity CID 468118 2025-02-10 15:31:34 +00:00
matt335672 cb90458609 Coverity CID 468116 2025-02-10 15:31:19 +00:00
matt335672 6088ba3f3b Address offline Coverity issue
This Coverity issue was encountered in a private build, but does not
appear to be in the Github CI build. Coverity is suspecting a copy-paste
betweem these lines in sound.c:-

1838: xstream_copyin(s, &g_stream_inp->data[g_stream_inp->size - g_bytes_in_stream], i);
1844: xstream_copyin(s, &g_stream_inp->data[g_stream_inp->size - g_bytes_in_stream], g_bytes_in_stream);

An inspection of the code shows this to bre a false positive
2025-02-10 15:26:55 +00:00
matt335672 f7543c2586 Coverity CID 468100 2025-02-10 15:26:34 +00:00
matt335672 aae69f4eae Merge pull request #3422 from matt335672/coverity_scan
Update TCP proxy to address Coverity errors
2025-02-04 12:31:17 +00:00
matt335672 e169733e1e Update TCP proxy to address Coverity errors
Coverity seems to have some problems with the loop(s) copying data from
one socket to another, in that it assume that eventually an integer
overflow will occur. It's not obvious why this should be flagged, but
this seems likely to be a false positive.

This commit avoids the integer issue by using a simple pointer + count
mechanism.

The socket copy code has been placed in a separate function - before it
was duplicated. Minor fixes have been made to error reporting around the
connection code.
2025-02-04 12:23:24 +00:00
matt335672 d924440871 Merge pull request #3421 from matt335672/coverity_scan
Address more Coverity warnings
2025-02-03 15:54:58 +00:00
matt335672 b7a94bdb0a Coverity CID 468157 2025-02-03 15:32:55 +00:00
matt335672 eff8ba75ee Coverity CID 468140 2025-02-03 15:32:55 +00:00
matt335672 c122e0563d Coverity CID 468110/468131 - fix newly detected error
THe previous commit unmasked another potential error in Coverity,
which is addressed by tightening up return value restrictions.
2025-02-03 15:32:55 +00:00
matt335672 2d2934241c Coverity CID 468110/468131
file descriptors cannot be zero when not in use. This commit
enforces that for the test TCP proxy.
2025-02-03 15:32:55 +00:00
matt335672 db32f9c6a3 Coverity CID 468119
Add additional check to prevent Coverity assuming the worst
2025-02-03 15:32:55 +00:00
matt335672 825070beb6 Add software H.264 code to Coverity scan 2025-01-31 12:13:39 +00:00
matt335672 195d04a7d5 Check the H.264 library works before trying to load it
We found during deployment that it is possible for some configurations
to have the build-time noopenh264 library installed, rather than the
openh264 library. This causes a failure which is difficult to diagnose.
2025-01-31 12:13:39 +00:00
matt335672 c1042e8dc2 Merge pull request #3418 from matt335672/fix_typo
Fix typo around lame development package
2025-01-31 11:15:42 +00:00
matt335672 6757b90e92 Fix typo around lime development package
Package for RPM-based systems is lame-devel rather than lamemp3-devel
2025-01-31 10:55:42 +00:00
matt335672 7eb96dd7f8 Merge pull request #3410 from matt335672/coverity_scan
Fix more coverity warnings
2025-01-27 12:18:35 +00:00
matt335672 8196314ad0 Fix Coverity warnings in neutrinordp
The automated Coverity scan does not currently include neutrinordp

Two problems fixed:-
1) MAX_STATIC_CHANNELS at 31 is bigger than freerdp->sessings->channels
   (16)
2) pamusername in the mod parameters is assumed to be 256 bytes when
   it is written to.
2025-01-27 11:39:38 +00:00