HTTP_AUTH_DIGEST, /**< HTTP 1.1 Digest auth from RFC 2617 */
} HTTPAuthType;
-typedef struct {
+typedef struct DigestParams {
char nonce[300]; /**< Server specified nonce */
char algorithm[10]; /**< Server specified digest algorithm */
char qop[30]; /**< Quality of protection, containing the one
char opaque[300]; /**< A server-specified string that should be
* included in authentication responses, not
* included in the actual digest calculation. */
+ char stale[10]; /**< The server indicated that the auth was ok,
+ * but needs to be redone with a new, non-stale
+ * nonce. */
int nc; /**< Nonce count, the number of earlier replies
* where this particular nonce has been used. */
} DigestParams;
* HTTP Authentication state structure. Must be zero-initialized
* before used with the functions below.
*/
-typedef struct {
+typedef struct HTTPAuthState {
/**
* The currently chosen auth type.
*/
* The parameters specifiec to digest authentication.
*/
DigestParams digest_params;
+ /**
+ * Auth ok, but needs to be resent with a new nonce.
+ */
+ int stale;
} HTTPAuthState;
void ff_http_auth_handle_header(HTTPAuthState *state, const char *key,