diff options
author | Marek Kasik <mkasik@redhat.com> | 2012-03-07 12:23:59 +0100 |
---|---|---|
committer | Vincent Untz <vuntz@suse.com> | 2012-03-13 12:07:57 +0100 |
commit | 40914af0725caee68090346ceb7b73f1394c4a19 (patch) | |
tree | 4983aedacb4cec3a90194a60ec7873f34d780423 | |
parent | c9eb877f54c633ca8ca559b2346324743d56d198 (diff) |
Use requesting-user-name parameter for all requests
This has to be set explicitly for operations requiring
authentication starting with CUPS 1.5.
https://bugs.freedesktop.org/show_bug.cgi?id=46890
-rw-r--r-- | src/cups.c | 23 |
1 files changed, 22 insertions, 1 deletions
@@ -660,6 +660,7 @@ _cph_cups_send_new_simple_request (CphCups *cups, request = ippNewRequest (op); _cph_cups_add_printer_uri (request, printer_name); + _cph_cups_add_requesting_user_name (request, NULL); return _cph_cups_send_request (cups, request, resource); } @@ -677,6 +678,7 @@ _cph_cups_send_new_simple_class_request (CphCups *cups, request = ippNewRequest (op); _cph_cups_add_class_uri (request, class_name); + _cph_cups_add_requesting_user_name (request, NULL); return _cph_cups_send_request (cups, request, resource); } @@ -693,6 +695,7 @@ _cph_cups_send_new_printer_class_request (CphCups *cups, request = ippNewRequest (CUPS_ADD_MODIFY_PRINTER); _cph_cups_add_printer_uri (request, printer_name); + _cph_cups_add_requesting_user_name (request, NULL); ippAddString (request, group, type, name, NULL, value); if (_cph_cups_send_request (cups, request, CPH_RESOURCE_ADMIN)) @@ -704,6 +707,7 @@ _cph_cups_send_new_printer_class_request (CphCups *cups, request = ippNewRequest (CUPS_ADD_MODIFY_CLASS); _cph_cups_add_class_uri (request, printer_name); + _cph_cups_add_requesting_user_name (request, NULL); ippAddString (request, group, type, name, NULL, value); return _cph_cups_send_request (cups, request, CPH_RESOURCE_ADMIN); @@ -804,6 +808,7 @@ _cph_cups_class_has_printer (CphCups *cups, request = ippNewRequest (IPP_GET_PRINTER_ATTRIBUTES); _cph_cups_add_class_uri (request, class_name); + _cph_cups_add_requesting_user_name (request, NULL); resource_char = _cph_cups_get_resource (CPH_RESOURCE_ROOT); internal_reply = cupsDoRequest (cups->priv->connection, request, resource_char); @@ -858,6 +863,7 @@ _cph_cups_printer_class_set_users (CphCups *cups, request = ippNewRequest (CUPS_ADD_MODIFY_PRINTER); _cph_cups_add_printer_uri (request, printer_name); + _cph_cups_add_requesting_user_name (request, NULL); attr = ippAddStrings (request, IPP_TAG_PRINTER, IPP_TAG_NAME, request_name, len ? len : 1, NULL, NULL); if (len == 0) @@ -883,6 +889,7 @@ _cph_cups_printer_class_set_users (CphCups *cups, request = ippNewRequest (CUPS_ADD_MODIFY_CLASS); _cph_cups_add_class_uri (request, printer_name); + _cph_cups_add_requesting_user_name (request, NULL); attr = ippAddStrings (request, IPP_TAG_PRINTER, IPP_TAG_NAME, request_name, len ? len : 1, NULL, NULL); if (len == 0) @@ -934,6 +941,7 @@ cph_cups_is_class (CphCups *cups, request = ippNewRequest (IPP_GET_PRINTER_ATTRIBUTES); _cph_cups_add_class_uri (request, name); + _cph_cups_add_requesting_user_name (request, NULL); ippAddStrings (request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "requested-attributes", 1, NULL, attrs); @@ -973,6 +981,7 @@ cph_cups_printer_get_uri (CphCups *cups, request = ippNewRequest (IPP_GET_PRINTER_ATTRIBUTES); _cph_cups_add_printer_uri (request, printer_name); + _cph_cups_add_requesting_user_name (request, NULL); ippAddStrings (request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "requested-attributes", 1, NULL, attrs); @@ -1509,6 +1518,7 @@ cph_cups_printer_add (CphCups *cups, request = ippNewRequest (CUPS_ADD_MODIFY_PRINTER); _cph_cups_add_printer_uri (request, printer_name); + _cph_cups_add_requesting_user_name (request, NULL); ippAddString (request, IPP_TAG_PRINTER, IPP_TAG_NAME, "printer-name", NULL, printer_name); @@ -1558,6 +1568,7 @@ cph_cups_printer_add_with_ppd_file (CphCups *cups, request = ippNewRequest (CUPS_ADD_MODIFY_PRINTER); _cph_cups_add_printer_uri (request, printer_name); + _cph_cups_add_requesting_user_name (request, NULL); ippAddString (request, IPP_TAG_PRINTER, IPP_TAG_NAME, "printer-name", NULL, printer_name); @@ -1636,6 +1647,7 @@ cph_cups_printer_set_uri (CphCups *cups, request = ippNewRequest (CUPS_ADD_MODIFY_PRINTER); _cph_cups_add_printer_uri (request, printer_name); + _cph_cups_add_requesting_user_name (request, NULL); ippAddString (request, IPP_TAG_PRINTER, IPP_TAG_URI, "device-uri", NULL, printer_uri); @@ -1669,6 +1681,7 @@ cph_cups_printer_set_accept_jobs (CphCups *cups, /* !accept */ request = ippNewRequest (CUPS_REJECT_JOBS); _cph_cups_add_printer_uri (request, printer_name); + _cph_cups_add_requesting_user_name (request, NULL); if (reason && reason[0] == '\0') ippAddString (request, IPP_TAG_OPERATION, IPP_TAG_TEXT, @@ -1721,6 +1734,7 @@ cph_cups_class_add_printer (CphCups *cups, request = ippNewRequest (CUPS_ADD_CLASS); _cph_cups_add_class_uri (request, class_name); + _cph_cups_add_requesting_user_name (request, NULL); g_snprintf (printer_uri, sizeof (printer_uri), "ipp://localhost/printers/%s", printer_name); @@ -1812,6 +1826,7 @@ cph_cups_class_delete_printer (CphCups *cups, request = ippNewRequest (CUPS_ADD_CLASS); _cph_cups_add_class_uri (request, class_name); + _cph_cups_add_requesting_user_name (request, NULL); attr = ippAddStrings (request, IPP_TAG_PRINTER, IPP_TAG_URI, "member-uris", new_len, @@ -1893,6 +1908,7 @@ cph_cups_printer_class_set_shared (CphCups *cups, request = ippNewRequest (CUPS_ADD_MODIFY_PRINTER); _cph_cups_add_printer_uri (request, printer_name); + _cph_cups_add_requesting_user_name (request, NULL); ippAddBoolean (request, IPP_TAG_OPERATION, "printer-is-shared", shared ? 1 : 0); @@ -1905,6 +1921,7 @@ cph_cups_printer_class_set_shared (CphCups *cups, request = ippNewRequest (CUPS_ADD_MODIFY_CLASS); _cph_cups_add_class_uri (request, printer_name); + _cph_cups_add_requesting_user_name (request, NULL); ippAddBoolean (request, IPP_TAG_OPERATION, "printer-is-shared", shared ? 1 : 0); @@ -1931,6 +1948,7 @@ cph_cups_printer_class_set_job_sheets (CphCups *cups, request = ippNewRequest (CUPS_ADD_MODIFY_PRINTER); _cph_cups_add_printer_uri (request, printer_name); + _cph_cups_add_requesting_user_name (request, NULL); ippAddStrings (request, IPP_TAG_PRINTER, IPP_TAG_NAME, "job-sheets-default", 2, NULL, values); @@ -1943,6 +1961,7 @@ cph_cups_printer_class_set_job_sheets (CphCups *cups, request = ippNewRequest (CUPS_ADD_MODIFY_CLASS); _cph_cups_add_class_uri (request, printer_name); + _cph_cups_add_requesting_user_name (request, NULL); ippAddStrings (request, IPP_TAG_PRINTER, IPP_TAG_NAME, "job-sheets-default", 2, NULL, values); @@ -2102,6 +2121,8 @@ cph_cups_printer_class_set_option_default (CphCups *cups, _cph_cups_add_printer_uri (request, printer_name); } + _cph_cups_add_requesting_user_name (request, NULL); + if (len == 1) ippAddString (request, IPP_TAG_PRINTER, IPP_TAG_NAME, option_name, NULL, values[0]); @@ -2447,7 +2468,7 @@ cph_cups_job_get_status (CphCups *cups, /* Request attributes explicitly as the user running the process (as * opposed to the user doing the dbus call). This is root in general, * so we'll be authorized to get attributes for all jobs. */ - _cph_cups_add_requesting_user_name (request, cupsUser ()); + _cph_cups_add_requesting_user_name (request, NULL); resource_char = _cph_cups_get_resource (CPH_RESOURCE_ROOT); reply = cupsDoRequest (cups->priv->connection, |