summaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
Diffstat (limited to 'backend')
-rw-r--r--backend/ipp.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/backend/ipp.c b/backend/ipp.c
index 020ab7fd4..3779c88fa 100644
--- a/backend/ipp.c
+++ b/backend/ipp.c
@@ -3245,7 +3245,8 @@ run_as_user(char *argv[], /* I - Command-line arguments */
const char *device_uri, /* I - Device URI */
int fd) /* I - File to print */
{
- const char *auth_negotiate;/* AUTH_NEGOTIATE env var */
+ const char *auth_negotiate,/* AUTH_NEGOTIATE env var */
+ *content_type; /* [FINAL_]CONTENT_TYPE env vars */
xpc_connection_t conn; /* Connection to XPC service */
xpc_object_t request; /* Request message dictionary */
__block xpc_object_t response; /* Response message dictionary */
@@ -3308,6 +3309,10 @@ run_as_user(char *argv[], /* I - Command-line arguments */
getenv("AUTH_INFO_REQUIRED"));
if ((auth_negotiate = getenv("AUTH_NEGOTIATE")) != NULL)
xpc_dictionary_set_string(request, "auth-negotiate", auth_negotiate);
+ if ((content_type = getenv("CONTENT_TYPE")) != NULL)
+ xpc_dictionary_set_string(request, "content-type", content_type);
+ if ((content_type = getenv("FINAL_CONTENT_TYPE")) != NULL)
+ xpc_dictionary_set_string(request, "final-content-type", content_type);
xpc_dictionary_set_fd(request, "stdin", fd);
xpc_dictionary_set_fd(request, "stderr", 2);
xpc_dictionary_set_fd(request, "side-channel", CUPS_SC_FD);