Guard logs with DEBUG_FLAG_DATA in url_decode_escape_seq() Avoid logging to debug5() and error() as an invalid URL escape is expected to happen all the time from user submitted data. Changelog: slurmrestd - Log URLs that fail to parse under the debugflag=data instead as errors or debug5 as invalid user provided is not directly an error of the slurmrestd daemon itself. Issue: 50604
diff --git a/src/common/http.c b/src/common/http.c index 687d0323..dee446e 100644 --- a/src/common/http.c +++ b/src/common/http.c
@@ -212,22 +212,24 @@ //TODO: find more invalid characters? if (decoded == '\0') { - error("%s: invalid URL escape sequence for 0x00", - __func__); + log_flag(DATA, "%s: invalid URL escape sequence for 0x00", + __func__); return '\0'; } else if (decoded >= 0xff) { - error("%s: invalid URL escape sequence for 0x%02" PRIx16, - __func__, decoded); + log_flag(DATA, "%s: invalid URL escape sequence for 0x%02" PRIx16, + __func__, decoded); return '\0'; } - debug5("%s: URL decoded: 0x%c%c -> %c (0x%02" PRIx16 ")", + log_flag(DATA, "%s: URL decoded: 0x%c%c -> %c (0x%02" PRIx16 ")", __func__, (unsigned char) high, (unsigned char) low, (unsigned char) decoded, decoded); return (unsigned char) decoded; } else { - debug("%s: invalid URL escape sequence: %s", __func__, ptr); + log_flag_hex(DATA, ptr, strnlen(ptr, 3), + "%s: invalid URL escape sequence: %s", __func__, + ptr); return '\0'; } }