Skip to content

Commit

Permalink
Merge branch 'da/darwin' into maint
Browse files Browse the repository at this point in the history
Newer MacOS X encourages the programs to compile and link with their
CommonCrypto, not with OpenSSL.

* da/darwin:
  imap-send: eliminate HMAC deprecation warnings on Mac OS X
  cache.h: eliminate SHA-1 deprecation warnings on Mac OS X
  Makefile: add support for Apple CommonCrypto facility
  Makefile: fix default regex settings on Darwin
  • Loading branch information
gitster committed Jun 30, 2013
2 parents 5a87e92 + be4c828 commit 9186375
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
15 changes: 15 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -1054,6 +1058,11 @@ ifeq ($(uname_S),Darwin)
BASIC_LDFLAGS += -L/opt/local/lib
endif
endif
ifndef NO_APPLE_COMMON_CRYPTO
APPLE_COMMON_CRYPTO = YesPlease
COMPAT_CFLAGS += -DAPPLE_COMMON_CRYPTO
endif
NO_REGEX = YesPlease
PTHREAD_LIBS =
endif

Expand Down Expand Up @@ -1387,11 +1396,17 @@ ifdef PPC_SHA1
SHA1_HEADER = "ppc/sha1.h"
LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o
LIB_H += ppc/sha1.h
else
ifdef APPLE_COMMON_CRYPTO
COMPAT_CFLAGS += -DCOMMON_DIGEST_FOR_OPENSSL
SHA1_HEADER = <CommonCrypto/CommonDigest.h>
else
SHA1_HEADER = <openssl/sha.h>
EXTLIBS += $(LIB_4_CRYPTO)
endif
endif
endif

ifdef NO_PERL_MAKEMAKER
export NO_PERL_MAKEMAKER
endif
Expand Down
10 changes: 10 additions & 0 deletions imap-send.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,18 @@
#ifdef NO_OPENSSL
typedef void *SSL;
#else
#ifdef 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(ignore)
#define EVP_md5() kCCHmacAlgMD5
#else
#include <openssl/evp.h>
#include <openssl/hmac.h>
#endif
#include <openssl/x509v3.h>
#endif

Expand Down

0 comments on commit 9186375

Please sign in to comment.