Mercurial > dovecot > core-2.2
view src/lib-http/http-auth.h @ 22649:bb7c452e3662
director: Include peak output buffer size in director connection log messages
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Sun, 05 Nov 2017 22:27:41 +0200 |
parents | 07ceb84bf899 |
children |
line wrap: on
line source
#ifndef HTTP_AUTH_H #define HTTP_AUTH_H #include "array-decl.h" struct http_auth_param; struct http_auth_challenge; struct http_auth_credentials; ARRAY_DEFINE_TYPE(http_auth_param, struct http_auth_param); ARRAY_DEFINE_TYPE(http_auth_challenge, struct http_auth_challenge); struct http_auth_param { const char *name; const char *value; }; struct http_auth_challenge { const char *scheme; const char *data; ARRAY_TYPE(http_auth_param) params; }; struct http_auth_credentials { const char *scheme; const char *data; ARRAY_TYPE(http_auth_param) params; }; /* * Parsing */ int http_auth_parse_challenges(const unsigned char *data, size_t size, ARRAY_TYPE(http_auth_challenge) *chlngs); int http_auth_parse_credentials(const unsigned char *data, size_t size, struct http_auth_credentials *crdts); /* * Construction */ void http_auth_create_challenge(string_t *out, const struct http_auth_challenge *chlng); void http_auth_create_challenges(string_t *out, const ARRAY_TYPE(http_auth_challenge) *chlngs); void http_auth_create_credentials(string_t *out, const struct http_auth_credentials *crdts); /* * Manipulation */ void http_auth_challenge_copy(pool_t pool, struct http_auth_challenge *dst, const struct http_auth_challenge *src); struct http_auth_challenge * http_auth_challenge_clone(pool_t pool, const struct http_auth_challenge *src); void http_auth_credentials_copy(pool_t pool, struct http_auth_credentials *dst, const struct http_auth_credentials *src); struct http_auth_credentials * http_auth_credentials_clone(pool_t pool, const struct http_auth_credentials *src); /* * Simple schemes */ void http_auth_basic_challenge_init(struct http_auth_challenge *chlng, const char *realm); void http_auth_basic_credentials_init(struct http_auth_credentials *crdts, const char *username, const char *password); #endif