From: Eric Sunshine <hidden> Date: 2016-06-15 22:57:18
This is a re-roll of David Aguilar's patch series which eliminates some
of the OpenSSL deprecation warnings on Mac OS X.
Patch 1 is new. It extracts the CommonCrypto-related Makefile
boilerplate, from his SHA-1-related patch, into a distinct introductory
patch which can then be referenced by subsequent patches.
Patch 2, SHA-1 warning elimination, is effectively unchanged.
Patch 3, HMAC warning elimination, no longer abuses
COMMON_DIGEST_FOR_OPENSSL, which is an implementation detail of
patch 2. Instead, it checks for NO_APPLE_COMMON_CRYPTO introduced in
patch 1.
David Aguilar (3):
Makefile: add support for Apple CommonCrypto facility
cache.h: eliminate SHA-1 deprecation warnings on Mac OS X
imap-send: eliminate HMAC deprecation warnings on Mac OS X
Makefile | 15 +++++++++++++++
imap-send.c | 10 ++++++++++
2 files changed, 25 insertions(+)
--
1.8.2.3
From: Eric Sunshine <hidden> Date: 2016-06-15 22:57:18
From: David Aguilar <redacted>
As of Mac OS X 10.7, Apple deprecated all OpenSSL functions due to
OpenSSL ABI instability, thus leading to build warnings. As a
replacement, Apple encourages developers to migrate to its own (stable)
CommonCrypto facility.
Introduce boilerplate which controls whether Apple's CommonCrypto
facility is employed (enabled by default). Also add a
NO_APPLE_COMMON_CRYPTO flag which the user can tweak to override the
default if OpenSSL is instead preferred.
[es: extracted CommonCrypto-related Makefile boilerplate into separate
introductory patch]
Signed-off-by: David Aguilar <redacted>
Signed-off-by: Eric Sunshine <redacted>
---
Makefile | 9 +++++++++
1 file changed, 9 insertions(+)
@@ -137,6 +137,10 @@ all::# specify your own (or DarwinPort's) include directories and# library directories by defining CFLAGS and LDFLAGS appropriately.#+# Define NO_APPLE_COMMON_CRYPTO if you are building on Darwin/Mac OS X+# and do not want to use Apple's CommonCrypto library. This allows you+# to provide your own OpenSSL library, for example from MacPorts.+## Define BLK_SHA1 environment variable to make use of the bundled# optimized C SHA1 routine.#
From: Eric Sunshine <hidden> Date: 2016-06-15 22:57:18
From: David Aguilar <redacted>
As of Mac OS X 10.7, Apple deprecated all OpenSSL functions due to
OpenSSL ABI instability, thus leading to build diagnostics such as:
warning: 'SHA1_Init' is deprecated
(declared at /usr/include/openssl/sha.h:121)
Silence the warnings by using Apple's CommonCrypto SHA-1 replacement
functions for SHA1_Init(), SHA1_Update(), and SHA1_Final().
COMMON_DIGEST_FOR_OPENSSL is defined to instruct
<CommonCrypto/CommonDigest.h> to provide compatibility macros
associating OpenSSL SHA-1 functions with their CommonCrypto
counterparts.
[es: reworded commit message]
Signed-off-by: David Aguilar <redacted>
Signed-off-by: Eric Sunshine <redacted>
---
Makefile | 6 ++++++
1 file changed, 6 insertions(+)
From: Eric Sunshine <hidden> Date: 2016-06-15 22:57:18
From: David Aguilar <redacted>
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 <redacted>
Signed-off-by: Eric Sunshine <redacted>
---
imap-send.c | 10 ++++++++++
1 file changed, 10 insertions(+)