lighttpd 1.4.x
https://www.lighttpd.net/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.2 KiB
46 lines
1.2 KiB
#ifndef _DIGCALC_H_ |
|
#define _DIGCALC_H_ |
|
|
|
#include "config.h" |
|
|
|
#define HASHLEN 16 |
|
typedef unsigned char HASH[HASHLEN]; |
|
#define HASHHEXLEN 32 |
|
typedef char HASHHEX[HASHHEXLEN+1]; |
|
#ifdef USE_OPENSSL |
|
#define IN const |
|
#else |
|
#define IN |
|
#endif |
|
#define OUT |
|
|
|
/* calculate H(A1) as per HTTP Digest spec */ |
|
void DigestCalcHA1( |
|
IN char * pszAlg, |
|
IN char * pszUserName, |
|
IN char * pszRealm, |
|
IN char * pszPassword, |
|
IN char * pszNonce, |
|
IN char * pszCNonce, |
|
OUT HASHHEX SessionKey |
|
); |
|
|
|
/* calculate request-digest/response-digest as per HTTP Digest spec */ |
|
void DigestCalcResponse( |
|
IN HASHHEX HA1, /* H(A1) */ |
|
IN char * pszNonce, /* nonce from server */ |
|
IN char * pszNonceCount, /* 8 hex digits */ |
|
IN char * pszCNonce, /* client nonce */ |
|
IN char * pszQop, /* qop-value: "", "auth", "auth-int" */ |
|
IN char * pszMethod, /* method from the request */ |
|
IN char * pszDigestUri, /* requested URL */ |
|
IN HASHHEX HEntity, /* H(entity body) if qop="auth-int" */ |
|
OUT HASHHEX Response /* request-digest or response-digest */ |
|
); |
|
|
|
void CvtHex( |
|
IN HASH Bin, |
|
OUT HASHHEX Hex |
|
); |
|
|
|
#endif
|
|
|