summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJose M. Guisado <jguisado@soleta.eu>2023-07-03 09:17:53 +0200
committerJose M. Guisado <jguisado@soleta.eu>2023-07-03 09:17:53 +0200
commit3de8c25e4ee30d3d917d9b6c6956ccedeee29245 (patch)
tree9b9308e4fe29af9f79faf7082d2e1d1c11462b82
parentd2c19ef13d73b92b94a29e2b226d76347d36374e (diff)
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")
-rw-r--r--src/core.c8
1 files 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;
}
}