commit - 3914f55ef303013ce8757ada17174cb988228cf7
commit + 04db8b9ae0a360106143f40a94d4fc2a4e36b77b
blob - 37e1624ad90be4faf1ecf4153b07badb070e7982
blob + 3838b41fce094d1dd8ea8bac701fc4f4a1c6089c
--- configure.ac
+++ configure.ac
PKG_PROG_PKG_CONFIG
+need_libbsd=no
+AC_CHECK_FUNCS([recallocarray, strtonum],
+ , [need_libbsd=yes])
+AC_CHECK_HEADER(sys/tree.h,
+ , [
+ need_libbsd=yes
+ CFLAGS="-DNO_TREE_H $CFLAGS"
+ ])
+
+AS_IF([test "$need_libbsd" = "yes"], [
+ PKG_CHECK_MODULES([libbsd], [libbsd], [
+ CFLAGS="-DHAVE_LIBBSD $libbsd_CFLAGS $CFLAGS"
+ LIBS="libbsd_LIBS $LIBS"
+ ], [AC_MSG_ERROR([requires libbsd])])
+], )
+
case "$host_os" in
+*linux*)
+ CFLAGS="-D_DEFAULT_SOURCE -D_XOPEN_SOURCE $CFLAGS"
+ ;;
+esac
+
+case "$host_os" in
*openbsd*)
AC_SEARCH_LIBS([event_init], [event], [],
[AC_MSG_ERROR([requires libevent])])
;;
*)
PKG_CHECK_MODULES([libevent2], [libevent_core >= 2], [
- AC_DEFINE([HAVE_EVENT2], 1, [1 if using event2])
CFLAGS="$libevent2_CFLAGS $CFLAGS"
LIBS="$libevent2_LIBS $LIBS"
], [AC_MSG_ERROR([requires libevent])])
blob - 3803a9b49de7428460bf7ab04d27e950eb459ccd
blob + 53247db346db53374b13c862b595cd26530dd5fc
--- iobuf.c
+++ iobuf.c
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#define _GNU_SOURCE 1
-#define _BSD_SOURCE 1
-
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/uio.h>
#include <openssl/ssl.h>
#endif
+#ifdef HAVE_LIBBSD
+#include <bsd/bsd.h>
+#endif
+
#include "iobuf.h"
#define IOBUF_MAX 65536
blob - 349e5abf5f11ce0eafd01d9c591a4d1764486548
blob + 6d699ccd3764c5678db80bcc7103c1dbc0a4e1d5
--- ioev.c
+++ ioev.c
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#define _GNU_SOURCE 1
-#define _BSD_SOURCE 1
#include <sys/types.h>
#include <sys/queue.h>
blob - 13dfc078ac3943b3e013f4317db6f62aac2fb7c9
blob + bb292b4211350f0704976fcbe3783ad25dde46df
--- opensmtpd.c
+++ opensmtpd.c
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#define _GNU_SOURCE 1
#include <sys/time.h>
+#ifndef NO_TREE_H
#include <sys/tree.h>
+#endif
#include <sys/socket.h>
#include <sys/un.h>
#include <syslog.h>
#include <unistd.h>
+#ifdef HAVE_LIBBSD
+#include <bsd/bsd.h>
+#endif
+
#include "opensmtpd.h"
#include "ioev.h"