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