KHTTPDIGEST_VALIDATE(3)

NAME
khttpdigest_validate, khttpdigest_validatehash - validate an HTTP digest request

LIBRARY
libkcgi

SYNOPSIS
#include <stdarg.h>
#include <stdint.h>
#include <unistd.h>
#include <kcgi.h>
int
khttpdigest_validate(struct kreq *req, const char *password);
int
khttpdigest_validatehash(struct kreq *req, const char *hash);

DESCRIPTION
The khttpdigest_validate and khttpdigest_validatehash functions validate the given password (or a pre-combined hash) with the HTTP digest-authorised request req as returned by khttp_parse(3) or khttp_fcgi_parse(3). It fully implements all components of the digest: QOP, MD5 types, etc. It does not check that the URI component of the digest matches that of the request, as these values are known to be mutable.

The khttpdigest_validate function will compute a hash from the request and password; the khttpdigest_validatehash operates on a pre-computed hash value.

RETURN VALUES
khttpdigest_validate and khttpdigest_validatehash will return zero if validation failed, less than zero if the request was not properly set up for HTTP digest validation, or greater than zero if the validation succeeded.

SEE ALSO
kcgi(3), khttp_fcgi_parse(3), khttp_parse(3), khttpbasic_validate(3)

AUTHORS
The khttpdigest_validate and khttpdigest_validatehash functions were written by Kristaps Dzonsons <kristaps@bsd.lv>.