HEX
Server: Apache/2
System: Linux jingle.dotvndns.vn 2.6.32-754.17.1.el6.x86_64 #1 SMP Tue Jul 2 12:42:48 UTC 2019 x86_64
User: chuahuehuong (1863)
PHP: 7.3.16
Disabled: apache_note,apache_setenv,proc_get_status,exec,passthru,proc_nice,proc_terminate,shell_exec,system,ini_restore,syslog,define_syslog_variables,symlink,link,error_log,leak,dbmopen,closelog,stream_socket_server,execl,escapeshellcmd,ini_alter,dl,show_source,posix_getpwuid,posix_geteuid,posix_getegid,posix_getgrgid,open_basedir,safe_mode_include_dir,pcntl_exec,pcntl_fork,pclose,virtual,openlog,popen,escapeshellarg,eval,calo,posix_getpwuid,symlinks,symlink,getpwuid,mail
Upload Files
File: //usr/include/dovecot/http-auth.h
#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