Bug 2512488 - The civetweb build doesn't actually enable the X_DOM_SOCKET option
Summary: The civetweb build doesn't actually enable the X_DOM_SOCKET option
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: civetweb
Version: 44
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Kaleb KEITHLEY
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-08-07 12:19 UTC by Mattias Ellert
Modified: 2026-08-25 03:28 UTC (History)
1 user (show)

Fixed In Version: civetweb-1.16-15.fc44 civetweb-1.16-16.fc45 civetweb-1.16-16.fc46
Clone Of:
Environment:
Last Closed: 2026-08-16 01:06:27 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Patch based on the upstream commit (1.25 KB, patch)
2026-08-07 12:22 UTC, Mattias Ellert
no flags Details | Diff
Updated specfile (4.19 KB, text/plain)
2026-08-07 12:24 UTC, Mattias Ellert
no flags Details

Description Mattias Ellert 2026-08-07 12:19:32 UTC
The changelog entry for last change to the civetweb package says:

enable -DCIVETWEB_ENABLE_WEBSOCKETS and -DCIVETWEB_ENABLE_X_DOM_SOCKET

However, checking the available features in the library using a tiny test program:

$ cat civetweb_check_features.c
#include "civetweb.h"
int main()
{
    printf("%x\n", mg_check_feature(MG_FEATURES_ALL));
    return 0;
}
$ gcc civetweb_check_features.c -lcivetweb
$ ./a.out 
9f

I.e. MG_FEATURES_WEBSOCKET (0x10u) is available in the library, but MG_FEATURES_X_DOMAIN_SOCKET (0x800u) is not.

The civetweb source provides two different build systems: plain makefiles and cmake. Providing more than one build system introduces a risk that they diverge, which has happened here: in the released version 1.16 the plain makefiles support enabling X_DOM_SOCKET, but cmake does not. Since the Fedora and RHEL builds use cmake the option, though present in the cmake command line in the spec file, is not propagated to the build. The missing lines in the CMakeLists.txt have since been added in a commit to the upstream github repo:

https://github.com/civetweb/civetweb/commit/08b7241f4bce808c3a932a5fddc1181acee5c0c1

Adding a patch based on this commit fixes the problem.

An additional point:

According to the changelog the last change was made to allaw root to be built using the system civetweb. As the maintainer of the root package I welcome this step. However, in the current master branch in the root github repo, the check for a good system civetweb library checks for three features:

https://github.com/root-project/root/blob/58786cc3783e90f0afa7a5529f8d206c48a2453d/cmake/modules/SearchInstalledSoftware.cmake#L587

CIVETWEB_HAS_WEBSOCKET, CIVETWEB_HAS_ZLIB amd CIVETWEB_HAS_X_DOM_SOCKET.

I would therefore like to request that the ZLIB compression option is enabled in the build as well.

Wirh these changes the test program above returns:

$ LD_LIBRARY_PATH=./usr/lib64 ./a.out 
a9f

I.e. all of MG_FEATURES_WEBSOCKET (0x10u), but MG_FEATURES_X_DOMAIN_SOCKET (0x800u)
and MG_FEATURES_COMPRESSION (0x200u) are available in the library.

civetweb ia currently retired in rawhide, with the stated reason: "unused by any packages". With the fixes proposed in this bugreport this would not be true any more, since it would be used to build the root package. I would therefore like to request that the package is unretired.

How can these changes be forwarded to the RHEL packages as well?

Reproducible: Always

Steps to Reproduce:
1. See test program in Details above

Actual Results:
X_DOM_SOCKET not supported.

Expected Results:
X_DOM_SOCKET (and ZLIB compression) supported.

Comment 1 Mattias Ellert 2026-08-07 12:22:21 UTC
Created attachment 2153910 [details]
Patch based on the upstream commit

Comment 2 Mattias Ellert 2026-08-07 12:24:29 UTC
Created attachment 2153911 [details]
Updated specfile

Adds the patch to fix X_DOM_SOCKET support and enables ZLIB compression support.

Comment 3 Fedora Update System 2026-08-07 18:14:25 UTC
FEDORA-2026-781a24b2f2 (civetweb-1.16-15.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-781a24b2f2

Comment 4 Fedora Update System 2026-08-08 01:42:13 UTC
FEDORA-2026-781a24b2f2 has been pushed to the Fedora 44 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-781a24b2f2`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-781a24b2f2

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 5 Fedora Update System 2026-08-16 01:06:27 UTC
FEDORA-2026-781a24b2f2 (civetweb-1.16-15.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 6 Fedora Update System 2026-08-25 03:24:17 UTC
FEDORA-2026-251dd8f405 (civetweb-1.16-16.fc45) has been submitted as an update to Fedora 45.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-251dd8f405

Comment 7 Fedora Update System 2026-08-25 03:24:24 UTC
FEDORA-2026-1eb20748bb (civetweb-1.16-16.fc46) has been submitted as an update to Fedora 46.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-1eb20748bb

Comment 8 Fedora Update System 2026-08-25 03:28:33 UTC
FEDORA-2026-251dd8f405 (civetweb-1.16-16.fc45) has been pushed to the Fedora 45 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 9 Fedora Update System 2026-08-25 03:28:39 UTC
FEDORA-2026-1eb20748bb (civetweb-1.16-16.fc46) has been pushed to the Fedora 46 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.