From 3de8c25e4ee30d3d917d9b6c6956ccedeee29245 Mon Sep 17 00:00:00 2001 From: "Jose M. Guisado" Date: Mon, 3 Jul 2023 09:17:53 +0200 Subject: core: log payload if sequences do not match We need to inspect the received payload if any error is raised related to the X-Sequence header. Not just when a malformed X-Sequence header is detected. Fixes: d2c19ef13d7 ("core: add X-Sequence header support") --- src/core.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/core.c b/src/core.c index bb76df0..05e3bc1 100644 --- a/src/core.c +++ b/src/core.c @@ -180,13 +180,15 @@ static int og_agent_state_recv_hdr_rest(struct og_client *cli) ptr = strstr(cli->buf, "X-Sequence: "); if (ptr) { if (sscanf(ptr, "X-Sequence: %i[^\r\n]", &seq) != 1) { - syslog(LOG_ERR, "Invalid sequence value from client %s. Payload:\n%s", + syslog(LOG_ERR, "Invalid sequence value from client %s.\n" + "Payload:\n%s", inet_ntoa(cli->addr.sin_addr), cli->buf); return -1; } if (cli->seq != 0 && cli->seq != seq) { - syslog(LOG_ERR, "Unexpected sequence %u from client %s, expecting %u.", - seq, inet_ntoa(cli->addr.sin_addr), cli->seq); + syslog(LOG_ERR, "Unexpected sequence %u from client %s, expecting %u.\n" + "Payload:\n%s", + seq, inet_ntoa(cli->addr.sin_addr), cli->seq, cli->buf); return -1; } } -- cgit v1.2.3-18-g5258