From: Eric Sunshine Date: Sun, 19 May 2013 10:23:36 GMT Subject: [PATCH v8 3/3] imap-send: eliminate HMAC deprecation warnings on Mac OS X Message-ID: <1368959016-23146-4-git-send-email-sunshine@sunshineco.com> In-Reply-To: <1368959016-23146-1-git-send-email-sunshine@sunshineco.com> From: David Aguilar As of Mac OS X 10.7, Apple deprecated all OpenSSL functions due to OpenSSL ABI instability. Silence the warnings by using Apple's CommonCrypto HMAC replacement functions. [es: reworded commit message; check APPLE_COMMON_CRYPTO instead of abusing COMMON_DIGEST_FOR_OPENSSL] Signed-off-by: David Aguilar Signed-off-by: Eric Sunshine --- Junio Hamano writes: > Doesn't this mean people on platforms that do not care what Apple > does have to define NO_APPLE_COMMON_CRYPTO? It certainly does break other platforms. Thanks for catching. > How about stopping this double-negation and do it more like this? Double-negation begone. imap-send.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/imap-send.c b/imap-send.c index d9bcfb4..8ea180f 100644 --- a/imap-send.c +++ b/imap-send.c @@ -29,8 +29,18 @@ #ifdef NO_OPENSSL typedef void *SSL; #else +#ifdef APPLE_COMMON_CRYPTO +#include +#define HMAC_CTX CCHmacContext +#define HMAC_Init(hmac, key, len, algo) CCHmacInit(hmac, algo, key, len) +#define HMAC_Update CCHmacUpdate +#define HMAC_Final(hmac, hash, ptr) CCHmacFinal(hmac, hash) +#define HMAC_CTX_cleanup +#define EVP_md5() kCCHmacAlgMD5 +#else #include #include +#endif #include #endif -- 1.8.2.3