diff -up cups-1.3.7/scheduler/client.c.str2781str2816 cups-1.3.7/scheduler/client.c --- cups-1.3.7/scheduler/client.c.str2781str2816 2009-10-22 09:55:47.000000000 +0200 +++ cups-1.3.7/scheduler/client.c 2009-10-22 11:42:07.000000000 +0200 @@ -3814,8 +3814,7 @@ is_cgi(cupsd_client_t *con, /* I - Clie { options ++; - if (strchr(options, '=')) - cupsdSetStringf(&(con->query_string), "QUERY_STRING=%s", options); + cupsdSetStringf(&(con->query_string), "QUERY_STRING=%s", options); } /* @@ -3839,7 +3838,8 @@ is_cgi(cupsd_client_t *con, /* I - Clie filename = strrchr(filename, '/') + 1; /* Filename always absolute */ - cupsdSetString(&con->options, options); + if (options) + cupsdSetStringf(&con->options, " %s", options); cupsdLogMessage(CUPSD_LOG_DEBUG2, "is_cgi: Returning 1 with command=\"%s\" and options=\"%s\"", @@ -4144,7 +4144,6 @@ make_certificate(cupsd_client_t *con) /* unlink(infofile); return (0); } - close(infofd); unlink(infofile); @@ -4881,6 +4880,8 @@ pipe_command(cupsd_client_t *con, /* I - envp[envc ++] = con->query_string; } + else + envp[envc ++] = "QUERY_STRING="; } else {