/* $Id: authsaslclientcramsha1.c,v 1.3 2005/02/21 03:34:19 mrsam Exp $ */ /* ** Copyright 2000 Double Precision, Inc. See COPYING for ** distribution information. */ #include "courier_auth_config.h" #include "courierauthsasl.h" #if HAVE_HMACLIB #include "libhmac/hmac.h" #endif #include "authsaslclient.h" #include #include #include #include #include #if HAVE_HMACLIB extern int authsaslclient_cram(const struct authsaslclientinfo *, const char *, const struct hmac_hashinfo *); int authsaslclient_cramsha1(const struct authsaslclientinfo *info) { const char *p=(*info->start_conv_func)("CRAM-SHA1", NULL, info->conv_func_arg); if (!p) return (AUTHSASL_CANCELLED); return ( authsaslclient_cram(info, p, &hmac_sha1)); } int authsaslclient_cramsha256(const struct authsaslclientinfo *info) { const char *p=(*info->start_conv_func)("CRAM-SHA256", NULL, info->conv_func_arg); if (!p) return (AUTHSASL_CANCELLED); return ( authsaslclient_cram(info, p, &hmac_sha256)); } #else int authsaslclient_cramsha1(const struct authsaslclientinfo *info) { return (AUTHSASL_NOMETHODS); } int authsaslclient_cramsha256(const struct authsaslclientinfo *info) { return (AUTHSASL_NOMETHODS); } #endif