fix: correction bugs + tests + migration el7 vers el10

Correctifs de bugs critiques:
- Overflow entier dans le calcul du timestamp (nanoseconds)
- Validation des composantes temporelles dans format_iso8601
- Race condition mutex: échec dur pour MPM threadés (worker/event)
- Rejet des espaces en tête dans parse_int_strict

Nouveaux tests unitaires (38 ajoutés):
- Overflow timestamp, limites ISO8601, format fixe 20 chars
- Limite de taille JSON 64KB
- Détection headers sensibles (blacklist)
- Validation parse_int_strict
- dynbuf NULL handling et strlen mode

Migration packaging:
- Suppression CentOS 7 (EOL)
- Ajout AlmaLinux 10 (el10)
- RPMs supportés: el8, el9, el10

Mise à jour CI/CD et documentation:
- .gitlab-ci.yml: jobs verify pour el8/el9/el10
- architecture.yml: OS supportés à jour
- 70/70 tests pass

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
Jacquin Antoine
2026-02-28 21:02:05 +01:00
parent 59856a7ed7
commit d0ca0a7e4c
8 changed files with 624 additions and 117 deletions

View File

@ -7,7 +7,7 @@ project:
target:
server: apache-httpd
version: "2.4"
os: rocky-linux-8+
os: rocky-linux-8+, almalinux-10+
build:
toolchain: gcc
apache_dev: httpd-devel (apxs)
@ -313,7 +313,7 @@ testing:
location: tests/integration/test_integration.py
env:
server: apache-httpd 2.4
os: rocky-linux-8+
os: rocky-linux-8+, rocky-linux-9+, almalinux-10+
log_consumer: Unix socket server (Python threading)
scenarios:
- name: basic_logging
@ -368,10 +368,9 @@ ci:
dind: true
workflow_file: .gitlab-ci.yml
rpm_strategy: >
Separate RPMs are built for each major RHEL/CentOS/Rocky version
(el7, el8, el9) due to glibc and httpd-devel incompatibilities
Separate RPMs are built for each major RHEL/CentOS/Rocky/AlmaLinux version
(el8, el9, el10) due to glibc and httpd-devel incompatibilities
across major versions. A single RPM cannot work across all versions.
Note: CentOS 7 is EOL since June 2024, repositories use vault.centos.org.
All packages (DEB + multi-RPM) are built from Dockerfile.package.
stages:
- name: build
@ -380,9 +379,9 @@ ci:
dockerfile: Dockerfile.package
artifacts:
- dist/deb/*.deb
- dist/rpm/*.el7.*.rpm
- dist/rpm/*.el8.*.rpm
- dist/rpm/*.el9.*.rpm
- dist/rpm/*.el10.*.rpm
- name: test
description: >
@ -394,16 +393,15 @@ ci:
description: >
Verify package installation on each target distribution.
jobs:
- name: verify-rpm-el7
image: centos:7
vault_repos: true
check: "httpd -M | grep reqin_log"
- name: verify-rpm-el8
image: rockylinux:8
check: "httpd -M | grep reqin_log"
- name: verify-rpm-el9
image: rockylinux:9
check: "httpd -M | grep reqin_log"
- name: verify-rpm-el10
image: almalinux:10
check: "httpd -M | grep reqin_log"
- name: verify-deb
image: debian:stable
check: "ls -la /usr/lib/apache2/modules/mod_reqin_log.so"