git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 3/3] configure.ac: check for HMAC_CTX_cleanup

From
Reuben Hawkins <reubenhwk@gmail.com>
Date
Jan 7, 2015, 20:23 UTC
Message-ID
<1420662236-27593-4-git-send-email-reubenhwk@gmail.com>
In-Reply-To
<1420662236-27593-1-git-send-email-reubenhwk@gmail.com>
OpenSSL version 0.9.6b and before defined the function HMAC_cleanup.
Newer versions define HMAC_CTX_cleanup.  Check for HMAC_CTX_cleanup and
fall back to HMAC_cleanup when the newer function is missing.
---
 Makefile          | 3 +++
 configure.ac      | 7 +++++++
 git-compat-util.h | 3 +++
 3 files changed, 13 insertions(+)
diff --git a/Makefile b/Makefile
index af551a0..d3c2b58 100644
--- a/Makefile
+++ b/Makefile
@@ -1059,6 +1059,9 @@ ifndef NO_OPENSSL
 	ifdef NEEDS_CRYPTO_WITH_SSL
 		OPENSSL_LIBSSL += -lcrypto
 	endif
+	ifdef NO_HMAC_CTX_CLEANUP
+		BASIC_CFLAGS += -DNO_HMAC_CTX_CLEANUP
+	endif
 else
 	BASIC_CFLAGS += -DNO_OPENSSL
 	BLK_SHA1 = 1
diff --git a/configure.ac b/configure.ac
index 424dec5..c282663 100644
--- a/configure.ac
+++ b/configure.ac
@@ -923,6 +923,13 @@ AC_CHECK_LIB([iconv], [locale_charset],
                      [CHARSET_LIB=-lcharset])])
 GIT_CONF_SUBST([CHARSET_LIB])
 #
+# Define NO_HMAC_CTX_CLEANUP=YesPlease if HMAC_CTX_cleanup is missing.
+AC_CHECK_LIB([crypto], [HMAC_CTX_cleanup],
+	[NO_HMAC_CTX_CLEANUP=],
+	[NO_HMAC_CTX_CLEANUP=YesPlease],
+	[])
+GIT_CONF_SUBST([NO_HMAC_CTX_CLEANUP])
+#
 # Define HAVE_CLOCK_GETTIME=YesPlease if clock_gettime is available.
 GIT_CHECK_FUNC(clock_gettime,
 [HAVE_CLOCK_GETTIME=YesPlease],
diff --git a/git-compat-util.h b/git-compat-util.h
index 400e921..2fdca2d 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -213,6 +213,9 @@ extern char *gitbasename(char *);
 #ifndef NO_OPENSSL
 #include <openssl/ssl.h>
 #include <openssl/err.h>
+#ifdef NO_HMAC_CTX_CLEANUP
+#define HMAC_CTX_cleanup HMAC_cleanup
+#endif
 #endif
 
 /* On most systems <netdb.h> would have given us this, but
-- 
2.2.0.68.g8f72f0c.dirty
Previous: Eric SunshineNext: Eric Sunshine
Message 19 of 22 in “configure.ac: check tv_nsec field in struct stat”
  1. 1/3 configure.ac: check tv_nsec field in struct statReuben Hawkins, Dec 21, 2014
  2. 2/3 configure.ac,trace.c: check for CLOCK_MONOTONICReuben Hawkins, Dec 21, 2014
  3. Eric SunshineDec 21, 2014
  4. brian m. carlsonDec 22, 2014
  5. Reuben HawkinsDec 22, 2014
  6. 3/3 configure.ac,imap-send.c: check HMAC_CTX_cleanupReuben Hawkins, Dec 21, 2014
  7. Eric SunshineDec 21, 2014
  8. v2 patches for fixes on RHEL3Reuben Hawkins, Jan 7, 2015
  9. 1/3 configure.ac: check tv_nsec field in struct statReuben Hawkins, Jan 7, 2015
  10. Eric SunshineJan 7, 2015
  11. Reuben HawkinsJan 7, 2015
  12. Eric SunshineJan 7, 2015
  13. Reuben HawkinsJan 7, 2015
  14. Eric SunshineJan 8, 2015
  15. 2/3 configure.ac: check for clock_gettime and CLOCK_MONOTONICReuben Hawkins, Jan 7, 2015
  16. Eric SunshineJan 7, 2015
  17. Reuben HawkinsJan 7, 2015
  18. Eric SunshineJan 8, 2015
  19. 3/3 configure.ac: check for HMAC_CTX_cleanupReuben Hawkins, Jan 7, 2015
  20. Eric SunshineJan 7, 2015
  21. Eric SunshineDec 21, 2014
  22. Eric SunshineDec 21, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.