KHTTPDIGEST_VALIDATE(3) Library Functions Manual KHTTPDIGEST_VALIDATE(3)

NAME

khttpdigest_validate, khttpdigest_validatehashvalidate an HTTP digest request

LIBRARY

library “libkcgi”

SYNOPSIS

#include <sys/types.h>
#include <stdarg.h>
#include <stddef.h>
#include <stdint.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 (no HTTP method, not a digest request, not already authenticated by the web server), 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>.
September 22, 2017 OpenBSD 5.8