security/wazuh-manager: Fix build with llvm >= 18

- Update nlohmann-json bundle to 3.12.0. It fixes issues when
  llvm >= 18 is used. [2]
- Add a missing dependency of numpy whl installed from wazuh-cache [1]
- Other minor changes
- Bump PORTREVISION

PR:		287003
Reported by:	girgen [1]
Reported by:    Trond Endrestøl [2]
This commit is contained in:
Jose Alonso Cardenas Marquez 2025-05-24 08:48:41 -07:00
parent 4a1aa06d75
commit a14b2c0196
No known key found for this signature in database
GPG Key ID: 335B9246BA5E30F4
4 changed files with 48 additions and 22 deletions

View File

@ -1,6 +1,7 @@
PORTNAME= wazuh
DISTVERSIONPREFIX= v
DISTVERSION= 4.12.0
PORTREVISION= 1
CATEGORIES= security
MASTER_SITES= https://packages.wazuh.com/deps/40/libraries/sources/:wazuh_sources \
LOCAL/acm/${PORTNAME}/:wazuh_cache
@ -20,15 +21,16 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= aarch64 amd64
BUILD_DEPENDS= cmake:devel/cmake-core \
autoconf>=2.71:devel/autoconf \
bash>0:shells/bash
LIB_DEPENDS+= libcurl.so:ftp/curl \
BUILD_DEPENDS= autoconf>=2.71:devel/autoconf \
bash>0:shells/bash \
cmake:devel/cmake-core
LIB_DEPENDS+= libarrow.so:databases/arrow \
libcurl.so:ftp/curl \
libepoll-shim.so:devel/libepoll-shim \
libffi.so:devel/libffi \
libgdbm.so:databases/gdbm \
libnghttp2.so:www/libnghttp2 \
libffi.so:devel/libffi \
libarrow.so:databases/arrow \
libepoll-shim.so:devel/libepoll-shim
libopenblas.so:math/openblas
RUN_DEPENDS= bash>0:shells/bash
USES= cpe gmake perl5 python:3.11 readline shebangfix sqlite:3 uidfix
@ -64,7 +66,7 @@ EXTERNAL_DISTFILES= audit-userspace.tar.gz:wazuh_sources \
lua.tar.gz:wazuh_sources \
lzma.tar.gz:wazuh_sources \
msgpack.tar.gz:wazuh_sources \
nlohmann.tar.gz:wazuh_sources \
nlohmann.tar.gz:wazuh_cache \
openssl.tar.gz:wazuh_sources \
popt.tar.gz:wazuh_sources \
procps.tar.gz:wazuh_sources \

View File

@ -39,8 +39,8 @@ SHA256 (wazuh-4.12.0/lzma.tar.gz) = 4ce0c192d41072b5679af89bb531efb685c8267a4b7e
SIZE (wazuh-4.12.0/lzma.tar.gz) = 1327581
SHA256 (wazuh-4.12.0/msgpack.tar.gz) = 06d63bcf32896cd0af5480c401134b1ad1c166fd84ebe5b486e792101ee854e2
SIZE (wazuh-4.12.0/msgpack.tar.gz) = 591294
SHA256 (wazuh-4.12.0/nlohmann.tar.gz) = cefb07936d3d5bfdd3efc5e9bb8d3c807d681273bdac2e83b3d67aef2d1158c4
SIZE (wazuh-4.12.0/nlohmann.tar.gz) = 135749
SHA256 (wazuh-4.12.0/nlohmann.tar.gz) = 6e304c0942ac65f76f012a0ec64dde90e00273b6cc5a498b37cfdd16155e08b0
SIZE (wazuh-4.12.0/nlohmann.tar.gz) = 141576
SHA256 (wazuh-4.12.0/openssl.tar.gz) = 238415641120c8f79d9c1c2caf97b88d3d6dbed562859dd0663bd4b68dc2179e
SIZE (wazuh-4.12.0/openssl.tar.gz) = 15637517
SHA256 (wazuh-4.12.0/popt.tar.gz) = d6880a06622ca32dc4aa39ad5dcf7bef2faa81bd931afbe64ba434ad8fee1daa

View File

