release: version 1.0.14 - Harmonize JSON construction

- REFACTOR: All JSON fields now follow same pattern (field ends with comma)
- FIX: Duplicate comma between query and host fields
- FIX: Buffer corruption in dynbuf_append (copy null terminator)
- CLEANUP: Remove unnecessary comments, simplify code structure

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
Jacquin Antoine
2026-03-02 23:50:39 +01:00
parent 887318ba89
commit ae933fcf5a
2 changed files with 15 additions and 16 deletions

View File

@ -734,7 +734,6 @@ static void log_request(request_rec *r, reqin_log_config_t *cfg, reqin_log_child
/* timestamp (nanoseconds since epoch) */
{
apr_time_t now = apr_time_now();
/* Cast to apr_uint64_t before multiplication to prevent overflow */
apr_uint64_t ns = ((apr_uint64_t)now) * APR_UINT64_C(1000);
char ts_buf[32];
snprintf(ts_buf, sizeof(ts_buf), "%" APR_UINT64_T_FMT, ns);
@ -743,7 +742,7 @@ static void log_request(request_rec *r, reqin_log_config_t *cfg, reqin_log_child
dynbuf_append(&buf, ",", 1);
}
/* scheme (http or https) */
/* scheme */
dynbuf_append(&buf, "\"scheme\":\"", 10);
append_json_string(&buf, scheme);
dynbuf_append(&buf, "\",", 2);
@ -788,23 +787,23 @@ static void log_request(request_rec *r, reqin_log_config_t *cfg, reqin_log_child
append_json_string(&buf, path);
dynbuf_append(&buf, "\",", 2);
/* query (query string without leading ?, e.g., foo=bar) */
/* query */
dynbuf_append(&buf, "\"query\":\"", 9);
append_json_string(&buf, query);
dynbuf_append(&buf, "\"", 1);
dynbuf_append(&buf, "\",", 2);
/* host */
dynbuf_append(&buf, ",\"host\":\"", 9);
dynbuf_append(&buf, "\"host\":\"", 8);
append_json_string(&buf, host);
dynbuf_append(&buf, "\",", 2);
/* http_version */
dynbuf_append(&buf, "\"http_version\":\"", 16);
append_json_string(&buf, http_version);
dynbuf_append(&buf, "\"", 1);
dynbuf_append(&buf, "\",", 2);
/* keepalives (number of requests on this connection) */
dynbuf_append(&buf, ",\"keepalives\":", 15);
/* keepalives */
dynbuf_append(&buf, "\"keepalives\":", 13);
{
char ka_buf[16];
snprintf(ka_buf, sizeof(ka_buf), "%d", r->connection->keepalives);