diff -ru tmp/poslib-1.0.2/autogen poslib/autogen --- tmp/poslib-1.0.2/autogen 2003-05-26 16:19:01.000000000 -0400 +++ poslib/autogen 2003-12-18 11:30:29.000000000 -0500 @@ -13,7 +13,7 @@ # Free Software Foundation; either version 2 of the License, or (at your # option) any later version. -PROJECT=Posadis +PROJECT=poslib DIE=0 Only in poslib/: buildbin.sh diff -ru tmp/poslib-1.0.2/ChangeLog poslib/ChangeLog --- tmp/poslib-1.0.2/ChangeLog 2003-10-29 12:07:21.000000000 -0500 +++ poslib/ChangeLog 2003-12-22 11:22:20.000000000 -0500 @@ -1,6 +1,18 @@ ChangeLog for Poslib Stable CVS + * Fixed bug where queries with the RD bit would be answered, possibly causing + a flood in combination with IP spoofing. [Thanks to roy at dnss.ec] + * Fixed bug where, if Posadis is at its max number of threads and it receives + a message with size smaller than the buffer size, the ID with which an answer + is sent back is wrong. [Thanks to dou0228 at msn.com] + * Fixed bug where posthreads would neither be joined nor detached, causing + a memory leak. [Thanks to dou0228 at msn.com] + * Fix check for -lpthread on Linux + * Fixed bug where "no threads left" error answer code would assert the + question list being nonempty. + +Version 1.0.2 * Changed occurences of "RR" in domain function error messages to "domain". * Fixed bug while attempting to refer to domain names with offset Only in poslib/: config.cache diff -ru tmp/poslib-1.0.2/config.guess poslib/config.guess --- tmp/poslib-1.0.2/config.guess 2003-05-26 06:54:38.000000000 -0400 +++ poslib/config.guess 2002-07-30 09:43:13.000000000 -0400 @@ -1,9 +1,9 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. -timestamp='2002-10-21' +timestamp='2001-09-04' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -24,9 +24,8 @@ # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# Written by Per Bothner . +# Please send patches to . # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and @@ -88,40 +87,30 @@ exit 1 fi -trap 'exit 1' 1 2 15 -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. +dummy=dummy-$$ +trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 +# CC_FOR_BUILD -- compiler used by this script. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. -# This shell variable is my proudest work .. or something. --bje - -set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ; -(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old) - || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ; -dummy=$tmpdir/dummy ; -files="$dummy.c $dummy.o $dummy.rel $dummy" ; -trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then +set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int dummy(){}" > $dummy.c ; + for c in cc gcc c89 ; do + ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; + if test $? = 0 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; - rm -f $files ; + rm -f $dummy.c $dummy.o $dummy.rel ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; -unset files' +esac' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) @@ -138,30 +127,29 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or + # Netbsd (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + # Determine the machine/vendor (is the vendor relevant). + case "${UNAME_MACHINE}" in + amiga) machine=m68k-unknown ;; + arm32) machine=arm-unknown ;; + atari*) machine=m68k-atari ;; + sun3*) machine=m68k-sun ;; + mac68k) machine=m68k-apple ;; + macppc) machine=powerpc-apple ;; + hp3[0-9][05]) machine=m68k-hp ;; + ibmrt|romp-ibm) machine=romp-ibm ;; + *) machine=${UNAME_MACHINE}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) + case "${UNAME_MACHINE}" in + i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null @@ -184,45 +172,6 @@ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit 0 ;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - macppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvmeppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mipseb-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sun3:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` @@ -231,7 +180,6 @@ # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - eval $set_cc_for_build cat <$dummy.s .data \$Lformat: @@ -257,9 +205,10 @@ jsr \$26,exit .end main EOF - $CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null + eval $set_cc_for_build + $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then - case `$dummy` in + case `./$dummy` in 0-0) UNAME_MACHINE="alpha" ;; @@ -281,12 +230,9 @@ 2-1307) UNAME_MACHINE="alphaev68" ;; - 3-1307) - UNAME_MACHINE="alphaev7" - ;; esac fi - rm -f $dummy.s $dummy && rmdir $tmpdir + rm -f $dummy.s $dummy echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; Alpha\ *:Windows_NT*:*) @@ -301,11 +247,29 @@ Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit 0;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos + arc64:OpenBSD:*:*) + echo mips64el-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hkmips:OpenBSD:*:*) + echo mips-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pmax:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mips-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + wgrisc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition @@ -327,10 +291,6 @@ NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; - DRS?6000:UNIX_SV:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7 && exit 0 ;; - esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; @@ -359,7 +319,7 @@ echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) @@ -373,6 +333,12 @@ aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; + sparc*:NetBSD:*) + echo `uname -p`-unknown-netbsd${UNAME_RELEASE} + exit 0 ;; + atari*:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -399,6 +365,18 @@ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; + sun3*:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; @@ -437,21 +415,15 @@ exit (-1); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c \ - && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 - rm -f $dummy.c $dummy && rmdir $tmpdir + $CC_FOR_BUILD $dummy.c -o $dummy \ + && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && rm -f $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit 0 ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit 0 ;; - Night_Hawk:*:*:PowerMAX_OS) - echo powerpc-harris-powermax - exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; @@ -524,8 +496,8 @@ exit(0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 - rm -f $dummy.c $dummy && rmdir $tmpdir + $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 @@ -534,7 +506,7 @@ fi exit 0 ;; *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else @@ -574,8 +546,10 @@ 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + case "${HPUX_REV}" in + 11.[0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 @@ -584,13 +558,13 @@ case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + fi ;; + esac + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include @@ -623,10 +597,10 @@ exit (0); } EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi - rm -f $dummy.c $dummy && rmdir $tmpdir - fi ;; + (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` + if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi + rm -f $dummy.c $dummy + fi ;; esac echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; @@ -661,8 +635,8 @@ exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 - rm -f $dummy.c $dummy && rmdir $tmpdir + $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) @@ -690,6 +664,9 @@ parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; + hppa*:OpenBSD:*:*) + echo hppa-unknown-openbsd + exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; @@ -708,6 +685,9 @@ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; + CRAY*X-MP:*:*:*) + echo xmp-cray-unicos + exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; @@ -729,12 +709,18 @@ CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; + CRAY-2:*:*:*) + echo cray2-cray-unicos + exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; @@ -745,19 +731,10 @@ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*) - # Determine whether the default compiler uses glibc. - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #if __GLIBC__ >= 2 - LIBC=gnu - #else - LIBC= - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - rm -f $dummy.c && rmdir $tmpdir - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; + *:OpenBSD:*:*) + echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin @@ -768,9 +745,6 @@ i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; - x86:Interix*:3*) - echo i386-pc-interix3 - exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we @@ -796,30 +770,16 @@ echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - rm -f $dummy.c && rmdir $tmpdir - test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0 + case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in + big) echo mips-unknown-linux-gnu && exit 0 ;; + little) echo mipsel-unknown-linux-gnu && exit 0 ;; + esac ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu @@ -868,8 +828,7 @@ # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + ld_supported_targets=`cd /; ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// @@ -881,7 +840,7 @@ ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 ;; + exit 0 ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit 0 ;; @@ -893,29 +852,32 @@ esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #ifdef __INTEL_COMPILER - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif + cat >$dummy.c < +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif +#ifdef __ELF__ +# ifdef __GLIBC__ +# if __GLIBC__ >= 2 + printf ("%s-pc-linux-gnu\n", argv[1]); +# else + printf ("%s-pc-linux-gnulibc1\n", argv[1]); +# endif +# else + printf ("%s-pc-linux-gnulibc1\n", argv[1]); +# endif +#else + printf ("%s-pc-linux-gnuaout\n", argv[1]); +#endif + return 0; +} EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - rm -f $dummy.c && rmdir $tmpdir - test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 + $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; i*86:DYNIX/ptx:4*:*) @@ -953,13 +915,13 @@ UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` + (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else @@ -992,12 +954,9 @@ # "miniframe" echo m68010-convergent-sysv exit 0 ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0) + 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` @@ -1088,9 +1047,6 @@ SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit 0 ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit 0 ;; @@ -1101,17 +1057,15 @@ echo `uname -p`-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 + if test "${UNAME_MACHINE}" = "x86pc"; then UNAME_MACHINE=pc fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + echo `uname -p`-${UNAME_MACHINE}-nto-qnx exit 0 ;; *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; - NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) + NSR-[KW]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) @@ -1283,8 +1237,8 @@ } EOF -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 -rm -f $dummy.c $dummy && rmdir $tmpdir +$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 +rm -f $dummy.c $dummy # Apollos put the system type in the environment. Only in poslib/: config.h.in Only in poslib/: config.log Only in poslib/: config.status diff -ru tmp/poslib-1.0.2/configure poslib/configure --- tmp/poslib-1.0.2/configure 2003-11-05 11:01:04.000000000 -0500 +++ poslib/configure 2003-12-22 22:10:51.000000000 -0500 @@ -5600,6 +5600,113 @@ + echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 +echo "configure:5605: checking for ANSI C header files" >&5 +if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +#include +#include +#include +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5618: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + ac_cv_header_stdc=yes +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_header_stdc=no +fi +rm -f conftest* + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. +cat > conftest.$ac_ext < +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "memchr" >/dev/null 2>&1; then + : +else + rm -rf conftest* + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. +cat > conftest.$ac_ext < +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "free" >/dev/null 2>&1; then + : +else + rm -rf conftest* + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. +if test "$cross_compiling" = yes; then + : +else + cat > conftest.$ac_ext < +#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int main () { int i; for (i = 0; i < 256; i++) +if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); +exit (0); } + +EOF +if { (eval echo configure:5688: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + ac_cv_header_stdc=no +fi +rm -fr conftest* +fi + +fi +fi + +echo "$ac_t""$ac_cv_header_stdc" 1>&6 +if test $ac_cv_header_stdc = yes; then + cat >> confdefs.h <<\EOF +#define STDC_HEADERS 1 +EOF + +fi + # Check whether --with-cxxflags or --without-cxxflags was given. @@ -5713,17 +5820,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5717: checking for $ac_hdr" >&5 +echo "configure:5824: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5727: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5834: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5753,17 +5860,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5757: checking for $ac_hdr" >&5 +echo "configure:5864: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5767: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5874: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5793,17 +5900,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5797: checking for $ac_hdr" >&5 +echo "configure:5904: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5807: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5914: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5841,12 +5948,12 @@ for ac_func in select socket inet_aton gethostname gethostbyname do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5845: checking for $ac_func" >&5 +echo "configure:5952: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5983: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5900,7 +6007,7 @@ if test $ac_cv_func_socket = no; then # socket is not in the default libraries. echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 -echo "configure:5904: checking for socket in -lsocket" >&5 +echo "configure:6011: checking for socket in -lsocket" >&5 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5908,7 +6015,7 @@ ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5945,9 +6052,9 @@ fi echo $ac_n "checking for vsnprintf""... $ac_c" 1>&6 -echo "configure:5949: checking for vsnprintf" >&5 +echo "configure:6056: checking for vsnprintf" >&5 cat > conftest.$ac_ext < #include @@ -5956,7 +6063,7 @@ char buff[1]; va_list valist; vsnprintf(buff, 1, "", valist); ; return 0; } EOF -if { (eval echo configure:5960: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6067: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF @@ -5974,9 +6081,9 @@ echo $ac_n "checking for gettimeofday""... $ac_c" 1>&6 -echo "configure:5978: checking for gettimeofday" >&5 +echo "configure:6085: checking for gettimeofday" >&5 cat > conftest.$ac_ext < @@ -5986,7 +6093,7 @@ int ret = gettimeofday(&tp, &zn); ; return 0; } EOF -if { (eval echo configure:5990: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6097: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF @@ -6005,7 +6112,7 @@ if test $ac_cv_func_inet_aton = no; then # inet_aton is not in the default libraries. echo $ac_n "checking for inet_aton in -lresolv""... $ac_c" 1>&6 -echo "configure:6009: checking for inet_aton in -lresolv" >&5 +echo "configure:6116: checking for inet_aton in -lresolv" >&5 ac_lib_var=`echo resolv'_'inet_aton | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6013,7 +6120,7 @@ ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6051,7 +6158,7 @@ if test $ac_cv_func_gethostname = no; then echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6 -echo "configure:6055: checking for gethostname in -lnsl" >&5 +echo "configure:6162: checking for gethostname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6059,7 +6166,7 @@ ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6097,7 +6204,7 @@ if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:6101: checking for gethostbyname in -lnsl" >&5 +echo "configure:6208: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6105,7 +6212,7 @@ ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6230: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6148,9 +6255,9 @@ if test x$want_ipv6 = x1; then echo $ac_n "checking for struct sockaddr_in6""... $ac_c" 1>&6 -echo "configure:6152: checking for struct sockaddr_in6" >&5 +echo "configure:6259: checking for struct sockaddr_in6" >&5 cat > conftest.$ac_ext < #include @@ -6160,7 +6267,7 @@ static struct sockaddr_in6 ac_i; ; return 0; } EOF -if { (eval echo configure:6164: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6271: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF @@ -6170,9 +6277,9 @@ echo $ac_n "checking whether struct sockaddr_in6 has a sin6_len field""... $ac_c" 1>&6 -echo "configure:6174: checking whether struct sockaddr_in6 has a sin6_len field" >&5 +echo "configure:6281: checking whether struct sockaddr_in6 has a sin6_len field" >&5 cat > conftest.$ac_ext < #include @@ -6182,7 +6289,7 @@ static struct sockaddr_in6 ac_i;int ac_j = sizeof(ac_i.sin6_len); ; return 0; } EOF -if { (eval echo configure:6186: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6293: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF @@ -6199,9 +6306,9 @@ echo $ac_n "checking whether struct sockaddr_storage has a __ss_family field""... $ac_c" 1>&6 -echo "configure:6203: checking whether struct sockaddr_storage has a __ss_family field" >&5 +echo "configure:6310: checking whether struct sockaddr_storage has a __ss_family field" >&5 cat > conftest.$ac_ext < #include @@ -6211,7 +6318,7 @@ static struct sockaddr_storage ac_i;int ac_j = sizeof(ac_i.__ss_family); ; return 0; } EOF -if { (eval echo configure:6215: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF @@ -6235,9 +6342,9 @@ rm -f conftest* echo $ac_n "checking for struct sockaddr_storage""... $ac_c" 1>&6 -echo "configure:6239: checking for struct sockaddr_storage" >&5 +echo "configure:6346: checking for struct sockaddr_storage" >&5 cat > conftest.$ac_ext < #include @@ -6247,7 +6354,7 @@ static struct sockaddr_storage ac_i; ; return 0; } EOF -if { (eval echo configure:6251: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6358: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF @@ -6264,13 +6371,11 @@ rm -f conftest* fi - - echo $ac_n "checking whether struct sockaddr_in has a sin_len field""... $ac_c" 1>&6 -echo "configure:6272: checking whether struct sockaddr_in has a sin_len field" >&5 +echo "configure:6377: checking whether struct sockaddr_in has a sin_len field" >&5 cat > conftest.$ac_ext < #include @@ -6279,7 +6384,7 @@ static struct sockaddr_in ac_i;int ac_j = sizeof(ac_i.sin_len); ; return 0; } EOF -if { (eval echo configure:6283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6388: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF @@ -6296,9 +6401,9 @@ echo $ac_n "checking for socklen_t""... $ac_c" 1>&6 -echo "configure:6300: checking for socklen_t" >&5 +echo "configure:6405: checking for socklen_t" >&5 cat > conftest.$ac_ext < EOF @@ -6317,11 +6422,36 @@ rm -f conftest* + +ORIG_LIBS=$LIBS +LIBS="$LIBS -lstdc++" + +echo $ac_n "checking for -lstdc++""... $ac_c" 1>&6 +echo "configure:6431: checking for -lstdc++" >&5 +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + echo "$ac_t""yes" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + echo "$ac_t""no" 1>&6; LIBS=$ORIG_LIBS +fi +rm -f conftest*; + system=`uname -s` case $system in Linux|SunOS) echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6 -echo "configure:6325: checking for pthread_create in -lpthread" >&5 +echo "configure:6455: checking for pthread_create in -lpthread" >&5 ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6329,7 +6459,7 @@ ac_save_LIBS="$LIBS" LIBS="-lpthread $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6358,7 +6488,8 @@ fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - THREAD_LIBS="-lpthread" + LDFLAGS="$LDFLAGS -lpthread" + THREAD_LIBS="-lpthread" else echo "$ac_t""no" 1>&6 fi @@ -6367,25 +6498,26 @@ OSF1) echo $ac_n "checking whether pthreads work""... $ac_c" 1>&6 -echo "configure:6371: checking whether pthreads work" >&5 +echo "configure:6502: checking whether pthreads work" >&5 LDFLAGS="$LDFLAGS -lpthread -lexc -ldb" + THREAD_LIBS="-lpthread -lexc -ldb" echo "configure: warning: *** _Untested pthreads_ try setting LDFLAGS manually if it doesn't work ***" 1>&2 ;; *) echo $ac_n "checking whether threads work with -pthread""... $ac_c" 1>&6 -echo "configure:6378: checking whether threads work with -pthread" >&5 +echo "configure:6510: checking whether threads work with -pthread" >&5 LDSAVEFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -pthread" cat > conftest.$ac_ext < int main() { pthread_t tr; pthread_create(&tr, NULL, NULL, NULL); ; return 0; } EOF -if { (eval echo configure:6389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* pthread_ok=yes else @@ -6402,7 +6534,7 @@ echo "$ac_t""no. Now we will try some libraries." 1>&6 LDFLAGS=$LDSAVEFLAGS echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6 -echo "configure:6406: checking for pthread_create in -lpthread" >&5 +echo "configure:6538: checking for pthread_create in -lpthread" >&5 ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6410,7 +6542,7 @@ ac_save_LIBS="$LIBS" LIBS="-lpthread $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6443,7 +6575,7 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for pthread_create in -lc_r""... $ac_c" 1>&6 -echo "configure:6447: checking for pthread_create in -lc_r" >&5 +echo "configure:6579: checking for pthread_create in -lc_r" >&5 ac_lib_var=`echo c_r'_'pthread_create | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6451,7 +6583,7 @@ ac_save_LIBS="$LIBS" LIBS="-lc_r $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6601: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6493,6 +6625,7 @@ esac THREAD_CFLAGS="-D_THREAD_SAFE" +THREAD_LIBS=$LDFLAGS diff -ru tmp/poslib-1.0.2/configure.in poslib/configure.in --- tmp/poslib-1.0.2/configure.in 2003-11-05 10:59:22.000000000 -0500 +++ poslib/configure.in 2003-12-18 11:30:29.000000000 -0500 @@ -7,7 +7,6 @@ dnl dnl Portions from this file were taken from the Xine-lib configure script. - dnl -------------------- dnl AC/AM Initialization dnl -------------------- @@ -33,6 +32,7 @@ AC_PROG_RANLIB AM_PROG_LIBTOOL AC_CHECK_TOOL([STRIP],[strip]) + AC_HEADER_STDC dnl ----------------------------- dnl Debug builds & compiler flags @@ -210,8 +210,6 @@ ) fi - - dnl -------------------------------- dnl Check for sin_len in sockaddr_in dnl -------------------------------- @@ -234,18 +232,31 @@ AC_DEFINE(HAVE_SOCKLEN_T, 1, [Defines whether we have the socklen_t field]), AC_MSG_RESULT(no)) +dnl --------------------------------- +dnl Check whether to link to -lstdc++ +dnl --------------------------------- + +ORIG_LIBS=$LIBS +LIBS="$LIBS -lstdc++" + +AC_MSG_CHECKING(for -lstdc++) +AC_TRY_LINK([], [], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); LIBS=$ORIG_LIBS]); + dnl ------------------------------------- dnl Check for Pthreads (taken from Dillo) dnl ------------------------------------- system=`uname -s` case $system in Linux|SunOS) - AC_CHECK_LIB(pthread, pthread_create, THREAD_LIBS="-lpthread") + AC_CHECK_LIB(pthread, pthread_create, + [ LDFLAGS="$LDFLAGS -lpthread" + THREAD_LIBS="-lpthread" ]) ;; OSF1) AC_MSG_CHECKING(whether pthreads work) LDFLAGS="$LDFLAGS -lpthread -lexc -ldb" + THREAD_LIBS="-lpthread -lexc -ldb" AC_MSG_WARN(*** _Untested pthreads_ try setting LDFLAGS manually if it doesn't work ***) ;; @@ -272,6 +283,7 @@ esac THREAD_CFLAGS="-D_THREAD_SAFE" +THREAD_LIBS=$LDFLAGS AC_SUBST(THREAD_LIBS) AC_SUBST(THREAD_CFLAGS) Only in poslib/: CVS Only in poslib/docs: CVS Only in poslib/docs: doxygen.conf Only in poslib/examples: CVS Only in poslib/: libtool Only in poslib/: Makefile Only in poslib/: Makefile.bcc Only in poslib/: Makefile.w32 Only in poslib/poslib: CVS Only in poslib/poslib: Makefile Only in poslib/poslib: Makefile.bcc Only in poslib/poslib/server: CVS Only in poslib/poslib/server: Makefile Only in poslib/poslib/server: Makefile.bcc diff -ru tmp/poslib-1.0.2/poslib/server/posthreads.cpp poslib/poslib/server/posthreads.cpp --- tmp/poslib-1.0.2/poslib/server/posthreads.cpp 2003-08-23 17:30:09.000000000 -0400 +++ poslib/poslib/server/posthreads.cpp 2003-12-18 11:30:34.000000000 -0500 @@ -98,6 +98,8 @@ arg.function(arg.arg); if (pos_quitting()) { remove_thread_from_list(pthread_self()); + /* still detach because we /might/ not be joined by the wait thread */ + pthread_detach(pthread_self()); return NULL; } pthread_mutex_lock(&m_threads); @@ -115,6 +117,7 @@ } else { /* quit */ pthread_mutex_unlock(&m_threads); + pthread_detach(pthread_self()); remove_thread_from_list(pthread_self()); return NULL; } @@ -122,6 +125,7 @@ } catch (PException p) { printf("*** Critical error: thread threw an unhandled exception: %s\n", p.message); } + pthread_detach(pthread_self()); remove_thread_from_list(pthread_self()); return NULL; } @@ -188,6 +192,7 @@ pthread_cond_init(&finish_cond, NULL); pthread_create(&tr, NULL, wait_thread, NULL); + pthread_detach(tr); end = postimespec(conf_waitthreadstime); pthread_cond_timedwait(&finish_cond, &m_threads, &end); diff -ru tmp/poslib-1.0.2/poslib/server/serverthread.cpp poslib/poslib/server/serverthread.cpp --- tmp/poslib-1.0.2/poslib/server/serverthread.cpp 2003-10-24 09:50:36.000000000 -0400 +++ poslib/poslib/server/serverthread.cpp 2003-12-22 11:22:22.000000000 -0500 @@ -204,7 +204,13 @@ msg = new DnsMessage(); try { msg->read_from_data(data, len); - if (msg->QR) throw PException("Question has QR bit set"); + if (msg->QR) { + /* this case needs special handling: if we answer with a QR bit, + this might cause a flood if the IP number of the 'query' is + spoofed to another DNS server that doesn't handle this */ + len = 0; /* this way, we won't send an answer */ + throw PException("Question has QR bit set"); + } } catch(PException p) { /* incorrect query: set meta-message */ if (len >= 2) { @@ -216,13 +222,17 @@ } else throw p; } if (n_threads >= max_threads) { - DnsMessage *ans = new DnsMessage(); - ans->ID = msg->ID; - ans->RCODE = RCODE_SRVFAIL; - ans->OPCODE = OPCODE_QUERY; - ans->questions.push_back(*msg->questions.begin()); - message_buff ret = ans->compile(UDP_MSG_SIZE); - udpsend(sockid, ret.msg, ret.len, &a); + if (len >= 2) { + DnsMessage *ans = new DnsMessage(); + ans->ID = data[0] + data[1]; + ans->RCODE = RCODE_SRVFAIL; + ans->OPCODE = OPCODE_QUERY; + if (!msg->questions.empty()) + ans->questions.push_back(*msg->questions.begin()); + message_buff ret = ans->compile(UDP_MSG_SIZE); + udpsend(sockid, ret.msg, ret.len, &a); + delete ans; ans = NULL; + } } else { pending = new pending_query(T_UDP, sockid, a, msg); msg = NULL; Only in poslib/poslib: winip6.h Only in poslib/: poslib-1.0.2.tar.gz Only in poslib/: poslib-config Only in poslib/: poslib-config.bcc Only in poslib/: poslib-config.h diff -ru tmp/poslib-1.0.2/poslib-config.h.in poslib/poslib-config.h.in --- tmp/poslib-1.0.2/poslib-config.h.in 2003-09-23 17:18:04.000000000 -0400 +++ poslib/poslib-config.h.in 2003-12-18 11:30:29.000000000 -0500 @@ -1,5 +1,8 @@ /* poslib-config.h.in. Generated automatically from configure.in by autoheader. */ +/* Define if you have the ANSI C header files. */ +#undef STDC_HEADERS + /* Define if you have the gethostbyname function. */ #undef HAVE_GETHOSTBYNAME Only in poslib/: poslib-config.w32 Only in poslib/: poslib-devel.spec Only in poslib/: poslib.spec diff -ru tmp/poslib-1.0.2/README poslib/README --- tmp/poslib-1.0.2/README 2003-08-02 15:04:42.000000000 -0400 +++ poslib/README 2003-12-18 11:30:29.000000000 -0500 @@ -68,13 +68,12 @@ * FreeBSD: I like FreeBSD. Therefore, it works on FreeBSD quite well as well. * OpenBSD: Works as well. - * NetBSD: The latest NetBSD release (as of january 2003) does not have - Pthreads built in. There is however a "unproven-pthreads" package that - implements Pthreads and will thus probably work. I am unable to test that - though. + * NetBSD: NetBSD doesn't have Pthreads by default. There is however an + "unproven-pthreads" package that implements Pthreads and will thus probably + work. I am unable to test that though. Additionally, on 17 January 2002, native pthreads were committed into - NetBSD-stable by Jason Thorpe. So, if you donwload NetBSD-current, you + NetBSD-stable by Jason Thorpe. So, if you download NetBSD-current, you might already be able to build Poslib. Again, I can't test this since I don't run NetBSD. @@ -85,6 +84,13 @@ --enable-static --disable-dynamic". Client applications do work correctly with shared libraries. + NOTE: this information is from January 2003 and might no longer be accurate. + + * Sun Solaris 9 + + I had to use "CC=gcc CXX=g++ ./configure" because otherwise the configure + script wouldn't detect the compilers. + * HP Tru64 Unix 5.1: Does not seem to understand "-funsigned-char" since it complains about a sign change when setting a "char" to 128. And it gives an error in libtool. Pity, because for the rest, it compiles just fine. Really Only in poslib/: stamp-h diff -ru tmp/poslib-1.0.2/TODO poslib/TODO --- tmp/poslib-1.0.2/TODO 2003-10-29 12:07:21.000000000 -0500 +++ poslib/TODO 2003-12-18 11:30:29.000000000 -0500 @@ -1,5 +1,5 @@ * find out what's official: in6_addr or in_addr6 - * in error callbacks, use the relative file name? + * in error callbacks, use the relative file name? * add feature to answer queries directly in serverthread FEATURE ENHANCEMENTS Only in poslib/tools: CVS Only in poslib/tools: Makefile Only in poslib/tools/sqldns: CVS Only in poslib/tools/sqldns: init.sql Only in poslib/tools/sqldns: Makefile Only in poslib/: w32version.rc Only in poslib/: win32.rtf