]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Fix unauthenticated print policies (Issue #1557)
authorMichael R Sweet <msweet@msweet.org>
Fri, 24 Apr 2026 18:01:37 +0000 (14:01 -0400)
committerMichael R Sweet <msweet@msweet.org>
Fri, 24 Apr 2026 18:01:37 +0000 (14:01 -0400)
scheduler/auth.c

index 0e2c0be80a1c68ecb3e7396cf64c6d8829f7dbe7..1b82e0707a390e3fbf766b8cb82e942324c7c03d 100644 (file)
@@ -2004,8 +2004,8 @@ cupsdIsAuthorized(cupsd_client_t *con,    /* I - Connection */
           name;
           name = (char *)cupsArrayNext(best->names))
       {
-       if (!_cups_strcasecmp(name, "@OWNER") && owner && pw &&
-           !strcmp(pw->pw_name, ownername))
+       if (!_cups_strcasecmp(name, "@OWNER") && owner && ((pw &&
+           !strcmp(pw->pw_name, ownername)) || (!pw && type == CUPSD_AUTH_NONE && !_cups_strcasecmp(username, ownername))))
          return (HTTP_STATUS_OK);
        else if (!_cups_strcasecmp(name, "@SYSTEM"))
        {
@@ -2019,6 +2019,8 @@ cupsdIsAuthorized(cupsd_client_t *con,    /* I - Connection */
        }
        else if (pw && !strcmp(pw->pw_name, name))
          return (HTTP_STATUS_OK);
+       else if (!pw && type == CUPSD_AUTH_NONE && !_cups_strcasecmp(username, name))
+         return (HTTP_STATUS_OK);
       }
 
       for (name = (char *)cupsArrayFirst(best->names);