Re-add hmac.h include to ssl.h.

Commit 9a4876e19381a64f7a152c2ae7bd8d19d17fabac broke NGINX builds with
BoringSSL due to this missing include (OpenSSL builds work fine):

  src/event/ngx_event_openssl.c: In function ‘ngx_ssl_session_ticket_key_callback’:
  src/event/ngx_event_openssl.c:3065:13: error: implicit declaration of function ‘HMAC_Init_ex’; did you mean ‘SHA1_Init’? [-Werror=implicit-function-declaration]
           if (HMAC_Init_ex(hctx, key[0].hmac_key, size, digest, NULL) != 1) {

Change-Id: Ie7170f05034d5fd8c85d1948b4ab9c9bb8447d13
Reviewed-by: Adam Langley <>
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
index 05257e1..0c9c975 100644
--- a/include/openssl/ssl.h
+++ b/include/openssl/ssl.h
@@ -158,6 +158,11 @@
 #include <sys/time.h>
+// NGINX needs this #include. Consider revisiting this after NGINX 1.14.0 has
+// been out for a year or so (assuming that they fix it in that release.) See
+#include <openssl/hmac.h>
 // Forward-declare struct timeval. On Windows, it is defined in winsock2.h and
 // Windows headers define too many macros to be included in public headers.
 // However, only a forward declaration is needed.