⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 auth_digest.h

📁 一个功能非常全面的代理服务器源代码程序,
💻 H
字号:
/* * auth_digest.h * Internal declarations for the digest auth module */#ifndef __AUTH_DIGEST_H__#define __AUTH_DIGEST_H__#include "rfc2617.h"/* Generic */typedef struct {    void *data;    auth_user_request_t *auth_user_request;    RH *handler;} authenticateStateData;typedef struct _digest_request_h digest_request_h;typedef struct _digest_user_h digest_user_h;typedef struct _digest_nonce_data digest_nonce_data;typedef struct _digest_nonce_h digest_nonce_h;struct _digest_user_h {    char *username;    HASH HA1;    int HA1created;    /* what nonces have been allocated to this user */    dlink_list nonces;};/* the digest_request structure is what follows the http_request around */struct _digest_request_h {    char *nonceb64;		/* "dcd98b7102dd2f0e8b11d0f600bfb0c093" */    char *cnonce;		/* "0a4f113b" */    char *realm;		/* = "testrealm@host.com" */    char *pszPass;		/* = "Circle Of Life" */    char *algorithm;		/* = "md5" */    char nc[9];			/* = "00000001" */    char *pszMethod;		/* = "GET" */    char *qop;			/* = "auth" */    char *uri;			/* = "/dir/index.html" */    char *response;    struct {	unsigned int authinfo_sent:1;	unsigned int credentials_ok:2;	/*0=unchecked,1=ok,2=helper,3=failed */	unsigned int nonce_stale:1;	unsigned int helper_queried:1;    } flags;    digest_nonce_h *nonce;};/* data to be encoded into the nonce's b64 representation */struct _digest_nonce_data {    time_t creationtime;    /* in memory address of the nonce struct (similar purpose to an ETag) */    digest_nonce_h *self;    long randomdata;};/* the nonce structure we'll pass around */struct _digest_nonce_h {    hash_link hash;		/* must be first */    digest_nonce_data noncedata;    /* number of uses we've seen of this nonce */    long nc;    /* reference count */    short references;    /* the auth_user this nonce has been tied to */    auth_user_t *auth_user;    /* has this nonce been invalidated ? */    struct {	unsigned int valid:1;	unsigned int incache:1;    } flags;};/* configuration runtime data */struct _auth_digest_config {    int authenticateChildren;    int authenticateConcurrency;    char *digestAuthRealm;    wordlist *authenticate;    time_t nonceGCInterval;    time_t noncemaxduration;    int noncemaxuses;    int NonceStrictness;    int CheckNonceCount;    int PostWorkaround;};typedef struct _auth_digest_config auth_digest_config;/* strings */#define QOP_AUTH "auth"#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -