]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Ensure that POSIX strerror_r variant is use even when _GNU_SOURCE is enabled by default
authorEvan Hunt <each@isc.org>
Tue, 28 Aug 2018 22:43:44 +0000 (15:43 -0700)
committerOndřej Surý <ondrej@sury.org>
Wed, 29 Aug 2018 11:31:28 +0000 (13:31 +0200)
21 files changed:
bin/named/unix/os.c
lib/dns/ssu_external.c
lib/dns/zone.c
lib/isc/include/isc/Makefile.in
lib/isc/include/isc/strerr.h [new file with mode: 0644]
lib/isc/include/isc/string.h
lib/isc/pthreads/condition.c
lib/isc/pthreads/mutex.c
lib/isc/string.c
lib/isc/unix/app.c
lib/isc/unix/errno2result.c
lib/isc/unix/interfaceiter.c
lib/isc/unix/net.c
lib/isc/unix/socket.c
lib/isc/unix/time.c
lib/isc/win32/errno2result.c
lib/isc/win32/interfaceiter.c
lib/isc/win32/libisc.def.in
lib/isc/win32/libisc.vcxproj.filters.in
lib/isc/win32/libisc.vcxproj.in
util/copyrights

index 0cff5fa4033cd8b998f4e68eff6844236b2eb5d1..00052e8cf8c4a44bcea38ed9e67629f52e955e15 100644 (file)
@@ -40,6 +40,7 @@
 #include <isc/print.h>
 #include <isc/resource.h>
 #include <isc/result.h>
+#include <isc/strerr.h>
 #include <isc/string.h>
 
 #include <named/globals.h>
index b9c2de40a5cd929fe6066a4f80023fae0c45ec9e..1494404072ad7cc4f0368fe438779ad5538a64e1 100644 (file)
@@ -33,6 +33,7 @@
 #include <isc/netaddr.h>
 #include <isc/print.h>
 #include <isc/result.h>
+#include <isc/strerr.h>
 #include <isc/string.h>
 #include <isc/util.h>
 
index e5f0a9695b270870f3e24b8dc780088c676721b7..a35d3ae3cee95ee8c7ffc7bd820b73159f69e286 100644 (file)
@@ -29,6 +29,7 @@
 #include <isc/serial.h>
 #include <isc/stats.h>
 #include <isc/stdtime.h>
+#include <isc/strerr.h>
 #include <isc/string.h>
 #include <isc/taskpool.h>
 #include <isc/thread.h>
index 9279dbf7e53d4c6d688457245c7dddd6e04e8ab5..e9375a2f12213b76a36e7cdb0253c4a05d76faff 100644 (file)
@@ -32,7 +32,7 @@ HEADERS =     aes.h app.h assertions.h atomic.h backtrace.h base32.h base64.h \
                radix.h random.h ratelimiter.h refcount.h regex.h \
                region.h resource.h result.h resultclass.h rwlock.h \
                safe.h serial.h sha1.h sha2.h sockaddr.h socket.h \
-               stats.h stdio.h stdlib.h string.h symtab.h \
+               stats.h stdio.h stdlib.h strerr.h string.h symtab.h \
                task.h taskpool.h timer.h tm.h types.h util.h version.h \
                xml.h
 
diff --git a/lib/isc/include/isc/strerr.h b/lib/isc/include/isc/strerr.h
new file mode 100644 (file)
index 0000000..40022ec
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * See the COPYRIGHT file distributed with this work for additional
+ * information regarding copyright ownership.
+ */
+
+#pragma once
+
+/*! \file isc/strerr.h */
+
+#include <config.h>
+
+#include <string.h>
+
+#if _GNU_SOURCE
+#undef strerror_r
+#define strerror_r isc_string_strerror_r
+#endif
index 9750163aa92b089877e22c65a135207d80ad5986..52c959e340f1ba9404d3bb30529551fa99ba29e3 100644 (file)
@@ -34,4 +34,7 @@ isc_string_strlcat(char *dst, const char *src, size_t size);
 #define strlcat isc_string_strlcat
 #endif
 
