diff options
Diffstat (limited to 'libmail/imaphmac.H')
| -rw-r--r-- | libmail/imaphmac.H | 44 | 
1 files changed, 44 insertions, 0 deletions
| diff --git a/libmail/imaphmac.H b/libmail/imaphmac.H new file mode 100644 index 0000000..50b2ec6 --- /dev/null +++ b/libmail/imaphmac.H @@ -0,0 +1,44 @@ +/* +** Copyright 2002, Double Precision Inc. +** +** See COPYING for distribution information. +*/ +#ifndef libmail_imaphmac_h +#define libmail_imaphmac_h + +#include "libmail_config.h" +#include "namespace.H" + +#include <string> + +struct hmac_hashinfo; + +/////////////////////////////////////////////////////////////////////////// +// +// Helper class for calculating HMAC hashes. + +LIBMAIL_START + +class imaphmac { + +	const struct hmac_hashinfo &hmac; // The HMAC function +	const char *name;		// The name of this function. + +public: +	imaphmac(const struct hmac_hashinfo &hmacArg, +		       const char *nameArg); + +	~imaphmac(); + +	std::string operator()(std::string password, +			       std::string challenge) const; + +	static const imaphmac * const hmac_methods[]; + +	const char *getName() const { return (name); } + +}; + +LIBMAIL_END + +#endif | 
