From: Zdenek Dohnal Date: Wed, 15 May 2024 09:40:22 +0000 (+0200) Subject: client.c: Allow any query string starting with '?' X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3826de00c5823d0118ed2bacb9caccd341cbdbe1;p=thirdparty%2Fcups.git client.c: Allow any query string starting with '?' Allow query strings starting with '?' when accessing the '/printers' and '/classes' resources. --- diff --git a/scheduler/client.c b/scheduler/client.c index 9994f6b5f7..eea176f243 100644 --- a/scheduler/client.c +++ b/scheduler/client.c @@ -1105,7 +1105,7 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */ } else if (!strncmp(con->uri, "/classes", 8)) { - if (strlen(con->uri) > 9 && _cups_strncasecmp(con->uri + 9, "?QUERY=", 7) && !cupsdFindClass(con->uri + 9)) + if (strlen(con->uri) > 9 && con->uri[9] != '?' && !cupsdFindClass(con->uri + 9)) { if (!cupsdSendError(con, HTTP_STATUS_NOT_FOUND, CUPSD_AUTH_NONE)) { @@ -1132,7 +1132,7 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */ } else if (!strncmp(con->uri, "/printers", 9)) { - if (strlen(con->uri) > 10 && _cups_strncasecmp(con->uri + 10, "?QUERY=", 7) && !cupsdFindPrinter(con->uri + 10)) + if (strlen(con->uri) > 10 && con->uri[10] != '?' && !cupsdFindPrinter(con->uri + 10)) { if (!cupsdSendError(con, HTTP_STATUS_NOT_FOUND, CUPSD_AUTH_NONE)) {