Eliminate unnecessary includes from low-level crypto modules. Beyond generally eliminating unnecessary includes, eliminate as many includes of headers that declare/define particularly error-prone functionality like strlen, malloc, and free. crypto/err/internal.h was added to remove the dependency on openssl/thread.h from the public openssl/err.h header. The include of <stdlib.h> in openssl/mem.h was retained since it defines OPENSSL_malloc and friends as macros around the stdlib.h functions. The public x509.h, x509v3.h, and ssl.h headers were not changed in order to minimize breakage of source compatibility with external code. Change-Id: I0d264b73ad0a720587774430b2ab8f8275960329 Reviewed-on: https://boringssl-review.googlesource.com/4220 Reviewed-by: Adam Langley <agl@google.com>
diff --git a/crypto/asn1/a_gentm.c b/crypto/asn1/a_gentm.c index 355feff..be093a4 100644 --- a/crypto/asn1/a_gentm.c +++ b/crypto/asn1/a_gentm.c
@@ -57,6 +57,7 @@ #include <openssl/asn1.h> #include <string.h> +#include <time.h> #include <openssl/err.h> #include <openssl/mem.h>
diff --git a/crypto/asn1/a_time.c b/crypto/asn1/a_time.c index f0badcc..e02e858 100644 --- a/crypto/asn1/a_time.c +++ b/crypto/asn1/a_time.c
@@ -57,6 +57,7 @@ #include <openssl/asn1.h> #include <string.h> +#include <time.h> #include <openssl/asn1t.h> #include <openssl/buf.h>
diff --git a/crypto/asn1/a_utctm.c b/crypto/asn1/a_utctm.c index 9304377..52b010f 100644 --- a/crypto/asn1/a_utctm.c +++ b/crypto/asn1/a_utctm.c
@@ -57,6 +57,7 @@ #include <openssl/asn1.h> #include <string.h> +#include <time.h> #include <openssl/err.h> #include <openssl/mem.h>
diff --git a/crypto/asn1/tasn_utl.c b/crypto/asn1/tasn_utl.c index f6045e4..1b9de94 100644 --- a/crypto/asn1/tasn_utl.c +++ b/crypto/asn1/tasn_utl.c
@@ -62,6 +62,7 @@ #include <openssl/mem.h> #include <openssl/obj.h> #include <openssl/err.h> +#include <openssl/thread.h> /* Utility functions for manipulating fields and offsets */