15 Commits

Author SHA1 Message Date
17d7671380 release: version 1.0.7
- JsonSockLogLevel directive for configurable log levels (DEBUG, INFO, WARNING, ERROR, EMERG)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-01 02:31:43 +01:00
395af61497 release: version 1.0.6
- Default socket path changed to /var/run/logcorrelator/http.sock
- Docker build now uses cache for faster local builds

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-01 01:52:50 +01:00
e8c57dbf64 build: allow Docker cache for RPM builds
- Remove --no-cache flag from docker build command
- Faster local builds by reusing cached layers

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-01 01:51:59 +01:00
c228865a48 release: version 1.0.4 - Build system fixes and cleanup
- Fix RPM package paths in Dockerfile.package (el8, el9, el10 directories)
- Fix Makefile RPM extraction with separate volume mounts
- Remove unused scripts (build.sh, test.sh)
- Remove Python integration tests (not automated in CI)
- Update README.md and architecture.yml for RPM-only packaging
- Remove DEB and el7 references

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-01 01:03:48 +01:00
77aded8bb6 fix: update Makefile RPM extraction with separate volume mounts
- Mount each distribution directory separately (el8, el9, el10)
- Copy RPMs directly to target directories
- Fix extraction path from /output/ to /output/el8/, etc.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-01 01:02:14 +01:00
fe43ca90a8 fix: correct RPM package paths in Dockerfile.package and Makefile
- Create /tmp/packages/el{8,9,10} directories before building RPMs
- Copy RPMs to distribution-specific directories
- Update Makefile extraction path to match new structure

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-01 00:41:59 +01:00
e3ea1fb486 docs: update README and architecture for RPM-only packaging
- Remove DEB and el7 references (RPM only: el8, el9, el10)
- Remove Python integration tests from documentation (not automated in CI)
- Add file inventory in architecture.yml (source, packaging, tests)
- Update CI verify jobs to check RPM metadata with rpm -qi
- Organize RPM packages by distribution in dist/rpm/{el8,el9,el10}/
- Add security and RPM packaging features to README
- Split Requirements into Runtime and Packaging sections

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-01 00:29:51 +01:00
3418cbcbbb Add --no-cache to docker build command
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-28 23:09:59 +01:00
c2e1221e5a release: version 1.0.2 - Audit security fixes and RPM packaging
Security hardening:
- Add input sanitization for method (32), path (2048), host (256), http_version (16)
- Prevent log injection via oversized HTTP values
- Add LOG_THROTTLED macro for consistent error reporting
- Improve socket state double-check pattern to avoid unnecessary reconnects

Code quality:
- Fix const qualifier warnings in get_header()
- Add flags field to module definition
- Add -Wno-error=format-security for compatibility

Documentation:
- Clarify timestamp precision (microseconds expressed as nanoseconds)
- Update README and architecture.yml

Testing:
- Add 4 unit tests for input sanitization
- All 78 tests passing

Packaging:
- Remove DEB package support (RPM only: el8, el9, el10)
- Add CHANGELOG file included in RPM packages
- Bump version to 1.0.2

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-28 21:45:06 +01:00
d0ca0a7e4c 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>
2026-02-28 21:02:05 +01:00
59856a7ed7 fix: forcer la compilation en C11 dans le Makefile
Co-authored-by: aider (openrouter/openai/gpt-5.3-codex) <aider@aider.chat>
2026-02-28 20:42:29 +01:00
46291898e1 fix: renforcer la robustesse du module et étendre les tests/CI
Co-authored-by: aider (openrouter/openai/gpt-5.3-codex) <aider@aider.chat>
2026-02-28 20:28:40 +01:00
a935ed1641 ci: migrate to GitLab CI with multi-distribution RPM builds
- Replace GitHub Actions with GitLab CI using Docker-in-Docker
- Build 3 RPMs (el7, el8, el9) + 1 DEB from Dockerfile.package
- Add verify jobs for each target distribution
- Remove obsolete files:
  - Dockerfile, Dockerfile.test-socket (replaced by Dockerfile.package)
  - scripts/socket_consumer.py, scripts/socket_listener.py
  - scripts/test_unix_socket.sh, scripts/run_integration_tests.sh
- Update README.md with new package targets
- Update architecture.yml for GitLab CI workflow

Breaks: Single RPM no longer supported (glibc incompatibility)
Replaced by: Distribution-specific RPMs (el7, el8, el9)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-28 16:06:57 +01:00
802ce75a80 Unify packaging: use Docker + fpm for DEB and RPM builds
- Add Dockerfile.package with multi-stage build (builder, package-builder, output)
- Update Makefile to add package, package-deb, package-rpm, and test-package targets
- Replace debhelper and rpmbuild with fpm for consistent packaging
- Both DEB and RPM packages now built from single Dockerfile

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-27 15:31:55 +01:00
66549acf5c Initial commit: mod_reqin_log Apache module
Features:
- JSON logging of HTTP requests to Unix domain socket
- Configurable HTTP headers logging (flat JSON structure)
- Header value truncation and count limits
- Automatic reconnect on socket disconnection
- Error reporting with throttling

Configuration directives:
- JsonSockLogEnabled: Enable/disable logging
- JsonSockLogSocket: Unix socket path
- JsonSockLogHeaders: List of headers to log
- JsonSockLogMaxHeaders: Maximum headers to log
- JsonSockLogMaxHeaderValueLen: Max header value length
- JsonSockLogReconnectInterval: Reconnect delay
- JsonSockLogErrorReportInterval: Error log throttle

Includes:
- Module source code (src/)
- Unit and integration tests (tests/, scripts/)
- Documentation (README.md, architecture.yml)
- Build configuration (CMakeLists.txt, Makefile)
- Packaging (deb/rpm)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-26 13:55:07 +01:00