Eric Sunshine <[email protected]> writes:
> From: David Aguilar <[email protected]>
>
> 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; eliminated abuse of
> COMMON_DIGEST_FOR_OPENSSL by checking NO_APPLE_COMMON_CRYPTO instead]
>
> Signed-off-by: David Aguilar <[email protected]>
> Signed-off-by: Eric Sunshine <[email protected]>
> ---
> imap-send.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/imap-send.c b/imap-send.c
> index d9bcfb4..642448c 100644
> --- a/imap-send.c
> +++ b/imap-send.c
> @@ -29,8 +29,18 @@
> #ifdef NO_OPENSSL
> typedef void *SSL;
> #else
> +#ifndef NO_APPLE_COMMON_CRYPTO
> +#include <CommonCrypto/CommonHMAC.h>
> +#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 <openssl/evp.h>
> #include <openssl/hmac.h>
> +#endif
Doesn't this mean people on platforms that do not care what Apple
does have to define NO_APPLE_COMMON_CRYPTO?
How about stopping this double-negation and do it more like this?
* In Makefile (1/3), in uname_S == Darwin section, define
COMPAT_CFLAGS += DAPPLE_COMMON_CRYPTO by default, unless the
builder declines it with "make NO_APPLE_COMMON_CRYPTO=NoThanks"
* Express this part as
#ifdef APPLE_COMMON_CRYPTO
... do the common crypto thing ...
#else
... everybody else ...
#endif
> #include <openssl/x509v3.h>
> #endif
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html