+int
+isc_string_strerror_r(int errnum, char *buf, size_t buflen);
+
 ISC_LANG_ENDDECLS
index 2c3b07cc77f44f36a03d1495611fc9c1e55cda62..4a9fa9499a43127c59de664aa2ba247d0642d1f2 100644 (file)
@@ -18,6 +18,7 @@
 
 #include <isc/condition.h>
 #include <isc/msgs.h>
+#include <isc/strerr.h>
 #include <isc/string.h>
 #include <isc/time.h>
 #include <isc/util.h>
index a04871219db509b243e733f6dde9e861bb4526eb..76bac089b69a602c094f339b17f4ae9bda02571b 100644 (file)
@@ -16,7 +16,6 @@
 
 #include <stdbool.h>
 #include <stdio.h>
-#include <string.h>
 #include <time.h>
 #include <sys/time.h>
 #include <errno.h>
@@ -24,6 +23,8 @@
 #include <isc/mutex.h>
 #include <isc/util.h>
 #include <isc/print.h>
+#include <isc/strerr.h>
+#include <isc/string.h>
 #include <isc/once.h>
 
 #if ISC_MUTEX_PROFILE
index ff37f61944ff405d2d40fadd91ffc853e2bb7e85..b1e42a0b571ef1970293945a2fdcac8574e4f848 100644 (file)
 
 #include <config.h>      // IWYU pragma: keep
 
+#ifdef _GNU_SOURCE
+#undef _GNU_SOURCE
 #include <string.h>
+#endif
 
 #include "isc/string.h"  // IWYU pragma: keep
 
@@ -103,3 +106,8 @@ isc_string_strlcat(char *dst, const char *src, size_t size)
 
        return(dlen + (s - src));       /* count does not include NUL */
 }
+
+int
+isc_string_strerror_r(int errnum, char *buf, size_t buflen) {
+       return (strerror_r(errnum, buf, buflen));
+}
index f81ef70f816312593daf45e848a8b4d27b2c5172..8d5ec293669917f38681297d491ce1d1cc95b11b 100644 (file)
@@ -36,6 +36,7 @@
 #include <isc/mutex.h>
 #include <isc/event.h>
 #include <isc/platform.h>
+#include <isc/strerr.h>
 #include <isc/string.h>
 #include <isc/task.h>
 #include <isc/time.h>
index 604213a6e24d43c7e1ba82fb56120a8315e69f73..d72d56f7e9cf280dd76a3d711fb982211319b9b7 100644 (file)
 #include <config.h>
 
 #include <stdbool.h>
-#include <string.h>
 
 #include <isc/platform.h>
 #include <isc/result.h>
+#include <isc/strerr.h>
+#include <isc/string.h>
 #include <isc/util.h>
 
 #include "errno2result.h"
index fb1a389f82d5446e114c15db728e6c9e28f2ece2..0e7712a77e7508761e9142842cfbecdcf3f075b0 100644 (file)
@@ -34,6 +34,7 @@
 #include <isc/net.h>
 #include <isc/print.h>
 #include <isc/result.h>
+#include <isc/strerr.h>
 #include <isc/string.h>
 #include <isc/types.h>
 #include <isc/util.h>
index 68757d7eff2cdd807f1aa963fbe2835c47865a4b..5b5fb4db0e09a4c352e03f5bd578d7ca18cbc9d9 100644 (file)
@@ -32,6 +32,7 @@
 #include <isc/net.h>
 #include <isc/netdb.h>
 #include <isc/once.h>
+#include <isc/strerr.h>
 #include <isc/string.h>
 #include <isc/util.h>
 
index 73d5bd3477639d9b531ad4837324b49be5741820..772e06be3e6a41548ae00210939041c0ffb0e7e5 100644 (file)
@@ -35,7 +35,6 @@
 #include <fcntl.h>
 #include <stddef.h>
 #include <stdlib.h>
-#include <string.h>
 #include <unistd.h>
 
 #include <isc/buffer.h>
