JLChen
2020-12-10 a8c5f79b0d93adfa7f23601dd0fee30edc14f0d4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
 * @file re_httpauth.h  Interface to HTTP Authentication
 *
 * Copyright (C) 2010 Creytiv.com
 */
 
 
/** HTTP Digest Challenge */
struct httpauth_digest_chall {
    struct pl realm;
    struct pl nonce;
 
    /* optional */
    struct pl opaque;
    struct pl stale;
    struct pl algorithm;
    struct pl qop;
};
 
/** HTTP Digest response */
struct httpauth_digest_resp {
    struct pl realm;
    struct pl nonce;
    struct pl response;
    struct pl username;
    struct pl uri;
 
    /* optional */
    struct pl nc;
    struct pl cnonce;
    struct pl qop;
};
 
 
int httpauth_digest_challenge_decode(struct httpauth_digest_chall *chall,
                     const struct pl *hval);
int httpauth_digest_response_decode(struct httpauth_digest_resp *resp,
                    const struct pl *hval);
int httpauth_digest_response_auth(const struct httpauth_digest_resp *resp,
                  const struct pl *method, const uint8_t *ha1);