- FIX: Guard post_read_request hook with r->main and r->prev checks to
avoid logging duplicate lines for subrequests and internal redirects
- DOC: Document subrequest/redirect filtering in architecture.yml
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- FIX: timestamp JSON field now uses r->request_time (set at request reception
by Apache) instead of apr_time_now() called during log processing
- DOC: remove unparsed_uri and fragment fields from architecture.yml data model
(these fields are not logged by the module)
- DOC: update example_full and timestamp description in architecture.yml
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- PACKAGING: Mark mod_reqin_log.conf as %config(noreplace)
- User modifications to config file are now preserved during RPM upgrades
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- FIX: Correct JSON string length parameters for query field (8→9)
- FIX: Add null-termination after buffer reallocation in dynbuf_append
- CHANGE: Remove unparsed_uri, fragment, and content_length fields
- TEST: Update unit tests to match dynbuf_append fix
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Remove req_id field (r->log_id) from JSON output
- Add query field (r->parsed_uri.query) - query string without '?'
- Add fragment field (r->parsed_uri.fragment) - fragment without '#'
- Update architecture.yml documentation
- Bump version to 1.0.9
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Add req_id, scheme, unparsed_uri, args, keepalives, content_length fields
- Change socket type from SOCK_STREAM to SOCK_DGRAM
- Update architecture.yml documentation with new fields
- Bump version to 1.0.8 with changelog entry
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- 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>
- Remove --no-cache flag from docker build command
- Faster local builds by reusing cached layers
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Define %global spec_version before Version field
- Allows RPM 4.18+ to manage version via macro
- Simplifies version management in spec file
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- 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>
- 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>
- Remove scripts/build.sh and scripts/test.sh (not referenced in CI/CD)
- Remove tests/integration/test_integration.py (never automated)
- Keep only unit tests (C/cmocka) executed in GitLab CI
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- 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>
- Replace fpm with rpmbuild for standard RPM packaging
- Add mod_reqin_log.spec file with Version, %install, %files, %changelog
- Use Rocky Linux 9 as package-builder base image
- Extract version automatically from .spec file
- Remove CHANGELOG file (changelog now in .spec)
- Build RPMs for el8, el9, el10 distributions
Verified RPM metadata:
Name: mod_reqin_log
Version: 1.0.2
Release: 1.el8/el9/el10
License: Apache-2.0
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- 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>
- Update installation section to use Docker-based packaging
- Replace rpmbuild and debhelper commands with make package-* targets
- Document new unified packaging workflow with fpm
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- 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>
- Add reqin_log_child_exit() to close Unix socket on child exit
- Register hook with ap_hook_child_exit()
- Ensures clean socket cleanup as specified in architecture.yml
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>