CHANGES IN CUPS V1.1.20
+ - The HTTP code did not use a case-insensitive
+ comparison when checking for the Basic authentication
+ method (STR #407)
+ - The httpEncode() function always added a trailing "="
+ character, which is not required by the Base64
+ encoding specification (STR #407)
- The signal handlers did not need to call sigset();
this caused a recursion problem on some versions of
IRIX (STR #422)
/*
- * "$Id: auth.c,v 1.2 2003/10/16 19:13:41 mike Exp $"
+ * "$Id: auth.c,v 1.3 2003/11/19 18:05:55 mike Exp $"
*
* Authentication functions for the Common UNIX Printing System (CUPS).
*
* Nope, see if we should retry the current digest password...
*/
- if (strncmp(http->fields[HTTP_FIELD_WWW_AUTHENTICATE], "Basic", 5) == 0 ||
+ if (strncasecmp(http->fields[HTTP_FIELD_WWW_AUTHENTICATE], "Basic", 5) == 0 ||
http->digest_tries > 1 || !http->userpass[0])
{
/*
* Got a password; encode it for the server...
*/
- if (strncmp(http->fields[HTTP_FIELD_WWW_AUTHENTICATE], "Basic", 5) == 0)
+ if (strncasecmp(http->fields[HTTP_FIELD_WWW_AUTHENTICATE], "Basic", 5) == 0)
{
/*
* Basic authentication...
/*
- * End of "$Id: auth.c,v 1.2 2003/10/16 19:13:41 mike Exp $".
+ * End of "$Id: auth.c,v 1.3 2003/11/19 18:05:55 mike Exp $".
*/
/*
- * "$Id: http.c,v 1.126 2003/11/05 18:13:56 mike Exp $"
+ * "$Id: http.c,v 1.127 2003/11/19 18:05:55 mike Exp $"
*
* HTTP routines for the Common UNIX Printing System (CUPS).
*
in ++;
if (*in == '\0')
{
+ *outptr ++ = '=';
*outptr ++ = '=';
break;
}
in ++;
if (*in == '\0')
+ {
+ *outptr ++ = '=';
break;
+ }
*outptr ++ = base64[in[0] & 63];
}
- *outptr ++ = '=';
*outptr = '\0';
/*
/*
- * End of "$Id: http.c,v 1.126 2003/11/05 18:13:56 mike Exp $".
+ * End of "$Id: http.c,v 1.127 2003/11/19 18:05:55 mike Exp $".
*/