Use _POSIX_C_SOURCE not _BSD_SOURCE.
_BSD_SOURCE has been deprecated (see bug). The manpage for printf
suggests that any _POSIX_C_SOURCE >= 200112L is also sufficient to bring
in the needed declarations and the bug reporter confirms that it's
sufficient for him.
https://code.google.com/p/chromium/issues/detail?id=419859
Change-Id: Ifc053f11c5aa1df35aae8e952d2c73a7f4599ec2
Reviewed-on: https://boringssl-review.googlesource.com/1890
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/crypto/bio/bio_test.c b/crypto/bio/bio_test.c
index 4b0ab08..fd88b55 100644
--- a/crypto/bio/bio_test.c
+++ b/crypto/bio/bio_test.c
@@ -12,7 +12,7 @@
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
-#define _BSD_SOURCE
+#define _POSIX_C_SOURCE 201410L
#include <openssl/base.h>
diff --git a/crypto/bio/printf.c b/crypto/bio/printf.c
index e1ae5b4..3638915 100644
--- a/crypto/bio/printf.c
+++ b/crypto/bio/printf.c
@@ -54,8 +54,8 @@
* copied and put under another distribution licence
* [including the GNU Public Licence.] */
-#if !defined(_BSD_SOURCE)
-#define _BSD_SOURCE /* for snprintf, vprintf etc */
+#if !defined(_POSIX_C_SOURCE)
+#define _POSIX_C_SOURCE 201410L /* for snprintf, vprintf etc */
#endif
#include <openssl/bio.h>
diff --git a/crypto/lhash/lhash_test.c b/crypto/lhash/lhash_test.c
index eb40cab..e47e96f 100644
--- a/crypto/lhash/lhash_test.c
+++ b/crypto/lhash/lhash_test.c
@@ -12,7 +12,7 @@
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
-#define _BSD_SOURCE
+#define _POSIX_C_SOURCE 201410L
#include <openssl/crypto.h>
#include <openssl/lhash.h>
diff --git a/crypto/mem.c b/crypto/mem.c
index 1eb97c9..b16b310 100644
--- a/crypto/mem.c
+++ b/crypto/mem.c
@@ -53,9 +53,7 @@
* copied and put under another distribution licence
* [including the GNU Public Licence.] */
-#if !defined(_BSD_SOURCE)
-#define _BSD_SOURCE /* needed for strdup, snprintf, vprintf etc */
-#endif
+#define _POSIX_C_SOURCE 201410L /* needed for strdup, snprintf, vprintf etc */
#include <openssl/mem.h>
@@ -66,6 +64,8 @@
#if defined(OPENSSL_WINDOWS)
#include <Windows.h>
+#else
+#include <strings.h>
#endif
diff --git a/crypto/time_support.c b/crypto/time_support.c
index 5b300b3..4537e82 100644
--- a/crypto/time_support.c
+++ b/crypto/time_support.c
@@ -55,9 +55,7 @@
* (eay@cryptsoft.com). This product includes software written by Tim
* Hudson (tjh@cryptsoft.com). */
-#if !defined(_BSD_SOURCE)
-#define _BSD_SOURCE /* for gmtime_r */
-#endif
+#define _POSIX_C_SOURCE 201410L /* for gmtime_r */
#include <openssl/time_support.h>