summaryrefslogtreecommitdiff
path: root/cups/request.c
diff options
context:
space:
mode:
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2011-01-17 23:54:15 +0000
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2011-01-17 23:54:15 +0000
commit0268488e2f31bbec0c6b02ff7b7594b3191e6177 (patch)
tree23495e9caedd80740ae4d956554c014d339da456 /cups/request.c
parentc779abb06a2a4c102b65b3f9f65e4ca6a792fff7 (diff)
downloadcups-0268488e2f31bbec0c6b02ff7b7594b3191e6177.tar.gz
Merge changes from CUPS 1.5svn-r9491.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2949 a1ca3aef-8c08-0410-bb20-df032aa958be
Diffstat (limited to 'cups/request.c')
-rw-r--r--cups/request.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/cups/request.c b/cups/request.c
index df2c0137c..31b316cb3 100644
--- a/cups/request.c
+++ b/cups/request.c
@@ -638,10 +638,23 @@ cupsSendRequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP
*/
httpClearFields(http);
- httpSetLength(http, length);
+ httpSetExpect(http, expect);
httpSetField(http, HTTP_FIELD_CONTENT_TYPE, "application/ipp");
+ httpSetLength(http, length);
+
+#ifdef HAVE_GSSAPI
+ if (http->authstring && !strncmp(http->authstring, "Negotiate", 9))
+ {
+ /*
+ * Do not use cached Kerberos credentials since they will look like a
+ * "replay" attack...
+ */
+
+ cupsDoAuthentication(http, "POST", resource);
+ }
+ else
+#endif /* HAVE_GSSAPI */
httpSetField(http, HTTP_FIELD_AUTHORIZATION, http->authstring);
- httpSetExpect(http, expect);
DEBUG_printf(("2cupsSendRequest: authstring=\"%s\"", http->authstring));