#define STRSIGNAL(x) "[platform has no strsignal!]"
#endif
+/* VSNPRINTF */
+#ifndef HAVE_VSNPRINTF
+# error "You must have vsnprintf! Without vsnprintf it is very hard to write secure programs. If you don't have it then your system libc is probably full of hideous buffer overrun security bugs. But, if you don't want to fix your system a portable snprintf can be found at http://www.ijs.si/software/snprintf/"
+#endif
+
/* EPROTO */
#ifndef HAVE_EPROTO
#define EPROTO 0
/* Define if you have the strsignal function. */
#undef HAVE_STRSIGNAL
+/* Define if you have the vsnprintf function. */
+#undef HAVE_VSNPRINTF
+
/* Define if you have the socket library (-lsocket). */
#undef HAVE_LIBSOCKET
#define STRSIGNAL(x) "[platform has no strsignal!]"
#endif
+/* VSNPRINTF */
+#ifndef HAVE_VSNPRINTFx
+# error "You must have vsnprintf! Without vsnprintf it is very hard to write secure programs. If you don't have it then your system libc is probably full of hideous buffer overrun security bugs. But, if you don't want to fix your system a portable snprintf can be found at http://www.ijs.si/software/snprintf/"
+#endif
+
/* EPROTO */
#ifndef HAVE_EPROTO
#define EPROTO 0
CFLAGS="$CFLAGS -D_GNU_SOURCE"
AC_CHECK_LIB(socket,socket)
-AC_CHECK_FUNCS(setenv strsignal)
+AC_CHECK_FUNCS(setenv strsignal vsnprintf)
AC_CACHE_CHECK(for EPROTO,userv_cv_hdr_eproto,
AC_EGREP_CPP(yes,
Packaging changes:
* Reran flex (flex Debian 2.5.31-31).
* Use install -g 0 instead of -g root. This is more portable, I hope.
+ * Detect missing vsnprintf and mention URL from Nelson Beebe in err msg.
--