Blob Blame History Raw
diff -up cups-1.4.2/backend/ipp.c.str3458 cups-1.4.2/backend/ipp.c
--- cups-1.4.2/backend/ipp.c.str3458	2009-12-22 13:04:25.021208333 +0000
+++ cups-1.4.2/backend/ipp.c	2009-12-22 13:04:26.570082893 +0000
@@ -802,6 +802,15 @@ main(int  argc,				/* I - Number of comm
 
 	return (CUPS_BACKEND_STOP);
       }
+      else if (ipp_status == IPP_NOT_AUTHORIZED || ipp_status == IPP_FORBIDDEN)
+      {
+	if (!strncmp(httpGetField(http, HTTP_FIELD_WWW_AUTHENTICATE),
+		     "Negotiate", 9))
+	  auth_info_required = "negotiate";
+
+	fprintf(stderr, "ATTR: auth-info-required=%s\n", auth_info_required);
+	return (CUPS_BACKEND_AUTH_REQUIRED);
+      }
       else
       {
 	_cupsLangPrintf(stderr,