diff -up cups-1.3.7/berkeley/lpq.c.get-jobs-printer-uri cups-1.3.7/berkeley/lpq.c --- cups-1.3.7/berkeley/lpq.c.get-jobs-printer-uri 2007-07-11 22:46:42.000000000 +0100 +++ cups-1.3.7/berkeley/lpq.c 2009-05-07 15:19:58.726163685 +0100 @@ -372,17 +372,13 @@ show_jobs(const char *command, /* I - C request = ippNewRequest(id ? IPP_GET_JOB_ATTRIBUTES : IPP_GET_JOBS); - if (dest == NULL) + if (id) { - if (id) - sprintf(resource, "ipp://localhost/jobs/%d", id); - else - strcpy(resource, "ipp://localhost/jobs"); - + snprintf(resource, sizeof(resource), "ipp://localhost/jobs/%d", id); ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "job-uri", NULL, resource); } - else + else if (dest) { httpAssembleURIf(HTTP_URI_CODING_ALL, resource, sizeof(resource), "ipp", NULL, "localhost", 0, "/printers/%s", dest); @@ -390,6 +386,9 @@ show_jobs(const char *command, /* I - C ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, resource); } + else + ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", + NULL, "ipp://localhost/"); if (user) { diff -up cups-1.3.7/cups/util.c.get-jobs-printer-uri cups-1.3.7/cups/util.c --- cups-1.3.7/cups/util.c.get-jobs-printer-uri 2009-05-07 15:15:30.889038160 +0100 +++ cups-1.3.7/cups/util.c 2009-05-07 15:18:50.808037446 +0100 @@ -504,7 +504,7 @@ cupsGetJobs2(http_t *http, /* I - H } } else - strcpy(uri, "ipp://localhost/jobs"); + strcpy(uri, "ipp://localhost/"); /* diff -up cups-1.3.7/systemv/lpstat.c.get-jobs-printer-uri cups-1.3.7/systemv/lpstat.c --- cups-1.3.7/systemv/lpstat.c.get-jobs-printer-uri 2007-07-11 22:46:42.000000000 +0100 +++ cups-1.3.7/systemv/lpstat.c 2009-05-07 15:18:50.810037419 +0100 @@ -1432,18 +1432,23 @@ show_jobs(http_t *http, /* I - HTTP * * attributes-charset * attributes-natural-language - * job-uri + * printer-uri * requested-attributes + * requesting-user-name + * which-jobs */ request = ippNewRequest(IPP_GET_JOBS); + ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", + NULL, "ipp://localhost/"); + ippAddStrings(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "requested-attributes", sizeof(jattrs) / sizeof(jattrs[0]), NULL, jattrs); - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "job-uri", - NULL, "ipp://localhost/jobs/"); + ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name", + NULL, cupsUser()); ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "which-jobs", NULL, which);