@ -1,5 +1,5 @@
--- src/Makefile 2025-04-30 02:30:26.000000000 -0700
+++ src/Makefile 2025-05-09 19:40:18.856441000 -0700
+++ src/Makefile 2025-05-23 14:25:52.122383000 -0700
@@ -49,9 +49,11 @@
HAS_CHECKMODULE = $(shell command -v checkmodule > /dev/null && echo YES)
@ -30,7 +30,7 @@
ifneq (${TARGET},winagent)
DEFINES+=-D${uname_S}
ifeq (${uname_S},Linux)
@@ -269,10 +273,10 @@
@@ -269,13 +273,14 @@
ifeq (${uname_S},FreeBSD)
DEFINES+=-DFreeBSD
OSSEC_CFLAGS+=-pthread -I/usr/local/include
@ -43,7 +43,11 @@
AR_LDFLAGS+=-L/usr/local/lib
AR_LDFLAGS+='-Wl,-rpath,$$ORIGIN/../../lib'
PRECOMPILED_OS:=freebsd
@@ -434,7 +438,6 @@
+ CC?=cc
else
ifeq (${uname_S},NetBSD)
DEFINES+=-DNetBSD
@@ -434,7 +439,6 @@
OSSEC_CFLAGS+=${DEFINES}
OSSEC_CFLAGS+=-pipe -Wall -Wextra -std=gnu99
@ -51,7 +55,7 @@
OSSEC_CFLAGS += ${CFLAGS}
OSSEC_LDFLAGS += ${LDFLAGS}
@@ -531,8 +534,8 @@
@@ -531,8 +535,8 @@
ifneq (,$(filter ${USE_INOTIFY},YES auto yes y Y 1))
DEFINES+=-DINOTIFY_ENABLED
ifeq (${uname_S},FreeBSD)
@ -62,7 +66,7 @@
OSSEC_CFLAGS+=-I/usr/local/include
endif
endif
@@ -957,6 +960,8 @@
@@ -957,6 +961,8 @@
EXTERNAL_LIBS += $(LIBCURL_LIB)
else ifeq (${uname_S},Linux)
EXTERNAL_LIBS += $(LIBCURL_LIB)
@ -71,7 +75,7 @@
else ifeq (${uname_S},Darwin)
EXTERNAL_LIBS += $(LIBCURL_LIB)
endif
@@ -1186,9 +1191,13 @@
@@ -1186,9 +1192,13 @@
cd $(EXTERNAL_CURL) && CPPFLAGS="-fPIC -I${ROUTE_PATH}/${EXTERNAL_OPENSSL}include" LDFLAGS="-L${ROUTE_PATH}/${EXTERNAL_OPENSSL}" LIBS="-ldl -lpthread" ./configure --with-openssl="${ROUTE_PATH}/${EXTERNAL_OPENSSL}" --disable-ldap --without-libidn2 --without-libpsl --without-brotli --without-nghttp2 --without-zstd
endif
else
@ -85,7 +89,7 @@
#### procps #########
@@ -2295,7 +2304,7 @@
@@ -2295,7 +2305,7 @@
#### FIM ######
wazuh-syscheckd: librootcheck.a libwazuh.a ${WAZUHEXT_LIB} build_shared_modules
@ -94,7 +98,7 @@
#### Monitor #######
@@ -2473,7 +2482,7 @@
@@ -2473,7 +2483,7 @@
WPYTHON_DIR := ${INSTALLDIR}/framework/python
OPTIMIZE_CPYTHON?=no
WPYTHON_TAR=cpython.tar.gz
@ -103,7 +107,7 @@
ifneq (,$(filter ${OPTIMIZE_CPYTHON},YES yes y Y 1))
CPYTHON_FLAGS=--enable-optimizations
@@ -2487,22 +2496,45 @@
@@ -2487,22 +2497,45 @@
endif
ifeq (,$(wildcard ${EXTERNAL_CPYTHON}/python))
@ -129,7 +133,7 @@
+endif
python_dependencies := requirements.txt
+
+ifeq (${uname_S},FreeBSD)
+install_dependencies:
+ifneq (,$(wildcard ${EXTERNAL_CPYTHON}))
@ -144,14 +148,14 @@
+
+install_api:
+ LD_LIBRARY_PATH="$(STAGEDIR)${INSTALLDIR}/lib" LDFLAGS="-L$(STAGEDIR)${INSTALLDIR}/lib" $(STAGEDIR)${WPYTHON_DIR}/bin/python3 -m pip install wazuh-python/api*.whl --root=$(STAGEDIR) --prefix=${WPYTHON_DIR} --no-deps --no-compile
+
+install_mitre:
+ export CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1 && cd ../tools/mitre && $(STAGEDIR)${WPYTHON_DIR}/bin/python3 mitredb.py -d $(STAGEDIR)${INSTALLDIR}/var/db/mitre.db
+else
install_dependencies: install_python
ifneq (,$(wildcard ${EXTERNAL_CPYTHON}))
${WPYTHON_DIR}/bin/python3 -m pip install --upgrade pip --index-url=file://${ROUTE_PATH}/${EXTERNAL_CPYTHON}/Dependencies/simple
@@ -2519,6 +2551,7 @@
@@ -2519,6 +2552,7 @@
install_mitre: install_python
cd ../tools/mitre && ${WPYTHON_DIR}/bin/python3 mitredb.py -d ${INSTALLDIR}/var/db/mitre.db

View File

@ -0,0 +1,20 @@
--- src/shared_modules/utils/rocksDBQueueCF.hpp 2025-05-23 17:21:34.827040000 -0700
+++ src/shared_modules/utils/rocksDBQueueCF.hpp 2025-05-23 17:22:52.671141000 -0700
@@ -192,7 +192,7 @@
m_db->Delete(rocksdb::WriteOptions(), std::string(id) + "_" + std::to_string(index));
!status.ok())
{
- throw std::runtime_error("Failed to dequeue element: " + index);
+ throw std::runtime_error("Failed to dequeue element: " + std::to_string(index));
}
else
{
@@ -291,7 +291,7 @@
{
if (status != rocksdb::Status::NotFound())
{
- throw std::runtime_error("Failed to get elements, error: " + status.code());
+ throw std::runtime_error("Failed to get elements, error: " + std::to_string(status.code()));
}
}
++index;