Partial fix for issue#209: don't crash when some Authorization fields are missing.

This commit is contained in:
Arnout Vandecappelle (Essensium/Mind) committed 2010-12-02 17:48:08 +01:00
1 parent aef344f0ff
commit d9c05f9910
1 file changed
+8
+8
View File
@@ -1983,6 +1983,12 @@ static int check_password(const char *method, const char *ha1, const char *uri,
const char *qop, const char *response) {
char ha2[32 + 1], expected_response[32 + 1];
// Some of the parameters may be NULL
if (method == NULL || nonce == NULL || nc == NULL || cnonce == NULL ||
qop == NULL || response == NULL) {
return 0;
}
// NOTE(lsm): due to a bug in MSIE, we do not compare the URI
// TODO(lsm): check for authentication timeout
if (// strcmp(dig->uri, c->ouri) != 0 ||
@@ -2095,6 +2101,8 @@ static int parse_auth_header(struct mg_connection *conn, char *buf,
// CGI needs it as REMOTE_USER
if (ah->user != NULL) {
conn->request_info.remote_user = mg_strdup(ah->user);
} else {
return 0;
}
return 1;