123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482 |
- --- a/configure.ac
- +++ b/configure.ac
- @@ -16,7 +16,7 @@ echo "Configuring Dante ${version}${pren
-
- AM_INIT_AUTOMAKE(dante, ${version}${prename})
- AC_CONFIG_SRCDIR(include/common.h)
- -AM_CONFIG_HEADER(include/autoconf.h)
- +AM_CONFIG_HEADER(autoconfig-is-soo-stupid.h include/autoconf.h)
-
- AC_DEFINE(BAREFOOTD, 0, [we are Dante])
-
- @@ -38,17 +38,6 @@ AC_PROG_CPP
-
- AM_CONDITIONAL(PRERELEASE, test x$prerelease != x)
-
- -#known keywords for --enable/disable-foo(=yes/no)?
- -LTINTERNAL="dlopen|dlopen_self|dlopen_self_static|fast_install|libtool_lock|win32_dll|shared_with_static_runtimes|shared_with_static_runtimes_CXX|shared_with_static_runtimes_F77"
- -KNOWN_KEYWORDS="$LTINTERNAL|shared|static|debug|warnings|diagnostic|profiling|linting|libwrap|preload|serverdl|clientdl|internal|pidfile|drt_fallback"
- -for keyword in `set | egrep '^enable_' | sed -e 's/^enable_\(.*\)=.*/\1/'`; do
- - echo $keyword | egrep "^(${KNOWN_KEYWORDS})$" > /dev/null
- - if test $? -ne 0; then
- - AC_MSG_WARN([unknown option '$keyword', ignoring ...])
- - sleep 10;
- - fi
- -done
- -
- case $host in
- *-*-osf*)
- AC_MSG_WARN([OSF support might be removed in the near future.])
- @@ -175,31 +164,6 @@ case $host in
- #XXX make sure compiling with compiler options works
- esac
-
- -AC_MSG_CHECKING([for support for -pipe compiler flag])
- -oCFLAGS=$CFLAGS
- -CFLAGS="$CFLAGS -pipe"
- -AC_TRY_RUN([
- -int main()
- -{
- - return 0;
- -}], [AC_MSG_RESULT([yes])
- - comp_flags="${comp_flags} -pipe"],
- - AC_MSG_RESULT([no]))
- -CFLAGS="$oCFLAGS"
- -
- -AC_MSG_CHECKING([for support for -Wbounded compiler flag])
- -oCFLAGS=$CFLAGS
- -CFLAGS="$CFLAGS -Wbounded"
- -AC_TRY_RUN([
- -int main()
- -{
- - return 0;
- -}], [AC_MSG_RESULT([yes])
- - comp_flags="${comp_flags} -Wbounded"],
- - [AC_MSG_RESULT([no])
- - AC_DEFINE(__bounded__(a,b,c), , [empty __bounded__ macro])])
- -CFLAGS="$oCFLAGS"
- -
- AC_MSG_CHECKING([for compilation with debugging])
- AC_ARG_ENABLE(debug,
- [ --enable-debug compile with debugging support],
- @@ -608,43 +572,6 @@ else
- fi], [AC_MSG_RESULT(no)
- AC_MSG_WARN([performance in the server might be degraded without support for the SO_SNDLOWAT socket option])])
-
- -AC_MSG_CHECKING([whether realloc with a NULL pointer calls malloc])
- -AC_TRY_RUN([
- -#include <stdlib.h>
- -#ifndef NULL
- -#define NULL (char *)0
- -#endif
- -
- -int main()
- -{
- - /* will assume this test doesn\'t fail because of lack of memory */
- - if (realloc(NULL, 1) == NULL)
- - return 1;
- - else
- - return 0;
- -}], [AC_MSG_RESULT(yes)],
- - [AC_DEFINE(HAVE_NOMALLOC_REALLOC, 1, [realloc never calls malloc])
- - AC_MSG_RESULT(no)])
- -
- -AC_MSG_CHECKING([whether free can be called with NULL])
- -AC_TRY_RUN([
- -#include <stdlib.h>
- -#ifndef NULL
- -#define NULL (char *)0
- -#endif
- -
- -int main()
- -{
- - /* will assume core dump/seg fault if it doesn\'t work */
- - free(NULL);
- - return 0;
- -}], [AC_MSG_RESULT(yes)],
- - [AC_DEFINE(HAVE_NONULL_FREE, 1, [free does not accept NULL parameter])
- - AC_MSG_RESULT(no)])
- -
- -#A good time to save the cache (preload code might fail)
- -AC_CACHE_SAVE
- -
- m4_include(preload.m4)
-
- #construct SUBDIRS variable
- @@ -722,31 +649,8 @@ case $host in
- ;;
- esac
-
- -AC_MSG_CHECKING([for CMSG_SPACE in sys/socket.h])
- -AC_TRY_RUN([
- -#include <sys/types.h>
- -#include <sys/socket.h>
- -int main()
- -{
- - int d = CMSG_SPACE(4);
- - return 0;
- -}
- -], [AC_MSG_RESULT(yes)
- - AC_DEFINE(HAVE_CMSG_SPACE, 1, CMSG_SPACE exists)],
- - [AC_MSG_RESULT(no)])
- -
- -AC_MSG_CHECKING([for CMSG_LEN in sys/socket.h])
- -AC_TRY_RUN([
- -#include <sys/types.h>
- -#include <sys/socket.h>
- -
- -int main()
- -{
- - int d = CMSG_LEN(4);
- - return 0;
- -}], [AC_MSG_RESULT(yes)
- - AC_DEFINE(HAVE_CMSG_LEN, 1, [CMSG_LEN exists])],
- - [AC_MSG_RESULT(no)])
- +AC_DEFINE(HAVE_CMSG_SPACE, 1, [CMSG_SPACE exists])
- +AC_DEFINE(HAVE_CMSG_LEN, 1, [CMSG_LEN exists])
-
- AC_MSG_CHECKING([for sa_len in sockaddr])
- AC_TRY_COMPILE([
- @@ -913,10 +817,6 @@ else
- AC_MSG_RESULT([yes])
- fi
-
- -dnl determine GSSAPI support
- -no_gssapi=t
- -m4_include(gssapi.m4)
- -
- dnl compatibility library tests
- m4_include(libscompat.m4)
-
- @@ -978,15 +878,6 @@ global:
- fi
- AC_SUBST(MAPOPT)
-
- -#expected select behaviour?
- -unset nb_select_err
- -L_UNCON_SELECT([],
- - [nb_select_err=t])
- -
- -if test x"${nb_select_err}" = xt; then
- - AC_MSG_WARN([operations on nonblocking sockets might fail on this platform])
- -fi
- -
- AC_MSG_CHECKING([direct route fallback in client enabled])
- with_drtfallback=t
- AC_ARG_ENABLE(drt-fallback,
- --- a/acinclude.m4
- +++ b/acinclude.m4
- @@ -180,63 +180,7 @@ selectcheck(s)
- [AC_MSG_RESULT(no)
- [$2]])])
-
- -#can it really be this simple?
- -#nope, doesn't handle coff files which also have no underscore
- -AC_DEFUN([L_SYMBOL_UNDERSCORE],
- -[AC_MSG_CHECKING(for object file type)
- -AH_TEMPLATE([HAVE_NO_SYMBOL_UNDERSCORE], [platform symbol type])
- -AC_TRY_RUN([
- -/* look for ELF identification header at the start of argv[0] */
- -
- -#include <stdio.h>
- -#include <fcntl.h>
- -#include <string.h>
- -
- -/*
- - * ELF header, from ELF standard (Portable Formats Specification,
- - * Version 1.1).
- - */
- -char elfheader[] = { 0x7f, 'E', 'L', 'F' };
- -
- -int
- -main (argc, argv)
- - int argc;
- - char *argv[];
- -{
- - int fd;
- - int len = sizeof(elfheader);
- - char header[len];
- -
- - if ((fd = open(argv[0], O_RDONLY, 0)) == -1) {
- - perror("open");
- - exit(1);
- - }
- - if (read(fd, header, len) != len) {
- - perror("read");
- - exit(1);
- - }
- - if (memcmp(header, elfheader, len) == 0)
- - exit(0); /* pointy ears */
- - else
- - exit(1);
- -}
- -], [AC_MSG_RESULT(elf)
- - AC_DEFINE(HAVE_NO_SYMBOL_UNDERSCORE)],
- - [
- - #XXX exceptions for coff platforms, should be detected automatically
- - case $host in
- - alpha*-dec-osf*)
- - AC_DEFINE(HAVE_NO_SYMBOL_UNDERSCORE)
- - AC_MSG_RESULT(coff)
- - ;;
- - *-*-hpux*) #XXX apparently does not use underscore
- - AC_DEFINE(HAVE_NO_SYMBOL_UNDERSCORE)
- - AC_MSG_RESULT(a.out?)
- - ;;
- - *)
- - AC_MSG_RESULT(a.out)
- - ;;
- - esac])])
- +AC_DEFUN([L_SYMBOL_UNDERSCORE], [AC_DEFINE(HAVE_NO_SYMBOL_UNDERSCORE, [1], [Automake sucks])])
-
-
- dnl addproto - generate AC_DEFINE statements
- --- a/preload.m4
- +++ b/preload.m4
- @@ -517,91 +517,6 @@ AC_DEFINE_UNQUOTED(LIBRARY_LIBC, "${LIBC
-
- L_SYMBOL_UNDERSCORE()
-
- -AC_MSG_CHECKING([for working dlsym])
- -AC_TRY_RUN([
- -#include <dlfcn.h>
- -#include <stdio.h>
- -
- -#include "include/symbols.h"
- -
- -int main()
- -{
- - void *lib;
- - void *sym;
- -
- - if ((lib = dlopen(LIBRARY_CONNECT, DL_LAZY)) == NULL) {
- - fprintf(stderr, "dlopen: %s", dlerror());
- - return 1;
- - }
- - (void)dlerror();
- - if ((sym = dlsym(lib, SYMBOL_CONNECT)) == NULL) {
- - fprintf(stderr, "dlsym: %s", dlerror());
- - return 1;
- - }
- - return 0;
- -}], [AC_MSG_RESULT(yes)],
- - [AC_MSG_RESULT(no)
- - no_preload_client=t
- - no_preload_server=t
- - no_preload=t])
- -
- -AC_MSG_CHECKING([for working RTLD_NEXT])
- -AC_TRY_RUN([
- -#define _GNU_SOURCE
- -#include <dlfcn.h>
- -#include <stdio.h>
- -
- -#include "include/symbols.h"
- -
- -int main()
- -{
- - void *sym;
- -
- - if ((sym = dlsym(RTLD_NEXT, SYMBOL_READ)) == NULL) {
- - fprintf(stderr, "dlsym: %s", dlerror());
- - return 1;
- - }
- - return 0;
- -}], [AC_MSG_RESULT(yes)
- - AC_DEFINE(HAVE_RTLD_NEXT, 1, [have working dlsym RTLD_NEXT])],
- - [AC_MSG_RESULT(no)
- - AC_DEFINE(HAVE_RTLD_NEXT, 0, [no working dlsym RTLD_NEXT])])
- -
- -#solaris might block preloading
- -AC_MSG_CHECKING([libc preload blocking])
- -AC_TRY_RUN([
- -#include <stdlib.h>
- -#include <string.h>
- -#include <unistd.h>
- -int
- -main(int argc, char *argv[])
- -{
- - char buf[1024];
- -
- - strcpy(buf, "lari -V ");
- - strcat(buf, argv[0]);
- - strcat(buf, " | grep read | grep protected > /dev/null");
- -
- - /*
- - * return error if 'protected'
- - * (ignore errors, not indicative of blocking) */
- - if (system(buf) == 0)
- - return 1;
- - else
- - return 0;
- -}
- -
- -ssize_t
- -read(d, buf, nbytes)
- - int d;
- - void *buf;
- - size_t nbytes;
- -{
- - return 0;
- -}
- -], [AC_MSG_RESULT(no)],
- - [AC_MSG_RESULT(yes)
- - AC_MSG_WARN([this platform blocks preloading of libraries])
- - blocked_preload=t])
- +AC_DEFINE(HAVE_RTLD_NEXT, 1, [have working dlsym RTLD_NEXT])
-
- AC_CONFIG_FILES(bin/socksify)
- --- a/libscompat.m4
- +++ b/libscompat.m4
- @@ -1,70 +1,6 @@
- dnl libscompat.m4 - tests related to replacement code in libscompat directory
-
- -AC_MSG_CHECKING([for __attribute__ support])
- -AC_TRY_RUN([
- -#include <stdlib.h>
- -
- -void errfunc(void) __attribute((noreturn));
- -
- -void errfunc(void)
- -{
- - exit(0);
- -}
- -
- -int main()
- -{
- - errfunc();
- -}], [AC_MSG_RESULT([yes])],
- - [AC_MSG_RESULT([no])
- - AC_DEFINE(__attribute__(a), , [empty __attribute__ macro])])
- -
- -AC_MSG_CHECKING([for __printf__ attribute support])
- -if test x"$have_suncc" = xt; then
- - AC_MSG_RESULT([disabled for sun cc])
- - AC_DEFINE(format(a,b,c), , [empty format attribute macro])
- -else
- - AC_TRY_RUN([
- -#include <stdlib.h>
- -
- -void func(const char *fmt, ...)
- - __attribute__((format(__printf__, 1, 2)));
- -
- -void func(const char *fmt, ...) {
- - (void)fmt;
- - return;
- -}
- -
- -int main()
- -{
- - func("foo");
- - return 0;
- -}], [AC_MSG_RESULT([yes])],
- - [AC_MSG_RESULT([no])
- - AC_DEFINE(format(a,b,c), , [empty format attribute macro])])
- -fi
- -
- -AC_MSG_CHECKING([for timer macros])
- -AC_TRY_RUN([
- -#include <sys/time.h>
- -
- -int main()
- -{
- - struct timeval tv, tv2, tv3;
- -
- - tv.tv_sec = 0;
- - tv.tv_usec = 0;
- - tv2.tv_sec = 0;
- - tv2.tv_usec = 0;
- - tv3.tv_sec = 0;
- - tv3.tv_usec = 0;
- -
- - timeradd(&tv, &tv2, &tv3);
- - timersub(&tv3, &tv2, &tv);
- -
- - return 0; }],
- -[AC_MSG_RESULT(yes)
- - AC_DEFINE(HAVE_TIMER_MACROS, 1, [timeradd(), timersub etc. exist in sys/time.h])],
- -[AC_MSG_RESULT(no)])
- +AC_DEFINE(HAVE_TIMER_MACROS, 1, [timeradd(), timersub etc. exist in sys/time.h])
-
- AC_CHECK_FUNCS(daemon difftime getifaddrs freeifaddrs hstrerror inet_aton)
- AC_CHECK_FUNCS(inet_pton issetugid memmove seteuid setegid)
- @@ -72,53 +8,7 @@ AC_CHECK_FUNCS(setproctitle sockatmark s
- AC_CHECK_FUNCS(bzero)
- #inet_ntoa - only checked for incorrect behavior
-
- -#try to detect gcc bug (irix 64 problem, affects among others inet_ntoa)
- -AC_MSG_CHECKING([for incorrect inet_ntoa behaviour])
- -AC_TRY_RUN([
- -#include <sys/types.h>
- -#include <netinet/in.h>
- -#include <arpa/inet.h>
- -#include <sys/socket.h>
- -int main(void)
- -{
- - struct sockaddr_in addr;
- - char *a, *b = "195.195.195.195";
- - addr.sin_addr.s_addr = inet_addr(b);
- - a = inet_ntoa(addr.sin_addr);
- - if (strcmp(a, b) == 0)
- - return 1;
- - else
- - return 0;
- -}
- -], [AC_DEFINE(HAVE_BROKEN_INET_NTOA, 1, [platform bug])
- - AC_MSG_RESULT(yes)
- - ac_cv_func_inet_ntoa=no],
- - AC_MSG_RESULT(no))
- -
- -if test x${ac_cv_func_sockatmark} = xyes; then
- - AC_MSG_CHECKING([for working sockatmark])
- - AC_TRY_RUN([
- -#include <sys/types.h>
- -#include <sys/socket.h>
- -
- -int
- -main()
- -{
- - int s;
- - int r;
- -
- - if ((s = socket(PF_UNIX, SOCK_STREAM, 0)) == -1)
- - return 1;
- - if ((r = sockatmark(s)) == -1)
- - return 1;
- - if (r == 0)
- - return 0;
- - else
- - return 1; /* would likely indicate an error */
- -}], [AC_MSG_RESULT(yes)],
- - [AC_MSG_RESULT(no)
- - ac_cv_func_sockatmark=no])
- -fi
- +ac_cv_func_sockatmark=no
-
- #only compile files that are needed
- unset LIBSCSRC
- @@ -139,24 +29,3 @@ AC_SUBST([LIBSCSRC])
- if test x${ac_cv_func_bzero} = xno; then
- AC_DEFINE(bzero(b, len), memset((b), 0, (len)), [bzero replacement])
- fi
- -
- -#causes problems with packaging, allow test to be turned off
- -AC_ARG_WITH(glibc-secure,
- -[ --without-glibc-secure disable libc_enable_secure check @<:@default=detect@:>@],
- -[GLIBCSEC=$withval])
- -
- -if test "${GLIBCSEC}" != no; then
- - AC_MSG_CHECKING([for __libc_enable_secure])
- - AC_TRY_RUN([
- -extern int __libc_enable_secure;
- -
- -int main()
- -{
- - if (__libc_enable_secure == 0)
- - return 0;
- -
- - return 1;
- -}],[AC_MSG_RESULT([yes])
- - AC_DEFINE(HAVE_LIBC_ENABLE_SECURE, 1, [linux version of issetugid()])],
- - AC_MSG_RESULT([no]))
- -fi
|