#ifndef cramlib_h
#define cramlib_h
#include "auth.h"
/*
** Copyright 1998 - 2004 Double Precision, Inc. See COPYING for
** distribution information.
*/
struct cram_callback_info {
struct hmac_hashinfo *h;
char *user;
char *challenge;
char *response;
int (*callback_func)(struct authinfo *, void *);
void *callback_arg;
};
extern int auth_cram_callback(struct authinfo *a, void *vp);
/*
** auth_get_cram parses out an authentication request. It checks whether
** we have the requisite hash function installed, and, if so, base64decodes
** the challenge and the response.
*/
struct hmac_hashinfo;
int auth_get_cram(const char *authtype, /* authtype */
char *authdata, /* authdata */
struct cram_callback_info *craminfo);
/* Initializes craminfo */
/*
** auth_verify_cram attempts to verify the secret cookie.
*/
int auth_verify_cram(struct hmac_hashinfo *, /* The hash function */
const char *, /* The challenge */
const char *, /* The response */
const char *); /* Hashed secret, in hex */
#endif
syntax highlighted by Code2HTML, v. 0.9.1