@@ -56,6 +55,7 @@
 #include <isc/resource.h>
 #include <isc/socket.h>
 #include <isc/stats.h>
+#include <isc/strerr.h>
 #include <isc/string.h>
 #include <isc/task.h>
 #include <isc/thread.h>
index b5e83c8722396a43e1889a4296d522783cf27fe3..605b02938f514d8b6e728e346807656f2f7d47f7 100644 (file)
@@ -27,6 +27,7 @@
 #include <isc/log.h>
 #include <isc/platform.h>
 #include <isc/print.h>
+#include <isc/strerr.h>
 #include <isc/string.h>
 #include <isc/time.h>
 #include <isc/tm.h>
index c8f6ea3d1f6d901acc353ee60a2d3a2a3dcb5a80..d24a1268b1f64b847c9f545ec04099b7bf45b59e 100644 (file)
@@ -17,7 +17,7 @@
 
 #include "errno2result.h"
 #include <isc/result.h>
-#include <isc/strerror.h>
+#include <isc/string.h>
 #include <isc/util.h>
 
 /*
index 4c56531edcdf6c58dd7861de91a562cb6b0810ed..3272c89ecf13eb5e94c0cef9a7122414c7374d5f 100644 (file)
@@ -29,6 +29,7 @@
 #include <isc/mem.h>
 #include <isc/print.h>
 #include <isc/result.h>
+#include <isc/strerr.h>
 #include <isc/string.h>
 #include <isc/strerror.h>
 #include <isc/types.h>
index d033611bee99ccf7dfae0533dc79f46c993ace41..9c05ba59c7d21c469cab50d78a70e2288316c698 100644 (file)
@@ -614,6 +614,7 @@ isc_stdio_sync
 isc_stdio_tell
 isc_stdio_write
 isc_stdtime_get
+isc_string_strerror_r
 isc_string_strlcat
 isc_string_strlcpy
 isc_symtab_count
index e1ff0c73fa76bf7b410cd38e10dd753f60c3d8c2..ff1c035ac23aa11c693fb5d5954c05e06e94c2e5 100644 (file)
     <ClInclude Include="..\include\isc\stdlib.h">
       <Filter>Library Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="..\include\isc\strerr.h">
+      <Filter>Library Header Files</Filter>
+    </ClInclude>
     <ClInclude Include="..\include\isc\string.h">
       <Filter>Library Header Files</Filter>
     </ClInclude>
index bc4fa9f4cce7371740e5885ea844ac71417ef926..376ab0cf0c0a650168f645e91225b4525f1eb2bb 100644 (file)
@@ -363,6 +363,7 @@ copy InstallFiles ..\Build\Release\
     <ClInclude Include="..\include\isc\stats.h" />
     <ClInclude Include="..\include\isc\stdio.h" />
     <ClInclude Include="..\include\isc\stdlib.h" />
+    <ClInclude Include="..\include\isc\strerr.h" />
     <ClInclude Include="..\include\isc\string.h" />
     <ClInclude Include="..\include\isc\symtab.h" />
     <ClInclude Include="..\include\isc\task.h" />
index f2f0fa150c2665a2637c579842d68ada02509bd9..a8c7e77ecb14cc359a62076e05b86e1e92f6517b 100644 (file)
 ./lib/isc/include/isc/stats.h                  C       2009,2012,2016,2018
 ./lib/isc/include/isc/stdatomic.h              C       2018
 ./lib/isc/include/isc/stdio.h                  C       2000,2001,2004,2005,2006,2007,2013,2016,2018
+./lib/isc/include/isc/strerr.h                 C       2018
 ./lib/isc/include/isc/string.h                 C       2000,2001,2003,2004,2005,2006,2007,2014,2016,2018
 ./lib/isc/include/isc/symtab.h                 C       1996,1997,1998,1999,2000,2001,2004,2005,2006,2007,2009,2011,2012,2013,2016,2018
 ./lib/isc/include/isc/task.h                   C       1998,1999,2000,2001,2003,2004,2005,2006,2007,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018