* [PATCH v6 1/2] cache.h: eliminate SHA-1 deprecation warnings on Mac OS X
@ 2013-05-16 0:11 David Aguilar
2013-05-16 0:12 ` [PATCH v6 2/2] imap-send: eliminate HMAC " David Aguilar
2013-05-16 0:36 ` [PATCH v6 1/2] cache.h: eliminate SHA-1 " Junio C Hamano
0 siblings, 2 replies; 7+ messages in thread
From: David Aguilar @ 2013-05-16 0:11 UTC (permalink / raw
To: Junio C Hamano
Cc: git, Jonathan Nieder, Eric Sunshine, Torsten Bögershausen
Mac OS X 10.8 Mountain Lion prints warnings when building git:
warning: 'SHA1_Init' is deprecated
(declared at /usr/include/openssl/sha.h:121)
Silence the warnings by using the CommonCrytpo SHA-1
functions for SHA1_Init(), SHA1_Update(), and SHA1_Final().
Add a NO_COMMON_DIGEST_FOR_OPENSSL option to the Makefile to allow
users to opt out of using this library. When defined, Git will
use OpenSSL instead.
COMMON_DIGEST_FOR_OPENSSL is defined to enable the OpenSSL
compatibility macros in CommonDigest.h.
Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Helped-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: David Aguilar <davvid@gmail.com>
---
Changes since last time:
Name the Makefile variable after the #define for consistency.
Makefile | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/Makefile b/Makefile
index f698c1a..b0eb949 100644
--- a/Makefile
+++ b/Makefile
@@ -137,6 +137,10 @@ all::
# specify your own (or DarwinPort's) include directories and
# library directories by defining CFLAGS and LDFLAGS appropriately.
#
+# Define NO_COMMON_DIGEST_FOR_OPENSSL 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.
#
@@ -1054,6 +1058,9 @@ ifeq ($(uname_S),Darwin)
BASIC_LDFLAGS += -L/opt/local/lib
endif
endif
+ ifndef NO_COMMON_DIGEST_FOR_OPENSSL
+ COMMON_DIGEST_FOR_OPENSSL = YesPlease
+ endif
NO_REGEX = YesPlease
PTHREAD_LIBS =
endif
@@ -1389,10 +1396,16 @@ ifdef PPC_SHA1
LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o
LIB_H += ppc/sha1.h
else
+ifdef COMMON_DIGEST_FOR_OPENSSL
+ BASIC_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
--
1.8.3.rc2.3.g81576a6
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v6 2/2] imap-send: eliminate HMAC deprecation warnings on Mac OS X
2013-05-16 0:11 [PATCH v6 1/2] cache.h: eliminate SHA-1 deprecation warnings on Mac OS X David Aguilar
@ 2013-05-16 0:12 ` David Aguilar
2013-05-16 0:39 ` Junio C Hamano
2013-05-16 0:36 ` [PATCH v6 1/2] cache.h: eliminate SHA-1 " Junio C Hamano
1 sibling, 1 reply; 7+ messages in thread
From: David Aguilar @ 2013-05-16 0:12 UTC (permalink / raw
To: Junio C Hamano
Cc: git, Jonathan Nieder, Eric Sunshine, Torsten Bögershausen
Mac OS X 10.8 Mountain Lion warns that HMAC_Init() and friends
are deprecated. Detect the COMMON_CRYPTO_FOR_OPENSSL definition
and use CommonCrypto's HMAC functions to eliminate the warnings.
Signed-off-by: David Aguilar <davvid@gmail.com>
---
Changes since last time: None.
imap-send.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/imap-send.c b/imap-send.c
index d9bcfb4..96012b1 100644
--- a/imap-send.c
+++ b/imap-send.c
@@ -29,8 +29,18 @@
#ifdef NO_OPENSSL
typedef void *SSL;
#else
+#ifdef COMMON_DIGEST_FOR_OPENSSL
+#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
#include <openssl/x509v3.h>
#endif
--
1.8.3.rc2.3.g81576a6
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v6 1/2] cache.h: eliminate SHA-1 deprecation warnings on Mac OS X
2013-05-16 0:11 [PATCH v6 1/2] cache.h: eliminate SHA-1 deprecation warnings on Mac OS X David Aguilar
2013-05-16 0:12 ` [PATCH v6 2/2] imap-send: eliminate HMAC " David Aguilar
@ 2013-05-16 0:36 ` Junio C Hamano
2013-05-16 3:31 ` David Aguilar
1 sibling, 1 reply; 7+ messages in thread
From: Junio C Hamano @ 2013-05-16 0:36 UTC (permalink / raw
To: David Aguilar
Cc: git, Jonathan Nieder, Eric Sunshine, Torsten Bögershausen
David Aguilar <davvid@gmail.com> writes:
> Mac OS X 10.8 Mountain Lion prints warnings when building git:
>
> warning: 'SHA1_Init' is deprecated
> (declared at /usr/include/openssl/sha.h:121)
>
> Silence the warnings by using the CommonCrytpo SHA-1
> functions for SHA1_Init(), SHA1_Update(), and SHA1_Final().
>
> Add a NO_COMMON_DIGEST_FOR_OPENSSL option to the Makefile to allow
> users to opt out of using this library. When defined, Git will
> use OpenSSL instead.
>
> COMMON_DIGEST_FOR_OPENSSL is defined to enable the OpenSSL
> compatibility macros in CommonDigest.h.
This symbol will also cover not just SHA but also HMAC, would it
make more sense to call it COMMON_CRYPTO_FOR_OPENSSL? After all,
that is what Apple calls this library, no?
>
> Helped-by: Eric Sunshine <sunshine@sunshineco.com>
> Helped-by: Torsten Bögershausen <tboegi@web.de>
> Signed-off-by: David Aguilar <davvid@gmail.com>
> ---
> Changes since last time:
>
> Name the Makefile variable after the #define for consistency.
>
> Makefile | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index f698c1a..b0eb949 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -137,6 +137,10 @@ all::
> # specify your own (or DarwinPort's) include directories and
> # library directories by defining CFLAGS and LDFLAGS appropriately.
> #
> +# Define NO_COMMON_DIGEST_FOR_OPENSSL 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.
> #
> @@ -1054,6 +1058,9 @@ ifeq ($(uname_S),Darwin)
> BASIC_LDFLAGS += -L/opt/local/lib
> endif
> endif
> + ifndef NO_COMMON_DIGEST_FOR_OPENSSL
> + COMMON_DIGEST_FOR_OPENSSL = YesPlease
> + endif
> NO_REGEX = YesPlease
> PTHREAD_LIBS =
> endif
> @@ -1389,10 +1396,16 @@ ifdef PPC_SHA1
> LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o
> LIB_H += ppc/sha1.h
> else
> +ifdef COMMON_DIGEST_FOR_OPENSSL
> + BASIC_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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v6 2/2] imap-send: eliminate HMAC deprecation warnings on Mac OS X
2013-05-16 0:12 ` [PATCH v6 2/2] imap-send: eliminate HMAC " David Aguilar
@ 2013-05-16 0:39 ` Junio C Hamano
2013-05-16 3:28 ` David Aguilar
0 siblings, 1 reply; 7+ messages in thread
From: Junio C Hamano @ 2013-05-16 0:39 UTC (permalink / raw
To: David Aguilar
Cc: git, Jonathan Nieder, Eric Sunshine, Torsten Bögershausen
David Aguilar <davvid@gmail.com> writes:
> Mac OS X 10.8 Mountain Lion warns that HMAC_Init() and friends
> are deprecated. Detect the COMMON_CRYPTO_FOR_OPENSSL definition
Ahh, I think you meant to use that name but forgot to adjust the
symbol you use in the patch ;-)
I'll queue with s/COMMON_DIGEST_FOR_OPENSSL/COMMON_CRYPTO_FOR_OPENSSL/;
> and use CommonCrypto's HMAC functions to eliminate the warnings.
>
> Signed-off-by: David Aguilar <davvid@gmail.com>
> ---
> Changes since last time: None.
>
> imap-send.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/imap-send.c b/imap-send.c
> index d9bcfb4..96012b1 100644
> --- a/imap-send.c
> +++ b/imap-send.c
> @@ -29,8 +29,18 @@
> #ifdef NO_OPENSSL
> typedef void *SSL;
> #else
> +#ifdef COMMON_DIGEST_FOR_OPENSSL
> +#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
> #include <openssl/x509v3.h>
> #endif
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v6 2/2] imap-send: eliminate HMAC deprecation warnings on Mac OS X
2013-05-16 0:39 ` Junio C Hamano
@ 2013-05-16 3:28 ` David Aguilar
2013-05-16 4:53 ` Junio C Hamano
0 siblings, 1 reply; 7+ messages in thread
From: David Aguilar @ 2013-05-16 3:28 UTC (permalink / raw
To: Junio C Hamano
Cc: Git Mailing List, Jonathan Nieder, Eric Sunshine,
Torsten Bögershausen
On Wed, May 15, 2013 at 5:39 PM, Junio C Hamano <gitster@pobox.com> wrote:
> David Aguilar <davvid@gmail.com> writes:
>
>> Mac OS X 10.8 Mountain Lion warns that HMAC_Init() and friends
>> are deprecated. Detect the COMMON_CRYPTO_FOR_OPENSSL definition
>
> Ahh, I think you meant to use that name but forgot to adjust the
> symbol you use in the patch ;-)
>
> I'll queue with s/COMMON_DIGEST_FOR_OPENSSL/COMMON_CRYPTO_FOR_OPENSSL/;
The symbol in Apple's header is COMMON_DIGEST_FOR_OPENSSL.
I rebased this patch for so many bikesheds I was bound to screw up the
commit message ;-)
>> diff --git a/imap-send.c b/imap-send.c
>> index d9bcfb4..96012b1 100644
>> --- a/imap-send.c
>> +++ b/imap-send.c
>> @@ -29,8 +29,18 @@
>> #ifdef NO_OPENSSL
>> typedef void *SSL;
>> #else
>> +#ifdef COMMON_DIGEST_FOR_OPENSSL
Yup, the symbol is fine.
>> +#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
>> #include <openssl/x509v3.h>
>> #endif
--
David
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v6 1/2] cache.h: eliminate SHA-1 deprecation warnings on Mac OS X
2013-05-16 0:36 ` [PATCH v6 1/2] cache.h: eliminate SHA-1 " Junio C Hamano
@ 2013-05-16 3:31 ` David Aguilar
0 siblings, 0 replies; 7+ messages in thread
From: David Aguilar @ 2013-05-16 3:31 UTC (permalink / raw
To: Junio C Hamano
Cc: Git Mailing List, Jonathan Nieder, Eric Sunshine,
Torsten Bögershausen
On Wed, May 15, 2013 at 5:36 PM, Junio C Hamano <gitster@pobox.com> wrote:
> David Aguilar <davvid@gmail.com> writes:
>
>> Mac OS X 10.8 Mountain Lion prints warnings when building git:
>>
>> warning: 'SHA1_Init' is deprecated
>> (declared at /usr/include/openssl/sha.h:121)
>>
>> Silence the warnings by using the CommonCrytpo SHA-1
>> functions for SHA1_Init(), SHA1_Update(), and SHA1_Final().
>>
>> Add a NO_COMMON_DIGEST_FOR_OPENSSL option to the Makefile to allow
>> users to opt out of using this library. When defined, Git will
>> use OpenSSL instead.
>>
>> COMMON_DIGEST_FOR_OPENSSL is defined to enable the OpenSSL
>> compatibility macros in CommonDigest.h.
>
> This symbol will also cover not just SHA but also HMAC, would it
> make more sense to call it COMMON_CRYPTO_FOR_OPENSSL? After all,
> that is what Apple calls this library, no?
They call it COMMON_DIGEST_FOR_OPENSSL. weirdos,
but I guess they mean it's for the digest functions.
Thanks for catching the commit message typo.
>>
>> Helped-by: Eric Sunshine <sunshine@sunshineco.com>
>> Helped-by: Torsten Bögershausen <tboegi@web.de>
>> Signed-off-by: David Aguilar <davvid@gmail.com>
>> ---
>> Changes since last time:
>>
>> Name the Makefile variable after the #define for consistency.
>>
>> Makefile | 13 +++++++++++++
>> 1 file changed, 13 insertions(+)
>>
>> diff --git a/Makefile b/Makefile
>> index f698c1a..b0eb949 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -137,6 +137,10 @@ all::
>> # specify your own (or DarwinPort's) include directories and
>> # library directories by defining CFLAGS and LDFLAGS appropriately.
>> #
>> +# Define NO_COMMON_DIGEST_FOR_OPENSSL 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.
>> #
>> @@ -1054,6 +1058,9 @@ ifeq ($(uname_S),Darwin)
>> BASIC_LDFLAGS += -L/opt/local/lib
>> endif
>> endif
>> + ifndef NO_COMMON_DIGEST_FOR_OPENSSL
>> + COMMON_DIGEST_FOR_OPENSSL = YesPlease
>> + endif
>> NO_REGEX = YesPlease
>> PTHREAD_LIBS =
>> endif
>> @@ -1389,10 +1396,16 @@ ifdef PPC_SHA1
>> LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o
>> LIB_H += ppc/sha1.h
>> else
>> +ifdef COMMON_DIGEST_FOR_OPENSSL
>> + BASIC_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
--
David
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v6 2/2] imap-send: eliminate HMAC deprecation warnings on Mac OS X
2013-05-16 3:28 ` David Aguilar
@ 2013-05-16 4:53 ` Junio C Hamano
0 siblings, 0 replies; 7+ messages in thread
From: Junio C Hamano @ 2013-05-16 4:53 UTC (permalink / raw
To: David Aguilar
Cc: Git Mailing List, Jonathan Nieder, Eric Sunshine,
Torsten Bögershausen
David Aguilar <davvid@gmail.com> writes:
> On Wed, May 15, 2013 at 5:39 PM, Junio C Hamano <gitster@pobox.com> wrote:
>> David Aguilar <davvid@gmail.com> writes:
>>
>>> Mac OS X 10.8 Mountain Lion warns that HMAC_Init() and friends
>>> are deprecated. Detect the COMMON_CRYPTO_FOR_OPENSSL definition
>>
>> Ahh, I think you meant to use that name but forgot to adjust the
>> symbol you use in the patch ;-)
>>
>> I'll queue with s/COMMON_DIGEST_FOR_OPENSSL/COMMON_CRYPTO_FOR_OPENSSL/;
>
> The symbol in Apple's header is COMMON_DIGEST_FOR_OPENSSL.
Sigh.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-05-16 4:53 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-16 0:11 [PATCH v6 1/2] cache.h: eliminate SHA-1 deprecation warnings on Mac OS X David Aguilar
2013-05-16 0:12 ` [PATCH v6 2/2] imap-send: eliminate HMAC " David Aguilar
2013-05-16 0:39 ` Junio C Hamano
2013-05-16 3:28 ` David Aguilar
2013-05-16 4:53 ` Junio C Hamano
2013-05-16 0:36 ` [PATCH v6 1/2] cache.h: eliminate SHA-1 " Junio C Hamano
2013-05-16 3:31 ` David Aguilar
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).