anubis-4.1.1+dfsg1/0000700000175000017500000000000011123153366011537 5ustar kbkbanubis-4.1.1+dfsg1/build/0000700000175000017500000000000011123153364012634 5ustar kbkbanubis-4.1.1+dfsg1/build/elisp-comp0000700000175000017500000000523011122020756014627 0ustar kbkb#!/bin/sh # Copyright (C) 1995, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. scriptversion=2005-05-14.22 # Franc,ois Pinard , 1995. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . case $1 in '') echo "$0: No files. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: elisp-comp [--help] [--version] FILES... This script byte-compiles all `.el' files listed as FILES using GNU Emacs, and put the resulting `.elc' files into the current directory, so disregarding the original directories used in `.el' arguments. This script manages in such a way that all Emacs LISP files to be compiled are made visible between themselves, in the event they require or load-library one another. Report bugs to . EOF exit $? ;; -v | --v*) echo "elisp-comp $scriptversion" exit $? ;; esac if test -z "$EMACS" || test "$EMACS" = "t"; then # Value of "t" means we are running in a shell under Emacs. # Just assume Emacs is called "emacs". EMACS=emacs fi tempdir=elc.$$ # Cleanup the temporary directory on exit. trap 'ret=$?; rm -rf "$tempdir" && exit $ret' 0 trap '(exit $?); exit' 1 2 13 15 mkdir $tempdir cp "$@" $tempdir ( cd $tempdir echo "(setq load-path (cons nil load-path))" > script $EMACS -batch -q -l script -f batch-byte-compile *.el || exit $? mv *.elc .. ) || exit $? (exit 0); exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: anubis-4.1.1+dfsg1/build/config.rpath0000600000175000017500000004401211121755724015152 0ustar kbkb#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2008 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's _LT_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; darwin*) case $cc_basename in xlc*) wl='-Wl,' ;; esac ;; mingw* | cygwin* | pw32* | os2* | cegcc*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux* | k*bsd*-gnu) case $cc_basename in ecc*) wl='-Wl,' ;; icc* | ifort*) wl='-Wl,' ;; lf95*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3*) wl='-Wl,' ;; sysv4*MP*) ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) wl='-Wl,' ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's _LT_LINKER_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if test "$GCC" = yes ; then : else case $cc_basename in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the # linker has special search rules. library_names_spec= # the last element of library_names_spec in libtool.m4 libname_spec='lib$name' case "$host_os" in aix3*) library_names_spec='$libname.a' ;; aix[4-9]*) library_names_spec='$libname$shrext' ;; amigaos*) library_names_spec='$libname.a' ;; beos*) library_names_spec='$libname$shrext' ;; bsdi[45]*) library_names_spec='$libname$shrext' ;; cygwin* | mingw* | pw32* | cegcc*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; darwin* | rhapsody*) shrext=.dylib library_names_spec='$libname$shrext' ;; dgux*) library_names_spec='$libname$shrext' ;; freebsd1*) ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) library_names_spec='$libname$shrext$versuffix' ;; *) library_names_spec='$libname$shrext' ;; esac ;; gnu*) library_names_spec='$libname$shrext' ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac library_names_spec='$libname$shrext' ;; interix[3-9]*) library_names_spec='$libname$shrext' ;; irix5* | irix6* | nonstopux*) library_names_spec='$libname$shrext' case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux* | k*bsd*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) library_names_spec='$libname$shrext' ;; netbsd*) library_names_spec='$libname$shrext' ;; newsos6) library_names_spec='$libname$shrext' ;; nto-qnx*) library_names_spec='$libname$shrext' ;; openbsd*) library_names_spec='$libname$shrext$versuffix' ;; os2*) libname_spec='$name' shrext=.dll library_names_spec='$libname.a' ;; osf3* | osf4* | osf5*) library_names_spec='$libname$shrext' ;; rdos*) ;; solaris*) library_names_spec='$libname$shrext' ;; sunos4*) library_names_spec='$libname$shrext$versuffix' ;; sysv4 | sysv4.3*) library_names_spec='$libname$shrext' ;; sysv4*MP*) library_names_spec='$libname$shrext' ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; uts4*) library_names_spec='$libname$shrext' ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <, 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and \`g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; tar*) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then exit 1 fi ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit 1 fi ;; makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; tar*) shift # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: anubis-4.1.1+dfsg1/build/Makefile.in0000600000175000017500000007005311122764065014715 0ustar kbkb# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = build DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in config.guess \ config.rpath config.sub depcomp elisp-comp install-sh mdate-sh \ missing texinfo.tex ylwrap ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/am/anubis.m4 \ $(top_srcdir)/am/gpgme.m4 $(top_srcdir)/am/gsasl.m4 \ $(top_srcdir)/am/guile.m4 $(top_srcdir)/am/libgnutls.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fseeko.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpass.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/onceonly.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd_h.m4 \ $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(lispdir)" lispLISP_INSTALL = $(INSTALL_DATA) LISP = $(lisp_LISP) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ANUBIS_BIN_ADM = @ANUBIS_BIN_ADM@ ANUBIS_DEFINES = @ANUBIS_DEFINES@ ANUBIS_GPGFILES = @ANUBIS_GPGFILES@ ANUBIS_LIBOBJS = @ANUBIS_LIBOBJS@ ANUBIS_SBIN_ADM = @ANUBIS_SBIN_ADM@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMACS = @EMACS@ EMACSLOADPATH = @EMACSLOADPATH@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GPG = @GPG@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GREP = @GREP@ GSASL_LIBS = @GSASL_LIBS@ GUILE_BINDIR = @GUILE_BINDIR@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_INCLUDES = @GUILE_INCLUDES@ GUILE_LIBS = @GUILE_LIBS@ GUILE_SCRIPTS = @GUILE_SCRIPTS@ GUILE_SNARF_VERSION = @GUILE_SNARF_VERSION@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTOB = @HAVE_WCTOB@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ INCLUDES = @INCLUDES@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBANUBIS_LIBDEPS = @LIBANUBIS_LIBDEPS@ LIBANUBIS_LTLIBDEPS = @LIBANUBIS_LTLIBDEPS@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_CONFIG = @LIBGNUTLS_CONFIG@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4_DEFS = @M4_DEFS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYSEXITS_H = @SYSEXITS_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ idecrypt_path = @idecrypt_path@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ lisp_LISP = @lisp_LISP@ lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = guile-1.6 EXTRA_DIST = keygen.sh specgen.sh ylwrap cflow.rc all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits build/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnits build/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh elc-stamp: $(LISP) @echo 'WARNING: Warnings can be ignored. :-)' @rm -f elc-temp && touch elc-temp if test "$(EMACS)" != no; then \ set x; \ list='$(LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ set x "$$@" "$$d$$p"; shift; \ done; \ shift; \ EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \ else : ; fi @mv -f elc-temp $@ $(am__ELCFILES): elc-stamp @if test "$(EMACS)" != no && test ! -f $@; then \ trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \ if mkdir elc-lock 2>/dev/null; then \ rm -f elc-stamp; \ $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \ rmdir elc-lock; \ else \ while test -d elc-lock; do sleep 1; done; \ test -f elc-stamp; exit $$?; \ fi; \ else : ; fi install-lispLISP: $(lisp_LISP) $(ELCFILES) @$(NORMAL_INSTALL) @if test "$(EMACS)" != no; then \ test -z "$(lispdir)" || $(MKDIR_P) "$(DESTDIR)$(lispdir)"; \ list='$(lisp_LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(lispLISP_INSTALL) '$$d$$p' '$(DESTDIR)$(lispdir)/$$f'"; \ $(lispLISP_INSTALL) "$$d$$p" "$(DESTDIR)$(lispdir)/$$f"; \ if test -f $${p}c; then \ echo " $(lispLISP_INSTALL) '$${p}c' '$(DESTDIR)$(lispdir)/$${f}c'"; \ $(lispLISP_INSTALL) "$${p}c" "$(DESTDIR)$(lispdir)/$${f}c"; \ else : ; fi; \ done; \ else : ; fi uninstall-lispLISP: @$(NORMAL_UNINSTALL) @if test "$(EMACS)" != no; then \ list='$(lisp_LISP)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(lispdir)/$$f' '$(DESTDIR)$(lispdir)/$${f}c'"; \ rm -f "$(DESTDIR)$(lispdir)/$$f" "$(DESTDIR)$(lispdir)/$${f}c"; \ done; \ else : ; fi clean-lisp: -rm -f elc-stamp $(ELCFILES) # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LISP) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(lispdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-lisp mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-lispLISP install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-lispLISP .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-lisp ctags \ ctags-recursive distclean distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-lispLISP \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ uninstall-lispLISP # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: anubis-4.1.1+dfsg1/build/guile-1.6/0000700000175000017500000000000011123153363014242 5ustar kbkbanubis-4.1.1+dfsg1/build/guile-1.6/guile-doc-snarf.awk0000600000175000017500000000421211121752642017731 0ustar kbkb# Copyright (C) 2002 Sergey Poznyakoff # # This is a snarfer for guile version 1.6 # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 3 of the License, or (at your # option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program. If not, see . BEGIN { cname = "" } function flush() { if (cname == "") return; if (arg_req + arg_opt + arg_var != numargs) error(cname " incorrectly defined as taking " numargs " arguments") print "\f" cname print "@c snarfed from " loc_source ":" loc_line printf "@deffn {Scheme procedure} %s", cname for (i = 1; i <= numargs; i++) printf(" %s", arglist[i]) print "" print docstring print "@end deffn\n" delete argpos delete arglist cname = "" } function error(s) { print loc_source ":" loc_line ": " s > "/dev/stderr" exit 1 } state == 0 && /{/ { flush() cname = $3 next } state == 0 && /fname/ { fname = $2; next } state == 0 && /type/ { type = $2; next } state == 0 && /location/ { loc_source = $2; loc_line = $3 } state == 0 && /arglist/ { match($0, "\\(.*\\)") s = substr($0,RSTART+1,RLENGTH-2) numargs = split(s, a, ",") for (i = 1; i <= numargs; i++) { m = split(a[i], b, "[ \t]*") if (b[1] == "") { t = b[2] n = b[3] m-- } else { t = b[1] n = b[2] } if (m > 2 || t != "SCM") error(cname ": wrong argument type for arg " i " " t) arglist[i] = n } } state == 0 && /argsig/ { arg_req = $2; arg_opt = $3; arg_var = $4 } state == 0 && /.*\"/ { gsub("\"\"", "") gsub("\\\\n", "\n") match($0,"\".*\"") docstring = substr($0,RSTART+1,RLENGTH-2) } /argpos/ { argpos[$2] = $3 } END { flush() } anubis-4.1.1+dfsg1/build/guile-1.6/guile-doc-snarf0000700000175000017500000000370211121752642017154 0ustar kbkb#! /bin/sh # Copyright (C) 2002 Sergey Poznyakoff # # This is a snarfer for guile version 1.6 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA OUTFILE=/dev/tty DOCFILE=0 BASEDIR=`dirname $0` test -n "${CPP+set}" || CPP="gcc -E" test -n "${AWK+set}" || AWK=awk temp=/tmp/snarf.$$ trap "rm -f $temp" 0 1 2 15 # process aruments while [ $# -gt 0 ]; do case $1 in -o) OUTFILE=$2; shift 2;; -d) DOCFILE=1; shift;; *) break;; esac done INFILE=$1; shift cpp_exit=1 snarf_x() { echo "/* source: $INFILE */" ; echo "/* cpp arguments: $@ */" ; $CPP -DSCM_MAGIC_SNARF_INITS -DSCM_MAGIC_SNARFER "$@" > ${temp} cpp_exit=$? grep "^ *\^ *\^" ${temp} | sed -e "s/^ *\^ *\^//" -e "s/\^\ *:\ *\^.*/;/" } snarf_doc() { $CPP -DSCM_MAGIC_SNARF_DOCS "$@" > ${temp} cpp_exit=$? $AWK ' NF<2 {next} state == 0 && /\^\^ {/ { state = 1; print; next } state == 0 && /\^\^/ { print } state == 1 && /\^\^ }/ { state = 0; print; next } state == 1 { print } state == 0 { next }' $temp |\ tr -d '\n' | tr '^' '\n' |\ awk -f $BASEDIR/guile-doc-snarf.awk > $OUTFILE } case "$DOCFILE" in 0) snarf_x $INFILE "$@" > $OUTFILE;; 1) snarf_doc $INFILE "$@" > $OUTFILE;; esac if [ $cpp_exit -ne 0 ]; then [ "$OUTFILE" != "/dev/tty" ] && rm $OUTFILE fi exit $cpp_exit anubis-4.1.1+dfsg1/build/guile-1.6/Makefile.in0000600000175000017500000005470211122764062016324 0ustar kbkb# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = build/guile-1.6 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/am/anubis.m4 \ $(top_srcdir)/am/gpgme.m4 $(top_srcdir)/am/gsasl.m4 \ $(top_srcdir)/am/guile.m4 $(top_srcdir)/am/libgnutls.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fseeko.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpass.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/onceonly.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd_h.m4 \ $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(lispdir)" lispLISP_INSTALL = $(INSTALL_DATA) LISP = $(lisp_LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ANUBIS_BIN_ADM = @ANUBIS_BIN_ADM@ ANUBIS_DEFINES = @ANUBIS_DEFINES@ ANUBIS_GPGFILES = @ANUBIS_GPGFILES@ ANUBIS_LIBOBJS = @ANUBIS_LIBOBJS@ ANUBIS_SBIN_ADM = @ANUBIS_SBIN_ADM@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMACS = @EMACS@ EMACSLOADPATH = @EMACSLOADPATH@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GPG = @GPG@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GREP = @GREP@ GSASL_LIBS = @GSASL_LIBS@ GUILE_BINDIR = @GUILE_BINDIR@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_INCLUDES = @GUILE_INCLUDES@ GUILE_LIBS = @GUILE_LIBS@ GUILE_SCRIPTS = @GUILE_SCRIPTS@ GUILE_SNARF_VERSION = @GUILE_SNARF_VERSION@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTOB = @HAVE_WCTOB@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ INCLUDES = @INCLUDES@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBANUBIS_LIBDEPS = @LIBANUBIS_LIBDEPS@ LIBANUBIS_LTLIBDEPS = @LIBANUBIS_LTLIBDEPS@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_CONFIG = @LIBGNUTLS_CONFIG@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4_DEFS = @M4_DEFS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYSEXITS_H = @SYSEXITS_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ idecrypt_path = @idecrypt_path@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ lisp_LISP = @lisp_LISP@ lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ guile-doc-snarf\ guile-doc-snarf.awk all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits build/guile-1.6/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnits build/guile-1.6/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh elc-stamp: $(LISP) @echo 'WARNING: Warnings can be ignored. :-)' @rm -f elc-temp && touch elc-temp if test "$(EMACS)" != no; then \ set x; \ list='$(LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ set x "$$@" "$$d$$p"; shift; \ done; \ shift; \ EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \ else : ; fi @mv -f elc-temp $@ $(am__ELCFILES): elc-stamp @if test "$(EMACS)" != no && test ! -f $@; then \ trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \ if mkdir elc-lock 2>/dev/null; then \ rm -f elc-stamp; \ $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \ rmdir elc-lock; \ else \ while test -d elc-lock; do sleep 1; done; \ test -f elc-stamp; exit $$?; \ fi; \ else : ; fi install-lispLISP: $(lisp_LISP) $(ELCFILES) @$(NORMAL_INSTALL) @if test "$(EMACS)" != no; then \ test -z "$(lispdir)" || $(MKDIR_P) "$(DESTDIR)$(lispdir)"; \ list='$(lisp_LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(lispLISP_INSTALL) '$$d$$p' '$(DESTDIR)$(lispdir)/$$f'"; \ $(lispLISP_INSTALL) "$$d$$p" "$(DESTDIR)$(lispdir)/$$f"; \ if test -f $${p}c; then \ echo " $(lispLISP_INSTALL) '$${p}c' '$(DESTDIR)$(lispdir)/$${f}c'"; \ $(lispLISP_INSTALL) "$${p}c" "$(DESTDIR)$(lispdir)/$${f}c"; \ else : ; fi; \ done; \ else : ; fi uninstall-lispLISP: @$(NORMAL_UNINSTALL) @if test "$(EMACS)" != no; then \ list='$(lisp_LISP)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(lispdir)/$$f' '$(DESTDIR)$(lispdir)/$${f}c'"; \ rm -f "$(DESTDIR)$(lispdir)/$$f" "$(DESTDIR)$(lispdir)/$${f}c"; \ done; \ else : ; fi clean-lisp: -rm -f elc-stamp $(ELCFILES) tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LISP) installdirs: for dir in "$(DESTDIR)$(lispdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-lisp mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-lispLISP install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-lispLISP .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-lisp \ distclean distclean-generic distdir dvi dvi-am html html-am \ info info-am install install-am install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-lispLISP install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am uninstall-lispLISP # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: anubis-4.1.1+dfsg1/build/guile-1.6/Makefile.am0000600000175000017500000000142111121752642016301 0ustar kbkb## ## This file is part of GNU Anubis. ## Copyright (C) 2003, 2007 The Anubis Team. ## ## GNU Anubis is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by the ## Free Software Foundation; either version 3 of the License, or (at your ## option) any later version. ## ## GNU Anubis is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License along ## with GNU Anubis. If not, see . ## EXTRA_DIST = \ guile-doc-snarf\ guile-doc-snarf.awk anubis-4.1.1+dfsg1/build/keygen.sh0000700000175000017500000000204111121752642014454 0ustar kbkb#!/bin/sh # # keygen.sh # # This file is part of GNU Anubis. # Copyright (C) 2001, 2002, 2003, 2007 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free # Software Foundation; either version 3 of the License, or (at your option) # any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with GNU Anubis. If not, see . # # # This script creates a private key and a certificate using OpenSSL. # PEM="anubis.pem" rm -f ${PEM} ${PEM}.1 ${PEM}.2 openssl req -newkey rsa:1024 -nodes -keyout ${PEM}.1 -x509 \ -days 365 -out ${PEM}.2 cat ${PEM}.1 >${PEM} echo "" >>${PEM} cat ${PEM}.2 >>${PEM} rm -f ${PEM}.1 ${PEM}.2 exit 0 # EOF anubis-4.1.1+dfsg1/build/Makefile.am0000600000175000017500000000151611121752642014677 0ustar kbkb## ## build/Makefile.am ## ## This file is part of GNU Anubis. ## Copyright (C) 2001, 2002, 2003, 2007 The Anubis Team. ## ## GNU Anubis is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by the ## Free Software Foundation; either version 3 of the License, or (at your ## option) any later version. ## ## GNU Anubis is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License along ## with GNU Anubis. If not, see . ## SUBDIRS = guile-1.6 EXTRA_DIST = keygen.sh specgen.sh ylwrap cflow.rc ## EOF anubis-4.1.1+dfsg1/build/install-sh0000700000175000017500000003246411014340463014646 0ustar kbkb#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-12-25.00 # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # Protect names starting with `-'. case $dst in -*) dst=./$dst;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; -*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: anubis-4.1.1+dfsg1/build/depcomp0000700000175000017500000004260211014340463014212 0ustar kbkb#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2007-03-29.01 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software # Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # 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 Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> $depfile echo >> $depfile # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> $depfile else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # X makedepend shift cleared=no for arg in "$@"; do case $cleared in no) set ""; shift cleared=yes ;; esac case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix="`echo $object | sed 's/^.*\././'`" touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. "$@" || exit $? IFS=" " for arg do case "$arg" in "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: anubis-4.1.1+dfsg1/build/cflow.rc0000600000175000017500000000007311121752642014300 0ustar kbkb-D__attribute__\\(c\\)= -D__extension__= -D__asm__\\(c\\)= anubis-4.1.1+dfsg1/build/config.sub0000700000175000017500000010205211122763763014630 0ustar kbkb#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. timestamp='2008-12-11' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # 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 # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tile*) basic_machine=tile-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: anubis-4.1.1+dfsg1/build/config.guess0000700000175000017500000013155211122763763015174 0ustar kbkb#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. timestamp='2008-12-19' # 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 # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # 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. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 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. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 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 CC_FOR_BUILD="$c"; break ; fi ; done ; 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 ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # 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 ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-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) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # 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. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # 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 # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 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` 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 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 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 #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; 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 ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:[3456]*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T | authenticamd | genuineintel) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 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 # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; 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 | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips64 #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips64 #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) # 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 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit ;; 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 #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" test x"${LIBC}" != x && { echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit } test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then 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_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*: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 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: anubis-4.1.1+dfsg1/build/specgen.sh0000700000175000017500000000615311121752642014626 0ustar kbkb#!/bin/sh # # This file is part of GNU Anubis. # Copyright (C) 2001, 2002, 2003, 2004, 2007 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free # Software Foundation; either version 3 of the License, or (at your option) # any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with GNU Anubis. If not, see . # cat </dev/null 2>&1 || : %post /sbin/install-info %{_infodir}/anubis.info.gz %{_infodir}/dir %preun %{_initdir}/anubis stop >/dev/null 2>&1 /sbin/chkconfig --del anubis >/dev/null 2>&1 /sbin/install-info --delete %{_infodir}/anubis.info.gz %{_infodir}/dir %postun /usr/sbin/userdel -r %{_unprivileged} >/dev/null 2>&1 || : %files %defattr(-,root,root) %doc COPYING AUTHORS THANKS README INSTALL NEWS ChangeLog TODO %doc examples contrib %{_mandir}/man1/anubis.1* %attr(0644,root,root) %{_infodir}/anubis.info* %attr(0755,root,root) %{_sbindir}/anubis %attr(0755,root,root) %config %{_initdir}/anubis %attr(0644,root,root) /usr/share/locale/*/*/anubis.mo %changelog * Tue Dec 03 2002 Wojciech Polak - removed default system configuration file. * Fri Nov 01 2002 Wojciech Polak - updated to GNU. Now it's GNU Anubis! # EOF anubis-4.1.1+dfsg1/build/gitlog-to-changelog0000600000175000017500000001136311121757261016423 0ustar kbkb#!/usr/bin/perl # Convert git log output to ChangeLog format. my $VERSION = '2008-08-19 05:01'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. # Copyright (C) 2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering use strict; use warnings; use Getopt::Long; use POSIX qw(strftime); (my $ME = $0) =~ s|.*/||; # use File::Coda; # http://meyering.net/code/Coda/ END { defined fileno STDOUT or return; close STDOUT and return; warn "$ME: failed to close standard output: $!\n"; $? ||= 1; } sub usage ($) { my ($exit_code) = @_; my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); if ($exit_code != 0) { print $STREAM "Try `$ME --help' for more information.\n"; } else { print $STREAM < ChangeLog EOF } exit $exit_code; } # If the string $S is a well-behaved file name, simply return it. # If it contains white space, quotes, etc., quote it, and return the new string. sub shell_quote($) { my ($s) = @_; if ($s =~ m![^\w+/.,-]!) { # Convert each single quote to '\'' $s =~ s/\'/\'\\\'\'/g; # Then single quote the string. $s = "'$s'"; } return $s; } sub quoted_cmd(@) { return join (' ', map {shell_quote $_} @_); } { my $since_date = '1970-01-01 UTC'; GetOptions ( help => sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, 'since=s' => \$since_date, ) or usage 1; @ARGV and (warn "$ME: too many arguments\n"), usage 1; my @cmd = (qw (git log --log-size), "--since=$since_date", '--pretty=format:%ct %an <%ae>%n%n%s%n%b%n'); open PIPE, '-|', @cmd or die ("$ME: failed to run `". quoted_cmd (@cmd) ."': $!\n" . "(Is your Git too old? Version 1.5.1 or later is required.)\n"); my $prev_date_line = ''; while (1) { defined (my $in = ) or last; $in =~ /^log size (\d+)$/ or die "$ME:$.: Invalid line (expected log size):\n$in"; my $log_nbytes = $1; my $log; my $n_read = read PIPE, $log, $log_nbytes; $n_read == $log_nbytes or die "$ME:$.: unexpected EOF\n"; my @line = split "\n", $log; my $author_line = shift @line; defined $author_line or die "$ME:$.: unexpected EOF\n"; $author_line =~ /^(\d+) (.*>)$/ or die "$ME:$.: Invalid line " . "(expected date/author/email):\n$author_line\n"; my $date_line = sprintf "%s $2\n", strftime ("%F", localtime ($1)); # If this line would be the same as the previous date/name/email # line, then arrange not to print it. if ($date_line ne $prev_date_line) { $prev_date_line eq '' or print "\n"; print $date_line; } $prev_date_line = $date_line; # Omit "Signed-off-by..." lines. @line = grep !/^Signed-off-by: .*>$/, @line; # Remove leading and trailing blank lines. while ($line[0] =~ /^\s*$/) { shift @line; } while ($line[$#line] =~ /^\s*$/) { pop @line; } # Prefix each non-empty line with a TAB. @line = map { length $_ ? "\t$_" : '' } @line; print "\n", join ("\n", @line), "\n"; defined ($in = ) or last; $in ne "\n" and die "$ME:$.: unexpected line:\n$in"; } close PIPE or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n"; # FIXME-someday: include $PROCESS_STATUS in the diagnostic } # Local Variables: # indent-tabs-mode: nil # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "my $VERSION = '" # time-stamp-format: "%:y-%02m-%02d %02H:%02M" # time-stamp-time-zone: "UTC" # time-stamp-end: "'; # UTC" # End: anubis-4.1.1+dfsg1/build/mdate-sh0000700000175000017500000001267011014340463014267 0ustar kbkb#!/bin/sh # Get modification time of a file or directory and pretty-print it. scriptversion=2007-03-30.02 # Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007 Free Software # Foundation, Inc. # written by Ulrich Drepper , June 1995 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . case $1 in '') echo "$0: No file. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: mdate-sh [--help] [--version] FILE Pretty-print the modification time of FILE. Report bugs to . EOF exit $? ;; -v | --v*) echo "mdate-sh $scriptversion" exit $? ;; esac # Prevent date giving response in another language. LANG=C export LANG LC_ALL=C export LC_ALL LC_TIME=C export LC_TIME # GNU ls changes its time format in response to the TIME_STYLE # variable. Since we cannot assume `unset' works, revert this # variable to its documented default. if test "${TIME_STYLE+set}" = set; then TIME_STYLE=posix-long-iso export TIME_STYLE fi save_arg1=$1 # Find out how to get the extended ls output of a file or directory. if ls -L /dev/null 1>/dev/null 2>&1; then ls_command='ls -L -l -d' else ls_command='ls -l -d' fi # Avoid user/group names that might have spaces, when possible. if ls -n /dev/null 1>/dev/null 2>&1; then ls_command="$ls_command -n" fi # A `ls -l' line looks as follows on OS/2. # drwxrwx--- 0 Aug 11 2001 foo # This differs from Unix, which adds ownership information. # drwxrwx--- 2 root root 4096 Aug 11 2001 foo # # To find the date, we split the line on spaces and iterate on words # until we find a month. This cannot work with files whose owner is a # user named `Jan', or `Feb', etc. However, it's unlikely that `/' # will be owned by a user whose name is a month. So we first look at # the extended ls output of the root directory to decide how many # words should be skipped to get the date. # On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. set x`$ls_command /` # Find which argument is the month. month= command= until test $month do shift # Add another shift to the command. command="$command shift;" case $1 in Jan) month=January; nummonth=1;; Feb) month=February; nummonth=2;; Mar) month=March; nummonth=3;; Apr) month=April; nummonth=4;; May) month=May; nummonth=5;; Jun) month=June; nummonth=6;; Jul) month=July; nummonth=7;; Aug) month=August; nummonth=8;; Sep) month=September; nummonth=9;; Oct) month=October; nummonth=10;; Nov) month=November; nummonth=11;; Dec) month=December; nummonth=12;; esac done # Get the extended ls output of the file or directory. set dummy x`eval "$ls_command \"\$save_arg1\""` # Remove all preceding arguments eval $command # Because of the dummy argument above, month is in $2. # # On a POSIX system, we should have # # $# = 5 # $1 = file size # $2 = month # $3 = day # $4 = year or time # $5 = filename # # On Darwin 7.7.0 and 7.6.0, we have # # $# = 4 # $1 = day # $2 = month # $3 = year or time # $4 = filename # Get the month. case $2 in Jan) month=January; nummonth=1;; Feb) month=February; nummonth=2;; Mar) month=March; nummonth=3;; Apr) month=April; nummonth=4;; May) month=May; nummonth=5;; Jun) month=June; nummonth=6;; Jul) month=July; nummonth=7;; Aug) month=August; nummonth=8;; Sep) month=September; nummonth=9;; Oct) month=October; nummonth=10;; Nov) month=November; nummonth=11;; Dec) month=December; nummonth=12;; esac case $3 in ???*) day=$1;; *) day=$3; shift;; esac # Here we have to deal with the problem that the ls output gives either # the time of day or the year. case $3 in *:*) set `date`; eval year=\$$# case $2 in Jan) nummonthtod=1;; Feb) nummonthtod=2;; Mar) nummonthtod=3;; Apr) nummonthtod=4;; May) nummonthtod=5;; Jun) nummonthtod=6;; Jul) nummonthtod=7;; Aug) nummonthtod=8;; Sep) nummonthtod=9;; Oct) nummonthtod=10;; Nov) nummonthtod=11;; Dec) nummonthtod=12;; esac # For the first six month of the year the time notation can also # be used for files modified in the last year. if (expr $nummonth \> $nummonthtod) > /dev/null; then year=`expr $year - 1` fi;; *) year=$3;; esac # The result. echo $day $month $year # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: anubis-4.1.1+dfsg1/build/ylwrap0000700000175000017500000001050711121752642014105 0ustar kbkb#! /bin/sh # ylwrap - wrapper for lex/yacc invocations. # Copyright 1996, 1997, 1998, 1999 Free Software Foundation, Inc. # Written by Tom Tromey . # -yy modification by Sergey Poznyakoff # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Usage: # ylwrap PROGRAM [ARGS] INPUT [OUTPUT DESIRED]... -- [-yy repl] [ARGS]... # * PROGRAM is program to run; options can follow but must start with `-'. # * INPUT is the input file # * OUTPUT is file PROG generates # * DESIRED is file we actually want # * ARGS are passed to PROG # * Optional -yy introduces the sequence to replace yy prefixes with. # Any number of OUTPUT,DESIRED pairs may be used. # The program to run. prog="$1" shift # Make any relative path in $prog absolute. case "$prog" in /* | [A-Za-z]:*) ;; */*) prog="`pwd`/$prog" ;; esac # We also have to accept options here and append them to the program. # Why? Suppose YACC is set to `bison -y'. Clearly nobody uses # ylwrap, or this would have been discovered earlier! while :; do case "$1" in -*) prog="$prog $1" shift ;; *) break ;; esac done # The input. input="$1" shift case "$input" in /* | [A-Za-z]:*) # Absolute path; do nothing. ;; *) # Relative path. Make it absolute. input="`pwd`/$input" ;; esac # The directory holding the input. input_dir="`echo $input | sed -e 's,/[^/]*$,,'`" # Quote $INPUT_DIR so we can use it in a regexp. # FIXME: really we should care about more than `.'. input_rx="`echo $input_dir | sed -e 's,\.,\\\.,g'`" pairlist= while test "$#" -ne 0; do if test "$1" = "--"; then shift break fi pairlist="$pairlist $1" shift done if [ $# -ne 0 ]; then if [ "x$1" = "x-yy" ]; then shift if [ $# -eq 0 ]; then echo "ylwrap: -yy requires an argument" exit 1 fi YYREPL=$1 shift fi fi # FIXME: add hostname here for parallel makes that run commands on # other machines. But that might take us over the 14-char limit. dirname=ylwrap$$ trap "cd `pwd`; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15 mkdir $dirname || exit 1 cd $dirname $prog ${1+"$@"} "$input" status=$? if test $status -eq 0; then set X $pairlist shift first=yes # Since DOS filename conventions don't allow two dots, # the DOS version of Bison writes out y_tab.c instead of y.tab.c # and y_tab.h instead of y.tab.h. Test to see if this is the case. y_tab_nodot="no" if test -f y_tab.c || test -f y_tab.h; then y_tab_nodot="yes" fi while test "$#" -ne 0; do from="$1" # Handle y_tab.c and y_tab.h output by DOS if test $y_tab_nodot = "yes"; then if test $from = "y.tab.c"; then from="y_tab.c" else if test $from = "y.tab.h"; then from="y_tab.h" fi fi fi if test -f "$from"; then # If $2 is an absolute path name, then just use that, # otherwise prepend `../'. case "$2" in /* | [A-Za-z]:*) target="$2";; *) target="../$2";; esac # Edit out `#line' or `#' directives. We don't want the # resulting debug information to point at an absolute srcdir; # it is better for it to just mention the .y file with no # path. EXPR="/^#/ s,$input_rx/,," if [ ! -z "$YYREPL" ]; then EXPR="$EXPR;s/yy/$YYREPL/g" fi sed -e "$EXPR" "$from" > "$target" || status=$? else # A missing file is only an error for the first file. This # is a blatant hack to let us support using "yacc -d". If -d # is not specified, we don't want an error when the header # file is "missing". if test $first = yes; then status=1 fi fi shift shift first=no done else status=$? fi # Remove the directory. cd .. rm -rf $dirname exit $status anubis-4.1.1+dfsg1/build/texinfo.tex0000600000175000017500000107275311122763763015064 0ustar kbkb% texinfo.tex -- TeX macros to handle Texinfo files. % % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % \def\texinfoversion{2008-12-16.21} % % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, % 2007, 2008 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as % published by the Free Software Foundation, either version 3 of the % License, or (at your option) any later version. % % This texinfo.tex file is distributed in the hope that it will be % useful, but WITHOUT ANY WARRANTY; without even the implied warranty % of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU % General Public License for more details. % % You should have received a copy of the GNU General Public License % along with this program. If not, see . % % As a special exception, when this file is read by TeX when processing % a Texinfo source document, you may use the result without % restriction. (This has been our intent since Texinfo was invented.) % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: % http://www.gnu.org/software/texinfo/ (the Texinfo home page), or % ftp://tug.org/tex/texinfo.tex % (and all CTAN mirrors, see http://www.ctan.org). % The texinfo.tex in any given distribution could well be out % of date, so if that's what you're using, please check. % % Send bug reports to bug-texinfo@gnu.org. Please include including a % complete document in each bug report with which we can reproduce the % problem. Patches are, of course, greatly appreciated. % % To process a Texinfo manual with TeX, it's most reliable to use the % texi2dvi shell script that comes with the distribution. For a simple % manual foo.texi, however, you can get away with this: % tex foo.texi % texindex foo.?? % tex foo.texi % tex foo.texi % dvips foo.dvi -o # or whatever; this makes foo.ps. % The extra TeX runs get the cross-reference information correct. % Sometimes one run after texindex suffices, and sometimes you need more % than two; texi2dvi does it as many times as necessary. % % It is possible to adapt texinfo.tex for other languages, to some % extent. You can get the existing language-specific files from the % full Texinfo distribution. % % The GNU Texinfo home page is http://www.gnu.org/software/texinfo. \message{Loading texinfo [version \texinfoversion]:} % If in a .fmt file, print the version number % and turn on active characters that we couldn't do earlier because % they might have appeared in the input file name. \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} \chardef\other=12 % We never want plain's \outer definition of \+ in Texinfo. % For @tex, we can use \tabalign. \let\+ = \relax % Save some plain tex macros whose names we will redefine. \let\ptexb=\b \let\ptexbullet=\bullet \let\ptexc=\c \let\ptexcomma=\, \let\ptexdot=\. \let\ptexdots=\dots \let\ptexend=\end \let\ptexequiv=\equiv \let\ptexexclam=\! \let\ptexfootnote=\footnote \let\ptexgtr=> \let\ptexhat=^ \let\ptexi=\i \let\ptexindent=\indent \let\ptexinsert=\insert \let\ptexlbrace=\{ \let\ptexless=< \let\ptexnewwrite\newwrite \let\ptexnoindent=\noindent \let\ptexplus=+ \let\ptexrbrace=\} \let\ptexslash=\/ \let\ptexstar=\* \let\ptext=\t \let\ptextop=\top {\catcode`\'=\active \global\let\ptexquoteright'}% Math-mode def from plain.tex. % If this character appears in an error message or help string, it % starts a new line in the output. \newlinechar = `^^J % Use TeX 3.0's \inputlineno to get the line number, for better error % messages, but if we're using an old version of TeX, don't do anything. % \ifx\inputlineno\thisisundefined \let\linenumber = \empty % Pre-3.0. \else \def\linenumber{l.\the\inputlineno:\space} \fi % Set up fixed words for English if not already set. \ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi \ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi \ifx\putwordfile\undefined \gdef\putwordfile{file}\fi \ifx\putwordin\undefined \gdef\putwordin{in}\fi \ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi \ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi \ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi \ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi \ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi \ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi \ifx\putwordof\undefined \gdef\putwordof{of}\fi \ifx\putwordon\undefined \gdef\putwordon{on}\fi \ifx\putwordpage\undefined \gdef\putwordpage{page}\fi \ifx\putwordsection\undefined \gdef\putwordsection{section}\fi \ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi \ifx\putwordsee\undefined \gdef\putwordsee{see}\fi \ifx\putwordSee\undefined \gdef\putwordSee{See}\fi \ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi \ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi % \ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi \ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi \ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi \ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi \ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi \ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi \ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi \ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi \ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi \ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi \ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi \ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi % \ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi \ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi \ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi % Since the category of space is not known, we have to be careful. \chardef\spacecat = 10 \def\spaceisspace{\catcode`\ =\spacecat} % sometimes characters are active, so we need control sequences. \chardef\colonChar = `\: \chardef\commaChar = `\, \chardef\dashChar = `\- \chardef\dotChar = `\. \chardef\exclamChar= `\! \chardef\lquoteChar= `\` \chardef\questChar = `\? \chardef\rquoteChar= `\' \chardef\semiChar = `\; \chardef\underChar = `\_ % Ignore a token. % \def\gobble#1{} % The following is used inside several \edef's. \def\makecsname#1{\expandafter\noexpand\csname#1\endcsname} % Hyphenation fixes. \hyphenation{ Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script ap-pen-dix bit-map bit-maps data-base data-bases eshell fall-ing half-way long-est man-u-script man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces spell-ing spell-ings stand-alone strong-est time-stamp time-stamps which-ever white-space wide-spread wrap-around } % Margin to add to right of even pages, to left of odd pages. \newdimen\bindingoffset \newdimen\normaloffset \newdimen\pagewidth \newdimen\pageheight % For a final copy, take out the rectangles % that mark overfull boxes (in case you have decided % that the text looks ok even though it passes the margin). % \def\finalout{\overfullrule=0pt} % @| inserts a changebar to the left of the current line. It should % surround any changed text. This approach does *not* work if the % change spans more than two lines of output. To handle that, we would % have adopt a much more difficult approach (putting marks into the main % vertical list for the beginning and end of each change). % \def\|{% % \vadjust can only be used in horizontal mode. \leavevmode % % Append this vertical mode material after the current line in the output. \vadjust{% % We want to insert a rule with the height and depth of the current % leading; that is exactly what \strutbox is supposed to record. \vskip-\baselineskip % % \vadjust-items are inserted at the left edge of the type. So % the \llap here moves out into the left-hand margin. \llap{% % % For a thicker or thinner bar, change the `1pt'. \vrule height\baselineskip width1pt % % This is the space between the bar and the text. \hskip 12pt }% }% } % Sometimes it is convenient to have everything in the transcript file % and nothing on the terminal. We don't just call \tracingall here, % since that produces some useless output on the terminal. We also make % some effort to order the tracing commands to reduce output in the log % file; cf. trace.sty in LaTeX. % \def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% \def\loggingall{% \tracingstats2 \tracingpages1 \tracinglostchars2 % 2 gives us more in etex \tracingparagraphs1 \tracingoutput1 \tracingmacros2 \tracingrestores1 \showboxbreadth\maxdimen \showboxdepth\maxdimen \ifx\eTeXversion\undefined\else % etex gives us more logging \tracingscantokens1 \tracingifs1 \tracinggroups1 \tracingnesting2 \tracingassigns1 \fi \tracingcommands3 % 3 gives us more in etex \errorcontextlines16 }% % add check for \lastpenalty to plain's definitions. If the last thing % we did was a \nobreak, we don't want to insert more space. % \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount \removelastskip\penalty-50\smallskip\fi\fi} \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount \removelastskip\penalty-100\medskip\fi\fi} \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount \removelastskip\penalty-200\bigskip\fi\fi} % For @cropmarks command. % Do @cropmarks to get crop marks. % \newif\ifcropmarks \let\cropmarks = \cropmarkstrue % % Dimensions to add cropmarks at corners. % Added by P. A. MacKay, 12 Nov. 1986 % \newdimen\outerhsize \newdimen\outervsize % set by the paper size routines \newdimen\cornerlong \cornerlong=1pc \newdimen\cornerthick \cornerthick=.3pt \newdimen\topandbottommargin \topandbottommargin=.75in % Output a mark which sets \thischapter, \thissection and \thiscolor. % We dump everything together because we only have one kind of mark. % This works because we only use \botmark / \topmark, not \firstmark. % % A mark contains a subexpression of the \ifcase ... \fi construct. % \get*marks macros below extract the needed part using \ifcase. % % Another complication is to let the user choose whether \thischapter % (\thissection) refers to the chapter (section) in effect at the top % of a page, or that at the bottom of a page. The solution is % described on page 260 of The TeXbook. It involves outputting two % marks for the sectioning macros, one before the section break, and % one after. I won't pretend I can describe this better than DEK... \def\domark{% \toks0=\expandafter{\lastchapterdefs}% \toks2=\expandafter{\lastsectiondefs}% \toks4=\expandafter{\prevchapterdefs}% \toks6=\expandafter{\prevsectiondefs}% \toks8=\expandafter{\lastcolordefs}% \mark{% \the\toks0 \the\toks2 \noexpand\or \the\toks4 \the\toks6 \noexpand\else \the\toks8 }% } % \topmark doesn't work for the very first chapter (after the title % page or the contents), so we use \firstmark there -- this gets us % the mark with the chapter defs, unless the user sneaks in, e.g., % @setcolor (or @url, or @link, etc.) between @contents and the very % first @chapter. \def\gettopheadingmarks{% \ifcase0\topmark\fi \ifx\thischapter\empty \ifcase0\firstmark\fi \fi } \def\getbottomheadingmarks{\ifcase1\botmark\fi} \def\getcolormarks{\ifcase2\topmark\fi} % Avoid "undefined control sequence" errors. \def\lastchapterdefs{} \def\lastsectiondefs{} \def\prevchapterdefs{} \def\prevsectiondefs{} \def\lastcolordefs{} % Main output routine. \chardef\PAGE = 255 \output = {\onepageout{\pagecontents\PAGE}} \newbox\headlinebox \newbox\footlinebox % \onepageout takes a vbox as an argument. Note that \pagecontents % does insertions, but you have to call it yourself. \def\onepageout#1{% \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi % \ifodd\pageno \advance\hoffset by \bindingoffset \else \advance\hoffset by -\bindingoffset\fi % % Do this outside of the \shipout so @code etc. will be expanded in % the headline as they should be, not taken literally (outputting ''code). \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% % {% % Have to do this stuff outside the \shipout because we want it to % take effect in \write's, yet the group defined by the \vbox ends % before the \shipout runs. % \indexdummies % don't expand commands in the output. \normalturnoffactive % \ in index entries must not stay \, e.g., if % the page break happens to be in the middle of an example. % We don't want .vr (or whatever) entries like this: % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} % "\acronym" won't work when it's read back in; % it needs to be % {\code {{\tt \backslashcurfont }acronym} \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi % \ifcropmarks \vbox to \outervsize\bgroup \hsize = \outerhsize \vskip-\topandbottommargin \vtop to0pt{% \line{\ewtop\hfil\ewtop}% \nointerlineskip \line{% \vbox{\moveleft\cornerthick\nstop}% \hfill \vbox{\moveright\cornerthick\nstop}% }% \vss}% \vskip\topandbottommargin \line\bgroup \hfil % center the page within the outer (page) hsize. \ifodd\pageno\hskip\bindingoffset\fi \vbox\bgroup \fi % \unvbox\headlinebox \pagebody{#1}% \ifdim\ht\footlinebox > 0pt % Only leave this space if the footline is nonempty. % (We lessened \vsize for it in \oddfootingyyy.) % The \baselineskip=24pt in plain's \makefootline has no effect. \vskip 24pt \unvbox\footlinebox \fi % \ifcropmarks \egroup % end of \vbox\bgroup \hfil\egroup % end of (centering) \line\bgroup \vskip\topandbottommargin plus1fill minus1fill \boxmaxdepth = \cornerthick \vbox to0pt{\vss \line{% \vbox{\moveleft\cornerthick\nsbot}% \hfill \vbox{\moveright\cornerthick\nsbot}% }% \nointerlineskip \line{\ewbot\hfil\ewbot}% }% \egroup % \vbox from first cropmarks clause \fi }% end of \shipout\vbox }% end of group with \indexdummies \advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi } \newinsert\margin \dimen\margin=\maxdimen \def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}} {\catcode`\@ =11 \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi % marginal hacks, juha@viisa.uucp (Juha Takala) \ifvoid\margin\else % marginal info is present \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi \dimen@=\dp#1\relax \unvbox#1\relax \ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi \ifr@ggedbottom \kern-\dimen@ \vfil \fi} } % Here are the rules for the cropmarks. Note that they are % offset so that the space between them is truly \outerhsize or \outervsize % (P. A. MacKay, 12 November, 1986) % \def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong} \def\nstop{\vbox {\hrule height\cornerthick depth\cornerlong width\cornerthick}} \def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong} \def\nsbot{\vbox {\hrule height\cornerlong depth\cornerthick width\cornerthick}} % Parse an argument, then pass it to #1. The argument is the rest of % the input line (except we remove a trailing comment). #1 should be a % macro which expects an ordinary undelimited TeX argument. % \def\parsearg{\parseargusing{}} \def\parseargusing#1#2{% \def\argtorun{#2}% \begingroup \obeylines \spaceisspace #1% \parseargline\empty% Insert the \empty token, see \finishparsearg below. } {\obeylines % \gdef\parseargline#1^^M{% \endgroup % End of the group started in \parsearg. \argremovecomment #1\comment\ArgTerm% }% } % First remove any @comment, then any @c comment. \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} % Each occurrence of `\^^M' or `\^^M' is replaced by a single space. % % \argremovec might leave us with trailing space, e.g., % @end itemize @c foo % This space token undergoes the same procedure and is eventually removed % by \finishparsearg. % \def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M} \def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M} \def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% \def\temp{#3}% \ifx\temp\empty % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: \let\temp\finishparsearg \else \let\temp\argcheckspaces \fi % Put the space token in: \temp#1 #3\ArgTerm } % If a _delimited_ argument is enclosed in braces, they get stripped; so % to get _exactly_ the rest of the line, we had to prevent such situation. % We prepended an \empty token at the very beginning and we expand it now, % just before passing the control to \argtorun. % (Similarly, we have to think about #3 of \argcheckspacesY above: it is % either the null string, or it ends with \^^M---thus there is no danger % that a pair of braces would be stripped. % % But first, we have to remove the trailing space token. % \def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} % \parseargdef\foo{...} % is roughly equivalent to % \def\foo{\parsearg\Xfoo} % \def\Xfoo#1{...} % % Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my % favourite TeX trick. --kasal, 16nov03 \def\parseargdef#1{% \expandafter \doparseargdef \csname\string#1\endcsname #1% } \def\doparseargdef#1#2{% \def#2{\parsearg#1}% \def#1##1% } % Several utility definitions with active space: { \obeyspaces \gdef\obeyedspace{ } % Make each space character in the input produce a normal interword % space in the output. Don't allow a line break at this space, as this % is used only in environments like @example, where each line of input % should produce a line of output anyway. % \gdef\sepspaces{\obeyspaces\let =\tie} % If an index command is used in an @example environment, any spaces % therein should become regular spaces in the raw index file, not the % expansion of \tie (\leavevmode \penalty \@M \ ). \gdef\unsepspaces{\let =\space} } \def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} % Define the framework for environments in texinfo.tex. It's used like this: % % \envdef\foo{...} % \def\Efoo{...} % % It's the responsibility of \envdef to insert \begingroup before the % actual body; @end closes the group after calling \Efoo. \envdef also % defines \thisenv, so the current environment is known; @end checks % whether the environment name matches. The \checkenv macro can also be % used to check whether the current environment is the one expected. % % Non-false conditionals (@iftex, @ifset) don't fit into this, so they % are not treated as environments; they don't open a group. (The % implementation of @end takes care not to call \endgroup in this % special case.) % At run-time, environments start with this: \def\startenvironment#1{\begingroup\def\thisenv{#1}} % initialize \let\thisenv\empty % ... but they get defined via ``\envdef\foo{...}'': \long\def\envdef#1#2{\def#1{\startenvironment#1#2}} \def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} % Check whether we're in the right environment: \def\checkenv#1{% \def\temp{#1}% \ifx\thisenv\temp \else \badenverr \fi } % Environment mismatch, #1 expected: \def\badenverr{% \errhelp = \EMsimple \errmessage{This command can appear only \inenvironment\temp, not \inenvironment\thisenv}% } \def\inenvironment#1{% \ifx#1\empty out of any environment% \else in environment \expandafter\string#1% \fi } % @end foo executes the definition of \Efoo. % But first, it executes a specialized version of \checkenv % \parseargdef\end{% \if 1\csname iscond.#1\endcsname \else % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03 \expandafter\checkenv\csname#1\endcsname \csname E#1\endcsname \endgroup \fi } \newhelp\EMsimple{Press RETURN to continue.} %% Simple single-character @ commands % @@ prints an @ % Kludge this until the fonts are right (grr). \def\@{{\tt\char64}} % This is turned off because it was never documented % and you can use @w{...} around a quote to suppress ligatures. %% Define @` and @' to be the same as ` and ' %% but suppressing ligatures. %\def\`{{`}} %\def\'{{'}} % Used to generate quoted braces. \def\mylbrace {{\tt\char123}} \def\myrbrace {{\tt\char125}} \let\{=\mylbrace \let\}=\myrbrace \begingroup % Definitions to produce \{ and \} commands for indices, % and @{ and @} for the aux/toc files. \catcode`\{ = \other \catcode`\} = \other \catcode`\[ = 1 \catcode`\] = 2 \catcode`\! = 0 \catcode`\\ = \other !gdef!lbracecmd[\{]% !gdef!rbracecmd[\}]% !gdef!lbraceatcmd[@{]% !gdef!rbraceatcmd[@}]% !endgroup % @comma{} to avoid , parsing problems. \let\comma = , % Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent % Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. \let\, = \c \let\dotaccent = \. \def\ringaccent#1{{\accent23 #1}} \let\tieaccent = \t \let\ubaraccent = \b \let\udotaccent = \d % Other special characters: @questiondown @exclamdown @ordf @ordm % Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. \def\questiondown{?`} \def\exclamdown{!`} \def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} \def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} % Dotless i and dotless j, used for accents. \def\imacro{i} \def\jmacro{j} \def\dotless#1{% \def\temp{#1}% \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi \else \errmessage{@dotless can be used only with i or j}% \fi\fi } % The \TeX{} logo, as in plain, but resetting the spacing so that a % period following counts as ending a sentence. (Idea found in latex.) % \edef\TeX{\TeX \spacefactor=1000 } % @LaTeX{} logo. Not quite the same results as the definition in % latex.ltx, since we use a different font for the raised A; it's most % convenient for us to use an explicitly smaller font, rather than using % the \scriptstyle font (since we don't reset \scriptstyle and % \scriptscriptstyle). % \def\LaTeX{% L\kern-.36em {\setbox0=\hbox{T}% \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}% \kern-.15em \TeX } % Be sure we're in horizontal mode when doing a tie, since we make space % equivalent to this in @example-like environments. Otherwise, a space % at the beginning of a line will start with \penalty -- and % since \penalty is valid in vertical mode, we'd end up putting the % penalty on the vertical list instead of in the new paragraph. {\catcode`@ = 11 % Avoid using \@M directly, because that causes trouble % if the definition is written into an index file. \global\let\tiepenalty = \@M \gdef\tie{\leavevmode\penalty\tiepenalty\ } } % @: forces normal size whitespace following. \def\:{\spacefactor=1000 } % @* forces a line break. \def\*{\hfil\break\hbox{}\ignorespaces} % @/ allows a line break. \let\/=\allowbreak % @. is an end-of-sentence period. \def\.{.\spacefactor=\endofsentencespacefactor\space} % @! is an end-of-sentence bang. \def\!{!\spacefactor=\endofsentencespacefactor\space} % @? is an end-of-sentence query. \def\?{?\spacefactor=\endofsentencespacefactor\space} % @frenchspacing on|off says whether to put extra space after punctuation. % \def\onword{on} \def\offword{off} % \parseargdef\frenchspacing{% \def\temp{#1}% \ifx\temp\onword \plainfrenchspacing \else\ifx\temp\offword \plainnonfrenchspacing \else \errhelp = \EMsimple \errmessage{Unknown @frenchspacing option `\temp', must be on/off}% \fi\fi } % @w prevents a word break. Without the \leavevmode, @w at the % beginning of a paragraph, when TeX is still in vertical mode, would % produce a whole line of output instead of starting the paragraph. \def\w#1{\leavevmode\hbox{#1}} % @group ... @end group forces ... to be all on one page, by enclosing % it in a TeX vbox. We use \vtop instead of \vbox to construct the box % to keep its height that of a normal line. According to the rules for % \topskip (p.114 of the TeXbook), the glue inserted is % max (\topskip - \ht (first item), 0). If that height is large, % therefore, no glue is inserted, and the space between the headline and % the text is small, which looks bad. % % Another complication is that the group might be very large. This can % cause the glue on the previous page to be unduly stretched, because it % does not have much material. In this case, it's better to add an % explicit \vfill so that the extra space is at the bottom. The % threshold for doing this is if the group is more than \vfilllimit % percent of a page (\vfilllimit can be changed inside of @tex). % \newbox\groupbox \def\vfilllimit{0.7} % \envdef\group{% \ifnum\catcode`\^^M=\active \else \errhelp = \groupinvalidhelp \errmessage{@group invalid in context where filling is enabled}% \fi \startsavinginserts % \setbox\groupbox = \vtop\bgroup % Do @comment since we are called inside an environment such as % @example, where each end-of-line in the input causes an % end-of-line in the output. We don't want the end-of-line after % the `@group' to put extra space in the output. Since @group % should appear on a line by itself (according to the Texinfo % manual), we don't worry about eating any user text. \comment } % % The \vtop produces a box with normal height and large depth; thus, TeX puts % \baselineskip glue before it, and (when the next line of text is done) % \lineskip glue after it. Thus, space below is not quite equal to space % above. But it's pretty close. \def\Egroup{% % To get correct interline space between the last line of the group % and the first line afterwards, we have to propagate \prevdepth. \endgraf % Not \par, as it may have been set to \lisppar. \global\dimen1 = \prevdepth \egroup % End the \vtop. % \dimen0 is the vertical size of the group's box. \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox % \dimen2 is how much space is left on the page (more or less). \dimen2 = \pageheight \advance\dimen2 by -\pagetotal % if the group doesn't fit on the current page, and it's a big big % group, force a page break. \ifdim \dimen0 > \dimen2 \ifdim \pagetotal < \vfilllimit\pageheight \page \fi \fi \box\groupbox \prevdepth = \dimen1 \checkinserts } % % TeX puts in an \escapechar (i.e., `@') at the beginning of the help % message, so this ends up printing `@group can only ...'. % \newhelp\groupinvalidhelp{% group can only be used in environments such as @example,^^J% where each line of input produces a line of output.} % @need space-in-mils % forces a page break if there is not space-in-mils remaining. \newdimen\mil \mil=0.001in % Old definition--didn't work. %\parseargdef\need{\par % %% This method tries to make TeX break the page naturally %% if the depth of the box does not fit. %{\baselineskip=0pt% %\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak %\prevdepth=-1000pt %}} \parseargdef\need{% % Ensure vertical mode, so we don't make a big box in the middle of a % paragraph. \par % % If the @need value is less than one line space, it's useless. \dimen0 = #1\mil \dimen2 = \ht\strutbox \advance\dimen2 by \dp\strutbox \ifdim\dimen0 > \dimen2 % % Do a \strut just to make the height of this box be normal, so the % normal leading is inserted relative to the preceding line. % And a page break here is fine. \vtop to #1\mil{\strut\vfil}% % % TeX does not even consider page breaks if a penalty added to the % main vertical list is 10000 or more. But in order to see if the % empty box we just added fits on the page, we must make it consider % page breaks. On the other hand, we don't want to actually break the % page after the empty box. So we use a penalty of 9999. % % There is an extremely small chance that TeX will actually break the % page at this \penalty, if there are no other feasible breakpoints in % sight. (If the user is using lots of big @group commands, which % almost-but-not-quite fill up a page, TeX will have a hard time doing % good page breaking, for example.) However, I could not construct an % example where a page broke at this \penalty; if it happens in a real % document, then we can reconsider our strategy. \penalty9999 % % Back up by the size of the box, whether we did a page break or not. \kern -#1\mil % % Do not allow a page break right after this kern. \nobreak \fi } % @br forces paragraph break (and is undocumented). \let\br = \par % @page forces the start of a new page. % \def\page{\par\vfill\supereject} % @exdent text.... % outputs text on separate line in roman font, starting at standard page margin % This records the amount of indent in the innermost environment. % That's how much \exdent should take out. \newskip\exdentamount % This defn is used inside fill environments such as @defun. \parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break} % This defn is used inside nofill environments such as @example. \parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount \leftline{\hskip\leftskip{\rm#1}}}} % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current % paragraph. For more general purposes, use the \margin insertion % class. WHICH is `l' or `r'. % \newskip\inmarginspacing \inmarginspacing=1cm \def\strutdepth{\dp\strutbox} % \def\doinmargin#1#2{\strut\vadjust{% \nobreak \kern-\strutdepth \vtop to \strutdepth{% \baselineskip=\strutdepth \vss % if you have multiple lines of stuff to put here, you'll need to % make the vbox yourself of the appropriate size. \ifx#1l% \llap{\ignorespaces #2\hskip\inmarginspacing}% \else \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}% \fi \null }% }} \def\inleftmargin{\doinmargin l} \def\inrightmargin{\doinmargin r} % % @inmargin{TEXT [, RIGHT-TEXT]} % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; % else use TEXT for both). % \def\inmargin#1{\parseinmargin #1,,\finish} \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \def\lefttext{#1}% have both texts \def\righttext{#2}% \else \def\lefttext{#1}% have only one text \def\righttext{#1}% \fi % \ifodd\pageno \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin \else \def\temp{\inleftmargin\lefttext}% \fi \temp } % @include FILE -- \input text of FILE. % \def\include{\parseargusing\filenamecatcodes\includezzz} \def\includezzz#1{% \pushthisfilestack \def\thisfile{#1}% {% \makevalueexpandable % we want to expand any @value in FILE. \turnoffactive % and allow special characters in the expansion \indexnofonts % Allow `@@' and other weird things in file names. \edef\temp{\noexpand\input #1 }% % % This trickery is to read FILE outside of a group, in case it makes % definitions, etc. \expandafter }\temp \popthisfilestack } \def\filenamecatcodes{% \catcode`\\=\other \catcode`~=\other \catcode`^=\other \catcode`_=\other \catcode`|=\other \catcode`<=\other \catcode`>=\other \catcode`+=\other \catcode`-=\other \catcode`\`=\other \catcode`\'=\other } \def\pushthisfilestack{% \expandafter\pushthisfilestackX\popthisfilestack\StackTerm } \def\pushthisfilestackX{% \expandafter\pushthisfilestackY\thisfile\StackTerm } \def\pushthisfilestackY #1\StackTerm #2\StackTerm {% \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}% } \def\popthisfilestack{\errthisfilestackempty} \def\errthisfilestackempty{\errmessage{Internal error: the stack of filenames is empty.}} \def\thisfile{} % @center line % outputs that line, centered. % \parseargdef\center{% \ifhmode \let\next\centerH \else \let\next\centerV \fi \next{\hfil \ignorespaces#1\unskip \hfil}% } \def\centerH#1{% {% \hfil\break \advance\hsize by -\leftskip \advance\hsize by -\rightskip \line{#1}% \break }% } \def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}} % @sp n outputs n lines of vertical space \parseargdef\sp{\vskip #1\baselineskip} % @comment ...line which is ignored... % @c is the same as @comment % @ignore ... @end ignore is another way to write a comment \def\comment{\begingroup \catcode`\^^M=\other% \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% \commentxxx} {\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} \let\c=\comment % @paragraphindent NCHARS % We'll use ems for NCHARS, close enough. % NCHARS can also be the word `asis' or `none'. % We cannot feasibly implement @paragraphindent asis, though. % \def\asisword{asis} % no translation, these are keywords \def\noneword{none} % \parseargdef\paragraphindent{% \def\temp{#1}% \ifx\temp\asisword \else \ifx\temp\noneword \defaultparindent = 0pt \else \defaultparindent = #1em \fi \fi \parindent = \defaultparindent } % @exampleindent NCHARS % We'll use ems for NCHARS like @paragraphindent. % It seems @exampleindent asis isn't necessary, but % I preserve it to make it similar to @paragraphindent. \parseargdef\exampleindent{% \def\temp{#1}% \ifx\temp\asisword \else \ifx\temp\noneword \lispnarrowing = 0pt \else \lispnarrowing = #1em \fi \fi } % @firstparagraphindent WORD % If WORD is `none', then suppress indentation of the first paragraph % after a section heading. If WORD is `insert', then do indent at such % paragraphs. % % The paragraph indentation is suppressed or not by calling % \suppressfirstparagraphindent, which the sectioning commands do. % We switch the definition of this back and forth according to WORD. % By default, we suppress indentation. % \def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} \def\insertword{insert} % \parseargdef\firstparagraphindent{% \def\temp{#1}% \ifx\temp\noneword \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent \else\ifx\temp\insertword \let\suppressfirstparagraphindent = \relax \else \errhelp = \EMsimple \errmessage{Unknown @firstparagraphindent option `\temp'}% \fi\fi } % Here is how we actually suppress indentation. Redefine \everypar to % \kern backwards by \parindent, and then reset itself to empty. % % We also make \indent itself not actually do anything until the next % paragraph. % \gdef\dosuppressfirstparagraphindent{% \gdef\indent{% \restorefirstparagraphindent \indent }% \gdef\noindent{% \restorefirstparagraphindent \noindent }% \global\everypar = {% \kern -\parindent \restorefirstparagraphindent }% } \gdef\restorefirstparagraphindent{% \global \let \indent = \ptexindent \global \let \noindent = \ptexnoindent \global \everypar = {}% } % @asis just yields its argument. Used with @table, for example. % \def\asis#1{#1} % @math outputs its argument in math mode. % % One complication: _ usually means subscripts, but it could also mean % an actual _ character, as in @math{@var{some_variable} + 1}. So make % _ active, and distinguish by seeing if the current family is \slfam, % which is what @var uses. { \catcode`\_ = \active \gdef\mathunderscore{% \catcode`\_=\active \def_{\ifnum\fam=\slfam \_\else\sb\fi}% } } % Another complication: we want \\ (and @\) to output a \ character. % FYI, plain.tex uses \\ as a temporary control sequence (why?), but % this is not advertised and we don't care. Texinfo does not % otherwise define @\. % % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} % \def\math{% \tex \mathunderscore \let\\ = \mathbackslash \mathactive % make the texinfo accent commands work in math mode \let\"=\ddot \let\'=\acute \let\==\bar \let\^=\hat \let\`=\grave \let\u=\breve \let\v=\check \let\~=\tilde \let\dotaccent=\dot $\finishmath } \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. % Some active characters (such as <) are spaced differently in math. % We have to reset their definitions in case the @math was an argument % to a command which sets the catcodes (such as @item or @section). % { \catcode`^ = \active \catcode`< = \active \catcode`> = \active \catcode`+ = \active \catcode`' = \active \gdef\mathactive{% \let^ = \ptexhat \let< = \ptexless \let> = \ptexgtr \let+ = \ptexplus \let' = \ptexquoteright } } % Some math mode symbols. \def\bullet{$\ptexbullet$} \def\geq{\ifmmode \ge\else $\ge$\fi} \def\leq{\ifmmode \le\else $\le$\fi} \def\minus{\ifmmode -\else $-$\fi} % @dots{} outputs an ellipsis using the current font. % We do .5em per period so that it has the same spacing in the cm % typewriter fonts as three actual period characters; on the other hand, % in other typewriter fonts three periods are wider than 1.5em. So do % whichever is larger. % \def\dots{% \leavevmode \setbox0=\hbox{...}% get width of three periods \ifdim\wd0 > 1.5em \dimen0 = \wd0 \else \dimen0 = 1.5em \fi \hbox to \dimen0{% \hskip 0pt plus.25fil .\hskip 0pt plus1fil .\hskip 0pt plus1fil .\hskip 0pt plus.5fil }% } % @enddots{} is an end-of-sentence ellipsis. % \def\enddots{% \dots \spacefactor=\endofsentencespacefactor } % @comma{} is so commas can be inserted into text without messing up % Texinfo's parsing. % \let\comma = , % @refill is a no-op. \let\refill=\relax % If working on a large document in chapters, it is convenient to % be able to disable indexing, cross-referencing, and contents, for test runs. % This is done with @novalidate (before @setfilename). % \newif\iflinks \linkstrue % by default we want the aux files. \let\novalidate = \linksfalse % @setfilename is done at the beginning of every texinfo file. % So open here the files we need to have open while reading the input. % This makes it possible to make a .fmt file for texinfo. \def\setfilename{% \fixbackslash % Turn off hack to swallow `\input texinfo'. \iflinks \tryauxfile % Open the new aux file. TeX will close it automatically at exit. \immediate\openout\auxfile=\jobname.aux \fi % \openindices needs to do some work in any case. \openindices \let\setfilename=\comment % Ignore extra @setfilename cmds. % % If texinfo.cnf is present on the system, read it. % Useful for site-wide @afourpaper, etc. \openin 1 texinfo.cnf \ifeof 1 \else \input texinfo.cnf \fi \closein 1 % \comment % Ignore the actual filename. } % Called from \setfilename. % \def\openindices{% \newindex{cp}% \newcodeindex{fn}% \newcodeindex{vr}% \newcodeindex{tp}% \newcodeindex{ky}% \newcodeindex{pg}% } % @bye. \outer\def\bye{\pagealignmacro\tracingstats=1\ptexend} \message{pdf,} % adobe `portable' document format \newcount\tempnum \newcount\lnkcount \newtoks\filename \newcount\filenamelength \newcount\pgn \newtoks\toksA \newtoks\toksB \newtoks\toksC \newtoks\toksD \newbox\boxA \newcount\countA \newif\ifpdf \newif\ifpdfmakepagedest % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 % can be set). So we test for \relax and 0 as well as \undefined, % borrowed from ifpdf.sty. \ifx\pdfoutput\undefined \else \ifx\pdfoutput\relax \else \ifcase\pdfoutput \else \pdftrue \fi \fi \fi % PDF uses PostScript string constants for the names of xref targets, % for display in the outlines, and in other places. Thus, we have to % double any backslashes. Otherwise, a name like "\node" will be % interpreted as a newline (\n), followed by o, d, e. Not good. % http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html % (and related messages, the final outcome is that it is up to the TeX % user to double the backslashes and otherwise make the string valid, so % that's what we do). % double active backslashes. % {\catcode`\@=0 \catcode`\\=\active @gdef@activebackslashdouble{% @catcode`@\=@active @let\=@doublebackslash} } % To handle parens, we must adopt a different approach, since parens are % not active characters. hyperref.dtx (which has the same problem as % us) handles it with this amazing macro to replace tokens, with minor % changes for Texinfo. It is included here under the GPL by permission % from the author, Heiko Oberdiek. % % #1 is the tokens to replace. % #2 is the replacement. % #3 is the control sequence with the string. % \def\HyPsdSubst#1#2#3{% \def\HyPsdReplace##1#1##2\END{% ##1% \ifx\\##2\\% \else #2% \HyReturnAfterFi{% \HyPsdReplace##2\END }% \fi }% \xdef#3{\expandafter\HyPsdReplace#3#1\END}% } \long\def\HyReturnAfterFi#1\fi{\fi#1} % #1 is a control sequence in which to do the replacements. \def\backslashparens#1{% \xdef#1{#1}% redefine it as its expansion; the definition is simply % \lastnode when called from \setref -> \pdfmkdest. \HyPsdSubst{(}{\realbackslash(}{#1}% \HyPsdSubst{)}{\realbackslash)}{#1}% } \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images with PDF output, and none of those formats could be found. (.eps cannot be supported due to the design of the PDF format; use regular TeX (DVI output) for that.)} \ifpdf % % Color manipulation macros based on pdfcolor.tex. \def\cmykDarkRed{0.28 1 1 0.35} \def\cmykBlack{0 0 0 1} % % k sets the color for filling (usual text, etc.); % K sets the color for stroking (thin rules, e.g., normal _'s). \def\pdfsetcolor#1{\pdfliteral{#1 k #1 K}} % % Set color, and create a mark which defines \thiscolor accordingly, % so that \makeheadline knows which color to restore. \def\setcolor#1{% \xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}% \domark \pdfsetcolor{#1}% } % \def\maincolor{\cmykBlack} \pdfsetcolor{\maincolor} \edef\thiscolor{\maincolor} \def\lastcolordefs{} % \def\makefootline{% \baselineskip24pt \line{\pdfsetcolor{\maincolor}\the\footline}% } % \def\makeheadline{% \vbox to 0pt{% \vskip-22.5pt \line{% \vbox to8.5pt{}% % Extract \thiscolor definition from the marks. \getcolormarks % Typeset the headline with \maincolor, then restore the color. \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}% }% \vss }% \nointerlineskip } % % \pdfcatalog{/PageMode /UseOutlines} % % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). \def\dopdfimage#1#2#3{% \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% % % pdftex (and the PDF format) support .png, .jpg, .pdf (among % others). Let's try in that order. \let\pdfimgext=\empty \begingroup \openin 1 #1.png \ifeof 1 \openin 1 #1.jpg \ifeof 1 \openin 1 #1.jpeg \ifeof 1 \openin 1 #1.JPG \ifeof 1 \openin 1 #1.pdf \ifeof 1 \openin 1 #1.PDF \ifeof 1 \errhelp = \nopdfimagehelp \errmessage{Could not find image file #1 for pdf}% \else \gdef\pdfimgext{PDF}% \fi \else \gdef\pdfimgext{pdf}% \fi \else \gdef\pdfimgext{JPG}% \fi \else \gdef\pdfimgext{jpeg}% \fi \else \gdef\pdfimgext{jpg}% \fi \else \gdef\pdfimgext{png}% \fi \closein 1 \endgroup % % without \immediate, ancient pdftex seg faults when the same image is % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) \ifnum\pdftexversion < 14 \immediate\pdfimage \else \immediate\pdfximage \fi \ifdim \wd0 >0pt width \imagewidth \fi \ifdim \wd2 >0pt height \imageheight \fi \ifnum\pdftexversion<13 #1.\pdfimgext \else {#1.\pdfimgext}% \fi \ifnum\pdftexversion < 14 \else \pdfrefximage \pdflastximage \fi} % \def\pdfmkdest#1{{% % We have to set dummies so commands such as @code, and characters % such as \, aren't expanded when present in a section title. \indexnofonts \turnoffactive \activebackslashdouble \makevalueexpandable \def\pdfdestname{#1}% \backslashparens\pdfdestname \safewhatsit{\pdfdest name{\pdfdestname} xyz}% }} % % used to mark target names; must be expandable. \def\pdfmkpgn#1{#1} % % by default, use a color that is dark enough to print on paper as % nearly black, but still distinguishable for online viewing. \def\urlcolor{\cmykDarkRed} \def\linkcolor{\cmykDarkRed} \def\endlink{\setcolor{\maincolor}\pdfendlink} % % Adding outlines to PDF; macros for calculating structure of outlines % come from Petr Olsak \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% \else \csname#1\endcsname \fi} \def\advancenumber#1{\tempnum=\expnumber{#1}\relax \advance\tempnum by 1 \expandafter\xdef\csname#1\endcsname{\the\tempnum}} % % #1 is the section text, which is what will be displayed in the % outline by the pdf viewer. #2 is the pdf expression for the number % of subentries (or empty, for subsubsections). #3 is the node text, % which might be empty if this toc entry had no corresponding node. % #4 is the page number % \def\dopdfoutline#1#2#3#4{% % Generate a link to the node text if that exists; else, use the % page number. We could generate a destination for the section % text in the case where a section has no node, but it doesn't % seem worth the trouble, since most documents are normally structured. \def\pdfoutlinedest{#3}% \ifx\pdfoutlinedest\empty \def\pdfoutlinedest{#4}% \else % Doubled backslashes in the name. {\activebackslashdouble \xdef\pdfoutlinedest{#3}% \backslashparens\pdfoutlinedest}% \fi % % Also double the backslashes in the display string. {\activebackslashdouble \xdef\pdfoutlinetext{#1}% \backslashparens\pdfoutlinetext}% % \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% } % \def\pdfmakeoutlines{% \begingroup % Thanh's hack / proper braces in bookmarks \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace % % Read toc silently, to get counts of subentries for \pdfoutline. \def\numchapentry##1##2##3##4{% \def\thischapnum{##2}% \def\thissecnum{0}% \def\thissubsecnum{0}% }% \def\numsecentry##1##2##3##4{% \advancenumber{chap\thischapnum}% \def\thissecnum{##2}% \def\thissubsecnum{0}% }% \def\numsubsecentry##1##2##3##4{% \advancenumber{sec\thissecnum}% \def\thissubsecnum{##2}% }% \def\numsubsubsecentry##1##2##3##4{% \advancenumber{subsec\thissubsecnum}% }% \def\thischapnum{0}% \def\thissecnum{0}% \def\thissubsecnum{0}% % % use \def rather than \let here because we redefine \chapentry et % al. a second time, below. \def\appentry{\numchapentry}% \def\appsecentry{\numsecentry}% \def\appsubsecentry{\numsubsecentry}% \def\appsubsubsecentry{\numsubsubsecentry}% \def\unnchapentry{\numchapentry}% \def\unnsecentry{\numsecentry}% \def\unnsubsecentry{\numsubsecentry}% \def\unnsubsubsecentry{\numsubsubsecentry}% \readdatafile{toc}% % % Read toc second time, this time actually producing the outlines. % The `-' means take the \expnumber as the absolute number of % subentries, which we calculated on our first read of the .toc above. % % We use the node names as the destinations. \def\numchapentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% \def\numsecentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% \def\numsubsecentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% \def\numsubsubsecentry##1##2##3##4{% count is always zero \dopdfoutline{##1}{}{##3}{##4}}% % % PDF outlines are displayed using system fonts, instead of % document fonts. Therefore we cannot use special characters, % since the encoding is unknown. For example, the eogonek from % Latin 2 (0xea) gets translated to a | character. Info from % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. % % xx to do this right, we have to translate 8-bit characters to % their "best" equivalent, based on the @documentencoding. Right % now, I guess we'll just let the pdf reader have its way. \indexnofonts \setupdatafile \catcode`\\=\active \otherbackslash \input \tocreadfilename \endgroup } % \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax \else\let\nextsp\skipspaces \ifx\p\space\else\addtokens{\filename}{\PP}% \advance\filenamelength by 1 \fi \fi \nextsp} \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax} \ifnum\pdftexversion < 14 \let \startlink \pdfannotlink \else \let \startlink \pdfstartlink \fi % make a live url in pdf output. \def\pdfurl#1{% \begingroup % it seems we really need yet another set of dummies; have not % tried to figure out what each command should do in the context % of @url. for now, just make @/ a no-op, that's the only one % people have actually reported a problem with. % \normalturnoffactive \def\@{@}% \let\/=\empty \makevalueexpandable \leavevmode\setcolor{\urlcolor}% \startlink attr{/Border [0 0 0]}% user{/Subtype /Link /A << /S /URI /URI (#1) >>}% \endgroup} \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} \def\maketoks{% \expandafter\poptoks\the\toksA|ENDTOKS|\relax \ifx\first0\adn0 \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 \else \ifnum0=\countA\else\makelink\fi \ifx\first.\let\next=\done\else \let\next=\maketoks \addtokens{\toksB}{\the\toksD} \ifx\first,\addtokens{\toksB}{\space}\fi \fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \next} \def\makelink{\addtokens{\toksB}% {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} \def\pdflink#1{% \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} \setcolor{\linkcolor}#1\endlink} \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} \else % non-pdf mode \let\pdfmkdest = \gobble \let\pdfurl = \gobble \let\endlink = \relax \let\setcolor = \gobble \let\pdfsetcolor = \gobble \let\pdfmakeoutlines = \relax \fi % \ifx\pdfoutput \message{fonts,} % Change the current font style to #1, remembering it in \curfontstyle. % For now, we do not accumulate font styles: @b{@i{foo}} prints foo in % italics, not bold italics. % \def\setfontstyle#1{% \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. \csname ten#1\endcsname % change the current font } % Select #1 fonts with the current style. % \def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname} \def\rm{\fam=0 \setfontstyle{rm}} \def\it{\fam=\itfam \setfontstyle{it}} \def\sl{\fam=\slfam \setfontstyle{sl}} \def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} \def\tt{\fam=\ttfam \setfontstyle{tt}} % Unfortunately, we have to override this for titles and the like, since % in those cases "rm" is bold. Sigh. \def\rmisbold{\rm\def\curfontstyle{bf}} % Texinfo sort of supports the sans serif font style, which plain TeX does not. % So we set up a \sf. \newfam\sffam \def\sf{\fam=\sffam \setfontstyle{sf}} \let\li = \sf % Sometimes we call it \li, not \sf. % We don't need math for this font style. \def\ttsl{\setfontstyle{ttsl}} % Default leading. \newdimen\textleading \textleading = 13.2pt % Set the baselineskip to #1, and the lineskip and strut size % correspondingly. There is no deep meaning behind these magic numbers % used as factors; they just match (closely enough) what Knuth defined. % \def\lineskipfactor{.08333} \def\strutheightpercent{.70833} \def\strutdepthpercent {.29167} % % can get a sort of poor man's double spacing by redefining this. \def\baselinefactor{1} % \def\setleading#1{% \dimen0 = #1\relax \normalbaselineskip = \baselinefactor\dimen0 \normallineskip = \lineskipfactor\normalbaselineskip \normalbaselines \setbox\strutbox =\hbox{% \vrule width0pt height\strutheightpercent\baselineskip depth \strutdepthpercent \baselineskip }% } % PDF CMaps. See also LaTeX's t1.cmap. % % do nothing with this by default. \expandafter\let\csname cmapOT1\endcsname\gobble \expandafter\let\csname cmapOT1IT\endcsname\gobble \expandafter\let\csname cmapOT1TT\endcsname\gobble % if we are producing pdf, and we have \pdffontattr, then define cmaps. % (\pdffontattr was introduced many years ago, but people still run % older pdftex's; it's easy to conditionalize, so we do.) \ifpdf \ifx\pdffontattr\undefined \else \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1-0) %%Title: (TeX-OT1-0 TeX OT1 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1) /Supplement 0 >> def /CMapName /TeX-OT1-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 8 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <23> <26> <0023> <28> <3B> <0028> <3F> <5B> <003F> <5D> <5E> <005D> <61> <7A> <0061> <7B> <7C> <2013> endbfrange 40 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <00660066> <0C> <00660069> <0D> <0066006C> <0E> <006600660069> <0F> <00660066006C> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <21> <0021> <22> <201D> <27> <2019> <3C> <00A1> <3D> <003D> <3E> <00BF> <5C> <201C> <5F> <02D9> <60> <2018> <7D> <02DD> <7E> <007E> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% % % \cmapOT1IT \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1IT-0) %%Title: (TeX-OT1IT-0 TeX OT1IT 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1IT) /Supplement 0 >> def /CMapName /TeX-OT1IT-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 8 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <25> <26> <0025> <28> <3B> <0028> <3F> <5B> <003F> <5D> <5E> <005D> <61> <7A> <0061> <7B> <7C> <2013> endbfrange 42 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <00660066> <0C> <00660069> <0D> <0066006C> <0E> <006600660069> <0F> <00660066006C> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <21> <0021> <22> <201D> <23> <0023> <24> <00A3> <27> <2019> <3C> <00A1> <3D> <003D> <3E> <00BF> <5C> <201C> <5F> <02D9> <60> <2018> <7D> <02DD> <7E> <007E> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1IT\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% % % \cmapOT1TT \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1TT-0) %%Title: (TeX-OT1TT-0 TeX OT1TT 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1TT) /Supplement 0 >> def /CMapName /TeX-OT1TT-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 5 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <21> <26> <0021> <28> <5F> <0028> <61> <7E> <0061> endbfrange 32 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <2191> <0C> <2193> <0D> <0027> <0E> <00A1> <0F> <00BF> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <20> <2423> <27> <2019> <60> <2018> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1TT\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% \fi\fi % Set the font macro #1 to the font named #2, adding on the % specified font prefix (normally `cm'). % #3 is the font's design size, #4 is a scale factor, #5 is the CMap % encoding (currently only OT1, OT1IT and OT1TT are allowed, pass % empty to omit). \def\setfont#1#2#3#4#5{% \font#1=\fontprefix#2#3 scaled #4 \csname cmap#5\endcsname#1% } % This is what gets called when #5 of \setfont is empty. \let\cmap\gobble % emacs-page end of cmaps % Use cm as the default font prefix. % To specify the font prefix, you must define \fontprefix % before you read in texinfo.tex. \ifx\fontprefix\undefined \def\fontprefix{cm} \fi % Support font families that don't use the same naming scheme as CM. \def\rmshape{r} \def\rmbshape{bx} %where the normal face is bold \def\bfshape{b} \def\bxshape{bx} \def\ttshape{tt} \def\ttbshape{tt} \def\ttslshape{sltt} \def\itshape{ti} \def\itbshape{bxti} \def\slshape{sl} \def\slbshape{bxsl} \def\sfshape{ss} \def\sfbshape{ss} \def\scshape{csc} \def\scbshape{csc} % Definitions for a main text size of 11pt. This is the default in % Texinfo. % \def\definetextfontsizexi{% % Text fonts (11.2pt, magstep1). \def\textnominalsize{11pt} \edef\mainmagstep{\magstephalf} \setfont\textrm\rmshape{10}{\mainmagstep}{OT1} \setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} \setfont\textbf\bfshape{10}{\mainmagstep}{OT1} \setfont\textit\itshape{10}{\mainmagstep}{OT1IT} \setfont\textsl\slshape{10}{\mainmagstep}{OT1} \setfont\textsf\sfshape{10}{\mainmagstep}{OT1} \setfont\textsc\scshape{10}{\mainmagstep}{OT1} \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep \def\textecsize{1095} % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstep1}{OT1} \setfont\deftt\ttshape{10}{\magstep1}{OT1TT} \setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT} \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). \def\smallnominalsize{9pt} \setfont\smallrm\rmshape{9}{1000}{OT1} \setfont\smalltt\ttshape{9}{1000}{OT1TT} \setfont\smallbf\bfshape{10}{900}{OT1} \setfont\smallit\itshape{9}{1000}{OT1IT} \setfont\smallsl\slshape{9}{1000}{OT1} \setfont\smallsf\sfshape{9}{1000}{OT1} \setfont\smallsc\scshape{10}{900}{OT1} \setfont\smallttsl\ttslshape{10}{900}{OT1TT} \font\smalli=cmmi9 \font\smallsy=cmsy9 \def\smallecsize{0900} % Fonts for small examples (8pt). \def\smallernominalsize{8pt} \setfont\smallerrm\rmshape{8}{1000}{OT1} \setfont\smallertt\ttshape{8}{1000}{OT1TT} \setfont\smallerbf\bfshape{10}{800}{OT1} \setfont\smallerit\itshape{8}{1000}{OT1IT} \setfont\smallersl\slshape{8}{1000}{OT1} \setfont\smallersf\sfshape{8}{1000}{OT1} \setfont\smallersc\scshape{10}{800}{OT1} \setfont\smallerttsl\ttslshape{10}{800}{OT1TT} \font\smalleri=cmmi8 \font\smallersy=cmsy8 \def\smallerecsize{0800} % Fonts for title page (20.4pt): \def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} \setfont\titleit\itbshape{10}{\magstep4}{OT1IT} \setfont\titlesl\slbshape{10}{\magstep4}{OT1} \setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} \setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} \setfont\titlesf\sfbshape{17}{\magstep1}{OT1} \let\titlebf=\titlerm \setfont\titlesc\scbshape{10}{\magstep4}{OT1} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\titleecsize{2074} % Chapter (and unnumbered) fonts (17.28pt). \def\chapnominalsize{17pt} \setfont\chaprm\rmbshape{12}{\magstep2}{OT1} \setfont\chapit\itbshape{10}{\magstep3}{OT1IT} \setfont\chapsl\slbshape{10}{\magstep3}{OT1} \setfont\chaptt\ttbshape{12}{\magstep2}{OT1TT} \setfont\chapttsl\ttslshape{10}{\magstep3}{OT1TT} \setfont\chapsf\sfbshape{17}{1000}{OT1} \let\chapbf=\chaprm \setfont\chapsc\scbshape{10}{\magstep3}{OT1} \font\chapi=cmmi12 scaled \magstep2 \font\chapsy=cmsy10 scaled \magstep3 \def\chapecsize{1728} % Section fonts (14.4pt). \def\secnominalsize{14pt} \setfont\secrm\rmbshape{12}{\magstep1}{OT1} \setfont\secit\itbshape{10}{\magstep2}{OT1IT} \setfont\secsl\slbshape{10}{\magstep2}{OT1} \setfont\sectt\ttbshape{12}{\magstep1}{OT1TT} \setfont\secttsl\ttslshape{10}{\magstep2}{OT1TT} \setfont\secsf\sfbshape{12}{\magstep1}{OT1} \let\secbf\secrm \setfont\secsc\scbshape{10}{\magstep2}{OT1} \font\seci=cmmi12 scaled \magstep1 \font\secsy=cmsy10 scaled \magstep2 \def\sececsize{1440} % Subsection fonts (13.15pt). \def\ssecnominalsize{13pt} \setfont\ssecrm\rmbshape{12}{\magstephalf}{OT1} \setfont\ssecit\itbshape{10}{1315}{OT1IT} \setfont\ssecsl\slbshape{10}{1315}{OT1} \setfont\ssectt\ttbshape{12}{\magstephalf}{OT1TT} \setfont\ssecttsl\ttslshape{10}{1315}{OT1TT} \setfont\ssecsf\sfbshape{12}{\magstephalf}{OT1} \let\ssecbf\ssecrm \setfont\ssecsc\scbshape{10}{1315}{OT1} \font\sseci=cmmi12 scaled \magstephalf \font\ssecsy=cmsy10 scaled 1315 \def\ssececsize{1200} % Reduced fonts for @acro in text (10pt). \def\reducednominalsize{10pt} \setfont\reducedrm\rmshape{10}{1000}{OT1} \setfont\reducedtt\ttshape{10}{1000}{OT1TT} \setfont\reducedbf\bfshape{10}{1000}{OT1} \setfont\reducedit\itshape{10}{1000}{OT1IT} \setfont\reducedsl\slshape{10}{1000}{OT1} \setfont\reducedsf\sfshape{10}{1000}{OT1} \setfont\reducedsc\scshape{10}{1000}{OT1} \setfont\reducedttsl\ttslshape{10}{1000}{OT1TT} \font\reducedi=cmmi10 \font\reducedsy=cmsy10 \def\reducedecsize{1000} % reset the current fonts \textfonts \rm } % end of 11pt text font size definitions % Definitions to make the main text be 10pt Computer Modern, with % section, chapter, etc., sizes following suit. This is for the GNU % Press printing of the Emacs 22 manual. Maybe other manuals in the % future. Used with @smallbook, which sets the leading to 12pt. % \def\definetextfontsizex{% % Text fonts (10pt). \def\textnominalsize{10pt} \edef\mainmagstep{1000} \setfont\textrm\rmshape{10}{\mainmagstep}{OT1} \setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} \setfont\textbf\bfshape{10}{\mainmagstep}{OT1} \setfont\textit\itshape{10}{\mainmagstep}{OT1IT} \setfont\textsl\slshape{10}{\mainmagstep}{OT1} \setfont\textsf\sfshape{10}{\mainmagstep}{OT1} \setfont\textsc\scshape{10}{\mainmagstep}{OT1} \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep \def\textecsize{1000} % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstephalf}{OT1} \setfont\deftt\ttshape{10}{\magstephalf}{OT1TT} \setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT} \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). \def\smallnominalsize{9pt} \setfont\smallrm\rmshape{9}{1000}{OT1} \setfont\smalltt\ttshape{9}{1000}{OT1TT} \setfont\smallbf\bfshape{10}{900}{OT1} \setfont\smallit\itshape{9}{1000}{OT1IT} \setfont\smallsl\slshape{9}{1000}{OT1} \setfont\smallsf\sfshape{9}{1000}{OT1} \setfont\smallsc\scshape{10}{900}{OT1} \setfont\smallttsl\ttslshape{10}{900}{OT1TT} \font\smalli=cmmi9 \font\smallsy=cmsy9 \def\smallecsize{0900} % Fonts for small examples (8pt). \def\smallernominalsize{8pt} \setfont\smallerrm\rmshape{8}{1000}{OT1} \setfont\smallertt\ttshape{8}{1000}{OT1TT} \setfont\smallerbf\bfshape{10}{800}{OT1} \setfont\smallerit\itshape{8}{1000}{OT1IT} \setfont\smallersl\slshape{8}{1000}{OT1} \setfont\smallersf\sfshape{8}{1000}{OT1} \setfont\smallersc\scshape{10}{800}{OT1} \setfont\smallerttsl\ttslshape{10}{800}{OT1TT} \font\smalleri=cmmi8 \font\smallersy=cmsy8 \def\smallerecsize{0800} % Fonts for title page (20.4pt): \def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} \setfont\titleit\itbshape{10}{\magstep4}{OT1IT} \setfont\titlesl\slbshape{10}{\magstep4}{OT1} \setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} \setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} \setfont\titlesf\sfbshape{17}{\magstep1}{OT1} \let\titlebf=\titlerm \setfont\titlesc\scbshape{10}{\magstep4}{OT1} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\titleecsize{2074} % Chapter fonts (14.4pt). \def\chapnominalsize{14pt} \setfont\chaprm\rmbshape{12}{\magstep1}{OT1} \setfont\chapit\itbshape{10}{\magstep2}{OT1IT} \setfont\chapsl\slbshape{10}{\magstep2}{OT1} \setfont\chaptt\ttbshape{12}{\magstep1}{OT1TT} \setfont\chapttsl\ttslshape{10}{\magstep2}{OT1TT} \setfont\chapsf\sfbshape{12}{\magstep1}{OT1} \let\chapbf\chaprm \setfont\chapsc\scbshape{10}{\magstep2}{OT1} \font\chapi=cmmi12 scaled \magstep1 \font\chapsy=cmsy10 scaled \magstep2 \def\chapecsize{1440} % Section fonts (12pt). \def\secnominalsize{12pt} \setfont\secrm\rmbshape{12}{1000}{OT1} \setfont\secit\itbshape{10}{\magstep1}{OT1IT} \setfont\secsl\slbshape{10}{\magstep1}{OT1} \setfont\sectt\ttbshape{12}{1000}{OT1TT} \setfont\secttsl\ttslshape{10}{\magstep1}{OT1TT} \setfont\secsf\sfbshape{12}{1000}{OT1} \let\secbf\secrm \setfont\secsc\scbshape{10}{\magstep1}{OT1} \font\seci=cmmi12 \font\secsy=cmsy10 scaled \magstep1 \def\sececsize{1200} % Subsection fonts (10pt). \def\ssecnominalsize{10pt} \setfont\ssecrm\rmbshape{10}{1000}{OT1} \setfont\ssecit\itbshape{10}{1000}{OT1IT} \setfont\ssecsl\slbshape{10}{1000}{OT1} \setfont\ssectt\ttbshape{10}{1000}{OT1TT} \setfont\ssecttsl\ttslshape{10}{1000}{OT1TT} \setfont\ssecsf\sfbshape{10}{1000}{OT1} \let\ssecbf\ssecrm \setfont\ssecsc\scbshape{10}{1000}{OT1} \font\sseci=cmmi10 \font\ssecsy=cmsy10 \def\ssececsize{1000} % Reduced fonts for @acro in text (9pt). \def\reducednominalsize{9pt} \setfont\reducedrm\rmshape{9}{1000}{OT1} \setfont\reducedtt\ttshape{9}{1000}{OT1TT} \setfont\reducedbf\bfshape{10}{900}{OT1} \setfont\reducedit\itshape{9}{1000}{OT1IT} \setfont\reducedsl\slshape{9}{1000}{OT1} \setfont\reducedsf\sfshape{9}{1000}{OT1} \setfont\reducedsc\scshape{10}{900}{OT1} \setfont\reducedttsl\ttslshape{10}{900}{OT1TT} \font\reducedi=cmmi9 \font\reducedsy=cmsy9 \def\reducedecsize{0900} % reduce space between paragraphs \divide\parskip by 2 % reset the current fonts \textfonts \rm } % end of 10pt text font size definitions % We provide the user-level command % @fonttextsize 10 % (or 11) to redefine the text font size. pt is assumed. % \def\xword{10} \def\xiword{11} % \parseargdef\fonttextsize{% \def\textsizearg{#1}% \wlog{doing @fonttextsize \textsizearg}% % % Set \globaldefs so that documents can use this inside @tex, since % makeinfo 4.8 does not support it, but we need it nonetheless. % \begingroup \globaldefs=1 \ifx\textsizearg\xword \definetextfontsizex \else \ifx\textsizearg\xiword \definetextfontsizexi \else \errhelp=\EMsimple \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'} \fi\fi \endgroup } % In order for the font changes to affect most math symbols and letters, % we have to define the \textfont of the standard families. Since % texinfo doesn't allow for producing subscripts and superscripts except % in the main text, we don't bother to reset \scriptfont and % \scriptscriptfont (which would also require loading a lot more fonts). % \def\resetmathfonts{% \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf \textfont\ttfam=\tentt \textfont\sffam=\tensf } % The font-changing commands redefine the meanings of \tenSTYLE, instead % of just \STYLE. We do this because \STYLE needs to also set the % current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire % \tenSTYLE to set the current font. % % Each font-changing command also sets the names \lsize (one size lower) % and \lllsize (three sizes lower). These relative commands are used in % the LaTeX logo and acronyms. % % This all needs generalizing, badly. % \def\textfonts{% \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl \def\curfontsize{text}% \def\lsize{reduced}\def\lllsize{smaller}% \resetmathfonts \setleading{\textleading}} \def\titlefonts{% \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy \let\tenttsl=\titlettsl \def\curfontsize{title}% \def\lsize{chap}\def\lllsize{subsec}% \resetmathfonts \setleading{25pt}} \def\titlefont#1{{\titlefonts\rmisbold #1}} \def\chapfonts{% \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl \def\curfontsize{chap}% \def\lsize{sec}\def\lllsize{text}% \resetmathfonts \setleading{19pt}} \def\secfonts{% \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy \let\tenttsl=\secttsl \def\curfontsize{sec}% \def\lsize{subsec}\def\lllsize{reduced}% \resetmathfonts \setleading{16pt}} \def\subsecfonts{% \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl \def\curfontsize{ssec}% \def\lsize{text}\def\lllsize{small}% \resetmathfonts \setleading{15pt}} \let\subsubsecfonts = \subsecfonts \def\reducedfonts{% \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy \let\tenttsl=\reducedttsl \def\curfontsize{reduced}% \def\lsize{small}\def\lllsize{smaller}% \resetmathfonts \setleading{10.5pt}} \def\smallfonts{% \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy \let\tenttsl=\smallttsl \def\curfontsize{small}% \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{10.5pt}} \def\smallerfonts{% \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy \let\tenttsl=\smallerttsl \def\curfontsize{smaller}% \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{9.5pt}} % Fonts for short table of contents. \setfont\shortcontrm\rmshape{12}{1000}{OT1} \setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12 \setfont\shortcontsl\slshape{12}{1000}{OT1} \setfont\shortconttt\ttshape{12}{1000}{OT1TT} % Define these just so they can be easily changed for other fonts. \def\angleleft{$\langle$} \def\angleright{$\rangle$} % Set the fonts to use with the @small... environments. \let\smallexamplefonts = \smallfonts % About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample % can fit this many characters: % 8.5x11=86 smallbook=72 a4=90 a5=69 % If we use \scriptfonts (8pt), then we can fit this many characters: % 8.5x11=90+ smallbook=80 a4=90+ a5=77 % For me, subjectively, the few extra characters that fit aren't worth % the additional smallness of 8pt. So I'm making the default 9pt. % % By the way, for comparison, here's what fits with @example (10pt): % 8.5x11=71 smallbook=60 a4=75 a5=58 % --karl, 24jan03. % Set up the default fonts, so we can use them for creating boxes. % \definetextfontsizexi \message{markup,} % Check if we are currently using a typewriter font. Since all the % Computer Modern typewriter fonts have zero interword stretch (and % shrink), and it is reasonable to expect all typewriter fonts to have % this property, we can check that font parameter. % \def\ifmonospace{\ifdim\fontdimen3\font=0pt } % Markup style infrastructure. \defmarkupstylesetup\INITMACRO will % define and register \INITMACRO to be called on markup style changes. % \INITMACRO can check \currentmarkupstyle for the innermost % style and the set of \ifmarkupSTYLE switches for all styles % currently in effect. \newif\ifmarkupvar \newif\ifmarkupsamp \newif\ifmarkupkey %\newif\ifmarkupfile % @file == @samp. %\newif\ifmarkupoption % @option == @samp. \newif\ifmarkupcode \newif\ifmarkupkbd %\newif\ifmarkupenv % @env == @code. %\newif\ifmarkupcommand % @command == @code. \newif\ifmarkuptex % @tex (and part of @math, for now). \newif\ifmarkupexample \newif\ifmarkupverb \newif\ifmarkupverbatim \let\currentmarkupstyle\empty \def\setupmarkupstyle#1{% \csname markup#1true\endcsname \def\currentmarkupstyle{#1}% \markupstylesetup } \let\markupstylesetup\empty \def\defmarkupstylesetup#1{% \expandafter\def\expandafter\markupstylesetup \expandafter{\markupstylesetup #1}% \def#1% } % Markup style setup for left and right quotes. \defmarkupstylesetup\markupsetuplq{% \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname \ifx\temp\relax \markupsetuplqdefault \else \temp \fi } \defmarkupstylesetup\markupsetuprq{% \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname \ifx\temp\relax \markupsetuprqdefault \else \temp \fi } { \catcode`\'=\active \catcode`\`=\active \gdef\markupsetuplqdefault{\let`\lq} \gdef\markupsetuprqdefault{\let'\rq} \gdef\markupsetcodequoteleft{\let`\codequoteleft} \gdef\markupsetcodequoteright{\let'\codequoteright} \gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft} } \let\markupsetuplqcode \markupsetcodequoteleft \let\markupsetuprqcode \markupsetcodequoteright \let\markupsetuplqexample \markupsetcodequoteleft \let\markupsetuprqexample \markupsetcodequoteright \let\markupsetuplqverb \markupsetcodequoteleft \let\markupsetuprqverb \markupsetcodequoteright \let\markupsetuplqverbatim \markupsetcodequoteleft \let\markupsetuprqverbatim \markupsetcodequoteright \let\markupsetuplqsamp \markupsetnoligaturesquoteleft \let\markupsetuplqkbd \markupsetnoligaturesquoteleft % Allow an option to not replace quotes with a regular directed right % quote/apostrophe (char 0x27), but instead use the undirected quote % from cmtt (char 0x0d). The undirected quote is ugly, so don't make it % the default, but it works for pasting with more pdf viewers (at least % evince), the lilypond developers report. xpdf does work with the % regular 0x27. % \def\codequoteright{% \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax '% \else \char'15 \fi \else \char'15 \fi } % % and a similar option for the left quote char vs. a grave accent. % Modern fonts display ASCII 0x60 as a grave accent, so some people like % the code environments to do likewise. % \def\codequoteleft{% \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax % [Knuth] pp. 380,381,391 % \relax disables Spanish ligatures ?` and !` of \tt font. \relax`% \else \char'22 \fi \else \char'22 \fi } % [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font. \def\noligaturesquoteleft{\relax\lq} % Count depth in font-changes, for error checks \newcount\fontdepth \fontdepth=0 %% Add scribe-like font environments, plus @l for inline lisp (usually sans %% serif) and @ii for TeX italic % \smartitalic{ARG} outputs arg in italics, followed by an italic correction % unless the following character is such as not to need one. \def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else \ptexslash\fi\fi\fi} \def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx} \def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx} % like \smartslanted except unconditionally uses \ttsl. % @var is set to this for defun arguments. \def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} % @cite is like \smartslanted except unconditionally use \sl. We never want % ttsl for book titles, do we? \def\cite#1{{\sl #1}\futurelet\next\smartitalicx} \let\i=\smartitalic \let\slanted=\smartslanted \def\var#1{{\setupmarkupstyle{var}\smartslanted{#1}}} \let\dfn=\smartslanted \let\emph=\smartitalic % Explicit font changes: @r, @sc, undocumented @ii. \def\r#1{{\rm #1}} % roman font \def\sc#1{{\smallcaps#1}} % smallcaps font \def\ii#1{{\it #1}} % italic font % @b, explicit bold. Also @strong. \def\b#1{{\bf #1}} \let\strong=\b % @sansserif, explicit sans. \def\sansserif#1{{\sf #1}} % We can't just use \exhyphenpenalty, because that only has effect at % the end of a paragraph. Restore normal hyphenation at the end of the % group within which \nohyphenation is presumably called. % \def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} \def\restorehyphenation{\hyphenchar\font = `- } % Set sfcode to normal for the chars that usually have another value. % Can't use plain's \frenchspacing because it uses the `\x notation, and % sometimes \x has an active definition that messes things up. % \catcode`@=11 \def\plainfrenchspacing{% \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m \def\endofsentencespacefactor{1000}% for @. and friends } \def\plainnonfrenchspacing{% \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 \def\endofsentencespacefactor{3000}% for @. and friends } \catcode`@=\other \def\endofsentencespacefactor{3000}% default % @t, explicit typewriter. \def\t#1{% {\tt \rawbackslash \plainfrenchspacing #1}% \null } % @samp. \def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}} % definition of @key that produces a lozenge. Doesn't adjust to text size. %\setfont\keyrm\rmshape{8}{1000}{OT1} %\font\keysy=cmsy9 %\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% % \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% % \vbox{\hrule\kern-0.4pt % \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% % \kern-0.4pt\hrule}% % \kern-.06em\raise0.4pt\hbox{\angleright}}}} % definition of @key with no lozenge. If the current font is already % monospace, don't change it; that way, we respect @kbdinputstyle. But % if it isn't monospace, then use \tt. % \def\key#1{{\setupmarkupstyle{key} \nohyphenation \ifmonospace\else\tt\fi #1}\null} % ctrl is no longer a Texinfo command. \def\ctrl #1{{\tt \rawbackslash \hat}#1} % @file, @option are the same as @samp. \let\file=\samp \let\option=\samp % @code is a modification of @t, % which makes spaces the same size as normal in the surrounding text. \def\tclose#1{% {% % Change normal interword space to be same as for the current font. \spaceskip = \fontdimen2\font % % Switch to typewriter. \tt % % But `\ ' produces the large typewriter interword space. \def\ {{\spaceskip = 0pt{} }}% % % Turn off hyphenation. \nohyphenation % \rawbackslash \plainfrenchspacing #1% }% \null } % We *must* turn on hyphenation at `-' and `_' in @code. % Otherwise, it is too hard to avoid overfull hboxes % in the Emacs manual, the Library manual, etc. % Unfortunately, TeX uses one parameter (\hyphenchar) to control % both hyphenation at - and hyphenation within words. % We must therefore turn them both off (\tclose does that) % and arrange explicitly to hyphenate at a dash. % -- rms. { \catcode`\-=\active \catcode`\_=\active \catcode`\'=\active \catcode`\`=\active \global\let'=\rq \global\let`=\lq % default definitions % \global\def\code{\begingroup \setupmarkupstyle{code}% % The following should really be moved into \setupmarkupstyle handlers. \catcode\dashChar=\active \catcode\underChar=\active \ifallowcodebreaks \let-\codedash \let_\codeunder \else \let-\realdash \let_\realunder \fi \codex } } \def\realdash{-} \def\codedash{-\discretionary{}{}{}} \def\codeunder{% % this is all so @math{@code{var_name}+1} can work. In math mode, _ % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) % will therefore expand the active definition of _, which is us % (inside @code that is), therefore an endless loop. \ifusingtt{\ifmmode \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_. \else\normalunderscore \fi \discretionary{}{}{}}% {\_}% } \def\codex #1{\tclose{#1}\endgroup} % An additional complication: the above will allow breaks after, e.g., % each of the four underscores in __typeof__. This is undesirable in % some manuals, especially if they don't have long identifiers in % general. @allowcodebreaks provides a way to control this. % \newif\ifallowcodebreaks \allowcodebreakstrue \def\keywordtrue{true} \def\keywordfalse{false} \parseargdef\allowcodebreaks{% \def\txiarg{#1}% \ifx\txiarg\keywordtrue \allowcodebreakstrue \else\ifx\txiarg\keywordfalse \allowcodebreaksfalse \else \errhelp = \EMsimple \errmessage{Unknown @allowcodebreaks option `\txiarg'}% \fi\fi } % @kbd is like @code, except that if the argument is just one @key command, % then @kbd has no effect. \def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}} % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), % or `code' (@kbd uses normal tty font always). \parseargdef\kbdinputstyle{% \def\txiarg{#1}% \ifx\txiarg\worddistinct \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% \else\ifx\txiarg\wordexample \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% \else\ifx\txiarg\wordcode \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% \else \errhelp = \EMsimple \errmessage{Unknown @kbdinputstyle option `\txiarg'}% \fi\fi\fi } \def\worddistinct{distinct} \def\wordexample{example} \def\wordcode{code} % Default is `distinct'. \kbdinputstyle distinct \def\xkey{\key} \def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% \ifx\one\xkey\ifx\threex\three \key{#2}% \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi} % For @indicateurl, @env, @command quotes seem unnecessary, so use \code. \let\indicateurl=\code \let\env=\code \let\command=\code % @clicksequence{File @click{} Open ...} \def\clicksequence#1{\begingroup #1\endgroup} % @clickstyle @arrow (by default) \parseargdef\clickstyle{\def\click{#1}} \def\click{\arrow} % @uref (abbreviation for `urlref') takes an optional (comma-separated) % second argument specifying the text to display and an optional third % arg as text to display instead of (rather than in addition to) the url % itself. First (mandatory) arg is the url. Perhaps eventually put in % a hypertex \special here. % \def\uref#1{\douref #1,,,\finish} \def\douref#1,#2,#3,#4\finish{\begingroup \unsepspaces \pdfurl{#1}% \setbox0 = \hbox{\ignorespaces #3}% \ifdim\wd0 > 0pt \unhbox0 % third arg given, show only that \else \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \ifpdf \unhbox0 % PDF: 2nd arg given, show only it \else \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url \fi \else \code{#1}% only url given, so show it \fi \fi \endlink \endgroup} % @url synonym for @uref, since that's how everyone uses it. % \let\url=\uref % rms does not like angle brackets --karl, 17may97. % So now @email is just like @uref, unless we are pdf. % %\def\email#1{\angleleft{\tt #1}\angleright} \ifpdf \def\email#1{\doemail#1,,\finish} \def\doemail#1,#2,#3\finish{\begingroup \unsepspaces \pdfurl{mailto:#1}% \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi \endlink \endgroup} \else \let\email=\uref \fi % Typeset a dimension, e.g., `in' or `pt'. The only reason for the % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. % \def\dmn#1{\thinspace #1} % @l was never documented to mean ``switch to the Lisp font'', % and it is not used as such in any manual I can find. We need it for % Polish suppressed-l. --karl, 22sep96. %\def\l#1{{\li #1}\null} % @acronym for "FBI", "NATO", and the like. % We print this one point size smaller, since it's intended for % all-uppercase. % \def\acronym#1{\doacronym #1,,\finish} \def\doacronym#1,#2,#3\finish{% {\selectfonts\lsize #1}% \def\temp{#2}% \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi } % @abbr for "Comput. J." and the like. % No font change, but don't do end-of-sentence spacing. % \def\abbr#1{\doabbr #1,,\finish} \def\doabbr#1,#2,#3\finish{% {\plainfrenchspacing #1}% \def\temp{#2}% \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi } \message{glyphs,} % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. % % Since these characters are used in examples, they should be an even number of % \tt widths. Each \tt character is 1en, so two makes it 1em. % \def\point{$\star$} \def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}} \def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} \def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}} \def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} \def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}} % The @error{} command. % Adapted from the TeXbook's \boxit. % \newbox\errorbox % {\tentt \global\dimen0 = 3em}% Width of the box. \dimen2 = .55pt % Thickness of rules % The text. (`r' is open on the right, `e' somewhat less so on the left.) \setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} % \setbox\errorbox=\hbox to \dimen0{\hfil \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. \advance\hsize by -2\dimen2 % Rules. \vbox{% \hrule height\dimen2 \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. \kern3pt\vrule width\dimen2}% Space to right. \hrule height\dimen2} \hfil} % \def\error{\leavevmode\lower.7ex\copy\errorbox} % @pounds{} is a sterling sign, which Knuth put in the CM italic font. % \def\pounds{{\it\$}} % @euro{} comes from a separate font, depending on the current style. % We use the free feym* fonts from the eurosym package by Henrik % Theiling, which support regular, slanted, bold and bold slanted (and % "outlined" (blackboard board, sort of) versions, which we don't need). % It is available from http://www.ctan.org/tex-archive/fonts/eurosym. % % Although only regular is the truly official Euro symbol, we ignore % that. The Euro is designed to be slightly taller than the regular % font height. % % feymr - regular % feymo - slanted % feybr - bold % feybo - bold slanted % % There is no good (free) typewriter version, to my knowledge. % A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. % Hmm. % % Also doesn't work in math. Do we need to do math with euro symbols? % Hope not. % % \def\euro{{\eurofont e}} \def\eurofont{% % We set the font at each command, rather than predefining it in % \textfonts and the other font-switching commands, so that % installations which never need the symbol don't have to have the % font installed. % % There is only one designed size (nominal 10pt), so we always scale % that to the current nominal size. % % By the way, simply using "at 1em" works for cmr10 and the like, but % does not work for cmbx10 and other extended/shrunken fonts. % \def\eurosize{\csname\curfontsize nominalsize\endcsname}% % \ifx\curfontstyle\bfstylename % bold: \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize \else % regular: \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize \fi \thiseurofont } % Hacks for glyphs from the EC fonts similar to \euro. We don't % use \let for the aliases, because sometimes we redefine the original % macro, and the alias should reflect the redefinition. \def\guillemetleft{{\ecfont \char"13}} \def\guillemotleft{\guillemetleft} \def\guillemetright{{\ecfont \char"14}} \def\guillemotright{\guillemetright} \def\guilsinglleft{{\ecfont \char"0E}} \def\guilsinglright{{\ecfont \char"0F}} \def\quotedblbase{{\ecfont \char"12}} \def\quotesinglbase{{\ecfont \char"0D}} % % This positioning is not perfect (see the ogonek LaTeX package), but % we have the precomposed glyphs for the most common cases. We put the % tests to use those glyphs in the single \ogonek macro so we have fewer % dummy definitions to worry about for index entries, etc. % % ogonek is also used with other letters in Lithuanian (IOU), but using % the precomposed glyphs for those is not so easy since they aren't in % the same EC font. \def\ogonek#1{{% \def\temp{#1}% \ifx\temp\macrocharA\Aogonek \else\ifx\temp\macrochara\aogonek \else\ifx\temp\macrocharE\Eogonek \else\ifx\temp\macrochare\eogonek \else \ecfont \setbox0=\hbox{#1}% \ifdim\ht0=1ex\accent"0C #1% \else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}% \fi \fi\fi\fi\fi }% } \def\Aogonek{{\ecfont \char"81}}\def\macrocharA{A} \def\aogonek{{\ecfont \char"A1}}\def\macrochara{a} \def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E} \def\eogonek{{\ecfont \char"A6}}\def\macrochare{e} % \def\ecfont{% % We can't distinguish serif/sans and italic/slanted, but this % is used for crude hacks anyway (like adding French and German % quotes to documents typeset with CM, where we lose kerning), so % hopefully nobody will notice/care. \edef\ecsize{\csname\curfontsize ecsize\endcsname}% \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% \ifx\curfontstyle\bfstylename % bold: \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize \else % regular: \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize \fi \thisecfont } % @registeredsymbol - R in a circle. The font for the R should really % be smaller yet, but lllsize is the best we can do for now. % Adapted from the plain.tex definition of \copyright. % \def\registeredsymbol{% $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}% \hfil\crcr\Orb}}% }$% } % @textdegree - the normal degrees sign. % \def\textdegree{$^\circ$} % Laurent Siebenmann reports \Orb undefined with: % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 % so we'll define it if necessary. % \ifx\Orb\undefined \def\Orb{\mathhexbox20D} \fi % Quotes. \chardef\quotedblleft="5C \chardef\quotedblright=`\" \chardef\quoteleft=`\` \chardef\quoteright=`\' \message{page headings,} \newskip\titlepagetopglue \titlepagetopglue = 1.5in \newskip\titlepagebottomglue \titlepagebottomglue = 2pc % First the title page. Must do @settitle before @titlepage. \newif\ifseenauthor \newif\iffinishedtitlepage % Do an implicit @contents or @shortcontents after @end titlepage if the % user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage. % \newif\ifsetcontentsaftertitlepage \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue \newif\ifsetshortcontentsaftertitlepage \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue \parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% \endgroup\page\hbox{}\page} \envdef\titlepage{% % Open one extra group, as we want to close it in the middle of \Etitlepage. \begingroup \parindent=0pt \textfonts % Leave some space at the very top of the page. \vglue\titlepagetopglue % No rule at page bottom unless we print one at the top with @title. \finishedtitlepagetrue % % Most title ``pages'' are actually two pages long, with space % at the top of the second. We don't want the ragged left on the second. \let\oldpage = \page \def\page{% \iffinishedtitlepage\else \finishtitlepage \fi \let\page = \oldpage \page \null }% } \def\Etitlepage{% \iffinishedtitlepage\else \finishtitlepage \fi % It is important to do the page break before ending the group, % because the headline and footline are only empty inside the group. % If we use the new definition of \page, we always get a blank page % after the title page, which we certainly don't want. \oldpage \endgroup % % Need this before the \...aftertitlepage checks so that if they are % in effect the toc pages will come out with page numbers. \HEADINGSon % % If they want short, they certainly want long too. \ifsetshortcontentsaftertitlepage \shortcontents \contents \global\let\shortcontents = \relax \global\let\contents = \relax \fi % \ifsetcontentsaftertitlepage \contents \global\let\contents = \relax \global\let\shortcontents = \relax \fi } \def\finishtitlepage{% \vskip4pt \hrule height 2pt width \hsize \vskip\titlepagebottomglue \finishedtitlepagetrue } %%% Macros to be used within @titlepage: \let\subtitlerm=\tenrm \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} \parseargdef\title{% \checkenv\titlepage \leftline{\titlefonts\rmisbold #1} % print a rule at the page bottom also. \finishedtitlepagefalse \vskip4pt \hrule height 4pt width \hsize \vskip4pt } \parseargdef\subtitle{% \checkenv\titlepage {\subtitlefont \rightline{#1}}% } % @author should come last, but may come many times. % It can also be used inside @quotation. % \parseargdef\author{% \def\temp{\quotation}% \ifx\thisenv\temp \def\quotationauthor{#1}% printed in \Equotation. \else \checkenv\titlepage \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi {\secfonts\rmisbold \leftline{#1}}% \fi } %%% Set up page headings and footings. \let\thispage=\folio \newtoks\evenheadline % headline on even pages \newtoks\oddheadline % headline on odd pages \newtoks\evenfootline % footline on even pages \newtoks\oddfootline % footline on odd pages % Now make TeX use those variables \headline={{\textfonts\rm \ifodd\pageno \the\oddheadline \else \the\evenheadline \fi}} \footline={{\textfonts\rm \ifodd\pageno \the\oddfootline \else \the\evenfootline \fi}\HEADINGShook} \let\HEADINGShook=\relax % Commands to set those variables. % For example, this is what @headings on does % @evenheading @thistitle|@thispage|@thischapter % @oddheading @thischapter|@thispage|@thistitle % @evenfooting @thisfile|| % @oddfooting ||@thisfile \def\evenheading{\parsearg\evenheadingxxx} \def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} \def\evenheadingyyy #1\|#2\|#3\|#4\finish{% \global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \def\oddheading{\parsearg\oddheadingxxx} \def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} \def\oddheadingyyy #1\|#2\|#3\|#4\finish{% \global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% \def\evenfooting{\parsearg\evenfootingxxx} \def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish} \def\evenfootingyyy #1\|#2\|#3\|#4\finish{% \global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \def\oddfooting{\parsearg\oddfootingxxx} \def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish} \def\oddfootingyyy #1\|#2\|#3\|#4\finish{% \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% % % Leave some space for the footline. Hopefully ok to assume % @evenfooting will not be used by itself. \global\advance\pageheight by -12pt \global\advance\vsize by -12pt } \parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} % @evenheadingmarks top \thischapter <- chapter at the top of a page % @evenheadingmarks bottom \thischapter <- chapter at the bottom of a page % % The same set of arguments for: % % @oddheadingmarks % @evenfootingmarks % @oddfootingmarks % @everyheadingmarks % @everyfootingmarks \def\evenheadingmarks{\headingmarks{even}{heading}} \def\oddheadingmarks{\headingmarks{odd}{heading}} \def\evenfootingmarks{\headingmarks{even}{footing}} \def\oddfootingmarks{\headingmarks{odd}{footing}} \def\everyheadingmarks#1 {\headingmarks{even}{heading}{#1} \headingmarks{odd}{heading}{#1} } \def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1} \headingmarks{odd}{footing}{#1} } % #1 = even/odd, #2 = heading/footing, #3 = top/bottom. \def\headingmarks#1#2#3 {% \expandafter\let\expandafter\temp \csname get#3headingmarks\endcsname \global\expandafter\let\csname get#1#2marks\endcsname \temp } \everyheadingmarks bottom \everyfootingmarks bottom % @headings double turns headings on for double-sided printing. % @headings single turns headings on for single-sided printing. % @headings off turns them off. % @headings on same as @headings double, retained for compatibility. % @headings after turns on double-sided headings after this page. % @headings doubleafter turns on double-sided headings after this page. % @headings singleafter turns on single-sided headings after this page. % By default, they are off at the start of a document, % and turned `on' after @end titlepage. \def\headings #1 {\csname HEADINGS#1\endcsname} \def\HEADINGSoff{% \global\evenheadline={\hfil} \global\evenfootline={\hfil} \global\oddheadline={\hfil} \global\oddfootline={\hfil}} \HEADINGSoff % When we turn headings on, set the page number to 1. % For double-sided printing, put current file name in lower left corner, % chapter name on inside top of right hand pages, document % title on inside top of left hand pages, and page numbers on outside top % edge of all pages. \def\HEADINGSdouble{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } \let\contentsalignmacro = \chappager % For single-sided printing, chapter title goes across top left of page, % page number on top right. \def\HEADINGSsingle{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\thischapter\hfil\folio}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chappager } \def\HEADINGSon{\HEADINGSdouble} \def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex} \let\HEADINGSdoubleafter=\HEADINGSafter \def\HEADINGSdoublex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } \def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex} \def\HEADINGSsinglex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\thischapter\hfil\folio}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chappager } % Subroutines used in generating headings % This produces Day Month Year style of output. % Only define if not already defined, in case a txi-??.tex file has set % up a different format (e.g., txi-cs.tex does this). \ifx\today\undefined \def\today{% \number\day\space \ifcase\month \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec \fi \space\number\year} \fi % @settitle line... specifies the title of the document, for headings. % It generates no output of its own. \def\thistitle{\putwordNoTitle} \def\settitle{\parsearg{\gdef\thistitle}} \message{tables,} % Tables -- @table, @ftable, @vtable, @item(x). % default indentation of table text \newdimen\tableindent \tableindent=.8in % default indentation of @itemize and @enumerate text \newdimen\itemindent \itemindent=.3in % margin between end of table item and start of table text. \newdimen\itemmargin \itemmargin=.1in % used internally for \itemindent minus \itemmargin \newdimen\itemmax % Note @table, @ftable, and @vtable define @item, @itemx, etc., with % these defs. % They also define \itemindex % to index the item name in whatever manner is desired (perhaps none). \newif\ifitemxneedsnegativevskip \def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi} \def\internalBitem{\smallbreak \parsearg\itemzzz} \def\internalBitemx{\itemxpar \parsearg\itemzzz} \def\itemzzz #1{\begingroup % \advance\hsize by -\rightskip \advance\hsize by -\tableindent \setbox0=\hbox{\itemindicate{#1}}% \itemindex{#1}% \nobreak % This prevents a break before @itemx. % % If the item text does not fit in the space we have, put it on a line % by itself, and do not allow a page break either before or after that % line. We do not start a paragraph here because then if the next % command is, e.g., @kindex, the whatsit would get put into the % horizontal list on a line by itself, resulting in extra blank space. \ifdim \wd0>\itemmax % % Make this a paragraph so we get the \parskip glue and wrapping, % but leave it ragged-right. \begingroup \advance\leftskip by-\tableindent \advance\hsize by\tableindent \advance\rightskip by0pt plus1fil \leavevmode\unhbox0\par \endgroup % % We're going to be starting a paragraph, but we don't want the % \parskip glue -- logically it's part of the @item we just started. \nobreak \vskip-\parskip % % Stop a page break at the \parskip glue coming up. However, if % what follows is an environment such as @example, there will be no % \parskip glue; then the negative vskip we just inserted would % cause the example and the item to crash together. So we use this % bizarre value of 10001 as a signal to \aboveenvbreak to insert % \parskip glue after all. Section titles are handled this way also. % \penalty 10001 \endgroup \itemxneedsnegativevskipfalse \else % The item text fits into the space. Start a paragraph, so that the % following text (if any) will end up on the same line. \noindent % Do this with kerns and \unhbox so that if there is a footnote in % the item text, it can migrate to the main vertical list and % eventually be printed. \nobreak\kern-\tableindent \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0 \unhbox0 \nobreak\kern\dimen0 \endgroup \itemxneedsnegativevskiptrue \fi } \def\item{\errmessage{@item while not in a list environment}} \def\itemx{\errmessage{@itemx while not in a list environment}} % @table, @ftable, @vtable. \envdef\table{% \let\itemindex\gobble \tablecheck{table}% } \envdef\ftable{% \def\itemindex ##1{\doind {fn}{\code{##1}}}% \tablecheck{ftable}% } \envdef\vtable{% \def\itemindex ##1{\doind {vr}{\code{##1}}}% \tablecheck{vtable}% } \def\tablecheck#1{% \ifnum \the\catcode`\^^M=\active \endgroup \errmessage{This command won't work in this context; perhaps the problem is that we are \inenvironment\thisenv}% \def\next{\doignore{#1}}% \else \let\next\tablex \fi \next } \def\tablex#1{% \def\itemindicate{#1}% \parsearg\tabley } \def\tabley#1{% {% \makevalueexpandable \edef\temp{\noexpand\tablez #1\space\space\space}% \expandafter }\temp \endtablez } \def\tablez #1 #2 #3 #4\endtablez{% \aboveenvbreak \ifnum 0#1>0 \advance \leftskip by #1\mil \fi \ifnum 0#2>0 \tableindent=#2\mil \fi \ifnum 0#3>0 \advance \rightskip by #3\mil \fi \itemmax=\tableindent \advance \itemmax by -\itemmargin \advance \leftskip by \tableindent \exdentamount=\tableindent \parindent = 0pt \parskip = \smallskipamount \ifdim \parskip=0pt \parskip=2pt \fi \let\item = \internalBitem \let\itemx = \internalBitemx } \def\Etable{\endgraf\afterenvbreak} \let\Eftable\Etable \let\Evtable\Etable \let\Eitemize\Etable \let\Eenumerate\Etable % This is the counter used by @enumerate, which is really @itemize \newcount \itemno \envdef\itemize{\parsearg\doitemize} \def\doitemize#1{% \aboveenvbreak \itemmax=\itemindent \advance\itemmax by -\itemmargin \advance\leftskip by \itemindent \exdentamount=\itemindent \parindent=0pt \parskip=\smallskipamount \ifdim\parskip=0pt \parskip=2pt \fi \def\itemcontents{#1}% % @itemize with no arg is equivalent to @itemize @bullet. \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi \let\item=\itemizeitem } % Definition of @item while inside @itemize and @enumerate. % \def\itemizeitem{% \advance\itemno by 1 % for enumerations {\let\par=\endgraf \smallbreak}% reasonable place to break {% % If the document has an @itemize directly after a section title, a % \nobreak will be last on the list, and \sectionheading will have % done a \vskip-\parskip. In that case, we don't want to zero % parskip, or the item text will crash with the heading. On the % other hand, when there is normal text preceding the item (as there % usually is), we do want to zero parskip, or there would be too much % space. In that case, we won't have a \nobreak before. At least % that's the theory. \ifnum\lastpenalty<10000 \parskip=0in \fi \noindent \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% \vadjust{\penalty 1200}}% not good to break after first line of item. \flushcr } % \splitoff TOKENS\endmark defines \first to be the first token in % TOKENS, and \rest to be the remainder. % \def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}% % Allow an optional argument of an uppercase letter, lowercase letter, % or number, to specify the first label in the enumerated list. No % argument is the same as `1'. % \envparseargdef\enumerate{\enumeratey #1 \endenumeratey} \def\enumeratey #1 #2\endenumeratey{% % If we were given no argument, pretend we were given `1'. \def\thearg{#1}% \ifx\thearg\empty \def\thearg{1}\fi % % Detect if the argument is a single token. If so, it might be a % letter. Otherwise, the only valid thing it can be is a number. % (We will always have one token, because of the test we just made. % This is a good thing, since \splitoff doesn't work given nothing at % all -- the first parameter is undelimited.) \expandafter\splitoff\thearg\endmark \ifx\rest\empty % Only one token in the argument. It could still be anything. % A ``lowercase letter'' is one whose \lccode is nonzero. % An ``uppercase letter'' is one whose \lccode is both nonzero, and % not equal to itself. % Otherwise, we assume it's a number. % % We need the \relax at the end of the \ifnum lines to stop TeX from % continuing to look for a . % \ifnum\lccode\expandafter`\thearg=0\relax \numericenumerate % a number (we hope) \else % It's a letter. \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax \lowercaseenumerate % lowercase letter \else \uppercaseenumerate % uppercase letter \fi \fi \else % Multiple tokens in the argument. We hope it's a number. \numericenumerate \fi } % An @enumerate whose labels are integers. The starting integer is % given in \thearg. % \def\numericenumerate{% \itemno = \thearg \startenumeration{\the\itemno}% } % The starting (lowercase) letter is in \thearg. \def\lowercaseenumerate{% \itemno = \expandafter`\thearg \startenumeration{% % Be sure we're not beyond the end of the alphabet. \ifnum\itemno=0 \errmessage{No more lowercase letters in @enumerate; get a bigger alphabet}% \fi \char\lccode\itemno }% } % The starting (uppercase) letter is in \thearg. \def\uppercaseenumerate{% \itemno = \expandafter`\thearg \startenumeration{% % Be sure we're not beyond the end of the alphabet. \ifnum\itemno=0 \errmessage{No more uppercase letters in @enumerate; get a bigger alphabet} \fi \char\uccode\itemno }% } % Call \doitemize, adding a period to the first argument and supplying the % common last two arguments. Also subtract one from the initial value in % \itemno, since @item increments \itemno. % \def\startenumeration#1{% \advance\itemno by -1 \doitemize{#1.}\flushcr } % @alphaenumerate and @capsenumerate are abbreviations for giving an arg % to @enumerate. % \def\alphaenumerate{\enumerate{a}} \def\capsenumerate{\enumerate{A}} \def\Ealphaenumerate{\Eenumerate} \def\Ecapsenumerate{\Eenumerate} % @multitable macros % Amy Hendrickson, 8/18/94, 3/6/96 % % @multitable ... @end multitable will make as many columns as desired. % Contents of each column will wrap at width given in preamble. Width % can be specified either with sample text given in a template line, % or in percent of \hsize, the current width of text on page. % Table can continue over pages but will only break between lines. % To make preamble: % % Either define widths of columns in terms of percent of \hsize: % @multitable @columnfractions .25 .3 .45 % @item ... % % Numbers following @columnfractions are the percent of the total % current hsize to be used for each column. You may use as many % columns as desired. % Or use a template: % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item ... % using the widest term desired in each column. % Each new table line starts with @item, each subsequent new column % starts with @tab. Empty columns may be produced by supplying @tab's % with nothing between them for as many times as empty columns are needed, % ie, @tab@tab@tab will produce two empty columns. % @item, @tab do not need to be on their own lines, but it will not hurt % if they are. % Sample multitable: % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item first col stuff @tab second col stuff @tab third col % @item % first col stuff % @tab % second col stuff % @tab % third col % @item first col stuff @tab second col stuff % @tab Many paragraphs of text may be used in any column. % % They will wrap at the width determined by the template. % @item@tab@tab This will be in third column. % @end multitable % Default dimensions may be reset by user. % @multitableparskip is vertical space between paragraphs in table. % @multitableparindent is paragraph indent in table. % @multitablecolmargin is horizontal space to be left between columns. % @multitablelinespace is space to leave between table items, baseline % to baseline. % 0pt means it depends on current normal line spacing. % \newskip\multitableparskip \newskip\multitableparindent \newdimen\multitablecolspace \newskip\multitablelinespace \multitableparskip=0pt \multitableparindent=6pt \multitablecolspace=12pt \multitablelinespace=0pt % Macros used to set up halign preamble: % \let\endsetuptable\relax \def\xendsetuptable{\endsetuptable} \let\columnfractions\relax \def\xcolumnfractions{\columnfractions} \newif\ifsetpercent % #1 is the @columnfraction, usually a decimal number like .5, but might % be just 1. We just use it, whatever it is. % \def\pickupwholefraction#1 {% \global\advance\colcount by 1 \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}% \setuptable } \newcount\colcount \def\setuptable#1{% \def\firstarg{#1}% \ifx\firstarg\xendsetuptable \let\go = \relax \else \ifx\firstarg\xcolumnfractions \global\setpercenttrue \else \ifsetpercent \let\go\pickupwholefraction \else \global\advance\colcount by 1 \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a % separator; typically that is always in the input, anyway. \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% \fi \fi \ifx\go\pickupwholefraction % Put the argument back for the \pickupwholefraction call, so % we'll always have a period there to be parsed. \def\go{\pickupwholefraction#1}% \else \let\go = \setuptable \fi% \fi \go } % multitable-only commands. % % @headitem starts a heading row, which we typeset in bold. % Assignments have to be global since we are inside the implicit group % of an alignment entry. Note that \everycr resets \everytab. \def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}% % % A \tab used to include \hskip1sp. But then the space in a template % line is not enough. That is bad. So let's go back to just `&' until % we encounter the problem it was intended to solve again. % --karl, nathan@acm.org, 20apr99. \def\tab{\checkenv\multitable &\the\everytab}% % @multitable ... @end multitable definitions: % \newtoks\everytab % insert after every tab. % \envdef\multitable{% \vskip\parskip \startsavinginserts % % @item within a multitable starts a normal row. % We use \def instead of \let so that if one of the multitable entries % contains an @itemize, we don't choke on the \item (seen as \crcr aka % \endtemplate) expanding \doitemize. \def\item{\crcr}% % \tolerance=9500 \hbadness=9500 \setmultitablespacing \parskip=\multitableparskip \parindent=\multitableparindent \overfullrule=0pt \global\colcount=0 % \everycr = {% \noalign{% \global\everytab={}% \global\colcount=0 % Reset the column counter. % Check for saved footnotes, etc. \checkinserts % Keeps underfull box messages off when table breaks over pages. %\filbreak % Maybe so, but it also creates really weird page breaks when the % table breaks over pages. Wouldn't \vfil be better? Wait until the % problem manifests itself, so it can be fixed for real --karl. }% }% % \parsearg\domultitable } \def\domultitable#1{% % To parse everything between @multitable and @item: \setuptable#1 \endsetuptable % % This preamble sets up a generic column definition, which will % be used as many times as user calls for columns. % \vtop will set a single line and will also let text wrap and % continue for many paragraphs if desired. \halign\bgroup &% \global\advance\colcount by 1 \multistrut \vtop{% % Use the current \colcount to find the correct column width: \hsize=\expandafter\csname col\the\colcount\endcsname % % In order to keep entries from bumping into each other % we will add a \leftskip of \multitablecolspace to all columns after % the first one. % % If a template has been used, we will add \multitablecolspace % to the width of each template entry. % % If the user has set preamble in terms of percent of \hsize we will % use that dimension as the width of the column, and the \leftskip % will keep entries from bumping into each other. Table will start at % left margin and final column will justify at right margin. % % Make sure we don't inherit \rightskip from the outer environment. \rightskip=0pt \ifnum\colcount=1 % The first column will be indented with the surrounding text. \advance\hsize by\leftskip \else \ifsetpercent \else % If user has not set preamble in terms of percent of \hsize % we will advance \hsize by \multitablecolspace. \advance\hsize by \multitablecolspace \fi % In either case we will make \leftskip=\multitablecolspace: \leftskip=\multitablecolspace \fi % Ignoring space at the beginning and end avoids an occasional spurious % blank line, when TeX decides to break the line at the space before the % box from the multistrut, so the strut ends up on a line by itself. % For example: % @multitable @columnfractions .11 .89 % @item @code{#} % @tab Legal holiday which is valid in major parts of the whole country. % Is automatically provided with highlighting sequences respectively % marking characters. \noindent\ignorespaces##\unskip\multistrut }\cr } \def\Emultitable{% \crcr \egroup % end the \halign \global\setpercentfalse } \def\setmultitablespacing{% \def\multistrut{\strut}% just use the standard line spacing % % Compute \multitablelinespace (if not defined by user) for use in % \multitableparskip calculation. We used define \multistrut based on % this, but (ironically) that caused the spacing to be off. % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. \ifdim\multitablelinespace=0pt \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip \global\advance\multitablelinespace by-\ht0 \fi %% Test to see if parskip is larger than space between lines of %% table. If not, do nothing. %% If so, set to same dimension as multitablelinespace. \ifdim\multitableparskip>\multitablelinespace \global\multitableparskip=\multitablelinespace \global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller %% than skip between lines in the table. \fi% \ifdim\multitableparskip=0pt \global\multitableparskip=\multitablelinespace \global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller %% than skip between lines in the table. \fi} \message{conditionals,} % @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, % @ifnotxml always succeed. They currently do nothing; we don't % attempt to check whether the conditionals are properly nested. But we % have to remember that they are conditionals, so that @end doesn't % attempt to close an environment group. % \def\makecond#1{% \expandafter\let\csname #1\endcsname = \relax \expandafter\let\csname iscond.#1\endcsname = 1 } \makecond{iftex} \makecond{ifnotdocbook} \makecond{ifnothtml} \makecond{ifnotinfo} \makecond{ifnotplaintext} \makecond{ifnotxml} % Ignore @ignore, @ifhtml, @ifinfo, and the like. % \def\direntry{\doignore{direntry}} \def\documentdescription{\doignore{documentdescription}} \def\docbook{\doignore{docbook}} \def\html{\doignore{html}} \def\ifdocbook{\doignore{ifdocbook}} \def\ifhtml{\doignore{ifhtml}} \def\ifinfo{\doignore{ifinfo}} \def\ifnottex{\doignore{ifnottex}} \def\ifplaintext{\doignore{ifplaintext}} \def\ifxml{\doignore{ifxml}} \def\ignore{\doignore{ignore}} \def\menu{\doignore{menu}} \def\xml{\doignore{xml}} % Ignore text until a line `@end #1', keeping track of nested conditionals. % % A count to remember the depth of nesting. \newcount\doignorecount \def\doignore#1{\begingroup % Scan in ``verbatim'' mode: \obeylines \catcode`\@ = \other \catcode`\{ = \other \catcode`\} = \other % % Make sure that spaces turn into tokens that match what \doignoretext wants. \spaceisspace % % Count number of #1's that we've seen. \doignorecount = 0 % % Swallow text until we reach the matching `@end #1'. \dodoignore{#1}% } { \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source. \obeylines % % \gdef\dodoignore#1{% % #1 contains the command name as a string, e.g., `ifinfo'. % % Define a command to find the next `@end #1'. \long\def\doignoretext##1^^M@end #1{% \doignoretextyyy##1^^M@#1\_STOP_}% % % And this command to find another #1 command, at the beginning of a % line. (Otherwise, we would consider a line `@c @ifset', for % example, to count as an @ifset for nesting.) \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% % % And now expand that command. \doignoretext ^^M% }% } \def\doignoreyyy#1{% \def\temp{#1}% \ifx\temp\empty % Nothing found. \let\next\doignoretextzzz \else % Found a nested condition, ... \advance\doignorecount by 1 \let\next\doignoretextyyy % ..., look for another. % If we're here, #1 ends with ^^M\ifinfo (for example). \fi \next #1% the token \_STOP_ is present just after this macro. } % We have to swallow the remaining "\_STOP_". % \def\doignoretextzzz#1{% \ifnum\doignorecount = 0 % We have just found the outermost @end. \let\next\enddoignore \else % Still inside a nested condition. \advance\doignorecount by -1 \let\next\doignoretext % Look for the next @end. \fi \next } % Finish off ignored text. { \obeylines% % Ignore anything after the last `@end #1'; this matters in verbatim % environments, where otherwise the newline after an ignored conditional % would result in a blank line in the output. \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% } % @set VAR sets the variable VAR to an empty value. % @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. % % Since we want to separate VAR from REST-OF-LINE (which might be % empty), we can't just use \parsearg; we have to insert a space of our % own to delimit the rest of the line, and then take it out again if we % didn't need it. % We rely on the fact that \parsearg sets \catcode`\ =10. % \parseargdef\set{\setyyy#1 \endsetyyy} \def\setyyy#1 #2\endsetyyy{% {% \makevalueexpandable \def\temp{#2}% \edef\next{\gdef\makecsname{SET#1}}% \ifx\temp\empty \next{}% \else \setzzz#2\endsetzzz \fi }% } % Remove the trailing space \setxxx inserted. \def\setzzz#1 \endsetzzz{\next{#1}} % @clear VAR clears (i.e., unsets) the variable VAR. % \parseargdef\clear{% {% \makevalueexpandable \global\expandafter\let\csname SET#1\endcsname=\relax }% } % @value{foo} gets the text saved in variable foo. \def\value{\begingroup\makevalueexpandable\valuexxx} \def\valuexxx#1{\expandablevalue{#1}\endgroup} { \catcode`\- = \active \catcode`\_ = \active % \gdef\makevalueexpandable{% \let\value = \expandablevalue % We don't want these characters active, ... \catcode`\-=\other \catcode`\_=\other % ..., but we might end up with active ones in the argument if % we're called from @code, as @code{@value{foo-bar_}}, though. % So \let them to their normal equivalents. \let-\realdash \let_\normalunderscore } } % We have this subroutine so that we can handle at least some @value's % properly in indexes (we call \makevalueexpandable in \indexdummies). % The command has to be fully expandable (if the variable is set), since % the result winds up in the index file. This means that if the % variable's value contains other Texinfo commands, it's almost certain % it will fail (although perhaps we could fix that with sufficient work % to do a one-level expansion on the result, instead of complete). % \def\expandablevalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax {[No value for ``#1'']}% \message{Variable `#1', used in @value, is not set.}% \else \csname SET#1\endcsname \fi } % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined % with @set. % % To get special treatment of `@end ifset,' call \makeond and the redefine. % \makecond{ifset} \def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} \def\doifset#1#2{% {% \makevalueexpandable \let\next=\empty \expandafter\ifx\csname SET#2\endcsname\relax #1% If not set, redefine \next. \fi \expandafter }\next } \def\ifsetfail{\doignore{ifset}} % @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been % defined with @set, or has been undefined with @clear. % % The `\else' inside the `\doifset' parameter is a trick to reuse the % above code: if the variable is not set, do nothing, if it is set, % then redefine \next to \ifclearfail. % \makecond{ifclear} \def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} \def\ifclearfail{\doignore{ifclear}} % @dircategory CATEGORY -- specify a category of the dir file % which this file should belong to. Ignore this in TeX. \let\dircategory=\comment % @defininfoenclose. \let\definfoenclose=\comment \message{indexing,} % Index generation facilities % Define \newwrite to be identical to plain tex's \newwrite % except not \outer, so it can be used within macros and \if's. \edef\newwrite{\makecsname{ptexnewwrite}} % \newindex {foo} defines an index named foo. % It automatically defines \fooindex such that % \fooindex ...rest of line... puts an entry in the index foo. % It also defines \fooindfile to be the number of the output channel for % the file that accumulates this index. The file's extension is foo. % The name of an index should be no more than 2 characters long % for the sake of vms. % \def\newindex#1{% \iflinks \expandafter\newwrite \csname#1indfile\endcsname \openout \csname#1indfile\endcsname \jobname.#1 % Open the file \fi \expandafter\xdef\csname#1index\endcsname{% % Define @#1index \noexpand\doindex{#1}} } % @defindex foo == \newindex{foo} % \def\defindex{\parsearg\newindex} % Define @defcodeindex, like @defindex except put all entries in @code. % \def\defcodeindex{\parsearg\newcodeindex} % \def\newcodeindex#1{% \iflinks \expandafter\newwrite \csname#1indfile\endcsname \openout \csname#1indfile\endcsname \jobname.#1 \fi \expandafter\xdef\csname#1index\endcsname{% \noexpand\docodeindex{#1}}% } % @synindex foo bar makes index foo feed into index bar. % Do this instead of @defindex foo if you don't want it as a separate index. % % @syncodeindex foo bar similar, but put all entries made for index foo % inside @code. % \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} % #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), % #3 the target index (bar). \def\dosynindex#1#2#3{% % Only do \closeout if we haven't already done it, else we'll end up % closing the target index. \expandafter \ifx\csname donesynindex#2\endcsname \relax % The \closeout helps reduce unnecessary open files; the limit on the % Acorn RISC OS is a mere 16 files. \expandafter\closeout\csname#2indfile\endcsname \expandafter\let\csname donesynindex#2\endcsname = 1 \fi % redefine \fooindfile: \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname \expandafter\let\csname#2indfile\endcsname=\temp % redefine \fooindex: \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}% } % Define \doindex, the driver for all \fooindex macros. % Argument #1 is generated by the calling \fooindex macro, % and it is "foo", the name of the index. % \doindex just uses \parsearg; it calls \doind for the actual work. % This is because \doind is more useful to call from other macros. % There is also \dosubind {index}{topic}{subtopic} % which makes an entry in a two-level index such as the operation index. \def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer} \def\singleindexer #1{\doind{\indexname}{#1}} % like the previous two, but they put @code around the argument. \def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer} \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} % Take care of Texinfo commands that can appear in an index entry. % Since there are some commands we want to expand, and others we don't, % we have to laboriously prevent expansion for those that we don't. % \def\indexdummies{% \escapechar = `\\ % use backslash in output files. \def\@{@}% change to @@ when we switch to @ as escape char in index files. \def\ {\realbackslash\space }% % % Need these in case \tex is in effect and \{ is a \delimiter again. % But can't use \lbracecmd and \rbracecmd because texindex assumes % braces and backslashes are used only as delimiters. \let\{ = \mylbrace \let\} = \myrbrace % % I don't entirely understand this, but when an index entry is % generated from a macro call, the \endinput which \scanmacro inserts % causes processing to be prematurely terminated. This is, % apparently, because \indexsorttmp is fully expanded, and \endinput % is an expandable command. The redefinition below makes \endinput % disappear altogether for that purpose -- although logging shows that % processing continues to some further point. On the other hand, it % seems \endinput does not hurt in the printed index arg, since that % is still getting written without apparent harm. % % Sample source (mac-idx3.tex, reported by Graham Percival to % help-texinfo, 22may06): % @macro funindex {WORD} % @findex xyz % @end macro % ... % @funindex commtest % % The above is not enough to reproduce the bug, but it gives the flavor. % % Sample whatsit resulting: % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} % % So: \let\endinput = \empty % % Do the redefinitions. \commondummies } % For the aux and toc files, @ is the escape character. So we want to % redefine everything using @ as the escape character (instead of % \realbackslash, still used for index files). When everything uses @, % this will be simpler. % \def\atdummies{% \def\@{@@}% \def\ {@ }% \let\{ = \lbraceatcmd \let\} = \rbraceatcmd % % Do the redefinitions. \commondummies \otherbackslash } % Called from \indexdummies and \atdummies. % \def\commondummies{% % % \definedummyword defines \#1 as \string\#1\space, thus effectively % preventing its expansion. This is used only for control% words, % not control letters, because the \space would be incorrect for % control characters, but is needed to separate the control word % from whatever follows. % % For control letters, we have \definedummyletter, which omits the % space. % % These can be used both for control words that take an argument and % those that do not. If it is followed by {arg} in the input, then % that will dutifully get written to the index (or wherever). % \def\definedummyword ##1{\def##1{\string##1\space}}% \def\definedummyletter##1{\def##1{\string##1}}% \let\definedummyaccent\definedummyletter % \commondummiesnofonts % \definedummyletter\_% % % Non-English letters. \definedummyword\AA \definedummyword\AE \definedummyword\L \definedummyword\OE \definedummyword\O \definedummyword\aa \definedummyword\ae \definedummyword\l \definedummyword\oe \definedummyword\o \definedummyword\ss \definedummyword\exclamdown \definedummyword\questiondown \definedummyword\ordf \definedummyword\ordm % % Although these internal commands shouldn't show up, sometimes they do. \definedummyword\bf \definedummyword\gtr \definedummyword\hat \definedummyword\less \definedummyword\sf \definedummyword\sl \definedummyword\tclose \definedummyword\tt % \definedummyword\LaTeX \definedummyword\TeX % % Assorted special characters. \definedummyword\bullet \definedummyword\comma \definedummyword\copyright \definedummyword\registeredsymbol \definedummyword\dots \definedummyword\enddots \definedummyword\equiv \definedummyword\error \definedummyword\euro \definedummyword\guillemetleft \definedummyword\guillemetright \definedummyword\guilsinglleft \definedummyword\guilsinglright \definedummyword\expansion \definedummyword\minus \definedummyword\ogonek \definedummyword\pounds \definedummyword\point \definedummyword\print \definedummyword\quotedblbase \definedummyword\quotedblleft \definedummyword\quotedblright \definedummyword\quoteleft \definedummyword\quoteright \definedummyword\quotesinglbase \definedummyword\result \definedummyword\textdegree % % We want to disable all macros so that they are not expanded by \write. \macrolist % \normalturnoffactive % % Handle some cases of @value -- where it does not contain any % (non-fully-expandable) commands. \makevalueexpandable } % \commondummiesnofonts: common to \commondummies and \indexnofonts. % \def\commondummiesnofonts{% % Control letters and accents. \definedummyletter\!% \definedummyaccent\"% \definedummyaccent\'% \definedummyletter\*% \definedummyaccent\,% \definedummyletter\.% \definedummyletter\/% \definedummyletter\:% \definedummyaccent\=% \definedummyletter\?% \definedummyaccent\^% \definedummyaccent\`% \definedummyaccent\~% \definedummyword\u \definedummyword\v \definedummyword\H \definedummyword\dotaccent \definedummyword\ogonek \definedummyword\ringaccent \definedummyword\tieaccent \definedummyword\ubaraccent \definedummyword\udotaccent \definedummyword\dotless % % Texinfo font commands. \definedummyword\b \definedummyword\i \definedummyword\r \definedummyword\sc \definedummyword\t % % Commands that take arguments. \definedummyword\acronym \definedummyword\cite \definedummyword\code \definedummyword\command \definedummyword\dfn \definedummyword\emph \definedummyword\env \definedummyword\file \definedummyword\kbd \definedummyword\key \definedummyword\math \definedummyword\option \definedummyword\pxref \definedummyword\ref \definedummyword\samp \definedummyword\strong \definedummyword\tie \definedummyword\uref \definedummyword\url \definedummyword\var \definedummyword\verb \definedummyword\w \definedummyword\xref } % \indexnofonts is used when outputting the strings to sort the index % by, and when constructing control sequence names. It eliminates all % control sequences and just writes whatever the best ASCII sort string % would be for a given command (usually its argument). % \def\indexnofonts{% % Accent commands should become @asis. \def\definedummyaccent##1{\let##1\asis}% % We can just ignore other control letters. \def\definedummyletter##1{\let##1\empty}% % Hopefully, all control words can become @asis. \let\definedummyword\definedummyaccent % \commondummiesnofonts % % Don't no-op \tt, since it isn't a user-level command % and is used in the definitions of the active chars like <, >, |, etc. % Likewise with the other plain tex font commands. %\let\tt=\asis % \def\ { }% \def\@{@}% % how to handle braces? \def\_{\normalunderscore}% % % Non-English letters. \def\AA{AA}% \def\AE{AE}% \def\L{L}% \def\OE{OE}% \def\O{O}% \def\aa{aa}% \def\ae{ae}% \def\l{l}% \def\oe{oe}% \def\o{o}% \def\ss{ss}% \def\exclamdown{!}% \def\questiondown{?}% \def\ordf{a}% \def\ordm{o}% % \def\LaTeX{LaTeX}% \def\TeX{TeX}% % % Assorted special characters. % (The following {} will end up in the sort string, but that's ok.) \def\bullet{bullet}% \def\comma{,}% \def\copyright{copyright}% \def\registeredsymbol{R}% \def\dots{...}% \def\enddots{...}% \def\equiv{==}% \def\error{error}% \def\euro{euro}% \def\guillemetleft{<<}% \def\guillemetright{>>}% \def\guilsinglleft{<}% \def\guilsinglright{>}% \def\expansion{==>}% \def\minus{-}% \def\pounds{pounds}% \def\point{.}% \def\print{-|}% \def\quotedblbase{"}% \def\quotedblleft{"}% \def\quotedblright{"}% \def\quoteleft{`}% \def\quoteright{'}% \def\quotesinglbase{,}% \def\result{=>}% \def\textdegree{degrees}% % % We need to get rid of all macros, leaving only the arguments (if present). % Of course this is not nearly correct, but it is the best we can do for now. % makeinfo does not expand macros in the argument to @deffn, which ends up % writing an index entry, and texindex isn't prepared for an index sort entry % that starts with \. % % Since macro invocations are followed by braces, we can just redefine them % to take a single TeX argument. The case of a macro invocation that % goes to end-of-line is not handled. % \macrolist } \let\indexbackslash=0 %overridden during \printindex. \let\SETmarginindex=\relax % put index entries in margin (undocumented)? % Most index entries go through here, but \dosubind is the general case. % #1 is the index name, #2 is the entry text. \def\doind#1#2{\dosubind{#1}{#2}{}} % Workhorse for all \fooindexes. % #1 is name of index, #2 is stuff to put there, #3 is subentry -- % empty if called from \doind, as we usually are (the main exception % is with most defuns, which call us directly). % \def\dosubind#1#2#3{% \iflinks {% % Store the main index entry text (including the third arg). \toks0 = {#2}% % If third arg is present, precede it with a space. \def\thirdarg{#3}% \ifx\thirdarg\empty \else \toks0 = \expandafter{\the\toks0 \space #3}% \fi % \edef\writeto{\csname#1indfile\endcsname}% % \safewhatsit\dosubindwrite }% \fi } % Write the entry in \toks0 to the index file: % \def\dosubindwrite{% % Put the index entry in the margin if desired. \ifx\SETmarginindex\relax\else \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}% \fi % % Remember, we are within a group. \indexdummies % Must do this here, since \bf, etc expand at this stage \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now % so it will be output as is; and it will print as backslash. % % Process the index entry with all font commands turned off, to % get the string to sort by. {\indexnofonts \edef\temp{\the\toks0}% need full expansion \xdef\indexsorttmp{\temp}% }% % % Set up the complete index entry, with both the sort key and % the original text, including any font commands. We write % three arguments to \entry to the .?? file (four in the % subentry case), texindex reduces to two when writing the .??s % sorted result. \edef\temp{% \write\writeto{% \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}% }% \temp } % Take care of unwanted page breaks/skips around a whatsit: % % If a skip is the last thing on the list now, preserve it % by backing up by \lastskip, doing the \write, then inserting % the skip again. Otherwise, the whatsit generated by the % \write or \pdfdest will make \lastskip zero. The result is that % sequences like this: % @end defun % @tindex whatever % @defun ... % will have extra space inserted, because the \medbreak in the % start of the @defun won't see the skip inserted by the @end of % the previous defun. % % But don't do any of this if we're not in vertical mode. We % don't want to do a \vskip and prematurely end a paragraph. % % Avoid page breaks due to these extra skips, too. % % But wait, there is a catch there: % We'll have to check whether \lastskip is zero skip. \ifdim is not % sufficient for this purpose, as it ignores stretch and shrink parts % of the skip. The only way seems to be to check the textual % representation of the skip. % % The following is almost like \def\zeroskipmacro{0.0pt} except that % the ``p'' and ``t'' characters have catcode \other, not 11 (letter). % \edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} % \newskip\whatsitskip \newcount\whatsitpenalty % % ..., ready, GO: % \def\safewhatsit#1{% \ifhmode #1% \else % \lastskip and \lastpenalty cannot both be nonzero simultaneously. \whatsitskip = \lastskip \edef\lastskipmacro{\the\lastskip}% \whatsitpenalty = \lastpenalty % % If \lastskip is nonzero, that means the last item was a % skip. And since a skip is discardable, that means this % -\whatsitskip glue we're inserting is preceded by a % non-discardable item, therefore it is not a potential % breakpoint, therefore no \nobreak needed. \ifx\lastskipmacro\zeroskipmacro \else \vskip-\whatsitskip \fi % #1% % \ifx\lastskipmacro\zeroskipmacro % If \lastskip was zero, perhaps the last item was a penalty, and % perhaps it was >=10000, e.g., a \nobreak. In that case, we want % to re-insert the same penalty (values >10000 are used for various % signals); since we just inserted a non-discardable item, any % following glue (such as a \parskip) would be a breakpoint. For example: % % @deffn deffn-whatever % @vindex index-whatever % Description. % would allow a break between the index-whatever whatsit % and the "Description." paragraph. \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi \else % On the other hand, if we had a nonzero \lastskip, % this make-up glue would be preceded by a non-discardable item % (the whatsit from the \write), so we must insert a \nobreak. \nobreak\vskip\whatsitskip \fi \fi } % The index entry written in the file actually looks like % \entry {sortstring}{page}{topic} % or % \entry {sortstring}{page}{topic}{subtopic} % The texindex program reads in these files and writes files % containing these kinds of lines: % \initial {c} % before the first topic whose initial is c % \entry {topic}{pagelist} % for a topic that is used without subtopics % \primary {topic} % for the beginning of a topic that is used with subtopics % \secondary {subtopic}{pagelist} % for each subtopic. % Define the user-accessible indexing commands % @findex, @vindex, @kindex, @cindex. \def\findex {\fnindex} \def\kindex {\kyindex} \def\cindex {\cpindex} \def\vindex {\vrindex} \def\tindex {\tpindex} \def\pindex {\pgindex} \def\cindexsub {\begingroup\obeylines\cindexsub} {\obeylines % \gdef\cindexsub "#1" #2^^M{\endgroup % \dosubind{cp}{#2}{#1}}} % Define the macros used in formatting output of the sorted index material. % @printindex causes a particular index (the ??s file) to get printed. % It does not print any chapter heading (usually an @unnumbered). % \parseargdef\printindex{\begingroup \dobreak \chapheadingskip{10000}% % \smallfonts \rm \tolerance = 9500 \plainfrenchspacing \everypar = {}% don't want the \kern\-parindent from indentation suppression. % % See if the index file exists and is nonempty. % Change catcode of @ here so that if the index file contains % \initial {@} % as its first line, TeX doesn't complain about mismatched braces % (because it thinks @} is a control sequence). \catcode`\@ = 11 \openin 1 \jobname.#1s \ifeof 1 % \enddoublecolumns gets confused if there is no text in the index, % and it loses the chapter title and the aux file entries for the % index. The easiest way to prevent this problem is to make sure % there is some text. \putwordIndexNonexistent \else % % If the index file exists but is empty, then \openin leaves \ifeof % false. We have to make TeX try to read something from the file, so % it can discover if there is anything in it. \read 1 to \temp \ifeof 1 \putwordIndexIsEmpty \else % Index files are almost Texinfo source, but we use \ as the escape % character. It would be better to use @, but that's too big a change % to make right now. \def\indexbackslash{\backslashcurfont}% \catcode`\\ = 0 \escapechar = `\\ \begindoublecolumns \input \jobname.#1s \enddoublecolumns \fi \fi \closein 1 \endgroup} % These macros are used by the sorted index file itself. % Change them to control the appearance of the index. \def\initial#1{{% % Some minor font changes for the special characters. \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt % % Remove any glue we may have, we'll be inserting our own. \removelastskip % % We like breaks before the index initials, so insert a bonus. \nobreak \vskip 0pt plus 3\baselineskip \penalty 0 \vskip 0pt plus -3\baselineskip % % Typeset the initial. Making this add up to a whole number of % baselineskips increases the chance of the dots lining up from column % to column. It still won't often be perfect, because of the stretch % we need before each entry, but it's better. % % No shrink because it confuses \balancecolumns. \vskip 1.67\baselineskip plus .5\baselineskip \leftline{\secbf #1}% % Do our best not to break after the initial. \nobreak \vskip .33\baselineskip plus .1\baselineskip }} % \entry typesets a paragraph consisting of the text (#1), dot leaders, and % then page number (#2) flushed to the right margin. It is used for index % and table of contents entries. The paragraph is indented by \leftskip. % % A straightforward implementation would start like this: % \def\entry#1#2{... % But this freezes the catcodes in the argument, and can cause problems to % @code, which sets - active. This problem was fixed by a kludge--- % ``-'' was active throughout whole index, but this isn't really right. % % The right solution is to prevent \entry from swallowing the whole text. % --kasal, 21nov03 \def\entry{% \begingroup % % Start a new paragraph if necessary, so our assignments below can't % affect previous text. \par % % Do not fill out the last line with white space. \parfillskip = 0in % % No extra space above this paragraph. \parskip = 0in % % Do not prefer a separate line ending with a hyphen to fewer lines. \finalhyphendemerits = 0 % % \hangindent is only relevant when the entry text and page number % don't both fit on one line. In that case, bob suggests starting the % dots pretty far over on the line. Unfortunately, a large % indentation looks wrong when the entry text itself is broken across % lines. So we use a small indentation and put up with long leaders. % % \hangafter is reset to 1 (which is the value we want) at the start % of each paragraph, so we need not do anything with that. \hangindent = 2em % % When the entry text needs to be broken, just fill out the first line % with blank space. \rightskip = 0pt plus1fil % % A bit of stretch before each entry for the benefit of balancing % columns. \vskip 0pt plus1pt % % Swallow the left brace of the text (first parameter): \afterassignment\doentry \let\temp = } \def\doentry{% \bgroup % Instead of the swallowed brace. \noindent \aftergroup\finishentry % And now comes the text of the entry. } \def\finishentry#1{% % #1 is the page number. % % The following is kludged to not output a line of dots in the index if % there are no page numbers. The next person who breaks this will be % cursed by a Unix daemon. \setbox\boxA = \hbox{#1}% \ifdim\wd\boxA = 0pt \ % \else % % If we must, put the page number on a line of its own, and fill out % this line with blank space. (The \hfil is overwhelmed with the % fill leaders glue in \indexdotfill if the page number does fit.) \hfil\penalty50 \null\nobreak\indexdotfill % Have leaders before the page number. % % The `\ ' here is removed by the implicit \unskip that TeX does as % part of (the primitive) \par. Without it, a spurious underfull % \hbox ensues. \ifpdf \pdfgettoks#1.% \ \the\toksA \else \ #1% \fi \fi \par \endgroup } % Like plain.tex's \dotfill, except uses up at least 1 em. \def\indexdotfill{\cleaders \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill} \def\primary #1{\line{#1\hfil}} \newskip\secondaryindent \secondaryindent=0.5cm \def\secondary#1#2{{% \parfillskip=0in \parskip=0in \hangindent=1in \hangafter=1 \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill \ifpdf \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. \else #2 \fi \par }} % Define two-column mode, which we use to typeset indexes. % Adapted from the TeXbook, page 416, which is to say, % the manmac.tex format used to print the TeXbook itself. \catcode`\@=11 \newbox\partialpage \newdimen\doublecolumnhsize \def\begindoublecolumns{\begingroup % ended by \enddoublecolumns % Grab any single-column material above us. \output = {% % % Here is a possibility not foreseen in manmac: if we accumulate a % whole lot of material, we might end up calling this \output % routine twice in a row (see the doublecol-lose test, which is % essentially a couple of indexes with @setchapternewpage off). In % that case we just ship out what is in \partialpage with the normal % output routine. Generally, \partialpage will be empty when this % runs and this will be a no-op. See the indexspread.tex test case. \ifvoid\partialpage \else \onepageout{\pagecontents\partialpage}% \fi % \global\setbox\partialpage = \vbox{% % Unvbox the main output page. \unvbox\PAGE \kern-\topskip \kern\baselineskip }% }% \eject % run that output routine to set \partialpage % % Use the double-column output routine for subsequent pages. \output = {\doublecolumnout}% % % Change the page size parameters. We could do this once outside this % routine, in each of @smallbook, @afourpaper, and the default 8.5x11 % format, but then we repeat the same computation. Repeating a couple % of assignments once per index is clearly meaningless for the % execution time, so we may as well do it in one place. % % First we halve the line length, less a little for the gutter between % the columns. We compute the gutter based on the line length, so it % changes automatically with the paper format. The magic constant % below is chosen so that the gutter has the same value (well, +-<1pt) % as it did when we hard-coded it. % % We put the result in a separate register, \doublecolumhsize, so we % can restore it in \pagesofar, after \hsize itself has (potentially) % been clobbered. % \doublecolumnhsize = \hsize \advance\doublecolumnhsize by -.04154\hsize \divide\doublecolumnhsize by 2 \hsize = \doublecolumnhsize % % Double the \vsize as well. (We don't need a separate register here, % since nobody clobbers \vsize.) \vsize = 2\vsize } % The double-column output routine for all double-column pages except % the last. % \def\doublecolumnout{% \splittopskip=\topskip \splitmaxdepth=\maxdepth % Get the available space for the double columns -- the normal % (undoubled) page height minus any material left over from the % previous page. \dimen@ = \vsize \divide\dimen@ by 2 \advance\dimen@ by -\ht\partialpage % % box0 will be the left-hand column, box2 the right. \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@ \onepageout\pagesofar \unvbox255 \penalty\outputpenalty } % % Re-output the contents of the output page -- any previous material, % followed by the two boxes we just split, in box0 and box2. \def\pagesofar{% \unvbox\partialpage % \hsize = \doublecolumnhsize \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}% } % % All done with double columns. \def\enddoublecolumns{% % The following penalty ensures that the page builder is exercised % _before_ we change the output routine. This is necessary in the % following situation: % % The last section of the index consists only of a single entry. % Before this section, \pagetotal is less than \pagegoal, so no % break occurs before the last section starts. However, the last % section, consisting of \initial and the single \entry, does not % fit on the page and has to be broken off. Without the following % penalty the page builder will not be exercised until \eject % below, and by that time we'll already have changed the output % routine to the \balancecolumns version, so the next-to-last % double-column page will be processed with \balancecolumns, which % is wrong: The two columns will go to the main vertical list, with % the broken-off section in the recent contributions. As soon as % the output routine finishes, TeX starts reconsidering the page % break. The two columns and the broken-off section both fit on the % page, because the two columns now take up only half of the page % goal. When TeX sees \eject from below which follows the final % section, it invokes the new output routine that we've set after % \balancecolumns below; \onepageout will try to fit the two columns % and the final section into the vbox of \pageheight (see % \pagebody), causing an overfull box. % % Note that glue won't work here, because glue does not exercise the % page builder, unlike penalties (see The TeXbook, pp. 280-281). \penalty0 % \output = {% % Split the last of the double-column material. Leave it on the % current page, no automatic page break. \balancecolumns % % If we end up splitting too much material for the current page, % though, there will be another page break right after this \output % invocation ends. Having called \balancecolumns once, we do not % want to call it again. Therefore, reset \output to its normal % definition right away. (We hope \balancecolumns will never be % called on to balance too much material, but if it is, this makes % the output somewhat more palatable.) \global\output = {\onepageout{\pagecontents\PAGE}}% }% \eject \endgroup % started in \begindoublecolumns % % \pagegoal was set to the doubled \vsize above, since we restarted % the current page. We're now back to normal single-column % typesetting, so reset \pagegoal to the normal \vsize (after the % \endgroup where \vsize got restored). \pagegoal = \vsize } % % Called at the end of the double column material. \def\balancecolumns{% \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120. \dimen@ = \ht0 \advance\dimen@ by \topskip \advance\dimen@ by-\baselineskip \divide\dimen@ by 2 % target to split to %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}% \splittopskip = \topskip % Loop until we get a decent breakpoint. {% \vbadness = 10000 \loop \global\setbox3 = \copy0 \global\setbox1 = \vsplit3 to \dimen@ \ifdim\ht3>\dimen@ \global\advance\dimen@ by 1pt \repeat }% %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}% \setbox0=\vbox to\dimen@{\unvbox1}% \setbox2=\vbox to\dimen@{\unvbox3}% % \pagesofar } \catcode`\@ = \other \message{sectioning,} % Chapters, sections, etc. % \unnumberedno is an oxymoron, of course. But we count the unnumbered % sections so that we can refer to them unambiguously in the pdf % outlines by their "section number". We avoid collisions with chapter % numbers by starting them at 10000. (If a document ever has 10000 % chapters, we're in trouble anyway, I'm sure.) \newcount\unnumberedno \unnumberedno = 10000 \newcount\chapno \newcount\secno \secno=0 \newcount\subsecno \subsecno=0 \newcount\subsubsecno \subsubsecno=0 % This counter is funny since it counts through charcodes of letters A, B, ... \newcount\appendixno \appendixno = `\@ % % \def\appendixletter{\char\the\appendixno} % We do the following ugly conditional instead of the above simple % construct for the sake of pdftex, which needs the actual % letter in the expansion, not just typeset. % \def\appendixletter{% \ifnum\appendixno=`A A% \else\ifnum\appendixno=`B B% \else\ifnum\appendixno=`C C% \else\ifnum\appendixno=`D D% \else\ifnum\appendixno=`E E% \else\ifnum\appendixno=`F F% \else\ifnum\appendixno=`G G% \else\ifnum\appendixno=`H H% \else\ifnum\appendixno=`I I% \else\ifnum\appendixno=`J J% \else\ifnum\appendixno=`K K% \else\ifnum\appendixno=`L L% \else\ifnum\appendixno=`M M% \else\ifnum\appendixno=`N N% \else\ifnum\appendixno=`O O% \else\ifnum\appendixno=`P P% \else\ifnum\appendixno=`Q Q% \else\ifnum\appendixno=`R R% \else\ifnum\appendixno=`S S% \else\ifnum\appendixno=`T T% \else\ifnum\appendixno=`U U% \else\ifnum\appendixno=`V V% \else\ifnum\appendixno=`W W% \else\ifnum\appendixno=`X X% \else\ifnum\appendixno=`Y Y% \else\ifnum\appendixno=`Z Z% % The \the is necessary, despite appearances, because \appendixletter is % expanded while writing the .toc file. \char\appendixno is not % expandable, thus it is written literally, thus all appendixes come out % with the same letter (or @) in the toc without it. \else\char\the\appendixno \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} % Each @chapter defines these (using marks) as the number+name, number % and name of the chapter. Page headings and footings can use % these. @section does likewise. \def\thischapter{} \def\thischapternum{} \def\thischaptername{} \def\thissection{} \def\thissectionnum{} \def\thissectionname{} \newcount\absseclevel % used to calculate proper heading level \newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count % @raisesections: treat @section as chapter, @subsection as section, etc. \def\raisesections{\global\advance\secbase by -1} \let\up=\raisesections % original BFox name % @lowersections: treat @chapter as section, @section as subsection, etc. \def\lowersections{\global\advance\secbase by 1} \let\down=\lowersections % original BFox name % we only have subsub. \chardef\maxseclevel = 3 % % A numbered section within an unnumbered changes to unnumbered too. % To achive this, remember the "biggest" unnum. sec. we are currently in: \chardef\unmlevel = \maxseclevel % % Trace whether the current chapter is an appendix or not: % \chapheadtype is "N" or "A", unnumbered chapters are ignored. \def\chapheadtype{N} % Choose a heading macro % #1 is heading type % #2 is heading level % #3 is text for heading \def\genhead#1#2#3{% % Compute the abs. sec. level: \absseclevel=#2 \advance\absseclevel by \secbase % Make sure \absseclevel doesn't fall outside the range: \ifnum \absseclevel < 0 \absseclevel = 0 \else \ifnum \absseclevel > 3 \absseclevel = 3 \fi \fi % The heading type: \def\headtype{#1}% \if \headtype U% \ifnum \absseclevel < \unmlevel \chardef\unmlevel = \absseclevel \fi \else % Check for appendix sections: \ifnum \absseclevel = 0 \edef\chapheadtype{\headtype}% \else \if \headtype A\if \chapheadtype N% \errmessage{@appendix... within a non-appendix chapter}% \fi\fi \fi % Check for numbered within unnumbered: \ifnum \absseclevel > \unmlevel \def\headtype{U}% \else \chardef\unmlevel = 3 \fi \fi % Now print the heading: \if \headtype U% \ifcase\absseclevel \unnumberedzzz{#3}% \or \unnumberedseczzz{#3}% \or \unnumberedsubseczzz{#3}% \or \unnumberedsubsubseczzz{#3}% \fi \else \if \headtype A% \ifcase\absseclevel \appendixzzz{#3}% \or \appendixsectionzzz{#3}% \or \appendixsubseczzz{#3}% \or \appendixsubsubseczzz{#3}% \fi \else \ifcase\absseclevel \chapterzzz{#3}% \or \seczzz{#3}% \or \numberedsubseczzz{#3}% \or \numberedsubsubseczzz{#3}% \fi \fi \fi \suppressfirstparagraphindent } % an interface: \def\numhead{\genhead N} \def\apphead{\genhead A} \def\unnmhead{\genhead U} % @chapter, @appendix, @unnumbered. Increment top-level counter, reset % all lower-level sectioning counters to zero. % % Also set \chaplevelprefix, which we prepend to @float sequence numbers % (e.g., figures), q.v. By default (before any chapter), that is empty. \let\chaplevelprefix = \empty % \outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz \def\chapterzzz#1{% % section resetting is \global in case the chapter is in a group, such % as an @include file. \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\chapno by 1 % % Used for \float. \gdef\chaplevelprefix{\the\chapno.}% \resetallfloatnos % \message{\putwordChapter\space \the\chapno}% % % Write the actual heading. \chapmacro{#1}{Ynumbered}{\the\chapno}% % % So @section and the like are numbered underneath this chapter. \global\let\section = \numberedsec \global\let\subsection = \numberedsubsec \global\let\subsubsection = \numberedsubsubsec } \outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz \def\appendixzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\appendixno by 1 \gdef\chaplevelprefix{\appendixletter.}% \resetallfloatnos % \def\appendixnum{\putwordAppendix\space \appendixletter}% \message{\appendixnum}% % \chapmacro{#1}{Yappendix}{\appendixletter}% % \global\let\section = \appendixsec \global\let\subsection = \appendixsubsec \global\let\subsubsection = \appendixsubsubsec } \outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz \def\unnumberedzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\unnumberedno by 1 % % Since an unnumbered has no number, no prefix for figures. \global\let\chaplevelprefix = \empty \resetallfloatnos % % This used to be simply \message{#1}, but TeX fully expands the % argument to \message. Therefore, if #1 contained @-commands, TeX % expanded them. For example, in `@unnumbered The @cite{Book}', TeX % expanded @cite (which turns out to cause errors because \cite is meant % to be executed, not expanded). % % Anyway, we don't want the fully-expanded definition of @cite to appear % as a result of the \message, we just want `@cite' itself. We use % \the to achieve this: TeX expands \the only once, % simply yielding the contents of . (We also do this for % the toc entries.) \toks0 = {#1}% \message{(\the\toks0)}% % \chapmacro{#1}{Ynothing}{\the\unnumberedno}% % \global\let\section = \unnumberedsec \global\let\subsection = \unnumberedsubsec \global\let\subsubsection = \unnumberedsubsubsec } % @centerchap is like @unnumbered, but the heading is centered. \outer\parseargdef\centerchap{% % Well, we could do the following in a group, but that would break % an assumption that \chapmacro is called at the outermost level. % Thus we are safer this way: --kasal, 24feb04 \let\centerparametersmaybe = \centerparameters \unnmhead0{#1}% \let\centerparametersmaybe = \relax } % @top is like @unnumbered. \let\top\unnumbered % Sections. \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz \def\seczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% } \outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz \def\appendixsectionzzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% } \let\appendixsec\appendixsection \outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz \def\unnumberedseczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% } % Subsections. \outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz \def\numberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% } \outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz \def\appendixsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno}% } \outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz \def\unnumberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynothing}% {\the\unnumberedno.\the\secno.\the\subsecno}% } % Subsubsections. \outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz \def\numberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynumbered}% {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% } \outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz \def\appendixsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% } \outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz \def\unnumberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynothing}% {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}% } % These macros control what the section commands do, according % to what kind of chapter we are in (ordinary, appendix, or unnumbered). % Define them by default for a numbered chapter. \let\section = \numberedsec \let\subsection = \numberedsubsec \let\subsubsection = \numberedsubsubsec % Define @majorheading, @heading and @subheading % NOTE on use of \vbox for chapter headings, section headings, and such: % 1) We use \vbox rather than the earlier \line to permit % overlong headings to fold. % 2) \hyphenpenalty is set to 10000 because hyphenation in a % heading is obnoxious; this forbids it. % 3) Likewise, headings look best if no \parindent is used, and % if justification is not attempted. Hence \raggedright. \def\majorheading{% {\advance\chapheadingskip by 10pt \chapbreak }% \parsearg\chapheadingzzz } \def\chapheading{\chapbreak \parsearg\chapheadingzzz} \def\chapheadingzzz#1{% {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt\raggedright \rmisbold #1\hfill}}% \bigskip \par\penalty 200\relax \suppressfirstparagraphindent } % @heading, @subheading, @subsubheading. \parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{} \suppressfirstparagraphindent} \parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{} \suppressfirstparagraphindent} \parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} \suppressfirstparagraphindent} % These macros generate a chapter, section, etc. heading only % (including whitespace, linebreaking, etc. around it), % given all the information in convenient, parsed form. %%% Args are the skip and penalty (usually negative) \def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} %%% Define plain chapter starts, and page on/off switching for it % Parameter controlling skip before chapter headings (if needed) \newskip\chapheadingskip \def\chapbreak{\dobreak \chapheadingskip {-4000}} \def\chappager{\par\vfill\supereject} % Because \domark is called before \chapoddpage, the filler page will % get the headings for the next chapter, which is wrong. But we don't % care -- we just disable all headings on the filler page. \def\chapoddpage{% \chappager \ifodd\pageno \else \begingroup \evenheadline={\hfil}\evenfootline={\hfil}% \oddheadline={\hfil}\oddfootline={\hfil}% \hbox to 0pt{}% \chappager \endgroup \fi } \def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname} \def\CHAPPAGoff{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chapbreak \global\let\pagealignmacro=\chappager} \def\CHAPPAGon{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chappager \global\let\pagealignmacro=\chappager \global\def\HEADINGSon{\HEADINGSsingle}} \def\CHAPPAGodd{% \global\let\contentsalignmacro = \chapoddpage \global\let\pchapsepmacro=\chapoddpage \global\let\pagealignmacro=\chapoddpage \global\def\HEADINGSon{\HEADINGSdouble}} \CHAPPAGon % Chapter opening. % % #1 is the text, #2 is the section type (Ynumbered, Ynothing, % Yappendix, Yomitfromtoc), #3 the chapter number. % % To test against our argument. \def\Ynothingkeyword{Ynothing} \def\Yomitfromtockeyword{Yomitfromtoc} \def\Yappendixkeyword{Yappendix} % \def\chapmacro#1#2#3{% % Insert the first mark before the heading break (see notes for \domark). \let\prevchapterdefs=\lastchapterdefs \let\prevsectiondefs=\lastsectiondefs \gdef\lastsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}% \gdef\thissection{}}% % \def\temptype{#2}% \ifx\temptype\Ynothingkeyword \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% \gdef\thischapter{\thischaptername}}% \else\ifx\temptype\Yomitfromtockeyword \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% \gdef\thischapter{}}% \else\ifx\temptype\Yappendixkeyword \toks0={#1}% \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\appendixletter}% \gdef\noexpand\thischapter{\putwordAppendix{} \noexpand\thischapternum: \noexpand\thischaptername}% }% \else \toks0={#1}% \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\the\chapno}% \gdef\noexpand\thischapter{\putwordChapter{} \noexpand\thischapternum: \noexpand\thischaptername}% }% \fi\fi\fi % % Output the mark. Pass it through \safewhatsit, to take care of % the preceding space. \safewhatsit\domark % % Insert the chapter heading break. \pchapsepmacro % % Now the second mark, after the heading break. No break points % between here and the heading. \let\prevchapterdefs=\lastchapterdefs \let\prevsectiondefs=\lastsectiondefs \domark % {% \chapfonts \rmisbold % % Have to define \lastsection before calling \donoderef, because the % xref code eventually uses it. On the other hand, it has to be called % after \pchapsepmacro, or the headline will change too soon. \gdef\lastsection{#1}% % % Only insert the separating space if we have a chapter/appendix % number, and don't print the unnumbered ``number''. \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unnchap}% \else\ifx\temptype\Yomitfromtockeyword \setbox0 = \hbox{}% contents like unnumbered, but no toc entry \def\toctype{omit}% \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% \def\toctype{app}% \else \setbox0 = \hbox{#3\enspace}% \def\toctype{numchap}% \fi\fi\fi % % Write the toc entry for this chapter. Must come before the % \donoderef, because we include the current node name in the toc % entry, and \donoderef resets it to empty. \writetocentry{\toctype}{#1}{#3}% % % For pdftex, we have to write out the node definition (aka, make % the pdfdest) after any page break, but before the actual text has % been typeset. If the destination for the pdf outline is after the % text, then jumping from the outline may wind up with the text not % being visible, for instance under high magnification. \donoderef{#2}% % % Typeset the actual heading. \nobreak % Avoid page breaks at the interline glue. \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright \hangindent=\wd0 \centerparametersmaybe \unhbox0 #1\par}% }% \nobreak\bigskip % no page break after a chapter title \nobreak } % @centerchap -- centered and unnumbered. \let\centerparametersmaybe = \relax \def\centerparameters{% \advance\rightskip by 3\rightskip \leftskip = \rightskip \parfillskip = 0pt } % I don't think this chapter style is supported any more, so I'm not % updating it with the new noderef stuff. We'll see. --karl, 11aug03. % \def\setchapterstyle #1 {\csname CHAPF#1\endcsname} % \def\unnchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt\raggedright \rmisbold #1\hfill}}\bigskip \par\nobreak } \def\chfopen #1#2{\chapoddpage {\chapfonts \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% \par\penalty 5000 % } \def\centerchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak } \def\CHAPFopen{% \global\let\chapmacro=\chfopen \global\let\centerchapmacro=\centerchfopen} % Section titles. These macros combine the section number parts and % call the generic \sectionheading to do the printing. % \newskip\secheadingskip \def\secheadingbreak{\dobreak \secheadingskip{-1000}} % Subsection titles. \newskip\subsecheadingskip \def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}} % Subsubsection titles. \def\subsubsecheadingskip{\subsecheadingskip} \def\subsubsecheadingbreak{\subsecheadingbreak} % Print any size, any type, section title. % % #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is % the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the % section number. % \def\seckeyword{sec} % \def\sectionheading#1#2#3#4{% {% % Switch to the right set of fonts. \csname #2fonts\endcsname \rmisbold % \def\sectionlevel{#2}% \def\temptype{#3}% % % Insert first mark before the heading break (see notes for \domark). \let\prevsectiondefs=\lastsectiondefs \ifx\temptype\Ynothingkeyword \ifx\sectionlevel\seckeyword \gdef\lastsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}% \gdef\thissection{\thissectionname}}% \fi \else\ifx\temptype\Yomitfromtockeyword % Don't redefine \thissection. \else\ifx\temptype\Yappendixkeyword \ifx\sectionlevel\seckeyword \toks0={#1}% \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi \else \ifx\sectionlevel\seckeyword \toks0={#1}% \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi \fi\fi\fi % % Go into vertical mode. Usually we'll already be there, but we % don't want the following whatsit to end up in a preceding paragraph % if the document didn't happen to have a blank line. \par % % Output the mark. Pass it through \safewhatsit, to take care of % the preceding space. \safewhatsit\domark % % Insert space above the heading. \csname #2headingbreak\endcsname % % Now the second mark, after the heading break. No break points % between here and the heading. \let\prevsectiondefs=\lastsectiondefs \domark % % Only insert the space after the number if we have a section number. \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unn}% \gdef\lastsection{#1}% \else\ifx\temptype\Yomitfromtockeyword % for @headings -- no section number, don't include in toc, % and don't redefine \lastsection. \setbox0 = \hbox{}% \def\toctype{omit}% \let\sectionlevel=\empty \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{#4\enspace}% \def\toctype{app}% \gdef\lastsection{#1}% \else \setbox0 = \hbox{#4\enspace}% \def\toctype{num}% \gdef\lastsection{#1}% \fi\fi\fi % % Write the toc entry (before \donoderef). See comments in \chapmacro. \writetocentry{\toctype\sectionlevel}{#1}{#4}% % % Write the node reference (= pdf destination for pdftex). % Again, see comments in \chapmacro. \donoderef{#3}% % % Interline glue will be inserted when the vbox is completed. % That glue will be a valid breakpoint for the page, since it'll be % preceded by a whatsit (usually from the \donoderef, or from the % \writetocentry if there was no node). We don't want to allow that % break, since then the whatsits could end up on page n while the % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. \nobreak % % Output the actual section heading. \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright \hangindent=\wd0 % zero if no section number \unhbox0 #1}% }% % Add extra space after the heading -- half of whatever came above it. % Don't allow stretch, though. \kern .5 \csname #2headingskip\endcsname % % Do not let the kern be a potential breakpoint, as it would be if it % was followed by glue. \nobreak % % We'll almost certainly start a paragraph next, so don't let that % glue accumulate. (Not a breakpoint because it's preceded by a % discardable item.) \vskip-\parskip % % This is purely so the last item on the list is a known \penalty > % 10000. This is so \startdefun can avoid allowing breakpoints after % section headings. Otherwise, it would insert a valid breakpoint between: % % @section sec-whatever % @deffn def-whatever \penalty 10001 } \message{toc,} % Table of contents. \newwrite\tocfile % Write an entry to the toc file, opening it if necessary. % Called from @chapter, etc. % % Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} % We append the current node name (if any) and page number as additional % arguments for the \{chap,sec,...}entry macros which will eventually % read this. The node name is used in the pdf outlines as the % destination to jump to. % % We open the .toc file for writing here instead of at @setfilename (or % any other fixed time) so that @contents can be anywhere in the document. % But if #1 is `omit', then we don't do anything. This is used for the % table of contents chapter openings themselves. % \newif\iftocfileopened \def\omitkeyword{omit}% % \def\writetocentry#1#2#3{% \edef\writetoctype{#1}% \ifx\writetoctype\omitkeyword \else \iftocfileopened\else \immediate\openout\tocfile = \jobname.toc \global\tocfileopenedtrue \fi % \iflinks {\atdummies \edef\temp{% \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% \temp }% \fi \fi % % Tell \shipout to create a pdf destination on each page, if we're % writing pdf. These are used in the table of contents. We can't % just write one on every page because the title pages are numbered % 1 and 2 (the page numbers aren't printed), and so are the first % two pages of the document. Thus, we'd have two destinations named % `1', and two named `2'. \ifpdf \global\pdfmakepagedesttrue \fi } % These characters do not print properly in the Computer Modern roman % fonts, so we must take special care. This is more or less redundant % with the Texinfo input format setup at the end of this file. % \def\activecatcodes{% \catcode`\"=\active \catcode`\$=\active \catcode`\<=\active \catcode`\>=\active \catcode`\\=\active \catcode`\^=\active \catcode`\_=\active \catcode`\|=\active \catcode`\~=\active } % Read the toc file, which is essentially Texinfo input. \def\readtocfile{% \setupdatafile \activecatcodes \input \tocreadfilename } \newskip\contentsrightmargin \contentsrightmargin=1in \newcount\savepageno \newcount\lastnegativepageno \lastnegativepageno = -1 % Prepare to read what we've written to \tocfile. % \def\startcontents#1{% % If @setchapternewpage on, and @headings double, the contents should % start on an odd page, unlike chapters. Thus, we maintain % \contentsalignmacro in parallel with \pagealignmacro. % From: Torbjorn Granlund \contentsalignmacro \immediate\closeout\tocfile % % Don't need to put `Contents' or `Short Contents' in the headline. % It is abundantly clear what they are. \chapmacro{#1}{Yomitfromtoc}{}% % \savepageno = \pageno \begingroup % Set up to handle contents files properly. \raggedbottom % Worry more about breakpoints than the bottom. \advance\hsize by -\contentsrightmargin % Don't use the full line length. % % Roman numerals for page numbers. \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi } % redefined for the two-volume lispref. We always output on % \jobname.toc even if this is redefined. % \def\tocreadfilename{\jobname.toc} % Normal (long) toc. % \def\contents{% \startcontents{\putwordTOC}% \openin 1 \tocreadfilename\space \ifeof 1 \else \readtocfile \fi \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect \ifeof 1 \else \pdfmakeoutlines \fi \closein 1 \endgroup \lastnegativepageno = \pageno \global\pageno = \savepageno } % And just the chapters. \def\summarycontents{% \startcontents{\putwordShortTOC}% % \let\numchapentry = \shortchapentry \let\appentry = \shortchapentry \let\unnchapentry = \shortunnchapentry % We want a true roman here for the page numbers. \secfonts \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl \let\tt=\shortconttt \rm \hyphenpenalty = 10000 \advance\baselineskip by 1pt % Open it up a little. \def\numsecentry##1##2##3##4{} \let\appsecentry = \numsecentry \let\unnsecentry = \numsecentry \let\numsubsecentry = \numsecentry \let\appsubsecentry = \numsecentry \let\unnsubsecentry = \numsecentry \let\numsubsubsecentry = \numsecentry \let\appsubsubsecentry = \numsecentry \let\unnsubsubsecentry = \numsecentry \openin 1 \tocreadfilename\space \ifeof 1 \else \readtocfile \fi \closein 1 \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect \endgroup \lastnegativepageno = \pageno \global\pageno = \savepageno } \let\shortcontents = \summarycontents % Typeset the label for a chapter or appendix for the short contents. % The arg is, e.g., `A' for an appendix, or `3' for a chapter. % \def\shortchaplabel#1{% % This space should be enough, since a single number is .5em, and the % widest letter (M) is 1em, at least in the Computer Modern fonts. % But use \hss just in case. % (This space doesn't include the extra space that gets added after % the label; that gets put in by \shortchapentry above.) % % We'd like to right-justify chapter numbers, but that looks strange % with appendix letters. And right-justifying numbers and % left-justifying letters looks strange when there is less than 10 % chapters. Have to read the whole toc once to know how many chapters % there are before deciding ... \hbox to 1em{#1\hss}% } % These macros generate individual entries in the table of contents. % The first argument is the chapter or section name. % The last argument is the page number. % The arguments in between are the chapter number, section number, ... % Chapters, in the main contents. \def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} % % Chapters, in the short toc. % See comments in \dochapentry re vbox and related settings. \def\shortchapentry#1#2#3#4{% \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}% } % Appendices, in the main contents. % Need the word Appendix, and a fixed-size box. % \def\appendixbox#1{% % We use M since it's probably the widest letter. \setbox0 = \hbox{\putwordAppendix{} M}% \hbox to \wd0{\putwordAppendix{} #1\hss}} % \def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}} % Unnumbered chapters. \def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} \def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}} % Sections. \def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}} \let\appsecentry=\numsecentry \def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}} % Subsections. \def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}} \let\appsubsecentry=\numsubsecentry \def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} % And subsubsections. \def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}} \let\appsubsubsecentry=\numsubsubsecentry \def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}} % This parameter controls the indentation of the various levels. % Same as \defaultparindent. \newdimen\tocindent \tocindent = 15pt % Now for the actual typesetting. In all these, #1 is the text and #2 is the % page number. % % If the toc has to be broken over pages, we want it to be at chapters % if at all possible; hence the \penalty. \def\dochapentry#1#2{% \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip \begingroup \chapentryfonts \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup \nobreak\vskip .25\baselineskip plus.1\baselineskip } \def\dosecentry#1#2{\begingroup \secentryfonts \leftskip=\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsecentry#1#2{\begingroup \subsecentryfonts \leftskip=2\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsubsecentry#1#2{\begingroup \subsubsecentryfonts \leftskip=3\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} % We use the same \entry macro as for the index entries. \let\tocentry = \entry % Space between chapter (or whatever) number and the title. \def\labelspace{\hskip1em \relax} \def\dopageno#1{{\rm #1}} \def\doshortpageno#1{{\rm #1}} \def\chapentryfonts{\secfonts \rm} \def\secentryfonts{\textfonts} \def\subsecentryfonts{\textfonts} \def\subsubsecentryfonts{\textfonts} \message{environments,} % @foo ... @end foo. % @tex ... @end tex escapes into raw Tex temporarily. % One exception: @ is still an escape character, so that @end tex works. % But \@ or @@ will get a plain tex @ character. \envdef\tex{% \setupmarkupstyle{tex}% \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie \catcode `\%=14 \catcode `\+=\other \catcode `\"=\other \catcode `\|=\other \catcode `\<=\other \catcode `\>=\other \catcode`\`=\other \catcode`\'=\other \escapechar=`\\ % \let\b=\ptexb \let\bullet=\ptexbullet \let\c=\ptexc \let\,=\ptexcomma \let\.=\ptexdot \let\dots=\ptexdots \let\equiv=\ptexequiv \let\!=\ptexexclam \let\i=\ptexi \let\indent=\ptexindent \let\noindent=\ptexnoindent \let\{=\ptexlbrace \let\+=\tabalign \let\}=\ptexrbrace \let\/=\ptexslash \let\*=\ptexstar \let\t=\ptext \expandafter \let\csname top\endcsname=\ptextop % outer \let\frenchspacing=\plainfrenchspacing % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% \def\@{@}% } % There is no need to define \Etex. % Define @lisp ... @end lisp. % @lisp environment forms a group so it can rebind things, % including the definition of @end lisp (which normally is erroneous). % Amount to narrow the margins by for @lisp. \newskip\lispnarrowing \lispnarrowing=0.4in % This is the definition that ^^M gets inside @lisp, @example, and other % such environments. \null is better than a space, since it doesn't % have any width. \def\lisppar{\null\endgraf} % This space is always present above and below environments. \newskip\envskipamount \envskipamount = 0pt % Make spacing and below environment symmetrical. We use \parskip here % to help in doing that, since in @example-like environments \parskip % is reset to zero; thus the \afterenvbreak inserts no space -- but the % start of the next paragraph will insert \parskip. % \def\aboveenvbreak{{% % =10000 instead of <10000 because of a special case in \itemzzz and % \sectionheading, q.v. \ifnum \lastpenalty=10000 \else \advance\envskipamount by \parskip \endgraf \ifdim\lastskip<\envskipamount \removelastskip % it's not a good place to break if the last penalty was \nobreak % or better ... \ifnum\lastpenalty<10000 \penalty-50 \fi \vskip\envskipamount \fi \fi }} \let\afterenvbreak = \aboveenvbreak % \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will % also clear it, so that its embedded environments do the narrowing again. \let\nonarrowing=\relax % @cartouche ... @end cartouche: draw rectangle w/rounded corners around % environment contents. \font\circle=lcircle10 \newdimen\circthick \newdimen\cartouter\newdimen\cartinner \newskip\normbskip\newskip\normpskip\newskip\normlskip \circthick=\fontdimen8\circle % \def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth \def\ctr{{\hskip 6pt\circle\char'010}} \def\cbl{{\circle\char'012\hskip -6pt}} \def\cbr{{\hskip 6pt\circle\char'011}} \def\carttop{\hbox to \cartouter{\hskip\lskip \ctl\leaders\hrule height\circthick\hfil\ctr \hskip\rskip}} \def\cartbot{\hbox to \cartouter{\hskip\lskip \cbl\leaders\hrule height\circthick\hfil\cbr \hskip\rskip}} % \newskip\lskip\newskip\rskip \envdef\cartouche{% \ifhmode\par\fi % can't be in the midst of a paragraph. \startsavinginserts \lskip=\leftskip \rskip=\rightskip \leftskip=0pt\rightskip=0pt % we want these *outside*. \cartinner=\hsize \advance\cartinner by-\lskip \advance\cartinner by-\rskip \cartouter=\hsize \advance\cartouter by 18.4pt % allow for 3pt kerns on either % side, and for 6pt waste from % each corner char, and rule thickness \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip % Flag to tell @lisp, etc., not to narrow margin. \let\nonarrowing = t% \vbox\bgroup \baselineskip=0pt\parskip=0pt\lineskip=0pt \carttop \hbox\bgroup \hskip\lskip \vrule\kern3pt \vbox\bgroup \kern3pt \hsize=\cartinner \baselineskip=\normbskip \lineskip=\normlskip \parskip=\normpskip \vskip -\parskip \comment % For explanation, see the end of \def\group. } \def\Ecartouche{% \ifhmode\par\fi \kern3pt \egroup \kern3pt\vrule \hskip\rskip \egroup \cartbot \egroup \checkinserts } % This macro is called at the beginning of all the @example variants, % inside a group. \newdimen\nonfillparindent \def\nonfillstart{% \aboveenvbreak \hfuzz = 12pt % Don't be fussy \sepspaces % Make spaces be word-separators rather than space tokens. \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output \parskip = 0pt % Turn off paragraph indentation but redefine \indent to emulate % the normal \indent. \nonfillparindent=\parindent \parindent = 0pt \let\indent\nonfillindent % \emergencystretch = 0pt % don't try to avoid overfull boxes \ifx\nonarrowing\relax \advance \leftskip by \lispnarrowing \exdentamount=\lispnarrowing \else \let\nonarrowing = \relax \fi \let\exdent=\nofillexdent } \begingroup \obeyspaces % We want to swallow spaces (but not other tokens) after the fake % @indent in our nonfill-environments, where spaces are normally % active and set to @tie, resulting in them not being ignored after % @indent. \gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}% \gdef\nonfillindentcheck{% \ifx\temp % \expandafter\nonfillindentgobble% \else% \leavevmode\nonfillindentbox% \fi% }% \endgroup \def\nonfillindentgobble#1{\nonfillindent} \def\nonfillindentbox{\hbox to \nonfillparindent{\hss}} % If you want all examples etc. small: @set dispenvsize small. % If you want even small examples the full size: @set dispenvsize nosmall. % This affects the following displayed environments: % @example, @display, @format, @lisp % \def\smallword{small} \def\nosmallword{nosmall} \let\SETdispenvsize\relax \def\setnormaldispenv{% \ifx\SETdispenvsize\smallword % end paragraph for sake of leading, in case document has no blank % line. This is redundant with what happens in \aboveenvbreak, but % we need to do it before changing the fonts, and it's inconvenient % to change the fonts afterward. \ifnum \lastpenalty=10000 \else \endgraf \fi \smallexamplefonts \rm \fi } \def\setsmalldispenv{% \ifx\SETdispenvsize\nosmallword \else \ifnum \lastpenalty=10000 \else \endgraf \fi \smallexamplefonts \rm \fi } % We often define two environments, @foo and @smallfoo. % Let's do it by one command: \def\makedispenv #1#2{ \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2} \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2} \expandafter\let\csname E#1\endcsname \afterenvbreak \expandafter\let\csname Esmall#1\endcsname \afterenvbreak } % Define two synonyms: \def\maketwodispenvs #1#2#3{ \makedispenv{#1}{#3} \makedispenv{#2}{#3} } % @lisp: indented, narrowed, typewriter font; @example: same as @lisp. % % @smallexample and @smalllisp: use smaller fonts. % Originally contributed by Pavel@xerox. % \maketwodispenvs {lisp}{example}{% \nonfillstart \tt\setupmarkupstyle{example}% \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. \gobble % eat return } % @display/@smalldisplay: same as @lisp except keep current font. % \makedispenv {display}{% \nonfillstart \gobble } % @format/@smallformat: same as @display except don't narrow margins. % \makedispenv{format}{% \let\nonarrowing = t% \nonfillstart \gobble } % @flushleft: same as @format, but doesn't obey \SETdispenvsize. \envdef\flushleft{% \let\nonarrowing = t% \nonfillstart \gobble } \let\Eflushleft = \afterenvbreak % @flushright. % \envdef\flushright{% \let\nonarrowing = t% \nonfillstart \advance\leftskip by 0pt plus 1fill \gobble } \let\Eflushright = \afterenvbreak % @quotation does normal linebreaking (hence we can't use \nonfillstart) % and narrows the margins. We keep \parskip nonzero in general, since % we're doing normal filling. So, when using \aboveenvbreak and % \afterenvbreak, temporarily make \parskip 0. % \def\quotationstart{% {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip \parindent=0pt % % @cartouche defines \nonarrowing to inhibit narrowing at next level down. \ifx\nonarrowing\relax \advance\leftskip by \lispnarrowing \advance\rightskip by \lispnarrowing \exdentamount = \lispnarrowing \else \let\nonarrowing = \relax \fi \parsearg\quotationlabel } \envdef\quotation{% \setnormaldispenv \quotationstart } \envdef\smallquotation{% \setsmalldispenv \quotationstart } \let\Esmallquotation = \Equotation % We have retained a nonzero parskip for the environment, since we're % doing normal filling. % \def\Equotation{% \par \ifx\quotationauthor\undefined\else % indent a bit. \leftline{\kern 2\leftskip \sl ---\quotationauthor}% \fi {\parskip=0pt \afterenvbreak}% } % If we're given an argument, typeset it in bold with a colon after. \def\quotationlabel#1{% \def\temp{#1}% \ifx\temp\empty \else {\bf #1: }% \fi } % LaTeX-like @verbatim...@end verbatim and @verb{...} % If we want to allow any as delimiter, % we need the curly braces so that makeinfo sees the @verb command, eg: % `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org % % [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. % % [Knuth] p.344; only we need to do the other characters Texinfo sets % active too. Otherwise, they get lost as the first character on a % verbatim line. \def\dospecials{% \do\ \do\\\do\{\do\}\do\$\do\&% \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% \do\<\do\>\do\|\do\@\do+\do\"% % Don't do the quotes -- if we do, @set txicodequoteundirected and % @set txicodequotebacktick will not have effect on @verb and % @verbatim, and ?` and !` ligatures won't get disabled. %\do\`\do\'% } % % [Knuth] p. 380 \def\uncatcodespecials{% \def\do##1{\catcode`##1=\other}\dospecials} % % Setup for the @verb command. % % Eight spaces for a tab \begingroup \catcode`\^^I=\active \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }} \endgroup % \def\setupverb{% \tt % easiest (and conventionally used) font for verbatim \def\par{\leavevmode\endgraf}% \setupmarkupstyle{verb}% \tabeightspaces % Respect line breaks, % print special symbols as themselves, and % make each space count % must do in this order: \obeylines \uncatcodespecials \sepspaces } % Setup for the @verbatim environment % % Real tab expansion \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount % \def\starttabbox{\setbox0=\hbox\bgroup} % \begingroup \catcode`\^^I=\active \gdef\tabexpand{% \catcode`\^^I=\active \def^^I{\leavevmode\egroup \dimen0=\wd0 % the width so far, or since the previous tab \divide\dimen0 by\tabw \multiply\dimen0 by\tabw % compute previous multiple of \tabw \advance\dimen0 by\tabw % advance to next multiple of \tabw \wd0=\dimen0 \box0 \starttabbox }% } \endgroup % start the verbatim environment. \def\setupverbatim{% \let\nonarrowing = t% \nonfillstart % Easiest (and conventionally used) font for verbatim \tt \def\par{\leavevmode\egroup\box0\endgraf}% \tabexpand \setupmarkupstyle{verbatim}% % Respect line breaks, % print special symbols as themselves, and % make each space count % must do in this order: \obeylines \uncatcodespecials \sepspaces \everypar{\starttabbox}% } % Do the @verb magic: verbatim text is quoted by unique % delimiter characters. Before first delimiter expect a % right brace, after last delimiter expect closing brace: % % \def\doverb'{'#1'}'{#1} % % [Knuth] p. 382; only eat outer {} \begingroup \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] \endgroup % \def\verb{\begingroup\setupverb\doverb} % % % Do the @verbatim magic: define the macro \doverbatim so that % the (first) argument ends when '@end verbatim' is reached, ie: % % \def\doverbatim#1@end verbatim{#1} % % For Texinfo it's a lot easier than for LaTeX, % because texinfo's \verbatim doesn't stop at '\end{verbatim}': % we need not redefine '\', '{' and '}'. % % Inspired by LaTeX's verbatim command set [latex.ltx] % \begingroup \catcode`\ =\active \obeylines % % ignore everything up to the first ^^M, that's the newline at the end % of the @verbatim input line itself. Otherwise we get an extra blank % line in the output. \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}% % We really want {...\end verbatim} in the body of the macro, but % without the active space; thus we have to use \xdef and \gobble. \endgroup % \envdef\verbatim{% \setupverbatim\doverbatim } \let\Everbatim = \afterenvbreak % @verbatiminclude FILE - insert text of file in verbatim environment. % \def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude} % \def\doverbatiminclude#1{% {% \makevalueexpandable \setupverbatim \indexnofonts % Allow `@@' and other weird things in file names. \input #1 \afterenvbreak }% } % @copying ... @end copying. % Save the text away for @insertcopying later. % % We save the uninterpreted tokens, rather than creating a box. % Saving the text in a box would be much easier, but then all the % typesetting commands (@smallbook, font changes, etc.) have to be done % beforehand -- and a) we want @copying to be done first in the source % file; b) letting users define the frontmatter in as flexible order as % possible is very desirable. % \def\copying{\checkenv{}\begingroup\scanargctxt\docopying} \def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} % \def\insertcopying{% \begingroup \parindent = 0pt % paragraph indentation looks wrong on title page \scanexp\copyingtext \endgroup } \message{defuns,} % @defun etc. \newskip\defbodyindent \defbodyindent=.4in \newskip\defargsindent \defargsindent=50pt \newskip\deflastargmargin \deflastargmargin=18pt \newcount\defunpenalty % Start the processing of @deffn: \def\startdefun{% \ifnum\lastpenalty<10000 \medbreak \defunpenalty=10003 % Will keep this @deffn together with the % following @def command, see below. \else % If there are two @def commands in a row, we'll have a \nobreak, % which is there to keep the function description together with its % header. But if there's nothing but headers, we need to allow a % break somewhere. Check specifically for penalty 10002, inserted % by \printdefunline, instead of 10000, since the sectioning % commands also insert a nobreak penalty, and we don't want to allow % a break between a section heading and a defun. % % As a minor refinement, we avoid "club" headers by signalling % with penalty of 10003 after the very first @deffn in the % sequence (see above), and penalty of 10002 after any following % @def command. \ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi % % Similarly, after a section heading, do not allow a break. % But do insert the glue. \medskip % preceded by discardable penalty, so not a breakpoint \fi % \parindent=0in \advance\leftskip by \defbodyindent \exdentamount=\defbodyindent } \def\dodefunx#1{% % First, check whether we are in the right environment: \checkenv#1% % % As above, allow line break if we have multiple x headers in a row. % It's not a great place, though. \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi % % And now, it's time to reuse the body of the original defun: \expandafter\gobbledefun#1% } \def\gobbledefun#1\startdefun{} % \printdefunline \deffnheader{text} % \def\printdefunline#1#2{% \begingroup % call \deffnheader: #1#2 \endheader % common ending: \interlinepenalty = 10000 \advance\rightskip by 0pt plus 1fil \endgraf \nobreak\vskip -\parskip \penalty\defunpenalty % signal to \startdefun and \dodefunx % Some of the @defun-type tags do not enable magic parentheses, % rendering the following check redundant. But we don't optimize. \checkparencounts \endgroup } \def\Edefun{\endgraf\medbreak} % \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; % the only thing remaining is to define \deffnheader. % \def\makedefun#1{% \expandafter\let\csname E#1\endcsname = \Edefun \edef\temp{\noexpand\domakedefun \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% \temp } % \domakedefun \deffn \deffnx \deffnheader % % Define \deffn and \deffnx, without parameters. % \deffnheader has to be defined explicitly. % \def\domakedefun#1#2#3{% \envdef#1{% \startdefun \parseargusing\activeparens{\printdefunline#3}% }% \def#2{\dodefunx#1}% \def#3% } %%% Untyped functions: % @deffn category name args \makedefun{deffn}{\deffngeneral{}} % @deffn category class name args \makedefun{defop}#1 {\defopon{#1\ \putwordon}} % \defopon {category on}class name args \def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } % \deffngeneral {subind}category name args % \def\deffngeneral#1#2 #3 #4\endheader{% % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}. \dosubind{fn}{\code{#3}}{#1}% \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% } %%% Typed functions: % @deftypefn category type name args \makedefun{deftypefn}{\deftypefngeneral{}} % @deftypeop category class type name args \makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} % \deftypeopon {category on}class type name args \def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } % \deftypefngeneral {subind}category type name args % \def\deftypefngeneral#1#2 #3 #4 #5\endheader{% \dosubind{fn}{\code{#4}}{#1}% \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } %%% Typed variables: % @deftypevr category type var args \makedefun{deftypevr}{\deftypecvgeneral{}} % @deftypecv category class type var args \makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} % \deftypecvof {category of}class type var args \def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } % \deftypecvgeneral {subind}category type var args % \def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% \dosubind{vr}{\code{#4}}{#1}% \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } %%% Untyped variables: % @defvr category var args \makedefun{defvr}#1 {\deftypevrheader{#1} {} } % @defcv category class var args \makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} % \defcvof {category of}class var args \def\defcvof#1#2 {\deftypecvof{#1}#2 {} } %%% Type: % @deftp category name args \makedefun{deftp}#1 #2 #3\endheader{% \doind{tp}{\code{#2}}% \defname{#1}{}{#2}\defunargs{#3\unskip}% } % Remaining @defun-like shortcuts: \makedefun{defun}{\deffnheader{\putwordDeffunc} } \makedefun{defmac}{\deffnheader{\putwordDefmac} } \makedefun{defspec}{\deffnheader{\putwordDefspec} } \makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} } \makedefun{defvar}{\defvrheader{\putwordDefvar} } \makedefun{defopt}{\defvrheader{\putwordDefopt} } \makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } \makedefun{defmethod}{\defopon\putwordMethodon} \makedefun{deftypemethod}{\deftypeopon\putwordMethodon} \makedefun{defivar}{\defcvof\putwordInstanceVariableof} \makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} % \defname, which formats the name of the @def (not the args). % #1 is the category, such as "Function". % #2 is the return type, if any. % #3 is the function name. % % We are followed by (but not passed) the arguments, if any. % \def\defname#1#2#3{% % Get the values of \leftskip and \rightskip as they were outside the @def... \advance\leftskip by -\defbodyindent % % How we'll format the type name. Putting it in brackets helps % distinguish it from the body text that may end up on the next line % just below it. \def\temp{#1}% \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} % % Figure out line sizes for the paragraph shape. % The first line needs space for \box0; but if \rightskip is nonzero, % we need only space for the part of \box0 which exceeds it: \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip % The continuations: \dimen2=\hsize \advance\dimen2 by -\defargsindent % (plain.tex says that \dimen1 should be used only as global.) \parshape 2 0in \dimen0 \defargsindent \dimen2 % % Put the type name to the right margin. \noindent \hbox to 0pt{% \hfil\box0 \kern-\hsize % \hsize has to be shortened this way: \kern\leftskip % Intentionally do not respect \rightskip, since we need the space. }% % % Allow all lines to be underfull without complaint: \tolerance=10000 \hbadness=10000 \exdentamount=\defbodyindent {% % defun fonts. We use typewriter by default (used to be bold) because: % . we're printing identifiers, they should be in tt in principle. % . in languages with many accents, such as Czech or French, it's % common to leave accents off identifiers. The result looks ok in % tt, but exceedingly strange in rm. % . we don't want -- and --- to be treated as ligatures. % . this still does not fix the ?` and !` ligatures, but so far no % one has made identifiers using them :). \df \tt \def\temp{#2}% return value type \ifx\temp\empty\else \tclose{\temp} \fi #3% output function name }% {\rm\enskip}% hskip 0.5 em of \tenrm % \boldbrax % arguments will be output next, if any. } % Print arguments in slanted roman (not ttsl), inconsistently with using % tt for the name. This is because literal text is sometimes needed in % the argument list (groff manual), and ttsl and tt are not very % distinguishable. Prevent hyphenation at `-' chars. % \def\defunargs#1{% % use sl by default (not ttsl), % tt for the names. \df \sl \hyphenchar\font=0 % % On the other hand, if an argument has two dashes (for instance), we % want a way to get ttsl. Let's try @var for that. \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}% #1% \sl\hyphenchar\font=45 } % We want ()&[] to print specially on the defun line. % \def\activeparens{% \catcode`\(=\active \catcode`\)=\active \catcode`\[=\active \catcode`\]=\active \catcode`\&=\active } % Make control sequences which act like normal parenthesis chars. \let\lparen = ( \let\rparen = ) % Be sure that we always have a definition for `(', etc. For example, % if the fn name has parens in it, \boldbrax will not be in effect yet, % so TeX would otherwise complain about undefined control sequence. { \activeparens \global\let(=\lparen \global\let)=\rparen \global\let[=\lbrack \global\let]=\rbrack \global\let& = \& \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} \gdef\magicamp{\let&=\amprm} } \newcount\parencount % If we encounter &foo, then turn on ()-hacking afterwards \newif\ifampseen \def\amprm#1 {\ampseentrue{\bf\ }} \def\parenfont{% \ifampseen % At the first level, print parens in roman, % otherwise use the default font. \ifnum \parencount=1 \rm \fi \else % The \sf parens (in \boldbrax) actually are a little bolder than % the contained text. This is especially needed for [ and ] . \sf \fi } \def\infirstlevel#1{% \ifampseen \ifnum\parencount=1 #1% \fi \fi } \def\bfafterword#1 {#1 \bf} \def\opnr{% \global\advance\parencount by 1 {\parenfont(}% \infirstlevel \bfafterword } \def\clnr{% {\parenfont)}% \infirstlevel \sl \global\advance\parencount by -1 } \newcount\brackcount \def\lbrb{% \global\advance\brackcount by 1 {\bf[}% } \def\rbrb{% {\bf]}% \global\advance\brackcount by -1 } \def\checkparencounts{% \ifnum\parencount=0 \else \badparencount \fi \ifnum\brackcount=0 \else \badbrackcount \fi } % these should not use \errmessage; the glibc manual, at least, actually % has such constructs (when documenting function pointers). \def\badparencount{% \message{Warning: unbalanced parentheses in @def...}% \global\parencount=0 } \def\badbrackcount{% \message{Warning: unbalanced square brackets in @def...}% \global\brackcount=0 } \message{macros,} % @macro. % To do this right we need a feature of e-TeX, \scantokens, % which we arrange to emulate with a temporary file in ordinary TeX. \ifx\eTeXversion\undefined \newwrite\macscribble \def\scantokens#1{% \toks0={#1}% \immediate\openout\macscribble=\jobname.tmp \immediate\write\macscribble{\the\toks0}% \immediate\closeout\macscribble \input \jobname.tmp } \fi \def\scanmacro#1{% \begingroup \newlinechar`\^^M \let\xeatspaces\eatspaces % Undo catcode changes of \startcontents and \doprintindex % When called from @insertcopying or (short)caption, we need active % backslash to get it printed correctly. Previously, we had % \catcode`\\=\other instead. We'll see whether a problem appears % with macro expansion. --kasal, 19aug04 \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ % ... and \example \spaceisspace % % Append \endinput to make sure that TeX does not see the ending newline. % I've verified that it is necessary both for e-TeX and for ordinary TeX % --kasal, 29nov03 \scantokens{#1\endinput}% \endgroup } \def\scanexp#1{% \edef\temp{\noexpand\scanmacro{#1}}% \temp } \newcount\paramno % Count of parameters \newtoks\macname % Macro name \newif\ifrecursive % Is it recursive? % List of all defined macros in the form % \definedummyword\macro1\definedummyword\macro2... % Currently is also contains all @aliases; the list can be split % if there is a need. \def\macrolist{} % Add the macro to \macrolist \def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} \def\addtomacrolistxxx#1{% \toks0 = \expandafter{\macrolist\definedummyword#1}% \xdef\macrolist{\the\toks0}% } % Utility routines. % This does \let #1 = #2, with \csnames; that is, % \let \csname#1\endcsname = \csname#2\endcsname % (except of course we have to play expansion games). % \def\cslet#1#2{% \expandafter\let \csname#1\expandafter\endcsname \csname#2\endcsname } % Trim leading and trailing spaces off a string. % Concepts from aro-bend problem 15 (see CTAN). {\catcode`\@=11 \gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }} \gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@} \gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @} \def\unbrace#1{#1} \unbrace{\gdef\trim@@@ #1 } #2@{#1} } % Trim a single trailing ^^M off a string. {\catcode`\^^M=\other \catcode`\Q=3% \gdef\eatcr #1{\eatcra #1Q^^MQ}% \gdef\eatcra#1^^MQ{\eatcrb#1Q}% \gdef\eatcrb#1Q#2Q{#1}% } % Macro bodies are absorbed as an argument in a context where % all characters are catcode 10, 11 or 12, except \ which is active % (as in normal texinfo). It is necessary to change the definition of \. % Non-ASCII encodings make 8-bit characters active, so un-activate % them to avoid their expansion. Must do this non-globally, to % confine the change to the current group. % It's necessary to have hard CRs when the macro is executed. This is % done by making ^^M (\endlinechar) catcode 12 when reading the macro % body, and then making it the \newlinechar in \scanmacro. \def\scanctxt{% \catcode`\"=\other \catcode`\+=\other \catcode`\<=\other \catcode`\>=\other \catcode`\@=\other \catcode`\^=\other \catcode`\_=\other \catcode`\|=\other \catcode`\~=\other \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi } \def\scanargctxt{% \scanctxt \catcode`\\=\other \catcode`\^^M=\other } \def\macrobodyctxt{% \scanctxt \catcode`\{=\other \catcode`\}=\other \catcode`\^^M=\other \usembodybackslash } \def\macroargctxt{% \scanctxt \catcode`\\=\other } % \mbodybackslash is the definition of \ in @macro bodies. % It maps \foo\ => \csname macarg.foo\endcsname => #N % where N is the macro parameter number. % We define \csname macarg.\endcsname to be \realbackslash, so % \\ in macro replacement text gets you a backslash. {\catcode`@=0 @catcode`@\=@active @gdef@usembodybackslash{@let\=@mbodybackslash} @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} } \expandafter\def\csname macarg.\endcsname{\realbackslash} \def\macro{\recursivefalse\parsearg\macroxxx} \def\rmacro{\recursivetrue\parsearg\macroxxx} \def\macroxxx#1{% \getargs{#1}% now \macname is the macname and \argl the arglist \ifx\argl\empty % no arguments \paramno=0% \else \expandafter\parsemargdef \argl;% \fi \if1\csname ismacro.\the\macname\endcsname \message{Warning: redefining \the\macname}% \else \expandafter\ifx\csname \the\macname\endcsname \relax \else \errmessage{Macro name \the\macname\space already defined}\fi \global\cslet{macsave.\the\macname}{\the\macname}% \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% \addtomacrolist{\the\macname}% \fi \begingroup \macrobodyctxt \ifrecursive \expandafter\parsermacbody \else \expandafter\parsemacbody \fi} \parseargdef\unmacro{% \if1\csname ismacro.#1\endcsname \global\cslet{#1}{macsave.#1}% \global\expandafter\let \csname ismacro.#1\endcsname=0% % Remove the macro name from \macrolist: \begingroup \expandafter\let\csname#1\endcsname \relax \let\definedummyword\unmacrodo \xdef\macrolist{\macrolist}% \endgroup \else \errmessage{Macro #1 not defined}% \fi } % Called by \do from \dounmacro on each macro. The idea is to omit any % macro definitions that have been changed to \relax. % \def\unmacrodo#1{% \ifx #1\relax % remove this \else \noexpand\definedummyword \noexpand#1% \fi } % This makes use of the obscure feature that if the last token of a % is #, then the preceding argument is delimited by % an opening brace, and that opening brace is not consumed. \def\getargs#1{\getargsxxx#1{}} \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} \def\getmacname #1 #2\relax{\macname={#1}} \def\getmacargs#1{\def\argl{#1}} % Parse the optional {params} list. Set up \paramno and \paramlist % so \defmacro knows what to do. Define \macarg.blah for each blah % in the params list, to be ##N where N is the position in that list. % That gets used by \mbodybackslash (above). % We need to get `macro parameter char #' into several definitions. % The technique used is stolen from LaTeX: let \hash be something % unexpandable, insert that wherever you need a #, and then redefine % it to # just before using the token list produced. % % The same technique is used to protect \eatspaces till just before % the macro is used. \def\parsemargdef#1;{\paramno=0\def\paramlist{}% \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,} \def\parsemargdefxxx#1,{% \if#1;\let\next=\relax \else \let\next=\parsemargdefxxx \advance\paramno by 1% \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname {\xeatspaces{\hash\the\paramno}}% \edef\paramlist{\paramlist\hash\the\paramno,}% \fi\next} % These two commands read recursive and nonrecursive macro bodies. % (They're different since rec and nonrec macros end differently.) \long\def\parsemacbody#1@end macro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% \long\def\parsermacbody#1@end rmacro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% % This defines the macro itself. There are six cases: recursive and % nonrecursive macros of zero, one, and many arguments. % Much magic with \expandafter here. % \xdef is used so that macro definitions will survive the file % they're defined in; @include reads the file inside a group. \def\defmacro{% \let\hash=##% convert placeholders to macro parameter chars \ifrecursive \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\scanmacro{\temp}}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\braceorline \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup\noexpand\scanmacro{\temp}}% \else % many \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\csname\the\macname xx\endcsname}% \expandafter\xdef\csname\the\macname xx\endcsname##1{% \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter \csname\the\macname xxx\endcsname \paramlist{\egroup\noexpand\scanmacro{\temp}}% \fi \else \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\braceorline \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \else % many \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \expandafter\noexpand\csname\the\macname xx\endcsname}% \expandafter\xdef\csname\the\macname xx\endcsname##1{% \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter \csname\the\macname xxx\endcsname \paramlist{% \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \fi \fi} \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} % \braceorline decides whether the next nonwhitespace character is a % {. If so it reads up to the closing }, if not, it reads the whole % line. Whatever was read is then fed to the next control sequence % as an argument (by \parsebrace or \parsearg) \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} \def\braceorlinexxx{% \ifx\nchar\bgroup\else \expandafter\parsearg \fi \macnamexxx} % @alias. % We need some trickery to remove the optional spaces around the equal % sign. Just make them active and then expand them all to nothing. \def\alias{\parseargusing\obeyspaces\aliasxxx} \def\aliasxxx #1{\aliasyyy#1\relax} \def\aliasyyy #1=#2\relax{% {% \expandafter\let\obeyedspace=\empty \addtomacrolist{#1}% \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% }% \next } \message{cross references,} \newwrite\auxfile \newif\ifhavexrefs % True if xref values are known. \newif\ifwarnedxrefs % True if we warned once that they aren't known. % @inforef is relatively simple. \def\inforef #1{\inforefzzz #1,,,,**} \def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, node \samp{\ignorespaces#1{}}} % @node's only job in TeX is to define \lastnode, which is used in % cross-references. The @node line might or might not have commas, and % might or might not have spaces before the first comma, like: % @node foo , bar , ... % We don't want such trailing spaces in the node name. % \parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} % % also remove a trailing comma, in case of something like this: % @node Help-Cross, , , Cross-refs \def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} \def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}} \let\nwnode=\node \let\lastnode=\empty % Write a cross-reference definition for the current node. #1 is the % type (Ynumbered, Yappendix, Ynothing). % \def\donoderef#1{% \ifx\lastnode\empty\else \setref{\lastnode}{#1}% \global\let\lastnode=\empty \fi } % @anchor{NAME} -- define xref target at arbitrary point. % \newcount\savesfregister % \def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} \def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} \def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} % \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an % anchor), which consists of three parts: % 1) NAME-title - the current sectioning name taken from \lastsection, % or the anchor name. % 2) NAME-snt - section number and type, passed as the SNT arg, or % empty for anchors. % 3) NAME-pg - the page number. % % This is called from \donoderef, \anchor, and \dofloat. In the case of % floats, there is an additional part, which is not written here: % 4) NAME-lof - the text as it should appear in a @listoffloats. % \def\setref#1#2{% \pdfmkdest{#1}% \iflinks {% \atdummies % preserve commands, but don't expand them \edef\writexrdef##1##2{% \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef ##1}{##2}}% these are parameters of \writexrdef }% \toks0 = \expandafter{\lastsection}% \immediate \writexrdef{title}{\the\toks0 }% \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout }% \fi } % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is % the node name, #2 the name of the Info cross-reference, #3 the printed % node name, #4 the name of the Info file, #5 the name of the printed % manual. All but the node name can be omitted. % \def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]} \def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} \def\ref#1{\xrefX[#1,,,,,,,]} \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup \unsepspaces \def\printedmanual{\ignorespaces #5}% \def\printedrefname{\ignorespaces #3}% \setbox1=\hbox{\printedmanual\unskip}% \setbox0=\hbox{\printedrefname\unskip}% \ifdim \wd0 = 0pt % No printed node name was explicitly given. \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax % Use the node name inside the square brackets. \def\printedrefname{\ignorespaces #1}% \else % Use the actual chapter/section title appear inside % the square brackets. Use the real section title if we have it. \ifdim \wd1 > 0pt % It is in another manual, so we don't have it. \def\printedrefname{\ignorespaces #1}% \else \ifhavexrefs % We know the real title if we have the xref values. \def\printedrefname{\refx{#1-title}{}}% \else % Otherwise just copy the Info node name. \def\printedrefname{\ignorespaces #1}% \fi% \fi \fi \fi % % Make link in pdf output. \ifpdf {\indexnofonts \turnoffactive % This expands tokens, so do it after making catcode changes, so _ % etc. don't get their TeX definitions. \getfilename{#4}% % % See comments at \activebackslashdouble. {\activebackslashdouble \xdef\pdfxrefdest{#1}% \backslashparens\pdfxrefdest}% % \leavevmode \startlink attr{/Border [0 0 0]}% \ifnum\filenamelength>0 goto file{\the\filename.pdf} name{\pdfxrefdest}% \else goto name{\pdfmkpgn{\pdfxrefdest}}% \fi }% \setcolor{\linkcolor}% \fi % % Float references are printed completely differently: "Figure 1.2" % instead of "[somenode], p.3". We distinguish them by the % LABEL-title being set to a magic string. {% % Have to otherify everything special to allow the \csname to % include an _ in the xref name, etc. \indexnofonts \turnoffactive \expandafter\global\expandafter\let\expandafter\Xthisreftitle \csname XR#1-title\endcsname }% \iffloat\Xthisreftitle % If the user specified the print name (third arg) to the ref, % print it instead of our usual "Figure 1.2". \ifdim\wd0 = 0pt \refx{#1-snt}{}% \else \printedrefname \fi % % if the user also gave the printed manual name (fifth arg), append % "in MANUALNAME". \ifdim \wd1 > 0pt \space \putwordin{} \cite{\printedmanual}% \fi \else % node/anchor (non-float) references. % % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not % insert empty discretionaries after hyphens, which means that it will % not find a line break at a hyphen in a node names. Since some manuals % are best written with fairly long node names, containing hyphens, this % is a loss. Therefore, we give the text of the node name again, so it % is as if TeX is seeing it for the first time. \ifdim \wd1 > 0pt \putwordSection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}% \else % _ (for example) has to be the character _ for the purposes of the % control sequence corresponding to the node, but it has to expand % into the usual \leavevmode...\vrule stuff for purposes of % printing. So we \turnoffactive for the \refx-snt, back on for the % printing, back off for the \refx-pg. {\turnoffactive % Only output a following space if the -snt ref is nonempty; for % @unnumbered and @anchor, it won't be. \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi }% % output the `[mynode]' via a macro so it can be overridden. \xrefprintnodename\printedrefname % % But we always want a comma and a space: ,\space % % output the `page 3'. \turnoffactive \putwordpage\tie\refx{#1-pg}{}% \fi \fi \endlink \endgroup} % This macro is called from \xrefX for the `[nodename]' part of xref % output. It's a separate macro only so it can be changed more easily, % since square brackets don't work well in some documents. Particularly % one that Bob is working on :). % \def\xrefprintnodename#1{[#1]} % Things referred to by \setref. % \def\Ynothing{} \def\Yomitfromtoc{} \def\Ynumbered{% \ifnum\secno=0 \putwordChapter@tie \the\chapno \else \ifnum\subsecno=0 \putwordSection@tie \the\chapno.\the\secno \else \ifnum\subsubsecno=0 \putwordSection@tie \the\chapno.\the\secno.\the\subsecno \else \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno \fi\fi\fi } \def\Yappendix{% \ifnum\secno=0 \putwordAppendix@tie @char\the\appendixno{}% \else \ifnum\subsecno=0 \putwordSection@tie @char\the\appendixno.\the\secno \else \ifnum\subsubsecno=0 \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno \else \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno \fi\fi\fi } % Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME. % If its value is nonempty, SUFFIX is output afterward. % \def\refx#1#2{% {% \indexnofonts \otherbackslash \expandafter\global\expandafter\let\expandafter\thisrefX \csname XR#1\endcsname }% \ifx\thisrefX\relax % If not defined, say something at least. \angleleft un\-de\-fined\angleright \iflinks \ifhavexrefs \message{\linenumber Undefined cross reference `#1'.}% \else \ifwarnedxrefs\else \global\warnedxrefstrue \message{Cross reference values unknown; you must run TeX again.}% \fi \fi \fi \else % It's defined, so just use it. \thisrefX \fi #2% Output the suffix in any case. } % This is the macro invoked by entries in the aux file. Usually it's % just a \def (we prepend XR to the control sequence name to avoid % collisions). But if this is a float type, we have more work to do. % \def\xrdef#1#2{% {% The node name might contain 8-bit characters, which in our current % implementation are changed to commands like @'e. Don't let these % mess up the control sequence name. \indexnofonts \turnoffactive \xdef\safexrefname{#1}% }% % \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref % % Was that xref control sequence that we just defined for a float? \expandafter\iffloat\csname XR\safexrefname\endcsname % it was a float, and we have the (safe) float type in \iffloattype. \expandafter\let\expandafter\floatlist \csname floatlist\iffloattype\endcsname % % Is this the first time we've seen this float type? \expandafter\ifx\floatlist\relax \toks0 = {\do}% yes, so just \do \else % had it before, so preserve previous elements in list. \toks0 = \expandafter{\floatlist\do}% \fi % % Remember this xref in the control sequence \floatlistFLOATTYPE, % for later use in \listoffloats. \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0 {\safexrefname}}% \fi } % Read the last existing aux file, if any. No error if none exists. % \def\tryauxfile{% \openin 1 \jobname.aux \ifeof 1 \else \readdatafile{aux}% \global\havexrefstrue \fi \closein 1 } \def\setupdatafile{% \catcode`\^^@=\other \catcode`\^^A=\other \catcode`\^^B=\other \catcode`\^^C=\other \catcode`\^^D=\other \catcode`\^^E=\other \catcode`\^^F=\other \catcode`\^^G=\other \catcode`\^^H=\other \catcode`\^^K=\other \catcode`\^^L=\other \catcode`\^^N=\other \catcode`\^^P=\other \catcode`\^^Q=\other \catcode`\^^R=\other \catcode`\^^S=\other \catcode`\^^T=\other \catcode`\^^U=\other \catcode`\^^V=\other \catcode`\^^W=\other \catcode`\^^X=\other \catcode`\^^Z=\other \catcode`\^^[=\other \catcode`\^^\=\other \catcode`\^^]=\other \catcode`\^^^=\other \catcode`\^^_=\other % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc. % in xref tags, i.e., node names. But since ^^e4 notation isn't % supported in the main text, it doesn't seem desirable. Furthermore, % that is not enough: for node names that actually contain a ^ % character, we would end up writing a line like this: 'xrdef {'hat % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first % argument, and \hat is not an expandable control sequence. It could % all be worked out, but why? Either we support ^^ or we don't. % % The other change necessary for this was to define \auxhat: % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter % and then to call \auxhat in \setq. % \catcode`\^=\other % % Special characters. Should be turned off anyway, but... \catcode`\~=\other \catcode`\[=\other \catcode`\]=\other \catcode`\"=\other \catcode`\_=\other \catcode`\|=\other \catcode`\<=\other \catcode`\>=\other \catcode`\$=\other \catcode`\#=\other \catcode`\&=\other \catcode`\%=\other \catcode`+=\other % avoid \+ for paranoia even though we've turned it off % % This is to support \ in node names and titles, since the \ % characters end up in a \csname. It's easier than % leaving it active and making its active definition an actual \ % character. What I don't understand is why it works in the *value* % of the xrdef. Seems like it should be a catcode12 \, and that % should not typeset properly. But it works, so I'm moving on for % now. --karl, 15jan04. \catcode`\\=\other % % Make the characters 128-255 be printing characters. {% \count1=128 \def\loop{% \catcode\count1=\other \advance\count1 by 1 \ifnum \count1<256 \loop \fi }% }% % % @ is our escape character in .aux files, and we need braces. \catcode`\{=1 \catcode`\}=2 \catcode`\@=0 } \def\readdatafile#1{% \begingroup \setupdatafile \input\jobname.#1 \endgroup} \message{insertions,} % including footnotes. \newcount \footnoteno % The trailing space in the following definition for supereject is % vital for proper filling; pages come out unaligned when you do a % pagealignmacro call if that space before the closing brace is % removed. (Generally, numeric constants should always be followed by a % space to prevent strange expansion errors.) \def\supereject{\par\penalty -20000\footnoteno =0 } % @footnotestyle is meaningful for info output only. \let\footnotestyle=\comment {\catcode `\@=11 % % Auto-number footnotes. Otherwise like plain. \gdef\footnote{% \let\indent=\ptexindent \let\noindent=\ptexnoindent \global\advance\footnoteno by \@ne \edef\thisfootno{$^{\the\footnoteno}$}% % % In case the footnote comes at the end of a sentence, preserve the % extra spacing after we do the footnote number. \let\@sf\empty \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi % % Remove inadvertent blank space before typesetting the footnote number. \unskip \thisfootno\@sf \dofootnote }% % Don't bother with the trickery in plain.tex to not require the % footnote text as a parameter. Our footnotes don't need to be so general. % % Oh yes, they do; otherwise, @ifset (and anything else that uses % \parseargline) fails inside footnotes because the tokens are fixed when % the footnote is read. --karl, 16nov96. % \gdef\dofootnote{% \insert\footins\bgroup % We want to typeset this text as a normal paragraph, even if the % footnote reference occurs in (for example) a display environment. % So reset some parameters. \hsize=\pagewidth \interlinepenalty\interfootnotelinepenalty \splittopskip\ht\strutbox % top baseline for broken footnotes \splitmaxdepth\dp\strutbox \floatingpenalty\@MM \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip \parindent\defaultparindent % \smallfonts \rm % % Because we use hanging indentation in footnotes, a @noindent appears % to exdent this text, so make it be a no-op. makeinfo does not use % hanging indentation so @noindent can still be needed within footnote % text after an @example or the like (not that this is good style). \let\noindent = \relax % % Hang the footnote text off the number. Use \everypar in case the % footnote extends for more than one paragraph. \everypar = {\hang}% \textindent{\thisfootno}% % % Don't crash into the line above the footnote text. Since this % expands into a box, it must come within the paragraph, lest it % provide a place where TeX can split the footnote. \footstrut \futurelet\next\fo@t } }%end \catcode `\@=11 % In case a @footnote appears in a vbox, save the footnote text and create % the real \insert just after the vbox finished. Otherwise, the insertion % would be lost. % Similarly, if a @footnote appears inside an alignment, save the footnote % text to a box and make the \insert when a row of the table is finished. % And the same can be done for other insert classes. --kasal, 16nov03. % Replace the \insert primitive by a cheating macro. % Deeper inside, just make sure that the saved insertions are not spilled % out prematurely. % \def\startsavinginserts{% \ifx \insert\ptexinsert \let\insert\saveinsert \else \let\checkinserts\relax \fi } % This \insert replacement works for both \insert\footins{foo} and % \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}. % \def\saveinsert#1{% \edef\next{\noexpand\savetobox \makeSAVEname#1}% \afterassignment\next % swallow the left brace \let\temp = } \def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}} \def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1} \def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi} \def\placesaveins#1{% \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname {\box#1}% } % eat @SAVE -- beware, all of them have catcode \other: { \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-) \gdef\gobblesave @SAVE{} } % initialization: \def\newsaveins #1{% \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}% \next } \def\newsaveinsX #1{% \csname newbox\endcsname #1% \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts \checksaveins #1}% } % initialize: \let\checkinserts\empty \newsaveins\footins \newsaveins\margin % @image. We use the macros from epsf.tex to support this. % If epsf.tex is not installed and @image is used, we complain. % % Check for and read epsf.tex up front. If we read it only at @image % time, we might be inside a group, and then its definitions would get % undone and the next image would fail. \openin 1 = epsf.tex \ifeof 1 \else % Do not bother showing banner with epsf.tex v2.7k (available in % doc/epsf.tex and on ctan). \def\epsfannounce{\toks0 = }% \input epsf.tex \fi \closein 1 % % We will only complain once about lack of epsf.tex. \newif\ifwarnednoepsf \newhelp\noepsfhelp{epsf.tex must be installed for images to work. It is also included in the Texinfo distribution, or you can get it from ftp://tug.org/tex/epsf.tex.} % \def\image#1{% \ifx\epsfbox\undefined \ifwarnednoepsf \else \errhelp = \noepsfhelp \errmessage{epsf.tex not found, images will be ignored}% \global\warnednoepsftrue \fi \else \imagexxx #1,,,,,\finish \fi } % % Arguments to @image: % #1 is (mandatory) image filename; we tack on .eps extension. % #2 is (optional) width, #3 is (optional) height. % #4 is (ignored optional) html alt text. % #5 is (ignored optional) extension. % #6 is just the usual extra ignored arg for parsing this stuff. \newif\ifimagevmode \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup \catcode`\^^M = 5 % in case we're inside an example \normalturnoffactive % allow _ et al. in names % If the image is by itself, center it. \ifvmode \imagevmodetrue \nobreak\medskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space % above and below. \nobreak\vskip\parskip \nobreak \fi % % Leave vertical mode so that indentation from an enclosing % environment such as @quotation is respected. On the other hand, if % it's at the top level, we don't want the normal paragraph indentation. \noindent % % Output the image. \ifpdf \dopdfimage{#1}{#2}{#3}% \else % \epsfbox itself resets \epsf?size at each figure. \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi \epsfbox{#1.eps}% \fi % \ifimagevmode \medskip \fi % space after the standalone image \endgroup} % @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, % etc. We don't actually implement floating yet, we always include the % float "here". But it seemed the best name for the future. % \envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} % There may be a space before second and/or third parameter; delete it. \def\eatcommaspace#1, {#1,} % #1 is the optional FLOATTYPE, the text label for this float, typically % "Figure", "Table", "Example", etc. Can't contain commas. If omitted, % this float will not be numbered and cannot be referred to. % % #2 is the optional xref label. Also must be present for the float to % be referable. % % #3 is the optional positioning argument; for now, it is ignored. It % will somehow specify the positions allowed to float to (here, top, bottom). % % We keep a separate counter for each FLOATTYPE, which we reset at each % chapter-level command. \let\resetallfloatnos=\empty % \def\dofloat#1,#2,#3,#4\finish{% \let\thiscaption=\empty \let\thisshortcaption=\empty % % don't lose footnotes inside @float. % % BEWARE: when the floats start float, we have to issue warning whenever an % insert appears inside a float which could possibly float. --kasal, 26may04 % \startsavinginserts % % We can't be used inside a paragraph. \par % \vtop\bgroup \def\floattype{#1}% \def\floatlabel{#2}% \def\floatloc{#3}% we do nothing with this yet. % \ifx\floattype\empty \let\safefloattype=\empty \else {% % the floattype might have accents or other special characters, % but we need to use it in a control sequence name. \indexnofonts \turnoffactive \xdef\safefloattype{\floattype}% }% \fi % % If label is given but no type, we handle that as the empty type. \ifx\floatlabel\empty \else % We want each FLOATTYPE to be numbered separately (Figure 1, % Table 1, Figure 2, ...). (And if no label, no number.) % \expandafter\getfloatno\csname\safefloattype floatno\endcsname \global\advance\floatno by 1 % {% % This magic value for \lastsection is output by \setref as the % XREFLABEL-title value. \xrefX uses it to distinguish float % labels (which have a completely different output format) from % node and anchor labels. And \xrdef uses it to construct the % lists of floats. % \edef\lastsection{\floatmagic=\safefloattype}% \setref{\floatlabel}{Yfloat}% }% \fi % % start with \parskip glue, I guess. \vskip\parskip % % Don't suppress indentation if a float happens to start a section. \restorefirstparagraphindent } % we have these possibilities: % @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap % @float Foo,lbl & no caption: Foo 1.1 % @float Foo & @caption{Cap}: Foo: Cap % @float Foo & no caption: Foo % @float ,lbl & Caption{Cap}: 1.1: Cap % @float ,lbl & no caption: 1.1 % @float & @caption{Cap}: Cap % @float & no caption: % \def\Efloat{% \let\floatident = \empty % % In all cases, if we have a float type, it comes first. \ifx\floattype\empty \else \def\floatident{\floattype}\fi % % If we have an xref label, the number comes next. \ifx\floatlabel\empty \else \ifx\floattype\empty \else % if also had float type, need tie first. \appendtomacro\floatident{\tie}% \fi % the number. \appendtomacro\floatident{\chaplevelprefix\the\floatno}% \fi % % Start the printed caption with what we've constructed in % \floatident, but keep it separate; we need \floatident again. \let\captionline = \floatident % \ifx\thiscaption\empty \else \ifx\floatident\empty \else \appendtomacro\captionline{: }% had ident, so need a colon between \fi % % caption text. \appendtomacro\captionline{\scanexp\thiscaption}% \fi % % If we have anything to print, print it, with space before. % Eventually this needs to become an \insert. \ifx\captionline\empty \else \vskip.5\parskip \captionline % % Space below caption. \vskip\parskip \fi % % If have an xref label, write the list of floats info. Do this % after the caption, to avoid chance of it being a breakpoint. \ifx\floatlabel\empty \else % Write the text that goes in the lof to the aux file as % \floatlabel-lof. Besides \floatident, we include the short % caption if specified, else the full caption if specified, else nothing. {% \atdummies % % since we read the caption text in the macro world, where ^^M % is turned into a normal character, we have to scan it back, so % we don't write the literal three characters "^^M" into the aux file. \scanexp{% \xdef\noexpand\gtemp{% \ifx\thisshortcaption\empty \thiscaption \else \thisshortcaption \fi }% }% \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident \ifx\gtemp\empty \else : \gtemp \fi}}% }% \fi \egroup % end of \vtop % % place the captured inserts % % BEWARE: when the floats start floating, we have to issue warning % whenever an insert appears inside a float which could possibly % float. --kasal, 26may04 % \checkinserts } % Append the tokens #2 to the definition of macro #1, not expanding either. % \def\appendtomacro#1#2{% \expandafter\def\expandafter#1\expandafter{#1#2}% } % @caption, @shortcaption % \def\caption{\docaption\thiscaption} \def\shortcaption{\docaption\thisshortcaption} \def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} \def\defcaption#1#2{\egroup \def#1{#2}} % The parameter is the control sequence identifying the counter we are % going to use. Create it if it doesn't exist and assign it to \floatno. \def\getfloatno#1{% \ifx#1\relax % Haven't seen this figure type before. \csname newcount\endcsname #1% % % Remember to reset this floatno at the next chap. \expandafter\gdef\expandafter\resetallfloatnos \expandafter{\resetallfloatnos #1=0 }% \fi \let\floatno#1% } % \setref calls this to get the XREFLABEL-snt value. We want an @xref % to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we % first read the @float command. % \def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}% % Magic string used for the XREFLABEL-title value, so \xrefX can % distinguish floats from other xref types. \def\floatmagic{!!float!!} % #1 is the control sequence we are passed; we expand into a conditional % which is true if #1 represents a float ref. That is, the magic % \lastsection value which we \setref above. % \def\iffloat#1{\expandafter\doiffloat#1==\finish} % % #1 is (maybe) the \floatmagic string. If so, #2 will be the % (safe) float type for this float. We set \iffloattype to #2. % \def\doiffloat#1=#2=#3\finish{% \def\temp{#1}% \def\iffloattype{#2}% \ifx\temp\floatmagic } % @listoffloats FLOATTYPE - print a list of floats like a table of contents. % \parseargdef\listoffloats{% \def\floattype{#1}% floattype {% % the floattype might have accents or other special characters, % but we need to use it in a control sequence name. \indexnofonts \turnoffactive \xdef\safefloattype{\floattype}% }% % % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE. \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax \ifhavexrefs % if the user said @listoffloats foo but never @float foo. \message{\linenumber No `\safefloattype' floats to list.}% \fi \else \begingroup \leftskip=\tocindent % indent these entries like a toc \let\do=\listoffloatsdo \csname floatlist\safefloattype\endcsname \endgroup \fi } % This is called on each entry in a list of floats. We're passed the % xref label, in the form LABEL-title, which is how we save it in the % aux file. We strip off the -title and look up \XRLABEL-lof, which % has the text we're supposed to typeset here. % % Figures without xref labels will not be included in the list (since % they won't appear in the aux file). % \def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} \def\listoffloatsdoentry#1-title\finish{{% % Can't fully expand XR#1-lof because it can contain anything. Just % pass the control sequence. On the other hand, XR#1-pg is just the % page number, and we want to fully expand that so we can get a link % in pdf output. \toksA = \expandafter{\csname XR#1-lof\endcsname}% % % use the same \entry macro we use to generate the TOC and index. \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% \writeentry }} \message{localization,} % For single-language documents, @documentlanguage is usually given very % early, just after @documentencoding. Single argument is the language % (de) or locale (de_DE) abbreviation. % { \catcode`\_ = \active \globaldefs=1 \parseargdef\documentlanguage{\begingroup \let_=\normalunderscore % normal _ character for filenames \tex % read txi-??.tex file in plain TeX. % Read the file by the name they passed if it exists. \openin 1 txi-#1.tex \ifeof 1 \documentlanguagetrywithoutunderscore{#1_\finish}% \else \globaldefs = 1 % everything in the txi-LL files needs to persist \input txi-#1.tex \fi \closein 1 \endgroup % end raw TeX \endgroup} } % % If they passed de_DE, and txi-de_DE.tex doesn't exist, % try txi-de.tex. % \def\documentlanguagetrywithoutunderscore#1_#2\finish{% \openin 1 txi-#1.tex \ifeof 1 \errhelp = \nolanghelp \errmessage{Cannot read language file txi-#1.tex}% \else \input txi-#1.tex \fi \closein 1 } % \newhelp\nolanghelp{The given language definition file cannot be found or is empty. Maybe you need to install it? Putting it in the current directory should work if nowhere else does.} % This macro is called from txi-??.tex files; the first argument is the % \language name to set (without the "\lang@" prefix), the second and % third args are \{left,right}hyphenmin. % % The language names to pass are determined when the format is built. % See the etex.log file created at that time, e.g., % /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log. % % With TeX Live 2008, etex now includes hyphenation patterns for all % available languages. This means we can support hyphenation in % Texinfo, at least to some extent. (This still doesn't solve the % accented characters problem.) % \catcode`@=11 \def\txisetlanguage#1#2#3{% % do not set the language if the name is undefined in the current TeX. \expandafter\ifx\csname lang@#1\endcsname \relax \message{no patterns for #1}% \else \global\language = \csname lang@#1\endcsname \fi % but there is no harm in adjusting the hyphenmin values regardless. \global\lefthyphenmin = #2\relax \global\righthyphenmin = #3\relax } % Helpers for encodings. % Set the catcode of characters 128 through 255 to the specified number. % \def\setnonasciicharscatcode#1{% \count255=128 \loop\ifnum\count255<256 \global\catcode\count255=#1\relax \advance\count255 by 1 \repeat } \def\setnonasciicharscatcodenonglobal#1{% \count255=128 \loop\ifnum\count255<256 \catcode\count255=#1\relax \advance\count255 by 1 \repeat } % @documentencoding sets the definition of non-ASCII characters % according to the specified encoding. % \parseargdef\documentencoding{% % Encoding being declared for the document. \def\declaredencoding{\csname #1.enc\endcsname}% % % Supported encodings: names converted to tokens in order to be able % to compare them with \ifx. \def\ascii{\csname US-ASCII.enc\endcsname}% \def\latnine{\csname ISO-8859-15.enc\endcsname}% \def\latone{\csname ISO-8859-1.enc\endcsname}% \def\lattwo{\csname ISO-8859-2.enc\endcsname}% \def\utfeight{\csname UTF-8.enc\endcsname}% % \ifx \declaredencoding \ascii \asciichardefs % \else \ifx \declaredencoding \lattwo \setnonasciicharscatcode\active \lattwochardefs % \else \ifx \declaredencoding \latone \setnonasciicharscatcode\active \latonechardefs % \else \ifx \declaredencoding \latnine \setnonasciicharscatcode\active \latninechardefs % \else \ifx \declaredencoding \utfeight \setnonasciicharscatcode\active \utfeightchardefs % \else \message{Unknown document encoding #1, ignoring.}% % \fi % utfeight \fi % latnine \fi % latone \fi % lattwo \fi % ascii } % A message to be logged when using a character that isn't available % the default font encoding (OT1). % \def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}} % Take account of \c (plain) vs. \, (Texinfo) difference. \def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} % First, make active non-ASCII characters in order for them to be % correctly categorized when TeX reads the replacement text of % macros containing the character definitions. \setnonasciicharscatcode\active % % Latin1 (ISO-8859-1) character definitions. \def\latonechardefs{% \gdef^^a0{~} \gdef^^a1{\exclamdown} \gdef^^a2{\missingcharmsg{CENT SIGN}} \gdef^^a3{{\pounds}} \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} \gdef^^a5{\missingcharmsg{YEN SIGN}} \gdef^^a6{\missingcharmsg{BROKEN BAR}} \gdef^^a7{\S} \gdef^^a8{\"{}} \gdef^^a9{\copyright} \gdef^^aa{\ordf} \gdef^^ab{\guillemetleft} \gdef^^ac{$\lnot$} \gdef^^ad{\-} \gdef^^ae{\registeredsymbol} \gdef^^af{\={}} % \gdef^^b0{\textdegree} \gdef^^b1{$\pm$} \gdef^^b2{$^2$} \gdef^^b3{$^3$} \gdef^^b4{\'{}} \gdef^^b5{$\mu$} \gdef^^b6{\P} % \gdef^^b7{$^.$} \gdef^^b8{\cedilla\ } \gdef^^b9{$^1$} \gdef^^ba{\ordm} % \gdef^^bb{\guilletright} \gdef^^bc{$1\over4$} \gdef^^bd{$1\over2$} \gdef^^be{$3\over4$} \gdef^^bf{\questiondown} % \gdef^^c0{\`A} \gdef^^c1{\'A} \gdef^^c2{\^A} \gdef^^c3{\~A} \gdef^^c4{\"A} \gdef^^c5{\ringaccent A} \gdef^^c6{\AE} \gdef^^c7{\cedilla C} \gdef^^c8{\`E} \gdef^^c9{\'E} \gdef^^ca{\^E} \gdef^^cb{\"E} \gdef^^cc{\`I} \gdef^^cd{\'I} \gdef^^ce{\^I} \gdef^^cf{\"I} % \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER ETH}} \gdef^^d1{\~N} \gdef^^d2{\`O} \gdef^^d3{\'O} \gdef^^d4{\^O} \gdef^^d5{\~O} \gdef^^d6{\"O} \gdef^^d7{$\times$} \gdef^^d8{\O} \gdef^^d9{\`U} \gdef^^da{\'U} \gdef^^db{\^U} \gdef^^dc{\"U} \gdef^^dd{\'Y} \gdef^^de{\missingcharmsg{LATIN CAPITAL LETTER THORN}} \gdef^^df{\ss} % \gdef^^e0{\`a} \gdef^^e1{\'a} \gdef^^e2{\^a} \gdef^^e3{\~a} \gdef^^e4{\"a} \gdef^^e5{\ringaccent a} \gdef^^e6{\ae} \gdef^^e7{\cedilla c} \gdef^^e8{\`e} \gdef^^e9{\'e} \gdef^^ea{\^e} \gdef^^eb{\"e} \gdef^^ec{\`{\dotless i}} \gdef^^ed{\'{\dotless i}} \gdef^^ee{\^{\dotless i}} \gdef^^ef{\"{\dotless i}} % \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER ETH}} \gdef^^f1{\~n} \gdef^^f2{\`o} \gdef^^f3{\'o} \gdef^^f4{\^o} \gdef^^f5{\~o} \gdef^^f6{\"o} \gdef^^f7{$\div$} \gdef^^f8{\o} \gdef^^f9{\`u} \gdef^^fa{\'u} \gdef^^fb{\^u} \gdef^^fc{\"u} \gdef^^fd{\'y} \gdef^^fe{\missingcharmsg{LATIN SMALL LETTER THORN}} \gdef^^ff{\"y} } % Latin9 (ISO-8859-15) encoding character definitions. \def\latninechardefs{% % Encoding is almost identical to Latin1. \latonechardefs % \gdef^^a4{\euro} \gdef^^a6{\v S} \gdef^^a8{\v s} \gdef^^b4{\v Z} \gdef^^b8{\v z} \gdef^^bc{\OE} \gdef^^bd{\oe} \gdef^^be{\"Y} } % Latin2 (ISO-8859-2) character definitions. \def\lattwochardefs{% \gdef^^a0{~} \gdef^^a1{\ogonek{A}} \gdef^^a2{\u{}} \gdef^^a3{\L} \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} \gdef^^a5{\v L} \gdef^^a6{\'S} \gdef^^a7{\S} \gdef^^a8{\"{}} \gdef^^a9{\v S} \gdef^^aa{\cedilla S} \gdef^^ab{\v T} \gdef^^ac{\'Z} \gdef^^ad{\-} \gdef^^ae{\v Z} \gdef^^af{\dotaccent Z} % \gdef^^b0{\textdegree} \gdef^^b1{\ogonek{a}} \gdef^^b2{\ogonek{ }} \gdef^^b3{\l} \gdef^^b4{\'{}} \gdef^^b5{\v l} \gdef^^b6{\'s} \gdef^^b7{\v{}} \gdef^^b8{\cedilla\ } \gdef^^b9{\v s} \gdef^^ba{\cedilla s} \gdef^^bb{\v t} \gdef^^bc{\'z} \gdef^^bd{\H{}} \gdef^^be{\v z} \gdef^^bf{\dotaccent z} % \gdef^^c0{\'R} \gdef^^c1{\'A} \gdef^^c2{\^A} \gdef^^c3{\u A} \gdef^^c4{\"A} \gdef^^c5{\'L} \gdef^^c6{\'C} \gdef^^c7{\cedilla C} \gdef^^c8{\v C} \gdef^^c9{\'E} \gdef^^ca{\ogonek{E}} \gdef^^cb{\"E} \gdef^^cc{\v E} \gdef^^cd{\'I} \gdef^^ce{\^I} \gdef^^cf{\v D} % \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER D WITH STROKE}} \gdef^^d1{\'N} \gdef^^d2{\v N} \gdef^^d3{\'O} \gdef^^d4{\^O} \gdef^^d5{\H O} \gdef^^d6{\"O} \gdef^^d7{$\times$} \gdef^^d8{\v R} \gdef^^d9{\ringaccent U} \gdef^^da{\'U} \gdef^^db{\H U} \gdef^^dc{\"U} \gdef^^dd{\'Y} \gdef^^de{\cedilla T} \gdef^^df{\ss} % \gdef^^e0{\'r} \gdef^^e1{\'a} \gdef^^e2{\^a} \gdef^^e3{\u a} \gdef^^e4{\"a} \gdef^^e5{\'l} \gdef^^e6{\'c} \gdef^^e7{\cedilla c} \gdef^^e8{\v c} \gdef^^e9{\'e} \gdef^^ea{\ogonek{e}} \gdef^^eb{\"e} \gdef^^ec{\v e} \gdef^^ed{\'\i} \gdef^^ee{\^\i} \gdef^^ef{\v d} % \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER D WITH STROKE}} \gdef^^f1{\'n} \gdef^^f2{\v n} \gdef^^f3{\'o} \gdef^^f4{\^o} \gdef^^f5{\H o} \gdef^^f6{\"o} \gdef^^f7{$\div$} \gdef^^f8{\v r} \gdef^^f9{\ringaccent u} \gdef^^fa{\'u} \gdef^^fb{\H u} \gdef^^fc{\"u} \gdef^^fd{\'y} \gdef^^fe{\cedilla t} \gdef^^ff{\dotaccent{}} } % UTF-8 character definitions. % % This code to support UTF-8 is based on LaTeX's utf8.def, with some % changes for Texinfo conventions. It is included here under the GPL by % permission from Frank Mittelbach and the LaTeX team. % \newcount\countUTFx \newcount\countUTFy \newcount\countUTFz \gdef\UTFviiiTwoOctets#1#2{\expandafter \UTFviiiDefined\csname u8:#1\string #2\endcsname} % \gdef\UTFviiiThreeOctets#1#2#3{\expandafter \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname} % \gdef\UTFviiiFourOctets#1#2#3#4{\expandafter \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname} \gdef\UTFviiiDefined#1{% \ifx #1\relax \message{\linenumber Unicode char \string #1 not defined for Texinfo}% \else \expandafter #1% \fi } \begingroup \catcode`\~13 \catcode`\"12 \def\UTFviiiLoop{% \global\catcode\countUTFx\active \uccode`\~\countUTFx \uppercase\expandafter{\UTFviiiTmp}% \advance\countUTFx by 1 \ifnum\countUTFx < \countUTFy \expandafter\UTFviiiLoop \fi} \countUTFx = "C2 \countUTFy = "E0 \def\UTFviiiTmp{% \xdef~{\noexpand\UTFviiiTwoOctets\string~}} \UTFviiiLoop \countUTFx = "E0 \countUTFy = "F0 \def\UTFviiiTmp{% \xdef~{\noexpand\UTFviiiThreeOctets\string~}} \UTFviiiLoop \countUTFx = "F0 \countUTFy = "F4 \def\UTFviiiTmp{% \xdef~{\noexpand\UTFviiiFourOctets\string~}} \UTFviiiLoop \endgroup \begingroup \catcode`\"=12 \catcode`\<=12 \catcode`\.=12 \catcode`\,=12 \catcode`\;=12 \catcode`\!=12 \catcode`\~=13 \gdef\DeclareUnicodeCharacter#1#2{% \countUTFz = "#1\relax \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% \begingroup \parseXMLCharref \def\UTFviiiTwoOctets##1##2{% \csname u8:##1\string ##2\endcsname}% \def\UTFviiiThreeOctets##1##2##3{% \csname u8:##1\string ##2\string ##3\endcsname}% \def\UTFviiiFourOctets##1##2##3##4{% \csname u8:##1\string ##2\string ##3\string ##4\endcsname}% \expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter \gdef\UTFviiiTmp{#2}% \endgroup} \gdef\parseXMLCharref{% \ifnum\countUTFz < "A0\relax \errhelp = \EMsimple \errmessage{Cannot define Unicode char value < 00A0}% \else\ifnum\countUTFz < "800\relax \parseUTFviiiA,% \parseUTFviiiB C\UTFviiiTwoOctets.,% \else\ifnum\countUTFz < "10000\relax \parseUTFviiiA;% \parseUTFviiiA,% \parseUTFviiiB E\UTFviiiThreeOctets.{,;}% \else \parseUTFviiiA;% \parseUTFviiiA,% \parseUTFviiiA!% \parseUTFviiiB F\UTFviiiFourOctets.{!,;}% \fi\fi\fi } \gdef\parseUTFviiiA#1{% \countUTFx = \countUTFz \divide\countUTFz by 64 \countUTFy = \countUTFz \multiply\countUTFz by 64 \advance\countUTFx by -\countUTFz \advance\countUTFx by 128 \uccode `#1\countUTFx \countUTFz = \countUTFy} \gdef\parseUTFviiiB#1#2#3#4{% \advance\countUTFz by "#10\relax \uccode `#3\countUTFz \uppercase{\gdef\UTFviiiTmp{#2#3#4}}} \endgroup \def\utfeightchardefs{% \DeclareUnicodeCharacter{00A0}{\tie} \DeclareUnicodeCharacter{00A1}{\exclamdown} \DeclareUnicodeCharacter{00A3}{\pounds} \DeclareUnicodeCharacter{00A8}{\"{ }} \DeclareUnicodeCharacter{00A9}{\copyright} \DeclareUnicodeCharacter{00AA}{\ordf} \DeclareUnicodeCharacter{00AB}{\guillemetleft} \DeclareUnicodeCharacter{00AD}{\-} \DeclareUnicodeCharacter{00AE}{\registeredsymbol} \DeclareUnicodeCharacter{00AF}{\={ }} \DeclareUnicodeCharacter{00B0}{\ringaccent{ }} \DeclareUnicodeCharacter{00B4}{\'{ }} \DeclareUnicodeCharacter{00B8}{\cedilla{ }} \DeclareUnicodeCharacter{00BA}{\ordm} \DeclareUnicodeCharacter{00BB}{\guillemetright} \DeclareUnicodeCharacter{00BF}{\questiondown} \DeclareUnicodeCharacter{00C0}{\`A} \DeclareUnicodeCharacter{00C1}{\'A} \DeclareUnicodeCharacter{00C2}{\^A} \DeclareUnicodeCharacter{00C3}{\~A} \DeclareUnicodeCharacter{00C4}{\"A} \DeclareUnicodeCharacter{00C5}{\AA} \DeclareUnicodeCharacter{00C6}{\AE} \DeclareUnicodeCharacter{00C7}{\cedilla{C}} \DeclareUnicodeCharacter{00C8}{\`E} \DeclareUnicodeCharacter{00C9}{\'E} \DeclareUnicodeCharacter{00CA}{\^E} \DeclareUnicodeCharacter{00CB}{\"E} \DeclareUnicodeCharacter{00CC}{\`I} \DeclareUnicodeCharacter{00CD}{\'I} \DeclareUnicodeCharacter{00CE}{\^I} \DeclareUnicodeCharacter{00CF}{\"I} \DeclareUnicodeCharacter{00D1}{\~N} \DeclareUnicodeCharacter{00D2}{\`O} \DeclareUnicodeCharacter{00D3}{\'O} \DeclareUnicodeCharacter{00D4}{\^O} \DeclareUnicodeCharacter{00D5}{\~O} \DeclareUnicodeCharacter{00D6}{\"O} \DeclareUnicodeCharacter{00D8}{\O} \DeclareUnicodeCharacter{00D9}{\`U} \DeclareUnicodeCharacter{00DA}{\'U} \DeclareUnicodeCharacter{00DB}{\^U} \DeclareUnicodeCharacter{00DC}{\"U} \DeclareUnicodeCharacter{00DD}{\'Y} \DeclareUnicodeCharacter{00DF}{\ss} \DeclareUnicodeCharacter{00E0}{\`a} \DeclareUnicodeCharacter{00E1}{\'a} \DeclareUnicodeCharacter{00E2}{\^a} \DeclareUnicodeCharacter{00E3}{\~a} \DeclareUnicodeCharacter{00E4}{\"a} \DeclareUnicodeCharacter{00E5}{\aa} \DeclareUnicodeCharacter{00E6}{\ae} \DeclareUnicodeCharacter{00E7}{\cedilla{c}} \DeclareUnicodeCharacter{00E8}{\`e} \DeclareUnicodeCharacter{00E9}{\'e} \DeclareUnicodeCharacter{00EA}{\^e} \DeclareUnicodeCharacter{00EB}{\"e} \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}} \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}} \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}} \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}} \DeclareUnicodeCharacter{00F1}{\~n} \DeclareUnicodeCharacter{00F2}{\`o} \DeclareUnicodeCharacter{00F3}{\'o} \DeclareUnicodeCharacter{00F4}{\^o} \DeclareUnicodeCharacter{00F5}{\~o} \DeclareUnicodeCharacter{00F6}{\"o} \DeclareUnicodeCharacter{00F8}{\o} \DeclareUnicodeCharacter{00F9}{\`u} \DeclareUnicodeCharacter{00FA}{\'u} \DeclareUnicodeCharacter{00FB}{\^u} \DeclareUnicodeCharacter{00FC}{\"u} \DeclareUnicodeCharacter{00FD}{\'y} \DeclareUnicodeCharacter{00FF}{\"y} \DeclareUnicodeCharacter{0100}{\=A} \DeclareUnicodeCharacter{0101}{\=a} \DeclareUnicodeCharacter{0102}{\u{A}} \DeclareUnicodeCharacter{0103}{\u{a}} \DeclareUnicodeCharacter{0104}{\ogonek{A}} \DeclareUnicodeCharacter{0105}{\ogonek{a}} \DeclareUnicodeCharacter{0106}{\'C} \DeclareUnicodeCharacter{0107}{\'c} \DeclareUnicodeCharacter{0108}{\^C} \DeclareUnicodeCharacter{0109}{\^c} \DeclareUnicodeCharacter{0118}{\ogonek{E}} \DeclareUnicodeCharacter{0119}{\ogonek{e}} \DeclareUnicodeCharacter{010A}{\dotaccent{C}} \DeclareUnicodeCharacter{010B}{\dotaccent{c}} \DeclareUnicodeCharacter{010C}{\v{C}} \DeclareUnicodeCharacter{010D}{\v{c}} \DeclareUnicodeCharacter{010E}{\v{D}} \DeclareUnicodeCharacter{0112}{\=E} \DeclareUnicodeCharacter{0113}{\=e} \DeclareUnicodeCharacter{0114}{\u{E}} \DeclareUnicodeCharacter{0115}{\u{e}} \DeclareUnicodeCharacter{0116}{\dotaccent{E}} \DeclareUnicodeCharacter{0117}{\dotaccent{e}} \DeclareUnicodeCharacter{011A}{\v{E}} \DeclareUnicodeCharacter{011B}{\v{e}} \DeclareUnicodeCharacter{011C}{\^G} \DeclareUnicodeCharacter{011D}{\^g} \DeclareUnicodeCharacter{011E}{\u{G}} \DeclareUnicodeCharacter{011F}{\u{g}} \DeclareUnicodeCharacter{0120}{\dotaccent{G}} \DeclareUnicodeCharacter{0121}{\dotaccent{g}} \DeclareUnicodeCharacter{0124}{\^H} \DeclareUnicodeCharacter{0125}{\^h} \DeclareUnicodeCharacter{0128}{\~I} \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}} \DeclareUnicodeCharacter{012A}{\=I} \DeclareUnicodeCharacter{012B}{\={\dotless{i}}} \DeclareUnicodeCharacter{012C}{\u{I}} \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}} \DeclareUnicodeCharacter{0130}{\dotaccent{I}} \DeclareUnicodeCharacter{0131}{\dotless{i}} \DeclareUnicodeCharacter{0132}{IJ} \DeclareUnicodeCharacter{0133}{ij} \DeclareUnicodeCharacter{0134}{\^J} \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}} \DeclareUnicodeCharacter{0139}{\'L} \DeclareUnicodeCharacter{013A}{\'l} \DeclareUnicodeCharacter{0141}{\L} \DeclareUnicodeCharacter{0142}{\l} \DeclareUnicodeCharacter{0143}{\'N} \DeclareUnicodeCharacter{0144}{\'n} \DeclareUnicodeCharacter{0147}{\v{N}} \DeclareUnicodeCharacter{0148}{\v{n}} \DeclareUnicodeCharacter{014C}{\=O} \DeclareUnicodeCharacter{014D}{\=o} \DeclareUnicodeCharacter{014E}{\u{O}} \DeclareUnicodeCharacter{014F}{\u{o}} \DeclareUnicodeCharacter{0150}{\H{O}} \DeclareUnicodeCharacter{0151}{\H{o}} \DeclareUnicodeCharacter{0152}{\OE} \DeclareUnicodeCharacter{0153}{\oe} \DeclareUnicodeCharacter{0154}{\'R} \DeclareUnicodeCharacter{0155}{\'r} \DeclareUnicodeCharacter{0158}{\v{R}} \DeclareUnicodeCharacter{0159}{\v{r}} \DeclareUnicodeCharacter{015A}{\'S} \DeclareUnicodeCharacter{015B}{\'s} \DeclareUnicodeCharacter{015C}{\^S} \DeclareUnicodeCharacter{015D}{\^s} \DeclareUnicodeCharacter{015E}{\cedilla{S}} \DeclareUnicodeCharacter{015F}{\cedilla{s}} \DeclareUnicodeCharacter{0160}{\v{S}} \DeclareUnicodeCharacter{0161}{\v{s}} \DeclareUnicodeCharacter{0162}{\cedilla{t}} \DeclareUnicodeCharacter{0163}{\cedilla{T}} \DeclareUnicodeCharacter{0164}{\v{T}} \DeclareUnicodeCharacter{0168}{\~U} \DeclareUnicodeCharacter{0169}{\~u} \DeclareUnicodeCharacter{016A}{\=U} \DeclareUnicodeCharacter{016B}{\=u} \DeclareUnicodeCharacter{016C}{\u{U}} \DeclareUnicodeCharacter{016D}{\u{u}} \DeclareUnicodeCharacter{016E}{\ringaccent{U}} \DeclareUnicodeCharacter{016F}{\ringaccent{u}} \DeclareUnicodeCharacter{0170}{\H{U}} \DeclareUnicodeCharacter{0171}{\H{u}} \DeclareUnicodeCharacter{0174}{\^W} \DeclareUnicodeCharacter{0175}{\^w} \DeclareUnicodeCharacter{0176}{\^Y} \DeclareUnicodeCharacter{0177}{\^y} \DeclareUnicodeCharacter{0178}{\"Y} \DeclareUnicodeCharacter{0179}{\'Z} \DeclareUnicodeCharacter{017A}{\'z} \DeclareUnicodeCharacter{017B}{\dotaccent{Z}} \DeclareUnicodeCharacter{017C}{\dotaccent{z}} \DeclareUnicodeCharacter{017D}{\v{Z}} \DeclareUnicodeCharacter{017E}{\v{z}} \DeclareUnicodeCharacter{01C4}{D\v{Z}} \DeclareUnicodeCharacter{01C5}{D\v{z}} \DeclareUnicodeCharacter{01C6}{d\v{z}} \DeclareUnicodeCharacter{01C7}{LJ} \DeclareUnicodeCharacter{01C8}{Lj} \DeclareUnicodeCharacter{01C9}{lj} \DeclareUnicodeCharacter{01CA}{NJ} \DeclareUnicodeCharacter{01CB}{Nj} \DeclareUnicodeCharacter{01CC}{nj} \DeclareUnicodeCharacter{01CD}{\v{A}} \DeclareUnicodeCharacter{01CE}{\v{a}} \DeclareUnicodeCharacter{01CF}{\v{I}} \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}} \DeclareUnicodeCharacter{01D1}{\v{O}} \DeclareUnicodeCharacter{01D2}{\v{o}} \DeclareUnicodeCharacter{01D3}{\v{U}} \DeclareUnicodeCharacter{01D4}{\v{u}} \DeclareUnicodeCharacter{01E2}{\={\AE}} \DeclareUnicodeCharacter{01E3}{\={\ae}} \DeclareUnicodeCharacter{01E6}{\v{G}} \DeclareUnicodeCharacter{01E7}{\v{g}} \DeclareUnicodeCharacter{01E8}{\v{K}} \DeclareUnicodeCharacter{01E9}{\v{k}} \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}} \DeclareUnicodeCharacter{01F1}{DZ} \DeclareUnicodeCharacter{01F2}{Dz} \DeclareUnicodeCharacter{01F3}{dz} \DeclareUnicodeCharacter{01F4}{\'G} \DeclareUnicodeCharacter{01F5}{\'g} \DeclareUnicodeCharacter{01F8}{\`N} \DeclareUnicodeCharacter{01F9}{\`n} \DeclareUnicodeCharacter{01FC}{\'{\AE}} \DeclareUnicodeCharacter{01FD}{\'{\ae}} \DeclareUnicodeCharacter{01FE}{\'{\O}} \DeclareUnicodeCharacter{01FF}{\'{\o}} \DeclareUnicodeCharacter{021E}{\v{H}} \DeclareUnicodeCharacter{021F}{\v{h}} \DeclareUnicodeCharacter{0226}{\dotaccent{A}} \DeclareUnicodeCharacter{0227}{\dotaccent{a}} \DeclareUnicodeCharacter{0228}{\cedilla{E}} \DeclareUnicodeCharacter{0229}{\cedilla{e}} \DeclareUnicodeCharacter{022E}{\dotaccent{O}} \DeclareUnicodeCharacter{022F}{\dotaccent{o}} \DeclareUnicodeCharacter{0232}{\=Y} \DeclareUnicodeCharacter{0233}{\=y} \DeclareUnicodeCharacter{0237}{\dotless{j}} \DeclareUnicodeCharacter{02DB}{\ogonek{ }} \DeclareUnicodeCharacter{1E02}{\dotaccent{B}} \DeclareUnicodeCharacter{1E03}{\dotaccent{b}} \DeclareUnicodeCharacter{1E04}{\udotaccent{B}} \DeclareUnicodeCharacter{1E05}{\udotaccent{b}} \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}} \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}} \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}} \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}} \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}} \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}} \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}} \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}} \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}} \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}} \DeclareUnicodeCharacter{1E20}{\=G} \DeclareUnicodeCharacter{1E21}{\=g} \DeclareUnicodeCharacter{1E22}{\dotaccent{H}} \DeclareUnicodeCharacter{1E23}{\dotaccent{h}} \DeclareUnicodeCharacter{1E24}{\udotaccent{H}} \DeclareUnicodeCharacter{1E25}{\udotaccent{h}} \DeclareUnicodeCharacter{1E26}{\"H} \DeclareUnicodeCharacter{1E27}{\"h} \DeclareUnicodeCharacter{1E30}{\'K} \DeclareUnicodeCharacter{1E31}{\'k} \DeclareUnicodeCharacter{1E32}{\udotaccent{K}} \DeclareUnicodeCharacter{1E33}{\udotaccent{k}} \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}} \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}} \DeclareUnicodeCharacter{1E36}{\udotaccent{L}} \DeclareUnicodeCharacter{1E37}{\udotaccent{l}} \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}} \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}} \DeclareUnicodeCharacter{1E3E}{\'M} \DeclareUnicodeCharacter{1E3F}{\'m} \DeclareUnicodeCharacter{1E40}{\dotaccent{M}} \DeclareUnicodeCharacter{1E41}{\dotaccent{m}} \DeclareUnicodeCharacter{1E42}{\udotaccent{M}} \DeclareUnicodeCharacter{1E43}{\udotaccent{m}} \DeclareUnicodeCharacter{1E44}{\dotaccent{N}} \DeclareUnicodeCharacter{1E45}{\dotaccent{n}} \DeclareUnicodeCharacter{1E46}{\udotaccent{N}} \DeclareUnicodeCharacter{1E47}{\udotaccent{n}} \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}} \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}} \DeclareUnicodeCharacter{1E54}{\'P} \DeclareUnicodeCharacter{1E55}{\'p} \DeclareUnicodeCharacter{1E56}{\dotaccent{P}} \DeclareUnicodeCharacter{1E57}{\dotaccent{p}} \DeclareUnicodeCharacter{1E58}{\dotaccent{R}} \DeclareUnicodeCharacter{1E59}{\dotaccent{r}} \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}} \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}} \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}} \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}} \DeclareUnicodeCharacter{1E60}{\dotaccent{S}} \DeclareUnicodeCharacter{1E61}{\dotaccent{s}} \DeclareUnicodeCharacter{1E62}{\udotaccent{S}} \DeclareUnicodeCharacter{1E63}{\udotaccent{s}} \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}} \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}} \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}} \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}} \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}} \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}} \DeclareUnicodeCharacter{1E7C}{\~V} \DeclareUnicodeCharacter{1E7D}{\~v} \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}} \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}} \DeclareUnicodeCharacter{1E80}{\`W} \DeclareUnicodeCharacter{1E81}{\`w} \DeclareUnicodeCharacter{1E82}{\'W} \DeclareUnicodeCharacter{1E83}{\'w} \DeclareUnicodeCharacter{1E84}{\"W} \DeclareUnicodeCharacter{1E85}{\"w} \DeclareUnicodeCharacter{1E86}{\dotaccent{W}} \DeclareUnicodeCharacter{1E87}{\dotaccent{w}} \DeclareUnicodeCharacter{1E88}{\udotaccent{W}} \DeclareUnicodeCharacter{1E89}{\udotaccent{w}} \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}} \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}} \DeclareUnicodeCharacter{1E8C}{\"X} \DeclareUnicodeCharacter{1E8D}{\"x} \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}} \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}} \DeclareUnicodeCharacter{1E90}{\^Z} \DeclareUnicodeCharacter{1E91}{\^z} \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}} \DeclareUnicodeCharacter{1E93}{\udotaccent{z}} \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}} \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}} \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}} \DeclareUnicodeCharacter{1E97}{\"t} \DeclareUnicodeCharacter{1E98}{\ringaccent{w}} \DeclareUnicodeCharacter{1E99}{\ringaccent{y}} \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}} \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}} \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}} \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}} \DeclareUnicodeCharacter{1EBC}{\~E} \DeclareUnicodeCharacter{1EBD}{\~e} \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}} \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}} \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}} \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}} \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}} \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}} \DeclareUnicodeCharacter{1EF2}{\`Y} \DeclareUnicodeCharacter{1EF3}{\`y} \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}} \DeclareUnicodeCharacter{1EF8}{\~Y} \DeclareUnicodeCharacter{1EF9}{\~y} \DeclareUnicodeCharacter{2013}{--} \DeclareUnicodeCharacter{2014}{---} \DeclareUnicodeCharacter{2018}{\quoteleft} \DeclareUnicodeCharacter{2019}{\quoteright} \DeclareUnicodeCharacter{201A}{\quotesinglbase} \DeclareUnicodeCharacter{201C}{\quotedblleft} \DeclareUnicodeCharacter{201D}{\quotedblright} \DeclareUnicodeCharacter{201E}{\quotedblbase} \DeclareUnicodeCharacter{2022}{\bullet} \DeclareUnicodeCharacter{2026}{\dots} \DeclareUnicodeCharacter{2039}{\guilsinglleft} \DeclareUnicodeCharacter{203A}{\guilsinglright} \DeclareUnicodeCharacter{20AC}{\euro} \DeclareUnicodeCharacter{2192}{\expansion} \DeclareUnicodeCharacter{21D2}{\result} \DeclareUnicodeCharacter{2212}{\minus} \DeclareUnicodeCharacter{2217}{\point} \DeclareUnicodeCharacter{2261}{\equiv} }% end of \utfeightchardefs % US-ASCII character definitions. \def\asciichardefs{% nothing need be done \relax } % Make non-ASCII characters printable again for compatibility with % existing Texinfo documents that may use them, even without declaring a % document encoding. % \setnonasciicharscatcode \other \message{formatting,} \newdimen\defaultparindent \defaultparindent = 15pt \chapheadingskip = 15pt plus 4pt minus 2pt \secheadingskip = 12pt plus 3pt minus 2pt \subsecheadingskip = 9pt plus 2pt minus 2pt % Prevent underfull vbox error messages. \vbadness = 10000 % Don't be so finicky about underfull hboxes, either. \hbadness = 2000 % Following George Bush, get rid of widows and orphans. \widowpenalty=10000 \clubpenalty=10000 % Use TeX 3.0's \emergencystretch to help line breaking, but if we're % using an old version of TeX, don't do anything. We want the amount of % stretch added to depend on the line length, hence the dependence on % \hsize. We call this whenever the paper size is set. % \def\setemergencystretch{% \ifx\emergencystretch\thisisundefined % Allow us to assign to \emergencystretch anyway. \def\emergencystretch{\dimen0}% \else \emergencystretch = .15\hsize \fi } % Parameters in order: 1) textheight; 2) textwidth; % 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; % 7) physical page height; 8) physical page width. % % We also call \setleading{\textleading}, so the caller should define % \textleading. The caller should also set \parskip. % \def\internalpagesizes#1#2#3#4#5#6#7#8{% \voffset = #3\relax \topskip = #6\relax \splittopskip = \topskip % \vsize = #1\relax \advance\vsize by \topskip \outervsize = \vsize \advance\outervsize by 2\topandbottommargin \pageheight = \vsize % \hsize = #2\relax \outerhsize = \hsize \advance\outerhsize by 0.5in \pagewidth = \hsize % \normaloffset = #4\relax \bindingoffset = #5\relax % \ifpdf \pdfpageheight #7\relax \pdfpagewidth #8\relax % if we don't reset these, they will remain at "1 true in" of % whatever layout pdftex was dumped with. \pdfhorigin = 1 true in \pdfvorigin = 1 true in \fi % \setleading{\textleading} % \parindent = \defaultparindent \setemergencystretch } % @letterpaper (the default). \def\letterpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % % If page is nothing but text, make it come out even. \internalpagesizes{607.2pt}{6in}% that's 46 lines {\voffset}{.25in}% {\bindingoffset}{36pt}% {11in}{8.5in}% }} % Use @smallbook to reset parameters for 7x9.25 trim size. \def\smallbook{{\globaldefs = 1 \parskip = 2pt plus 1pt \textleading = 12pt % \internalpagesizes{7.5in}{5in}% {-.2in}{0in}% {\bindingoffset}{16pt}% {9.25in}{7in}% % \lispnarrowing = 0.3in \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \defbodyindent = .5cm }} % Use @smallerbook to reset parameters for 6x9 trim size. % (Just testing, parameters still in flux.) \def\smallerbook{{\globaldefs = 1 \parskip = 1.5pt plus 1pt \textleading = 12pt % \internalpagesizes{7.4in}{4.8in}% {-.2in}{-.4in}% {0pt}{14pt}% {9in}{6in}% % \lispnarrowing = 0.25in \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \defbodyindent = .4cm }} % Use @afourpaper to print on European A4 paper. \def\afourpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % % Double-side printing via postscript on Laserjet 4050 % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. % To change the settings for a different printer or situation, adjust % \normaloffset until the front-side and back-side texts align. Then % do the same for \bindingoffset. You can set these for testing in % your texinfo source file like this: % @tex % \global\normaloffset = -6mm % \global\bindingoffset = 10mm % @end tex \internalpagesizes{673.2pt}{160mm}% that's 51 lines {\voffset}{\hoffset}% {\bindingoffset}{44pt}% {297mm}{210mm}% % \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \defbodyindent = 5mm }} % Use @afivepaper to print on European A5 paper. % From romildo@urano.iceb.ufop.br, 2 July 2000. % He also recommends making @example and @lisp be small. \def\afivepaper{{\globaldefs = 1 \parskip = 2pt plus 1pt minus 0.1pt \textleading = 12.5pt % \internalpagesizes{160mm}{120mm}% {\voffset}{\hoffset}% {\bindingoffset}{8pt}% {210mm}{148mm}% % \lispnarrowing = 0.2in \tolerance = 800 \hfuzz = 1.2pt \contentsrightmargin = 0pt \defbodyindent = 2mm \tableindent = 12mm }} % A specific text layout, 24x15cm overall, intended for A4 paper. \def\afourlatex{{\globaldefs = 1 \afourpaper \internalpagesizes{237mm}{150mm}% {\voffset}{4.6mm}% {\bindingoffset}{7mm}% {297mm}{210mm}% % % Must explicitly reset to 0 because we call \afourpaper. \globaldefs = 0 }} % Use @afourwide to print on A4 paper in landscape format. \def\afourwide{{\globaldefs = 1 \afourpaper \internalpagesizes{241mm}{165mm}% {\voffset}{-2.95mm}% {\bindingoffset}{7mm}% {297mm}{210mm}% \globaldefs = 0 }} % @pagesizes TEXTHEIGHT[,TEXTWIDTH] % Perhaps we should allow setting the margins, \topskip, \parskip, % and/or leading, also. Or perhaps we should compute them somehow. % \parseargdef\pagesizes{\pagesizesyyy #1,,\finish} \def\pagesizesyyy#1,#2,#3\finish{{% \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi \globaldefs = 1 % \parskip = 3pt plus 2pt minus 1pt \setleading{\textleading}% % \dimen0 = #1\relax \advance\dimen0 by \voffset % \dimen2 = \hsize \advance\dimen2 by \normaloffset % \internalpagesizes{#1}{\hsize}% {\voffset}{\normaloffset}% {\bindingoffset}{44pt}% {\dimen0}{\dimen2}% }} % Set default to letter. % \letterpaper \message{and turning on texinfo input format.} % DEL is a comment character, in case @c does not suffice. \catcode`\^^? = 14 % Define macros to output various characters with catcode for normal text. \catcode`\"=\other \catcode`\~=\other \catcode`\^=\other \catcode`\_=\other \catcode`\|=\other \catcode`\<=\other \catcode`\>=\other \catcode`\+=\other \catcode`\$=\other \def\normaldoublequote{"} \def\normaltilde{~} \def\normalcaret{^} \def\normalunderscore{_} \def\normalverticalbar{|} \def\normalless{<} \def\normalgreater{>} \def\normalplus{+} \def\normaldollar{$}%$ font-lock fix % This macro is used to make a character print one way in \tt % (where it can probably be output as-is), and another way in other fonts, % where something hairier probably needs to be done. % % #1 is what to print if we are indeed using \tt; #2 is what to print % otherwise. Since all the Computer Modern typewriter fonts have zero % interword stretch (and shrink), and it is reasonable to expect all % typewriter fonts to have this, we can check that font parameter. % \def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} % Same as above, but check for italic font. Actually this also catches % non-italic slanted fonts since it is impossible to distinguish them from % italic fonts. But since this is only used by $ and it uses \sl anyway % this is not a problem. \def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} % Turn off all special characters except @ % (and those which the user can use as if they were ordinary). % Most of these we simply print from the \tt font, but for some, we can % use math or other variants that look better in normal text. \catcode`\"=\active \def\activedoublequote{{\tt\char34}} \let"=\activedoublequote \catcode`\~=\active \def~{{\tt\char126}} \chardef\hat=`\^ \catcode`\^=\active \def^{{\tt \hat}} \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} \let\realunder=_ % Subroutine for the previous macro. \def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } \catcode`\|=\active \def|{{\tt\char124}} \chardef \less=`\< \catcode`\<=\active \def<{{\tt \less}} \chardef \gtr=`\> \catcode`\>=\active \def>{{\tt \gtr}} \catcode`\+=\active \def+{{\tt \char 43}} \catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix % If a .fmt file is being used, characters that might appear in a file % name cannot be active until we have parsed the command line. % So turn them off again, and have \everyjob (or @setfilename) turn them on. % \otherifyactive is called near the end of this file. \def\otherifyactive{\catcode`+=\other \catcode`\_=\other} % Used sometimes to turn off (effectively) the active characters even after % parsing them. \def\turnoffactive{% \normalturnoffactive \otherbackslash } \catcode`\@=0 % \backslashcurfont outputs one backslash character in current font, % as in \char`\\. \global\chardef\backslashcurfont=`\\ \global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work % \realbackslash is an actual character `\' with catcode other, and % \doublebackslash is two of them (for the pdf outlines). {\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} % In texinfo, backslash is an active character; it prints the backslash % in fixed width font. \catcode`\\=\active @def@normalbackslash{{@tt@backslashcurfont}} % On startup, @fixbackslash assigns: % @let \ = @normalbackslash % \rawbackslash defines an active \ to do \backslashcurfont. % \otherbackslash defines an active \ to be a literal `\' character with % catcode other. @gdef@rawbackslash{@let\=@backslashcurfont} @gdef@otherbackslash{@let\=@realbackslash} % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of % the literal character `\'. % @def@normalturnoffactive{% @let\=@normalbackslash @let"=@normaldoublequote @let~=@normaltilde @let^=@normalcaret @let_=@normalunderscore @let|=@normalverticalbar @let<=@normalless @let>=@normalgreater @let+=@normalplus @let$=@normaldollar %$ font-lock fix @markupsetuplqdefault @markupsetuprqdefault @unsepspaces } % Make _ and + \other characters, temporarily. % This is canceled by @fixbackslash. @otherifyactive % If a .fmt file is being used, we don't want the `\input texinfo' to show up. % That is what \eatinput is for; after that, the `\' should revert to printing % a backslash. % @gdef@eatinput input texinfo{@fixbackslash} @global@let\ = @eatinput % On the other hand, perhaps the file did not have a `\input texinfo'. Then % the first `\' in the file would cause an error. This macro tries to fix % that, assuming it is called before the first `\' could plausibly occur. % Also turn back on active characters that might appear in the input % file name, in case not using a pre-dumped format. % @gdef@fixbackslash{% @ifx\@eatinput @let\ = @normalbackslash @fi @catcode`+=@active @catcode`@_=@active } % Say @foo, not \foo, in error messages. @escapechar = `@@ % These look ok in all fonts, so just make them not special. @catcode`@& = @other @catcode`@# = @other @catcode`@% = @other @c Finally, make ` and ' active, so that txicodequoteundirected and @c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we @c don't make ` and ' active, @code will not get them as active chars. @c Do this last of all since we use ` in the previous @catcode assignments. @catcode`@'=@active @catcode`@`=@active @markupsetuplqdefault @markupsetuprqdefault @c Local variables: @c eval: (add-hook 'write-file-hooks 'time-stamp) @c page-delimiter: "^\\\\message" @c time-stamp-start: "def\\\\texinfoversion{" @c time-stamp-format: "%:y-%02m-%02d.%02H" @c time-stamp-end: "}" @c End: @c vim:sw=2: @ignore arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115 @end ignore anubis-4.1.1+dfsg1/build/link-warning.h0000600000175000017500000000254611121755724015424 0ustar kbkb/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* GL_LINK_WARNING("literal string") arranges to emit the literal string as a linker warning on most glibc systems. We use a linker warning rather than a preprocessor warning, because #warning cannot be used inside macros. */ #ifndef GL_LINK_WARNING /* This works on platforms with GNU ld and ELF object format. Testing __GLIBC__ is sufficient for asserting that GNU ld is in use. Testing __ELF__ guarantees the ELF object format. Testing __GNUC__ is necessary for the compound expression syntax. */ # if defined __GLIBC__ && defined __ELF__ && defined __GNUC__ # define GL_LINK_WARNING(message) \ GL_LINK_WARNING1 (__FILE__, __LINE__, message) # define GL_LINK_WARNING1(file, line, message) \ GL_LINK_WARNING2 (file, line, message) /* macroexpand file and line */ # define GL_LINK_WARNING2(file, line, message) \ GL_LINK_WARNING3 (file ":" #line ": warning: " message) # define GL_LINK_WARNING3(message) \ ({ static const char warning[sizeof (message)] \ __attribute__ ((__unused__, \ __section__ (".gnu.warning"), \ __aligned__ (1))) \ = message "\n"; \ (void)0; \ }) # else # define GL_LINK_WARNING(message) ((void) 0) # endif #endif anubis-4.1.1+dfsg1/ABOUT-NLS0000600000175000017500000023334011121755731012777 0ustar kbkb1 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. 1.1 Quick configuration advice ============================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. 1.2 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. If not, the included GNU `gettext' library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will, respectively, bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might not be desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. Internationalized packages usually have many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. 1.3 Using This Package ====================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your language by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from `no' to `nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under `nb' and some older ones under `no', it's recommended for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and older translations are used. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. 1.4 Translating Teams ===================== For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `translation@iro.umontreal.ca' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skills are praised more than programming skills, here. 1.5 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of October 2006. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo +----------------------------------------------------+ GNUnet | [] | a2ps | [] [] [] [] [] | aegis | () | ant-phone | () | anubis | [] | ap-utils | | aspell | [] [] [] [] [] | bash | [] [] [] | batchelor | [] | bfd | | bibshelf | [] | binutils | [] | bison | [] [] | bison-runtime | | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | [] [] | coreutils | [] [] [] | cpio | | cpplib | [] [] [] | cryptonit | [] | darkstat | [] () [] | dialog | [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] | doodle | [] | e2fsprogs | [] [] | enscript | [] [] [] [] | error | [] [] [] [] | fetchmail | [] [] () [] | fileutils | [] [] | findutils | [] [] [] | flex | [] [] [] | fslint | [] | gas | | gawk | [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] | gimp-print | [] [] [] [] | gip | [] | gliv | [] | glunarclock | [] | gmult | [] [] | gnubiff | () | gnucash | () () [] | gnucash-glossary | [] () | gnuedu | | gnulib | [] [] [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] | gpe-conf | [] [] | gpe-contacts | | gpe-edit | [] | gpe-filemanager | | gpe-go | [] | gpe-login | [] [] | gpe-ownerinfo | [] [] | gpe-package | | gpe-sketchbook | [] [] | gpe-su | [] [] | gpe-taskmanager | [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | | gphoto2 | [] [] [] [] | gprof | [] [] | gpsdrive | () () | gramadoir | [] [] | grep | [] [] [] [] [] [] | gretl | | gsasl | | gss | | gst-plugins | [] [] [] [] | gst-plugins-base | [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] [] | gtick | () | gtkam | [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] | id-utils | [] [] | impost | | indent | [] [] [] | iso_3166 | [] [] | iso_3166_2 | | iso_4217 | [] | iso_639 | [] [] | jpilot | [] | jtag | | jwhois | | kbd | [] [] [] [] | keytouch | | keytouch-editor | | keytouch-keyboa... | | latrine | () | ld | [] | leafpad | [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] | libgpg-error | [] | libgphoto2 | [] [] | libgphoto2_port | [] [] | libgsasl | | libiconv | [] [] | libidn | [] [] | lifelines | [] () | lilypond | [] | lingoteach | | lynx | [] [] [] [] | m4 | [] [] [] [] | mailutils | [] | make | [] [] | man-db | [] () [] [] | minicom | [] [] [] | mysecretdiary | [] [] | nano | [] [] [] | nano_1_0 | [] () [] [] | opcodes | [] | parted | | pilot-qof | [] | psmisc | [] | pwdutils | | python | | qof | | radius | [] | recode | [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] [] | sed | [] [] [] | sh-utils | [] [] | shared-mime-info | [] [] [] [] | sharutils | [] [] [] [] [] [] | shishi | | silky | | skencil | [] () | sketch | [] () | solfege | | soundtracker | [] [] | sp | [] | stardict | [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] | texinfo | [] [] [] | textutils | [] [] [] | tin | () () | tp-robot | [] | tuxpaint | [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | vorbis-tools | [] [] [] [] | wastesedge | () | wdiff | [] [] [] [] | wget | [] [] | xchat | [] [] [] [] [] [] | xkeyboard-config | | xpad | [] [] | +----------------------------------------------------+ af am ar az be bg bs ca cs cy da de el en en_GB eo 10 0 1 2 9 22 1 42 41 2 60 95 16 1 17 16 es et eu fa fi fr ga gl gu he hi hr hu id is it +--------------------------------------------------+ GNUnet | | a2ps | [] [] [] () | aegis | | ant-phone | [] | anubis | [] | ap-utils | [] [] | aspell | [] [] [] | bash | [] [] [] | batchelor | [] [] | bfd | [] | bibshelf | [] [] [] | binutils | [] [] [] | bison | [] [] [] [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | | coreutils | [] [] [] [] [] [] | cpio | [] [] [] | cpplib | [] [] | cryptonit | [] | darkstat | [] () [] [] [] | dialog | [] [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] [] | enscript | [] [] [] | error | [] [] [] [] [] | fetchmail | [] | fileutils | [] [] [] [] [] [] | findutils | [] [] [] [] | flex | [] [] [] | fslint | [] | gas | [] [] | gawk | [] [] [] [] | gbiff | [] | gcal | [] [] | gcc | [] | gettext-examples | [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] | gimp-print | [] [] | gip | [] [] [] | gliv | () | glunarclock | [] [] [] | gmult | [] [] [] | gnubiff | () () | gnucash | () () () | gnucash-glossary | [] [] | gnuedu | [] | gnulib | [] [] [] [] [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] [] [] | gpe-conf | [] | gpe-contacts | [] [] | gpe-edit | [] [] [] [] | gpe-filemanager | [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] [] [] [] | gpe-package | [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] [] | gpe-taskmanager | [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] | gpe-todo | [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] [] | gpsdrive | () () [] () | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] [] [] [] [] | gretl | [] [] [] | gsasl | [] [] | gss | [] | gst-plugins | [] [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] [] | gstreamer | [] [] [] | gtick | [] | gtkam | [] [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] [] | impost | [] [] | indent | [] [] [] [] [] [] [] [] [] [] | iso_3166 | [] [] [] | iso_3166_2 | [] | iso_4217 | [] [] [] [] | iso_639 | [] [] [] [] [] | jpilot | [] [] | jtag | [] | jwhois | [] [] [] [] [] | kbd | [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | [] [] [] | ld | [] [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] [] [] | libgpg-error | | libgphoto2 | [] [] [] | libgphoto2_port | [] [] | libgsasl | [] [] | libiconv | [] [] | libidn | [] [] | lifelines | () | lilypond | [] | lingoteach | [] [] [] | lynx | [] [] [] | m4 | [] [] [] [] | mailutils | [] [] | make | [] [] [] [] [] [] [] [] | man-db | () | minicom | [] [] [] [] | mysecretdiary | [] [] [] | nano | [] [] [] [] [] [] | nano_1_0 | [] [] [] [] [] | opcodes | [] [] [] [] | parted | [] [] [] [] | pilot-qof | | psmisc | [] [] [] | pwdutils | | python | | qof | [] | radius | [] [] | recode | [] [] [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] | sed | [] [] [] [] [] | sh-utils | [] [] [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] [] [] | shishi | | silky | [] | skencil | [] [] | sketch | [] [] | solfege | [] | soundtracker | [] [] [] | sp | [] | stardict | [] | system-tools-ba... | [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] [] [] | texinfo | [] [] | textutils | [] [] [] [] [] | tin | [] () | tp-robot | [] [] [] [] | tuxpaint | [] [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux | [] [] [] [] [] [] [] | vorbis-tools | [] [] | wastesedge | () | wdiff | [] [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] | xchat | [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ es et eu fa fi fr ga gl gu he hi hr hu id is it 88 22 14 2 40 115 61 14 1 8 1 6 59 31 0 52 ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no +-------------------------------------------------+ GNUnet | | a2ps | () [] [] () | aegis | () | ant-phone | [] | anubis | [] [] [] | ap-utils | [] | aspell | [] [] | bash | [] | batchelor | [] [] | bfd | | bibshelf | [] | binutils | | bison | [] [] [] | bison-runtime | [] [] [] | bluez-pin | [] [] [] | cflow | | clisp | [] | console-tools | | coreutils | [] | cpio | | cpplib | [] | cryptonit | [] | darkstat | [] [] | dialog | [] [] | diffutils | [] [] [] | doodle | | e2fsprogs | [] | enscript | [] | error | [] | fetchmail | [] [] | fileutils | [] [] | findutils | [] | flex | [] [] | fslint | [] [] | gas | | gawk | [] [] | gbiff | [] | gcal | | gcc | | gettext-examples | [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gimp-print | [] [] | gip | [] [] | gliv | [] | glunarclock | [] [] | gmult | [] [] | gnubiff | | gnucash | () () | gnucash-glossary | [] | gnuedu | | gnulib | [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] | gpe-beam | [] | gpe-calendar | [] | gpe-clock | [] [] [] | gpe-conf | [] [] | gpe-contacts | [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] | gpe-taskmanager | [] [] [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | [] | gphoto2 | [] [] | gprof | | gpsdrive | () () () | gramadoir | () | grep | [] [] [] [] | gretl | | gsasl | [] | gss | | gst-plugins | [] | gst-plugins-base | | gst-plugins-good | [] | gstreamer | [] | gtick | | gtkam | [] | gtkorphan | [] | gtkspell | [] [] | gutenprint | | hello | [] [] [] [] [] [] | id-utils | [] | impost | | indent | [] [] | iso_3166 | [] | iso_3166_2 | [] | iso_4217 | [] [] [] | iso_639 | [] [] | jpilot | () () () | jtag | | jwhois | [] | kbd | [] | keytouch | [] | keytouch-editor | | keytouch-keyboa... | | latrine | [] | ld | | leafpad | [] [] | libc | [] [] [] [] [] | libexif | | libextractor | | libgpewidget | [] | libgpg-error | | libgphoto2 | [] | libgphoto2_port | [] | libgsasl | [] | libiconv | | libidn | [] [] | lifelines | [] | lilypond | | lingoteach | [] | lynx | [] [] | m4 | [] [] | mailutils | | make | [] [] [] | man-db | () | minicom | [] | mysecretdiary | [] | nano | [] [] [] | nano_1_0 | [] [] [] | opcodes | [] | parted | [] [] | pilot-qof | | psmisc | [] [] [] | pwdutils | | python | | qof | | radius | | recode | [] | rpm | [] [] | screem | [] | scrollkeeper | [] [] [] [] | sed | [] [] | sh-utils | [] [] | shared-mime-info | [] [] [] [] [] | sharutils | [] [] | shishi | | silky | [] | skencil | | sketch | | solfege | | soundtracker | | sp | () | stardict | [] [] | system-tools-ba... | [] [] [] [] | tar | [] [] [] | texinfo | [] [] [] | textutils | [] [] [] | tin | | tp-robot | [] | tuxpaint | [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] | vorbis-tools | [] | wastesedge | [] | wdiff | [] [] | wget | [] [] | xchat | [] [] [] [] | xkeyboard-config | [] | xpad | [] [] [] | +-------------------------------------------------+ ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no 52 24 2 2 1 3 0 2 3 21 0 15 1 97 5 1 nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta +------------------------------------------------------+ GNUnet | | a2ps | () [] [] [] [] [] [] | aegis | () () | ant-phone | [] [] | anubis | [] [] [] | ap-utils | () | aspell | [] [] | bash | [] [] [] | batchelor | [] [] | bfd | | bibshelf | [] | binutils | [] [] | bison | [] [] [] [] [] | bison-runtime | [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] [] | cflow | [] | clisp | [] | console-tools | [] | coreutils | [] [] [] [] | cpio | [] [] [] | cpplib | [] | cryptonit | [] [] | darkstat | [] [] [] [] [] [] | dialog | [] [] [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] [] | error | [] [] [] [] | fetchmail | [] [] [] | fileutils | [] [] [] [] [] | findutils | [] [] [] [] [] [] | flex | [] [] [] [] [] | fslint | [] [] [] [] | gas | | gawk | [] [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] [] | gimp-print | [] [] | gip | [] [] [] [] | gliv | [] [] [] [] | glunarclock | [] [] [] [] [] [] | gmult | [] [] [] [] | gnubiff | () | gnucash | () [] | gnucash-glossary | [] [] [] | gnuedu | | gnulib | [] [] [] [] [] | gnunet-gtk | [] | gnutls | [] [] | gpe-aerial | [] [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] [] | gpe-calendar | [] | gpe-clock | [] [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] [] | gpe-contacts | [] [] [] [] [] | gpe-edit | [] [] [] [] [] [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] [] [] [] | gpe-login | [] [] [] [] [] [] [] [] | gpe-ownerinfo | [] [] [] [] [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] [] [] [] [] [] | gpe-su | [] [] [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] [] | gpe-todo | [] [] [] [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] [] | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] | gretl | [] | gsasl | [] [] [] | gss | [] [] [] | gst-plugins | [] [] [] [] | gst-plugins-base | [] | gst-plugins-good | [] [] [] [] | gstreamer | [] [] [] | gtick | [] | gtkam | [] [] [] [] | gtkorphan | [] | gtkspell | [] [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] | impost | [] | indent | [] [] [] [] [] [] | iso_3166 | [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] [] [] | iso_639 | [] [] [] [] | jpilot | | jtag | [] | jwhois | [] [] [] [] | kbd | [] [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | [] [] | ld | [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] [] | libgpewidget | [] [] [] [] [] [] [] | libgpg-error | [] [] | libgphoto2 | [] | libgphoto2_port | [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] | libidn | [] [] () | lifelines | [] [] | lilypond | | lingoteach | [] | lynx | [] [] [] | m4 | [] [] [] [] [] | mailutils | [] [] [] [] | make | [] [] [] [] | man-db | [] [] | minicom | [] [] [] [] [] | mysecretdiary | [] [] [] [] | nano | [] [] [] | nano_1_0 | [] [] [] [] | opcodes | [] [] | parted | [] | pilot-qof | [] | psmisc | [] [] | pwdutils | [] [] | python | | qof | [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] | rpm | [] [] [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] | sh-utils | [] [] [] | shared-mime-info | [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] | silky | [] | skencil | [] [] [] | sketch | [] [] [] | solfege | [] | soundtracker | [] [] | sp | | stardict | [] [] [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] [] | textutils | [] [] [] | tin | () | tp-robot | [] | tuxpaint | [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | vorbis-tools | [] [] | wastesedge | | wdiff | [] [] [] [] [] [] | wget | [] [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] [] | xpad | [] [] [] | +------------------------------------------------------+ nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta 0 2 3 58 30 54 5 73 72 4 40 46 11 50 128 2 tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu +---------------------------------------------------+ GNUnet | [] | 2 a2ps | [] [] [] | 19 aegis | | 0 ant-phone | [] [] | 6 anubis | [] [] [] | 11 ap-utils | () [] | 4 aspell | [] [] [] | 15 bash | [] | 11 batchelor | [] [] | 9 bfd | | 1 bibshelf | [] | 7 binutils | [] [] [] | 9 bison | [] [] [] | 19 bison-runtime | [] [] [] | 15 bluez-pin | [] [] [] [] [] [] | 28 cflow | [] [] | 5 clisp | | 6 console-tools | [] [] | 5 coreutils | [] [] | 16 cpio | [] [] [] | 9 cpplib | [] [] [] [] | 11 cryptonit | | 5 darkstat | [] () () | 15 dialog | [] [] [] [] [] | 30 diffutils | [] [] [] [] | 28 doodle | [] | 6 e2fsprogs | [] [] | 10 enscript | [] [] [] | 16 error | [] [] [] [] | 18 fetchmail | [] [] | 12 fileutils | [] [] [] | 18 findutils | [] [] [] | 17 flex | [] [] | 15 fslint | [] | 9 gas | [] | 3 gawk | [] [] | 15 gbiff | [] | 5 gcal | [] | 5 gcc | [] [] [] | 6 gettext-examples | [] [] [] [] [] [] | 27 gettext-runtime | [] [] [] [] [] [] | 28 gettext-tools | [] [] [] [] [] | 19 gimp-print | [] [] | 12 gip | [] [] | 12 gliv | [] [] | 8 glunarclock | [] [] [] | 15 gmult | [] [] [] [] | 15 gnubiff | [] | 1 gnucash | () | 2 gnucash-glossary | [] [] | 9 gnuedu | [] | 2 gnulib | [] [] [] [] [] | 28 gnunet-gtk | | 1 gnutls | | 2 gpe-aerial | [] [] | 14 gpe-beam | [] [] | 14 gpe-calendar | [] | 3 gpe-clock | [] [] [] [] | 21 gpe-conf | [] [] | 14 gpe-contacts | [] [] | 10 gpe-edit | [] [] [] [] | 20 gpe-filemanager | [] | 6 gpe-go | [] [] | 15 gpe-login | [] [] [] [] [] | 21 gpe-ownerinfo | [] [] [] [] | 21 gpe-package | [] | 6 gpe-sketchbook | [] [] | 16 gpe-su | [] [] [] | 20 gpe-taskmanager | [] [] [] | 20 gpe-timesheet | [] [] [] [] | 18 gpe-today | [] [] [] [] [] | 21 gpe-todo | [] | 7 gphoto2 | [] [] [] [] | 20 gprof | [] [] | 11 gpsdrive | | 4 gramadoir | [] | 7 grep | [] [] [] [] | 34 gretl | | 4 gsasl | [] [] | 8 gss | [] | 5 gst-plugins | [] [] [] | 15 gst-plugins-base | [] [] [] | 9 gst-plugins-good | [] [] [] [] [] | 20 gstreamer | [] [] [] | 17 gtick | [] | 3 gtkam | [] | 13 gtkorphan | [] | 7 gtkspell | [] [] [] [] [] [] | 26 gutenprint | | 3 hello | [] [] [] [] [] | 37 id-utils | [] [] | 14 impost | [] | 4 indent | [] [] [] [] | 25 iso_3166 | [] [] [] [] | 16 iso_3166_2 | | 2 iso_4217 | [] [] | 14 iso_639 | [] | 14 jpilot | [] [] [] [] | 7 jtag | [] | 3 jwhois | [] [] [] | 13 kbd | [] [] | 12 keytouch | [] | 4 keytouch-editor | | 2 keytouch-keyboa... | [] | 3 latrine | [] [] | 8 ld | [] [] [] [] | 8 leafpad | [] [] [] [] | 23 libc | [] [] [] | 23 libexif | [] | 4 libextractor | [] | 5 libgpewidget | [] [] [] | 19 libgpg-error | [] | 4 libgphoto2 | [] | 8 libgphoto2_port | [] [] [] | 11 libgsasl | [] | 8 libiconv | [] | 7 libidn | [] [] | 10 lifelines | | 4 lilypond | | 2 lingoteach | [] | 6 lynx | [] [] [] | 15 m4 | [] [] [] | 18 mailutils | [] | 8 make | [] [] [] | 20 man-db | [] | 6 minicom | [] | 14 mysecretdiary | [] [] | 12 nano | [] [] | 17 nano_1_0 | [] [] [] | 18 opcodes | [] [] | 10 parted | [] [] [] | 10 pilot-qof | [] | 3 psmisc | [] | 10 pwdutils | [] | 3 python | | 0 qof | [] | 4 radius | [] | 6 recode | [] [] [] | 25 rpm | [] [] [] [] | 14 screem | [] | 2 scrollkeeper | [] [] [] [] | 26 sed | [] [] [] | 22 sh-utils | [] | 15 shared-mime-info | [] [] [] [] | 24 sharutils | [] [] [] | 23 shishi | | 1 silky | [] | 4 skencil | [] | 7 sketch | | 6 solfege | | 2 soundtracker | [] [] | 9 sp | [] | 3 stardict | [] [] [] [] | 11 system-tools-ba... | [] [] [] [] [] [] [] | 37 tar | [] [] [] [] | 20 texinfo | [] [] [] | 15 textutils | [] [] [] | 17 tin | | 1 tp-robot | [] [] [] | 10 tuxpaint | [] [] [] | 16 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux | [] [] [] | 20 vorbis-tools | [] [] | 11 wastesedge | | 1 wdiff | [] [] | 22 wget | [] [] [] | 19 xchat | [] [] [] [] | 29 xkeyboard-config | [] [] [] [] | 11 xpad | [] [] [] | 14 +---------------------------------------------------+ 77 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu 170 domains 0 1 1 77 39 0 136 10 1 48 5 54 0 2028 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If October 2006 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. 1.6 Using `gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `translation@iro.umontreal.ca' to make the `.pot' files available to the translation teams. anubis-4.1.1+dfsg1/THANKS0000600000175000017500000000355411121752642012463 0ustar kbkb The GNU Anubis was originally written by Wojciech Polak and Krzysztof Burghardt. Other people contributed by reporting problems, suggesting various improvements, porting, or submitting actual code. Here is a list of those people. Ayamura KIKUCHI Brian Dessent Daniel S. Haischt Dominique Bordereaux Jeremy Higgs Jim Cheetham Kamil Iskra Michael de Beer Mikael Ringeval Nikos Mavroyanopoulos Olaf Püschel Paolo Richard Stallman Sergei Kolobov Ulf Härnhammar Ying-Chieh Liao The Translators: [da] Joe Hansen [de] Roland Illig [fr] Michel Robitaille [id] Arif E. Nugroho [it] Vincenzo Campanella [ms] Sharuzzaman Ahmat Raslan [nb] Geir Helland [nl] Elros Cyriatan [nl] Benno Schulenberg [pl] Sergey Poznyakoff [ro] Laurentiu Buzdugan [ru] Sergey Poznyakoff [sv] Christer Andersson [tr] Deniz Akkus Kanca [uk] Igor Sachko [vi] Clytie Siddall EOF anubis-4.1.1+dfsg1/configure.ac0000600000175000017500000003121111121752642014025 0ustar kbkbdnl dnl configure.ac dnl dnl This file is part of GNU Anubis. dnl Copyright (C) 2001,2002,2003,2004,2005,2006,2007,2008 The Anubis Team. dnl dnl GNU Anubis is free software; you can redistribute it and/or modify it dnl under the terms of the GNU General Public License as published by the dnl Free Software Foundation; either version 3 of the License, or (at your dnl option) any later version. dnl dnl GNU Anubis is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License along dnl with GNU Anubis. If not, see . dnl dnl Process this file with autoconf to produce a configure script. AC_INIT([GNU Anubis], [4.1.1], [bug-anubis@gnu.org]) AC_PREREQ([2.59]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_AUX_DIR([build]) AC_CONFIG_SRCDIR([src/main.c]) AM_INIT_AUTOMAKE AC_GNU_SOURCE dnl Checks for programs. AC_PROG_CC gl_EARLY AC_PROG_YACC AM_PROG_LEX AC_PATH_PROG(idecrypt_path,idecrypt,/usr/sbin/idecrypt, $PATH:/sbin:/usr/sbin:/usr/local/sbin) AC_DEFINE_UNQUOTED(IDECRYPT_PATH,"${idecrypt_path}", [Define if IDECRYPT_PATH is present.]) dnl Checks for header files. AC_HEADER_STDC AC_TYPE_SIZE_T AC_TYPE_PID_T AC_TYPE_SIGNAL AC_CHECK_TYPE(u_char, unsigned char) AC_CHECK_HEADERS(arpa/inet.h syslog.h regex.h \ sys/types.h sys/socket.h socket.h sysexits.h locale.h) AC_CHECK_TYPE(socklen_t, , AC_DEFINE(socklen_t, int, [Define to int if does not define]), [ #if HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_SOCKET_H # include #endif #ifdef HAVE_SOCKET_H # include #endif ]) dnl Checks for library functions. gl_INIT AC_CHECK_FUNCS(syslog getrlimit setrlimit socketpair strdup) AC_CHECK_FUNCS(setegid setregid setresgid seteuid setreuid) AC_CHECK_FUNCS(regcomp daemon putenv) AC_FUNC_SETVBUF_REVERSED AH_BOTTOM([ #if defined (SETVBUF_REVERSED) # define SETVBUF(str,buf,mode,size) setvbuf(str,mode,buf,size) #else # define SETVBUF(str,buf,mode,size) setvbuf(str,buf,mode,size) #endif ]) AC_CHECK_LIB(socket, socket) AC_CHECK_LIB(nsl, gethostbyaddr) AC_SUBST(INCLUDES) case $build in *-apple-darwin*) INCLUDES="$INCLUDES -I/usr/include" ;; esac dnl Internationalization macros. AM_GNU_GETTEXT([external], [need-formatstring-macros]) AM_GNU_GETTEXT_VERSION([0.16]) dnl Use option --without-guile to NOT compile Guile support. AC_ARG_WITH([guile], AC_HELP_STRING([--without-guile], [without Guile support]), [ case "${withval}" in yes) useguile=yes ;; no) useguile=no ;; *) AC_MSG_ERROR(bad value ${withval} for --without-guile) ;; esac],[useguile=yes]) AC_SUBST(M4_DEFS) AC_SUBST(GUILE_INCLUDES) AC_SUBST(GUILE_LIBS) AC_SUBST(GUILE_BINDIR) AC_SUBST(GUILE_SNARF_VERSION) AC_SUBST(GUILE_SCRIPTS) if test x"$useguile" = x"yes"; then MU_CHECK_GUILE(,[ AC_DEFINE(WITH_GUILE,1,[Enable Guile support]) GUILE_INCLUDES=`guile-config compile` GUILE_LIBS=`guile-config link` GUILE_BINDIR=`guile-config info bindir` GUILE_SCRIPTS='$(GUILE_SCM)' M4_DEFS="$M4_DEFS -DWITH_GUILE" case "$GUILE_VERSION" in 16|17) GUILE_SNARF_VERSION="1.6";; *) GUILE_SNARF_VERSION="1.6";; esac ],[useguile=no]) fi if test x"$useguile" = x"no"; then AC_MSG_RESULT([Disabling GUILE support...]) fi dnl Use option --without-gpgme to NOT compile GnuPG (GPGME library) support. AC_SUBST(ANUBIS_GPGFILES) AC_ARG_WITH(gpgme, AC_HELP_STRING([--without-gpgme], [without GnuPG (GPGME library) support]), [with_gpgme=${withval}], [with_gpgme=yes]) if test "$with_gpgme" = "no"; then AC_DEFINE(NOGPG, 1, [Define to 1 if NOGPG is requested.]) else AM_PATH_GPGME([1.0.0], with_gpgme=yes, with_gpgme=no) AC_CHECK_LIB(gpgme, main,, with_gpgme=no) fi if test "$with_gpgme" = "no"; then AC_MSG_RESULT([Disabling GPGME support...]) else AC_PATH_PROG(GPG, gpg) findgpgmedir() { : if test -f "$1/include/gpgme.h"; then gpgmedir=1 INCLUDES="$INCLUDES -I$1/include" AC_MSG_CHECKING(for $1/include/gpgme.h) AC_MSG_RESULT([yes]) return 0 fi return 1 } for maindir in /usr/pkg /opt /sw; do findgpgmedir $maindir && break 2 done if test $gpgmedir; then AC_DEFINE(HAVE_GPGME_H, 1, [Define to 1 if HAVE_GPGME_H is requested.]) else AC_CHECK_HEADERS(gpgme.h) fi ANUBIS_GPGFILES='$(GPGFILES)' M4_DEFS="$M4_DEFS -DWITH_GPG" fi AC_SUBST(GSASL_LIBS) AC_CHECK_LIB(resolv, res_query) # Needed for GpgME AC_SYS_LARGEFILE AC_SUBST(ANUBIS_DEFINES) AC_SUBST(ANUBIS_SBIN_ADM) AC_SUBST(ANUBIS_BIN_ADM) dnl Use option --enable-gcc-debug to enable GCC debug code. AC_ARG_ENABLE(gcc-debug, AC_HELP_STRING([--enable-gcc-debug], [enable GCC DEBUG code]), [enable_gcc_debug=yes], [enable_gcc_debug=no]) if test "$enable_gcc_debug" = "yes" && (test "$GCC" = "yes"); then CFLAGS="$CFLAGS -ggdb" AC_MSG_RESULT([Enabling GCC DEBUG support...]) fi WITH_SQL=no WITH_MYSQL=no WITH_POSTGRES=no WITH_GDBM=no dnl Use option --with-gsasl to compile GSASL library support. MU_CHECK_GSASL(0.2.3, [ WITH_GSASL=yes AC_DEFINE(WITH_GSASL,1,[Define if Anubis is using GNU SASL]) AC_MSG_RESULT([Enabling GSASL support...]) ANUBIS_SBIN_ADM='$(adm_sbin_programs)' ANUBIS_BIN_ADM='$(adm_bin_programs)' M4_DEFS="$M4_DEFS -DWITH_GSASL" AC_CHECK_LIB(gdbm, gdbm_open, [WITH_GDBM=yes LIBS="$LIBS -lgdbm" AC_DEFINE(HAVE_LIBGDBM,1,[Define if you have libgdbm])], [AC_MSG_RESULT([Disabling GDBM support...])]) AC_ARG_WITH(mysql, AC_HELP_STRING([--with-mysql], [Configure to work with MySQL]), [case $withval in yes) USE_SQL=0 ANUBIS_CHECK_LIB(mysqlclient, mysql_real_connect, [-lm], [ USE_SQL=1 AC_DEFINE(WITH_MYSQL,1, [Define to 1 to enable MySQL interface]) AC_DEFINE(HAVE_LIBMYSQL,1, [Define if you have libmysqlclient]) ], [AC_MSG_FAILURE([The requested library libmysqlclient is not found or is unusable])], [/usr/local/lib/mysql /usr/lib/mysql]) if test "$USE_SQL" = "1" ;then WITH_SQL=yes LIBS="$LIBS $anubis_cv_lib_mysqlclient" AC_MSG_RESULT([Enabling MySQL support...]) WITH_MYSQL=yes else AC_MSG_FAILURE([Required MySQL libraries not found]) fi ;; no) ;; *) AC_MSG_FAILURE([Unexpected option argument $withval. Please use either --with-mysql or --without-mysql]);; esac]) AC_ARG_WITH(postgres, AC_HELP_STRING([--with-postgres], [Configure to work with Postgres]), [case $withval in yes) USE_SQL=0 ANUBIS_CHECK_LIB(pq, PQconnectStart, [], [ USE_SQL=1 AC_DEFINE(WITH_PGSQL,1, [Define to 1 to enable PostgreSQL interface]) ], [AC_MSG_FAILURE([The requested library libpq is not found or is unusable])], [/usr/local/pgsql/lib /usr/pgsql/lib]) if test "$USE_SQL" = "1" ;then WITH_SQL=yes LIBS="$LIBS $anubis_cv_lib_pq" AC_MSG_RESULT([Enabling PostgreSQL support...]) WITH_POSTGRES=yes else AC_MSG_FAILURE([Required PostgreSQL libraries not found]) fi ;; no) ;; *) AC_MSG_FAILURE([Unexpected option argument $withval. Please use either --with-postgres or --without-postgres]);; esac]) if test "$WITH_SQL" = "yes"; then AC_DEFINE(WITH_SQL, 1, [Define this if you use an SQL interface]) fi AC_LIBOBJ(lbuf)]) dnl Use option --without-gnutls to NOT compile GnuTLS library support. AC_ARG_WITH(gnutls, AC_HELP_STRING([--without-gnutls], [without GnuTLS library support]), [with_gnutls=${withval}], [with_gnutls=yes]) if test $with_gnutls = yes; then AC_CHECK_HEADERS(gnutls/gnutls.h) if test $ac_cv_header_gnutls_gnutls_h != no; then AM_PATH_LIBGNUTLS("1.0.0", [M4_DEFS="$M4_DEFS -DWITH_SSL -DWITH_GNUTLS" AC_DEFINE(USE_GNUTLS, 1, [Define to 1 if USE_GNUTLS is requested.])], [with_gnutls = no AC_MSG_RESULT([Disabling GnuTLS support...])]) if test $with_gnutls = yes; then # Accomodate for incompatibilities of gnults 1.0.16 (and, # eventually, newer versions) AC_CHECK_FUNC(gnutls_x509_fingerprint,: [AH_BOTTOM([ #define gnutls_x509_fingerprint gnutls_fingerprint ])]) fi fi fi dnl Use option --with-socks-proxy to compile SOCKS v4/5 proxy support. AC_ARG_WITH(socks-proxy, AC_HELP_STRING([--with-socks-proxy], [with SOCKS v4/5 proxy support]), [with_socks_proxy=${withval}], [with_socks_proxy=no]) if test "$with_socks_proxy" = "yes"; then AC_DEFINE(USE_SOCKS_PROXY, 1, [Define to 1 if USE_SOCKS_PROXY is requested.]) AC_MSG_RESULT([Enabling SOCKS v4/5 proxy support...]) fi dnl Use option --with-pcre to compile PCRE library support. AC_ARG_WITH(pcre, AC_HELP_STRING([--with-pcre], [with PCRE library support]), [with_pcre=${withval}], [with_pcre=no]) if test "$with_pcre" = "yes"; then AC_CHECK_LIB(pcre, main,, with_pcre=no) AC_CHECK_HEADERS(pcre.h pcre/pcre.h) fi if test "$with_pcre" = "yes"; then AC_MSG_RESULT([Enabling PCRE support...]) fi dnl Use option --with-pam to compile PAM support. AC_ARG_WITH(pam, AC_HELP_STRING([--with-pam], [with Pluggable Authentication Modules support]), [with_pam=${withval}], [with_pam=no]) if test "$with_pam" = "yes"; then AC_CHECK_LIB(pam, main,, with_pam=no) AC_CHECK_LIB(pam_misc, main,, with_pam=no) AC_CHECK_HEADERS(security/pam_appl.h security/pam_misc.h,, with_pam=no) fi if test "$with_pam" = "yes"; then AC_MSG_RESULT([Enabling PAM support...]) fi dnl Use option --with-tcp-wrappers to compile libwrap library support. AC_ARG_WITH(tcp-wrappers, AC_HELP_STRING([--with-tcp-wrappers], [with libwrap (TCP wrappers) support]), [with_tcp_wrappers=${withval}], [with_tcp_wrappers=no]) if test "$with_tcp_wrappers" = "yes"; then AC_CHECK_LIB(wrap, main,, with_tcp_wrappers=no) AC_CHECK_LIB(nsl, main,, with_tcp_wrappers=no) AC_CHECK_HEADERS(tcpd.h,, with_tcp_wrappers=no) fi if test "$with_tcp_wrappers" = "yes"; then AC_MSG_RESULT([Enabling libwrap (TCP wrappers) support...]) fi dnl Use option --with-unprivileged-user AC_ARG_WITH(unprivileged-user, AC_HELP_STRING([--with-unprivileged-user=USER], [set an unprivileged user (default is "nobody")])) if test -z "$with_unprivileged_user"; then with_unprivileged_user="nobody" fi AC_DEFINE_UNQUOTED(DEFAULT_UNPRIVILEGED_USER, "$with_unprivileged_user", [Define the default unprivileged user.]) dnl Check for Emacs site-lisp directory AM_PATH_LISPDIR if test "$EMACS" != "no"; then lisp_LISP='$(LISPSRC)' fi AC_SUBST(lisp_LISP) AC_CONFIG_COMMANDS([status],[ cat < Version 4.1.1 2008-12-20 Sergey Poznyakoff Update docs 2008-12-19 Wojciech Polak Change message text. 2008-12-18 Sergey Poznyakoff Use new SASL callback interface. * src/anubisusr.c: Use new SASL callback interface. * src/esmtp.c: Likewise. * src/gsasl_srv.c: Likewise. * src/authmode.c: New keywords sasl-service, sasl-hostname, sasl-realm * src/extern.h (anubis_sasl_service,anubis_sasl_realm) (anubis_sasl_hostname): New globals. * usr.opt, adm.opt: Bugfix. 2008-12-17 Wojciech Polak Fix typo. 2008-12-16 Wojciech Polak Switched to Git repository. * m4: Rename to am. * README-alpha, README-hacking: Reflect the switch. * */.cvsignore: Rename to .gitignore, update. * ChangeLog: Rename to ChangeLog-CVS-old. 2008-12-11 Wojciech Polak * configure.ac: Remove -Wno-deprecated-declarations. * src/anubisusr.c, src/esmtp.c, src/gsasl.c, src/gsasl_srv.c, src/headers.h: Update deprecated GSASL API calls. 2008-12-11 Sergey Poznyakoff * src/Makefile.am (anubisadm_SOURCES): Add new files. (anubisusr_SOURCES): Add new files. * src/anubisadm.h: New file. * src/adm.opt: New file. * src/anubisusr.h: New file. * src/usr.opt: New file. * src/anubisadm.c: Remove command line option parsing. See adm.opt. * src/anubisusr.c: Remove command line option parsing. See usr.opt. (smtp_get_reply): Use stream_getline, this fixes buffer size problems. * src/env.opt: Fix argument quoting. * src/errs.c (hostname_error): Argument is const. * src/gdbm.c, src/gpg.c, src/guile.c, src/proclist.c, src/transmode.c: Minor change. * src/getopt.m4: Import from Dico. * src/headers.h (stream_getline): New prototype. (hostname_error): Argument is const. * src/main.c (copyright): Remove. (xalloc_die): Call abort to pacify gcc. * src/net.c (recvline): Rewrite using stream_getline. This also fixes memory leak. * src/stream.c (stream_readline): Do not insert \r before \n. This is impossible to do correctly without a proper buffering scheme. (stream_getline): New function. * src/tunnel.c: Remove CRLF after a call to recvline. (transfer_command): Compensate for this. 2008-12-09 Wojciech Polak * configure.ac: Use default CFLAGS. 2008-10-13 Sergey Poznyakoff * src/tunnel.c (transfer_command): Ensure outgoing mail from and rcpt to commands don't have whitespace after the colon. * NEWS, configure.ac: version 4.1.1 * doc/anubis.texi: Minor fix. * guile/entire-msg.scm: Use (ice-9 rdelim) * testsuite/mta.c (check_address_command): New function (ported from mailfromd). (smtp): Improve RFC compliance. * testsuite/etc/add-body-file.pat: * testsuite/etc/add-body.pat * testsuite/etc/add1.pat * testsuite/etc/add2.pat * testsuite/etc/add3.pat * testsuite/etc/cond.pat * testsuite/etc/del1.pat * testsuite/etc/del2.pat * testsuite/etc/del3.pat * testsuite/etc/del4.pat * testsuite/etc/empty.pat * testsuite/etc/gpgcrypt.pat * testsuite/etc/gpgse.pat * testsuite/etc/gpgsign.pat * testsuite/etc/mime1.pat * testsuite/etc/mime2.pat * testsuite/etc/mod-body.pat * testsuite/etc/mod-header.pat * testsuite/etc/mult.pat * testsuite/etc/no-backref.pat * testsuite/etc/paolo.pat * testsuite/etc/remail.pat * testsuite/etc/rot-13.pat * testsuite/etc/tlsoneway.pat * testsuite/etc/trigger.pat 2008-07-03 Sergey Poznyakoff Fix loop-detection code, add some minor improvements. * README-hacking: Update. * bootstrap.conf: Add sysexits. * build/bootstrap: Synch with gnulib repository. * build/gnulib.modules: Remove. * lib/.cvsignore, m4/.cvsignore, po/.cvsignore: Update. * lib/Makefile.am: Remove unnecessary initializations. * src/authmode.c (anubis_authenticate_mode): Remove a block of code duplicated in transmode.c and replace it with a call to session_prologue. * src/transmode.c (anubis_transparent_mode): Likewise. (string_to_ipaddr, session_prologue): New functions. * src/env.opt: Fix Emacs mode marker. * src/headers.h: Include sysexits.h unconditionally. (session_prologue): New prototype. * src/tls.c (cipher_info): Add missing newline. 2007-11-04 Wojciech Polak ====================== Released version 4.1 ====================== 2007-11-04 Sergey Poznyakoff * src/guile.c: Switch to Guile 1.8.x * m4/guile.m4: Require at least Guile 1.8.0 * NEWS: Update 2007-11-03 Sergey Poznyakoff * src/authmode.c (anubis_authenticate_mode): Fix indentation. * src/daemon.c (_stdio_read): Fix return value. * src/headers.h (xdatabase_capability): Change signature. * src/tunnel.c (handle_ehlo): Update call to xdatabase_capability. * src/xdatabase.c (xdatabase_capability): Expand reply buffer as needed. * configure.ac, NEWS: version 4.1. * src/exec.c (exec_argv): Fix reading program's output. * src/gdbm.c (gdbm_content_to_record): zero-terminate the key. * src/getopt.m4 (print_help): Override bug in GNU M4. * src/gpg.c (anubis_gpg_read): New function. (gpg_sign, gpg_encrypt, gpg_sign_encrypt): Fix reading GPG output. * src/mime.c (message_append_signature_file): Remove useless MAXPATHLEN limit. 2007-11-02 Wojciech Polak * bootstrap.conf (gnulib_modules): Add xalloc. * po/POTFILES.in: Remove src/mem.c. 2007-11-01 Sergey Poznyakoff * NEWS: Update * doc/anubis.texi: Update 2007-10-31 Sergey Poznyakoff * README: Clean up formatting. * README-hacking: Update. * doc/Makefile.am (manual): Use texi2html to create HTML sources. * doc/gendocs_template: Likewise. * doc/anubis.texi: Fix sectioning commands. Use @acronym when needed. * lib/Makefile.am: Initialize some variables before including gnulib.mk. * src/mem.c, src/mem.h: Remove. * src/Makefile.am (libanubisdb_a_SOURCES): Remove mem.c and mem.h. * src/anubisadm.c: Do not include getline.h. Define xalloc_die instead of adm_memory_error. * src/anubisusr.c: Likewise. * src/headers.h: Remove mem.h. Include xalloc.h. * src/main.c: Define xalloc_die. * src/list.c, src/pgsql.c, src/mysql.c, src/sql.c, src/stream.c: Fix memory management . * src/authmode.c, src/gpg.c, src/misc.c, src/rcfile.c, src/tunnel.c: Use xstrdup instead of allocbuf. * src/anubisdb.c, src/sql.h, src/tls.c: Minor change . * src/rcfile.h (struct rc_expr): New member `sep'. * src/rcfile.l: Return != as a token. (string_add): Initialize next. * src/rcfile.y: Handle optional concatentation directive in expr statement. Handle != opcode. Disallow placing regex modifiers before opcode (= or !=). (rc_node_print): Reflect concatenation separator. (re_eval_list): Take new argument: concatenation separator. All uses updated. * testsuite/lib/anubis.exp: Do not display "be patient" warning. Things have become faster nowadays. * testsuite/etc/mod-header.in, testsuite/etc/std.in: Remove obsolete usage of regex flags before the equals sign. 2007-08-06 Sergey Poznyakoff Relicense everything under GPLv3+ 2007-08-06 Sergey Poznyakoff * Makefile.am: Place src before po, to satisfy the dependency POTFILES -> env.c * configure.ac: Check for locale.h * lib/argcv.c (argcv_string): Fix type mismatch in conditional * src/daemon.c (anubis_child_main): Fix call to net_close_stream * src/env.opt (anubis_changeowner): Argument is const * src/exec.c (sig_local): Remove forward decl. * src/headers.h (stream_io_t): Remove (stream_read_t, stream_write_t): Introduce instead All dependencies updated (stream_write): Second argument is const (anubis_changeowner): argument is const * src/stream.c: Likewise * src/gsasl.c (_gsasl_write): Fix signature * src/tls.c (_tls_write) : Fix signature * src/net.c (connect_directly_to): Fix error message * src/rcfile.c (_anubis_hang): Fix type * src/transmode.c: (anubis_transparent_mode): Fix calls to service_unavailable * src/tunnel.c (handle_starttls): Fix get_response_smtp invocation (handle_ehlo): Fix calls to swrite * src/xdatabase.c: Fix error message * testsuite/findport.c: Include string.h 2007-08-06 Sergey Poznyakoff * bootstrap.conf: New file * Makefile.am (SUBDIRS): Remove intl * configure.ac: Use gnulib * lib/Makefile.am: Likewise * src/Makefile.am (EXTRA_DIST): Add getopt.m4 and env.opt * src/env.c: Removed. * src/env.opt, src/getopt.m4: New files * src/headers.h (ANUBIS_PRINTFLIKE): New macro (anubis_error,anubis_warning): Mark with ANUBIS_PRINTFLIKE (print_version,print_usage): Removed * src/help.c (print_version,print_usage): Remove functions * lib/getline.c, lib/getline.h, lib/getopt.c, lib/getopt1.c, lib/getpass.c, lib/gettext.h, lib/obstack.c, lib/obstack.h, lib/setenv.c, lib/getopt.h: Remove * m4/exitfail.m4, m4/getdelim.m4, m4/getline.m4, m4/getopt.m4, m4/getpass.m4, m4/gnulib.m4, m4/inttypes_h_gl.m4, m4/obstack.m4, m4/onceonly_2_57.m4, m4/uintmax_t_gl.m4, m4/ulonglong_gl.m4, m4/unistd_h.m4, m4/stdbool.m4, m4/stdint_h_gl.m4: Remove * po/de.po, po/fr.po, po/ms.po, po/nb.po, po/nl.po, po/pl.po, po/ro.po, po/ru.po, po/tr.po, po/uk.po, po/vi.po, po/LINGUAS, po/Makevars: Remove * build/bootstrap: Modified version from gnulib * NEWS, README-alpha: Update * README-hacking: New file 2007-07-29 Wojciech Polak * */*: OpenSSL support has been dropped. 2006-06-27 Sergey Poznyakoff * build/bootstrap: Auxiliary script to update anubis library from gnulib. * build/gnulib.modules: List of modules to use. * configure.ac: Remove explicit checks for getopt_long, obstack, snprintf, getline, getpass in favor of gnulib check. * lib/Makefile.am: Rewritten for automatic updates * lib/getline.c, lib/getline.h, lib/getopt.c, lib/getopt.h, lib/getopt1.c, lib/getpass.c, lib/gettext.h, lib/obstack.c, lib/obstack.h, lib/exit.h, lib/exitfail.c, lib/exitfail.h, lib/getdelim.c, lib/getdelim.h, lib/getopt_.h, lib/getopt_int.h, lib/getpass.h, lib/stdbool_.h: Update from gnulib * m4/libgnutls.m4: Properly quote macro name. * m4/exitfail.m4, m4/getdelim.m4, m4/getline.m4, m4/getopt.m4, m4/getpass.m4, m4/gnulib.m4, m4/inttypes_h_gl.m4, m4/obstack.m4, m4/onceonly_2_57.m4, m4/stdbool.m4, m4/stdint_h_gl.m4, m4/uintmax_t_gl.m4, m4/ulonglong_gl.m4, m4/unistd_h.m4: Update from gnulib * m4/.cvsignore: Update 2006-02-10 Sergey Poznyakoff * configure.ac (WITH_GSASL): Default to no 2006-01-18 Sergey Poznyakoff * README-alpha: Update cvs co information. * src/ident.c (ident_extract_username): Fix bug introduced 2005-04-18 2005-08-22 Sergey Poznyakoff * m4/gsasl.m4: Enable GSASL by default whenever possible. * configure.ac: Display summary after configuring. 2005-07-09 Wojciech Polak * src/daemon.c (set_unprivileged_user): Copy an unprivileged user name to session.clientname. * src/rcfile.c (control_parser): Bugfix. Set T_USER_NOTPRIVIL flag for KW_USER_NOTPRIVILEGED. * src/authmode.c (anubis_authenticate_mode): Try to open user's configuration file from default location if the CONFIG field is null. 2005-07-09 Sergey Poznyakoff * src/Makefile.am (anubis.cflow): Do not process header files, they will be included anyway. * build/cflow.rc: New file * build/Makefile.am: Add cflow.rc. 2005-06-06 Sergey Poznyakoff * src/gsasl_srv.c (auth_gsasl_capa_init): Make sure the list of supported mechanisms preserves ordering of sasl-allowed-mech variable. * src/list.c (list_intersect): Give more detail in the comment. * testsuite/etc/target.in.in (sasl-allowed-mech): Only CRAM-MD5 for testing purposes. 2005-05-25 Sergey Poznyakoff * TODO: Updated * src/Makefile.am (flowchart,anubis.cflow): New rules * src/authmode.c: Do not duplicate remote_client/remote_server as parameters/autos. * src/daemon.c: Likewise. * src/extern.h: Likewise. * src/gsasl_srv.c: Likewise. * src/headers.h: Likewise. * src/transmode.c: Likewise. 2005-04-20 Sergey Poznyakoff * configure.ac: Changed version number to 4.0.90. * NEWS: Updated. * src/proclist.c: New file. Subprocess database for Anubis. * src/Makefile.am (anubis_SOURCES): Add proclist.c * src/daemon.c: Rewritten using functions from proclist.c * src/exec.c: Likewise * src/gsasl_srv.c (anubis_name_cmp): Move to misc.c * src/misc.c (anubis_name_cmp):" Moved from gsasl_srv.c * src/headers.h (proclist_register,proclist_cleanup) (proclist_init,proclist_count): New functions. * src/list.c (_iterator_attach,_iterator_detach): New functions. (iterator_create,iterator_destroy): Rewritten using the above functions. (list_remove): make sure to return actual data, an application may well supply data==NULL. (list_iterate): Do not use memory allocation functions. The function is safe to be called from signal handlers. * src/transmode.c (anubis_transparent_mode): Do not close pam session if it was not open. 2005-04-19 Sergey Poznyakoff * src/guile.c (guile_ports_open): Make sure port name always reflects actual file name. (guile_parser): Bugfix. guile_ports_open() was called too early, which led to coredump when processing guile-output statement. Besides guile_ports_close() was not called before return. 2005-04-18 Sergey Poznyakoff * src/gpg.c (fail_if_err): Rewritten to avoid evaluating the argument twice. (passphrase_cb): Rewritten to work with GPGME 1.0.2. Patch courtesy of Brian Dessent . * src/ident.c (ident_extract_username): Skip any whitespace after ':'. Patch courtesy of Brian Dessent . * THANKS: Updated 2005-03-02 Sergey Poznyakoff * src/rcfile.c (control_parser): A couple of minor stylistic fixes. Implemented ALLOW-HANG keyword. 2005-02-26 Sergey Poznyakoff * src/ident.c (auth_ident): Bugfix * src/rcfile.c: New CONTROL statement "HANG". Instructs child process to hang for a given number of seconds before processing. * src/guile.c (guile_load_path_append,guile_load_program): Changed prototype. (inner_catch_body): New function (eval_catch_body): Removed (guile_parser): Largely rewritten. Wherever guile internal functions are called, do so by wrapping them in a lazy catch to prevent guile from aborting the child process on error. * src/headers.h (guile_load_path_append,guile_load_program) (guile_rewrite_line): Removed. * src/transmode.c (anubis_transparent_mode): Call auth_tunnel no matter was the client recognized or not. Thus, even if Anubis has switched to the unprivileged level, it executest appropriate parts from the main configuration file. * doc/anubis.texi: Document HANG statement 2005-02-12 Sergey Poznyakoff * TODO: Minor issue regarding session.execpath. * lib/argcv.c: New file. * lib/argcv.h: New file. * lib/Makefile.am (libanubis_a_SOURCES): Add argcv.c and argcv.h * src/anubisusr.c: Use argcv_get/argcv_free * src/message.c: Likewise. * src/quit.c: Likewise. * src/rcfile.c: Likewise. * src/rcfile.y: Likewise. * src/regex.c: Likewise. * src/exec.c: Likewise. (gen_execargs): Removed. * src/env.c: Likewise. (argcv_dup): Removed * src/headers.h: Include argcv.h * src/mem.c (free_pptr): Removed 2005-02-07 Sergey Poznyakoff * src/esmtp.c (get_reply): Changed declaration. All callers updated * src/net.c (get_response_smtp): Minor correctrion; * src/tunnel.c (smtp_session_transparent): Bugfix (smtp_begin): Send EHLO, not HELO. 2005-02-03 Sergey Poznyakoff Further cleanup as per TODO:5. Removed fixed-size buffers related to recvline calls. * src/headers.h (get_response_smtp): New function (readline): Changed declaration (recvline_ptr): Removed * src/net.c (recvline): Removed (recvline_ptr): Renamed to recvline. All callers changed * src/authmode.c: Use new recvline. * src/gsasl_srv.c: Likewise. * src/ident.c: Likewise. * src/mda.c: Likewise. * src/tunnel.c: Likewise. * src/xdatabase.c: Likewise. 2005-01-21 Sergey Poznyakoff * configure.ac: Raised version number to 4.1 * src/env.c: New option --from * src/help.c: Document --from option * src/exec.c (make_local_connection_arg): Removed. Not needed any more. * src/extern.h (incoming_mail_rule,outgoing_mail_rule) (from_address): New variables. * src/headers.h (send_eol,mda) (anubis_set_encryption_mech_list): New prototype. (anubis_assoc_cmp): New function (collect_headers): Changed prototype (make_local_connection_arg): Removed. * src/main.c (incoming_mail_rule,outgoing_mail_rule): New variables. * src/mda.c (deliver): Expand macro notations in local mailer command line before invoking it. Use rcfile_call_section to process incoming mail rules. (mda): Ensure from_address is set. * src/misc.c (anubis_assoc_cmp): New function (assign_string, assign_string_n): Accept NULL argument. * src/rcfile.c (control_parser): Handle incoming-mail-rule and outgoing-mail-rule options. * src/tunnel.c (collect_headers): Take second argument, specifying the first header line (or NULL). (process_data): Use rcfile_call_section to process outgoing mail rules. * doc/anubis.texi: Initial documentation for MDA mode * doc/Makefile.am: Rewritten to use gendocs.sh. Needs CVS version of the script. * doc/index.html.in: Removed. * doc/gendocs_template: New file. * doc/fdl.texi: Fixed sectioning. * doc/mime.texi: New file 2005-01-20 Sergey Poznyakoff Initial implementation of MDA mode, allowing Anubis to process incoming mail. Some cleanup according to TODO:5 * configure.ac: Check for sysexits.h * src/mda.c: New file. Mail Delivery Agent mode support * src/Makefile.am: Add mda.c * src/env.c (x_argc,x_argv): New globals --mode option does not depend on WITH_GSASL anymore. (get_options): Changed handling of non-optional arguments. Argument to -l option must be properly quoted. * src/exec.c (make_local_connection_arg): New function * src/headers.h: Provide EX_ macros or include sysexits.h when available (enum anubis_mode.anubis_mda): New mode * src/extern.h (session_struct): Removed fixed-size strings. All referers updated. * src/anubisusr.c: Likewise * src/authmode.c: Likewise * src/daemon.c: Likewise * src/ident.c: Likewise * src/main.c: Likewise * src/map.c: Likewise * src/misc.c: Likewise * src/rcfile.c: Likewise * src/regex.c: Likewise * src/transmode.c: Likewise * src/net.c (send_eol): New function. * src/tunnel.c: Use send_eol() when needed. (transfer_header,collect_header) (transfer_body, collect_body): Changed to extern 2005-01-02 Sergey Poznyakoff * doc/anubis.texi: Documented read-entire-body and escape sequences. * src/rcfile.l (escape): Handle \b escape * src/rcfile.y (regex production): Bail out if regex compile failed. * src/regex.c (anubis_regex_replace): Bugfix * testsuite/anubis/paolo.exp: New test * testsuite/etc/paolo.in: Likewise * testsuite/etc/paolo.pat: Likewise * testsuite/etc/Makefile.am: Updated 2004-12-18 Wojciech Polak ====================== Released version 4.0 ====================== * NEWS: Updated. * configure.ac: Raised version number to 4.0. 2004-12-17 Wojciech Polak * doc/anubis.texi: Updated. * doc/anubis.1: Likewise. * elisp/anubis-mode.el: Added new keywords. * lib/obstack.c: Provide newer version. * lib/obstack.h: Likewise. * src/esmtp.c (do_gsasl_auth): Removed trailing \n in a verbose message. 2004-12-17 Sergey Poznyakoff * README: Updated * configure.ac: Use -Wno-deprecated-declarations gcc flag if GSASL support is enabled. * src/authmode.c (rc_parser): Use anubis_set_server_mech_list() * src/esmtp.c (anubis_set_client_mech_list) (anubis_set_encryption_mech_list): New function (esmtp_auth): Support the list of mechanisms that can be used only over an encrypted channel. [!WITH_GSASL] (esmtp_auth): Provide function definition * src/extern.h (struct session_struct): Removed mta_username, mta_password * src/gsasl_srv.c (anubis_set_mech_list): Changed declaration (anubis_set_server_mech_list): New function * src/headers.h: Provide new prototypes * src/quit.c: Removed session_struct.mta_username, mta_password * src/tunnel.c: Likewise * src/rcfile.c (control_parser): Handle new statements * testsuite/mta.c: Minor fix * testsuite/etc/interface.in.in: Use WITH_GNUTLS instead of WITH_SSL * testsuite/etc/target.in.in: Likewise * testsuite/lib/anubis.exp (run_in_authmode): Fix message text * doc/anubis.texi: Documented new statements 2004-12-16 Sergey Poznyakoff * TODO: updated * configure.ac: set "M4_DEFS -DWITH_GSASL" * src/esmtp.c: Completely rewritten using gsasl * src/extern.h (anon_token,authorization_id,authentication_id) (auth_password,auth_service,auth_hostname,generic_service_name) (auth_passcode,auth_realm): New variables. * src/gsasl_srv.c: Updated * src/headers.h: Updated * src/stream.c (stream_readline): Minor fix * src/tunnel.c (collect_body): delete AUTH part. * testsuite/mta.c: minor indentation fix * testsuite/etc/Makefile.am: Change $(RCFILES) std.pat: * Makefile.am: dependency to $(RCFILES) std.pat: Makefile.am * testsuite/etc/target.in.in: Conditionally include -c and -k. * testsuite/lib/anubis.exp (sanubis_pat): Fix TLS/GSASL usage 2004-12-15 Sergey Poznyakoff * configure.ac: Bail out if required SQL libraries are not found. Strictly control arguments to --with-postgres/--with-mysql * src/anubisusr.c (smtp_get_reply): Minor fix: clear trailing \r in buf as well. (cb_service): Fixed typo * src/gsasl.c (write_chunk,_gsasl_read): Removed old usage of gsasl_decode/gsasl_encode. * src/help.c (config_opts): Reflect WITH_PGSQL * src/net.c (recvline_ptr): Fixed buffer reallocation condition (it didn't take null terminator into account). * src/sql.c (sql_db_get,sql_db_delete,sql_db_put): Fixed eventual sql injection. * THANKS: Added Daniel S. Haischt 2004-12-09 Wojciech Polak * src/socks.c: Fixed possible buffer overflow. 2004-12-03 Sergey Poznyakoff * contrib/Makefile.am: Use AM_INSTALLCHECK_STD_OPTIONS_EXEMPT for msg2smtp.pl * src/daemon.c (loop): Block SIGCHLD while incrementing nchild. * src/esmtp.c (esmtp_auth): Minor fix. * src/gpg.c (create_key_array): Dynamically allocate current_key. * src/gsasl.c (install_gsasl_stream): Use xmalloc * src/gsasl_srv.c (anubis_auth_gsasl): A bit of sugar for broken printfs: print NULLs explicitely. * src/net.c (get_response_smtp): Fix eventual buffer overflow * src/tunnel.c: Fix typo in comment * src/xdatabase.c (xdatabase): Handle NULL argument. * testsuite/etc/Makefile.am: Add dependency $(RCFILES) std.pat: Makefile.am * testsuite/lib/anubis.exp (anubis_init): Do not pass -s option to anubis. 2004-11-22 Wojciech Polak Potential security fixes by Ulf Härnhammar: * src/anubisadm.c (adm_memory_error): Fixed wrong format strings. (op_add_or_modify): Likewise. * src/main.c (anubis_memory_error): Likewise. * src/authmode.c (anubis_authenticate_mode): Set the last element of `session.clientname' to '\0'. 2004-10-29 Sergey Poznyakoff * src/regex.c (anubis_regex_replace): Fixed coredump * testsuite/anubis/no-backref.exp: New regression test. Test for 'Paolo syndrome'. * testsuite/anubis/DISTFILES: Add no-backref.exp * testsuite/etc/no-backref.in: Data for testing 'Paolo syndrome' * testsuite/etc/no-backref.pat: Likewise * testsuite/etc/Makefile.am: Add no-backref.pat and no-backref.in * THANKS: Updated 2004-10-16 Wojciech Polak * configure.ac: Require GPGME 1.0.0. 2004-09-24 Sergey Poznyakoff Released version 3.9.96 * Makefile.am: Use gnits * NEWS: Updated * doc/Makefile.am ($(PROJECT).text): Explicitely pass info file from cwd (breaks builds from a separate directory but we never use them when making docs, anyway). 2004-09-22 Sergey Poznyakoff * src/anubisusr.c: Got read of secure.client and secure.server globals * src/extern.h: Likewise * src/quit.c: Likewise * src/transmode.c: Likewise * src/tunnel.c: Likewise * src/rcfile.c: Allow use of `logfiles' and `loglevel' in main configuration file, provided that the uid is not 0. * src/headers.h: New macro T_DISABLE_SYSLOG * src/log.c: Do not use syslog if T_DISABLE_SYSLOG is set * src/daemon.c (daemonize): Use info() instead of syslog(). (sig_cld): Improved diagnostics. * src/stream.c (stream_destroy): Use xfree() for consistency * src/errs.c: Minor formatting fix. * src/message.c: Likewise * testsuite/etc/interface.in.in: Use logfile directive * testsuite/etc/target.in.in: Likewise 2004-09-17 Sergey Poznyakoff * testsuite/lib/anubis.exp (anubis_pat): Updated to support the recent changes (2004-09-13) * src/errs.c (anubis_error): Rewritten (anubis_warning): New function (for future use). * src/headers.h (T_ERROR): Removed. (SOFT,HARD,SYNTAX): Removed (anubis_error,anubis_warning): New declaration * src/anubisusr.c (anubis_error): Updated definition Issue QUIT command before normal exiting. * src/authmode.c: Do not use T_ERROR. Updated calls to anubis_error Issue 221 response on QUIT command * src/daemon.c: Do not use T_ERROR. Updated calls to anubis_error * src/env.c: Likewise * src/esmtp.c: Likewise * src/exec.c: Likewise * src/gpg.c: Likewise * src/gsasl_srv.c: Likewise * src/guile.c: Likewise * src/ident.c: Likewise * src/main.c: Likewise * src/map.c: Likewise * src/mime.c: Likewise * src/net.c: Likewise * src/rcfile.c: Likewise * src/rcfile.l: Likewise * src/rcfile.y: Likewise * src/regex.c: Likewise * src/socks.c: Likewise * src/ssl.c: Likewise * src/tls.c: Likewise * src/transmode.c: Likewise * src/tunnel.c: Likewise * src/xdatabase.c: Likewise 2004-09-13 Sergey Poznyakoff * src/authmode.c (anubis_smtp): Force T_SSL_ONEWAY if `ssl yes' is requested and SSL connection between the MUA and Anubis has been successfully established. Necessary for handle_ehlo() to work. (asmtp_capa_init) [HAVE_TLS]: Changed to USE_SSL. * src/tunnel.c (handle_ehlo): Comment updated. 2004-09-03 Sergey Poznyakoff * src/authmode.c: Added missing pam_retval declaration. * src/transmode.c: Likewise 2004-09-02 Sergey Poznyakoff * doc/anubis.texi (Mutt): New node documenting the existing methods of interfacing mutt with anubis. 2004-08-17 Wojciech Polak * doc/anubis.texi (Sample Beginning): Removed text about IDENT protocol server. * TODO: Updated. 2004-08-14 Sergey Poznyakoff * testsuite/anubis.authmode/abase.exp: New file * testsuite/anubis.authmode/DISTFILES: Updated * src/authmode.c (anubis_smtp,xdb_loop): Exit if T_ERROR bit is set. * testsuite/lib/anubis.exp (update_config): Return -1 if res is an empty list. Set anubisusr verbose mode only if $verbose > 2 (run_in_authmode): Declare unsupported test if anubis is configured without GSASL (default_anubis_stop,anubis_exit): New procedures (anubis_test_file): Call remote_close (anubis_pat): Call default_anubis_stop 2004-08-13 Sergey Poznyakoff * src/anubisusr.c: New options --file and --netrc allow to override default file names for users' .anubisrc and .netrc files (diff): Proceed with the update if the remote rcfile does not exist. (main): Bail out on unknown options * src/authmode.c (asmtp_ehlo_reply): Save ehlo domain for further use in tunnel.c (anubis_authenticate_mode): Process rc file whenever it is present in ANUBIS_USER. * src/daemon.c (daemonize): Ignore SIGHUP before call to daemon(). Write pid file. * src/dbtext.c (dbtext_open): Minor fix * src/env.c: New option --pid-file (write_pid_file): New function * src/headers.h: New declarations. * src/tunnel.c (set_ehlo_domain): New function * src/xdatabase.c (xexamine): Issue reply 300 if rc file does not exist. * testsuite/findport.c: New file * testsuite/anubis.authmode: New directory * testsuite/anubis.authmode/DISTFILE: New file * testsuite/anubis.authmode/base.exp: New file * testsuite/anubis.authmode/gpg.exp: New file * testsuite/anubis.authmode/guile.exp: New file * testsuite/anubis.authmode/mime.exp: New file * testsuite/Makefile.am: Added new files * testsuite/anubis/abase.exp: New file. It should be called before base.exp, hence its name. * testsuite/anubis/base.exp: Moved std.pat to abase.exp * testsuite/anubis/DISTFILES: Added new files * testsuite/data/users: New file * testsuite/data/Makefile.am: Added new files * testsuite/etc/interface.in.in: New file * testsuite/etc/target.in.in: New file * testsuite/etc/net.rc: New file * testsuite/etc/Makefile.am: Added new files * testsuite/lib/anubis.exp: Added support for authmode testing. * testsuite/.cvsignore: Updated * testsuite/data/.cvsignore: Updated * testsuite/etc/.cvsignore: Updated 2004-08-12 Sergey Poznyakoff * src/dbtext.c: Changed format. Fields are separated by colons. * src/anubisadm.c: Use NONE to represent empty fields. * doc/anubis.texi: Updated. 2004-08-09 Sergey Poznyakoff * configure.ac: Updated * src/env.c (change_privs): New function. (anubis_changeowner): Use change_privs to correctly switch privileges. 2004-08-07 Sergey Poznyakoff * configure.ac: Raised version number to 3.9.96 * src/md5.c: New file. * src/Makefile.am: Added md5.c * src/anubisusr.c: Use MD5 sums instead of comparing file contents. * src/xdatabase.c: Likewise. * src/authmode.c (anubis_authenticate_mode): Bugfix * src/transmode.c (anubis_transparent_mode): Bugfix * src/headers.h (anubis_md5_file) (string_bin_to_hex,string_hex_to_bin): New declarations 2004-08-06 Sergey Poznyakoff * configure.ac: Require gpgme 0.9.0. Check for AC_SYS_LARGEFILE (needed by gpgme). * src/gpg.c: Rewritten for gpgme 0.9.0 2004-08-06 Sergey Poznyakoff * src/anubisusr.c: Use XELO * src/authmode.c: Implemented XELO * src/tunnel.c (process_command): Minor change. * src/xdatabase.c (xdatabase)" Minor change. 2004-07-31 Sergey Poznyakoff Released version 3.9.95 * NEWS: Updated time and version stamps. 2004-07-22 Wojciech Polak * src/authmode.c: Added initial XELO implementation (the seed). (helo_count): Added new variable; in the future report possible SMTP attack. * src/headers.h (T_XELO): New flag. 2004-07-21 Wojciech Polak * src/authmode.c (anubis_smtp): Clear the T_SSL_FINISHED flag after the for loop. * src/tls.c: Print all debug messages using the same style. 2004-07-18 Wojciech Polak * src/anubisusr.c: Be more user friendly. (diff): As the result print text, not numbers. 2004-07-17 Wojciech Polak * src/env.c (anubis_changeowner): Print also a user name. * src/main.c (main): Likewise. 2004-07-15 Sergey Poznyakoff * configure.ac: Accomodate for incompatibilities of gnults 1.0.16 (and eventually newer versions) * po/POTFILES.in: Updated * src/daemon.c (daemonize): Clear T_FOREGROUND flag. * src/authmode.c (asmtp_ehlo): Return correct state if TLS failed. 2004-07-13 Wojciech Polak * src/tunnel.c (handle_starttls): Improved diagnostics. * src/authmode.c (asmtp_ehlo): Likewise. * src/misc.c (make_lowercase, make_uppercase): Return NULL if needed. * src/auth.c: Renamed to ident.c. (auth_tunnel): Moved to rcfile.c. * src/headers.h: Updated. * src/Makefile.am: Updated. 2004-07-13 Sergey Poznyakoff * src/gsasl_srv.c (anubis_set_mech_list): Convert mechanism names to uppercase * src/headers.h (make_uppercase): New function (make_lowercase): Return char* for symmetry with make_uppercase(). * src/misc.c (make_lowercase): Rewritten in a more effective way. (make_uppercase): New function * src/rcfile.y (rc_set_debug_level): Check for valid input. * doc/anubis.texi: Fixed rccol-rcfile confusion. The URL parameter name and its default value are now "rcfile". * src/mysql.c: Likewise. * src/pgsql.c: Likewise. * src/rcfile.c: Likewise. * src/sql.c: Likewise. * src/sql.h: Likewise. 2004-07-12 Sergey Poznyakoff * src/authmode.c (make_help_message): Fixed mess created by the use of 'indent'. (asmtp_ehlo): Bail out on receiving second STARTTLS. Remove STARTTLS capability after successful initiation of TLS. (anubis_smtp): Clear T_SSL_FINISHED flag after successful authentication. * src/net.c (swrite): Do not try to write out zero bytes. This upsets gnutls. * src/stream.c (struct net_stream.state): New member (stream_set_io): Init ->state (stream_close): Do nothing if state != state_open * src/tunnel.c (get_ehlo_domain,save_ehlo_domain): New functions (smtp_begin): Use get_ehlo_domain() (handle_ehlo): Save user EHLO domain. Use get_ehlo_domain(). Removed FIXME indicator 2004-07-11 Wojciech Polak * src/authmode.c (anubis_authenticate_mode): Fixed the bug, where a specified config file was ignored. * src/tunnel.c (smtp_begin): Send the EHLO command to MTA. * THANKS: Added Jim Cheetham. * src/*.[chly]: Indent all files using the GNU coding style. * src/tls.c: Improved diagnostics. * src/rcfile.c: Likewise. * src/esmtp.c: Likewise. * src/gsasl_srv.c: Likewise. * src/main.c: Likewise. 2004-06-19 Sergey Poznyakoff * lib/lbuf.c (_auth_lb_writelines): Bugfix. * src/xdatabase.c (make_temp_file): Fixed diagnostic message. 2004-06-19 Wojciech Polak * src/anubisusr.c (cb_password): Use getpass(). (cb_passcode): Likewise. (parse_netrc): Be silent if .netrc doesn't exist. * configure.ac: Bump to 3.9.95. 2004-06-10 Sergey Poznyakoff * TODO: Updated * src/authmode.c: Minor fixes to the diagnostic messages * src/esmtp.c: Likewise. * src/help.c: Likewise. * src/tunnel.c: Likewise. 2004-06-01 Wojciech Polak Released version 3.9.94. 2004-06-01 Sergey Poznyakoff * configure.ac: Install anubisusr into bindir. * src/Makefile.am: Likewise. * m4/anubis.m4: Quote the defun name * m4/gpgme.m4: Likewise. * m4/gsasl.m4: Likewise. * m4/guile.m4: Likewise. 2004-05-31 Sergey Poznyakoff * NEWS: Updated * doc/anubis.texi: Updated * doc/pixie-dixie.texi: Synchronised with the latest version of Pixie-Dixie. 2004-05-29 Wojciech Polak * doc/Makefile.am: Changed date format to '%B %d, %Y'. 2004-05-29 Sergey Poznyakoff * doc/Makefile.am: Added rules for generating web docs * doc/index.html.in: New file * doc/.cvsignore: Updated 2004-05-27 Wojciech Polak * doc/anubis.texi: Updated (fixed some typos). * elisp/anubis-mode.el: Added new keywords. 2004-05-22 Wojciech Polak * doc/pixie-dixie.txt: Moved to `pixie-dixie.pl.txt'. * Makefile.am: Updated. 2004-05-22 Sergey Poznyakoff * doc/anubis.texi: Updated * doc/rendition.texi (macro FIXME): Rewritten 2004-05-21 Sergey Poznyakoff * doc/pixie-dixie.txt: New file * doc/pixie-dixie.texi: New file * doc/rendition.texi: New file * doc/.cvsignore: Updated * doc/Makefile.am: Updated * doc/anubis.texi: Updated * src/anubisadm.c: Changed LIST to ANUBIS_LIST to resolve name clash with the recent MySQL distributions * src/anubisdb.c: Likewise. * src/anubisusr.c: Likewise. * src/authmode.c: Likewise. * src/dbtext.c: Likewise. * src/extern.h: Likewise. * src/gdbm.c: Likewise. * src/gpg.c: Likewise. * src/gsasl_srv.c: Likewise. * src/guile.c: Likewise. * src/headers.h: Likewise. * src/list.c: Likewise. * src/list.h: Likewise. * src/map.c: Likewise. * src/misc.c: Likewise. * src/rcfile.c: Likewise. * src/rcfile.h: Likewise. * src/rcfile.y: Likewise. * src/sql.c: Likewise. * src/tunnel.c: Likewise. * testsuite/etc/Makefile.am: Added cond.in 2004-05-20 Wojciech Polak * testsuite/etc/cond.pat: New test. * testsuite/etc/cond.in: Added rules for cond.pat. * testsuite/etc/Makefile.am: Updated. * testsuite/anubis/base.exp: Added cond.pat. 2004-05-19 Sergey Poznyakoff * src/tunnel.c (save_command): Fixed parsing of commands (process_command): remove CRLF from the command and flip it to lower case before parsing. (transfer_command): Reversed return code if handle_ehlo failed. 2004-05-14 Sergey Poznyakoff * src/ssl.c: Rewritten to match new API. 2004-05-01 Wojciech Polak * src/anubisadm.c (op_usage): Removed unused %s from error(). * configure.ac: Be more verbose. 2004-04-22 Wojciech Polak * configure.ac: Let's use GNU gettext 0.14.1. * Makefile.am: Let's use GNU Automake >= 1.8.3. 2004-04-22 Sergey Poznyakoff * configure.ac: Added check for Postgres libraries. * guile/entire-msg.scm: New file. * guile/Makefile.am: Added guile/entire-msg.scm * src/sql.c: New file. General purpose interface to SQL databases. * src/sql.h: New file. * src/pgsql.c: New file. Postgres DB interface. * src/mysql.c: Rewritten using new SQL interface. * src/Makefile.am: Added new files. * src/anubisadm.c (op_list): Minor improvement. (main): Init postgres db, if required. * src/authmode.c: Minor stylistic fix. Removed misguiding comment. * src/main.c (main): Init postgres db, if required. * src/headers.h: Added missing prototypes. * src/anubisdb.c: Use const consistently. * src/dbtext.c: Likewise * src/gdbm.c: Likewise * src/gsasl.c: Moved include to headers.h * src/gsasl_srv.c: Likewise 2004-03-15 Wojciech Polak * src/authmode.c: Removed RSET support (where was my mind when I added it, dammit?). 2004-03-13 Wojciech Polak * src/authmode.c (anubis_authenticate_mode): Don't read the "translation" section in the "authentication" mode. Call the set_unprivileged_user() when `usr.username' is null. TO DO: search a special rc-file directory and retrieve an appropriate client's run control file when `usr.username' is null. 2004-03-13 Wojciech Polak * src/*: Namespace cleanup. * src/rc.c: Renamed to rcfile.c. * src/daemon.c (anubis_child_main): Bugfix. 2004-03-13 Sergey Poznyakoff * src/auth.c (auth_ident): Use streams appropriately * src/exec.c (make_local_connection_fd): When closing pipes be careful not to destroy stdin/stdout. 2004-03-12 Sergey Poznyakoff * po/POTFILES.in: Updated 2004-03-11 Sergey Poznyakoff * src/anubisusr.c (smtp_auth): Use error() instead of info() (main): Minor fix (argcv_free): Correctly handle argc==0. Changed return type to void. (parse_netrc): Initialize p_argv. * src/authmode.c: Provide special section AUTH for configuring auth mode. Move sasl-password-db and sasl-allowed-mech to AUTH. New keywords smtp-greeting-message and smtp-help-message allow to set the corresponding SMTP messages. * src/env.c (get_options): Use anubis_set_mode(). (anubis_set_mode): New function. * src/gsasl_srv.c: Protect inclusion of gsasl.h * src/headers.h: Added missing prototypes * src/rc.c (process_rcfile): Load AUTH section (control_parser): New keyword 'mode'. Equivalent to specifying --mode in the command line. * src/url.c: Removed debugging functions. 2004-03-08 Sergey Poznyakoff * src/main.c: Fixed improper #ifdef'ing 2004-03-06 Sergey Poznyakoff * src/anubisusr.c (hostcmp): Bugfix. 2004-03-06 Sergey Poznyakoff * src/anubisusr.c: Consult .netrc file for the authentication credentials. Removed debugging hooks. * src/xdatabase.c (xexamine): Bugfix 2004-03-06 Sergey Poznyakoff * configure.ac (ANUBISADM): Use Makefile variable dereference * src/Makefile.am: Added anubisusr.c Moved some tls.c and gsasl.c to libanubisdb.a (the name seems to be a misnomer now). Split gsasl.c to gsasl.c (library part) and gsasl_srv.c (server part) * src/.cvsignore: Updated * src/anubisusr.c: New file. Synchronize local and remote copies of the user's RC file, using XDATABASE protocol. * src/authmode.c: Implemented TLS * src/stream.c: New file. General-purpose streams * src/net.c: Rewritten using streams. * src/daemon.c: Likewise * src/esmtp.c: Likewise * src/exec.c: Likewise * src/extern.h: Likewise * src/headers.h: Likewise * src/main.c: Likewise * src/quit.c: Likewise * src/tls.c: Likewise * src/transmode.c: Likewise * src/tunnel.c: Likewise * src/gsasl.c: Split off server-specific functions to a separate module * src/gsasl_srv.c: New file * TODO: Updated 2004-02-22 Sergey Poznyakoff * src/log.c: Bugfixes 2004-02-21 Wojciech Polak * configure.ac: Added new option `--with-socks-proxy'. * src/files.c: Renamed to mime.c (for further MIME support). * src/proxy.c: Renamed to socks.c. 2004-02-19 Sergey Poznyakoff Initial implementation of "XDATABASE" command * src/xdatabase.c: New file * src/Makefile.am: Added xdatabase.c * src/authmode.c (anubis_smtp): On successful authentication add XDATABASE to the server capabilities (anubis_authenticate_mode): Save the retrieved rc file name in usr.rc_file_name. * src/extern.h (struct session_struct.rc_file_name): New member. * src/headers.h (user_rcfile_name, xdatabase) (xdatabase_capability): New functions * src/rc.c (user_rcfile_name): New function (open_rcfile): Use user_rcfile_name(). * src/rcfile.h (RC_ERROR_PRINTER): New data type (rc_parse_ep): New function * src/rcfile.y (rc_error_printer,rc_error_printer_data): New variables. (parse_error): Use rc_error_printer variable to actually print the diagnostics. (yyerror): Call parse_error() instead of calling anubis_error() directly. (rc_parse_ep): New function * src/tunnel.c (process_command): Handle XDATABASE command 2004-02-18 Sergey Poznyakoff * src/auth.c (auth_ident): Do not use sscanf. * src/errs.c: Fix improper format specs in syslog invocations. * src/ssl.c: Likewise. 2004-02-14 Wojciech Polak * src/url.c (url_get_mech): Bugfix. * src/anubisadm.c (print_help): Split up the messages and use puts(). (op_add_or_modify): Use getpass(). * lib/getpass.c: New file. * configure.ac (AC_REPLACE_FUNCS): Added getpass. 2004-02-14 Sergey Poznyakoff * src/mysql.c (mysql_db_put): Fixed query template * src/anubisadm.c (op_create): Initialize rec. Print input line number along with the error message. 2004-02-12 Sergey Poznyakoff * src/mysql.c: Trivial fixes. * src/Makefile.am: Moved mem.[ch] to libanubisdb * src/anubisadm.c: Trivial fixes. Remove xmalloc duplication and provide memory error handler hook. * src/headers.h (memory_error): New external variable. * src/main.c: Provide memory error handler hook. * src/mem.c (xmalloc, xrealloc): Rely on user-defined hook to handle memory allocation errors. 2004-02-11 Sergey Poznyakoff * configure.ac: AC_REPLACE getline. Define ANUBISADM if gsasl is requested. * doc/Makefile.am (TEXINFO_TEX): Removed. It prevented automake from copying texinfo.tex to build/ * lib/getline.c: New file * lib/getline.h: New file * lib/Makefile.am: Added getline.c, getline.h * lib/lbuf.h: Removed leftover header dependency. * lib/lbuf.c: Minor changes. * src/anubisadm.c: New file. Interface for Anubis database administration. * src/Makefile.am (anubisadm, libanubisdb.a): New targets * src/.cvsignore: Updated * src/anubisdb.c: Added new operation: list * src/dbtext.c: Likewise. * src/gdbm.c: Likewise. * src/headers.h: Likewise. * src/mysql.c: Likewise. Also fixed potential coredumps in mysql_db_get. * src/url.c (anubis_url_full_path): Fixes for a case when URL does not have a host part. 2004-01-06 Wojciech Polak * m4/Makefile.am: Removed. * configure.ac (AC_CONFIG_FILES): Removed m4/Makefile. (AC_PREREQ): Bump to 2.59. * Makefile.am: Removed m4. Require at least version 1.8. 2003-12-25 Sergey Poznyakoff Synchronized with the backup repository on Mirddin 2003-12-22 Wojciech Polak * testsuite/mta.c: Adapt to GnuTLS >= 1.0.0. 2003-12-17 Wojciech Polak * src/tls.c: Adapt to GnuTLS >= 1.0.0. * src/headers.h: Include . 2003-12-09 Wojciech Polak * configure.ac: Set AM_GNU_GETTEXT_VERSION(0.13). Force to use GnuTLS >= 1.0.0. * m4/Makefile.am: Updated (gettext 0.13). 2003-11-30 Sergey Poznyakoff * src/headers.h (N_): Define uncoditionally. (anubis_db_open_t): Extra parameter: pointer to textual error description. * src/anubisdb.c (anubis_db_open): Return textual error description. * src/mysql.c (mysql_db_open): Likewise * src/dbtext.c (dbtext_open): Likewise * src/gdbm.c (gdbm_db_open): Likewise (gdbm_db_strerror): Implemented. * src/authmode.c (anubis_get_db_record): Updated the invocation of anubis_db_open(). * po/POTFILES.in: Updated 2003-11-30 Wojciech Polak * src/misc.c (change_to_lower): Renamed to make_lowercase. * src/headers.h (change_to_lower): Changed prototype. * src/tunnel.c: Use make_lowercase(). * src/help.c (config_opts): Added MYSQL. * po/POTFILES.in: Updated. 2003-11-30 Sergey Poznyakoff * TODO: Updated * configure.ac: Removed useless AC_LIBOBJ. Added --with-mysql option and code to detect presence of MySQL * lib/Makefile.am: Added automake stuff * m4/anubis.m4: New file * m4/Makefile.am: Added anubis.m4 * src/Makefile.am: Modified to fit the new directory layout * src/anubisdb.c: Protect the code by #ifdef * src/authmode.c: Likewise * src/dbtext.c: Likewise. * src/gdbm.c: Likewise. * src/gsasl.c: Likewise. * src/url.c: New file. * src/mysql.c: New file. * src/headers.h (ANUBIS_URL): New data type. (anubis_url_destroy,anubis_url_parse,anubis_url_full_path) (anubis_url_get_arg): New functions. * src/main.c (main): Call mysql_db_init * src/rc.c (control_parser): sasl-password-db now takes only one argument: the database URL. 2003-11-29 Wojciech Polak * configure.ac: Added lib * lib: added to the repository * lib/.cvsignore: New file * Makefile.am: Updated * src/Makefile.am: Updated * lib/Makefile.am: New file * src/getopt1.c,getopt.c,getopt.h,gettext.h lbuf.c,lbuf.h,obstack.c,obstack.h,setenv.c, snprintf.c: moved to ../lib 2003-11-26 Sergey Poznyakoff * doc/anubis.texi: Fixed a couple of misspellings. 2003-11-22 Wojciech Polak * src/net.c (_debug_printer): Invert debug arrows. (connect_directly_to): Removed poor debug message. 2003-11-22 Sergey Poznyakoff * src/authmode.c (asmtp_ehlo,anubis_smtp,anubis_get_db_record) (anubis_authenticate_mode): Pass ANUBIS_USER as application- specific data. * src/gsasl.c: Use new GSASL functions instead of obsolete ones. * src/headers.h (anubis_auth_gsasl): Changed prototype 2003-11-22 Wojciech Polak * src/authmode.c: Added preliminary RSET support. (asmtp_kw): Check the `name' before strcasecmp(). 2003-11-22 Sergey Poznyakoff * src/gsasl.c (auth_gsasl_capa_init): Removed calls to obsolete function gsasl_server_listmech. Use gsasl_server_mechlist instead. 2003-11-22 Wojciech Polak * src/help.c (config_opts): Added GSASL. 2003-11-22 Sergey Poznyakoff * src/dbtext.c (dbtext_open): Minor fix. * src/gsasl.c (anubis_set_mech_list): New function. (auth_gsasl_capa_init): Allow for terminating nul in gsasl_server_listmech output. Build the resulting capability list as an intersection between the one reported by GSASL and the list of allowed mechanisms. * src/headers.h (anubis_set_mech_list): New function. * src/list.c (list_intersect): New function * src/list.h: Likewise. * src/rc.c (control_parser): Handle sasl-allowed-mech keyword. 2003-11-21 Wojciech Polak * src/env.c (get_options): Added missing "m:" to getopt_long(). * src/authmode.c: Removed broken #include . 2003-11-21 Sergey Poznyakoff Initial implementation of "authentication mode". * configure.ac: Check for libgsasl and gdbm * m4/gsasl.m4: New file (imported from mailutils) * m4/Makefile.am: Added gsasl.m4 * src/daemon.c (anubis_child_main): New function. (loop): Call anubis_child_main(). * src/extern.h (anubis_domain, anubis_mode): New externals * src/headers.h: New declarations. * src/help.c: Reflect --mode option. * src/env.c: New option --mode. * src/main.c (anubis_domain, anubis_mode): New externals (anubis_core): Initialize various database formats. * src/misc.c (get_localname, get_localdomain): New functions. * src/net.c (net_io_get,net_io_read,net_io_write,net_io_close) (recvline_ptr): New functions. * src/rc.c: New keywords local-domain and sasl-password-db * src/tunnel.c (smtp_session_transparent): New function (smtp_begin): New function * src/authmode.c: New file * src/transmode.c: New file * src/gsasl.c: New file * src/lbuf.c: New file * src/lbuf.h: New file * src/anubisdb.c: New file * src/dbtext.c: New file * src/gdbm.c: New file * src/Makefile.am: Added new files 2003-11-08 Wojciech Polak * src/tls.c (verify_certificate): Removed GNUTLS_CERT_CORRUPTED (missing in GnuTLS >= 0.9.95 ?!). Also GNUTLS_CERT_NOT_TRUSTED = GNUTLS_CERT_INVALID. * configure.ac: Changed AM_CONFIG_HEADER to AC_CONFIG_HEADERS. 2003-10-27 Wojciech Polak * src/esmtp.c: Conform to libgcrypt >= 1.1.42 (a new API). * src/help.c (show_config_options): Removed. Keep only print_config_options(). * doc/anubis.1: Updated. * configure.ac: Bump to 3.9.94. Requires now GnuTLS >= 0.9.93. * src/main.c: Bump to 3.9.94. 2003-09-16 Wojciech Polak * src/rcfile.y (_print_stars): Print only three stars. * testsuite/etc/std.in: Updated. * testsuite/etc/std.pat: Likewise. 2003-09-16 Sergey Poznyakoff * src/rcfile.h (struct rc_kwdef.flags): New member (struct rc_asgn.flags): New member * src/rcfile.y: Take into account rc_kwdef.flags when parsing and printing. * src/rc.c (control_kw): Mark "esmtp-auth" with KWF_HIDDEN. * src/gpg.c (gpg_kw): Mark "gpg-passphrase" with KWF_HIDDEN. * testsuite/etc/std.pin: Modified to match the new debugging output style. 2003-09-09 Wojciech Polak * src/rc.c (tls_parser): Removed T_SSL_CKCLIENT from KW_SSL_CERT case. 2003-09-02 Sergey Poznyakoff * NEWS: Updated 2003-08-28 Wojciech Polak * configure.ac: Added AM_PATH_GPGME. * m4/gpgme.m4: New file. * m4/Makefile.am: Added gpgme.m4. * src/gpg.c: Replaced puts(S) with fputs(S, stderr);. (gpg_sign, gpg_sign_encrypt): Added gpgme_key_release(key). 2003-08-28 Sergey Poznyakoff * src/rcfile.h (error_sync_begin): Changed return type. * src/rcfile.l: Likewise. * src/rcfile.y (seclist production): Set yychar. Clear error state only if not at EOF, otherwise yylex will be called again and will coredump. (struct eval_env.traceable): New member. Controls whether tracing should be enabled for this section. (asgn_eval): Fixed printing of trigger rules. 2003-08-27 Wojciech Polak * configure.ac: Bump to 3.9.93. Removed isatty from AC_CHECK_FUNCS. * src/main.c: Added SETVBUF(stderr, NULL, _IOLBF, 0);. 2003-08-26 Wojciech Polak * examples/1anubisrc: Updated. * examples/2anubisrc: Likewise. * doc/anubis.texi: Likewise. * elisp/anubis-mode.el: Added tracefile, gpg-sign-encrypt, and gpg-se. 2003-08-26 Sergey Poznyakoff * src/rc.c (open_rcfile): Removed debugging hook. Thanks Dominique for reporting. 2003-08-25 Sergey Poznyakoff * doc/anubis.texi: Updated 2003-08-24 Wojciech Polak * testsuite/etc/gpgse.pat: Added new test (GPG signing and encryption). * testsuite/etc/gpg.in: Updated. * testsuite/etc/gpgcrypt.pat: Likewise. * testsuite/etc/gpgsign.pat: Likewise. * testsuite/etc/Makefile.am: Added gpgse.pat. * testsuite/anubis/gpg.exp: Likewise. * doc/anubis.texi: Updated. Added gpg-sign-encrypt. 2003-08-24 Sergey Poznyakoff * configure.ac: Determine signal handler return type. * src/headers.h (sig_exit,sig_timeout): Fixed protos. (cleanup_children): New function. (anubis_free_list_item): New function. * src/daemon.c (sig_cld): Fixed return type (loop,stdinout): Call cleanup_children() * src/exec.c (sig_local): Changed return type. Removed code. (cleanup_children): New function. * src/misc.c (_mem_free): Removed (anubis_free_list_item): New function. (destroy_string_list): Use anubis_free_list_item(). * src/quit.c (sig_exit,sig_timeout): Fixed return types. * src/rc.c (open_rcfile): Prevent the same file from being read twice (as a system-wide and per-user config). * src/rcfile.y (_free_mem): Removed (rc_asgn_destroy,asgn_eval): Use anubis_free_list_item() 2003-08-24 Wojciech Polak * src/gpg.c: General fixes and improvements. 2003-08-22 Wojciech Polak New configuration file option `tracefile'. * src/rcfile.y: Use tracefile instead of trace. * src/rcfile.h (trace): Renamed to `tracefile'. * src/rc.c (KW_TRACEFILE): New define. * src/log.c (trace): Renamed to `tracefile'. (tracefile): Added the support for `tracefile' option. * src/quit.c (free_mem): Added `options.tracefile'. * src/headers.h (T_TRACEFILE_SYS, T_TRACEFILE_USR): New defines. * src/extern.h (options_struct): Added `tracefile'. 2003-08-21 Wojciech Polak * src/log.c (info): Removed `slogfile'. * src/errs.c (anubis_error): Likewise. * src/quit.c (free_mem): Likewise. * src/rc.c: Moved `logfile' to client_kw. * src/extern.h (options_struct): Removed `slogfile'. * src/errs.c (anubis_error, socks_error): Changed prototype. * src/headers.h: Likewise. 2003-08-21 Sergey Poznyakoff * src/exec.c (exec_argv): Extra argument: full path to the program to be executed. * src/headers.h: Likewise. * src/message.c: Updated calls to exec_argv * THANKS: Added Dominique Bordereaux. * src/env.c (get_options): Fixed definition of 'c' option (needed double-colon). 2003-08-21 Wojciech Polak * src/gpg.c (gpg_sign_encrypt): New function. Added support for `gpg-sign-encrypt' action. (gpg_encrypt_to_users): Renamed to `gpg_encrypt'. * configure.ac: Bump to 3.9.92. * src/main.c: Likewise. 2003-08-17 Sergey Poznyakoff * doc/anubis.texi: Document the proper way of escaping the & character in modify statements. * src/headers.h (T_SMTP_ERROR_CODES): New define. * src/daemon.c (stdinout): Set T_SMTP_ERROR_CODES bit. * src/errs.c (anubis_error): Honor T_SMTP_ERROR_CODES bit. * src/log.c (mprintf): Output to stderr. * src/main.c (anubis): Removed resetting termlevel to SILENT in --stdio mode. * src/message.c (expand_ampersand): Bugfix. * testsuite/etc/del.in: Fixed emacs mode indicator * testsuite/etc/mod-header.in: Fixed escaping the & character. * testsuite/etc/mult.pat: Minor change in wording. * testsuite/etc/add.in: Use new syntax (avoid using =) * testsuite/etc/empty.in: Likewise. * testsuite/etc/entire.in: Likewise. * testsuite/etc/gpg.in: Likewise. * testsuite/etc/mod-body.in: Likewise. * testsuite/etc/remail.in: Likewise. * testsuite/etc/simple.in: Likewise. * testsuite/etc/tlsoneway.in: Likewise. * testsuite/etc/trigger.in: Likewise. 2003-08-15 Wojciech Polak * src/log.c: A few minor changes. * src/headers.h (mprintf, info): Changed prototypes. * testsuite/etc/mod-header.in: Added new subtest (&). * testsuite/etc/mod-header.pat: Likewise. 2003-08-14 Sergey Poznyakoff Added tracing the execution of config file sections. * src/log.c (trace): New function. * src/message.c (expand_ampersand): Bugfix: missed terminating zero. * src/rc.c (open_rcfile): Destroy the previous parse tree only if we really are going to re-read the system config. (rule-priority, control-priority): Moved from init_kw to init_supervisor_k to allow for redefining their values. * src/rcfile.h (trace): New function. (struct rc_loc): New data type. (struct rc_section,rc_node,rc_stmt): Added RC_LOC member for execution tracing. * src/rcfile.y: Support for RC_LOC. 2003-08-09 Sergey Poznyakoff * elisp/anubis-mode.el: Compatibility fix. * README: Updated * testsuite/etc/add.in: Reformatted using anubis-mode. * testsuite/etc/del.in: Likewise. * testsuite/etc/empty.in: Likewise. * testsuite/etc/entire.in: Likewise. * testsuite/etc/gpg.in: Likewise. * testsuite/etc/mod-body.in: Likewise. * testsuite/etc/mod-header.in: Likewise. * testsuite/etc/remail.in: Likewise. * testsuite/etc/simple.in: Likewise. * testsuite/etc/std.in: Likewise. * testsuite/etc/tlsoneway.in: Likewise. * testsuite/etc/trigger.in: Likewise. 2003-08-08 Sergey Poznyakoff * elisp/anubis-mode.el (anubis-keyword-dict): Added font-lock support. (anubis-check-syntax): New command. * src/rcfile.y (rc_set_debug_level): Default debugging level is 0. * testsuite/etc/std.pin: Provide an explicit argument to --check-config * doc/anubis.texi (Invoking Anubis): Improved the description of --check-config option. * README: Updated 2003-08-06 Sergey Poznyakoff * elisp/Makefile.am: Bugfix, the el file was not compiled * elisp/anubis-mode.el (anubis-mode-map): Changed '?' mapping to '\e?'. * elisp/.cvsignore: Updated 2003-08-05 Sergey Poznyakoff * Makefile.am (SUBDIRS): Added elisp * configure.ac: Detect the emacs lisp directory. * elisp: New directory * elisp/Makefile.am: New file * elisp/anubis-mode.el: New file * README: Updated * TODO: Updated * NEWS: Updated 2003-07-30 Sergey Poznyakoff * doc/anubis.texi (Remailers): Document the ways of GPG signing/encrypting the messages being remailed. 2003-07-26 Sergey Poznyakoff * src/tunnel.c (get_boundary): Bugfix. Operate on the unaltered boundary line. 2003-07-21 Sergey Poznyakoff * testsuite/etc/add.in (body-append): Use TOP_SRCDIR. 2003-07-21 Wojciech Polak * testsuite/etc/add-body-file.pat: New test. * testsuite/etc/add.in: Added rule for add-body-file.pat. * testsuite/etc/Makefile.am: Updated. * testsuite/data/append.txt: New auxiliary file. * testsuite/data/Makefile.am: Updated. * testsuite/anubis/base.exp: Added add-body-file.pat. 2003-07-21 Wojciech Polak * src/files.c (message_append_signature_file): Bugfix. * src/headers.h (message_append_signature_file): Changed prototype. * src/rc.c: Test YES-OR-NO arguments with strcasecmp(). * src/gpg.c: Likewise. * configure.ac: Bump to 3.9.91. * src/main.c: Likewise. 2003-07-20 Wojciech Polak * NEWS: Updated. * TODO: Likewise. * src/rc.c: Moved KW_DROP_UNKNOWN_USER to init_supervisor_kw. (KW_ALLOW_NOTPRIVILEGED): Renamed to KW_USER_NOTPRIVILEGED. * src/list.h: Clean up with prototypes. * src/gpg.c: Likewise. 2003-07-20 Sergey Poznyakoff * NEWS: Updated * configure.ac: Check if u_char is defined. * src/env.c: Force the argument to ctype calls to be unsigned char. * src/exec.c: Likewise. * src/map.c: Likewise. * src/misc.c: Likewise. * src/proxy.c: Likewise. * src/rcfile.l: Likewise. * src/tunnel.c: Likewise. * testsuite/mta.c: Likewise. 2003-07-18 Wojciech Polak * doc/anubis.texi: Updated. * examples/2anubisrc: Likewise. * examples/anubisrc.guile: Likewise. 2003-07-18 Sergey Poznyakoff * src/message.c (message_modify_headers): Expand ampersands to the old header value. * src/rc.c: Added support for `control-priority' keyword. * src/rcfile.l: Added `trigger' keyword. * TODO: Updated * doc/anubis.texi: Updated * examples/1anubisrc: Changed `rule' to `trigger'. * examples/anubisrc.guile: Likewise. * testsuite/etc/gpg.in: Likewise. * testsuite/etc/remail.in: Likewise. * testsuite/etc/std.in: Likewise. * testsuite/etc/trigger.in: Likewise. 2003-07-15 Sergey Poznyakoff * src/rc.c (anubis_add_section): Initialize prio member. (open_rcfile): For CF_INIT and CF_SUPERVISOR: initialize parse_tree; (control_parser): Implementes user-only and system-only keywords. * src/rcfile.h (enum section_prio): New priorities. (rc_section_list_destroy,rc_section_destroy): Changed proto. * src/rcfile.y: Updated to new signatures of rc_section_list_destroy,rc_section_destroy (rc_section_link): Use new priorities. 2003-07-15 Wojciech Polak * src/main.c: Bump to 3.9.90. * src/mem.c: Minor changes. * src/mem.h: Likewise. * doc/anubis.texi: Updated. 2003-07-15 Sergey Poznyakoff * TODO: Updated * examples/1anubisrc: Updated to new syntax * examples/2anubisrc: Likewise. * src/rc.c (anubis_section_set_prio): New function. (open_rcfile): Do not destroy the saved tree before processing the new file. (control_parser): Handle new keyword rule-priority (rule_section_init): Initialize prio member (rcfile_process_section): Process all sections whose names match, not just the first of them. * src/rcfile.h (enum section_prio): New datatype (struct rc_secdef.prio): New member * src/rcfile.y (begin): Signal error if the section has already been declared. (rc_section_link): Honor section priority when linking. * src/regex.c (anubis_regex_free): May be called with NULL argument. 2003-07-13 Sergey Poznyakoff * src/rcfile.h (lex_clear_state,error_sync_begin): New functions * src/rcfile.l (lex_clear_state,error_sync_begin): New functions Complain about invalid characters. * src/rcfile.y: Continue parsing after encountering errors. * doc/anubis.texi: Updated * doc/Makefile.am: Added DISTCLEANFILES 2003-07-10 Wojciech Polak * doc/anubis.texi: Updated 2003-07-10 Sergey Poznyakoff * doc/anubis.texi: Updated 2003-07-06 Sergey Poznyakoff * src/headers.h (SYNTAX): New error displaying method, used for syntax errors. * src/errs.c (anubis_error): Do not prefix the message with '>>' for SYNTAX method. * src/rc.c: Renamed ssl keywords. New command "body-clear". * src/rcfile.y: Use SYNTAX method for error messages. * testsuite/etc/tlsoneway.in: Use new ssl keywords. 2003-07-01 Sergey Poznyakoff * configure.ac: Define M4_DEFS (--with-gpgme,--with-pcre,--with-pam,--with-tcp-wrappers): Bugfix: correctly handle both forms (with -- without). * src/Makefile.am: Add @LIBGNUTLS_LIBS@ and @LIBGNUTLS_CFLAGS@ * testsuite/Makefile.am: Likewise. * src/headers.h: Fixed heuristics of defining HAVE_GNUTLS. * src/rcfile.y (parse_error): New function. Used instead of yyerror() wherever appropriate. * src/tls.c: Provide typecasts for gnutls_transport_ptr data. * testsuite/mta.c: Likewise. * testsuite/anubis/base.exp (std.pat): Provide full path. * testsuite/etc/std.pat: Removed. * testsuite/etc/std.pin: New file. * testsuite/etc/Makefile.am: Remove std.pat. Add std.pin * testsuite/etc/.cvsignore: Add std.pat. * testsuite/etc/std.in: Conditionally include parts of the file depending on the compilation settings. * testsuite/lib/anubis.exp (anubis_pat): Allow for full pathname of the pat-file. * doc/anubis.texi: Minor change 2003-07-01 Sergey Poznyakoff * src/rc.c: Forgotten to commit 2003-06-30 Sergey Poznyakoff * configure.ac: Use AM_PATH_LIBGNUTLS * m4/libgnutls.m4: New file. * m4/Makefile.am: Added libgnutls.m4 * src/headers.h (anubis_regex_free): Changed prototype. * src/map.c (translate_section): Removed. * src/rc.c (anubis_add_section): Initialize allow_prog member * src/rcfile.h (struct rc_secdef.allow_prog): New member. * src/rcfile.y: Improved diagnostics. * src/regex.c (ASSERT_RE): New macro (anubis_regex_match,anubis_regex_replace) (anubis_regex_refcnt,anubis_regex_compile): Use ASSERT_RE (anubis_regex_free): Changed proto * testsuite/etc/std.in: Updated * testsuite/etc/std.pat: Updated 2003-06-29 Wojciech Polak * src/daemon.c (loop): Added support for DROP-UNKNOWN-USER. * src/rc.c (control_parser): Likewise. * src/headers.h: Added T_DROP_UNKNOWN_USER. * TODO: Updated. 2003-06-29 Sergey Poznyakoff * src/rcfile.y: Force R_EXACT on r_msgpart production. (rc_node_print,rc_inst_print): Use anubis_regex_print. * src/headers.h: Fixed two typos. (anubis_regex_print): New function. * src/regex.c (anubis_regex_print): New function. * testsuite/etc/std.pat: Updated 2003-06-29 Sergey Poznyakoff * src/headers.h: Altered regexp modifiers. (re_set_type,re_typeof,re_set_flag,re_clear_flag): New macros (message_remove_headers,message_modify_headers): Changed declarations. * src/message.c (message_remove_headers) (message_modify_headers): Changed declarations. * src/rcfile.h (struct rc_inst.type): Changed type * src/rcfile.l: New keyword "regex" * src/rcfile.y: Lots of changes to allow for more flexible handling of regular expressions. Improved diagnostics. * src/regex.c: New pattern matching type R_EXACT. * testsuite/etc/del.in: Use new syntax. * testsuite/etc/mod-body.in: Likewise. * testsuite/etc/mod-header.in: Likewise. 2003-06-27 Sergey Poznyakoff * src/headers.h (message_modify_body): Added prototype. * src/mem.h (xfree,xfree_pptr): Made safer. * src/list.c: Standartize usage of xfree() and xfree_pptr(). * src/message.c: Likewise. * src/rcfile.y: Likewise. * src/regex.c: Likewise. * src/tunnel.c: Likewise. 2003-06-27 Sergey Poznyakoff * src/daemon.c: Get rid of the unneeded locals * src/headers.h (smtp_session): Changed proto. * src/rcfile.l: Allow the use of '\' to escape newlines * src/tunnel.c (process_command,transfer_command): Rewritten (rest of functions): Get rid of the unneded locals. * TODO: Updated * doc/anubis.texi: Updated. 2003-06-22 Sergey Poznyakoff * src/message.c (message_init): Create header and command lists. * src/tunnel.c: Fixed memory leaks. 2003-06-21 Sergey Poznyakoff * src/daemon.c (_stdio_read): Minor fix. (set_nonblocking): Not needed anymore. (stdinout): Removed calls to set_nonbloking. * src/net.c (struct io_data): Use separate buffers for client and server. (mread): Likewise. 2003-06-20 Sergey Poznyakoff * src/message.c (message_modify_body): Allow the NULL value (message_modify_headers): Allow regexp keys * src/rcfile.y: Likewise * src/regex.c (anubis_regex_replace): Replace all occurrences in the string. * testsuite/mta.c: Bugfix * testsuite/etc/mod-body.in: Test unenclosed patterns. * testsuite/etc/mod-header.in: Test new modify features. * testsuite/etc/mod-header.pat: Likewise. 2003-06-19 Wojciech Polak * testsuite/etc/mod-header.pat: New file. Testing the modify header mechanism. * testsuite/etc/mod-header.in: New file. * testsuite/etc/Makefile.am: Updated. * testsuite/anubis/base.exp: Added mod-header.pat. * TODO: Updated. 2003-06-19 Sergey Poznyakoff * TODO: Updated * configure.ac: Add AC_PROG_YACC, AM_PROG_LEX * src/guile.c: use non-destructive eval * src/headers.h (anubis_regex_replace): New function * src/regex.c: Likewise. * src/message.c (message_modify_body): New function. Implements "modify body [key] text" statement. * src/rcfile.y: Minor cleanup (inst_eval): Call message_modify_body(). * testsuite/anubis/base.exp: Run mod-body test * testsuite/anubis/gpg.exp: Add final newline * testsuite/etc/mod-body.pat: New file * testsuite/etc/mod-body.in: New file * testsuite/etc/Makefile.am: Added new files 2003-06-17 Wojciech Polak * doc/anubis.texi: Updated. Reorganized a bit. 2003-06-11 Wojciech Polak * configure.ac: Bump to 3.9.90 (pretest version). * NEWS: Added entry for 4.0. * Makefile.am (AUTOMAKE_OPTIONS): Added readme-alpha. * README-alpha: New file. 2003-06-07 Wojciech Polak * examples/pam/anubis.allow: Added default unprivileged user `nobody'. * po/POTFILES.in: Updated. * README: Likewise. 2003-06-07 Wojciech Polak * src/Makefile.am: Bugfix. Added missing -I$(top_srcdir)/intl. 2003-06-07 Wojciech Polak * src/gettext.h: New file. * src/headers.h: Include "gettext.h" instead of . * src/Makefile.am (EXTRA_DIST): Added gettext.h. 2003-06-06 Wojciech Polak * src/obstack.c: Provide newer version. * src/obstack.h: Likewise. * src/getopt1.c: Likewise. * src/getopt.c: Likewise. * src/getopt.h: Likewise. 2003-06-06 Wojciech Polak * src/errs.c (anubis_error): Removed unneeded HAVE_VSNPRINTF. * src/log.c (mprintf): Likewise. * testsuite/mta.c: Clean up with prototypes. 2003-06-02 Sergey Poznyakoff * src/net.c (_debug_printer): Avoid splitting debug transcript lines. 2003-05-30 Wojciech Polak * configure.ac: Added new option --with-unprivileged-user. Use the AC_HELP_STRING where appropriate. * src/daemon.c (set_unprivileged_user): Support the new DEFAULT_UNPRIVILEGED_USER. 2003-05-29 Wojciech Polak * configure.ac: Set AM_GNU_GETTEXT_VERSION(0.12.1). * m4/Makefile.am: Added nls.m4 and po.m4. * po/Makevars: Added MSGID_BUGS_ADDRESS. * Makefile.am: Bumped to GNU Automake 1.7.5. 2003-05-28 Sergey Poznyakoff * src/tls.c (start_ssl_server): Bugfix * testsuite/etc/tlsoneway.in: Use TOP_SRCDIR to access PEM file. 2003-05-27 Sergey Poznyakoff * TODO: Updated * src/auth.c: Removed superfluous return * src/log.c: Removed unneeded HAVE_VSNPRINTF * src/tls.c: Provide push/pull functions to work with local mailers. * src/tunnel.c (transfer_command): TLS can be used with local mailers. * testsuite/mta.c: Added TLS support (only with GnuTLS). * testsuite/etc/tlsoneway.pat: New file. * testsuite/etc/tlsoneway.in: New file. * testsuite/etc/Makefile.am: Added new files. * testsuite/anubis/tls.exp: New file. * testsuite/anubis/DISTFILES: Added new files. * testsuite/data/anubis.pem: New file * testsuite/data/Makefile.am: Added new file. 2003-05-11 Wojciech Polak * src/help.c (print_usage): Added missing command line options. * scripts/redhat.init: Small fix. 2003-05-10 Sergey Poznyakoff * src/tls.c: More diagnostics. * src/tunnel.c (process_command): Bugfix. Inform the client that we are willing to handle TLS. 2003-05-10 Sergey Poznyakoff Implemented iterators instead of non-reentrant list_first/list_next calls. * src/list.h (list_first,list_next,list_remove_current) (list_append_list): Removed. (ITERATOR): New datatype. (iterator_create,iterator_destroy,iterator_current) (iterator_first,iterator_next): New functions. * src/list.c: Likewise. * src/extern.h: Use iterator functions. * src/headers.h: Likewise. * src/daemon.c: Likewise. * src/gpg.c: Likewise. * src/guile.c: Likewise. * src/map.c: Likewise. * src/message.c: Likewise. * src/misc.c: Likewise. * src/quit.c: Likewise. * src/rc.c: Likewise. * src/rcfile.h: Likewise. * src/rcfile.y: Likewise. * src/tunnel.c: Likewise. * src/tls.c: More diagnostics. 2003-05-08 Wojciech Polak * configure.ac: Fixed OpenSSL compilation (broken with_gnutls=no). * src/ssl.c (start_ssl_server): Added missing SESS *sd. (_ssl_strerror): Changed return type to static const char *. 2003-05-02 Wojciech Polak * headers.h: Clean up with prototypes. Moved some stuff to extern.h and vice versa. * extern.h: Likewise. * list.h: Clean up with prototypes. * rcfile.h: Likewise. * rcfile.l: Likewise. * rcfile.y: Likewise. * rc.c: Likewise. * regex.c: Likewise * main.c: Likewise. * map.c: Likewise. * net.c: Likewise. * guile.c: Likewise. (list_to_args): Put parentheses around assignment. * tunnel.c: (write_header_line): Put parentheses around assignment. * misc.c (insert): Convert to a static function. * env.c (get_options): Added missing option `c' to getopt_long(). 2003-04-26 Wojciech Polak * doc/anubis.texi: Changed @dircategory to Email. * TODO: Updated. 2003-04-08 Wojciech Polak * doc/anubis.texi: Clean up. Removed some old stuff. 2003-04-06 Sergey Poznyakoff * src/tunnel.c: Use new encryption wrappers. * src/daemon.c: Likewise. * src/net.c: Likewise. * src/errs.c (socket_error): Changed declaration. * src/extern.h (secure_struct): Removed implementation-dependent members. * src/headers.h (T_SSL_CLIENT,T_SSL_SERVER): Not needed anymore. (net_io_t,net_close_t,strerror_t): New data types. (socket_error): Changed proto. (net_set_io,net_close): New function. * src/main.c (main): Call init_ssl_libs. * src/proxy.c: Reflect changes to the declaration of socket_error(). * src/quit.c (quit): Removed implementation-dependent calls. * src/ssl.c: Rewritten to make more modular. * src/tls.c: Likewise. 2003-03-10 Wojciech Polak * testsuite/etc/trigger.pat: New file. Testing the Trigger mechanism. * testsuite/etc/trigger.in: New file. * testsuite/etc/Makefile.am: Updated. * testsuite/anubis/base.exp: Added trigger.pat. * TODO: Updated. 2003-03-07 Wojciech Polak * src/quit.c (free_mem): Removed unused variables. * src/main.c (struct rm_struct): Removed. * src/extern.h: Likewise. * src/esmtp.c: Fixed preprocessor directives. * src/proxy.c: Likewise. * src/exec.c: Likewise. * src/net.c: Likewise. * src/ssl.c: Likewise. 2003-03-07 Sergey Poznyakoff * po/POTFILES.in: Added missing files. * src/map.c (translate_parser): Synchronized with the yesterday's changes. 2003-03-07 Sergey Poznyakoff * TODO: Updated * examples/anubis.scm: Major changes. * guile/rot-13.scm (rot-13): A universal function for rotating the message body, its subject, or both. * src/gpg.c: Removed obsolete kewords. * src/rc.c: Likewise. * testsuite/anubis/guile.exp: Added rot-13 test * testsuite/etc/rot-13.pat: New file. * testsuite/etc/Makefile.am: Added rot-13.pat * testsuite/etc/remail.in: Modified to support rot-13 test as well. * testsuite/etc/remail.pat: Fixed remailer header. 2003-03-06 Sergey Poznyakoff * guile: New subdirectory * guile/Makefile.am: New file. * guile/remailer.scm: New file. * guile/rot-13.scm: Moved from ... * examples/rot-13.scm: ... here * examples/Makefile.am: Updated. * Makefile.am: Added new subdir (guile) * configure.ac: Likewise. Minor fix for handling --with-gnutls and --with-openssl options. * examples/anubis.scm: Added extra arguments to interface functions. * src/daemon.c: Use ngettext wherever appropriate. * src/ssl.c: Likewise. * src/tls.c: Likewise. * src/exec.c (exec_argv): new function. * src/guile.c (guile_process_proc): Pass any number of additional parameters to the procedure. (guile_parser): Reflect changes to the prototype. * src/gpg.c (gpg_parser): Reflect changes to the prototype. * src/headers.h (message_external_proc): Changed proto (exec_argv): New function. * src/list.c (list_iterate): Bugfix (list_item): New function. * src/list.h: (list_item): New function. * src/message.c (message_external_proc): Changed proto * src/rc.c (control_parser,tls_parser,rule_parser): Reflect changes to the prototype. * src/rcfile.h (struct rc_asgn): Changed type of 'rhs' (rc_kw_parser_t): Changed third argument type. * src/rcfile.l: Lots of changes to make LIT state more intellectual. * src/rcfile.y (asgn_stmt) production modified to collect whitespace-separated arguments at the right of the keyword, instead of just one line. * testsuite/data/Makefile.am: Fixed creation gpg keyrings. * testsuite/etc/remail.pat: New file * testsuite/etc/remail.in: New file * testsuite/etc/Makefile.am: Added new files * testsuite/lib/anubis.exp (anubis_expect_list,anubis_test): Be more stringent in testing. * testsuite/etc/gpgcrypt.pat: Modified to reflect recent changes to anubis.exp. * testsuite/etc/gpgsign.pat: Likewise. * testsuite/anubis/guile.exp: New file * testsuite/anubis/DISTFILES: Updated 2003-03-03 Wojciech Polak * examples/1anubisrc: Updated to the new syntax. * testsuite/etc/std.in: Updated. * testsuite/etc/std.pat: Likewise. 2003-03-03 Sergey Poznyakoff * TODO: Updated * src/headers.h (rcfile_call_section): New function * src/rc.c: Likewise. * src/rcfile.h (inst_stop, inst_call): New instruction types. (rc_call_section): New function. * src/rcfile.y: Allow regexp options to appear on both sides of the equal sign. Implemented "call" and "stop" statements. * testsuite/etc/std.in: Test for regexp option on the left from the '='. 2003-03-03 Wojciech Polak * src/gpg.c (gpg_free): New function. Free unused memory. * src/headers.h (gpg_free): Added prototype. * src/quit.c (free_mem): Call gpg_free(). 2003-02-28 Wojciech Polak * configure.ac: Bumped to 3.9.0 (unreleased, internal version). * src/main.h: Moved all the stuff to main.c. Removed main.h. * src/files.c (message_append_signature_file): Fixed prefix. * src/main.c: Removed unused ropt variable. * src/extern.h: Likewise. * src/list.h: Added missing copyright. * src/errs.c: Fixed preprocessor directives. * src/log.c: Likewise. * src/headers.h (message_append_text_file): Added prototype. (message_append_signature_file): Likewise. * src/Makefile.am: Removed main.h. 2003-02-28 Sergey Poznyakoff User-visible changes: New syntactical entities: add header[KEY] VALUE add body VALUE remove header[KEY] modify header[KEY] [NEW-KEY] VALUE ("header" may be omitted). KEY is (currently) the header name. It may be a regular expression matching a set of header names for "remove". [NEW-KEY] in "modify" statement is optional. Added support for "here document" (see testsuite/etc/add.in for a sample). Allow to select signer id with gpg-sign. * configure.ac: Use -ggdb instead of -g if gcc is being used. * src/message.c: New file. * src/Makefile.am: Added message.c * src/extern.h (message): Removed. * src/main.h: Likewise. * src/headers.h (T_BOUNDARY): Removed macro. (message_modify_headers): Changed declaration (message_add_body,message_init,message_free): New functions. * src/gpg.c (struct gpg_struct): New member "inited". (gpg_sign): Allow to select the signers IDs (gpg_parser): Call gpgme_init whenever necessary. * src/misc.c: (header_assoc): Remove any leading whitespace from the header field value. * src/quit.c (free_mem): Removed references to message. * src/rc.c (rule_parser et al.): Removed "add", "remove" and "modify". These are reserved keywords and are handled by the main parser code. * src/rcfile.h (RC_INST,enum rc_inst_opcode): New datatypes. (struct rc_stmt): New member v.inst. * src/rcfile.l: Added new keywords: BODY, ADD, REMOVE, MODIFY, STOP, CALL. The latter two are reserved for future use. Removed support for unquoted regular expressions. Do not try to interpret backslashes in front of numbers (regexp backreferences). Added shell-like "here document" construction. * src/rcfile.y: Support for ADD, REMOVE, and MODIFY instructions. Removed support for unquoted regular expressions. * src/tunnel.c: Removed global variable "message". Moved all message-specific functions to message.c * testsuite/anubis/base.exp: Added new test (append to the body). * testsuite/anubis/gpg.exp: Added new test (GPG signing) * testsuite/etc/add-body.pat: New file. * testsuite/etc/gpgsign.pat: New file. * testsuite/etc/add.in: New file. * testsuite/etc/Makefile.am: Added add-body.pat, gpgsign.pat and add.in. * testsuite/etc/del.in: Use the new syntax. * testsuite/etc/simple.in: Likewise * testsuite/etc/std.in: Likewise. * testsuite/etc/std.pat: Likewise. * testsuite/etc/gpg.in: Likewise. Added new rule * testsuite/lib/anubis.exp (anubis_pat): Allow use of -re and -- prefixes within the :PATTERN block * TODO: Updated 2003-02-26 Sergey Poznyakoff Changed the message processing algorithm to process a message as a whole. The rcfile grammar is changed accordingly. The previous sources (with linie-by-line message processing) are tagged 'ver-3-with-per-line-proc'. TODO: remailer support. * src/list.c: New files. * src/list.h: New files. * src/Makefile.am: Added new files * src/extern.h (struct line, struct message_struct) (struct gpg_struct): Removed. (struct session_struct): Removed unused members. (gpg, mopt): Removed * src/headers.h (BODY,X_ANUBIS_RULE_HEADER): New define. Removed M_.* defines (ASSOC, MESSAGE): New aggregate types. (new_element,destroy_list): Removed. (rcfile_process_cond): Removed. (destroy_assoc_list, destroy_string_list): New functions. (rcfile_process_section): Changed declaration. * src/main.h (gpg, mopt): Removed. * src/map.c (parse_transmap): Updated call to rcfile_process_section. (translate_parser): Changed declaration * src/files.c (check_all_files): Removed. (message_append_text_file) (message_append_signature_file): New functions. * src/gpg.c (gpg_encrypt_to_remailer, check_gpg): Removed. (gpg_proc): New function. (gpg_parser): Rewritten. * src/guile.c (guile_rewrite_line): Temporarly removed. (guile_to_anubis,anubis_to_guile): Rewritten. (guile_process_proc): Rewritten. (guile_process_list,guile_postprocess_list) (guile_postprocess_list,guile_proclist_empty): Removed. (guile_parser): Rewritten. * src/misc.c (new_element): Removed. (destroy_string_list, destroy_assoc_list): New functions. (header_assoc, assoc_to_header): New functions. * src/quit.c (free_mem): Updated. * src/rc.c (control_parser,tls_parser,rule_parser): Rewritten. (all_parser): Removed. (rule_section_init,rc_system_init): Removed ALL section. (rcfile_process_cond): Removed. (rcfile_process_section): Changed declaration. * src/rcfile.h (RC_EXPR): New data type. (enum rc_node_type): Replaced rc_node_re with rc_node_expr. (struct rc_node): Likewise. (struct rc_expr): New data type. (struct rc_cond): Removed method member. (rc_kw_parser_t): Changed declaration. (rc_run_section): Likewise. * src/rcfile.l: Added "NOT" token. * src/rcfile.y: Grammar rewritten. The support for old compatibility syntax (if header =^Subject) has been removed. The new syntax is if header[Subject] "regexp" Multiple conditions are allowed: if header[Subject] "Re: .*" and body ".*found.*" * src/tunnel.c: Rewritten. * testsuite/etc/gpg.in: Updated to new syntax. * testsuite/etc/std.in: Likewise. * testsuite/etc/simple.in: Likewise. * testsuite/etc/std.pat: Likewise. 2003-02-20 Wojciech Polak * configure.ac: Removed unused variables. 2003-02-20 Sergey Poznyakoff * testsuite/Makefile.am: Removed erroneous distclean-local * testsuite/data/Makefile.am: Fixed rules for generating *.gpg files. * testsuite/data/pubring.asc: Updated * testsuite/data/secring.asc: New file 2003-02-20 Sergey Poznyakoff * configure.ac: Define ANUBIS_GPGFILES if GPG is enabled. * contrib/Makefile.am: Added msg2smtp.pl to EXTRA_DIST. * src/gpg.c: Moved configuration handler from rc.c. Added new configuration keyword gpg-home for setting the GPG home directory. * src/headers.h (gpg_section_init): New function. * src/rc.c: Moved gpg-specific functions to gpg.c * testsuite/data: New directory. * testsuite/data/Makefile.am: * testsuite/data/.cvsignore: * testsuite/data/pubring.asc: * testsuite/anubis/gpg.exp: New file. Tests GPG encryption * testsuite/anubis/DISTFILES: Added gpg.exp * testsuite/Makefile.am: Added data to SUBDIRS * testsuite/etc/gpgcrypt.pat: New file * testsuite/etc/gpg.in: New file. * testsuite/etc/Makefile.am: Added new files * testsuite/lib/anubis.exp (anubis_version): Renamed to default_anubis_version to avoid name clashes. (anubis_exec,anubis_expect_list,anubis_test): Improved handling of pattern modifiers (-re and --). (anubis_check_capability): New function. (anubis_test_file): New option -catprog. (anubis_pat): Improved handling of :OPTIONS keyword, Added new mode "CAT" for testing GPG encryption. 2003-02-19 Wojciech Polak * src/main.h: Removed no longer used variable `submatch'. * src/extern.h: Likewise. * src/quit.c (free_mem): Likewise. * src/help.c (print_version): Minor change. * testsuite/mta.c (smtp_reply): Added prototype. 2003-02-19 Wojciech Polak * src/env.c (argv_dup): New static function. * src/headers.h (T_RCEXECARGS): Removed flag. * src/rc.c: Likewise. * src/quit.c: Likewise. 2003-02-18 Sergey Poznyakoff * src/net.c: Fixed debugging diagnostics. 2003-02-17 Sergey Poznyakoff * src/extern.h (struct message_struct): New member mime_hdr. * src/headers.h (T_ENTIRE_BODY): New flag. (regex_match): Removed. * src/mem.c (free_pptr): Correctly handle null pointer. * src/rc.c (control_parser): New boolean flag `read-entire-body'. When set to true causes the entire mime-encoded body to be read in core. Otherwise, only the first mime part is read, all the rest is passed to the server verbatim (default). * src/regex.c (regex_match,posixre_match): Removed * src/tunnel.c: Implemented new scheme of message processing. Added new tests: * testsuite/lib/anubis.exp (anubis_pat): Handle :DEL keyword. * testsuite/anubis/base.exp: Test removal of headers. * testsuite/anubis/mime.exp: New file. * testsuite/anubis/DISTFILES: Added mime.exp * testsuite/etc/del1.pat: New file. * testsuite/etc/del2.pat: New file. * testsuite/etc/del3.pat: New file. * testsuite/etc/del4.pat: New file. * testsuite/etc/del.in: New file. * testsuite/etc/entire.in: New file. * testsuite/etc/mime1.pat: New file. * testsuite/etc/mime2.pat: New file. * testsuite/etc/Makefile.am: Added new files. * testsuite/etc/add1.pat: Minor change. * testsuite/etc/add2.pat: Likewise. * testsuite/etc/add3.pat: Likewise. 2003-02-15 Wojciech Polak * configure.ac: Check apple-darwin by config.guess, not uname. Added message info if disabling Guile support. 2003-02-11 Sergey Poznyakoff * testsuite/mta.c: Prevent race condition on closing the diagnostic file. 2003-02-11 Wojciech Polak Removed ROT-13 support from main engine. * src/misc.c (check_rot13): Removed function. * src/tunnel.c (transfer_header): Removed rot13 subject encoding. (transform_body): Removed check_rot13() call. * src/headers.h: Removed check_rot13 prototype. * examples/anubisrc.guile: Updated. 2003-02-11 Sergey Poznyakoff * Makefile.am: Added testsuite * configure.ac: Check for obstack, provide replacement if necessary. Check for reversed arguments to setvbuf. Generate Makefiles under testsuite/ * examples/anubis.scm: Split msg-process into two procedures: one for rotating the subject header and another for rotating the message body. * examples/anubisrc.guile: Updated. * src/obstack.c: New file. Obstack replacement for systems without it. * src/obstack.h: Likewise. * src/Makefile.am: Added obstack * src/env.c: New options: --show-config-options displays configuration options for anubis, --relax-perm-check relaxes permission check on user rc file. Both are useful for testsuite. * src/guile.c (guile_process_proc): Removed call to remcrlf. (guile_postprocess_list): New function. * src/headers.h (T_RELAX_PERM_CHECK): New define. This bit is set in topts when --relax-perm-check is given in the command line. (print_config_options): New function. * src/help.c (show_config_options, print_config_options): New functions. (print_version): Use show_config_options. * src/rc.c (open_rcfile): Open only altrc if both --norc and --altrc are given. * src/tunnel.c: Started implementing new approach for collecting message header and body. Both are collected, processed and only then fed to the MTA. TODO: split off attachments to diminish memory consumption. * testsuite/: New directory * testsuite/Makefile.am: New file * testsuite/mta.c: New file * testsuite/.cvsignore: New file * testsuite/lib/: New directory * testsuite/lib/anubis.exp: New file * testsuite/lib/DISTFILES: New file * testsuite/anubis/: New directory * testsuite/anubis/base.exp: New file * testsuite/anubis/DISTFILES: New file * testsuite/etc/: New directory * testsuite/etc/Makefile.am: New file * testsuite/etc/.cvsignore: New file * testsuite/etc/add1.pat: New file * testsuite/etc/add2.pat: New file * testsuite/etc/add3.pat: New file * testsuite/etc/empty.in: New file * testsuite/etc/empty.pat: New file * testsuite/etc/mult.pat: New file * testsuite/etc/simple.in: New file * testsuite/etc/std.in: New file * testsuite/etc/std.pat: New file 2003-02-08 Sergey Poznyakoff * src/regex.c: Rewritten using "control table" approach. 2003-02-08 Wojciech Polak * src/rc.c (gpg_parser): Fixed KW_GPG_SIGN case. * configure.ac: Clean up. * README: Updated. 2003-02-08 Sergey Poznyakoff * src/regex.c (_perl_match): Fixed allocation of ovector. 2003-02-07 Sergey Poznyakoff * src/env.c (check_filename): Take an additional argument: a pointer to the file modification time. * src/headers.h: Likewise. * src/exec.c: Updated calls to check_filename(). * src/tunnel.c: Likewise. * src/net.c: Restored checking the modification time of the global rcfile. * src/rc.c: Likewise. * src/rcfile.y: Improved readability of the diagnostic output. * src/map.c: Minor changes. 2003-02-07 Wojciech Polak * src/map.c (translate_parser): Fixed a bug in `user name after into' parser. 2003-02-07 Sergey Poznyakoff * src/map.c: Fixed section name. * src/rcfile.y (rc_stmt_print): Display IFFALSE branch only if it is non-null. (rc_run_section): Check for sec==NULL. 2003-02-07 Sergey Poznyakoff * src/guile.c (guile_parser): Removed kludge. * src/headers.h (anubis_regex_refcnt): New function. * src/regex.c: Likewise. * src/rcfile.l: A couple of bugfixes/improvements in RX/RXM states. * src/rcfile.y (rc_parse): Fixed return value. (node_eval): Check the number of backreferences in regexp. 2003-02-06 Sergey Poznyakoff * configure.ac: Provide a replacement for snprintf * examples/anubis.scm: Renamed postprocess to msg-process. * examples/anubisrc.guile: Likewise. * src/snprintf.c: New file. A replacement for snprintf function. * src/Makefile.am: Added snprintf.c * src/auth.c: Remove HAVE_SNPRINTF conditional * src/esmtp.c: Likewise. * src/exec.c: Likewise. * src/files.c: Likewise. * src/misc.c: Likewise. * src/ssl.c: Likewise. * src/tunnel.c: Likewise. * src/daemon.c: Likewise. (stdinout): Removed call to process_rcfile(). * src/extern.h (struct options_struct): Removed guile_postprocess member. * src/guile.c: Provide a placeholder for guile-postprocess functions. * src/headers.h: Removed inclusion of and (anubis_regex_match,anubis_regex_free,anubis_regex_source): Added new prototypes. * src/rcfile.h (struct rc_regex,RC_REGEX): Removed. It is defined elsewhere. (struct rc_node): Changed type of 'v.re' member. * src/rcfile.l: Fixed support for traditional syntax. * src/rcfile.y: Fixed support for traditional syntax. Changed regular expression handling. * src/regex.c: Modularized regular expressions. All implementation dependent parts (regex,pcre) live in this file. The rest of sources uses anubis_regex_.* interface. 2003-02-05 Sergey Poznyakoff Rewritten RC file support using yacc and lex. * configure.ac: Turn on guile support unless --without-guile has been given. * build/ylwrap: New file. A customized wrapper for yacc/lex invocations. * build/Makefile.am: Added ylwrap * m4/guile.m4: Raised Guile version requirement to 1.6 * src/rcfile.l: New file. Lexical analizer for configuration files. * src/rcfile.y: New file. Syntax analizer for configuration files. * src/rcfile.h: New file. * src/Makefile.am: Added rcfile.[ylh] * src/map.c: Rewritten. * src/rc.c: Rewritten. * src/regex.c (anubis_regexp_match): New function. * src/auth.c: Use new rc_ calls. * src/daemon.c: Likewise. * src/guile.c: Likewise. * src/main.c: Likewise. * src/quit.c: Likewise. * src/tunnel.c: Likewise. * src/env.c: New option --check-config (-c). * src/extern.h: Removed obsolete declarations. * src/headers.h: Likewise. * src/main.h: Likewise. * TODO: Updated. 2003-02-02 Wojciech Polak * README: Updated. * TODO: Likewise. * src/headers.h: Added conditional WITH_GUILE. * src/tunnel.c: Likewise. (memory_reader): Removed compiler warning about `i'. * src/rc.c (match_action_guile): Added missing returns. * src/guile.c: Fixed copyright comment at top of the file. 2003-02-01 Sergey Poznyakoff * examples/anubis.scm (postprocess): Escape quotes inside the comment string 2003-02-01 Wojciech Polak * AUTHORS: Added Sergey Poznyakoff. * configure.ac: Don't use `uname' for SunOS. Check -lsocket and -lnsl directly with AC_CHECK_LIB. * src/headers.h: Fixed `guile_load_path_append' prototype. * src/help.c (print_version): Added info about GUILE. * src/tunnel.c (process_command): Removed file permissions check for SSL certificate. * src/rc.c: Commented extra tokens at end of #endif directive. 2003-02-01 Sergey Poznyakoff Added support for Guile * configure.ac: Added --with-guile switch. Determine if socklen_t is defined, define it if it is not. * m4/guile.m4: New file * m4/Makefile.am: Added guile.m4 * build/guile-1.6: New directory. * build/guile-1.6/guile-doc-snarf: New file * build/guile-1.6/guile-doc-snarf.awk: New file * build/guile-1.6/Makefile.am: New file. * build/Makefile.am: Added subdirs. * src/daemon.c (loop): Removed `#ifdef __socklen_t_defined' conditional'. * src/guile.c: New file * src/Makefile.am: Added guile.c * src/auth.c [WITH_GUILE](auth_tunnel): Call read_rcfile_guile(). * src/extern.h [WITH_GUILE](struct options_struct): New members guile_logfile, guile_postprocess. (guile_position): New global. * src/headers.h [WITH_GUILE]: Include libguile.h [WITH_GUILE] (read_rcfile_guile): New function. (read_action_block): Take an argument. (BEGIN_GUILE): New define (anubis,anubis_boot,guile_load_path,guile_load_program) (guile_rewrite_line): New functions. * src/main.c [WITH_GUILE] (anubis_core): New function. Bootstrapper for guile support. (anubis_core): New define (anubis): New function. Runs main anubis loop. (main): Call anubis_core() * src/main.h (guile_position): New global * src/rc.c (read_action_block,match_action): Take additional argument: the source line (command or header) that triggered its invocation. [WITH_GUILE] (match_action): Handle guile-rewrite-line keyword [WITH_GUILE] (match_action_guile,read_rcfile_guile): New functions * src/tunnel.c: Updated invocations of read_action_block() * examples/anubisrc.guile: New file * examples/anubis.scm: New file * examples/rot-13.scm: * examples/Makefile.am: Added new files. 2003-01-30 Wojciech Polak * m4/Makefile.am: Added gettext m4 macros to EXTRA_DIST. * src/Makefile.am: Removed DEFAULT_INCLUDES. 2003-01-30 Wojciech Polak * Initial CVS import, starting GNU Anubis 3.6.3. Local Variables: mode: change-log version-control: never buffer-read-only: t End: anubis-4.1.1+dfsg1/Makefile.in0000600000175000017500000010445011122764062013612 0ustar kbkb# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \ INSTALL NEWS README-alpha THANKS TODO ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/am/anubis.m4 \ $(top_srcdir)/am/gpgme.m4 $(top_srcdir)/am/gsasl.m4 \ $(top_srcdir)/am/guile.m4 $(top_srcdir)/am/libgnutls.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fseeko.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpass.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/onceonly.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd_h.m4 \ $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(lispdir)" lispLISP_INSTALL = $(INSTALL_DATA) LISP = $(lisp_LISP) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ANUBIS_BIN_ADM = @ANUBIS_BIN_ADM@ ANUBIS_DEFINES = @ANUBIS_DEFINES@ ANUBIS_GPGFILES = @ANUBIS_GPGFILES@ ANUBIS_LIBOBJS = @ANUBIS_LIBOBJS@ ANUBIS_SBIN_ADM = @ANUBIS_SBIN_ADM@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMACS = @EMACS@ EMACSLOADPATH = @EMACSLOADPATH@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GPG = @GPG@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GREP = @GREP@ GSASL_LIBS = @GSASL_LIBS@ GUILE_BINDIR = @GUILE_BINDIR@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_INCLUDES = @GUILE_INCLUDES@ GUILE_LIBS = @GUILE_LIBS@ GUILE_SCRIPTS = @GUILE_SCRIPTS@ GUILE_SNARF_VERSION = @GUILE_SNARF_VERSION@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTOB = @HAVE_WCTOB@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ INCLUDES = @INCLUDES@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBANUBIS_LIBDEPS = @LIBANUBIS_LIBDEPS@ LIBANUBIS_LTLIBDEPS = @LIBANUBIS_LTLIBDEPS@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_CONFIG = @LIBGNUTLS_CONFIG@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4_DEFS = @M4_DEFS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYSEXITS_H = @SYSEXITS_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ idecrypt_path = @idecrypt_path@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ lisp_LISP = @lisp_LISP@ lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = 1.8.5 gnits ACLOCAL_AMFLAGS = -I m4 -I am SUBDIRS = build lib src po doc scripts examples guile contrib \ elisp testsuite all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnits '; \ cd $(srcdir) && $(AUTOMAKE) --gnits \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnits Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) cd $(top_srcdir) && $(AUTOHEADER) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 elc-stamp: $(LISP) @echo 'WARNING: Warnings can be ignored. :-)' @rm -f elc-temp && touch elc-temp if test "$(EMACS)" != no; then \ set x; \ list='$(LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ set x "$$@" "$$d$$p"; shift; \ done; \ shift; \ EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \ else : ; fi @mv -f elc-temp $@ $(am__ELCFILES): elc-stamp @if test "$(EMACS)" != no && test ! -f $@; then \ trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \ if mkdir elc-lock 2>/dev/null; then \ rm -f elc-stamp; \ $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \ rmdir elc-lock; \ else \ while test -d elc-lock; do sleep 1; done; \ test -f elc-stamp; exit $$?; \ fi; \ else : ; fi install-lispLISP: $(lisp_LISP) $(ELCFILES) @$(NORMAL_INSTALL) @if test "$(EMACS)" != no; then \ test -z "$(lispdir)" || $(MKDIR_P) "$(DESTDIR)$(lispdir)"; \ list='$(lisp_LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(lispLISP_INSTALL) '$$d$$p' '$(DESTDIR)$(lispdir)/$$f'"; \ $(lispLISP_INSTALL) "$$d$$p" "$(DESTDIR)$(lispdir)/$$f"; \ if test -f $${p}c; then \ echo " $(lispLISP_INSTALL) '$${p}c' '$(DESTDIR)$(lispdir)/$${f}c'"; \ $(lispLISP_INSTALL) "$${p}c" "$(DESTDIR)$(lispdir)/$${f}c"; \ else : ; fi; \ done; \ else : ; fi uninstall-lispLISP: @$(NORMAL_UNINSTALL) @if test "$(EMACS)" != no; then \ list='$(lisp_LISP)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(lispdir)/$$f' '$(DESTDIR)$(lispdir)/$${f}c'"; \ rm -f "$(DESTDIR)$(lispdir)/$$f" "$(DESTDIR)$(lispdir)/$${f}c"; \ done; \ else : ; fi clean-lisp: -rm -f elc-stamp $(ELCFILES) # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @case `sed 15q $(srcdir)/NEWS` in \ *"$(VERSION)"*) : ;; \ *) \ echo "NEWS not updated; not releasing" 1>&2; \ exit 1;; \ esac $(am__remove_distdir) test -d $(distdir) || mkdir $(distdir) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile $(LISP) config.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(lispdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-lisp mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-lispLISP install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-lispLISP .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ clean-lisp ctags ctags-recursive dist dist-all dist-bzip2 \ dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-zip \ distcheck distclean distclean-generic distclean-hdr \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-lispLISP install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ tags-recursive uninstall uninstall-am uninstall-lispLISP .PHONY: make-ChangeLog make-ChangeLog: if test -d .git; then \ perl $(top_srcdir)/build/gitlog-to-changelog --since=2008-12-16 | \ sed '/$$/d' | fmt -s > $(distdir)/cl-t; \ echo >> $(distdir)/cl-t; \ cat ChangeLog-CVS-old >> $(distdir)/cl-t; \ rm -f $(distdir)/ChangeLog; \ mv $(distdir)/cl-t $(distdir)/ChangeLog; \ fi dist-hook: make-ChangeLog .PHONY: ChangeLog ChangeLog: if test -d .git && test -f ChangeLog-CVS-old; then \ perl $(top_srcdir)/build/gitlog-to-changelog --since=2008-12-16 | \ sed '/$$/d' | fmt -s > ChangeLog; \ echo >> ChangeLog; \ cat ChangeLog-CVS-old >> ChangeLog; \ fi # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: anubis-4.1.1+dfsg1/configure0000700000175000017500000230743011122764066013463 0ustar kbkb#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for GNU Anubis 4.1.1. # # Report bugs to . # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='GNU Anubis' PACKAGE_TARNAME='anubis' PACKAGE_VERSION='4.1.1' PACKAGE_STRING='GNU Anubis 4.1.1' PACKAGE_BUGREPORT='bug-anubis@gnu.org' ac_unique_file="src/main.c" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" gl_header_list= gl_func_list= gt_needs= ac_subst_vars='ANUBIS_LIBOBJS SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA am__isrc CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB CPP GREP EGREP YACC YFLAGS LEX LEX_OUTPUT_ROOT LEXLIB idecrypt_path GL_COND_LIBTOOL_TRUE GL_COND_LIBTOOL_FALSE ALLOCA ALLOCA_H GNULIB_CHOWN GNULIB_CLOSE GNULIB_DUP2 GNULIB_ENVIRON GNULIB_EUIDACCESS GNULIB_FCHDIR GNULIB_FSYNC GNULIB_FTRUNCATE GNULIB_GETCWD GNULIB_GETDOMAINNAME GNULIB_GETDTABLESIZE GNULIB_GETHOSTNAME GNULIB_GETLOGIN_R GNULIB_GETPAGESIZE GNULIB_GETUSERSHELL GNULIB_LCHOWN GNULIB_LSEEK GNULIB_READLINK GNULIB_SLEEP GNULIB_UNISTD_H_SIGPIPE GNULIB_WRITE HAVE_DUP2 HAVE_EUIDACCESS HAVE_FSYNC HAVE_FTRUNCATE HAVE_GETDOMAINNAME HAVE_GETDTABLESIZE HAVE_GETHOSTNAME HAVE_GETPAGESIZE HAVE_GETUSERSHELL HAVE_READLINK HAVE_SLEEP HAVE_DECL_ENVIRON HAVE_DECL_GETLOGIN_R HAVE_OS_H HAVE_SYS_PARAM_H REPLACE_CHOWN REPLACE_CLOSE REPLACE_FCHDIR REPLACE_GETCWD REPLACE_GETPAGESIZE REPLACE_LCHOWN REPLACE_LSEEK REPLACE_WRITE UNISTD_H_HAVE_WINSOCK2_H INCLUDE_NEXT INCLUDE_NEXT_AS_FIRST_DIRECTIVE PRAGMA_SYSTEM_HEADER build build_cpu build_vendor build_os host host_cpu host_vendor host_os NEXT_ERRNO_H ERRNO_H EMULTIHOP_HIDDEN EMULTIHOP_VALUE ENOLINK_HIDDEN ENOLINK_VALUE EOVERFLOW_HIDDEN EOVERFLOW_VALUE GNULIB_FPRINTF GNULIB_FPRINTF_POSIX GNULIB_PRINTF GNULIB_PRINTF_POSIX GNULIB_SNPRINTF GNULIB_SPRINTF_POSIX GNULIB_VFPRINTF GNULIB_VFPRINTF_POSIX GNULIB_VPRINTF GNULIB_VPRINTF_POSIX GNULIB_VSNPRINTF GNULIB_VSPRINTF_POSIX GNULIB_VASPRINTF GNULIB_OBSTACK_PRINTF GNULIB_OBSTACK_PRINTF_POSIX GNULIB_FOPEN GNULIB_FREOPEN GNULIB_FSEEK GNULIB_FSEEKO GNULIB_FTELL GNULIB_FTELLO GNULIB_FFLUSH GNULIB_FCLOSE GNULIB_FPUTC GNULIB_PUTC GNULIB_PUTCHAR GNULIB_FPUTS GNULIB_PUTS GNULIB_FWRITE GNULIB_GETDELIM GNULIB_GETLINE GNULIB_PERROR GNULIB_STDIO_H_SIGPIPE REPLACE_STDIO_WRITE_FUNCS REPLACE_FPRINTF REPLACE_VFPRINTF REPLACE_PRINTF REPLACE_VPRINTF REPLACE_SNPRINTF HAVE_DECL_SNPRINTF REPLACE_VSNPRINTF HAVE_DECL_VSNPRINTF REPLACE_SPRINTF REPLACE_VSPRINTF HAVE_VASPRINTF REPLACE_VASPRINTF HAVE_DECL_OBSTACK_PRINTF REPLACE_OBSTACK_PRINTF REPLACE_FOPEN REPLACE_FREOPEN HAVE_FSEEKO REPLACE_FSEEKO REPLACE_FSEEK HAVE_FTELLO REPLACE_FTELLO REPLACE_FTELL REPLACE_FFLUSH REPLACE_FCLOSE HAVE_DECL_GETDELIM HAVE_DECL_GETLINE REPLACE_GETLINE REPLACE_PERROR GETOPT_H LIBINTL LTLIBINTL HAVE_MALLOC_POSIX GNULIB_MALLOC_POSIX GNULIB_REALLOC_POSIX GNULIB_CALLOC_POSIX GNULIB_ATOLL GNULIB_GETLOADAVG GNULIB_GETSUBOPT GNULIB_MKDTEMP GNULIB_MKSTEMP GNULIB_PUTENV GNULIB_RANDOM_R GNULIB_RPMATCH GNULIB_SETENV GNULIB_STRTOD GNULIB_STRTOLL GNULIB_STRTOULL GNULIB_UNSETENV HAVE_ATOLL HAVE_CALLOC_POSIX HAVE_GETSUBOPT HAVE_MKDTEMP HAVE_REALLOC_POSIX HAVE_RANDOM_R HAVE_RPMATCH HAVE_SETENV HAVE_STRTOD HAVE_STRTOLL HAVE_STRTOULL HAVE_STRUCT_RANDOM_DATA HAVE_SYS_LOADAVG_H HAVE_UNSETENV HAVE_DECL_GETLOADAVG REPLACE_MKSTEMP REPLACE_PUTENV REPLACE_STRTOD VOID_UNSETENV STDBOOL_H HAVE__BOOL HAVE_LONG_LONG_INT HAVE_UNSIGNED_LONG_LONG_INT HAVE_INTTYPES_H HAVE_SYS_TYPES_H NEXT_STDINT_H HAVE_STDINT_H HAVE_SYS_INTTYPES_H HAVE_SYS_BITYPES_H BITSIZEOF_PTRDIFF_T BITSIZEOF_SIG_ATOMIC_T BITSIZEOF_SIZE_T BITSIZEOF_WCHAR_T BITSIZEOF_WINT_T HAVE_SIGNED_SIG_ATOMIC_T HAVE_SIGNED_WCHAR_T HAVE_SIGNED_WINT_T PTRDIFF_T_SUFFIX SIG_ATOMIC_T_SUFFIX SIZE_T_SUFFIX WCHAR_T_SUFFIX WINT_T_SUFFIX STDINT_H NEXT_STDIO_H NEXT_STDLIB_H GNULIB_MEMMEM GNULIB_MEMPCPY GNULIB_MEMRCHR GNULIB_RAWMEMCHR GNULIB_STPCPY GNULIB_STPNCPY GNULIB_STRCHRNUL GNULIB_STRDUP GNULIB_STRNDUP GNULIB_STRNLEN GNULIB_STRPBRK GNULIB_STRSEP GNULIB_STRSTR GNULIB_STRCASESTR GNULIB_STRTOK_R GNULIB_MBSLEN GNULIB_MBSNLEN GNULIB_MBSCHR GNULIB_MBSRCHR GNULIB_MBSSTR GNULIB_MBSCASECMP GNULIB_MBSNCASECMP GNULIB_MBSPCASECMP GNULIB_MBSCASESTR GNULIB_MBSCSPN GNULIB_MBSPBRK GNULIB_MBSSPN GNULIB_MBSSEP GNULIB_MBSTOK_R GNULIB_STRERROR GNULIB_STRSIGNAL GNULIB_STRVERSCMP HAVE_DECL_MEMMEM HAVE_MEMPCPY HAVE_DECL_MEMRCHR HAVE_RAWMEMCHR HAVE_STPCPY HAVE_STPNCPY HAVE_STRCHRNUL HAVE_DECL_STRDUP HAVE_STRNDUP HAVE_DECL_STRNDUP HAVE_DECL_STRNLEN HAVE_STRPBRK HAVE_STRSEP HAVE_STRCASESTR HAVE_DECL_STRTOK_R HAVE_DECL_STRERROR HAVE_DECL_STRSIGNAL HAVE_STRVERSCMP REPLACE_MEMMEM REPLACE_STRDUP REPLACE_STRSTR REPLACE_STRCASESTR REPLACE_STRERROR REPLACE_STRSIGNAL NEXT_STRING_H NEXT_SYSEXITS_H HAVE_SYSEXITS_H SYSEXITS_H NEXT_UNISTD_H HAVE_UNISTD_H GNULIB_BTOWC GNULIB_WCTOB GNULIB_MBSINIT GNULIB_MBRTOWC GNULIB_MBRLEN GNULIB_WCWIDTH HAVE_BTOWC HAVE_WCTOB HAVE_MBSINIT HAVE_MBRTOWC HAVE_MBRLEN HAVE_DECL_WCWIDTH REPLACE_WCWIDTH WCHAR_H HAVE_WINT_T HAVE_WCHAR_H NEXT_WCHAR_H LIBANUBIS_LIBDEPS LIBANUBIS_LTLIBDEPS INCLUDES USE_NLS GETTEXT_MACRO_VERSION MSGFMT GMSGFMT MSGFMT_015 GMSGFMT_015 XGETTEXT XGETTEXT_015 MSGMERGE XGETTEXT_EXTRA_OPTIONS INTL_MACOSX_LIBS LIBICONV LTLIBICONV INTLLIBS POSUB M4_DEFS GUILE_INCLUDES GUILE_LIBS GUILE_BINDIR GUILE_SNARF_VERSION GUILE_SCRIPTS GUILE_CONFIG ANUBIS_GPGFILES GPGME_CONFIG GPGME_CFLAGS GPGME_LIBS GPG GSASL_LIBS ANUBIS_DEFINES ANUBIS_SBIN_ADM ANUBIS_BIN_ADM LIBOBJS LIBGNUTLS_CONFIG LIBGNUTLS_CFLAGS LIBGNUTLS_LIBS EMACS EMACSLOADPATH lispdir lisp_LISP LTLIBOBJS gl_LIBOBJS gl_LTLIBOBJS gltests_LIBOBJS gltests_LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP YACC YFLAGS EMACS EMACSLOADPATH' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures GNU Anubis 4.1.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/anubis] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of GNU Anubis 4.1.1:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --disable-nls do not use Native Language Support --disable-rpath do not hardcode runtime library paths --disable-largefile omit support for large files --enable-gcc-debug enable GCC DEBUG code Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir --without-guile without Guile support --without-gpgme without GnuPG (GPGME library) support --with-gpgme-prefix=PFX prefix where GPGME is installed (optional) --without-gsasl disable using libgsasl for SASL authentication --with-mysql Configure to work with MySQL --with-postgres Configure to work with Postgres --without-gnutls without GnuTLS library support --with-libgnutls-prefix=PFX Prefix where libgnutls is installed (optional) --with-socks-proxy with SOCKS v4/5 proxy support --with-pcre with PCRE library support --with-pam with Pluggable Authentication Modules support --with-tcp-wrappers with libwrap (TCP wrappers) support --with-unprivileged-user=USER set an unprivileged user (default is "nobody") --with-lispdir override the default lisp directory Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor YACC The `Yet Another C Compiler' implementation to use. Defaults to the first program found out of: `bison -y', `byacc', `yacc'. YFLAGS The list of arguments that will be passed by default to $YACC. This script will default YFLAGS to the empty string to avoid a default value of `-d' given by some make applications. EMACS the Emacs editor command EMACSLOADPATH the Emacs library search path Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF GNU Anubis configure 4.1.1 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by GNU Anubis $as_me 4.1.1, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi gl_header_list="$gl_header_list errno.h" gl_header_list="$gl_header_list stdio_ext.h" gl_header_list="$gl_header_list termios.h" gl_func_list="$gl_func_list __fsetlocking" gl_func_list="$gl_func_list tcgetattr" gl_func_list="$gl_func_list tcsetattr" gl_func_list="$gl_func_list setenv" gl_header_list="$gl_header_list unistd.h" gl_header_list="$gl_header_list stdint.h" gl_header_list="$gl_header_list wchar.h" gl_header_list="$gl_header_list stdio.h" gl_header_list="$gl_header_list stdlib.h" gl_header_list="$gl_header_list sys/socket.h" gl_header_list="$gl_header_list string.h" gl_header_list="$gl_header_list sysexits.h" gt_needs="$gt_needs need-formatstring-macros" # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_headers="$ac_config_headers config.h" ac_aux_dir= for ac_dir in build "$srcdir"/build; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in build \"$srcdir\"/build" >&5 echo "$as_me: error: cannot find install-sh or install.sh in build \"$srcdir\"/build" >&2;} { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. am__api_version='1.10' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm -f conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='anubis' VERSION='4.1.1' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' cat >>confdefs.h <<\_ACEOF #define _GNU_SOURCE 1 _ACEOF ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # # List of possible output files, starting from the most likely. # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) # only as a last resort. b.out is created by i960 compilers. ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' # # The IRIX 6 linker writes into existing files which may not be # executable, retaining their permissions. Remove them first so a # subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6; } if test -z "$ac_file"; then echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6; } { echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi { echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else 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 <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else 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 <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #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)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test "${ac_cv_header_minix_config_h+set}" = set; then { echo "$as_me:$LINENO: checking for minix/config.h" >&5 echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6; } if test "${ac_cv_header_minix_config_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking minix/config.h usability" >&5 echo $ECHO_N "checking minix/config.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking minix/config.h presence" >&5 echo $ECHO_N "checking minix/config.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------- ## ## Report this to bug-anubis@gnu.org ## ## --------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for minix/config.h" >&5 echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6; } if test "${ac_cv_header_minix_config_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_minix_config_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6; } fi if test $ac_cv_header_minix_config_h = yes; then MINIX=yes else MINIX= fi if test "$MINIX" = yes; then cat >>confdefs.h <<\_ACEOF #define _POSIX_SOURCE 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define _POSIX_1_SOURCE 2 _ACEOF cat >>confdefs.h <<\_ACEOF #define _MINIX 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether it is safe to define __EXTENSIONS__" >&5 echo $ECHO_N "checking whether it is safe to define __EXTENSIONS__... $ECHO_C" >&6; } if test "${ac_cv_safe_to_define___extensions__+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ # define __EXTENSIONS__ 1 $ac_includes_default int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_safe_to_define___extensions__=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_safe_to_define___extensions__=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_safe_to_define___extensions__" >&5 echo "${ECHO_T}$ac_cv_safe_to_define___extensions__" >&6; } test $ac_cv_safe_to_define___extensions__ = yes && cat >>confdefs.h <<\_ACEOF #define __EXTENSIONS__ 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define _ALL_SOURCE 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define _GNU_SOURCE 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define _POSIX_PTHREAD_SEMANTICS 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define _TANDEM_SOURCE 1 _ACEOF { echo "$as_me:$LINENO: checking for _LARGEFILE_SOURCE value needed for large files" >&5 echo $ECHO_N "checking for _LARGEFILE_SOURCE value needed for large files... $ECHO_C" >&6; } if test "${ac_cv_sys_largefile_source+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_sys_largefile_source=no; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _LARGEFILE_SOURCE 1 #include int main () { return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_sys_largefile_source=1; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext ac_cv_sys_largefile_source=unknown break done fi { echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_source" >&5 echo "${ECHO_T}$ac_cv_sys_largefile_source" >&6; } case $ac_cv_sys_largefile_source in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source _ACEOF ;; esac rm -f conftest* # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug # in glibc 2.1.3, but that breaks too many other things. # If you want fseeko and ftello with glibc, upgrade to a fixed glibc. if test $ac_cv_sys_largefile_source != unknown; then cat >>confdefs.h <<\_ACEOF #define HAVE_FSEEKO 1 _ACEOF fi for ac_prog in 'bison -y' byacc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_YACC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_YACC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi YACC=$ac_cv_prog_YACC if test -n "$YACC"; then { echo "$as_me:$LINENO: result: $YACC" >&5 echo "${ECHO_T}$YACC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$YACC" && break done test -n "$YACC" || YACC="yacc" for ac_prog in flex lex do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_LEX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$LEX"; then ac_cv_prog_LEX="$LEX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_LEX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LEX=$ac_cv_prog_LEX if test -n "$LEX"; then { echo "$as_me:$LINENO: result: $LEX" >&5 echo "${ECHO_T}$LEX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$LEX" && break done test -n "$LEX" || LEX=":" if test "x$LEX" != "x:"; then cat >conftest.l <<_ACEOF %% a { ECHO; } b { REJECT; } c { yymore (); } d { yyless (1); } e { yyless (input () != 0); } f { unput (yytext[0]); } . { BEGIN INITIAL; } %% #ifdef YYTEXT_POINTER extern char *yytext; #endif int main (void) { return ! yylex () + ! yywrap (); } _ACEOF { (ac_try="$LEX conftest.l" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$LEX conftest.l") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { echo "$as_me:$LINENO: checking lex output file root" >&5 echo $ECHO_N "checking lex output file root... $ECHO_C" >&6; } if test "${ac_cv_prog_lex_root+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -f lex.yy.c; then ac_cv_prog_lex_root=lex.yy elif test -f lexyy.c; then ac_cv_prog_lex_root=lexyy else { { echo "$as_me:$LINENO: error: cannot find output from $LEX; giving up" >&5 echo "$as_me: error: cannot find output from $LEX; giving up" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5 echo "${ECHO_T}$ac_cv_prog_lex_root" >&6; } LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root if test -z "${LEXLIB+set}"; then { echo "$as_me:$LINENO: checking lex library" >&5 echo $ECHO_N "checking lex library... $ECHO_C" >&6; } if test "${ac_cv_lib_lex+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_LIBS=$LIBS ac_cv_lib_lex='none needed' for ac_lib in '' -lfl -ll; do LIBS="$ac_lib $ac_save_LIBS" cat >conftest.$ac_ext <<_ACEOF `cat $LEX_OUTPUT_ROOT.c` _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_lex=$ac_lib else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext test "$ac_cv_lib_lex" != 'none needed' && break done LIBS=$ac_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_lex" >&5 echo "${ECHO_T}$ac_cv_lib_lex" >&6; } test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex fi { echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5 echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6; } if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # POSIX says lex can declare yytext either as a pointer or an array; the # default is implementation-dependent. Figure out which it is, since # not all implementations provide the %pointer and %array declarations. ac_cv_prog_lex_yytext_pointer=no ac_save_LIBS=$LIBS LIBS="$LEXLIB $ac_save_LIBS" cat >conftest.$ac_ext <<_ACEOF #define YYTEXT_POINTER 1 `cat $LEX_OUTPUT_ROOT.c` _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_prog_lex_yytext_pointer=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5 echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6; } if test $ac_cv_prog_lex_yytext_pointer = yes; then cat >>confdefs.h <<\_ACEOF #define YYTEXT_POINTER 1 _ACEOF fi rm -f conftest.l $LEX_OUTPUT_ROOT.c fi if test "$LEX" = :; then LEX=${am_missing_run}flex fi # Extract the first word of "idecrypt", so it can be a program name with args. set dummy idecrypt; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_idecrypt_path+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $idecrypt_path in [\\/]* | ?:[\\/]*) ac_cv_path_idecrypt_path="$idecrypt_path" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_dummy="$PATH:/sbin:/usr/sbin:/usr/local/sbin" for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_idecrypt_path="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_idecrypt_path" && ac_cv_path_idecrypt_path="/usr/sbin/idecrypt" ;; esac fi idecrypt_path=$ac_cv_path_idecrypt_path if test -n "$idecrypt_path"; then { echo "$as_me:$LINENO: result: $idecrypt_path" >&5 echo "${ECHO_T}$idecrypt_path" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi cat >>confdefs.h <<_ACEOF #define IDECRYPT_PATH "${idecrypt_path}" _ACEOF { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else 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 <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else 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 <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #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)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi { echo "$as_me:$LINENO: checking for size_t" >&5 echo $ECHO_N "checking for size_t... $ECHO_C" >&6; } if test "${ac_cv_type_size_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef size_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_size_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_size_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 echo "${ECHO_T}$ac_cv_type_size_t" >&6; } if test $ac_cv_type_size_t = yes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi { echo "$as_me:$LINENO: checking for pid_t" >&5 echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; } if test "${ac_cv_type_pid_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef pid_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_pid_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_pid_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 echo "${ECHO_T}$ac_cv_type_pid_t" >&6; } if test $ac_cv_type_pid_t = yes; then : else cat >>confdefs.h <<_ACEOF #define pid_t int _ACEOF fi { echo "$as_me:$LINENO: checking return type of signal handlers" >&5 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; } if test "${ac_cv_type_signal+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { return *(signal (0, 0)) (0) == 1; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_signal=int else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_signal=void fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 echo "${ECHO_T}$ac_cv_type_signal" >&6; } cat >>confdefs.h <<_ACEOF #define RETSIGTYPE $ac_cv_type_signal _ACEOF { echo "$as_me:$LINENO: checking for u_char" >&5 echo $ECHO_N "checking for u_char... $ECHO_C" >&6; } if test "${ac_cv_type_u_char+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef u_char ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_u_char=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_u_char=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_u_char" >&5 echo "${ECHO_T}$ac_cv_type_u_char" >&6; } if test $ac_cv_type_u_char = yes; then : else cat >>confdefs.h <<_ACEOF #define u_char unsigned char _ACEOF fi for ac_header in arpa/inet.h syslog.h regex.h \ sys/types.h sys/socket.h socket.h sysexits.h locale.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------- ## ## Report this to bug-anubis@gnu.org ## ## --------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for socklen_t" >&5 echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6; } if test "${ac_cv_type_socklen_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_SOCKET_H # include #endif #ifdef HAVE_SOCKET_H # include #endif typedef socklen_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_socklen_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_socklen_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5 echo "${ECHO_T}$ac_cv_type_socklen_t" >&6; } if test $ac_cv_type_socklen_t = yes; then : else cat >>confdefs.h <<\_ACEOF #define socklen_t int _ACEOF fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! { echo "$as_me:$LINENO: checking for working alloca.h" >&5 echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6; } if test "${ac_cv_working_alloca_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { char *p = (char *) alloca (2 * sizeof (int)); if (p) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_working_alloca_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_working_alloca_h=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 echo "${ECHO_T}$ac_cv_working_alloca_h" >&6; } if test $ac_cv_working_alloca_h = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ALLOCA_H 1 _ACEOF fi { echo "$as_me:$LINENO: checking for alloca" >&5 echo $ECHO_N "checking for alloca... $ECHO_C" >&6; } if test "${ac_cv_func_alloca_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __GNUC__ # define alloca __builtin_alloca #else # ifdef _MSC_VER # include # define alloca _alloca # else # ifdef HAVE_ALLOCA_H # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ char *alloca (); # endif # endif # endif # endif #endif int main () { char *p = (char *) alloca (1); if (p) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_alloca_works=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_alloca_works=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 echo "${ECHO_T}$ac_cv_func_alloca_works" >&6; } if test $ac_cv_func_alloca_works = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ALLOCA 1 _ACEOF else # The SVR3 libPW and SVR4 libucb both contain incompatible functions # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. ALLOCA=\${LIBOBJDIR}alloca.$ac_objext cat >>confdefs.h <<\_ACEOF #define C_ALLOCA 1 _ACEOF { echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6; } if test "${ac_cv_os_cray+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined CRAY && ! defined CRAY2 webecray #else wenotbecray #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "webecray" >/dev/null 2>&1; then ac_cv_os_cray=yes else ac_cv_os_cray=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 echo "${ECHO_T}$ac_cv_os_cray" >&6; } if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func _ACEOF break fi done fi { echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6; } if test "${ac_cv_c_stack_direction+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_c_stack_direction=0 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int find_stack_direction () { static char *addr = 0; auto char dummy; if (addr == 0) { addr = &dummy; return find_stack_direction (); } else return (&dummy > addr) ? 1 : -1; } int main () { return find_stack_direction () < 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_stack_direction=1 else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_c_stack_direction=-1 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 echo "${ECHO_T}$ac_cv_c_stack_direction" >&6; } cat >>confdefs.h <<_ACEOF #define STACK_DIRECTION $ac_cv_c_stack_direction _ACEOF fi GNULIB_CHOWN=0; GNULIB_CLOSE=0; GNULIB_DUP2=0; GNULIB_ENVIRON=0; GNULIB_EUIDACCESS=0; GNULIB_FCHDIR=0; GNULIB_FSYNC=0; GNULIB_FTRUNCATE=0; GNULIB_GETCWD=0; GNULIB_GETDOMAINNAME=0; GNULIB_GETDTABLESIZE=0; GNULIB_GETHOSTNAME=0; GNULIB_GETLOGIN_R=0; GNULIB_GETPAGESIZE=0; GNULIB_GETUSERSHELL=0; GNULIB_LCHOWN=0; GNULIB_LSEEK=0; GNULIB_READLINK=0; GNULIB_SLEEP=0; GNULIB_UNISTD_H_SIGPIPE=0; GNULIB_WRITE=0; HAVE_DUP2=1; HAVE_EUIDACCESS=1; HAVE_FSYNC=1; HAVE_FTRUNCATE=1; HAVE_GETDOMAINNAME=1; HAVE_GETDTABLESIZE=1; HAVE_GETHOSTNAME=1; HAVE_GETPAGESIZE=1; HAVE_GETUSERSHELL=1; HAVE_READLINK=1; HAVE_SLEEP=1; HAVE_DECL_ENVIRON=1; HAVE_DECL_GETLOGIN_R=1; HAVE_OS_H=0; HAVE_SYS_PARAM_H=0; REPLACE_CHOWN=0; REPLACE_CLOSE=0; REPLACE_FCHDIR=0; REPLACE_GETCWD=0; REPLACE_GETPAGESIZE=0; REPLACE_LCHOWN=0; REPLACE_LSEEK=0; REPLACE_WRITE=0; UNISTD_H_HAVE_WINSOCK2_H=0; { echo "$as_me:$LINENO: checking whether the preprocessor supports include_next" >&5 echo $ECHO_N "checking whether the preprocessor supports include_next... $ECHO_C" >&6; } if test "${gl_cv_have_include_next+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else rm -rf conftestd1a conftestd1b conftestd2 mkdir conftestd1a conftestd1b conftestd2 cat < conftestd1a/conftest.h #define DEFINED_IN_CONFTESTD1 #include_next #ifdef DEFINED_IN_CONFTESTD2 int foo; #else #error "include_next doesn't work" #endif EOF cat < conftestd1b/conftest.h #define DEFINED_IN_CONFTESTD1 #include #include_next #ifdef DEFINED_IN_CONFTESTD2 int foo; #else #error "include_next doesn't work" #endif EOF cat < conftestd2/conftest.h #ifndef DEFINED_IN_CONFTESTD1 #error "include_next test doesn't work" #endif #define DEFINED_IN_CONFTESTD2 EOF gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" cat >conftest.$ac_ext <<_ACEOF #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_have_include_next=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" cat >conftest.$ac_ext <<_ACEOF #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_have_include_next=buggy else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_have_include_next=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" rm -rf conftestd1a conftestd1b conftestd2 fi { echo "$as_me:$LINENO: result: $gl_cv_have_include_next" >&5 echo "${ECHO_T}$gl_cv_have_include_next" >&6; } PRAGMA_SYSTEM_HEADER= if test $gl_cv_have_include_next = yes; then INCLUDE_NEXT=include_next INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next if test -n "$GCC"; then PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' fi else if test $gl_cv_have_include_next = buggy; then INCLUDE_NEXT=include INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next else INCLUDE_NEXT=include INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include fi fi # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6; } if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6; } if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac for ac_header in $gl_header_list do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------- ## ## Report this to bug-anubis@gnu.org ## ## --------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for complete errno.h" >&5 echo $ECHO_N "checking for complete errno.h... $ECHO_C" >&6; } if test "${gl_cv_header_errno_h_complete+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if !defined ENOMSG booboo #endif #if !defined EIDRM booboo #endif #if !defined ENOLINK booboo #endif #if !defined EPROTO booboo #endif #if !defined EMULTIHOP booboo #endif #if !defined EBADMSG booboo #endif #if !defined EOVERFLOW booboo #endif #if !defined ENOTSUP booboo #endif #if !defined ECANCELED booboo #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "booboo" >/dev/null 2>&1; then gl_cv_header_errno_h_complete=no else gl_cv_header_errno_h_complete=yes fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $gl_cv_header_errno_h_complete" >&5 echo "${ECHO_T}$gl_cv_header_errno_h_complete" >&6; } if test $gl_cv_header_errno_h_complete = yes; then ERRNO_H='' else : if test $gl_cv_have_include_next = yes; then gl_cv_next_errno_h='<'errno.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_errno_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_errno_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_errno_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/errno.h#{ s#.*"\(.*/errno.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_errno_h='<'errno.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_errno_h" >&5 echo "${ECHO_T}$gl_cv_next_errno_h" >&6; } fi NEXT_ERRNO_H=$gl_cv_next_errno_h ERRNO_H='errno.h' fi if test -n "$ERRNO_H"; then { echo "$as_me:$LINENO: checking for EMULTIHOP value" >&5 echo $ECHO_N "checking for EMULTIHOP value... $ECHO_C" >&6; } if test "${gl_cv_header_errno_h_EMULTIHOP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef EMULTIHOP yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then gl_cv_header_errno_h_EMULTIHOP=yes else gl_cv_header_errno_h_EMULTIHOP=no fi rm -f conftest* if test $gl_cv_header_errno_h_EMULTIHOP = no; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include #ifdef EMULTIHOP yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then gl_cv_header_errno_h_EMULTIHOP=hidden fi rm -f conftest* if test $gl_cv_header_errno_h_EMULTIHOP = hidden; then if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((EMULTIHOP) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((EMULTIHOP) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((EMULTIHOP) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((EMULTIHOP) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((EMULTIHOP) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) gl_cv_header_errno_h_EMULTIHOP=$ac_lo;; '') ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include static long int longval () { return EMULTIHOP; } static unsigned long int ulongval () { return EMULTIHOP; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if ((EMULTIHOP) < 0) { long int i = longval (); if (i != (EMULTIHOP)) return 1; fprintf (f, "%ld\n", i); } else { unsigned long int i = ulongval (); if (i != (EMULTIHOP)) return 1; fprintf (f, "%lu\n", i); } return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_header_errno_h_EMULTIHOP=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val fi fi fi { echo "$as_me:$LINENO: result: $gl_cv_header_errno_h_EMULTIHOP" >&5 echo "${ECHO_T}$gl_cv_header_errno_h_EMULTIHOP" >&6; } case $gl_cv_header_errno_h_EMULTIHOP in yes | no) EMULTIHOP_HIDDEN=0; EMULTIHOP_VALUE= ;; *) EMULTIHOP_HIDDEN=1; EMULTIHOP_VALUE="$gl_cv_header_errno_h_EMULTIHOP" ;; esac fi if test -n "$ERRNO_H"; then { echo "$as_me:$LINENO: checking for ENOLINK value" >&5 echo $ECHO_N "checking for ENOLINK value... $ECHO_C" >&6; } if test "${gl_cv_header_errno_h_ENOLINK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef ENOLINK yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then gl_cv_header_errno_h_ENOLINK=yes else gl_cv_header_errno_h_ENOLINK=no fi rm -f conftest* if test $gl_cv_header_errno_h_ENOLINK = no; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include #ifdef ENOLINK yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then gl_cv_header_errno_h_ENOLINK=hidden fi rm -f conftest* if test $gl_cv_header_errno_h_ENOLINK = hidden; then if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((ENOLINK) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((ENOLINK) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((ENOLINK) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((ENOLINK) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((ENOLINK) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) gl_cv_header_errno_h_ENOLINK=$ac_lo;; '') ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include static long int longval () { return ENOLINK; } static unsigned long int ulongval () { return ENOLINK; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if ((ENOLINK) < 0) { long int i = longval (); if (i != (ENOLINK)) return 1; fprintf (f, "%ld\n", i); } else { unsigned long int i = ulongval (); if (i != (ENOLINK)) return 1; fprintf (f, "%lu\n", i); } return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_header_errno_h_ENOLINK=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val fi fi fi { echo "$as_me:$LINENO: result: $gl_cv_header_errno_h_ENOLINK" >&5 echo "${ECHO_T}$gl_cv_header_errno_h_ENOLINK" >&6; } case $gl_cv_header_errno_h_ENOLINK in yes | no) ENOLINK_HIDDEN=0; ENOLINK_VALUE= ;; *) ENOLINK_HIDDEN=1; ENOLINK_VALUE="$gl_cv_header_errno_h_ENOLINK" ;; esac fi if test -n "$ERRNO_H"; then { echo "$as_me:$LINENO: checking for EOVERFLOW value" >&5 echo $ECHO_N "checking for EOVERFLOW value... $ECHO_C" >&6; } if test "${gl_cv_header_errno_h_EOVERFLOW+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef EOVERFLOW yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then gl_cv_header_errno_h_EOVERFLOW=yes else gl_cv_header_errno_h_EOVERFLOW=no fi rm -f conftest* if test $gl_cv_header_errno_h_EOVERFLOW = no; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include #ifdef EOVERFLOW yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then gl_cv_header_errno_h_EOVERFLOW=hidden fi rm -f conftest* if test $gl_cv_header_errno_h_EOVERFLOW = hidden; then if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((EOVERFLOW) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((EOVERFLOW) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((EOVERFLOW) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((EOVERFLOW) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((EOVERFLOW) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) gl_cv_header_errno_h_EOVERFLOW=$ac_lo;; '') ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include static long int longval () { return EOVERFLOW; } static unsigned long int ulongval () { return EOVERFLOW; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if ((EOVERFLOW) < 0) { long int i = longval (); if (i != (EOVERFLOW)) return 1; fprintf (f, "%ld\n", i); } else { unsigned long int i = ulongval (); if (i != (EOVERFLOW)) return 1; fprintf (f, "%lu\n", i); } return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_header_errno_h_EOVERFLOW=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val fi fi fi { echo "$as_me:$LINENO: result: $gl_cv_header_errno_h_EOVERFLOW" >&5 echo "${ECHO_T}$gl_cv_header_errno_h_EOVERFLOW" >&6; } case $gl_cv_header_errno_h_EOVERFLOW in yes | no) EOVERFLOW_HIDDEN=0; EOVERFLOW_VALUE= ;; *) EOVERFLOW_HIDDEN=1; EOVERFLOW_VALUE="$gl_cv_header_errno_h_EOVERFLOW" ;; esac fi { echo "$as_me:$LINENO: checking whether strerror_r is declared" >&5 echo $ECHO_N "checking whether strerror_r is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_strerror_r+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef strerror_r (void) strerror_r; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_strerror_r=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_strerror_r=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror_r" >&5 echo "${ECHO_T}$ac_cv_have_decl_strerror_r" >&6; } if test $ac_cv_have_decl_strerror_r = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRERROR_R 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRERROR_R 0 _ACEOF fi for ac_func in strerror_r do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking whether strerror_r returns char *" >&5 echo $ECHO_N "checking whether strerror_r returns char *... $ECHO_C" >&6; } if test "${ac_cv_func_strerror_r_char_p+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_func_strerror_r_char_p=no if test $ac_cv_have_decl_strerror_r = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { char buf[100]; char x = *strerror_r (0, buf, sizeof buf); char *p = strerror_r (0, buf, sizeof buf); return !p || x; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_func_strerror_r_char_p=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else # strerror_r is not declared. Choose between # systems that have relatively inaccessible declarations for the # function. BeOS and DEC UNIX 4.0 fall in this category, but the # former has a strerror_r that returns char*, while the latter # has a strerror_r that returns `int'. # This test should segfault on the DEC system. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default extern char *strerror_r (); int main () { char buf[100]; char x = *strerror_r (0, buf, sizeof buf); return ! isalpha (x); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_strerror_r_char_p=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_strerror_r_char_p" >&5 echo "${ECHO_T}$ac_cv_func_strerror_r_char_p" >&6; } if test $ac_cv_func_strerror_r_char_p = yes; then cat >>confdefs.h <<\_ACEOF #define STRERROR_R_CHAR_P 1 _ACEOF fi XGETTEXT_EXTRA_OPTIONS= GNULIB_FPRINTF=0; GNULIB_FPRINTF_POSIX=0; GNULIB_PRINTF=0; GNULIB_PRINTF_POSIX=0; GNULIB_SNPRINTF=0; GNULIB_SPRINTF_POSIX=0; GNULIB_VFPRINTF=0; GNULIB_VFPRINTF_POSIX=0; GNULIB_VPRINTF=0; GNULIB_VPRINTF_POSIX=0; GNULIB_VSNPRINTF=0; GNULIB_VSPRINTF_POSIX=0; GNULIB_VASPRINTF=0; GNULIB_OBSTACK_PRINTF=0; GNULIB_OBSTACK_PRINTF_POSIX=0; GNULIB_FOPEN=0; GNULIB_FREOPEN=0; GNULIB_FSEEK=0; GNULIB_FSEEKO=0; GNULIB_FTELL=0; GNULIB_FTELLO=0; GNULIB_FFLUSH=0; GNULIB_FCLOSE=0; GNULIB_FPUTC=0; GNULIB_PUTC=0; GNULIB_PUTCHAR=0; GNULIB_FPUTS=0; GNULIB_PUTS=0; GNULIB_FWRITE=0; GNULIB_GETDELIM=0; GNULIB_GETLINE=0; GNULIB_PERROR=0; GNULIB_STDIO_H_SIGPIPE=0; REPLACE_STDIO_WRITE_FUNCS=0; REPLACE_FPRINTF=0; REPLACE_VFPRINTF=0; REPLACE_PRINTF=0; REPLACE_VPRINTF=0; REPLACE_SNPRINTF=0; HAVE_DECL_SNPRINTF=1; REPLACE_VSNPRINTF=0; HAVE_DECL_VSNPRINTF=1; REPLACE_SPRINTF=0; REPLACE_VSPRINTF=0; HAVE_VASPRINTF=1; REPLACE_VASPRINTF=0; HAVE_DECL_OBSTACK_PRINTF=1; REPLACE_OBSTACK_PRINTF=0; REPLACE_FOPEN=0; REPLACE_FREOPEN=0; HAVE_FSEEKO=1; REPLACE_FSEEKO=0; REPLACE_FSEEK=0; HAVE_FTELLO=1; REPLACE_FTELLO=0; REPLACE_FTELL=0; REPLACE_FFLUSH=0; REPLACE_FCLOSE=0; HAVE_DECL_GETDELIM=1; HAVE_DECL_GETLINE=1; REPLACE_GETLINE=0; REPLACE_PERROR=0; { echo "$as_me:$LINENO: checking whether stdin defaults to large file offsets" >&5 echo $ECHO_N "checking whether stdin defaults to large file offsets... $ECHO_C" >&6; } if test "${gl_cv_var_stdin_large_offset+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #if defined __SL64 && defined __SCLE /* cygwin */ /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and it is easier to do a version check than building a runtime test. */ # include # if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) choke me # endif #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_var_stdin_large_offset=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_var_stdin_large_offset=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_var_stdin_large_offset" >&5 echo "${ECHO_T}$gl_cv_var_stdin_large_offset" >&6; } { echo "$as_me:$LINENO: checking whether getdelim is declared" >&5 echo $ECHO_N "checking whether getdelim is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getdelim+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef getdelim (void) getdelim; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getdelim=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getdelim=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getdelim" >&5 echo "${ECHO_T}$ac_cv_have_decl_getdelim" >&6; } if test $ac_cv_have_decl_getdelim = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETDELIM 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETDELIM 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether getline is declared" >&5 echo $ECHO_N "checking whether getline is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef getline (void) getline; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getline=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getline=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getline" >&5 echo "${ECHO_T}$ac_cv_have_decl_getline" >&6; } if test $ac_cv_have_decl_getline = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETLINE 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETLINE 0 _ACEOF fi if test -z "$GETOPT_H"; then for ac_header in getopt.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------- ## ## Report this to bug-anubis@gnu.org ## ## --------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF else GETOPT_H=getopt.h fi done fi if test -z "$GETOPT_H"; then for ac_func in getopt_long_only do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else GETOPT_H=getopt.h fi done fi if test -z "$GETOPT_H"; then { echo "$as_me:$LINENO: checking whether optreset is declared" >&5 echo $ECHO_N "checking whether optreset is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_optreset+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef optreset (void) optreset; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_optreset=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_optreset=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_optreset" >&5 echo "${ECHO_T}$ac_cv_have_decl_optreset" >&6; } if test $ac_cv_have_decl_optreset = yes; then GETOPT_H=getopt.h fi fi if test -z "$GETOPT_H"; then { echo "$as_me:$LINENO: checking for working GNU getopt function" >&5 echo $ECHO_N "checking for working GNU getopt function... $ECHO_C" >&6; } if test "${gl_cv_func_gnu_getopt+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then { echo "$as_me:$LINENO: checking whether getopt_clip is declared" >&5 echo $ECHO_N "checking whether getopt_clip is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getopt_clip+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef getopt_clip (void) getopt_clip; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getopt_clip=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getopt_clip=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getopt_clip" >&5 echo "${ECHO_T}$ac_cv_have_decl_getopt_clip" >&6; } if test $ac_cv_have_decl_getopt_clip = yes; then gl_cv_func_gnu_getopt=no else gl_cv_func_gnu_getopt=yes fi else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { char *myargv[3]; myargv[0] = "conftest"; myargv[1] = "-+"; myargv[2] = 0; return getopt (2, myargv, "+a") != '?'; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_gnu_getopt=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_gnu_getopt=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_gnu_getopt" >&5 echo "${ECHO_T}$gl_cv_func_gnu_getopt" >&6; } if test "$gl_cv_func_gnu_getopt" = "no"; then GETOPT_H=getopt.h fi fi { echo "$as_me:$LINENO: checking whether getenv is declared" >&5 echo $ECHO_N "checking whether getenv is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getenv+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef getenv (void) getenv; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getenv=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getenv=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getenv" >&5 echo "${ECHO_T}$ac_cv_have_decl_getenv" >&6; } if test $ac_cv_have_decl_getenv = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETENV 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETENV 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether getpass is declared" >&5 echo $ECHO_N "checking whether getpass is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getpass+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef getpass (void) getpass; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getpass=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getpass=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getpass" >&5 echo "${ECHO_T}$ac_cv_have_decl_getpass" >&6; } if test $ac_cv_have_decl_getpass = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETPASS 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETPASS 0 _ACEOF fi for ac_func in $gl_func_list do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking whether fflush_unlocked is declared" >&5 echo $ECHO_N "checking whether fflush_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_fflush_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef fflush_unlocked (void) fflush_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_fflush_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_fflush_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_fflush_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_fflush_unlocked" >&6; } if test $ac_cv_have_decl_fflush_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FFLUSH_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FFLUSH_UNLOCKED 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether flockfile is declared" >&5 echo $ECHO_N "checking whether flockfile is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_flockfile+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef flockfile (void) flockfile; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_flockfile=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_flockfile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_flockfile" >&5 echo "${ECHO_T}$ac_cv_have_decl_flockfile" >&6; } if test $ac_cv_have_decl_flockfile = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FLOCKFILE 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FLOCKFILE 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether fputs_unlocked is declared" >&5 echo $ECHO_N "checking whether fputs_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_fputs_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef fputs_unlocked (void) fputs_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_fputs_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_fputs_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_fputs_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_fputs_unlocked" >&6; } if test $ac_cv_have_decl_fputs_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FPUTS_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FPUTS_UNLOCKED 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether funlockfile is declared" >&5 echo $ECHO_N "checking whether funlockfile is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_funlockfile+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef funlockfile (void) funlockfile; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_funlockfile=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_funlockfile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_funlockfile" >&5 echo "${ECHO_T}$ac_cv_have_decl_funlockfile" >&6; } if test $ac_cv_have_decl_funlockfile = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FUNLOCKFILE 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FUNLOCKFILE 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether putc_unlocked is declared" >&5 echo $ECHO_N "checking whether putc_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_putc_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef putc_unlocked (void) putc_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_putc_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_putc_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_putc_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_putc_unlocked" >&6; } if test $ac_cv_have_decl_putc_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_PUTC_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_PUTC_UNLOCKED 0 _ACEOF fi { echo "$as_me:$LINENO: checking for inline" >&5 echo $ECHO_N "checking for inline... $ECHO_C" >&6; } if test "${ac_cv_c_inline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_inline=$ac_kw else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 echo "${ECHO_T}$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac { echo "$as_me:$LINENO: checking whether malloc, realloc, calloc are POSIX compliant" >&5 echo $ECHO_N "checking whether malloc, realloc, calloc are POSIX compliant... $ECHO_C" >&6; } if test "${gl_cv_func_malloc_posix+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_func_malloc_posix=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_malloc_posix=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_malloc_posix" >&5 echo "${ECHO_T}$gl_cv_func_malloc_posix" >&6; } GNULIB_MALLOC_POSIX=0; GNULIB_REALLOC_POSIX=0; GNULIB_CALLOC_POSIX=0; GNULIB_ATOLL=0; GNULIB_GETLOADAVG=0; GNULIB_GETSUBOPT=0; GNULIB_MKDTEMP=0; GNULIB_MKSTEMP=0; GNULIB_PUTENV=0; GNULIB_RANDOM_R=0; GNULIB_RPMATCH=0; GNULIB_SETENV=0; GNULIB_STRTOD=0; GNULIB_STRTOLL=0; GNULIB_STRTOULL=0; GNULIB_UNSETENV=0; HAVE_ATOLL=1; HAVE_CALLOC_POSIX=1; HAVE_GETSUBOPT=1; HAVE_MALLOC_POSIX=1; HAVE_MKDTEMP=1; HAVE_REALLOC_POSIX=1; HAVE_RANDOM_R=1; HAVE_RPMATCH=1; HAVE_SETENV=1; HAVE_STRTOD=1; HAVE_STRTOLL=1; HAVE_STRTOULL=1; HAVE_STRUCT_RANDOM_DATA=1; HAVE_SYS_LOADAVG_H=0; HAVE_UNSETENV=1; HAVE_DECL_GETLOADAVG=1; REPLACE_MKSTEMP=0; REPLACE_PUTENV=0; REPLACE_STRTOD=0; VOID_UNSETENV=0; for ac_header in stdlib.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------- ## ## Report this to bug-anubis@gnu.org ## ## --------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5 echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6; } if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_malloc_0_nonnull=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *malloc (); #endif int main () { return ! malloc (0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_malloc_0_nonnull=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_malloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6; } if test $ac_cv_func_malloc_0_nonnull = yes; then gl_cv_func_malloc_0_nonnull=1 else gl_cv_func_malloc_0_nonnull=0 fi cat >>confdefs.h <<_ACEOF #define MALLOC_0_IS_NONNULL $gl_cv_func_malloc_0_nonnull _ACEOF { echo "$as_me:$LINENO: checking for long long int" >&5 echo $ECHO_N "checking for long long int... $ECHO_C" >&6; } if test "${ac_cv_type_long_long_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* For now, do not test the preprocessor; as of 2007 there are too many implementations with broken preprocessors. Perhaps this can be revisited in 2012. In the meantime, code should not expect #if to work with literals wider than 32 bits. */ /* Test literals. */ long long int ll = 9223372036854775807ll; long long int nll = -9223372036854775807LL; unsigned long long int ull = 18446744073709551615ULL; /* Test constant expressions. */ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) ? 1 : -1)]; typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63; int main () { /* Test availability of runtime routines for shift and division. */ long long int llmax = 9223372036854775807ll; unsigned long long int ullmax = 18446744073709551615ull; return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | (llmax / ll) | (llmax % ll) | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) | (ullmax / ull) | (ullmax % ull)); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then if test "$cross_compiling" = yes; then ac_cv_type_long_long_int=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifndef LLONG_MAX # define HALF \ (1LL << (sizeof (long long int) * CHAR_BIT - 2)) # define LLONG_MAX (HALF - 1 + HALF) #endif int main () { long long int n = 1; int i; for (i = 0; ; i++) { long long int m = n << i; if (m >> i != n) return 1; if (LLONG_MAX / 2 < m) break; } return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_long_long_int=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_type_long_long_int=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_long_long_int=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_long_long_int" >&5 echo "${ECHO_T}$ac_cv_type_long_long_int" >&6; } if test $ac_cv_type_long_long_int = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_LONG_LONG_INT 1 _ACEOF fi { echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5 echo $ECHO_N "checking for stdbool.h that conforms to C99... $ECHO_C" >&6; } if test "${ac_cv_header_stdbool_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifndef bool "error: bool is not defined" #endif #ifndef false "error: false is not defined" #endif #if false "error: false is not 0" #endif #ifndef true "error: true is not defined" #endif #if true != 1 "error: true is not 1" #endif #ifndef __bool_true_false_are_defined "error: __bool_true_false_are_defined is not defined" #endif struct s { _Bool s: 1; _Bool t; } s; char a[true == 1 ? 1 : -1]; char b[false == 0 ? 1 : -1]; char c[__bool_true_false_are_defined == 1 ? 1 : -1]; char d[(bool) 0.5 == true ? 1 : -1]; bool e = &s; char f[(_Bool) 0.0 == false ? 1 : -1]; char g[true]; char h[sizeof (_Bool)]; char i[sizeof s.t]; enum { j = false, k = true, l = false * true, m = true * 256 }; _Bool n[m]; char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; #if defined __xlc__ || defined __GNUC__ /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 reported by James Lemley on 2005-10-05; see http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html This test is not quite right, since xlc is allowed to reject this program, as the initializer for xlcbug is not one of the forms that C requires support for. However, doing the test right would require a run-time test, and that would make cross-compilation harder. Let us hope that IBM fixes the xlc bug, and also adds support for this kind of constant expression. In the meantime, this test will reject xlc, which is OK, since our stdbool.h substitute should suffice. We also test this with GCC, where it should work, to detect more quickly whether someone messes up the test in the future. */ char digs[] = "0123456789"; int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); #endif /* Catch a bug in an HP-UX C compiler. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html */ _Bool q = true; _Bool *pq = &q; int main () { *pq |= q; *pq |= ! q; /* Refer to every declared value, to avoid compiler optimizations. */ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + !m + !n + !o + !p + !q + !pq); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdbool_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdbool_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6; } { echo "$as_me:$LINENO: checking for _Bool" >&5 echo $ECHO_N "checking for _Bool... $ECHO_C" >&6; } if test "${ac_cv_type__Bool+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef _Bool ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type__Bool=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type__Bool=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 echo "${ECHO_T}$ac_cv_type__Bool" >&6; } if test $ac_cv_type__Bool = yes; then cat >>confdefs.h <<_ACEOF #define HAVE__BOOL 1 _ACEOF fi if test $ac_cv_header_stdbool_h = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_STDBOOL_H 1 _ACEOF fi { echo "$as_me:$LINENO: checking for unsigned long long int" >&5 echo $ECHO_N "checking for unsigned long long int... $ECHO_C" >&6; } if test "${ac_cv_type_unsigned_long_long_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ unsigned long long int ull = 18446744073709551615ULL; typedef int a[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63; int main () { unsigned long long int ullmax = 18446744073709551615ull; return (ull << 63 | ull >> 63 | ull << i | ull >> i | ullmax / ull | ullmax % ull); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_type_unsigned_long_long_int=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_unsigned_long_long_int=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long_long_int" >&5 echo "${ECHO_T}$ac_cv_type_unsigned_long_long_int" >&6; } if test $ac_cv_type_unsigned_long_long_int = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_UNSIGNED_LONG_LONG_INT 1 _ACEOF fi GNULIB_MEMMEM=0; GNULIB_MEMPCPY=0; GNULIB_MEMRCHR=0; GNULIB_RAWMEMCHR=0; GNULIB_STPCPY=0; GNULIB_STPNCPY=0; GNULIB_STRCHRNUL=0; GNULIB_STRDUP=0; GNULIB_STRNDUP=0; GNULIB_STRNLEN=0; GNULIB_STRPBRK=0; GNULIB_STRSEP=0; GNULIB_STRSTR=0; GNULIB_STRCASESTR=0; GNULIB_STRTOK_R=0; GNULIB_MBSLEN=0; GNULIB_MBSNLEN=0; GNULIB_MBSCHR=0; GNULIB_MBSRCHR=0; GNULIB_MBSSTR=0; GNULIB_MBSCASECMP=0; GNULIB_MBSNCASECMP=0; GNULIB_MBSPCASECMP=0; GNULIB_MBSCASESTR=0; GNULIB_MBSCSPN=0; GNULIB_MBSPBRK=0; GNULIB_MBSSPN=0; GNULIB_MBSSEP=0; GNULIB_MBSTOK_R=0; GNULIB_STRERROR=0; GNULIB_STRSIGNAL=0; GNULIB_STRVERSCMP=0; HAVE_DECL_MEMMEM=1; HAVE_MEMPCPY=1; HAVE_DECL_MEMRCHR=1; HAVE_RAWMEMCHR=1; HAVE_STPCPY=1; HAVE_STPNCPY=1; HAVE_STRCHRNUL=1; HAVE_DECL_STRDUP=1; HAVE_STRNDUP=1; HAVE_DECL_STRNDUP=1; HAVE_DECL_STRNLEN=1; HAVE_STRPBRK=1; HAVE_STRSEP=1; HAVE_STRCASESTR=1; HAVE_DECL_STRTOK_R=1; HAVE_DECL_STRERROR=1; HAVE_DECL_STRSIGNAL=1; HAVE_STRVERSCMP=1; REPLACE_MEMMEM=0; REPLACE_STRDUP=0; REPLACE_STRSTR=0; REPLACE_STRCASESTR=0; REPLACE_STRERROR=0; REPLACE_STRSIGNAL=0; { echo "$as_me:$LINENO: checking whether strdup is declared" >&5 echo $ECHO_N "checking whether strdup is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_strdup+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef strdup (void) strdup; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_strdup=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_strdup=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_strdup" >&5 echo "${ECHO_T}$ac_cv_have_decl_strdup" >&6; } if test $ac_cv_have_decl_strdup = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRDUP 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRDUP 0 _ACEOF fi if test -z "$ERRNO_H"; then { echo "$as_me:$LINENO: checking for working strerror function" >&5 echo $ECHO_N "checking for working strerror function... $ECHO_C" >&6; } if test "${gl_cv_func_working_strerror+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return !*strerror (-2); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_func_working_strerror=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_working_strerror=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return !*strerror (-2); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_working_strerror=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_working_strerror=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_working_strerror" >&5 echo "${ECHO_T}$gl_cv_func_working_strerror" >&6; } if test $gl_cv_func_working_strerror = no; then REPLACE_STRERROR=1 fi else REPLACE_STRERROR=1 fi if test $REPLACE_STRERROR = 1; then { echo "$as_me:$LINENO: checking whether strerror is declared" >&5 echo $ECHO_N "checking whether strerror is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_strerror+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef strerror (void) strerror; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_strerror=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_strerror=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror" >&5 echo "${ECHO_T}$ac_cv_have_decl_strerror" >&6; } if test $ac_cv_have_decl_strerror = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRERROR 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRERROR 0 _ACEOF fi : if test $ac_cv_header_sys_socket_h != yes; then for ac_header in winsock2.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------- ## ## Report this to bug-anubis@gnu.org ## ## --------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done fi fi { echo "$as_me:$LINENO: checking for C/C++ restrict keyword" >&5 echo $ECHO_N "checking for C/C++ restrict keyword... $ECHO_C" >&6; } if test "${ac_cv_c_restrict+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_c_restrict=no # The order here caters to the fact that C++ does not require restrict. for ac_kw in __restrict __restrict__ _Restrict restrict; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ typedef int * int_ptr; int foo (int_ptr $ac_kw ip) { return ip[0]; } int main () { int s[1]; int * $ac_kw t = s; t[0] = 0; return foo(t) ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_restrict=$ac_kw else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_restrict" != no && break done fi { echo "$as_me:$LINENO: result: $ac_cv_c_restrict" >&5 echo "${ECHO_T}$ac_cv_c_restrict" >&6; } case $ac_cv_c_restrict in restrict) ;; no) cat >>confdefs.h <<\_ACEOF #define restrict _ACEOF ;; *) cat >>confdefs.h <<_ACEOF #define restrict $ac_cv_c_restrict _ACEOF ;; esac : if test $gl_cv_have_include_next = yes; then gl_cv_next_string_h='<'string.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_string_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_string_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_string_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/string.h#{ s#.*"\(.*/string.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_string_h='<'string.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_string_h" >&5 echo "${ECHO_T}$gl_cv_next_string_h" >&6; } fi NEXT_STRING_H=$gl_cv_next_string_h GNULIB_BTOWC=0; GNULIB_WCTOB=0; GNULIB_MBSINIT=0; GNULIB_MBRTOWC=0; GNULIB_MBRLEN=0; GNULIB_WCWIDTH=0; HAVE_BTOWC=1; HAVE_WCTOB=1; HAVE_MBSINIT=1; HAVE_MBRTOWC=1; HAVE_MBRLEN=1; HAVE_DECL_WCWIDTH=1; REPLACE_WCWIDTH=0; WCHAR_H=''; { echo "$as_me:$LINENO: checking for wint_t" >&5 echo $ECHO_N "checking for wint_t... $ECHO_C" >&6; } if test "${gt_cv_c_wint_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include wint_t foo = (wchar_t)'\0'; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gt_cv_c_wint_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_c_wint_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gt_cv_c_wint_t" >&5 echo "${ECHO_T}$gt_cv_c_wint_t" >&6; } if test $gt_cv_c_wint_t = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_WINT_T 1 _ACEOF fi if false; then GL_COND_LIBTOOL_TRUE= GL_COND_LIBTOOL_FALSE='#' else GL_COND_LIBTOOL_TRUE='#' GL_COND_LIBTOOL_FALSE= fi gl_cond_libtool=false gl_libdeps= gl_ltlibdeps= gl_source_base='lib' if test $ac_cv_func_alloca_works = no; then : fi # Define an additional variable used in the Makefile substitution. if test $ac_cv_working_alloca_h = yes; then { echo "$as_me:$LINENO: checking for alloca as a compiler built-in" >&5 echo $ECHO_N "checking for alloca as a compiler built-in... $ECHO_C" >&6; } if test "${gl_cv_rpl_alloca+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined __GNUC__ || defined _AIX || defined _MSC_VER Need own alloca #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Need own alloca" >/dev/null 2>&1; then gl_cv_rpl_alloca=yes else gl_cv_rpl_alloca=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $gl_cv_rpl_alloca" >&5 echo "${ECHO_T}$gl_cv_rpl_alloca" >&6; } if test $gl_cv_rpl_alloca = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ALLOCA 1 _ACEOF ALLOCA_H=alloca.h else ALLOCA_H= fi else ALLOCA_H=alloca.h fi { echo "$as_me:$LINENO: checking if environ is properly declared" >&5 echo $ECHO_N "checking if environ is properly declared... $ECHO_C" >&6; } if test "${gt_cv_var_environ_declaration+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include extern struct { int foo; } environ; int main () { environ.foo = 1; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gt_cv_var_environ_declaration=no else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_var_environ_declaration=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gt_cv_var_environ_declaration" >&5 echo "${ECHO_T}$gt_cv_var_environ_declaration" >&6; } if test $gt_cv_var_environ_declaration = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ENVIRON_DECL 1 _ACEOF fi if test $gt_cv_var_environ_declaration != yes; then HAVE_DECL_ENVIRON=0 fi GNULIB_ENVIRON=1 { echo "$as_me:$LINENO: checking for error_at_line" >&5 echo $ECHO_N "checking for error_at_line... $ECHO_C" >&6; } if test "${ac_cv_lib_error_at_line+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { error_at_line (0, 0, "", 0, "an error occurred"); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_error_at_line=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_error_at_line=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_lib_error_at_line" >&5 echo "${ECHO_T}$ac_cv_lib_error_at_line" >&6; } if test $ac_cv_lib_error_at_line = no; then gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext" fi : XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format" gl_LIBOBJS="$gl_LIBOBJS exitfail.$ac_objext" : { echo "$as_me:$LINENO: checking for fseeko" >&5 echo $ECHO_N "checking for fseeko... $ECHO_C" >&6; } if test "${gl_cv_func_fseeko+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { fseeko (stdin, 0, 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_fseeko=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_fseeko=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_fseeko" >&5 echo "${ECHO_T}$gl_cv_func_fseeko" >&6; } if test $gl_cv_func_fseeko = no; then HAVE_FSEEKO=0 gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext" REPLACE_FSEEKO=1 elif test $gl_cv_var_stdin_large_offset = no; then gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext" REPLACE_FSEEKO=1 fi GNULIB_FSEEKO=1 for ac_func in getdelim do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done : if test $ac_cv_func_getdelim = no; then for ac_func in flockfile funlockfile do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking whether getc_unlocked is declared" >&5 echo $ECHO_N "checking whether getc_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getc_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef getc_unlocked (void) getc_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getc_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getc_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getc_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_getc_unlocked" >&6; } if test $ac_cv_have_decl_getc_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETC_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETC_UNLOCKED 0 _ACEOF fi fi if test $ac_cv_have_decl_getdelim = no; then HAVE_DECL_GETDELIM=0 fi GNULIB_GETDELIM=1 : gl_getline_needs_run_time_check=no { echo "$as_me:$LINENO: checking for getline" >&5 echo $ECHO_N "checking for getline... $ECHO_C" >&6; } if test "${ac_cv_func_getline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define getline to an innocuous variant, in case declares getline. For example, HP-UX 11i declares gettimeofday. */ #define getline innocuous_getline /* System header to define __stub macros and hopefully few prototypes, which can conflict with char getline (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef getline /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getline (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_getline || defined __stub___getline choke me #endif int main () { return getline (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_getline=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_getline=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_getline" >&5 echo "${ECHO_T}$ac_cv_func_getline" >&6; } if test $ac_cv_func_getline = yes; then gl_getline_needs_run_time_check=yes else am_cv_func_working_getline=no fi if test $gl_getline_needs_run_time_check = yes; then { echo "$as_me:$LINENO: checking for working getline function" >&5 echo $ECHO_N "checking for working getline function... $ECHO_C" >&6; } if test "${am_cv_func_working_getline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else echo fooN |tr -d '\012'|tr N '\012' > conftest.data if test "$cross_compiling" = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) Lucky GNU user #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky GNU user" >/dev/null 2>&1; then am_cv_func_working_getline=yes else am_cv_func_working_getline=no fi rm -f conftest* else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ # include # include # include int main () { /* Based on a test program from Karl Heuer. */ char *line = NULL; size_t siz = 0; int len; FILE *in = fopen ("./conftest.data", "r"); if (!in) return 1; len = getline (&line, &siz, in); exit ((len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then am_cv_func_working_getline=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) am_cv_func_working_getline=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $am_cv_func_working_getline" >&5 echo "${ECHO_T}$am_cv_func_working_getline" >&6; } fi if test $ac_cv_have_decl_getline = no; then HAVE_DECL_GETLINE=0 fi if test $am_cv_func_working_getline = no; then REPLACE_GETLINE=1 gl_LIBOBJS="$gl_LIBOBJS getline.$ac_objext" for ac_func in getdelim do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done : if test $ac_cv_func_getdelim = no; then for ac_func in flockfile funlockfile do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking whether getc_unlocked is declared" >&5 echo $ECHO_N "checking whether getc_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getc_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef getc_unlocked (void) getc_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getc_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getc_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getc_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_getc_unlocked" >&6; } if test $ac_cv_have_decl_getc_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETC_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETC_UNLOCKED 0 _ACEOF fi fi if test $ac_cv_have_decl_getdelim = no; then HAVE_DECL_GETDELIM=0 fi fi GNULIB_GETLINE=1 if test -n "$GETOPT_H"; then gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" GETOPT_H=getopt.h cat >>confdefs.h <<\_ACEOF #define __GETOPT_PREFIX rpl_ _ACEOF : fi for ac_func in getpass do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done : if test $ac_cv_func_getpass = no; then : : { echo "$as_me:$LINENO: checking whether __fsetlocking is declared" >&5 echo $ECHO_N "checking whether __fsetlocking is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl___fsetlocking+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if HAVE_STDIO_EXT_H #include #endif int main () { #ifndef __fsetlocking (void) __fsetlocking; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl___fsetlocking=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl___fsetlocking=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl___fsetlocking" >&5 echo "${ECHO_T}$ac_cv_have_decl___fsetlocking" >&6; } if test $ac_cv_have_decl___fsetlocking = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL___FSETLOCKING 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL___FSETLOCKING 0 _ACEOF fi : : : : : : fi { echo "$as_me:$LINENO: checking whether the compiler generally respects inline" >&5 echo $ECHO_N "checking whether the compiler generally respects inline... $ECHO_C" >&6; } if test "${gl_cv_c_inline_effective+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_c_inline = no; then gl_cv_c_inline_effective=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifdef __NO_INLINE__ #error "inline is not effective" #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_c_inline_effective=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_c_inline_effective=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_c_inline_effective" >&5 echo "${ECHO_T}$gl_cv_c_inline_effective" >&6; } if test $gl_cv_c_inline_effective = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_INLINE 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether lseek detects pipes" >&5 echo $ECHO_N "checking whether lseek detects pipes... $ECHO_C" >&6; } if test "${gl_cv_func_lseek_pipe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $cross_compiling = no; then cat >conftest.$ac_ext <<_ACEOF #include /* for off_t */ #include /* for SEEK_CUR */ #include int main () { /* Exit with success only if stdin is seekable. */ return lseek (0, (off_t)0, SEEK_CUR) < 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then if test -s conftest$ac_exeext \ && ./conftest$ac_exeext < conftest.$ac_ext \ && { echo hi | ./conftest$ac_exeext; test $? = 1; }; then gl_cv_func_lseek_pipe=yes else gl_cv_func_lseek_pipe=no fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_lseek_pipe=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__ /* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */ Choke me. #endif _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_func_lseek_pipe=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_lseek_pipe=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_lseek_pipe" >&5 echo "${ECHO_T}$gl_cv_func_lseek_pipe" >&6; } if test $gl_cv_func_lseek_pipe = no; then gl_LIBOBJS="$gl_LIBOBJS lseek.$ac_objext" REPLACE_LSEEK=1 cat >>confdefs.h <<\_ACEOF #define LSEEK_PIPE_BROKEN 1 _ACEOF fi GNULIB_LSEEK=1 if test $gl_cv_func_malloc_posix = yes; then HAVE_MALLOC_POSIX=1 cat >>confdefs.h <<\_ACEOF #define HAVE_MALLOC_POSIX 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" HAVE_MALLOC_POSIX=0 fi GNULIB_MALLOC_POSIX=1 { echo "$as_me:$LINENO: checking for obstacks" >&5 echo $ECHO_N "checking for obstacks... $ECHO_C" >&6; } if test "${ac_cv_func_obstack+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include "obstack.h" int main () { struct obstack mem; #define obstack_chunk_alloc malloc #define obstack_chunk_free free obstack_init (&mem); obstack_free (&mem, 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_obstack=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_obstack=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_obstack" >&5 echo "${ECHO_T}$ac_cv_func_obstack" >&6; } if test $ac_cv_func_obstack = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_OBSTACK 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS obstack.$ac_objext" fi if test $gl_cv_func_malloc_posix = yes; then HAVE_REALLOC_POSIX=1 cat >>confdefs.h <<\_ACEOF #define HAVE_REALLOC_POSIX 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext" HAVE_REALLOC_POSIX=0 fi GNULIB_REALLOC_POSIX=1 : if test $ac_cv_func_setenv = no; then HAVE_SETENV=0 gl_LIBOBJS="$gl_LIBOBJS setenv.$ac_objext" : for ac_header in search.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------- ## ## Report this to bug-anubis@gnu.org ## ## --------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in tsearch do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done fi GNULIB_SETENV=1 # Define two additional variables used in the Makefile substitution. if test "$ac_cv_header_stdbool_h" = yes; then STDBOOL_H='' else STDBOOL_H='stdbool.h' fi if test "$ac_cv_type__Bool" = yes; then HAVE__BOOL=1 else HAVE__BOOL=0 fi if test $ac_cv_type_long_long_int = yes; then HAVE_LONG_LONG_INT=1 else HAVE_LONG_LONG_INT=0 fi if test $ac_cv_type_unsigned_long_long_int = yes; then HAVE_UNSIGNED_LONG_LONG_INT=1 else HAVE_UNSIGNED_LONG_LONG_INT=0 fi if test $ac_cv_header_inttypes_h = yes; then HAVE_INTTYPES_H=1 else HAVE_INTTYPES_H=0 fi if test $ac_cv_header_sys_types_h = yes; then HAVE_SYS_TYPES_H=1 else HAVE_SYS_TYPES_H=0 fi : if test $gl_cv_have_include_next = yes; then gl_cv_next_stdint_h='<'stdint.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_stdint_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_stdint_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/stdint.h#{ s#.*"\(.*/stdint.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_stdint_h='<'stdint.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_stdint_h" >&5 echo "${ECHO_T}$gl_cv_next_stdint_h" >&6; } fi NEXT_STDINT_H=$gl_cv_next_stdint_h if test $ac_cv_header_stdint_h = yes; then HAVE_STDINT_H=1 else HAVE_STDINT_H=0 fi if test $ac_cv_header_stdint_h = yes; then { echo "$as_me:$LINENO: checking whether stdint.h conforms to C99" >&5 echo $ECHO_N "checking whether stdint.h conforms to C99... $ECHO_C" >&6; } if test "${gl_cv_header_working_stdint_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_cv_header_working_stdint_h=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ #if !(defined WCHAR_MIN && defined WCHAR_MAX) #error "WCHAR_MIN, WCHAR_MAX not defined in " #endif /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #ifdef INT8_MAX int8_t a1 = INT8_MAX; int8_t a1min = INT8_MIN; #endif #ifdef INT16_MAX int16_t a2 = INT16_MAX; int16_t a2min = INT16_MIN; #endif #ifdef INT32_MAX int32_t a3 = INT32_MAX; int32_t a3min = INT32_MIN; #endif #ifdef INT64_MAX int64_t a4 = INT64_MAX; int64_t a4min = INT64_MIN; #endif #ifdef UINT8_MAX uint8_t b1 = UINT8_MAX; #else typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; #endif #ifdef UINT16_MAX uint16_t b2 = UINT16_MAX; #endif #ifdef UINT32_MAX uint32_t b3 = UINT32_MAX; #endif #ifdef UINT64_MAX uint64_t b4 = UINT64_MAX; #endif int_least8_t c1 = INT8_C (0x7f); int_least8_t c1max = INT_LEAST8_MAX; int_least8_t c1min = INT_LEAST8_MIN; int_least16_t c2 = INT16_C (0x7fff); int_least16_t c2max = INT_LEAST16_MAX; int_least16_t c2min = INT_LEAST16_MIN; int_least32_t c3 = INT32_C (0x7fffffff); int_least32_t c3max = INT_LEAST32_MAX; int_least32_t c3min = INT_LEAST32_MIN; int_least64_t c4 = INT64_C (0x7fffffffffffffff); int_least64_t c4max = INT_LEAST64_MAX; int_least64_t c4min = INT_LEAST64_MIN; uint_least8_t d1 = UINT8_C (0xff); uint_least8_t d1max = UINT_LEAST8_MAX; uint_least16_t d2 = UINT16_C (0xffff); uint_least16_t d2max = UINT_LEAST16_MAX; uint_least32_t d3 = UINT32_C (0xffffffff); uint_least32_t d3max = UINT_LEAST32_MAX; uint_least64_t d4 = UINT64_C (0xffffffffffffffff); uint_least64_t d4max = UINT_LEAST64_MAX; int_fast8_t e1 = INT_FAST8_MAX; int_fast8_t e1min = INT_FAST8_MIN; int_fast16_t e2 = INT_FAST16_MAX; int_fast16_t e2min = INT_FAST16_MIN; int_fast32_t e3 = INT_FAST32_MAX; int_fast32_t e3min = INT_FAST32_MIN; int_fast64_t e4 = INT_FAST64_MAX; int_fast64_t e4min = INT_FAST64_MIN; uint_fast8_t f1 = UINT_FAST8_MAX; uint_fast16_t f2 = UINT_FAST16_MAX; uint_fast32_t f3 = UINT_FAST32_MAX; uint_fast64_t f4 = UINT_FAST64_MAX; #ifdef INTPTR_MAX intptr_t g = INTPTR_MAX; intptr_t gmin = INTPTR_MIN; #endif #ifdef UINTPTR_MAX uintptr_t h = UINTPTR_MAX; #endif intmax_t i = INTMAX_MAX; uintmax_t j = UINTMAX_MAX; #include /* for CHAR_BIT */ #define TYPE_MINIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) #define TYPE_MAXIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) struct s { int check_PTRDIFF: PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) ? 1 : -1; /* Detect bug in FreeBSD 6.0 / ia64. */ int check_SIG_ATOMIC: SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) ? 1 : -1; int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; int check_WCHAR: WCHAR_MIN == TYPE_MINIMUM (wchar_t) && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) ? 1 : -1; /* Detect bug in mingw. */ int check_WINT: WINT_MIN == TYPE_MINIMUM (wint_t) && WINT_MAX == TYPE_MAXIMUM (wint_t) ? 1 : -1; /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ int check_UINT8_C: (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; int check_UINT16_C: (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; /* Detect bugs in OpenBSD 3.9 stdint.h. */ #ifdef UINT8_MAX int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; #endif #ifdef UINT16_MAX int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; #endif #ifdef UINT32_MAX int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; #endif #ifdef UINT64_MAX int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; #endif int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; }; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_header_working_stdint_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_header_working_stdint_h" >&5 echo "${ECHO_T}$gl_cv_header_working_stdint_h" >&6; } fi if test "$gl_cv_header_working_stdint_h" = yes; then STDINT_H= else for ac_header in sys/inttypes.h sys/bitypes.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------- ## ## Report this to bug-anubis@gnu.org ## ## --------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_sys_inttypes_h = yes; then HAVE_SYS_INTTYPES_H=1 else HAVE_SYS_INTTYPES_H=0 fi if test $ac_cv_header_sys_bitypes_h = yes; then HAVE_SYS_BITYPES_H=1 else HAVE_SYS_BITYPES_H=0 fi : for gltype in ptrdiff_t sig_atomic_t size_t wchar_t wint_t ; do { echo "$as_me:$LINENO: checking for bit size of $gltype" >&5 echo $ECHO_N "checking for bit size of $gltype... $ECHO_C" >&6; } if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include int main () { static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include int main () { static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include int main () { static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include int main () { static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include int main () { static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) result=$ac_lo;; '') result=unknown ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include static long int longval () { return sizeof ($gltype) * CHAR_BIT; } static unsigned long int ulongval () { return sizeof ($gltype) * CHAR_BIT; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if ((sizeof ($gltype) * CHAR_BIT) < 0) { long int i = longval (); if (i != (sizeof ($gltype) * CHAR_BIT)) return 1; fprintf (f, "%ld\n", i); } else { unsigned long int i = ulongval (); if (i != (sizeof ($gltype) * CHAR_BIT)) return 1; fprintf (f, "%lu\n", i); } return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then result=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) result=unknown fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val eval gl_cv_bitsizeof_${gltype}=\$result fi ac_res=`eval echo '${'gl_cv_bitsizeof_${gltype}'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } eval result=\$gl_cv_bitsizeof_${gltype} if test $result = unknown; then result=0 fi GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` cat >>confdefs.h <<_ACEOF #define BITSIZEOF_${GLTYPE} $result _ACEOF eval BITSIZEOF_${GLTYPE}=\$result done for gltype in sig_atomic_t wchar_t wint_t ; do { echo "$as_me:$LINENO: checking whether $gltype is signed" >&5 echo $ECHO_N "checking whether $gltype is signed... $ECHO_C" >&6; } if { as_var=gl_cv_type_${gltype}_signed; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then result=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 result=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext eval gl_cv_type_${gltype}_signed=\$result fi ac_res=`eval echo '${'gl_cv_type_${gltype}_signed'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } eval result=\$gl_cv_type_${gltype}_signed GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` if test "$result" = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_SIGNED_${GLTYPE} 1 _ACEOF eval HAVE_SIGNED_${GLTYPE}=1 else eval HAVE_SIGNED_${GLTYPE}=0 fi done gl_cv_type_ptrdiff_t_signed=yes gl_cv_type_size_t_signed=no for gltype in ptrdiff_t sig_atomic_t size_t wchar_t wint_t ; do { echo "$as_me:$LINENO: checking for $gltype integer literal suffix" >&5 echo $ECHO_N "checking for $gltype integer literal suffix... $ECHO_C" >&6; } if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval gl_cv_type_${gltype}_suffix=no eval result=\$gl_cv_type_${gltype}_signed if test "$result" = yes; then glsufu= else glsufu=u fi for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do case $glsuf in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; i64) gltype1='__int64';; u) gltype1='unsigned int';; ul) gltype1='unsigned long int';; ull) gltype1='unsigned long long int';; ui64)gltype1='unsigned __int64';; esac cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif extern $gltype foo; extern $gltype1 foo; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval gl_cv_type_${gltype}_suffix=\$glsuf else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext eval result=\$gl_cv_type_${gltype}_suffix test "$result" != no && break done fi ac_res=`eval echo '${'gl_cv_type_${gltype}_suffix'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` eval result=\$gl_cv_type_${gltype}_suffix test "$result" = no && result= eval ${GLTYPE}_SUFFIX=\$result cat >>confdefs.h <<_ACEOF #define ${GLTYPE}_SUFFIX $result _ACEOF done STDINT_H=stdint.h fi : if test $gl_cv_have_include_next = yes; then gl_cv_next_stdio_h='<'stdio.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_stdio_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_stdio_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_stdio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/stdio.h#{ s#.*"\(.*/stdio.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_stdio_h='<'stdio.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_stdio_h" >&5 echo "${ECHO_T}$gl_cv_next_stdio_h" >&6; } fi NEXT_STDIO_H=$gl_cv_next_stdio_h GNULIB_FPRINTF=1 GNULIB_PRINTF=1 GNULIB_VFPRINTF=1 GNULIB_VPRINTF=1 GNULIB_FPUTC=1 GNULIB_PUTC=1 GNULIB_PUTCHAR=1 GNULIB_FPUTS=1 GNULIB_PUTS=1 GNULIB_FWRITE=1 : if test $gl_cv_have_include_next = yes; then gl_cv_next_stdlib_h='<'stdlib.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_stdlib_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_stdlib_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/stdlib.h#{ s#.*"\(.*/stdlib.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_stdlib_h='<'stdlib.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_stdlib_h" >&5 echo "${ECHO_T}$gl_cv_next_stdlib_h" >&6; } fi NEXT_STDLIB_H=$gl_cv_next_stdlib_h { echo "$as_me:$LINENO: checking for struct random_data" >&5 echo $ECHO_N "checking for struct random_data... $ECHO_C" >&6; } if test "${ac_cv_type_struct_random_data+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include typedef struct random_data ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_struct_random_data=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_struct_random_data=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_struct_random_data" >&5 echo "${ECHO_T}$ac_cv_type_struct_random_data" >&6; } if test $ac_cv_type_struct_random_data = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_RANDOM_DATA 1 _ACEOF else HAVE_STRUCT_RANDOM_DATA=0 fi if test $gl_cv_func_malloc_posix != yes; then REPLACE_STRDUP=1 gl_LIBOBJS="$gl_LIBOBJS strdup.$ac_objext" else for ac_func in strdup do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done fi : if test $ac_cv_have_decl_strdup = no; then HAVE_DECL_STRDUP=0 fi : GNULIB_STRDUP=1 if test $REPLACE_STRERROR = 1; then gl_LIBOBJS="$gl_LIBOBJS strerror.$ac_objext" cat >>confdefs.h <<_ACEOF #define REPLACE_STRERROR $REPLACE_STRERROR _ACEOF fi GNULIB_STRERROR=1 : if test $ac_cv_header_sysexits_h = yes; then HAVE_SYSEXITS_H=1 : if test $gl_cv_have_include_next = yes; then gl_cv_next_sysexits_h='<'sysexits.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_sysexits_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_sysexits_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_sysexits_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/sysexits.h#{ s#.*"\(.*/sysexits.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_sysexits_h='<'sysexits.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_sysexits_h" >&5 echo "${ECHO_T}$gl_cv_next_sysexits_h" >&6; } fi NEXT_SYSEXITS_H=$gl_cv_next_sysexits_h cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { switch (0) { case EX_OK: case EX_USAGE: case EX_DATAERR: case EX_NOINPUT: case EX_NOUSER: case EX_NOHOST: case EX_UNAVAILABLE: case EX_SOFTWARE: case EX_OSERR: case EX_OSFILE: case EX_CANTCREAT: case EX_IOERR: case EX_TEMPFAIL: case EX_PROTOCOL: case EX_NOPERM: case EX_CONFIG: break; } ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then SYSEXITS_H= else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 SYSEXITS_H=sysexits.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else HAVE_SYSEXITS_H=0 SYSEXITS_H=sysexits.h fi : if test $gl_cv_have_include_next = yes; then gl_cv_next_unistd_h='<'unistd.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_unistd_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_unistd_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/unistd.h#{ s#.*"\(.*/unistd.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_unistd_h='<'unistd.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_unistd_h" >&5 echo "${ECHO_T}$gl_cv_next_unistd_h" >&6; } fi NEXT_UNISTD_H=$gl_cv_next_unistd_h : if test $ac_cv_header_unistd_h = yes; then HAVE_UNISTD_H=1 else HAVE_UNISTD_H=0 fi { echo "$as_me:$LINENO: checking whether is standalone" >&5 echo $ECHO_N "checking whether is standalone... $ECHO_C" >&6; } if test "${gl_cv_header_wchar_h_standalone+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #include wchar_t w; _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_header_wchar_h_standalone=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_header_wchar_h_standalone=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_header_wchar_h_standalone" >&5 echo "${ECHO_T}$gl_cv_header_wchar_h_standalone" >&6; } if test $gt_cv_c_wint_t = yes; then HAVE_WINT_T=1 else HAVE_WINT_T=0 fi if test $gl_cv_header_wchar_h_standalone != yes || test $gt_cv_c_wint_t != yes; then WCHAR_H=wchar.h fi : if test $ac_cv_header_wchar_h = yes; then HAVE_WCHAR_H=1 else HAVE_WCHAR_H=0 fi : if test $gl_cv_have_include_next = yes; then gl_cv_next_wchar_h='<'wchar.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_wchar_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_wchar_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_wchar_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/wchar.h#{ s#.*"\(.*/wchar.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_wchar_h='<'wchar.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_wchar_h" >&5 echo "${ECHO_T}$gl_cv_next_wchar_h" >&6; } fi NEXT_WCHAR_H=$gl_cv_next_wchar_h gl_LIBOBJS="$gl_LIBOBJS xmalloc.$ac_objext" : : gltests_libdeps= gltests_ltlibdeps= gl_source_base='tests' LIBANUBIS_LIBDEPS="$gl_libdeps" LIBANUBIS_LTLIBDEPS="$gl_ltlibdeps" for ac_func in syslog getrlimit setrlimit socketpair strdup do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in setegid setregid setresgid seteuid setreuid do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in regcomp daemon putenv do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for function prototypes" >&5 echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6; } if test "$ac_cv_prog_cc_c89" != no; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } cat >>confdefs.h <<\_ACEOF #define PROTOTYPES 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define __PROTOTYPES 1 _ACEOF else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi { echo "$as_me:$LINENO: checking whether setvbuf arguments are reversed" >&5 echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6; } if test "${ac_cv_func_setvbuf_reversed+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_func_setvbuf_reversed=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include # ifdef PROTOTYPES int (setvbuf) (FILE *, int, char *, size_t); # endif int main () { char buf; return setvbuf (stdout, _IOLBF, &buf, 1); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include # ifdef PROTOTYPES int (setvbuf) (FILE *, int, char *, size_t); # endif int main () { char buf; return setvbuf (stdout, &buf, _IOLBF, 1); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then # It compiles and links either way, so it must not be declared # with a prototype and most likely this is a K&R C compiler. # Try running it. if test "$cross_compiling" = yes; then : # Assume setvbuf is not reversed when cross-compiling. else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { /* This call has the arguments reversed. A reversed system may check and see that the address of buf is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */ char buf; if (setvbuf (stdout, _IOLBF, &buf, 1) != 0) return 1; putchar ('\r'); return 0; /* Non-reversed systems SEGV here. */ ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_setvbuf_reversed=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi ac_cv_func_setvbuf_reversed=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_setvbuf_reversed" >&5 echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6; } if test $ac_cv_func_setvbuf_reversed = yes; then cat >>confdefs.h <<\_ACEOF #define SETVBUF_REVERSED 1 _ACEOF fi { echo "$as_me:$LINENO: checking for socket in -lsocket" >&5 echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6; } if test "${ac_cv_lib_socket_socket+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char socket (); int main () { return socket (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_socket_socket=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_socket_socket=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5 echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6; } if test $ac_cv_lib_socket_socket = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBSOCKET 1 _ACEOF LIBS="-lsocket $LIBS" fi { echo "$as_me:$LINENO: checking for gethostbyaddr in -lnsl" >&5 echo $ECHO_N "checking for gethostbyaddr in -lnsl... $ECHO_C" >&6; } if test "${ac_cv_lib_nsl_gethostbyaddr+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gethostbyaddr (); int main () { return gethostbyaddr (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_nsl_gethostbyaddr=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_nsl_gethostbyaddr=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyaddr" >&5 echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyaddr" >&6; } if test $ac_cv_lib_nsl_gethostbyaddr = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBNSL 1 _ACEOF LIBS="-lnsl $LIBS" fi case $build in *-apple-darwin*) INCLUDES="$INCLUDES -I/usr/include" ;; esac { echo "$as_me:$LINENO: checking whether NLS is requested" >&5 echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { echo "$as_me:$LINENO: result: $USE_NLS" >&5 echo "${ECHO_T}$USE_NLS" >&6; } GETTEXT_MACRO_VERSION=0.17 # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_MSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { echo "$as_me:$LINENO: result: $MSGFMT" >&5 echo "${ECHO_T}$MSGFMT" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_GMSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { echo "$as_me:$LINENO: result: $GMSGFMT" >&5 echo "${ECHO_T}$GMSGFMT" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_XGETTEXT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { echo "$as_me:$LINENO: result: $XGETTEXT" >&5 echo "${ECHO_T}$XGETTEXT" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi rm -f messages.po case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_MSGMERGE+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { echo "$as_me:$LINENO: result: $MSGMERGE" >&5 echo "${ECHO_T}$MSGMERGE" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$localedir" || localedir='${datadir}/locale' test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= ac_config_commands="$ac_config_commands po-directories" if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by GCC" >&5 echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${acl_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" if test -n "$LD"; then { echo "$as_me:$LINENO: result: $LD" >&5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${acl_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { echo "$as_me:$LINENO: checking for shared library run path origin" >&5 echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6; } if test "${acl_cv_rpath+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi { echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 echo "${ECHO_T}$acl_cv_rpath" >&6; } wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then enableval=$enable_rpath; : else enable_rpath=yes fi acl_libdirstem=lib acl_libdirstem2= case "$host_os" in solaris*) { echo "$as_me:$LINENO: checking for 64-bit host" >&5 echo $ECHO_N "checking for 64-bit host... $ECHO_C" >&6; } if test "${gl_cv_solaris_64bit+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef _LP64 sixtyfour bits #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "sixtyfour bits" >/dev/null 2>&1; then gl_cv_solaris_64bit=yes else gl_cv_solaris_64bit=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $gl_cv_solaris_64bit" >&5 echo "${ECHO_T}$gl_cv_solaris_64bit" >&6; } if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 case "$host_cpu" in sparc*) acl_libdirstem2=lib/sparcv9 ;; i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; esac fi ;; *) searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ;; esac test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test "${with_libiconv_prefix+set}" = set; then withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi fi LIBICONV= LTLIBICONV= INCICONV= LIBICONV_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIBICONV_PREFIX="$basedir" additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` LIBICONV_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi { echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5 echo $ECHO_N "checking for CFPreferencesCopyAppValue... $ECHO_C" >&6; } if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gt_cv_func_CFPreferencesCopyAppValue=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 echo "${ECHO_T}$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_CFPREFERENCESCOPYAPPVALUE 1 _ACEOF fi { echo "$as_me:$LINENO: checking for CFLocaleCopyCurrent" >&5 echo $ECHO_N "checking for CFLocaleCopyCurrent... $ECHO_C" >&6; } if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gt_cv_func_CFLocaleCopyCurrent=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 echo "${ECHO_T}$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_CFLOCALECOPYCURRENT 1 _ACEOF fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi LIBINTL= LTLIBINTL= POSUB= case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi { echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5 echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6; } if { as_var=$gt_func_gnugettext_libc; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$gt_func_gnugettext_libc=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$gt_func_gnugettext_libc=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$gt_func_gnugettext_libc'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { echo "$as_me:$LINENO: checking for iconv" >&5 echo $ECHO_N "checking for iconv... $ECHO_C" >&6; } if test "${am_cv_func_iconv+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then am_cv_func_iconv=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then am_cv_lib_iconv=yes am_cv_func_iconv=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 echo "${ECHO_T}$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then { echo "$as_me:$LINENO: checking for working iconv" >&5 echo $ECHO_N "checking for working iconv... $ECHO_C" >&6; } if test "${am_cv_func_iconv_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi if test "$cross_compiling" = yes; then case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then am_cv_func_iconv_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) am_cv_func_iconv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi LIBS="$am_save_LIBS" fi { echo "$as_me:$LINENO: result: $am_cv_func_iconv_works" >&5 echo "${ECHO_T}$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ICONV 1 _ACEOF fi if test "$am_cv_lib_iconv" = yes; then { echo "$as_me:$LINENO: checking how to link with libiconv" >&5 echo $ECHO_N "checking how to link with libiconv... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $LIBICONV" >&5 echo "${ECHO_T}$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test "${with_libintl_prefix+set}" = set; then withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi fi LIBINTL= LTLIBINTL= INCINTL= LIBINTL_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIBINTL_PREFIX="$basedir" additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` LIBINTL_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5 echo $ECHO_N "checking for GNU gettext in libintl... $ECHO_C" >&6; } if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$gt_func_gnugettext_libintl=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$gt_func_gnugettext_libintl=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi ac_res=`eval echo '${'$gt_func_gnugettext_libintl'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then cat >>confdefs.h <<\_ACEOF #define ENABLE_NLS 1 _ACEOF else USE_NLS=no fi fi { echo "$as_me:$LINENO: checking whether to use NLS" >&5 echo $ECHO_N "checking whether to use NLS... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $USE_NLS" >&5 echo "${ECHO_T}$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then { echo "$as_me:$LINENO: checking where the gettext function comes from" >&5 echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi { echo "$as_me:$LINENO: result: $gt_source" >&5 echo "${ECHO_T}$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then { echo "$as_me:$LINENO: checking how to link with libintl" >&5 echo $ECHO_N "checking how to link with libintl... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $LIBINTL" >&5 echo "${ECHO_T}$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi cat >>confdefs.h <<\_ACEOF #define HAVE_GETTEXT 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define HAVE_DCGETTEXT 1 _ACEOF fi POSUB=po fi INTLLIBS="$LIBINTL" # Check whether --with-guile was given. if test "${with_guile+set}" = set; then withval=$with_guile; case "${withval}" in yes) useguile=yes ;; no) useguile=no ;; *) { { echo "$as_me:$LINENO: error: bad value ${withval} for --without-guile" >&5 echo "$as_me: error: bad value ${withval} for --without-guile" >&2;} { (exit 1); exit 1; }; } ;; esac else useguile=yes fi if test x"$useguile" = x"yes"; then if test "x$mu_cv_lib_guile" = x; then cached="" # Extract the first word of "guile-config", so it can be a program name with args. set dummy guile-config; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_GUILE_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GUILE_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_GUILE_CONFIG="$GUILE_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GUILE_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GUILE_CONFIG" && ac_cv_path_GUILE_CONFIG="no" ;; esac fi GUILE_CONFIG=$ac_cv_path_GUILE_CONFIG if test -n "$GUILE_CONFIG"; then { echo "$as_me:$LINENO: result: $GUILE_CONFIG" >&5 echo "${ECHO_T}$GUILE_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test $GUILE_CONFIG = no; then mu_cv_lib_guile=no else GUILE_INCLUDES=`guile-config compile` GUILE_LIBS=`guile-config link` fi if test $GUILE_CONFIG != no; then { echo "$as_me:$LINENO: checking for guile version 1.8 or higher" >&5 echo $ECHO_N "checking for guile version 1.8 or higher... $ECHO_C" >&6; } GUILE_VERSION=`($GUILE_CONFIG --version 2>&1; echo '')|sed -n 's/guile-config - Guile version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1\2/p'` case "x$GUILE_VERSION" in x[0-9]*) if test $GUILE_VERSION -lt 18; then { echo "$as_me:$LINENO: result: Nope. Version number too low." >&5 echo "${ECHO_T}Nope. Version number too low." >&6; } mu_cv_lib_guile=no else cat >>confdefs.h <<_ACEOF #define GUILE_VERSION $GUILE_VERSION _ACEOF { echo "$as_me:$LINENO: result: OK" >&5 echo "${ECHO_T}OK" >&6; } save_LIBS=$LIBS save_CFLAGS=$CFLAGS LIBS="$LIBS $GUILE_LIBS" CFLAGS="$CFLAGS $GUILE_INCLUDES" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { scm_shell(0, NULL); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then mu_cv_lib_guile=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 mu_cv_lib_guile=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$save_LIBS CFLAGS=$save_CFLAGS fi ;; *) { echo "$as_me:$LINENO: result: Nope. Unknown version number" >&5 echo "${ECHO_T}Nope. Unknown version number" >&6; } mu_cv_lib_guile=no;; esac fi else cached=" (cached) " GUILE_INCLUDES=`guile-config compile` GUILE_LIBS=`guile-config link` fi { echo "$as_me:$LINENO: checking whether to build guile support" >&5 echo $ECHO_N "checking whether to build guile support... $ECHO_C" >&6; } if test "$mu_cv_lib_guile" != "" -a "$mu_cv_lib_guile" != no; then cat >>confdefs.h <<\_ACEOF #define WITH_GUILE 1 _ACEOF GUILE_INCLUDES=`guile-config compile` GUILE_LIBS=`guile-config link` GUILE_BINDIR=`guile-config info bindir` GUILE_SCRIPTS='$(GUILE_SCM)' M4_DEFS="$M4_DEFS -DWITH_GUILE" case "$GUILE_VERSION" in 16|17) GUILE_SNARF_VERSION="1.6";; *) GUILE_SNARF_VERSION="1.6";; esac else useguile=no fi { echo "$as_me:$LINENO: result: ${cached}$mu_cv_lib_guile" >&5 echo "${ECHO_T}${cached}$mu_cv_lib_guile" >&6; } if test $mu_cv_lib_guile = yes; then if test $GUILE_VERSION -gt 16; then LIBS="$LIBS $GUILE_LIBS" CFLAGS="$CFLAGS $GUILE_INCLUDES" for ac_func in scm_long2num scm_cell scm_list_1 scm_list_n scm_c_define\ scm_c_lookup do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_func_scm_cell = no; then { echo "$as_me:$LINENO: checking for inline scm_cell" >&5 echo $ECHO_N "checking for inline scm_cell... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { scm_cell(SCM_EOL, SCM_EOL) ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_scm_cell=yes cat >>confdefs.h <<\_ACEOF #define HAVE_SCM_CELL 1 _ACEOF else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_cv_func_scm_cell" >&5 echo "${ECHO_T}$ac_cv_func_scm_cell" >&6; } fi CFLAGS=$save_CFLAGS LIBS=$save_LIBS fi fi fi if test x"$useguile" = x"no"; then { echo "$as_me:$LINENO: result: Disabling GUILE support..." >&5 echo "${ECHO_T}Disabling GUILE support..." >&6; } fi # Check whether --with-gpgme was given. if test "${with_gpgme+set}" = set; then withval=$with_gpgme; with_gpgme=${withval} else with_gpgme=yes fi if test "$with_gpgme" = "no"; then cat >>confdefs.h <<\_ACEOF #define NOGPG 1 _ACEOF else # Check whether --with-gpgme-prefix was given. if test "${with_gpgme_prefix+set}" = set; then withval=$with_gpgme_prefix; gpgme_config_prefix="$withval" else gpgme_config_prefix="" fi if test x$gpgme_config_prefix != x ; then gpgme_config_args="$gpgme_config_args --prefix=$gpgme_config_prefix" if test x${GPGME_CONFIG+set} != xset ; then GPGME_CONFIG=$gpgme_config_prefix/bin/gpgme-config fi fi # Extract the first word of "gpgme-config", so it can be a program name with args. set dummy gpgme-config; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_GPGME_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GPGME_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_GPGME_CONFIG="$GPGME_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GPGME_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GPGME_CONFIG" && ac_cv_path_GPGME_CONFIG="no" ;; esac fi GPGME_CONFIG=$ac_cv_path_GPGME_CONFIG if test -n "$GPGME_CONFIG"; then { echo "$as_me:$LINENO: result: $GPGME_CONFIG" >&5 echo "${ECHO_T}$GPGME_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi min_gpgme_version=1.0.0 { echo "$as_me:$LINENO: checking for GPGME - version >= $min_gpgme_version" >&5 echo $ECHO_N "checking for GPGME - version >= $min_gpgme_version... $ECHO_C" >&6; } ok=no if test "$GPGME_CONFIG" != "no" ; then req_major=`echo $min_gpgme_version | \ sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\1/'` req_minor=`echo $min_gpgme_version | \ sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\2/'` req_micro=`echo $min_gpgme_version | \ sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\3/'` gpgme_config_version=`$GPGME_CONFIG $gpgme_config_args --version` major=`echo $gpgme_config_version | \ sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1/'` minor=`echo $gpgme_config_version | \ sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\2/'` micro=`echo $gpgme_config_version | \ sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\3/'` if test "$major" -gt "$req_major"; then ok=yes else if test "$major" -eq "$req_major"; then if test "$minor" -gt "$req_minor"; then ok=yes else if test "$minor" -eq "$req_minor"; then if test "$micro" -ge "$req_micro"; then ok=yes fi fi fi fi fi fi if test $ok = yes; then GPGME_CFLAGS=`$GPGME_CONFIG $gpgme_config_args --cflags` GPGME_LIBS=`$GPGME_CONFIG $gpgme_config_args --libs` { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } with_gpgme=yes else GPGME_CFLAGS="" GPGME_LIBS="" { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } with_gpgme=no fi { echo "$as_me:$LINENO: checking for main in -lgpgme" >&5 echo $ECHO_N "checking for main in -lgpgme... $ECHO_C" >&6; } if test "${ac_cv_lib_gpgme_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lgpgme $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_gpgme_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_gpgme_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_gpgme_main" >&5 echo "${ECHO_T}$ac_cv_lib_gpgme_main" >&6; } if test $ac_cv_lib_gpgme_main = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBGPGME 1 _ACEOF LIBS="-lgpgme $LIBS" else with_gpgme=no fi fi if test "$with_gpgme" = "no"; then { echo "$as_me:$LINENO: result: Disabling GPGME support..." >&5 echo "${ECHO_T}Disabling GPGME support..." >&6; } else # Extract the first word of "gpg", so it can be a program name with args. set dummy gpg; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_GPG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GPG in [\\/]* | ?:[\\/]*) ac_cv_path_GPG="$GPG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GPG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GPG=$ac_cv_path_GPG if test -n "$GPG"; then { echo "$as_me:$LINENO: result: $GPG" >&5 echo "${ECHO_T}$GPG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi findgpgmedir() { : if test -f "$1/include/gpgme.h"; then gpgmedir=1 INCLUDES="$INCLUDES -I$1/include" { echo "$as_me:$LINENO: checking for $1/include/gpgme.h" >&5 echo $ECHO_N "checking for $1/include/gpgme.h... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } return 0 fi return 1 } for maindir in /usr/pkg /opt /sw; do findgpgmedir $maindir && break 2 done if test $gpgmedir; then cat >>confdefs.h <<\_ACEOF #define HAVE_GPGME_H 1 _ACEOF else for ac_header in gpgme.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------- ## ## Report this to bug-anubis@gnu.org ## ## --------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done fi ANUBIS_GPGFILES='$(GPGFILES)' M4_DEFS="$M4_DEFS -DWITH_GPG" fi { echo "$as_me:$LINENO: checking for res_query in -lresolv" >&5 echo $ECHO_N "checking for res_query in -lresolv... $ECHO_C" >&6; } if test "${ac_cv_lib_resolv_res_query+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lresolv $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char res_query (); int main () { return res_query (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_resolv_res_query=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_resolv_res_query=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_resolv_res_query" >&5 echo "${ECHO_T}$ac_cv_lib_resolv_res_query" >&6; } if test $ac_cv_lib_resolv_res_query = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBRESOLV 1 _ACEOF LIBS="-lresolv $LIBS" fi # Needed for GpgME # Check whether --enable-largefile was given. if test "${enable_largefile+set}" = set; then enableval=$enable_largefile; fi if test "$enable_largefile" != no; then { echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6; } if test "${ac_cv_sys_largefile_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do # IRIX 6.2 and later do not support large files by default, # so use the C compiler's -n32 option if that helps. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext CC="$CC -n32" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_largefile_CC=' -n32'; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi { echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6; } if test "${ac_cv_sys_file_offset_bits+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_file_offset_bits=no; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_file_offset_bits=64; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_file_offset_bits=unknown break done fi { echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6; } case $ac_cv_sys_file_offset_bits in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits _ACEOF ;; esac rm -f conftest* if test $ac_cv_sys_file_offset_bits = unknown; then { echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6; } if test "${ac_cv_sys_large_files+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_large_files=no; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _LARGE_FILES 1 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_large_files=1; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_large_files=unknown break done fi { echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 echo "${ECHO_T}$ac_cv_sys_large_files" >&6; } case $ac_cv_sys_large_files in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _LARGE_FILES $ac_cv_sys_large_files _ACEOF ;; esac rm -f conftest* fi fi # Check whether --enable-gcc-debug was given. if test "${enable_gcc_debug+set}" = set; then enableval=$enable_gcc_debug; enable_gcc_debug=yes else enable_gcc_debug=no fi if test "$enable_gcc_debug" = "yes" && (test "$GCC" = "yes"); then CFLAGS="$CFLAGS -ggdb" { echo "$as_me:$LINENO: result: Enabling GCC DEBUG support..." >&5 echo "${ECHO_T}Enabling GCC DEBUG support..." >&6; } fi WITH_SQL=no WITH_MYSQL=no WITH_POSTGRES=no WITH_GDBM=no { echo "$as_me:$LINENO: checking whether to use GNU SASL library" >&5 echo $ECHO_N "checking whether to use GNU SASL library... $ECHO_C" >&6; } if test "${mu_cv_lib_gsasl+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$mu_cv_lib_gsasl" = x; then cached="" mu_cv_lib_gsasl=no # Check whether --with-gsasl was given. if test "${with_gsasl+set}" = set; then withval=$with_gsasl; case $withval in yes|no) wantgsasl=$withval;; *) { { echo "$as_me:$LINENO: error: bad value for --with-gsasl: $withval" >&5 echo "$as_me: error: bad value for --with-gsasl: $withval" >&2;} { (exit 1); exit 1; }; };; esac else wantgsasl=yes fi if test $wantgsasl = yes; then if test "${ac_cv_header_gsasl_h+set}" = set; then { echo "$as_me:$LINENO: checking for gsasl.h" >&5 echo $ECHO_N "checking for gsasl.h... $ECHO_C" >&6; } if test "${ac_cv_header_gsasl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_gsasl_h" >&5 echo "${ECHO_T}$ac_cv_header_gsasl_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking gsasl.h usability" >&5 echo $ECHO_N "checking gsasl.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking gsasl.h presence" >&5 echo $ECHO_N "checking gsasl.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: gsasl.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: gsasl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: gsasl.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: gsasl.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: gsasl.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: gsasl.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: gsasl.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: gsasl.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: gsasl.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: gsasl.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: gsasl.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: gsasl.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: gsasl.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: gsasl.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: gsasl.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: gsasl.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------- ## ## Report this to bug-anubis@gnu.org ## ## --------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for gsasl.h" >&5 echo $ECHO_N "checking for gsasl.h... $ECHO_C" >&6; } if test "${ac_cv_header_gsasl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_gsasl_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_gsasl_h" >&5 echo "${ECHO_T}$ac_cv_header_gsasl_h" >&6; } fi if test $ac_cv_header_gsasl_h = yes; then : else wantgsasl=no fi if test $wantgsasl != no; then save_LIBS=$LIBS { echo "$as_me:$LINENO: checking for gsasl_init in -lgsasl" >&5 echo $ECHO_N "checking for gsasl_init in -lgsasl... $ECHO_C" >&6; } if test "${ac_cv_lib_gsasl_gsasl_init+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lgsasl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gsasl_init (); int main () { return gsasl_init (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_gsasl_gsasl_init=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_gsasl_gsasl_init=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_gsasl_gsasl_init" >&5 echo "${ECHO_T}$ac_cv_lib_gsasl_gsasl_init" >&6; } if test $ac_cv_lib_gsasl_gsasl_init = yes; then mu_cv_lib_gsasl=-lgsasl else mu_cv_lib_gsasl=no fi if test $mu_cv_lib_gsasl != no; then LIBS="$LIBS $mu_cv_lib_gsasl" if test "$cross_compiling" = yes; then mu_cv_lib_gsasl=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main() { return gsasl_check_version ("0.2.3") == (char*) 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) mu_cv_lib_gsasl=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi LIBS=$save_LIBS fi fi fi fi { echo "$as_me:$LINENO: result: $mu_cv_lib_gsasl" >&5 echo "${ECHO_T}$mu_cv_lib_gsasl" >&6; } if test $mu_cv_lib_gsasl != no; then GSASL_LIBS=$mu_cv_lib_gsasl WITH_GSASL=yes cat >>confdefs.h <<\_ACEOF #define WITH_GSASL 1 _ACEOF { echo "$as_me:$LINENO: result: Enabling GSASL support..." >&5 echo "${ECHO_T}Enabling GSASL support..." >&6; } ANUBIS_SBIN_ADM='$(adm_sbin_programs)' ANUBIS_BIN_ADM='$(adm_bin_programs)' M4_DEFS="$M4_DEFS -DWITH_GSASL" { echo "$as_me:$LINENO: checking for gdbm_open in -lgdbm" >&5 echo $ECHO_N "checking for gdbm_open in -lgdbm... $ECHO_C" >&6; } if test "${ac_cv_lib_gdbm_gdbm_open+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lgdbm $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gdbm_open (); int main () { return gdbm_open (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_gdbm_gdbm_open=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_gdbm_gdbm_open=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_gdbm_gdbm_open" >&5 echo "${ECHO_T}$ac_cv_lib_gdbm_gdbm_open" >&6; } if test $ac_cv_lib_gdbm_gdbm_open = yes; then WITH_GDBM=yes LIBS="$LIBS -lgdbm" cat >>confdefs.h <<\_ACEOF #define HAVE_LIBGDBM 1 _ACEOF else { echo "$as_me:$LINENO: result: Disabling GDBM support..." >&5 echo "${ECHO_T}Disabling GDBM support..." >&6; } fi # Check whether --with-mysql was given. if test "${with_mysql+set}" = set; then withval=$with_mysql; case $withval in yes) USE_SQL=0 save_LIBS=$LIBS { echo "$as_me:$LINENO: checking for -lmysqlclient" >&5 echo $ECHO_N "checking for -lmysqlclient... $ECHO_C" >&6; } if test "${anubis_cv_lib_mysqlclient+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else for path in /usr/local/lib/mysql /usr/lib/mysql do LIBS="$save_LIBS -lm -L$path -lmysqlclient" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char mysql_real_connect (); int main () { return mysql_real_connect (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then anubis_cv_lib_mysqlclient="-lm -L$path -lmysqlclient" break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 anubis_cv_lib_mysqlclient=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext done fi { echo "$as_me:$LINENO: result: $anubis_cv_lib_mysqlclient" >&5 echo "${ECHO_T}$anubis_cv_lib_mysqlclient" >&6; } if test "$anubis_cv_lib_mysqlclient" != "" -a "$anubis_cv_lib_mysqlclient" != no; then USE_SQL=1 cat >>confdefs.h <<\_ACEOF #define WITH_MYSQL 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define HAVE_LIBMYSQL 1 _ACEOF else { { echo "$as_me:$LINENO: error: The requested library libmysqlclient is not found or is unusable See \`config.log' for more details." >&5 echo "$as_me: error: The requested library libmysqlclient is not found or is unusable See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi LIBS=$save_LIBS if test "$USE_SQL" = "1" ;then WITH_SQL=yes LIBS="$LIBS $anubis_cv_lib_mysqlclient" { echo "$as_me:$LINENO: result: Enabling MySQL support..." >&5 echo "${ECHO_T}Enabling MySQL support..." >&6; } WITH_MYSQL=yes else { { echo "$as_me:$LINENO: error: Required MySQL libraries not found See \`config.log' for more details." >&5 echo "$as_me: error: Required MySQL libraries not found See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ;; no) ;; *) { { echo "$as_me:$LINENO: error: Unexpected option argument $withval. Please use either --with-mysql or --without-mysql See \`config.log' for more details." >&5 echo "$as_me: error: Unexpected option argument $withval. Please use either --with-mysql or --without-mysql See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; };; esac fi # Check whether --with-postgres was given. if test "${with_postgres+set}" = set; then withval=$with_postgres; case $withval in yes) USE_SQL=0 save_LIBS=$LIBS { echo "$as_me:$LINENO: checking for -lpq" >&5 echo $ECHO_N "checking for -lpq... $ECHO_C" >&6; } if test "${anubis_cv_lib_pq+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else for path in /usr/local/pgsql/lib /usr/pgsql/lib do LIBS="$save_LIBS -L$path -lpq" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char PQconnectStart (); int main () { return PQconnectStart (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then anubis_cv_lib_pq=" -L$path -lpq" break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 anubis_cv_lib_pq=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext done fi { echo "$as_me:$LINENO: result: $anubis_cv_lib_pq" >&5 echo "${ECHO_T}$anubis_cv_lib_pq" >&6; } if test "$anubis_cv_lib_pq" != "" -a "$anubis_cv_lib_pq" != no; then USE_SQL=1 cat >>confdefs.h <<\_ACEOF #define WITH_PGSQL 1 _ACEOF else { { echo "$as_me:$LINENO: error: The requested library libpq is not found or is unusable See \`config.log' for more details." >&5 echo "$as_me: error: The requested library libpq is not found or is unusable See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi LIBS=$save_LIBS if test "$USE_SQL" = "1" ;then WITH_SQL=yes LIBS="$LIBS $anubis_cv_lib_pq" { echo "$as_me:$LINENO: result: Enabling PostgreSQL support..." >&5 echo "${ECHO_T}Enabling PostgreSQL support..." >&6; } WITH_POSTGRES=yes else { { echo "$as_me:$LINENO: error: Required PostgreSQL libraries not found See \`config.log' for more details." >&5 echo "$as_me: error: Required PostgreSQL libraries not found See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ;; no) ;; *) { { echo "$as_me:$LINENO: error: Unexpected option argument $withval. Please use either --with-postgres or --without-postgres See \`config.log' for more details." >&5 echo "$as_me: error: Unexpected option argument $withval. Please use either --with-postgres or --without-postgres See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; };; esac fi if test "$WITH_SQL" = "yes"; then cat >>confdefs.h <<\_ACEOF #define WITH_SQL 1 _ACEOF fi case " $LIBOBJS " in *" lbuf.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS lbuf.$ac_objext" ;; esac fi # Check whether --with-gnutls was given. if test "${with_gnutls+set}" = set; then withval=$with_gnutls; with_gnutls=${withval} else with_gnutls=yes fi if test $with_gnutls = yes; then for ac_header in gnutls/gnutls.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------- ## ## Report this to bug-anubis@gnu.org ## ## --------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_gnutls_gnutls_h != no; then # Check whether --with-libgnutls-prefix was given. if test "${with_libgnutls_prefix+set}" = set; then withval=$with_libgnutls_prefix; libgnutls_config_prefix="$withval" else libgnutls_config_prefix="" fi if test x$libgnutls_config_prefix != x ; then libgnutls_config_args="$libgnutls_config_args --prefix=$libgnutls_config_prefix" if test x${LIBGNUTLS_CONFIG+set} != xset ; then LIBGNUTLS_CONFIG=$libgnutls_config_prefix/bin/libgnutls-config fi fi # Extract the first word of "libgnutls-config", so it can be a program name with args. set dummy libgnutls-config; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_LIBGNUTLS_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $LIBGNUTLS_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_LIBGNUTLS_CONFIG="$LIBGNUTLS_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_LIBGNUTLS_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_LIBGNUTLS_CONFIG" && ac_cv_path_LIBGNUTLS_CONFIG="no" ;; esac fi LIBGNUTLS_CONFIG=$ac_cv_path_LIBGNUTLS_CONFIG if test -n "$LIBGNUTLS_CONFIG"; then { echo "$as_me:$LINENO: result: $LIBGNUTLS_CONFIG" >&5 echo "${ECHO_T}$LIBGNUTLS_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi min_libgnutls_version="1.0.0" { echo "$as_me:$LINENO: checking for libgnutls - version >= $min_libgnutls_version" >&5 echo $ECHO_N "checking for libgnutls - version >= $min_libgnutls_version... $ECHO_C" >&6; } no_libgnutls="" if test "$LIBGNUTLS_CONFIG" = "no" ; then no_libgnutls=yes else LIBGNUTLS_CFLAGS=`$LIBGNUTLS_CONFIG $libgnutls_config_args --cflags` LIBGNUTLS_LIBS=`$LIBGNUTLS_CONFIG $libgnutls_config_args --libs` libgnutls_config_version=`$LIBGNUTLS_CONFIG $libgnutls_config_args --version` ac_save_CFLAGS="$CFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS" LIBS="$LIBS $LIBGNUTLS_LIBS" rm -f conf.libgnutlstest if test "$cross_compiling" = yes; then echo $ac_n "cross compiling; assumed OK... $ac_c" else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { system ("touch conf.libgnutlstest"); if( strcmp( gnutls_check_version(NULL), "$libgnutls_config_version" ) ) { printf("\n*** 'libgnutls-config --version' returned %s, but LIBGNUTLS (%s)\n", "$libgnutls_config_version", gnutls_check_version(NULL) ); printf("*** was found! If libgnutls-config was correct, then it is best\n"); printf("*** to remove the old version of LIBGNUTLS. You may also be able to fix the error\n"); printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); printf("*** required on your system.\n"); printf("*** If libgnutls-config was wrong, set the environment variable LIBGNUTLS_CONFIG\n"); printf("*** to point to the correct copy of libgnutls-config, and remove the file config.cache\n"); printf("*** before re-running configure\n"); } else if ( strcmp(gnutls_check_version(NULL), LIBGNUTLS_VERSION ) ) { printf("\n*** LIBGNUTLS header file (version %s) does not match\n", LIBGNUTLS_VERSION); printf("*** library (version %s)\n", gnutls_check_version(NULL) ); } else { if ( gnutls_check_version( "$min_libgnutls_version" ) ) { return 0; } else { printf("no\n*** An old version of LIBGNUTLS (%s) was found.\n", gnutls_check_version(NULL) ); printf("*** You need a version of LIBGNUTLS newer than %s. The latest version of\n", "$min_libgnutls_version" ); printf("*** LIBGNUTLS is always available from ftp://gnutls.hellug.gr/pub/gnutls.\n"); printf("*** \n"); printf("*** If you have already installed a sufficiently new version, this error\n"); printf("*** probably means that the wrong copy of the libgnutls-config shell script is\n"); printf("*** being found. The easiest way to fix this is to remove the old version\n"); printf("*** of LIBGNUTLS, but you can also set the LIBGNUTLS_CONFIG environment to point to the\n"); printf("*** correct copy of libgnutls-config. (In this case, you will have to\n"); printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); printf("*** so that the correct libraries are found at run-time))\n"); } } return 1; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) no_libgnutls=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi if test "x$no_libgnutls" = x ; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } M4_DEFS="$M4_DEFS -DWITH_SSL -DWITH_GNUTLS" cat >>confdefs.h <<\_ACEOF #define USE_GNUTLS 1 _ACEOF else if test -f conf.libgnutlstest ; then : else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "$LIBGNUTLS_CONFIG" = "no" ; then echo "*** The libgnutls-config script installed by LIBGNUTLS could not be found" echo "*** If LIBGNUTLS was installed in PREFIX, make sure PREFIX/bin is in" echo "*** your path, or set the LIBGNUTLS_CONFIG environment variable to the" echo "*** full path to libgnutls-config." else if test -f conf.libgnutlstest ; then : else echo "*** Could not run libgnutls test program, checking why..." CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS" LIBS="$LIBS $LIBGNUTLS_LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { return !!gnutls_check_version(NULL); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then echo "*** The test program compiled, but did not run. This usually means" echo "*** that the run-time linker is not finding LIBGNUTLS or finding the wrong" echo "*** version of LIBGNUTLS. If it is not finding LIBGNUTLS, you'll need to set your" echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" echo "*** to the installed location Also, make sure you have run ldconfig if that" echo "*** is required on your system" echo "***" echo "*** If you have an old version installed, it is best to remove it, although" echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" echo "***" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means LIBGNUTLS was incorrectly installed" echo "*** or that you have moved LIBGNUTLS since it was installed. In the latter case, you" echo "*** may want to edit the libgnutls-config script: $LIBGNUTLS_CONFIG" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi fi LIBGNUTLS_CFLAGS="" LIBGNUTLS_LIBS="" with_gnutls = no { echo "$as_me:$LINENO: result: Disabling GnuTLS support..." >&5 echo "${ECHO_T}Disabling GnuTLS support..." >&6; } fi rm -f conf.libgnutlstest if test $with_gnutls = yes; then # Accomodate for incompatibilities of gnults 1.0.16 (and, # eventually, newer versions) { echo "$as_me:$LINENO: checking for gnutls_x509_fingerprint" >&5 echo $ECHO_N "checking for gnutls_x509_fingerprint... $ECHO_C" >&6; } if test "${ac_cv_func_gnutls_x509_fingerprint+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define gnutls_x509_fingerprint to an innocuous variant, in case declares gnutls_x509_fingerprint. For example, HP-UX 11i declares gettimeofday. */ #define gnutls_x509_fingerprint innocuous_gnutls_x509_fingerprint /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gnutls_x509_fingerprint (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef gnutls_x509_fingerprint /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gnutls_x509_fingerprint (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_gnutls_x509_fingerprint || defined __stub___gnutls_x509_fingerprint choke me #endif int main () { return gnutls_x509_fingerprint (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_gnutls_x509_fingerprint=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_gnutls_x509_fingerprint=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_gnutls_x509_fingerprint" >&5 echo "${ECHO_T}$ac_cv_func_gnutls_x509_fingerprint" >&6; } if test $ac_cv_func_gnutls_x509_fingerprint = yes; then : fi fi fi fi # Check whether --with-socks-proxy was given. if test "${with_socks_proxy+set}" = set; then withval=$with_socks_proxy; with_socks_proxy=${withval} else with_socks_proxy=no fi if test "$with_socks_proxy" = "yes"; then cat >>confdefs.h <<\_ACEOF #define USE_SOCKS_PROXY 1 _ACEOF { echo "$as_me:$LINENO: result: Enabling SOCKS v4/5 proxy support..." >&5 echo "${ECHO_T}Enabling SOCKS v4/5 proxy support..." >&6; } fi # Check whether --with-pcre was given. if test "${with_pcre+set}" = set; then withval=$with_pcre; with_pcre=${withval} else with_pcre=no fi if test "$with_pcre" = "yes"; then { echo "$as_me:$LINENO: checking for main in -lpcre" >&5 echo $ECHO_N "checking for main in -lpcre... $ECHO_C" >&6; } if test "${ac_cv_lib_pcre_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpcre $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_pcre_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_pcre_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_pcre_main" >&5 echo "${ECHO_T}$ac_cv_lib_pcre_main" >&6; } if test $ac_cv_lib_pcre_main = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBPCRE 1 _ACEOF LIBS="-lpcre $LIBS" else with_pcre=no fi for ac_header in pcre.h pcre/pcre.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------- ## ## Report this to bug-anubis@gnu.org ## ## --------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done fi if test "$with_pcre" = "yes"; then { echo "$as_me:$LINENO: result: Enabling PCRE support..." >&5 echo "${ECHO_T}Enabling PCRE support..." >&6; } fi # Check whether --with-pam was given. if test "${with_pam+set}" = set; then withval=$with_pam; with_pam=${withval} else with_pam=no fi if test "$with_pam" = "yes"; then { echo "$as_me:$LINENO: checking for main in -lpam" >&5 echo $ECHO_N "checking for main in -lpam... $ECHO_C" >&6; } if test "${ac_cv_lib_pam_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpam $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_pam_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_pam_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_pam_main" >&5 echo "${ECHO_T}$ac_cv_lib_pam_main" >&6; } if test $ac_cv_lib_pam_main = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBPAM 1 _ACEOF LIBS="-lpam $LIBS" else with_pam=no fi { echo "$as_me:$LINENO: checking for main in -lpam_misc" >&5 echo $ECHO_N "checking for main in -lpam_misc... $ECHO_C" >&6; } if test "${ac_cv_lib_pam_misc_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpam_misc $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_pam_misc_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_pam_misc_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_pam_misc_main" >&5 echo "${ECHO_T}$ac_cv_lib_pam_misc_main" >&6; } if test $ac_cv_lib_pam_misc_main = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBPAM_MISC 1 _ACEOF LIBS="-lpam_misc $LIBS" else with_pam=no fi for ac_header in security/pam_appl.h security/pam_misc.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------- ## ## Report this to bug-anubis@gnu.org ## ## --------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF else with_pam=no fi done fi if test "$with_pam" = "yes"; then { echo "$as_me:$LINENO: result: Enabling PAM support..." >&5 echo "${ECHO_T}Enabling PAM support..." >&6; } fi # Check whether --with-tcp-wrappers was given. if test "${with_tcp_wrappers+set}" = set; then withval=$with_tcp_wrappers; with_tcp_wrappers=${withval} else with_tcp_wrappers=no fi if test "$with_tcp_wrappers" = "yes"; then { echo "$as_me:$LINENO: checking for main in -lwrap" >&5 echo $ECHO_N "checking for main in -lwrap... $ECHO_C" >&6; } if test "${ac_cv_lib_wrap_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lwrap $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_wrap_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_wrap_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_wrap_main" >&5 echo "${ECHO_T}$ac_cv_lib_wrap_main" >&6; } if test $ac_cv_lib_wrap_main = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBWRAP 1 _ACEOF LIBS="-lwrap $LIBS" else with_tcp_wrappers=no fi { echo "$as_me:$LINENO: checking for main in -lnsl" >&5 echo $ECHO_N "checking for main in -lnsl... $ECHO_C" >&6; } if test "${ac_cv_lib_nsl_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_nsl_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_nsl_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_main" >&5 echo "${ECHO_T}$ac_cv_lib_nsl_main" >&6; } if test $ac_cv_lib_nsl_main = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBNSL 1 _ACEOF LIBS="-lnsl $LIBS" else with_tcp_wrappers=no fi for ac_header in tcpd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------- ## ## Report this to bug-anubis@gnu.org ## ## --------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF else with_tcp_wrappers=no fi done fi if test "$with_tcp_wrappers" = "yes"; then { echo "$as_me:$LINENO: result: Enabling libwrap (TCP wrappers) support..." >&5 echo "${ECHO_T}Enabling libwrap (TCP wrappers) support..." >&6; } fi # Check whether --with-unprivileged-user was given. if test "${with_unprivileged_user+set}" = set; then withval=$with_unprivileged_user; fi if test -z "$with_unprivileged_user"; then with_unprivileged_user="nobody" fi cat >>confdefs.h <<_ACEOF #define DEFAULT_UNPRIVILEGED_USER "$with_unprivileged_user" _ACEOF # If set to t, that means we are running in a shell under Emacs. # If you have an Emacs named "t", then use the full path. test x"$EMACS" = xt && EMACS= for ac_prog in emacs xemacs do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_EMACS+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$EMACS"; then ac_cv_prog_EMACS="$EMACS" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_EMACS="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi EMACS=$ac_cv_prog_EMACS if test -n "$EMACS"; then { echo "$as_me:$LINENO: result: $EMACS" >&5 echo "${ECHO_T}$EMACS" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$EMACS" && break done test -n "$EMACS" || EMACS="no" # Check whether --with-lispdir was given. if test "${with_lispdir+set}" = set; then withval=$with_lispdir; lispdir="$withval" { echo "$as_me:$LINENO: checking where .elc files should go" >&5 echo $ECHO_N "checking where .elc files should go... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $lispdir" >&5 echo "${ECHO_T}$lispdir" >&6; } else { echo "$as_me:$LINENO: checking where .elc files should go" >&5 echo $ECHO_N "checking where .elc files should go... $ECHO_C" >&6; } if test "${am_cv_lispdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $EMACS != "no"; then if test x${lispdir+set} != xset; then # If $EMACS isn't GNU Emacs or XEmacs, this can blow up pretty badly # Some emacsen will start up in interactive mode, requiring C-x C-c to exit, # which is non-obvious for non-emacs users. # Redirecting /dev/null should help a bit; pity we can't detect "broken" # emacsen earlier and avoid running this altogether. { (echo "$as_me:$LINENO: \$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) \"\\n\")) (setq load-path (cdr load-path)))' conftest.out") >&5 ($EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' conftest.out) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } am_cv_lispdir=`sed -n \ -e 's,/$,,' \ -e '/.*\/lib\/x*emacs\/site-lisp$/{s,.*/lib/\(x*emacs/site-lisp\)$,${libdir}/\1,;p;q;}' \ -e '/.*\/share\/x*emacs\/site-lisp$/{s,.*/share/\(x*emacs/site-lisp\),${datarootdir}/\1,;p;q;}' \ conftest.out` rm conftest.out fi fi test -z "$am_cv_lispdir" && am_cv_lispdir='${datadir}/emacs/site-lisp' fi { echo "$as_me:$LINENO: result: $am_cv_lispdir" >&5 echo "${ECHO_T}$am_cv_lispdir" >&6; } lispdir="$am_cv_lispdir" fi if test "$EMACS" != "no"; then lisp_LISP='$(LISPSRC)' fi ac_config_commands="$ac_config_commands status" ac_config_files="$ac_config_files Makefile build/Makefile build/guile-1.6/Makefile contrib/Makefile doc/Makefile elisp/Makefile examples/Makefile examples/pam/Makefile guile/Makefile lib/Makefile po/Makefile.in scripts/Makefile src/Makefile testsuite/Makefile testsuite/data/Makefile testsuite/etc/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"GL_COND_LIBTOOL\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"GL_COND_LIBTOOL\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi gl_libobjs= gl_ltlibobjs= if test -n "$gl_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do gl_libobjs="$gl_libobjs $i.$ac_objext" gl_ltlibobjs="$gl_ltlibobjs $i.lo" done fi gl_LIBOBJS=$gl_libobjs gl_LTLIBOBJS=$gl_ltlibobjs gltests_libobjs= gltests_ltlibobjs= if test -n "$gltests_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do gltests_libobjs="$gltests_libobjs $i.$ac_objext" gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" done fi gltests_LIBOBJS=$gltests_libobjs gltests_LTLIBOBJS=$gltests_ltlibobjs : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by GNU Anubis $as_me 4.1.1, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ GNU Anubis config.status 4.1.1 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" useguile=$useguile with_gpgme=$with_gpgme mu_cv_lib_gsasl=$mu_cv_lib_gsasl WITH_GDBM=$WITH_GDBM WITH_SQL=$WITH_SQL WITH_MYSQL=$WITH_MYSQL WITH_POSTGRES=$WITH_POSTGRES WITH_GSASL=$WITH_GSASL with_gnutls=$with_gnutls with_socks_proxy=$with_socks_proxy with_pcre=$with_pcre with_pam=$with_pam with_tcp_wrappers=$with_tcp_wrappers with_unprivileged_user=$with_unprivileged_user _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; "status") CONFIG_COMMANDS="$CONFIG_COMMANDS status" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "build/Makefile") CONFIG_FILES="$CONFIG_FILES build/Makefile" ;; "build/guile-1.6/Makefile") CONFIG_FILES="$CONFIG_FILES build/guile-1.6/Makefile" ;; "contrib/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "elisp/Makefile") CONFIG_FILES="$CONFIG_FILES elisp/Makefile" ;; "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; "examples/pam/Makefile") CONFIG_FILES="$CONFIG_FILES examples/pam/Makefile" ;; "guile/Makefile") CONFIG_FILES="$CONFIG_FILES guile/Makefile" ;; "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;; "testsuite/data/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/data/Makefile" ;; "testsuite/etc/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/etc/Makefile" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF ANUBIS_LIBOBJS!$ANUBIS_LIBOBJS$ac_delim SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim am__isrc!$am__isrc$ac_delim CYGPATH_W!$CYGPATH_W$ac_delim PACKAGE!$PACKAGE$ac_delim VERSION!$VERSION$ac_delim ACLOCAL!$ACLOCAL$ac_delim AUTOCONF!$AUTOCONF$ac_delim AUTOMAKE!$AUTOMAKE$ac_delim AUTOHEADER!$AUTOHEADER$ac_delim MAKEINFO!$MAKEINFO$ac_delim install_sh!$install_sh$ac_delim STRIP!$STRIP$ac_delim INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim mkdir_p!$mkdir_p$ac_delim AWK!$AWK$ac_delim SET_MAKE!$SET_MAKE$ac_delim am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim DEPDIR!$DEPDIR$ac_delim am__include!$am__include$ac_delim am__quote!$am__quote$ac_delim AMDEP_TRUE!$AMDEP_TRUE$ac_delim AMDEP_FALSE!$AMDEP_FALSE$ac_delim AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim CCDEPMODE!$CCDEPMODE$ac_delim am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim RANLIB!$RANLIB$ac_delim CPP!$CPP$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim YACC!$YACC$ac_delim YFLAGS!$YFLAGS$ac_delim LEX!$LEX$ac_delim LEX_OUTPUT_ROOT!$LEX_OUTPUT_ROOT$ac_delim LEXLIB!$LEXLIB$ac_delim idecrypt_path!$idecrypt_path$ac_delim GL_COND_LIBTOOL_TRUE!$GL_COND_LIBTOOL_TRUE$ac_delim GL_COND_LIBTOOL_FALSE!$GL_COND_LIBTOOL_FALSE$ac_delim ALLOCA!$ALLOCA$ac_delim ALLOCA_H!$ALLOCA_H$ac_delim GNULIB_CHOWN!$GNULIB_CHOWN$ac_delim GNULIB_CLOSE!$GNULIB_CLOSE$ac_delim GNULIB_DUP2!$GNULIB_DUP2$ac_delim GNULIB_ENVIRON!$GNULIB_ENVIRON$ac_delim GNULIB_EUIDACCESS!$GNULIB_EUIDACCESS$ac_delim GNULIB_FCHDIR!$GNULIB_FCHDIR$ac_delim GNULIB_FSYNC!$GNULIB_FSYNC$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF GNULIB_FTRUNCATE!$GNULIB_FTRUNCATE$ac_delim GNULIB_GETCWD!$GNULIB_GETCWD$ac_delim GNULIB_GETDOMAINNAME!$GNULIB_GETDOMAINNAME$ac_delim GNULIB_GETDTABLESIZE!$GNULIB_GETDTABLESIZE$ac_delim GNULIB_GETHOSTNAME!$GNULIB_GETHOSTNAME$ac_delim GNULIB_GETLOGIN_R!$GNULIB_GETLOGIN_R$ac_delim GNULIB_GETPAGESIZE!$GNULIB_GETPAGESIZE$ac_delim GNULIB_GETUSERSHELL!$GNULIB_GETUSERSHELL$ac_delim GNULIB_LCHOWN!$GNULIB_LCHOWN$ac_delim GNULIB_LSEEK!$GNULIB_LSEEK$ac_delim GNULIB_READLINK!$GNULIB_READLINK$ac_delim GNULIB_SLEEP!$GNULIB_SLEEP$ac_delim GNULIB_UNISTD_H_SIGPIPE!$GNULIB_UNISTD_H_SIGPIPE$ac_delim GNULIB_WRITE!$GNULIB_WRITE$ac_delim HAVE_DUP2!$HAVE_DUP2$ac_delim HAVE_EUIDACCESS!$HAVE_EUIDACCESS$ac_delim HAVE_FSYNC!$HAVE_FSYNC$ac_delim HAVE_FTRUNCATE!$HAVE_FTRUNCATE$ac_delim HAVE_GETDOMAINNAME!$HAVE_GETDOMAINNAME$ac_delim HAVE_GETDTABLESIZE!$HAVE_GETDTABLESIZE$ac_delim HAVE_GETHOSTNAME!$HAVE_GETHOSTNAME$ac_delim HAVE_GETPAGESIZE!$HAVE_GETPAGESIZE$ac_delim HAVE_GETUSERSHELL!$HAVE_GETUSERSHELL$ac_delim HAVE_READLINK!$HAVE_READLINK$ac_delim HAVE_SLEEP!$HAVE_SLEEP$ac_delim HAVE_DECL_ENVIRON!$HAVE_DECL_ENVIRON$ac_delim HAVE_DECL_GETLOGIN_R!$HAVE_DECL_GETLOGIN_R$ac_delim HAVE_OS_H!$HAVE_OS_H$ac_delim HAVE_SYS_PARAM_H!$HAVE_SYS_PARAM_H$ac_delim REPLACE_CHOWN!$REPLACE_CHOWN$ac_delim REPLACE_CLOSE!$REPLACE_CLOSE$ac_delim REPLACE_FCHDIR!$REPLACE_FCHDIR$ac_delim REPLACE_GETCWD!$REPLACE_GETCWD$ac_delim REPLACE_GETPAGESIZE!$REPLACE_GETPAGESIZE$ac_delim REPLACE_LCHOWN!$REPLACE_LCHOWN$ac_delim REPLACE_LSEEK!$REPLACE_LSEEK$ac_delim REPLACE_WRITE!$REPLACE_WRITE$ac_delim UNISTD_H_HAVE_WINSOCK2_H!$UNISTD_H_HAVE_WINSOCK2_H$ac_delim INCLUDE_NEXT!$INCLUDE_NEXT$ac_delim INCLUDE_NEXT_AS_FIRST_DIRECTIVE!$INCLUDE_NEXT_AS_FIRST_DIRECTIVE$ac_delim PRAGMA_SYSTEM_HEADER!$PRAGMA_SYSTEM_HEADER$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim build_os!$build_os$ac_delim host!$host$ac_delim host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim NEXT_ERRNO_H!$NEXT_ERRNO_H$ac_delim ERRNO_H!$ERRNO_H$ac_delim EMULTIHOP_HIDDEN!$EMULTIHOP_HIDDEN$ac_delim EMULTIHOP_VALUE!$EMULTIHOP_VALUE$ac_delim ENOLINK_HIDDEN!$ENOLINK_HIDDEN$ac_delim ENOLINK_VALUE!$ENOLINK_VALUE$ac_delim EOVERFLOW_HIDDEN!$EOVERFLOW_HIDDEN$ac_delim EOVERFLOW_VALUE!$EOVERFLOW_VALUE$ac_delim GNULIB_FPRINTF!$GNULIB_FPRINTF$ac_delim GNULIB_FPRINTF_POSIX!$GNULIB_FPRINTF_POSIX$ac_delim GNULIB_PRINTF!$GNULIB_PRINTF$ac_delim GNULIB_PRINTF_POSIX!$GNULIB_PRINTF_POSIX$ac_delim GNULIB_SNPRINTF!$GNULIB_SNPRINTF$ac_delim GNULIB_SPRINTF_POSIX!$GNULIB_SPRINTF_POSIX$ac_delim GNULIB_VFPRINTF!$GNULIB_VFPRINTF$ac_delim GNULIB_VFPRINTF_POSIX!$GNULIB_VFPRINTF_POSIX$ac_delim GNULIB_VPRINTF!$GNULIB_VPRINTF$ac_delim GNULIB_VPRINTF_POSIX!$GNULIB_VPRINTF_POSIX$ac_delim GNULIB_VSNPRINTF!$GNULIB_VSNPRINTF$ac_delim GNULIB_VSPRINTF_POSIX!$GNULIB_VSPRINTF_POSIX$ac_delim GNULIB_VASPRINTF!$GNULIB_VASPRINTF$ac_delim GNULIB_OBSTACK_PRINTF!$GNULIB_OBSTACK_PRINTF$ac_delim GNULIB_OBSTACK_PRINTF_POSIX!$GNULIB_OBSTACK_PRINTF_POSIX$ac_delim GNULIB_FOPEN!$GNULIB_FOPEN$ac_delim GNULIB_FREOPEN!$GNULIB_FREOPEN$ac_delim GNULIB_FSEEK!$GNULIB_FSEEK$ac_delim GNULIB_FSEEKO!$GNULIB_FSEEKO$ac_delim GNULIB_FTELL!$GNULIB_FTELL$ac_delim GNULIB_FTELLO!$GNULIB_FTELLO$ac_delim GNULIB_FFLUSH!$GNULIB_FFLUSH$ac_delim GNULIB_FCLOSE!$GNULIB_FCLOSE$ac_delim GNULIB_FPUTC!$GNULIB_FPUTC$ac_delim GNULIB_PUTC!$GNULIB_PUTC$ac_delim GNULIB_PUTCHAR!$GNULIB_PUTCHAR$ac_delim GNULIB_FPUTS!$GNULIB_FPUTS$ac_delim GNULIB_PUTS!$GNULIB_PUTS$ac_delim GNULIB_FWRITE!$GNULIB_FWRITE$ac_delim GNULIB_GETDELIM!$GNULIB_GETDELIM$ac_delim GNULIB_GETLINE!$GNULIB_GETLINE$ac_delim GNULIB_PERROR!$GNULIB_PERROR$ac_delim GNULIB_STDIO_H_SIGPIPE!$GNULIB_STDIO_H_SIGPIPE$ac_delim REPLACE_STDIO_WRITE_FUNCS!$REPLACE_STDIO_WRITE_FUNCS$ac_delim REPLACE_FPRINTF!$REPLACE_FPRINTF$ac_delim REPLACE_VFPRINTF!$REPLACE_VFPRINTF$ac_delim REPLACE_PRINTF!$REPLACE_PRINTF$ac_delim REPLACE_VPRINTF!$REPLACE_VPRINTF$ac_delim REPLACE_SNPRINTF!$REPLACE_SNPRINTF$ac_delim HAVE_DECL_SNPRINTF!$HAVE_DECL_SNPRINTF$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF REPLACE_VSNPRINTF!$REPLACE_VSNPRINTF$ac_delim HAVE_DECL_VSNPRINTF!$HAVE_DECL_VSNPRINTF$ac_delim REPLACE_SPRINTF!$REPLACE_SPRINTF$ac_delim REPLACE_VSPRINTF!$REPLACE_VSPRINTF$ac_delim HAVE_VASPRINTF!$HAVE_VASPRINTF$ac_delim REPLACE_VASPRINTF!$REPLACE_VASPRINTF$ac_delim HAVE_DECL_OBSTACK_PRINTF!$HAVE_DECL_OBSTACK_PRINTF$ac_delim REPLACE_OBSTACK_PRINTF!$REPLACE_OBSTACK_PRINTF$ac_delim REPLACE_FOPEN!$REPLACE_FOPEN$ac_delim REPLACE_FREOPEN!$REPLACE_FREOPEN$ac_delim HAVE_FSEEKO!$HAVE_FSEEKO$ac_delim REPLACE_FSEEKO!$REPLACE_FSEEKO$ac_delim REPLACE_FSEEK!$REPLACE_FSEEK$ac_delim HAVE_FTELLO!$HAVE_FTELLO$ac_delim REPLACE_FTELLO!$REPLACE_FTELLO$ac_delim REPLACE_FTELL!$REPLACE_FTELL$ac_delim REPLACE_FFLUSH!$REPLACE_FFLUSH$ac_delim REPLACE_FCLOSE!$REPLACE_FCLOSE$ac_delim HAVE_DECL_GETDELIM!$HAVE_DECL_GETDELIM$ac_delim HAVE_DECL_GETLINE!$HAVE_DECL_GETLINE$ac_delim REPLACE_GETLINE!$REPLACE_GETLINE$ac_delim REPLACE_PERROR!$REPLACE_PERROR$ac_delim GETOPT_H!$GETOPT_H$ac_delim LIBINTL!$LIBINTL$ac_delim LTLIBINTL!$LTLIBINTL$ac_delim HAVE_MALLOC_POSIX!$HAVE_MALLOC_POSIX$ac_delim GNULIB_MALLOC_POSIX!$GNULIB_MALLOC_POSIX$ac_delim GNULIB_REALLOC_POSIX!$GNULIB_REALLOC_POSIX$ac_delim GNULIB_CALLOC_POSIX!$GNULIB_CALLOC_POSIX$ac_delim GNULIB_ATOLL!$GNULIB_ATOLL$ac_delim GNULIB_GETLOADAVG!$GNULIB_GETLOADAVG$ac_delim GNULIB_GETSUBOPT!$GNULIB_GETSUBOPT$ac_delim GNULIB_MKDTEMP!$GNULIB_MKDTEMP$ac_delim GNULIB_MKSTEMP!$GNULIB_MKSTEMP$ac_delim GNULIB_PUTENV!$GNULIB_PUTENV$ac_delim GNULIB_RANDOM_R!$GNULIB_RANDOM_R$ac_delim GNULIB_RPMATCH!$GNULIB_RPMATCH$ac_delim GNULIB_SETENV!$GNULIB_SETENV$ac_delim GNULIB_STRTOD!$GNULIB_STRTOD$ac_delim GNULIB_STRTOLL!$GNULIB_STRTOLL$ac_delim GNULIB_STRTOULL!$GNULIB_STRTOULL$ac_delim GNULIB_UNSETENV!$GNULIB_UNSETENV$ac_delim HAVE_ATOLL!$HAVE_ATOLL$ac_delim HAVE_CALLOC_POSIX!$HAVE_CALLOC_POSIX$ac_delim HAVE_GETSUBOPT!$HAVE_GETSUBOPT$ac_delim HAVE_MKDTEMP!$HAVE_MKDTEMP$ac_delim HAVE_REALLOC_POSIX!$HAVE_REALLOC_POSIX$ac_delim HAVE_RANDOM_R!$HAVE_RANDOM_R$ac_delim HAVE_RPMATCH!$HAVE_RPMATCH$ac_delim HAVE_SETENV!$HAVE_SETENV$ac_delim HAVE_STRTOD!$HAVE_STRTOD$ac_delim HAVE_STRTOLL!$HAVE_STRTOLL$ac_delim HAVE_STRTOULL!$HAVE_STRTOULL$ac_delim HAVE_STRUCT_RANDOM_DATA!$HAVE_STRUCT_RANDOM_DATA$ac_delim HAVE_SYS_LOADAVG_H!$HAVE_SYS_LOADAVG_H$ac_delim HAVE_UNSETENV!$HAVE_UNSETENV$ac_delim HAVE_DECL_GETLOADAVG!$HAVE_DECL_GETLOADAVG$ac_delim REPLACE_MKSTEMP!$REPLACE_MKSTEMP$ac_delim REPLACE_PUTENV!$REPLACE_PUTENV$ac_delim REPLACE_STRTOD!$REPLACE_STRTOD$ac_delim VOID_UNSETENV!$VOID_UNSETENV$ac_delim STDBOOL_H!$STDBOOL_H$ac_delim HAVE__BOOL!$HAVE__BOOL$ac_delim HAVE_LONG_LONG_INT!$HAVE_LONG_LONG_INT$ac_delim HAVE_UNSIGNED_LONG_LONG_INT!$HAVE_UNSIGNED_LONG_LONG_INT$ac_delim HAVE_INTTYPES_H!$HAVE_INTTYPES_H$ac_delim HAVE_SYS_TYPES_H!$HAVE_SYS_TYPES_H$ac_delim NEXT_STDINT_H!$NEXT_STDINT_H$ac_delim HAVE_STDINT_H!$HAVE_STDINT_H$ac_delim HAVE_SYS_INTTYPES_H!$HAVE_SYS_INTTYPES_H$ac_delim HAVE_SYS_BITYPES_H!$HAVE_SYS_BITYPES_H$ac_delim BITSIZEOF_PTRDIFF_T!$BITSIZEOF_PTRDIFF_T$ac_delim BITSIZEOF_SIG_ATOMIC_T!$BITSIZEOF_SIG_ATOMIC_T$ac_delim BITSIZEOF_SIZE_T!$BITSIZEOF_SIZE_T$ac_delim BITSIZEOF_WCHAR_T!$BITSIZEOF_WCHAR_T$ac_delim BITSIZEOF_WINT_T!$BITSIZEOF_WINT_T$ac_delim HAVE_SIGNED_SIG_ATOMIC_T!$HAVE_SIGNED_SIG_ATOMIC_T$ac_delim HAVE_SIGNED_WCHAR_T!$HAVE_SIGNED_WCHAR_T$ac_delim HAVE_SIGNED_WINT_T!$HAVE_SIGNED_WINT_T$ac_delim PTRDIFF_T_SUFFIX!$PTRDIFF_T_SUFFIX$ac_delim SIG_ATOMIC_T_SUFFIX!$SIG_ATOMIC_T_SUFFIX$ac_delim SIZE_T_SUFFIX!$SIZE_T_SUFFIX$ac_delim WCHAR_T_SUFFIX!$WCHAR_T_SUFFIX$ac_delim WINT_T_SUFFIX!$WINT_T_SUFFIX$ac_delim STDINT_H!$STDINT_H$ac_delim NEXT_STDIO_H!$NEXT_STDIO_H$ac_delim NEXT_STDLIB_H!$NEXT_STDLIB_H$ac_delim GNULIB_MEMMEM!$GNULIB_MEMMEM$ac_delim GNULIB_MEMPCPY!$GNULIB_MEMPCPY$ac_delim GNULIB_MEMRCHR!$GNULIB_MEMRCHR$ac_delim GNULIB_RAWMEMCHR!$GNULIB_RAWMEMCHR$ac_delim GNULIB_STPCPY!$GNULIB_STPCPY$ac_delim GNULIB_STPNCPY!$GNULIB_STPNCPY$ac_delim GNULIB_STRCHRNUL!$GNULIB_STRCHRNUL$ac_delim GNULIB_STRDUP!$GNULIB_STRDUP$ac_delim GNULIB_STRNDUP!$GNULIB_STRNDUP$ac_delim GNULIB_STRNLEN!$GNULIB_STRNLEN$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF GNULIB_STRPBRK!$GNULIB_STRPBRK$ac_delim GNULIB_STRSEP!$GNULIB_STRSEP$ac_delim GNULIB_STRSTR!$GNULIB_STRSTR$ac_delim GNULIB_STRCASESTR!$GNULIB_STRCASESTR$ac_delim GNULIB_STRTOK_R!$GNULIB_STRTOK_R$ac_delim GNULIB_MBSLEN!$GNULIB_MBSLEN$ac_delim GNULIB_MBSNLEN!$GNULIB_MBSNLEN$ac_delim GNULIB_MBSCHR!$GNULIB_MBSCHR$ac_delim GNULIB_MBSRCHR!$GNULIB_MBSRCHR$ac_delim GNULIB_MBSSTR!$GNULIB_MBSSTR$ac_delim GNULIB_MBSCASECMP!$GNULIB_MBSCASECMP$ac_delim GNULIB_MBSNCASECMP!$GNULIB_MBSNCASECMP$ac_delim GNULIB_MBSPCASECMP!$GNULIB_MBSPCASECMP$ac_delim GNULIB_MBSCASESTR!$GNULIB_MBSCASESTR$ac_delim GNULIB_MBSCSPN!$GNULIB_MBSCSPN$ac_delim GNULIB_MBSPBRK!$GNULIB_MBSPBRK$ac_delim GNULIB_MBSSPN!$GNULIB_MBSSPN$ac_delim GNULIB_MBSSEP!$GNULIB_MBSSEP$ac_delim GNULIB_MBSTOK_R!$GNULIB_MBSTOK_R$ac_delim GNULIB_STRERROR!$GNULIB_STRERROR$ac_delim GNULIB_STRSIGNAL!$GNULIB_STRSIGNAL$ac_delim GNULIB_STRVERSCMP!$GNULIB_STRVERSCMP$ac_delim HAVE_DECL_MEMMEM!$HAVE_DECL_MEMMEM$ac_delim HAVE_MEMPCPY!$HAVE_MEMPCPY$ac_delim HAVE_DECL_MEMRCHR!$HAVE_DECL_MEMRCHR$ac_delim HAVE_RAWMEMCHR!$HAVE_RAWMEMCHR$ac_delim HAVE_STPCPY!$HAVE_STPCPY$ac_delim HAVE_STPNCPY!$HAVE_STPNCPY$ac_delim HAVE_STRCHRNUL!$HAVE_STRCHRNUL$ac_delim HAVE_DECL_STRDUP!$HAVE_DECL_STRDUP$ac_delim HAVE_STRNDUP!$HAVE_STRNDUP$ac_delim HAVE_DECL_STRNDUP!$HAVE_DECL_STRNDUP$ac_delim HAVE_DECL_STRNLEN!$HAVE_DECL_STRNLEN$ac_delim HAVE_STRPBRK!$HAVE_STRPBRK$ac_delim HAVE_STRSEP!$HAVE_STRSEP$ac_delim HAVE_STRCASESTR!$HAVE_STRCASESTR$ac_delim HAVE_DECL_STRTOK_R!$HAVE_DECL_STRTOK_R$ac_delim HAVE_DECL_STRERROR!$HAVE_DECL_STRERROR$ac_delim HAVE_DECL_STRSIGNAL!$HAVE_DECL_STRSIGNAL$ac_delim HAVE_STRVERSCMP!$HAVE_STRVERSCMP$ac_delim REPLACE_MEMMEM!$REPLACE_MEMMEM$ac_delim REPLACE_STRDUP!$REPLACE_STRDUP$ac_delim REPLACE_STRSTR!$REPLACE_STRSTR$ac_delim REPLACE_STRCASESTR!$REPLACE_STRCASESTR$ac_delim REPLACE_STRERROR!$REPLACE_STRERROR$ac_delim REPLACE_STRSIGNAL!$REPLACE_STRSIGNAL$ac_delim NEXT_STRING_H!$NEXT_STRING_H$ac_delim NEXT_SYSEXITS_H!$NEXT_SYSEXITS_H$ac_delim HAVE_SYSEXITS_H!$HAVE_SYSEXITS_H$ac_delim SYSEXITS_H!$SYSEXITS_H$ac_delim NEXT_UNISTD_H!$NEXT_UNISTD_H$ac_delim HAVE_UNISTD_H!$HAVE_UNISTD_H$ac_delim GNULIB_BTOWC!$GNULIB_BTOWC$ac_delim GNULIB_WCTOB!$GNULIB_WCTOB$ac_delim GNULIB_MBSINIT!$GNULIB_MBSINIT$ac_delim GNULIB_MBRTOWC!$GNULIB_MBRTOWC$ac_delim GNULIB_MBRLEN!$GNULIB_MBRLEN$ac_delim GNULIB_WCWIDTH!$GNULIB_WCWIDTH$ac_delim HAVE_BTOWC!$HAVE_BTOWC$ac_delim HAVE_WCTOB!$HAVE_WCTOB$ac_delim HAVE_MBSINIT!$HAVE_MBSINIT$ac_delim HAVE_MBRTOWC!$HAVE_MBRTOWC$ac_delim HAVE_MBRLEN!$HAVE_MBRLEN$ac_delim HAVE_DECL_WCWIDTH!$HAVE_DECL_WCWIDTH$ac_delim REPLACE_WCWIDTH!$REPLACE_WCWIDTH$ac_delim WCHAR_H!$WCHAR_H$ac_delim HAVE_WINT_T!$HAVE_WINT_T$ac_delim HAVE_WCHAR_H!$HAVE_WCHAR_H$ac_delim NEXT_WCHAR_H!$NEXT_WCHAR_H$ac_delim LIBANUBIS_LIBDEPS!$LIBANUBIS_LIBDEPS$ac_delim LIBANUBIS_LTLIBDEPS!$LIBANUBIS_LTLIBDEPS$ac_delim INCLUDES!$INCLUDES$ac_delim USE_NLS!$USE_NLS$ac_delim GETTEXT_MACRO_VERSION!$GETTEXT_MACRO_VERSION$ac_delim MSGFMT!$MSGFMT$ac_delim GMSGFMT!$GMSGFMT$ac_delim MSGFMT_015!$MSGFMT_015$ac_delim GMSGFMT_015!$GMSGFMT_015$ac_delim XGETTEXT!$XGETTEXT$ac_delim XGETTEXT_015!$XGETTEXT_015$ac_delim MSGMERGE!$MSGMERGE$ac_delim XGETTEXT_EXTRA_OPTIONS!$XGETTEXT_EXTRA_OPTIONS$ac_delim INTL_MACOSX_LIBS!$INTL_MACOSX_LIBS$ac_delim LIBICONV!$LIBICONV$ac_delim LTLIBICONV!$LTLIBICONV$ac_delim INTLLIBS!$INTLLIBS$ac_delim POSUB!$POSUB$ac_delim M4_DEFS!$M4_DEFS$ac_delim GUILE_INCLUDES!$GUILE_INCLUDES$ac_delim GUILE_LIBS!$GUILE_LIBS$ac_delim GUILE_BINDIR!$GUILE_BINDIR$ac_delim GUILE_SNARF_VERSION!$GUILE_SNARF_VERSION$ac_delim GUILE_SCRIPTS!$GUILE_SCRIPTS$ac_delim GUILE_CONFIG!$GUILE_CONFIG$ac_delim ANUBIS_GPGFILES!$ANUBIS_GPGFILES$ac_delim GPGME_CONFIG!$GPGME_CONFIG$ac_delim GPGME_CFLAGS!$GPGME_CFLAGS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-4.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF GPGME_LIBS!$GPGME_LIBS$ac_delim GPG!$GPG$ac_delim GSASL_LIBS!$GSASL_LIBS$ac_delim ANUBIS_DEFINES!$ANUBIS_DEFINES$ac_delim ANUBIS_SBIN_ADM!$ANUBIS_SBIN_ADM$ac_delim ANUBIS_BIN_ADM!$ANUBIS_BIN_ADM$ac_delim LIBOBJS!$LIBOBJS$ac_delim LIBGNUTLS_CONFIG!$LIBGNUTLS_CONFIG$ac_delim LIBGNUTLS_CFLAGS!$LIBGNUTLS_CFLAGS$ac_delim LIBGNUTLS_LIBS!$LIBGNUTLS_LIBS$ac_delim EMACS!$EMACS$ac_delim EMACSLOADPATH!$EMACSLOADPATH$ac_delim lispdir!$lispdir$ac_delim lisp_LISP!$lisp_LISP$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim gl_LIBOBJS!$gl_LIBOBJS$ac_delim gl_LTLIBOBJS!$gl_LTLIBOBJS$ac_delim gltests_LIBOBJS!$gltests_LIBOBJS$ac_delim gltests_LTLIBOBJS!$gltests_LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 19; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-5.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input="Generated from "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" | sed -f "$tmp/subs-4.sed" | sed -f "$tmp/subs-5.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; :H) # # CONFIG_HEADER # _ACEOF # Transform confdefs.h into a sed script `conftest.defines', that # substitutes the proper values into config.h.in to produce config.h. rm -f conftest.defines conftest.tail # First, append a space to every undef/define line, to ease matching. echo 's/$/ /' >conftest.defines # Then, protect against being on the right side of a sed subst, or in # an unquoted here document, in config.status. If some macros were # called several times there might be several #defines for the same # symbol, which is useless. But do not sort them, since the last # AC_DEFINE must be honored. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* # These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where # NAME is the cpp macro being defined, VALUE is the value it is being given. # PARAMS is the parameter list in the macro definition--in most cases, it's # just an empty string. ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' ac_dB='\\)[ (].*,\\1define\\2' ac_dC=' ' ac_dD=' ,' uniq confdefs.h | sed -n ' t rset :rset s/^[ ]*#[ ]*define[ ][ ]*// t ok d :ok s/[\\&,]/\\&/g s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p ' >>conftest.defines # Remove the space that was appended to ease matching. # Then replace #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. # (The regexp can be short, since the line contains either #define or #undef.) echo 's/ $// s,^[ #]*u.*,/* & */,' >>conftest.defines # Break up conftest.defines: ac_max_sed_lines=50 # First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" # Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" # Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" # et cetera. ac_in='$ac_file_inputs' ac_out='"$tmp/out1"' ac_nxt='"$tmp/out2"' while : do # Write a here document: cat >>$CONFIG_STATUS <<_ACEOF # First, check the format of the line: cat >"\$tmp/defines.sed" <<\\CEOF /^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def /^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def b :def _ACEOF sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail grep . conftest.tail >/dev/null || break rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines conftest.tail echo "ac_result=$ac_in" >>$CONFIG_STATUS cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then echo "/* $configure_input */" >"$tmp/config.h" cat "$ac_result" >>"$tmp/config.h" if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else rm -f $ac_file mv "$tmp/config.h" $ac_file fi else echo "/* $configure_input */" cat "$ac_result" fi rm -f "$tmp/out12" # Compute $ac_file's index in $config_headers. _am_arg=$ac_file _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; "po-directories":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; "status":C) cat </dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi anubis-4.1.1+dfsg1/README0000600000175000017500000001124711121752642012426 0ustar kbkb Introduction ============ GNU Anubis is an SMTP message submission daemon. It represents an intermediate layer between mail user agent (MUA) and mail transport agent (MTA), receiving messages from the MUA, applying to them a set of predefined changes and finally inserting modified messages into an MTA routing network. The set of changes applied to a message is configurable on a system-wide and per-user basis. The built-in configuration language used for defining sets of changes allows for considerable flexibility and is easily extensible. --------* --------** ------*** | MUA | ---> | Anubis | ---> | MTA | --------- ---------- --------- * Mail User Agent (client) ** An SMTP message submission daemon. *** Mail Transport Agent (server) GNU Anubis is GNU software. See the home page at: http://www.gnu.org/software/anubis/ License: GNU Anubis is free software distributed under the terms of GNU General Public License version 3 or later. See the file COPYING for the copying conditions. SUPPORTED SOFTWARE ================== Recommended: * GSASL -- an implementation of the SASL framework (http://www.gnu.org/software/gsasl/). Anubis requires GSASL version 0.2.3 or newer. * A database, any from the following: - GDBM -- (http://www.gnu.org/software/gdbm/). - MySQL -- (http://www.mysql.com/). - PostgreSQL -- (http://www.postgresql.com/) * GnuTLS -- a Transport Layer Security Library (http://www.gnutls.org/) * Guile -- The GNU extension language (http://www.gnu.org/software/guile/). * GnuPG -- The GNU Privacy Guard (http://www.gnupg.org/) with GPGME -- GnuPG Made Easy (http://www.gnupg.org/gpgme.html). Optional: * The TCP/IP Identification Protocol (RFC 1413) server (any). * PCRE -- Perl-Compatible Regular Expression Library (http://www.pcre.org/). * PAM -- Pluggable Authentication Modules (http://www.kernel.org/pub/linux/libs/pam/). * libwrap (TCP wrappers) -- an access control library. INSTALLATION ============ $ ./configure $ make $ make check (optional) $ make install By default, GNU Anubis will be installed in `/usr/local/sbin/anubis', but this can be changed with the `--prefix' command, for instance: $ ./configure --prefix=/usr $ make $ make check (optional) $ make install For better control, use the options below: `--with-gsasl' to support SASL authentication. `--with-mysql' to support MySQL database. `--with-postgres' to support PostgreSQL database. `--with-pcre' to support Perl-compatible regular expressions. `--with-pam' to support Pluggable Authentication Modules. `--with-socks-proxy' to support SOCKS v4/5 proxy support. `--with-tcp-wrappers' to support libwrap (TCP wrappers). `--without-gnutls' to disable GnuTLS support. `--without-gpgme' to disable GNU Privacy Guard (GPGME) support. `--without-guile' to disable Guile support. `--with-unprivileged-user=USER' to set an unprivileged user (default is "nobody"). Next, write a proper init script for your system. See the examples in the `scripts' directory (part of the distribution). NOTE: Remember about activating GNU Anubis with `ntsysv' tool or similar, and configure its system configuration file (read the GNU Anubis Manual about this topic). CAUTION: It is now optional to install the TCP/IP IDENT protocol server (RFC 1413). It depends on whether you are going to use a "transparent" mode, or not. Please consult the documentation. Most modern GNU/Linux (or *BSD) distributions come with an IDENT server. If you don't have it, try `pidentd', available at: ftp://ftp.lysator.liu.se/pub/ident/servers/ Editing Configuration Files with GNU Emacs ========================================== The file elisp/anubis-mode.el provides the Emacs major mode for editing Anubis configuration files. After `make install' Emacs should be able to use anubis-mode when editing appropriate configuration files. You will have to add the following to your .emacs or site-start file: (autoload 'anubis-mode "anubis-mode") (setq auto-mode-alist (append auto-mode-alist '(("/.anubisrc$" . anubis-mode) ("/anubisrc$" . anubis-mode)))) You may also wish to modify the following variables: * anubis-path The path to the anubis executable. Use this if anubis cannot be found using the search path. * anubis-section-body-indent Sets the indentation level for a section body. Defaults to 0. * anubis-level-indent Sets amount of indentation per block nesting level. Defaults to 2. ^L Local Variables: mode: auto-fill fill-column: 75 paragraph-separate: "[ ^L]*$" version-control: never End: anubis-4.1.1+dfsg1/NEWS0000600000175000017500000003721611123153145012244 0ustar kbkbGNU Anubis NEWS -- history of user-visible changes. 2008-12-20 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008 The Anubis Team. See the end of file for copying conditions. Please send your bug reports to . * Version 4.1.1, 2008-12-20 ** Automatic correction of MAIL and RCPT SMTP commands. Some mail software inserts whitespace between 'MAIL TO:' or 'RCPT FROM:' command and its argument. When handling these commands, Anubis removes this extra whitespace, thereby making them compliant to RFC 2821. This feature is particularly useful when working with MTAs that enforce strict RFC compliance, such as MeTA1. ** Fix loop-detection code. ** New configuration keywords sasl-realm, sasl-hostname and sasl-service. ** Minor improvements and bugfixes. ** New Danish, Indonesian, Italian, and Swedish message translations. * Version 4.1, 2007-11-04 The package is licensed under GPL version 3 (see COPYING for the details). ** New features: *** New working mode: MDA *** The != (``not match'') operator is implemented. The statement: if header ["To:"] != "smith@.*" is equivalent to if not header ["To:"] = "smith@.*" *** Concatenation operator Concatenation operator allows to run tests on a concatenation of values of all headers or commands having same key. For example to get a comma-separated list of all recipients, one could use: if command ["rcpt to:"] (",") = "(.*)" Here, the (",") instructs Anubis to concatenate the values of all RCPT TO commands, using comma as a separator. The match on the right hand side will always succeed, and the concatenated value will be available via the "\1" substitution. *** Guile With guile support enabled, Guile version 1.8.0 or later is required. ** Bug fixes *** Fixed handling of regular expressions *** Got rid of arbitrary-sized buffers. All memory is allocated on request. *** Fix handling of the main configuration file Main configuration file is processed no matter was the client recognized or not. *** Catch errors in Guile scripts. Errors in Guile scripts are catched and displayed early. In previous versions they could cause aborting the subprocess. *** Support for GPGME 1.0.2 *** Fixed minor bug in handling identd responses. *** Fixed SIGCHLD handling. * Version 4.0, 2004-12-18 GNU Anubis 4.0 has been rewritten from scratch. The message processing algorithm has been changed. Apart from that, this release includes a lot of other improvements and bugfixes. ** New operation modes. The new authentication and authorization mode has been introduced. In contrast to the method used previously, the new mode does not require client machines to run AUTH server (identd). It uses standard SMTP AUTH capability and can therefore be used with most contemporary MUAs. ** User database. User database can be kept on the server machine in any of the following formats: - Plain text - GDBM - MySQL - PostgreSQL ** Extensions GNU Anubis is extensible via Guile (requires Guile 1.6 or newer). Several Guile extension modules are shipped with the package, among them a module for GPG signing ** Added test suite (make check). ** Configuration file Configuration file grammar is rewritten. It features several new syntactical entities, allows nesting of conditional statements to arbitrary depth, and is easily extended using Guile. Refer to the documentation for the detailed information. *** New options - drop-unknown-user. - gpg-sign-encrypt, allows to encrypt and sign messages simultaneously. *** RULEs The RULE section is allowed both in system-wide and in user configuration files. The statement `rule-priority' in the system CONTROL section defines the order of execution of the two sections. *** Per-user sections and the `call' statement User-defined sections are allowed in either configuration file. Such sections may be invoked from RULE section or from another user-defined section using `call' statement. *** Section priority Order of processing the user CONTROL sections may be altered by setting `control-priority' in the system-wide CONTROL section. *** Tracing Execution of the configuration files can be traced using the `tracefile' statement in CONTROL section of the configuration file. ** Other changes: *** Remailers and Rot-13 support. Support for remailers and rot-13 has been removed from the main engine and rewritten as the loadable extension modules. *** Emacs New file `anubis-mode.el' provides an Emacs major mode for editing Anubis configuration files. *** Translations New Dutch, Malay, Polish, Romanian, Russian, and Ukrainian message translations. * Version 3.6.2, 2002-12-15 ** URGENCY: HIGH. Some serious bugs have been fixed (since 3.6.1). ** Default daemon's port number is now 24 (private mail system). ** The MODIFY keyword has been hugely improved. Its syntax has been changed, so please read the GNU Anubis Manual before using it. ** The DEBUG mode has been improved (now it's also built-in by default). ** The boundary-search code has been fixed (for e.g. MS Outlook). Reported by David Roberts . ** Some minor changes and fixes in the documentation have been made. The `anubis.1' man page will not be maintained anymore. The full documentation is maintained as a Texinfo manual. ** The Free Documentation License has been upgraded from 1.1 to 1.2. ** The `msg2smtp.pl' Perl script (revision 1.5) has been fixed. ** Switched to GNU Autoconf 2.57 and GNU Automake 1.7.2. * Version 3.6.1, 2002-11-16 ** URGENCY: MEDIUM. A serious code optimization, changes, and bug fixes have been made, but most not visible to end-users. ** GNU Anubis requires now GPGME 0.3.12 or later (and at least GnuPG 1.2.0). ** The Turkish NLS has been added. * Version 3.6.0, 2002-11-02 ** Now this program is part of GNU! We celebrate with a new name "GNU Anubis". We have moved the home page to http://www.gnu.org/software/anubis/. ** The GnuTLS is now supported by default. To enable OpenSSL (and disable GnuTLS), please compile GNU Anubis with `./configure --with-openssl; make'. ** The ESMTP CRAM-MD5 authentication method is now supported by libgcrypt if compiling with GnuTLS, or `openssl/md5.h' if compiling with OpenSSL. * Version 3.5.2, 2002-10-21 ** URGENCY: MEDIUM. The GnuTLS support has been added. To enable it, please compile Anubis with `./configure --with-gnutls; make' (this will disable OpenSSL). There is also a new keyword CAFILE to specify a CA certificate. ** Some build fixes have been made. Thanks to Olaf Püschel and Ayamura KIKUCHI. The setenv function should now works properly under Solaris and IRIX. The ESMTP CRAM-MD5 authentication method is now disabled, when compiling without the OpenSSL support (CRAM-MD5 requires MD5 via `openssl/md5.h'). ** The '--stdio' command line option has been fixed. * Version 3.5.1, 2002-10-16 ** URGENCY: LOW. A WinGate proxy support has been removed. ** The SOCKS-USERNAME and SOCKS-PASSWORD keywords have been replaced with the SOCKS-AUTH keyword ("socks-auth = USERNAME:PASSWORD"). * Version 3.5.0, 2002-10-14 ** URGENCY: MEDIUM. Support for the ESMTP authentication (CRAM-MD5 and LOGIN) has been added. This feature has been designed for MUAs, which cannot speak the ESMTP AUTH command. ** The "EXTERNAL" section has been replaced with a translation map for remote or local users (The "TRANSLATION" section). A new syntax is: "translate = [USER@]ADDRESS into = USERNAME". ** The `msg2smtp.pl' Perl code has been added to the `contrib' directory. This is a very useful script for all Mutt users, who would like to use Anubis. Thanks to Michael de Beer . ** The OUTPUT keyword (a temporary alias since 3.4.7) has been removed. ** The French NLS has been added. * Version 3.4.9, 2002-09-22 ** URGENCY: LOW. An experimental NLS (Native Language Support) has been added (no `po' files yet). ** The specgen.sh file has been updated. ** Some minor changes and bug fixes have been made. * Version 3.4.8, 2002-09-20 ** URGENCY: MEDIUM. Support for substitutions (RE back-references to subexpressions) has been added. ** Anubis now recognizes a client if IDENTD server returns only UID number. * Version 3.4.7, 2002-09-17 ** URGENCY: HIGH. The Rule System now supports an extra regexp options, and in addition you can use the following regular expression syntaxes in a run time: "POSIX Basic", "POSIX Extended", "Perl regular expression". ** The "REGEX" section has been renamed to the "RULE" section. (---BEGIN RULE---). Please update your configuration files. ** The Trigger mechanism has replaced the DCM system (a new syntax). ** Some keywords have been renamed (again): > SIGNATURE-FILE-APPEND instead of SIGNATURE-FILE-ATTACH > BODY-APPEND instead of BODY-ATTACH > BODY-CLEAR-APPEND instead of BODY-CLEAR-ATTACH. > TERMLEVEL instead of OUTPUT (OUTPUT is now a temporary alias). ** The documentation has been improved. * Version 3.4.6, 2002-09-08 ** URGENCY: HIGH. The "TUNNEL" section has been renamed to the "CONTROL" section (---BEGIN CONTROL---). Please update your configuration files. ** An optional support for Pluggable Authentication Modules (PAM) has been added. To add this feature, compile with './configure --with-pam'. ** The AUTH-LOCAL keyword has been removed. Now, local processing is a default mode. ** Anubis doesn't set a client's EGID and EUID anymore. For security reasons, the RGID and RUID are set instead. ** A major documentation changes and improvements have been made. * Version 3.4.5, 2002-09-02 ** URGENCY: HIGH. An optional support for libwrap (TCP wrappers) has been added (recommended when using the "EXTERNAL" section). To add this feature, compile with './configure --with-tcp-wrappers'. ** A serious bug in the main engine has been fixed, now it is possible to make a transparent authentication with an SMTP server (ESMTP AUTH). ** A new GPG-PASSPHRASE keyword has been added (USER MODE). ** The REMOTE-MTA is now a default keyword for a remote mail transport agent. The SERVER keyword, since now, is only an alias. ** The SIGNATURE keyword has been renamed to SIGNATURE-FILE-ATTACH to prevent any likeness with GnuPG/PGP signatures. ** The "-h,--host" command line options have been renamed to "-r,--remote-mta". ** A big docs improvements have been made. The TUTORIAL file has been removed. Read the documentation in Texinfo (anubis.info) format instead. ** Some additional changes and security fixes have been made. * Version 3.4.2, 2002-08-22 ** URGENCY: LOW. A new documentation in Texinfo format has been added. Some additional documentation changes have been made. ** The TUTORIAL and anubis.1 files have been moved to the 'doc' directory. ** The specgen.sh file has been updated. * Version 3.4.1, 2002-08-18 ** URGENCY: MEDIUM. For security reasons, a new keyword USER-NOTPRIVILEGED has been added. It specifies a user which the server runs as most of the time, when doing unprivileged operations. ** Some additional changes and fixes have been made. ** The Tips & Hints section has been added to the documentation. ** The THANKS file has been added. * Version 3.4.0, 2002-08-01 ** URGENCY: MEDIUM. A new support for an external clients has been added. Now it is possible to allow an extenal user to use the local configuration file, and process outgoing mail. There is a new ALLOW-EXTERNAL-PROCESSING keyword and the "remapping table" with the following syntax: "external = [user@]address local = username". This idea has been suggested by Mikael Ringeval. ** Some minor changes have been made. * Version 3.3.0, 2002-07-23 ** URGENCY: HIGH. A new rule system style has been introduced. It has been also slightly extended by adding the '!=' (FALSE) control operator. Read the TUTORIAL file for more information. ** An external message body processor support has been added (there is a new EXTERNAL-BODY-PROCESSOR keyword). ** The BODY-FILE keyword has been renamed to BODY-ATTACH. ** A new BODY-CLEAR-ATTACH function has been added. ** The code has been optimized a bit. Some bugs have been fixed. ** The specgen.sh file has been updated. * Version 3.2.3, 2002-07-06 ** URGENCY: LOW. The specgen.sh file has been improved. ** The compilation with a custom CFLAGS environment variable has been fixed. * Version 3.2.2, 2002-07-01 ** URGENCY: LOW. The configure scripts have been modified to be compatible with GNU Autoconf 2.53 or later. ** Another build fixes (configure.ac) by Ayamura KIKUCHI. * Version 3.2.1, 2002-06-26 ** URGENCY: LOW. Some minor bugs have been fixed. ** A small OpenSSL build fix has been made. Thanks to Ayamura KIKUCHI . ** The default install path has been changed from /usr/sbin/ to /usr/local/sbin/. * Version 3.2.0, 2002-06-23 ** URGENCY: MEDIUM. A new Dynamic Commands Manipulation system (aka DCM) has been added. Read the TUTORIAL file for more information. ** A useful personal logger (per-user logging) has been added. There are new USER MODE keywords (LOGFILE and LOGLEVEL). ** The ROT13SUBJECT and ROT13BODY keywords have been renamed to ROT13-SUBJECT and ROT13-BODY. ** A small fix for systems without setegid(2) and seteuid(2) has been made. * Version 3.1.1, 2002-06-20 ** URGENCY: LOW. The MTA-ARGS keyword has been removed. The LOCAL-MTA parser has been rewritten. ** An additional check for seteuid(2) and setegid(2) has been added in the configure script. ** The specgen.sh file has been improved. ** A small code cleanup has been done. * Version 3.1.0, 2002-06-14 ** URGENCY: HIGH. A major security fixes have been made. The SETREMOTEUSER keyword has been removed. Now Anubis is always changing its privileges to a client's EGID, EUID, and HOME directory. Moreover a new keyword for a supervisor has been added: ALLOW-LOCAL-MTA, which slightly increases a security level. ** The IDENT-ONLY keyword has been removed, now the only way to authenticate a user is the TCP/IP IDENT protocol server. ** The NOFORK macro has been removed, this means that Anubis will not support systems without the fork(2) function anymore. ** The ONEWAY-SSL keyword has been added. It can be used when your MUA doesn't support the TLS/SSL encryption, but your MTA does. ** The code has been optimized a bit. * Version 3.0.2, 2002-06-10 ** URGENCY: HIGH. A serious bug has been fixed: While sending more than one email in a one connection, the OMP had processed every message in the same way, but now this has been successfully fixed. ** Some additional security fixes have been made. * Version 3.0.1, 2002-06-08 ** URGENCY: LOW. Some minor changes have been made. ** Some bugs have been fixed. ** The documentation has been improved. ** The portability has been slightly improved, especially under Darwin. * Version 3.0.0, 2002-06-01 ** The Anubis has become only an outgoing mail processor and the SMTP tunnel between the MUA and the MTA. Any other functions/features have been removed. ---------------------------------------------------------------------- Copyright information: Copyright (C) 2001, 2002, 2003, 2004, 2007, 2008 The Anubis Team. Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the copyright notice and this permission notice are preserved, thus giving the recipient permission to redistribute in turn. Permission is granted to distribute modified versions of this document, or of portions of it, under the above conditions, provided also that they carry prominent notices stating who last changed them. Local variables: mode: outline paragraph-separate: "[ ]*$" eval: (add-hook 'write-file-hooks 'time-stamp) time-stamp-start: "changes. " time-stamp-format: "%:y-%02m-%02d" time-stamp-end: "\n" end: anubis-4.1.1+dfsg1/doc/0000700000175000017500000000000011150611306012275 5ustar kbkbanubis-4.1.1+dfsg1/doc/Makefile.am0000600000175000017500000000146611150605173014347 0ustar kbkb## ## doc/Makefile.am ## ## This file is part of GNU Anubis. ## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007 The Anubis Team. ## ## GNU Anubis is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by the ## Free Software Foundation; either version 3 of the License, or (at your ## option) any later version. ## ## GNU Anubis is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License along ## with GNU Anubis. If not, see . ## man_MANS = anubis.1 EXTRA_DIST = $(man_MANS) anubis-4.1.1+dfsg1/doc/anubis.10000600000175000017500000000453411123153145013652 0ustar kbkb.\" .\" anubis.1 -- .\" .TH anubis 1 "" "" "GNU Anubis" .SH NAME GNU Anubis -- an SMTP message submission daemon. .SH SYNOPSIS .BI "anubis" [options] .br .SH DESCRIPTION .B GNU Anubis is an SMTP message submission daemon. It represents an intermediate layer between mail user agent (MUA) and mail transport agent (MTA), receiving messages from the MUA, applying to them a set of predefined changes and finally inserting modified messages into an MTA routing network. The set of changes applied to a message is configurable on a system-wide and per-user basis. The built-in configuration language used for defining sets of changes allows for considerable flexibility and is easily extensible. .SH THE GNU ANUBIS MANUAL The full documentation for .B GNU Anubis is maintained as a Texinfo manual. If the .B info and GNU Anubis programs are properly installed at your site, the command .IP .B info anubis .PP should give you access to the complete manual. .SH REPORTING BUGS Please send any bug reports, improvements, comments, suggestions, or questions to . Before reporting a bug, make sure you have actually found a real bug. Carefully reread the documentation and see if it really says you can do what you are trying to do. If it is not clear whether you should be able to do something or not, report that too; it's a bug in the documentation! .SH FILES .HP .I /etc/anubisrc - system configuration file .HP .I ~/.anubisrc - user configuration file .SH "SEE ALSO" .BR grep (1), .BR regex (7), .BR perlre (1), .BR pcre (3), .BR sendmail (8), .BR openssl (1), .BR gpg (1), .BR identd (1), .BR pam (8), .BR tcpd (8) .SH AUTHORS The Anubis Team (read the AUTHORS file). .P .PD 0 GNU Anubis Home Page: .P http://www.gnu.org/software/anubis/ .PD .SH LICENSE GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. .P GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .P You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . anubis-4.1.1+dfsg1/doc/Makefile.in0000600000175000017500000006005711150611302014350 0ustar kbkb# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/am/anubis.m4 \ $(top_srcdir)/am/gpgme.m4 $(top_srcdir)/am/gsasl.m4 \ $(top_srcdir)/am/guile.m4 $(top_srcdir)/am/libgnutls.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fseeko.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpass.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/onceonly.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd_h.m4 \ $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(lispdir)" "$(DESTDIR)$(man1dir)" lispLISP_INSTALL = $(INSTALL_DATA) LISP = $(lisp_LISP) man1dir = $(mandir)/man1 NROFF = nroff MANS = $(man_MANS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ANUBIS_BIN_ADM = @ANUBIS_BIN_ADM@ ANUBIS_DEFINES = @ANUBIS_DEFINES@ ANUBIS_GPGFILES = @ANUBIS_GPGFILES@ ANUBIS_LIBOBJS = @ANUBIS_LIBOBJS@ ANUBIS_SBIN_ADM = @ANUBIS_SBIN_ADM@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMACS = @EMACS@ EMACSLOADPATH = @EMACSLOADPATH@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GPG = @GPG@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GREP = @GREP@ GSASL_LIBS = @GSASL_LIBS@ GUILE_BINDIR = @GUILE_BINDIR@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_INCLUDES = @GUILE_INCLUDES@ GUILE_LIBS = @GUILE_LIBS@ GUILE_SCRIPTS = @GUILE_SCRIPTS@ GUILE_SNARF_VERSION = @GUILE_SNARF_VERSION@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTOB = @HAVE_WCTOB@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ INCLUDES = @INCLUDES@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBANUBIS_LIBDEPS = @LIBANUBIS_LIBDEPS@ LIBANUBIS_LTLIBDEPS = @LIBANUBIS_LTLIBDEPS@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_CONFIG = @LIBGNUTLS_CONFIG@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4_DEFS = @M4_DEFS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYSEXITS_H = @SYSEXITS_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ idecrypt_path = @idecrypt_path@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ lisp_LISP = @lisp_LISP@ lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ man_MANS = anubis.1 EXTRA_DIST = $(man_MANS) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits doc/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnits doc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh elc-stamp: $(LISP) @echo 'WARNING: Warnings can be ignored. :-)' @rm -f elc-temp && touch elc-temp if test "$(EMACS)" != no; then \ set x; \ list='$(LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ set x "$$@" "$$d$$p"; shift; \ done; \ shift; \ EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \ else : ; fi @mv -f elc-temp $@ $(am__ELCFILES): elc-stamp @if test "$(EMACS)" != no && test ! -f $@; then \ trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \ if mkdir elc-lock 2>/dev/null; then \ rm -f elc-stamp; \ $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \ rmdir elc-lock; \ else \ while test -d elc-lock; do sleep 1; done; \ test -f elc-stamp; exit $$?; \ fi; \ else : ; fi install-lispLISP: $(lisp_LISP) $(ELCFILES) @$(NORMAL_INSTALL) @if test "$(EMACS)" != no; then \ test -z "$(lispdir)" || $(MKDIR_P) "$(DESTDIR)$(lispdir)"; \ list='$(lisp_LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(lispLISP_INSTALL) '$$d$$p' '$(DESTDIR)$(lispdir)/$$f'"; \ $(lispLISP_INSTALL) "$$d$$p" "$(DESTDIR)$(lispdir)/$$f"; \ if test -f $${p}c; then \ echo " $(lispLISP_INSTALL) '$${p}c' '$(DESTDIR)$(lispdir)/$${f}c'"; \ $(lispLISP_INSTALL) "$${p}c" "$(DESTDIR)$(lispdir)/$${f}c"; \ else : ; fi; \ done; \ else : ; fi uninstall-lispLISP: @$(NORMAL_UNINSTALL) @if test "$(EMACS)" != no; then \ list='$(lisp_LISP)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(lispdir)/$$f' '$(DESTDIR)$(lispdir)/$${f}c'"; \ rm -f "$(DESTDIR)$(lispdir)/$$f" "$(DESTDIR)$(lispdir)/$${f}c"; \ done; \ else : ; fi clean-lisp: -rm -f elc-stamp $(ELCFILES) install-man1: $(man1_MANS) $(man_MANS) @$(NORMAL_INSTALL) test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ for i in $$l2; do \ case "$$i" in \ *.1*) list="$$list $$i" ;; \ esac; \ done; \ for i in $$list; do \ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 1*) ;; \ *) ext='1' ;; \ esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ done uninstall-man1: @$(NORMAL_UNINSTALL) @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ for i in $$l2; do \ case "$$i" in \ *.1*) list="$$list $$i" ;; \ esac; \ done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 1*) ;; \ *) ext='1' ;; \ esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ done tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LISP) $(MANS) installdirs: for dir in "$(DESTDIR)$(lispdir)" "$(DESTDIR)$(man1dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-lisp mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-lispLISP install-man install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-man1 install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-lispLISP uninstall-man uninstall-man: uninstall-man1 .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-lisp \ distclean distclean-generic distdir dvi dvi-am html html-am \ info info-am install install-am install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-lispLISP install-man install-man1 install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am uninstall-lispLISP \ uninstall-man uninstall-man1 # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: anubis-4.1.1+dfsg1/contrib/0000700000175000017500000000000011123153366013177 5ustar kbkbanubis-4.1.1+dfsg1/contrib/Makefile.in0000600000175000017500000005775511122764062015271 0ustar kbkb# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = contrib DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/am/anubis.m4 \ $(top_srcdir)/am/gpgme.m4 $(top_srcdir)/am/gsasl.m4 \ $(top_srcdir)/am/guile.m4 $(top_srcdir)/am/libgnutls.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fseeko.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpass.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/onceonly.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd_h.m4 \ $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(lispdir)" binSCRIPT_INSTALL = $(INSTALL_SCRIPT) SCRIPTS = $(bin_SCRIPTS) SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; lispLISP_INSTALL = $(INSTALL_DATA) LISP = $(lisp_LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ANUBIS_BIN_ADM = @ANUBIS_BIN_ADM@ ANUBIS_DEFINES = @ANUBIS_DEFINES@ ANUBIS_GPGFILES = @ANUBIS_GPGFILES@ ANUBIS_LIBOBJS = @ANUBIS_LIBOBJS@ ANUBIS_SBIN_ADM = @ANUBIS_SBIN_ADM@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMACS = @EMACS@ EMACSLOADPATH = @EMACSLOADPATH@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GPG = @GPG@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GREP = @GREP@ GSASL_LIBS = @GSASL_LIBS@ GUILE_BINDIR = @GUILE_BINDIR@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_INCLUDES = @GUILE_INCLUDES@ GUILE_LIBS = @GUILE_LIBS@ GUILE_SCRIPTS = @GUILE_SCRIPTS@ GUILE_SNARF_VERSION = @GUILE_SNARF_VERSION@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTOB = @HAVE_WCTOB@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ INCLUDES = @INCLUDES@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBANUBIS_LIBDEPS = @LIBANUBIS_LIBDEPS@ LIBANUBIS_LTLIBDEPS = @LIBANUBIS_LTLIBDEPS@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_CONFIG = @LIBGNUTLS_CONFIG@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4_DEFS = @M4_DEFS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYSEXITS_H = @SYSEXITS_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ idecrypt_path = @idecrypt_path@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ lisp_LISP = @lisp_LISP@ lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ bin_SCRIPTS = msg2smtp.pl EXTRA_DIST = msg2smtp.txt msg2smtp.pl AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = msg2smtp.pl all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits contrib/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnits contrib/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_SCRIPTS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f $$d$$p; then \ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \ $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \ else :; fi; \ done uninstall-binSCRIPTS: @$(NORMAL_UNINSTALL) @list='$(bin_SCRIPTS)'; for p in $$list; do \ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ rm -f "$(DESTDIR)$(bindir)/$$f"; \ done installcheck-binSCRIPTS: $(bin_SCRIPTS) bad=0; pid=$$$$; list="$(bin_SCRIPTS)"; for p in $$list; do \ case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \ *" $$p "* | *" $(srcdir)/$$p "*) continue;; \ esac; \ f=`echo "$$p" | sed 's,^.*/,,;$(transform)'`; \ for opt in --help --version; do \ if "$(DESTDIR)$(bindir)/$$f" $$opt >c$${pid}_.out \ 2>c$${pid}_.err &2; bad=1; fi; \ done; \ done; rm -f c$${pid}_.???; exit $$bad elc-stamp: $(LISP) @echo 'WARNING: Warnings can be ignored. :-)' @rm -f elc-temp && touch elc-temp if test "$(EMACS)" != no; then \ set x; \ list='$(LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ set x "$$@" "$$d$$p"; shift; \ done; \ shift; \ EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \ else : ; fi @mv -f elc-temp $@ $(am__ELCFILES): elc-stamp @if test "$(EMACS)" != no && test ! -f $@; then \ trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \ if mkdir elc-lock 2>/dev/null; then \ rm -f elc-stamp; \ $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \ rmdir elc-lock; \ else \ while test -d elc-lock; do sleep 1; done; \ test -f elc-stamp; exit $$?; \ fi; \ else : ; fi install-lispLISP: $(lisp_LISP) $(ELCFILES) @$(NORMAL_INSTALL) @if test "$(EMACS)" != no; then \ test -z "$(lispdir)" || $(MKDIR_P) "$(DESTDIR)$(lispdir)"; \ list='$(lisp_LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(lispLISP_INSTALL) '$$d$$p' '$(DESTDIR)$(lispdir)/$$f'"; \ $(lispLISP_INSTALL) "$$d$$p" "$(DESTDIR)$(lispdir)/$$f"; \ if test -f $${p}c; then \ echo " $(lispLISP_INSTALL) '$${p}c' '$(DESTDIR)$(lispdir)/$${f}c'"; \ $(lispLISP_INSTALL) "$${p}c" "$(DESTDIR)$(lispdir)/$${f}c"; \ else : ; fi; \ done; \ else : ; fi uninstall-lispLISP: @$(NORMAL_UNINSTALL) @if test "$(EMACS)" != no; then \ list='$(lisp_LISP)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(lispdir)/$$f' '$(DESTDIR)$(lispdir)/$${f}c'"; \ rm -f "$(DESTDIR)$(lispdir)/$$f" "$(DESTDIR)$(lispdir)/$${f}c"; \ done; \ else : ; fi clean-lisp: -rm -f elc-stamp $(ELCFILES) tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(SCRIPTS) $(LISP) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(lispdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-lisp mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-lispLISP install-dvi: install-dvi-am install-exec-am: install-binSCRIPTS install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: installcheck-binSCRIPTS maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binSCRIPTS uninstall-lispLISP .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-lisp \ distclean distclean-generic distdir dvi dvi-am html html-am \ info info-am install install-am install-binSCRIPTS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-lispLISP install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am \ installcheck-binSCRIPTS installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am uninstall-binSCRIPTS \ uninstall-lispLISP # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: anubis-4.1.1+dfsg1/contrib/Makefile.am0000600000175000017500000000157111121752642015241 0ustar kbkb## ## contrib/Makefile.am ## ## This file is part of GNU Anubis. ## Copyright (C) 2001, 2002, 2003, 2007 The Anubis Team. ## ## GNU Anubis is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by the ## Free Software Foundation; either version 3 of the License, or (at your ## option) any later version. ## ## GNU Anubis is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License along ## with GNU Anubis. If not, see . ## bin_SCRIPTS = msg2smtp.pl EXTRA_DIST = msg2smtp.txt msg2smtp.pl AM_INSTALLCHECK_STD_OPTIONS_EXEMPT=msg2smtp.pl ## EOF anubis-4.1.1+dfsg1/contrib/msg2smtp.pl0000700000175000017500000001613511121752642015321 0ustar kbkb#!/usr/bin/perl # $Id$ my $usage = qq! $0 takes a mail message on STDIN and relays it to an SMTP server. $0 -h HOST [options] -h HOST (hostname of SMTP server, often 'localhost') Options: -p PORT (port of the SMTP server) -e HELO_DOMAIN (domain we use when to say helo to smtp server) -U USERNAME (ESMTP auth username) -P PASSWORD (ESMTP auth password) -m MECHANISM (ESMTP auth mechanism - default is PLAIN) -d (shows SMTP conversation and perl debugging) !; #------------------------------------------ # INDEX # 0. GPL License # 1. Module Dependencies # 2. Set options by Command-line Arguments # 3. Read Message by STDIN # 4. Extend Net::SMTP to allow us to choose an auth mechanism # 5. Send message via SMTP #------------------------------------------ # 0. GPL License # # This file is part of GNU Anubis. # Copyright (C) 2001, 2002, 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # msg2smtp.pl code: Michael de Beer # ext_auth() mainly taken from the Net::SMTP module # # http://www.gnu.org/software/anubis/ # #------------------------------------------ # 1. Module Dependencies use warnings; use strict; use Getopt::Std; use vars qw!$opt_h $opt_p $opt_e $opt_U $opt_P $opt_d $opt_m!; # REQUIRED MODULES: use Mail::Address; use Net::SMTP; # perl -MCPAN -e 'install Mail::Address' # perl -MCPAN -e 'install Net::SMTP' # OPTIONAL MODULES: Authen:SASL (for ESMTP auth) # perl -MCPAN -e 'install Authen::SASL' # Note: this script originally used functions from Mail::Box to: # * parse messages and # * interface with Net::SMTP # However, I discovered Mail::Box did not support these options: # 'port username password' # So, I am not using Mail::Box. # # use Mail::Box; use Mail::Transport::SMTP; #------------------------------------------ # 2. Set options by Command-line Arguments getopts('dh:p:e:U:P:m:'); my (%smtp_options, $host, $username, $password, $auth_mech); if ($opt_h) { $host = $opt_h; } else { print $usage, "\n"; exit(255); } $smtp_options{Port} = $opt_p if ($opt_p); $smtp_options{Hello} = $opt_e if ($opt_e); $smtp_options{Debug} = 1 if ($opt_d); $username = $opt_U if ($opt_U); $password = $opt_P if ($opt_P); $auth_mech = $opt_m ? $opt_m : 'PLAIN'; # not tested other AUTH mechanisms #------------------------------------------ # 3. Read Message by STDIN # read the message and parse the headers for RCPT and FROM my ($from, @rcpt); my ($txt_head) = ''; my ($txt_body) = ''; # the only trick thing are To: lines that are folded # I deal with that with 4 Rules, below. my ($tmp, $readyflag, $chunk, @to_addresses); $readyflag = 0; HEAD: while ($tmp = ) { # Rule 1: If the line is a blank line, exit HEAD section if ($tmp =~ /^$/) { if ($readyflag eq 1) { last; } else { next HEAD; } } # Rule 2: If it is a folded line, add line to $chunk, skip to next line if ($tmp =~ /^\s+\S+/) { $chunk .= $tmp; next HEAD }; # Rule 3: If it is not a folded line, process old chunk $_ = $chunk ? $chunk : ''; if (/^From:/i) { s/^From://i; my @from_addresses; @from_addresses = Mail::Address->parse($_); $from = pop(@from_addresses)->address; die "From: address invalid" unless $from; die "there is more than one From: address" if @from_addresses; $readyflag = 1; } elsif (/^(To|CC|BCC):/i) { s/^(To|CC|BCC)://i; @to_addresses = (); # re-initialize because we re-enter this loop @to_addresses = Mail::Address->parse($_); foreach my $obj (@to_addresses) { push @rcpt, $obj->address; } } $txt_head .= $chunk if ($chunk); # Rule 4: start a new chunk $chunk = $tmp; } while () { $txt_body .= $_; } #if ($smtp_options{Debug}) { # print "\n---BEGINNING OF DEBUG---\n"; # print "From: $from\n"; map {print "To: $_\n"} @rcpt; # print "MsgBody:\n$txt_body\n"; # print "---END OF DEBUG---\n"; #} #------------------------------------------ # 4. Extend Net::SMTP to allow us to choose and auth mechanism # We make an extend-auth method, as Net::SMTP::auth() # does not seem to accurately pick a mechanism package Net::SMTP; sub ext_auth { # taken from Net::SMTP, only modify $mechanisms my ($self, $username, $password, $mechanisms) = @_; require MIME::Base64; require Authen::SASL; my $m = $self->supports('AUTH',500,["Command unknown: 'AUTH'"]); return unless defined $m; my $sasl; if (ref($username) and UNIVERSAL::isa($username,'Authen::SASL')) { $sasl = $username; $sasl->mechanism($mechanisms); } else { die "auth(username, password)" if not length $username; $sasl = Authen::SASL->new(mechanism=> $mechanisms, callback => { user => $username, pass => $password, authname => $username, }); } my $client = $sasl->client_new('smtp',${*$self}{'net_smtp_host'},0); my $str = $client->client_start; # We dont support sasl mechanisms that encrypt the socket traffic. # todo that we would really need to change the ISA hierarchy # so we dont inherit from IO::Socket, but instead hold it in an attribute my @cmd = ("AUTH", $client->mechanism, MIME::Base64::encode_base64($str,'')); my $code; while (($code = $self->command(@cmd)->response()) == CMD_MORE) { @cmd = (MIME::Base64::encode_base64( $client->client_step( MIME::Base64::decode_base64( ($self->message)[0] ) ), '' )); } $code == CMD_OK; } #------------------------------------------ # 5. Send message via SMTP package main; my $smtp = Net::SMTP->new($host, %smtp_options); $smtp or die "failed to connect to SMTP server"; if ($username) { print "WARNING: failed ESMTP auth using username '$username'...trying to send anyway\n" unless $smtp->ext_auth ($username, $password, $auth_mech); }; $smtp->mail($from) or die "server rejected FROM address '$from'"; $smtp->to(@rcpt, {SkipBad => 1}) or die "server rejected all TO addresses"; $smtp->data() or die "server crashed while preparing to send DATA"; $smtp->datasend($txt_head) or die "server crashed while sending DATA.1"; $smtp->datasend("\n") or die "server crashed while sending DATA.2"; $smtp->datasend($txt_body) or die "server crashed while sending DATA.3"; $smtp->dataend() or die "server crashed while ending DATA"; $smtp->quit or die "server crashed while quiting - message may not be lost";; __END__ # EOF anubis-4.1.1+dfsg1/contrib/msg2smtp.txt0000600000175000017500000000175611121752642015527 0ustar kbkbmsg2smtp.pl is designed to be a 'bridge' between Mutt and GNU Anubis: MUA (Mutt) --> msg2smtp.pl --> Anubis --> remote or local MTA msg2smtp.pl can be used whenever you want to convert a mail message on STDIN and talk to an SMTP server as output. If you want to use this script with Mutt, add this to Mutt configuration file: set sendmail="/PATHTO/msg2smtp.pl -h localhost" If you run GNU Anubis on port 4000, you would put this line in your muttrc: set sendmail="/PATHTO/msg2smtp.pl -h localhost -p 4000" msg2smtp.pl takes a mail message on STDIN and relays it to an SMTP server. msg2smtp.pl -h HOST [options] -h HOST (hostname of SMTP server, often 'localhost') Options: -p PORT (port of the SMTP server) -e HELO_DOMAIN (domain we use when to say helo to smtp server) -U USERNAME (ESMTP auth username) -P PASSWORD (ESMTP auth password) -m MECHANISM (ESMTP auth mechanism - default is PLAIN) -d (shows SMTP conversation and perl debugging) EOF anubis-4.1.1+dfsg1/COPYING0000600000175000017500000010437411121752642012605 0ustar kbkb GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . anubis-4.1.1+dfsg1/Makefile.am0000600000175000017500000000351011122032735013567 0ustar kbkb## ## Makefile.am ## ## This file is part of GNU Anubis. ## Copyright (C) 2001, 2002, 2003, 2004, 2007, 2008 The Anubis Team. ## ## GNU Anubis is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by the ## Free Software Foundation; either version 3 of the License, or (at your ## option) any later version. ## ## GNU Anubis is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License along ## with GNU Anubis. If not, see . ## AUTOMAKE_OPTIONS = 1.8.5 gnits ACLOCAL_AMFLAGS = -I m4 -I am SUBDIRS = build lib src po doc scripts examples guile contrib \ elisp testsuite .PHONY: make-ChangeLog make-ChangeLog: if test -d .git; then \ perl $(top_srcdir)/build/gitlog-to-changelog --since=2008-12-16 | \ sed '/$$/d' | fmt -s > $(distdir)/cl-t; \ echo >> $(distdir)/cl-t; \ cat ChangeLog-CVS-old >> $(distdir)/cl-t; \ rm -f $(distdir)/ChangeLog; \ mv $(distdir)/cl-t $(distdir)/ChangeLog; \ fi dist-hook: make-ChangeLog .PHONY: ChangeLog ChangeLog: if test -d .git && test -f ChangeLog-CVS-old; then \ perl $(top_srcdir)/build/gitlog-to-changelog --since=2008-12-16 | \ sed '/$$/d' | fmt -s > ChangeLog; \ echo >> ChangeLog; \ cat ChangeLog-CVS-old >> ChangeLog; \ fi ## EOF anubis-4.1.1+dfsg1/guile/0000700000175000017500000000000011123153366012644 5ustar kbkbanubis-4.1.1+dfsg1/guile/Makefile.in0000600000175000017500000005645511122764063014733 0ustar kbkb# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = guile DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/am/anubis.m4 \ $(top_srcdir)/am/gpgme.m4 $(top_srcdir)/am/gsasl.m4 \ $(top_srcdir)/am/guile.m4 $(top_srcdir)/am/libgnutls.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fseeko.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpass.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/onceonly.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd_h.m4 \ $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(lispdir)" "$(DESTDIR)$(pkgdatadir)" lispLISP_INSTALL = $(INSTALL_DATA) LISP = $(lisp_LISP) pkgdataDATA_INSTALL = $(INSTALL_DATA) DATA = $(pkgdata_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ANUBIS_BIN_ADM = @ANUBIS_BIN_ADM@ ANUBIS_DEFINES = @ANUBIS_DEFINES@ ANUBIS_GPGFILES = @ANUBIS_GPGFILES@ ANUBIS_LIBOBJS = @ANUBIS_LIBOBJS@ ANUBIS_SBIN_ADM = @ANUBIS_SBIN_ADM@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMACS = @EMACS@ EMACSLOADPATH = @EMACSLOADPATH@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GPG = @GPG@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GREP = @GREP@ GSASL_LIBS = @GSASL_LIBS@ GUILE_BINDIR = @GUILE_BINDIR@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_INCLUDES = @GUILE_INCLUDES@ GUILE_LIBS = @GUILE_LIBS@ GUILE_SCRIPTS = @GUILE_SCRIPTS@ GUILE_SNARF_VERSION = @GUILE_SNARF_VERSION@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTOB = @HAVE_WCTOB@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ INCLUDES = @INCLUDES@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBANUBIS_LIBDEPS = @LIBANUBIS_LIBDEPS@ LIBANUBIS_LTLIBDEPS = @LIBANUBIS_LTLIBDEPS@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_CONFIG = @LIBGNUTLS_CONFIG@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4_DEFS = @M4_DEFS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYSEXITS_H = @SYSEXITS_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ idecrypt_path = @idecrypt_path@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ lisp_LISP = @lisp_LISP@ lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ GUILE_SCM = rot-13.scm remailer.scm entire-msg.scm pkgdata_DATA = @GUILE_SCRIPTS@ EXTRA_DIST = rot-13.scm remailer.scm entire-msg.scm all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits guile/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnits guile/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh elc-stamp: $(LISP) @echo 'WARNING: Warnings can be ignored. :-)' @rm -f elc-temp && touch elc-temp if test "$(EMACS)" != no; then \ set x; \ list='$(LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ set x "$$@" "$$d$$p"; shift; \ done; \ shift; \ EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \ else : ; fi @mv -f elc-temp $@ $(am__ELCFILES): elc-stamp @if test "$(EMACS)" != no && test ! -f $@; then \ trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \ if mkdir elc-lock 2>/dev/null; then \ rm -f elc-stamp; \ $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \ rmdir elc-lock; \ else \ while test -d elc-lock; do sleep 1; done; \ test -f elc-stamp; exit $$?; \ fi; \ else : ; fi install-lispLISP: $(lisp_LISP) $(ELCFILES) @$(NORMAL_INSTALL) @if test "$(EMACS)" != no; then \ test -z "$(lispdir)" || $(MKDIR_P) "$(DESTDIR)$(lispdir)"; \ list='$(lisp_LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(lispLISP_INSTALL) '$$d$$p' '$(DESTDIR)$(lispdir)/$$f'"; \ $(lispLISP_INSTALL) "$$d$$p" "$(DESTDIR)$(lispdir)/$$f"; \ if test -f $${p}c; then \ echo " $(lispLISP_INSTALL) '$${p}c' '$(DESTDIR)$(lispdir)/$${f}c'"; \ $(lispLISP_INSTALL) "$${p}c" "$(DESTDIR)$(lispdir)/$${f}c"; \ else : ; fi; \ done; \ else : ; fi uninstall-lispLISP: @$(NORMAL_UNINSTALL) @if test "$(EMACS)" != no; then \ list='$(lisp_LISP)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(lispdir)/$$f' '$(DESTDIR)$(lispdir)/$${f}c'"; \ rm -f "$(DESTDIR)$(lispdir)/$$f" "$(DESTDIR)$(lispdir)/$${f}c"; \ done; \ else : ; fi clean-lisp: -rm -f elc-stamp $(ELCFILES) install-pkgdataDATA: $(pkgdata_DATA) @$(NORMAL_INSTALL) test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" @list='$(pkgdata_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \ $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \ done uninstall-pkgdataDATA: @$(NORMAL_UNINSTALL) @list='$(pkgdata_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ done tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LISP) $(DATA) installdirs: for dir in "$(DESTDIR)$(lispdir)" "$(DESTDIR)$(pkgdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-lisp mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-lispLISP install-pkgdataDATA install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-lispLISP uninstall-pkgdataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-lisp \ distclean distclean-generic distdir dvi dvi-am html html-am \ info info-am install install-am install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-lispLISP install-man install-pdf install-pdf-am \ install-pkgdataDATA install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am uninstall-lispLISP \ uninstall-pkgdataDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: anubis-4.1.1+dfsg1/guile/entire-msg.scm0000600000175000017500000001421311121752642015425 0ustar kbkb;;; ;;; entire-msg.scm ;;; ;;; This file is part of GNU Anubis. ;;; Copyright (C) 2003, 2004, 2007, 2008 The Anubis Team. ;;; ;;; GNU Anubis is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by the ;;; Free Software Foundation; either version 3 of the License, or (at your ;;; option) any later version. ;;; ;;; GNU Anubis is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License along ;;; with GNU Anubis. If not, see . (use-modules (ice-9 popen) (ice-9 rdelim)) ;; Starts program PROG with arguments ARGS ;; Returns a list: ;; (PID OUTPUT-PORT INPUT-PORT) ;; Where ;; PID -- pid of the program ;; OUTPUT-PORT -- output port connected to the stdin of the program ;; INPUT-PORT -- input port connected to the stdout of the program ;; Note: ;; When no longer needed, the returned list must be fed to ;; (close-subprocess). See below. (define (create-subprocess prog args) (let ((inp (pipe)) (outp (pipe)) (pid (primitive-fork))) (setvbuf (cdr inp) _IONBF) (setvbuf (cdr outp) _IONBF) ;; (car inp) -> child current-input-port ;; (cdr inp) -> parent write port ;; (car outp) -> parent read port ;; (cdr outp) -> child current-output-port (cond ((= pid 0) ;; Child (let ((in-fd (fileno (car inp))) (out-fd (fileno (cdr outp))) (err-fd (fileno (current-error-port)))) (port-for-each (lambda (pt-entry) (false-if-exception (let ((pt-fileno (fileno pt-entry))) (if (not (or (= pt-fileno in-fd) (= pt-fileno out-fd) (= pt-fileno err-fd))) (close-fdes pt-fileno)))))) ;; copy the three selected descriptors to the standard ;; descriptors 0, 1, 2. (cond ((not (= in-fd 0)) (if (= out-fd 0) (set! out-fd (dup->fdes 0))) (if (= err-fd 0) (set! err-fd (dup->fdes 0))) (dup2 in-fd 0))) (cond ((not (= out-fd 1)) (if (= err-fd 1) (set! err-fd (dup->fdes 1))) (dup2 out-fd 1))) (dup2 err-fd 2) (apply execlp prog prog args))) (else ;; Parent (close-port (car inp)) (close-port (cdr outp)) (list pid (cdr inp) (car outp)))))) ;; Closes the communication channels and destroys the subprocess created ;; by (create-subprocess) (define (close-subprocess p) (close-port (list-ref p 1)) (close-port (list-ref p 2)) (silent-waitpid (car p))) ;; Auxiliary function. Asynchronously feeds data to external program. ;; Returns pid of the feeder process. (define (writer outport hdr body) (let ((pid (primitive-fork))) (cond ((= pid 0) (with-output-to-port outport (lambda () (for-each (lambda (x) (display (car x)) (display ": ") (display (cdr x)) (newline)) hdr) (newline) (display body))) (port-for-each close-port) (primitive-exit 0)) (else ;; Parent (close-port outport) pid)))) ;; Auxiliary function. Returns #t if LINE is an empty line. (define (empty-line? line) (or (eof-object? line) (string-null? line))) ;; Read RFC822 headers from current input port and convert them ;; to the form understandable by Anubis (define (read-headers port) (let ((hdr-list '()) (header-name #f) (header-value "")) (do ((line (read-line port) (read-line port))) ((empty-line? line) #t) (cond ((char-whitespace? (string-ref line 0)) (set! header-value (string-append header-value line))) (else (if header-name (set! hdr-list (append hdr-list (list (cons header-name header-value))))) (let ((off (string-index line #\:))) (set! header-name (substring line 0 off)) (set! header-value (substring line (do ((i (1+ off) (1+ i))) ((not (char-whitespace? (string-ref line i))) i)))))))) (if header-name (set! hdr-list (append hdr-list (list (cons header-name header-value))))) hdr-list)) ;; Read message body from the current input port (define (read-body port) (let ((text-list '())) (do ((line (read-line port) (read-line port))) ((eof-object? line) #t) (set! text-list (append text-list (list line "\n")))) (apply string-append text-list))) ;; Auxiliary function. Reads output from the external program and ;; converts it to the internal Anubis representation. (define (reader inport) (cons (read-headers inport) (read-body inport))) (define (optarg-value opt-args tag) (cond ((member tag opt-args) => (lambda (x) (car (cdr x)))) (else #f))) (define (silent-waitpid pid) (catch #t (lambda () (waitpid pid)) (lambda args #t))) ;; A Guile interface for feeding entire message (including headers) ;; to an external program. ;; ;; Usage: ;; BEGIN GUILE ;; guile-load-program entire-msg.scm ;; END ;; ;; SECTION RULE ;; guile-process entire-msg-filter PROGNAME [ARGS...] (define (entire-msg-filter hdr body . rest) (let ((progname (car rest)) (args (cdr rest))) (let* ((p (create-subprocess progname args)) (wrpid (writer (list-ref p 1) hdr body))) (let ((ret (reader (list-ref p 2)))) (silent-waitpid wrpid) (close-subprocess p) ret)))) ;; Openssl version 0.9.7d exhibits strange lossage: it attempts to ;; rewind the input stream even if it is a pipe. To overcome this, ;; we have to use a temporary file. ;; ;; Usage: ;; BEGIN GUILE ;; guile-load-program entire-msg.scm ;; END ;; ;; BEGIN RULE ;; guile-process openssl-filter /path/to/openssl smime -sign -signer FILE ;; END (define (openssl-filter hdr body . rest) (let ((progname (car rest)) (args (cdr rest)) (tempfile "/tmp/ANXXXXXX")) (mkstemp! tempfile) (with-output-to-file tempfile (lambda () (display body))) (let* ((p (create-subprocess progname (append args (list "-in" tempfile))))) (let ((ret (reader (list-ref p 2)))) (close-subprocess p) (delete-file tempfile) (cons (append hdr (car ret)) (cdr ret)))))) ;; End of entire-msg.scm anubis-4.1.1+dfsg1/guile/remailer.scm0000600000175000017500000000366111121752642015160 0ustar kbkb;;; ;;; remailer.scm ;;; ;;; This file is part of GNU Anubis. ;;; Copyright (C) 2003, 2004, 2007 The Anubis Team. ;;; ;;; GNU Anubis is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by the ;;; Free Software Foundation; either version 3 of the License, or (at your ;;; option) any later version. ;;; ;;; GNU Anubis is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License along ;;; with GNU Anubis. If not, see . (define (get-opt-arg opt-args tag) (cond ((member tag opt-args) => (lambda (x) (car (cdr x)))) (else #f))) (define (remailer-I hdr body . rest) "Reformat the body of the message so it can be used with type-I remailers. Keyword arguments are: #:rrt address -- Add Anon-To: header #:post address -- Add Anon-Post-To: header #:latent time -- Add Latent-Time: header #:random -- Add random suffix to the latent time. #:header header -- Add remailer header" (let* ((pfx (string-append (cond ((get-opt-arg rest #:rrt) => (lambda (x) (string-append "Anon-To: " x "\n"))) (else "")) (cond ((get-opt-arg rest #:post) => (lambda (x) (string-append "Anon-Post-To: " x "\n"))) (else "")) (cond ((get-opt-arg rest #:latent) => (lambda (x) (string-append "Latent-Time: +" x (if (member #:random rest) "r" "") "\n"))) (else "")) (cond ((get-opt-arg rest #:header) => (lambda (x) (string-append "##\n" x "\n"))) (else ""))))) (if (string-null? pfx) (cons #t #t) (cons #t (string-append "::\n" pfx "\n" body))))) ;;;; End of remailer.scm anubis-4.1.1+dfsg1/guile/rot-13.scm0000600000175000017500000000313211121752642014376 0ustar kbkb;;; ;;; rot-13.scm ;;; ;;; This file is part of GNU Anubis. ;;; Copyright (C) 2003, 2004, 2007 The Anubis Team. ;;; ;;; GNU Anubis is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by the ;;; Free Software Foundation; either version 3 of the License, or (at your ;;; option) any later version. ;;; ;;; GNU Anubis is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License along ;;; with GNU Anubis. If not, see . (define (rot-13-text input) "Encode the text using ROT-13 method" (let* ((text (string-append "" input)) (length (string-length text))) (do ((i 0 (1+ i))) ((>= i length) text) (let ((c (string-ref text i))) (cond ((char-lower-case? c) (string-set! text i (integer->char (+ 97 (modulo (+ (- (char->integer c) 97) 13) 26))))) ((char-upper-case? c) (string-set! text i (integer->char (+ 65 (modulo (+ (- (char->integer c) 65) 13) 26)))))))))) (define (rot-13 hdr body . rest) (let ((rs (lambda (h) (map (lambda (x) (if (string-ci=? (car x) "subject") (cons (car x) (rot-13-text (cdr x))) x)) h)))) (if (null? rest) (cons (rs hdr) (rot-13-text body)) (cons (if (member #:subject rest) (rs hdr) #t) (if (member #:body rest) (rot-13-text body) #t))))) anubis-4.1.1+dfsg1/guile/Makefile.am0000600000175000017500000000160211121752642014701 0ustar kbkb## ## guile/Makefile.am ## ## This file is part of GNU Anubis. ## Copyright (C) 2003, 2007 The Anubis Team. ## ## GNU Anubis is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by the ## Free Software Foundation; either version 3 of the License, or (at your ## option) any later version. ## ## GNU Anubis is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License along ## with GNU Anubis. If not, see . ## GUILE_SCM = rot-13.scm remailer.scm entire-msg.scm pkgdata_DATA = @GUILE_SCRIPTS@ EXTRA_DIST = rot-13.scm remailer.scm entire-msg.scm ## EOF anubis-4.1.1+dfsg1/README-alpha0000600000175000017500000000312211122030341013464 0ustar kbkbThis file is part of the GNU Anubis package. This document describes the actions needed to build the pre-release or alpha version of the package. See end of file for copying conditions. * Introduction This is a *pre-release* version, and not ready for production use yet. Please send comments and problem reports to . * Building Run the following commands in this order: 1. ./configure [OPTIONS] See README and INSTALL for the available OPTIONS 2. make 3. make install This usually must be done with root privileges. * Checking Out the Sources The following instructions apply if you wish to obtain sources from the Git repository. To checkout the source tree from Git issue the following command: git clone git://git.savannah.gnu.org/anubis.git This will give you read-only access. If you think you need write access, contact the mailing list. Read the file README-hacking for the instructions on bootstrapping the Git version. * Copyright information Copyright (C) 2001, 2002, 2003, 2004, 2007, 2008 The Anubis Team. Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the copyright notice and this permission notice are preserved, thus giving the recipient permission to redistribute in turn. Permission is granted to distribute modified versions of this document, or of portions of it, under the above conditions, provided also that they carry prominent notices stating who last changed them. Local Variables: mode: outline paragraph-separate: "[ ]*$" version-control: never End: anubis-4.1.1+dfsg1/m4/0000700000175000017500000000000011123153363012054 5ustar kbkbanubis-4.1.1+dfsg1/m4/lseek.m40000600000175000017500000000277211014340464013432 0ustar kbkb# lseek.m4 serial 4 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_LSEEK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) AC_CACHE_CHECK([whether lseek detects pipes], [gl_cv_func_lseek_pipe], [if test $cross_compiling = no; then AC_LINK_IFELSE([ #include /* for off_t */ #include /* for SEEK_CUR */ #include int main () { /* Exit with success only if stdin is seekable. */ return lseek (0, (off_t)0, SEEK_CUR) < 0; }], [if test -s conftest$ac_exeext \ && ./conftest$ac_exeext < conftest.$ac_ext \ && { echo hi | ./conftest$ac_exeext; test $? = 1; }; then gl_cv_func_lseek_pipe=yes else gl_cv_func_lseek_pipe=no fi], [gl_cv_func_lseek_pipe=no]) else AC_COMPILE_IFELSE([ #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__ /* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */ Choke me. #endif], [gl_cv_func_lseek_pipe=yes], [gl_cv_func_lseek_pipe=no]) fi]) if test $gl_cv_func_lseek_pipe = no; then gl_REPLACE_LSEEK fi ]) AC_DEFUN([gl_REPLACE_LSEEK], [ AC_LIBOBJ([lseek]) AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) REPLACE_LSEEK=1 AC_DEFINE([LSEEK_PIPE_BROKEN], [1], [Define to 1 if lseek does not detect pipes.]) ]) anubis-4.1.1+dfsg1/m4/eealloc.m40000600000175000017500000000170411014340464013725 0ustar kbkb# eealloc.m4 serial 1 dnl Copyright (C) 2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_EEALLOC], [ AC_REQUIRE([gl_EEMALLOC]) AC_REQUIRE([gl_EEREALLOC]) AC_REQUIRE([AC_C_INLINE]) ]) AC_DEFUN([gl_EEMALLOC], [ _AC_FUNC_MALLOC_IF( [gl_cv_func_malloc_0_nonnull=1], [gl_cv_func_malloc_0_nonnull=0]) AC_DEFINE_UNQUOTED([MALLOC_0_IS_NONNULL], $gl_cv_func_malloc_0_nonnull, [If malloc(0) is != NULL, define this to 1. Otherwise define this to 0.]) ]) AC_DEFUN([gl_EEREALLOC], [ _AC_FUNC_REALLOC_IF( [gl_cv_func_realloc_0_nonnull=1], [gl_cv_func_realloc_0_nonnull=0]) AC_DEFINE_UNQUOTED([REALLOC_0_IS_NONNULL], $gl_cv_func_realloc_0_nonnull, [If realloc(NULL,0) is != NULL, define this to 1. Otherwise define this to 0.]) ]) anubis-4.1.1+dfsg1/m4/string_h.m40000600000175000017500000000754111066744375014163 0ustar kbkb# Configure a GNU-like replacement for . # Copyright (C) 2007, 2008 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # Written by Paul Eggert. AC_DEFUN([gl_HEADER_STRING_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_HEADER_STRING_H_BODY]) ]) AC_DEFUN([gl_HEADER_STRING_H_BODY], [ AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([string.h]) ]) AC_DEFUN([gl_STRING_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], [ GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR]) GNULIB_RAWMEMCHR=0; AC_SUBST([GNULIB_RAWMEMCHR]) GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY]) GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY]) GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL]) GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP]) GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP]) GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN]) GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK]) GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP]) GNULIB_STRSTR=0; AC_SUBST([GNULIB_STRSTR]) GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR]) GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R]) GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN]) GNULIB_MBSNLEN=0; AC_SUBST([GNULIB_MBSNLEN]) GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR]) GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR]) GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR]) GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP]) GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP]) GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP]) GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR]) GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN]) GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK]) GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN]) GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP]) GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR]) HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR]) HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY]) HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY]) HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL]) HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP]) HAVE_STRNDUP=1; AC_SUBST([HAVE_STRNDUP]) HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP]) HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN]) HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK]) HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP]) HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR]) HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R]) HAVE_DECL_STRERROR=1; AC_SUBST([HAVE_DECL_STRERROR]) HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL]) HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP]) REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP]) REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) ]) anubis-4.1.1+dfsg1/m4/strerror.m40000600000175000017500000000442111066744375014222 0ustar kbkb# strerror.m4 serial 9 dnl Copyright (C) 2002, 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRERROR], [ AC_REQUIRE([gl_FUNC_STRERROR_SEPARATE]) if test $REPLACE_STRERROR = 1; then AC_LIBOBJ([strerror]) AC_DEFINE_UNQUOTED([REPLACE_STRERROR], [$REPLACE_STRERROR], [Define this to 1 if strerror is broken.]) fi ]) # Like gl_FUNC_STRERROR, except prepare for separate compilation (no AC_LIBOBJ). AC_DEFUN([gl_FUNC_STRERROR_SEPARATE], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REQUIRE([gl_HEADER_ERRNO_H]) if test -z "$ERRNO_H"; then AC_CACHE_CHECK([for working strerror function], [gl_cv_func_working_strerror], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[return !*strerror (-2);]])], [gl_cv_func_working_strerror=yes], [gl_cv_func_working_strerror=no], [dnl Assume crossbuild works if it compiles. AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[return !*strerror (-2);]])], [gl_cv_func_working_strerror=yes], [gl_cv_func_working_strerror=no]) ]) ]) if test $gl_cv_func_working_strerror = no; then dnl The system's strerror() fails to return a string for out-of-range dnl integers. Replace it. REPLACE_STRERROR=1 fi else dnl The system's strerror() cannot know about the new errno values we add dnl to . Replace it. REPLACE_STRERROR=1 fi if test $REPLACE_STRERROR = 1; then gl_PREREQ_STRERROR fi ]) # Prerequisites of lib/strerror.c. AC_DEFUN([gl_PREREQ_STRERROR], [ AC_CHECK_DECLS([strerror]) AC_CHECK_HEADERS_ONCE([sys/socket.h]) if test $ac_cv_header_sys_socket_h != yes; then dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make dnl the check for those headers unconditional; yet cygwin reports dnl that the headers are present but cannot be compiled (since on dnl cygwin, all socket information should come from sys/socket.h). AC_CHECK_HEADERS([winsock2.h]) fi ]) anubis-4.1.1+dfsg1/m4/malloc.m40000600000175000017500000000267511014340464013600 0ustar kbkb# malloc.m4 serial 8 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # gl_FUNC_MALLOC_POSIX # -------------------- # Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it # fails), and replace malloc if it is not. AC_DEFUN([gl_FUNC_MALLOC_POSIX], [ AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) if test $gl_cv_func_malloc_posix = yes; then HAVE_MALLOC_POSIX=1 AC_DEFINE([HAVE_MALLOC_POSIX], 1, [Define if the 'malloc' function is POSIX compliant.]) else AC_LIBOBJ([malloc]) HAVE_MALLOC_POSIX=0 fi AC_SUBST([HAVE_MALLOC_POSIX]) ]) # Test whether malloc, realloc, calloc are POSIX compliant, # Set gl_cv_func_malloc_posix to yes or no accordingly. AC_DEFUN([gl_CHECK_MALLOC_POSIX], [ AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant], [gl_cv_func_malloc_posix], [ dnl It is too dangerous to try to allocate a large amount of memory: dnl some systems go to their knees when you do that. So assume that dnl all Unix implementations of the function are POSIX compliant. AC_TRY_COMPILE([], [#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ choke me #endif ], [gl_cv_func_malloc_posix=yes], [gl_cv_func_malloc_posix=no]) ]) ]) anubis-4.1.1+dfsg1/m4/realloc.m40000600000175000017500000000141611014340464013742 0ustar kbkb# realloc.m4 serial 8 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # gl_FUNC_REALLOC_POSIX # --------------------- # Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it # fails), and replace realloc if it is not. AC_DEFUN([gl_FUNC_REALLOC_POSIX], [ AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) if test $gl_cv_func_malloc_posix = yes; then HAVE_REALLOC_POSIX=1 AC_DEFINE([HAVE_REALLOC_POSIX], 1, [Define if the 'realloc' function is POSIX compliant.]) else AC_LIBOBJ([realloc]) HAVE_REALLOC_POSIX=0 fi AC_SUBST([HAVE_REALLOC_POSIX]) ]) anubis-4.1.1+dfsg1/m4/strdup.m40000600000175000017500000000166411066744375013667 0ustar kbkb# strdup.m4 serial 10 dnl Copyright (C) 2002-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRDUP], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REPLACE_FUNCS(strdup) AC_CHECK_DECLS_ONCE(strdup) if test $ac_cv_have_decl_strdup = no; then HAVE_DECL_STRDUP=0 fi gl_PREREQ_STRDUP ]) AC_DEFUN([gl_FUNC_STRDUP_POSIX], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) if test $gl_cv_func_malloc_posix != yes; then REPLACE_STRDUP=1 AC_LIBOBJ([strdup]) else AC_REPLACE_FUNCS(strdup) fi AC_CHECK_DECLS_ONCE(strdup) if test $ac_cv_have_decl_strdup = no; then HAVE_DECL_STRDUP=0 fi gl_PREREQ_STRDUP ]) # Prerequisites of lib/strdup.c. AC_DEFUN([gl_PREREQ_STRDUP], [:]) anubis-4.1.1+dfsg1/m4/fseeko.m40000600000175000017500000000167411014340464013603 0ustar kbkb# fseeko.m4 serial 4 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FSEEKO], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_STDIN_LARGE_OFFSET]) dnl Persuade glibc to declare fseeko(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CACHE_CHECK([for fseeko], [gl_cv_func_fseeko], [ AC_TRY_LINK([#include ], [fseeko (stdin, 0, 0);], [gl_cv_func_fseeko=yes], [gl_cv_func_fseeko=no]) ]) if test $gl_cv_func_fseeko = no; then HAVE_FSEEKO=0 gl_REPLACE_FSEEKO elif test $gl_cv_var_stdin_large_offset = no; then gl_REPLACE_FSEEKO fi ]) AC_DEFUN([gl_REPLACE_FSEEKO], [ AC_LIBOBJ([fseeko]) AC_REQUIRE([gl_STDIO_H_DEFAULTS]) REPLACE_FSEEKO=1 ]) anubis-4.1.1+dfsg1/m4/xalloc.m40000600000175000017500000000105511014340464013602 0ustar kbkb# xalloc.m4 serial 16 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XALLOC], [ AC_LIBOBJ([xmalloc]) gl_PREREQ_XALLOC gl_PREREQ_XMALLOC ]) # Prerequisites of lib/xalloc.h. AC_DEFUN([gl_PREREQ_XALLOC], [ AC_REQUIRE([gl_INLINE]) : ]) # Prerequisites of lib/xmalloc.c. AC_DEFUN([gl_PREREQ_XMALLOC], [ : ]) anubis-4.1.1+dfsg1/m4/gettext.m40000600000175000017500000003463511122020725014011 0ustar kbkb# gettext.m4 serial 60 (gettext-0.17) dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AC_REQUIRE([AM_NLS]) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl Add a version number to the cache macros. case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH(included-gettext, [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], [AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], [$gt_func_gnugettext_libintl], [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE(HAVE_GETTEXT, 1, [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE(HAVE_DCGETTEXT, 1, [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST(BUILD_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL) AC_SUBST(CATOBJEXT) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST(DATADIRNAME) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST(INSTOBJEXT) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST(GENCAT) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST(INTLOBJS) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST(INTLLIBS) dnl Make all documented variables known to autoconf. AC_SUBST(LIBINTL) AC_SUBST(LTLIBINTL) AC_SUBST(POSUB) ]) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. m4_define([gt_NEEDS_INIT], [ m4_divert_text([DEFAULTS], [gt_needs=]) m4_define([gt_NEEDS_INIT], []) ]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) AC_DEFUN([AM_GNU_GETTEXT_NEED], [ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) AC_DEFUN([gl_LOCK_EARLY], []) anubis-4.1.1+dfsg1/m4/iconv.m40000600000175000017500000001375311014340464013446 0ustar kbkb# iconv.m4 serial AM6 (gettext-0.17) dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_func_iconv=yes) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_lib_iconv=yes am_cv_func_iconv=yes) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [ dnl This tests against bugs in AIX 5.1 and HP-UX 11.11. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi AC_TRY_RUN([ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; }], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], [case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac]) LIBS="$am_save_LIBS" ]) case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function and it works.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST(LIBICONV) AC_SUBST(LTLIBICONV) ]) AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL(am_cv_proto_iconv, [ AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([$]{ac_t:- }[$]am_cv_proto_iconv) AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, [Define as const if the declaration of iconv() needs const.]) fi ]) anubis-4.1.1+dfsg1/m4/include_next.m40000600000175000017500000001505711117246042015011 0ustar kbkb# include_next.m4 serial 10 dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert and Derek Price. dnl Sets INCLUDE_NEXT and PRAGMA_SYSTEM_HEADER. dnl dnl INCLUDE_NEXT expands to 'include_next' if the compiler supports it, or to dnl 'include' otherwise. dnl dnl INCLUDE_NEXT_AS_FIRST_DIRECTIVE expands to 'include_next' if the compiler dnl supports it in the special case that it is the first include directive in dnl the given file, or to 'include' otherwise. dnl dnl PRAGMA_SYSTEM_HEADER can be used in files that contain #include_next, dnl so as to avoid GCC warnings when the gcc option -pedantic is used. dnl '#pragma GCC system_header' has the same effect as if the file was found dnl through the include search path specified with '-isystem' options (as dnl opposed to the search path specified with '-I' options). Namely, gcc dnl does not warn about some things, and on some systems (Solaris and Interix) dnl __STDC__ evaluates to 0 instead of to 1. The latter is an undesired side dnl effect; we are therefore careful to use 'defined __STDC__' or '1' instead dnl of plain '__STDC__'. AC_DEFUN([gl_INCLUDE_NEXT], [ AC_LANG_PREPROC_REQUIRE() AC_CACHE_CHECK([whether the preprocessor supports include_next], [gl_cv_have_include_next], [rm -rf conftestd1a conftestd1b conftestd2 mkdir conftestd1a conftestd1b conftestd2 dnl The include of is because IBM C 9.0 on AIX 6.1 supports dnl include_next when used as first preprocessor directive in a file, dnl but not when preceded by another include directive. Additionally, dnl with this same compiler, include_next is a no-op when used in a dnl header file that was included by specifying its absolute file name. dnl Despite these two bugs, include_next is used in the compiler's dnl . By virtue of the second bug, we need to use include_next dnl as well in this case. cat < conftestd1a/conftest.h #define DEFINED_IN_CONFTESTD1 #include_next #ifdef DEFINED_IN_CONFTESTD2 int foo; #else #error "include_next doesn't work" #endif EOF cat < conftestd1b/conftest.h #define DEFINED_IN_CONFTESTD1 #include #include_next #ifdef DEFINED_IN_CONFTESTD2 int foo; #else #error "include_next doesn't work" #endif EOF cat < conftestd2/conftest.h #ifndef DEFINED_IN_CONFTESTD1 #error "include_next test doesn't work" #endif #define DEFINED_IN_CONFTESTD2 EOF gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" AC_COMPILE_IFELSE([#include ], [gl_cv_have_include_next=yes], [CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" AC_COMPILE_IFELSE([#include ], [gl_cv_have_include_next=buggy], [gl_cv_have_include_next=no]) ]) CPPFLAGS="$gl_save_CPPFLAGS" rm -rf conftestd1a conftestd1b conftestd2 ]) PRAGMA_SYSTEM_HEADER= if test $gl_cv_have_include_next = yes; then INCLUDE_NEXT=include_next INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next if test -n "$GCC"; then PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' fi else if test $gl_cv_have_include_next = buggy; then INCLUDE_NEXT=include INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next else INCLUDE_NEXT=include INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include fi fi AC_SUBST([INCLUDE_NEXT]) AC_SUBST([INCLUDE_NEXT_AS_FIRST_DIRECTIVE]) AC_SUBST([PRAGMA_SYSTEM_HEADER]) ]) # gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...) # ------------------------------------------ # For each arg foo.h, if #include_next works, define NEXT_FOO_H to be # ''; otherwise define it to be # '"///usr/include/foo.h"', or whatever other absolute file name is suitable. # That way, a header file with the following line: # #@INCLUDE_NEXT@ @NEXT_FOO_H@ # behaves (after sed substitution) as if it contained # #include_next # even if the compiler does not support include_next. # The three "///" are to pacify Sun C 5.8, which otherwise would say # "warning: #include of /usr/include/... may be non-portable". # Use `""', not `<>', so that the /// cannot be confused with a C99 comment. # Note: This macro assumes that the header file is not empty after # preprocessing, i.e. it does not only define preprocessor macros but also # provides some type/enum definitions or function/variable declarations. AC_DEFUN([gl_CHECK_NEXT_HEADERS], [ AC_REQUIRE([gl_INCLUDE_NEXT]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_HEADERS_ONCE([$1]) m4_foreach_w([gl_HEADER_NAME], [$1], [AS_VAR_PUSHDEF([gl_next_header], [gl_cv_next_]m4_quote(m4_defn([gl_HEADER_NAME]))) if test $gl_cv_have_include_next = yes; then AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) else AC_CACHE_CHECK( [absolute name of <]m4_quote(m4_defn([gl_HEADER_NAME]))[>], m4_quote(m4_defn([gl_next_header])), [AS_VAR_PUSHDEF([gl_header_exists], [ac_cv_header_]m4_quote(m4_defn([gl_HEADER_NAME]))) if test AS_VAR_GET(gl_header_exists) = yes; then AC_LANG_CONFTEST( [AC_LANG_SOURCE( [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]] )]) dnl AIX "xlc -E" and "cc -E" omit #line directives for header files dnl that contain only a #include of other header files and no dnl non-comment tokens of their own. This leads to a failure to dnl detect the absolute name of , , dnl and others. The workaround is to force preservation of comments dnl through option -C. This ensures all necessary #line directives dnl are present. GCC supports option -C as well. case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac dnl eval is necessary to expand gl_absname_cpp. dnl Ultrix and Pyramid sh refuse to redirect output of eval, dnl so use subshell. AS_VAR_SET([gl_next_header], ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | sed -n '\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{ s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1# s#^/[^/]#//&# p q }'`'"']) else AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) fi AS_VAR_POPDEF([gl_header_exists])]) fi AC_SUBST( AS_TR_CPP([NEXT_]m4_quote(m4_defn([gl_HEADER_NAME]))), [AS_VAR_GET([gl_next_header])]) AS_VAR_POPDEF([gl_next_header])]) ]) anubis-4.1.1+dfsg1/m4/nls.m40000600000175000017500000000226611014340464013121 0ustar kbkb# nls.m4 serial 3 (gettext-0.15) dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE(nls, [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT($USE_NLS) AC_SUBST(USE_NLS) ]) anubis-4.1.1+dfsg1/m4/stdio_h.m40000600000175000017500000001366611100411110013743 0ustar kbkb# stdio_h.m4 serial 14 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_STDIO_H], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([stdio.h]) dnl No need to create extra modules for these functions. Everyone who uses dnl likely needs them. GNULIB_FPRINTF=1 GNULIB_PRINTF=1 GNULIB_VFPRINTF=1 GNULIB_VPRINTF=1 GNULIB_FPUTC=1 GNULIB_PUTC=1 GNULIB_PUTCHAR=1 GNULIB_FPUTS=1 GNULIB_PUTS=1 GNULIB_FWRITE=1 dnl This ifdef is just an optimization, to avoid performing a configure dnl check whose result is not used. It does not make the test of dnl GNULIB_STDIO_H_SIGPIPE or GNULIB_SIGPIPE redundant. m4_ifdef([gl_SIGNAL_SIGPIPE], [ gl_SIGNAL_SIGPIPE if test $gl_cv_header_signal_h_SIGPIPE != yes; then REPLACE_STDIO_WRITE_FUNCS=1 AC_LIBOBJ([stdio-write]) fi ]) ]) AC_DEFUN([gl_STDIO_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_STDIO_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_STDIO_H_DEFAULTS], [ GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF]) GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF]) GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX]) GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF]) GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) GNULIB_VPRINTF=0; AC_SUBST([GNULIB_VPRINTF]) GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX]) GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF]) GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE]) GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC]) GNULIB_PUTC=0; AC_SUBST([GNULIB_PUTC]) GNULIB_PUTCHAR=0; AC_SUBST([GNULIB_PUTCHAR]) GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS]) GNULIB_PUTS=0; AC_SUBST([GNULIB_PUTS]) GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE]) GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR]) GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE]) dnl Assume proper GNU behavior unless another module says otherwise. REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS]) REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF]) REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF]) REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF]) REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF]) HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF]) HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF]) REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF]) HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF]) HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) REPLACE_OBSTACK_PRINTF=0; AC_SUBST([REPLACE_OBSTACK_PRINTF]) REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN]) HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO]) REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK]) HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO]) REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL]) REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE]) HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE]) REPLACE_PERROR=0; AC_SUBST([REPLACE_PERROR]) ]) dnl Code shared by fseeko and ftello. Determine if large files are supported, dnl but stdin does not start as a large file by default. AC_DEFUN([gl_STDIN_LARGE_OFFSET], [ AC_CACHE_CHECK([whether stdin defaults to large file offsets], [gl_cv_var_stdin_large_offset], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[#if defined __SL64 && defined __SCLE /* cygwin */ /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and it is easier to do a version check than building a runtime test. */ # include # if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) choke me # endif #endif]])], [gl_cv_var_stdin_large_offset=yes], [gl_cv_var_stdin_large_offset=no])]) ]) anubis-4.1.1+dfsg1/m4/wchar.m40000600000175000017500000000473111122763763013443 0ustar kbkbdnl A placeholder for ISO C99 , for platforms that have issues. dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Eric Blake. # wchar.m4 serial 10 AC_DEFUN([gl_WCHAR_H], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_CACHE_CHECK([whether is standalone], [gl_cv_header_wchar_h_standalone], [AC_COMPILE_IFELSE([[#include wchar_t w;]], [gl_cv_header_wchar_h_standalone=yes], [gl_cv_header_wchar_h_standalone=no])]) AC_REQUIRE([gt_TYPE_WINT_T]) if test $gt_cv_c_wint_t = yes; then HAVE_WINT_T=1 else HAVE_WINT_T=0 fi AC_SUBST([HAVE_WINT_T]) if test $gl_cv_header_wchar_h_standalone != yes || test $gt_cv_c_wint_t != yes; then WCHAR_H=wchar.h fi dnl Prepare for creating substitute . dnl Do it always: WCHAR_H may be empty here but can be set later. dnl Check for (missing in Linux uClibc when built without wide dnl character support). AC_CHECK_HEADERS_ONCE([wchar.h]) if test $ac_cv_header_wchar_h = yes; then HAVE_WCHAR_H=1 else HAVE_WCHAR_H=0 fi AC_SUBST([HAVE_WCHAR_H]) gl_CHECK_NEXT_HEADERS([wchar.h]) ]) dnl Unconditionally enables the replacement of . AC_DEFUN([gl_REPLACE_WCHAR_H], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) WCHAR_H=wchar.h ]) AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_WCHAR_H_DEFAULTS], [ GNULIB_BTOWC=0; AC_SUBST([GNULIB_BTOWC]) GNULIB_WCTOB=0; AC_SUBST([GNULIB_WCTOB]) GNULIB_MBSINIT=0; AC_SUBST([GNULIB_MBSINIT]) GNULIB_MBRTOWC=0; AC_SUBST([GNULIB_MBRTOWC]) GNULIB_MBRLEN=0; AC_SUBST([GNULIB_MBRLEN]) GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_BTOWC=1; AC_SUBST([HAVE_BTOWC]) HAVE_WCTOB=1; AC_SUBST([HAVE_WCTOB]) HAVE_MBSINIT=1; AC_SUBST([HAVE_MBSINIT]) HAVE_MBRTOWC=1; AC_SUBST([HAVE_MBRTOWC]) HAVE_MBRLEN=1; AC_SUBST([HAVE_MBRLEN]) HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH]) REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) WCHAR_H=''; AC_SUBST([WCHAR_H]) ]) anubis-4.1.1+dfsg1/m4/wint_t.m40000600000175000017500000000170711014340464013630 0ustar kbkb# wint_t.m4 serial 2 (gettext-0.17) dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether has the 'wint_t' type. dnl Prerequisite: AC_PROG_CC AC_DEFUN([gt_TYPE_WINT_T], [ AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t, [AC_TRY_COMPILE([ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include wint_t foo = (wchar_t)'\0';], , gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)]) if test $gt_cv_c_wint_t = yes; then AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.]) fi ]) anubis-4.1.1+dfsg1/m4/po.m40000600000175000017500000004460611014340464012747 0ustar kbkb# po.m4 serial 15 (gettext-0.17) dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that dnl the gettext macros and po/Makefile.in.in are in sync. AC_SUBST([GETTEXT_MACRO_VERSION], [0.17]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac changequote([,])dnl AC_SUBST([MSGFMT_015]) changequote(,)dnl case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac changequote([,])dnl AC_SUBST([GMSGFMT_015]) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Test whether it is GNU xgettext >= 0.15. changequote(,)dnl case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac changequote([,])dnl AC_SUBST([XGETTEXT_015]) dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl Installation directories. dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we dnl have to define it here, so that it can be used in po/Makefile. test -n "$localedir" || localedir='${datadir}/locale' AC_SUBST([localedir]) dnl Support for AM_XGETTEXT_OPTION. test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) AC_CONFIG_COMMANDS([po-directories], [[ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done]], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" <&2 exit 1 fi done])dnl m4_if(m4_sysval, [0], [], [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) ]) m4_popdef([gl_LIBSOURCES_DIR]) m4_popdef([gl_LIBSOURCES_LIST]) m4_popdef([AC_LIBSOURCES]) m4_popdef([AC_REPLACE_FUNCS]) m4_popdef([AC_LIBOBJ]) AC_CONFIG_COMMANDS_PRE([ gl_libobjs= gl_ltlibobjs= if test -n "$gl_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do gl_libobjs="$gl_libobjs $i.$ac_objext" gl_ltlibobjs="$gl_ltlibobjs $i.lo" done fi AC_SUBST([gl_LIBOBJS], [$gl_libobjs]) AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs]) ]) gltests_libdeps= gltests_ltlibdeps= m4_pushdef([AC_LIBOBJ], m4_defn([gltests_LIBOBJ])) m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gltests_REPLACE_FUNCS])) m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES])) m4_pushdef([gltests_LIBSOURCES_LIST], []) m4_pushdef([gltests_LIBSOURCES_DIR], []) gl_COMMON gl_source_base='tests' m4_ifval(gltests_LIBSOURCES_LIST, [ m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ || for gl_file in ]gltests_LIBSOURCES_LIST[ ; do if test ! -r ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file ; then echo "missing file ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file" >&2 exit 1 fi done])dnl m4_if(m4_sysval, [0], [], [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) ]) m4_popdef([gltests_LIBSOURCES_DIR]) m4_popdef([gltests_LIBSOURCES_LIST]) m4_popdef([AC_LIBSOURCES]) m4_popdef([AC_REPLACE_FUNCS]) m4_popdef([AC_LIBOBJ]) AC_CONFIG_COMMANDS_PRE([ gltests_libobjs= gltests_ltlibobjs= if test -n "$gltests_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do gltests_libobjs="$gltests_libobjs $i.$ac_objext" gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" done fi AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs]) AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs]) ]) LIBANUBIS_LIBDEPS="$gl_libdeps" AC_SUBST([LIBANUBIS_LIBDEPS]) LIBANUBIS_LTLIBDEPS="$gl_ltlibdeps" AC_SUBST([LIBANUBIS_LTLIBDEPS]) ]) # Like AC_LIBOBJ, except that the module name goes # into gl_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gl_LIBOBJ], [ AS_LITERAL_IF([$1], [gl_LIBSOURCES([$1.c])])dnl gl_LIBOBJS="$gl_LIBOBJS $1.$ac_objext" ]) # Like AC_REPLACE_FUNCS, except that the module name goes # into gl_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gl_REPLACE_FUNCS], [ m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl AC_CHECK_FUNCS([$1], , [gl_LIBOBJ($ac_func)]) ]) # Like AC_LIBSOURCES, except the directory where the source file is # expected is derived from the gnulib-tool parameterization, # and alloca is special cased (for the alloca-opt module). # We could also entirely rely on EXTRA_lib..._SOURCES. AC_DEFUN([gl_LIBSOURCES], [ m4_foreach([_gl_NAME], [$1], [ m4_if(_gl_NAME, [alloca.c], [], [ m4_define([gl_LIBSOURCES_DIR], [lib]) m4_append([gl_LIBSOURCES_LIST], _gl_NAME, [ ]) ]) ]) ]) # Like AC_LIBOBJ, except that the module name goes # into gltests_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gltests_LIBOBJ], [ AS_LITERAL_IF([$1], [gltests_LIBSOURCES([$1.c])])dnl gltests_LIBOBJS="$gltests_LIBOBJS $1.$ac_objext" ]) # Like AC_REPLACE_FUNCS, except that the module name goes # into gltests_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gltests_REPLACE_FUNCS], [ m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl AC_CHECK_FUNCS([$1], , [gltests_LIBOBJ($ac_func)]) ]) # Like AC_LIBSOURCES, except the directory where the source file is # expected is derived from the gnulib-tool parameterization, # and alloca is special cased (for the alloca-opt module). # We could also entirely rely on EXTRA_lib..._SOURCES. AC_DEFUN([gltests_LIBSOURCES], [ m4_foreach([_gl_NAME], [$1], [ m4_if(_gl_NAME, [alloca.c], [], [ m4_define([gltests_LIBSOURCES_DIR], [tests]) m4_append([gltests_LIBSOURCES_LIST], _gl_NAME, [ ]) ]) ]) ]) # This macro records the list of files which have been installed by # gnulib-tool and may be removed by future gnulib-tool invocations. AC_DEFUN([gl_FILE_LIST], [ build-aux/config.rpath build-aux/gitlog-to-changelog build-aux/link-warning.h lib/alloca.in.h lib/errno.in.h lib/error.c lib/error.h lib/exitfail.c lib/exitfail.h lib/fseeko.c lib/getdelim.c lib/getline.c lib/getopt.c lib/getopt.in.h lib/getopt1.c lib/getopt_int.h lib/getpass.c lib/getpass.h lib/gettext.h lib/intprops.h lib/lseek.c lib/malloc.c lib/malloca.c lib/malloca.h lib/malloca.valgrind lib/obstack.c lib/obstack.h lib/realloc.c lib/setenv.c lib/stdbool.in.h lib/stdint.in.h lib/stdio-impl.h lib/stdio-write.c lib/stdio.in.h lib/stdlib.in.h lib/strdup.c lib/strerror.c lib/string.in.h lib/sysexits.in.h lib/unistd.in.h lib/wchar.in.h lib/xalloc-die.c lib/xalloc.h lib/xmalloc.c m4/alloca.m4 m4/codeset.m4 m4/eealloc.m4 m4/environ.m4 m4/errno_h.m4 m4/error.m4 m4/exitfail.m4 m4/extensions.m4 m4/fseeko.m4 m4/getdelim.m4 m4/getline.m4 m4/getopt.m4 m4/getpass.m4 m4/gettext.m4 m4/glibc2.m4 m4/glibc21.m4 m4/gnulib-common.m4 m4/iconv.m4 m4/include_next.m4 m4/inline.m4 m4/intdiv0.m4 m4/intl.m4 m4/intldir.m4 m4/intlmacosx.m4 m4/intmax.m4 m4/inttypes-pri.m4 m4/inttypes_h.m4 m4/lcmessage.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 m4/lock.m4 m4/longlong.m4 m4/lseek.m4 m4/malloc.m4 m4/malloca.m4 m4/nls.m4 m4/onceonly.m4 m4/po.m4 m4/printf-posix.m4 m4/progtest.m4 m4/realloc.m4 m4/setenv.m4 m4/size_max.m4 m4/stdbool.m4 m4/stdint.m4 m4/stdint_h.m4 m4/stdio_h.m4 m4/stdlib_h.m4 m4/strdup.m4 m4/strerror.m4 m4/string_h.m4 m4/sysexits.m4 m4/threadlib.m4 m4/uintmax_t.m4 m4/unistd_h.m4 m4/visibility.m4 m4/wchar.m4 m4/wchar_t.m4 m4/wint_t.m4 m4/xalloc.m4 m4/xsize.m4 ]) anubis-4.1.1+dfsg1/m4/progtest.m40000600000175000017500000000555011014340464014173 0ustar kbkb# progtest.m4 serial 4 (gettext-0.14.2) dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1996. AC_PREREQ(2.50) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) anubis-4.1.1+dfsg1/m4/stdbool.m40000600000175000017500000000722211014340464013770 0ustar kbkb# Check for stdbool.h that conforms to C99. dnl Copyright (C) 2002-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Prepare for substituting if it is not supported. AC_DEFUN([AM_STDBOOL_H], [ AC_REQUIRE([AC_HEADER_STDBOOL]) # Define two additional variables used in the Makefile substitution. if test "$ac_cv_header_stdbool_h" = yes; then STDBOOL_H='' else STDBOOL_H='stdbool.h' fi AC_SUBST([STDBOOL_H]) if test "$ac_cv_type__Bool" = yes; then HAVE__BOOL=1 else HAVE__BOOL=0 fi AC_SUBST([HAVE__BOOL]) ]) # AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future. AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H]) # This macro is only needed in autoconf <= 2.59. Newer versions of autoconf # have this macro built-in. AC_DEFUN([AC_HEADER_STDBOOL], [AC_CACHE_CHECK([for stdbool.h that conforms to C99], [ac_cv_header_stdbool_h], [AC_TRY_COMPILE( [ #include #ifndef bool "error: bool is not defined" #endif #ifndef false "error: false is not defined" #endif #if false "error: false is not 0" #endif #ifndef true "error: true is not defined" #endif #if true != 1 "error: true is not 1" #endif #ifndef __bool_true_false_are_defined "error: __bool_true_false_are_defined is not defined" #endif struct s { _Bool s: 1; _Bool t; } s; char a[true == 1 ? 1 : -1]; char b[false == 0 ? 1 : -1]; char c[__bool_true_false_are_defined == 1 ? 1 : -1]; char d[(bool) 0.5 == true ? 1 : -1]; bool e = &s; char f[(_Bool) 0.0 == false ? 1 : -1]; char g[true]; char h[sizeof (_Bool)]; char i[sizeof s.t]; enum { j = false, k = true, l = false * true, m = true * 256 }; _Bool n[m]; char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; #if defined __xlc__ || defined __GNUC__ /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 reported by James Lemley on 2005-10-05; see http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html This test is not quite right, since xlc is allowed to reject this program, as the initializer for xlcbug is not one of the forms that C requires support for. However, doing the test right would require a run-time test, and that would make cross-compilation harder. Let us hope that IBM fixes the xlc bug, and also adds support for this kind of constant expression. In the meantime, this test will reject xlc, which is OK, since our stdbool.h substitute should suffice. We also test this with GCC, where it should work, to detect more quickly whether someone messes up the test in the future. */ char digs[] = "0123456789"; int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); #endif /* Catch a bug in an HP-UX C compiler. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html */ _Bool q = true; _Bool *pq = &q; ], [ *pq |= q; *pq |= ! q; /* Refer to every declared value, to avoid compiler optimizations. */ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + !m + !n + !o + !p + !q + !pq); ], [ac_cv_header_stdbool_h=yes], [ac_cv_header_stdbool_h=no])]) AC_CHECK_TYPES([_Bool]) if test $ac_cv_header_stdbool_h = yes; then AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.]) fi]) anubis-4.1.1+dfsg1/m4/ulonglong.m40000600000175000017500000000365411121755731014341 0ustar kbkb# -*- buffer-read-only: t -*- vi: set ro: # DO NOT EDIT! GENERATED AUTOMATICALLY! # ulonglong.m4 serial 6 dnl Copyright (C) 1999-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. # This fixes a bug in Autoconf 2.60, but can be removed once we # assume 2.61 everywhere. # Note: If the type 'unsigned long long int' exists but is only 32 bits # large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT # will not be defined. In this case you can treat 'unsigned long long int' # like 'unsigned long int'. AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], [ AC_CACHE_CHECK([for unsigned long long int], [ac_cv_type_unsigned_long_long_int], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[unsigned long long int ull = 18446744073709551615ULL; typedef int a[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63;]], [[unsigned long long int ullmax = 18446744073709551615ull; return (ull << 63 | ull >> 63 | ull << i | ull >> i | ullmax / ull | ullmax % ull);]])], [ac_cv_type_unsigned_long_long_int=yes], [ac_cv_type_unsigned_long_long_int=no])]) if test $ac_cv_type_unsigned_long_long_int = yes; then AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1, [Define to 1 if the system has the type `unsigned long long int'.]) fi ]) # This macro is obsolescent and should go away soon. AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG], [ AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) ac_cv_type_unsigned_long_long=$ac_cv_type_unsigned_long_long_int if test $ac_cv_type_unsigned_long_long = yes; then AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, [Define if you have the 'unsigned long long' type.]) fi ]) anubis-4.1.1+dfsg1/m4/stdint.m40000600000175000017500000003221711014340464013631 0ustar kbkb# stdint.m4 serial 31 dnl Copyright (C) 2001-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert and Bruno Haible. dnl Test whether is supported or must be substituted. AC_DEFUN([gl_STDINT_H], [ AC_PREREQ(2.59)dnl dnl Check for long long int and unsigned long long int. AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) if test $ac_cv_type_long_long_int = yes; then HAVE_LONG_LONG_INT=1 else HAVE_LONG_LONG_INT=0 fi AC_SUBST([HAVE_LONG_LONG_INT]) AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) if test $ac_cv_type_unsigned_long_long_int = yes; then HAVE_UNSIGNED_LONG_LONG_INT=1 else HAVE_UNSIGNED_LONG_LONG_INT=0 fi AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT]) dnl Check for . dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h. if test $ac_cv_header_inttypes_h = yes; then HAVE_INTTYPES_H=1 else HAVE_INTTYPES_H=0 fi AC_SUBST([HAVE_INTTYPES_H]) dnl Check for . dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h. if test $ac_cv_header_sys_types_h = yes; then HAVE_SYS_TYPES_H=1 else HAVE_SYS_TYPES_H=0 fi AC_SUBST([HAVE_SYS_TYPES_H]) gl_CHECK_NEXT_HEADERS([stdint.h]) if test $ac_cv_header_stdint_h = yes; then HAVE_STDINT_H=1 else HAVE_STDINT_H=0 fi AC_SUBST([HAVE_STDINT_H]) dnl Now see whether we need a substitute . if test $ac_cv_header_stdint_h = yes; then AC_CACHE_CHECK([whether stdint.h conforms to C99], [gl_cv_header_working_stdint_h], [gl_cv_header_working_stdint_h=no AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ #if !(defined WCHAR_MIN && defined WCHAR_MAX) #error "WCHAR_MIN, WCHAR_MAX not defined in " #endif ] gl_STDINT_INCLUDES [ #ifdef INT8_MAX int8_t a1 = INT8_MAX; int8_t a1min = INT8_MIN; #endif #ifdef INT16_MAX int16_t a2 = INT16_MAX; int16_t a2min = INT16_MIN; #endif #ifdef INT32_MAX int32_t a3 = INT32_MAX; int32_t a3min = INT32_MIN; #endif #ifdef INT64_MAX int64_t a4 = INT64_MAX; int64_t a4min = INT64_MIN; #endif #ifdef UINT8_MAX uint8_t b1 = UINT8_MAX; #else typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; #endif #ifdef UINT16_MAX uint16_t b2 = UINT16_MAX; #endif #ifdef UINT32_MAX uint32_t b3 = UINT32_MAX; #endif #ifdef UINT64_MAX uint64_t b4 = UINT64_MAX; #endif int_least8_t c1 = INT8_C (0x7f); int_least8_t c1max = INT_LEAST8_MAX; int_least8_t c1min = INT_LEAST8_MIN; int_least16_t c2 = INT16_C (0x7fff); int_least16_t c2max = INT_LEAST16_MAX; int_least16_t c2min = INT_LEAST16_MIN; int_least32_t c3 = INT32_C (0x7fffffff); int_least32_t c3max = INT_LEAST32_MAX; int_least32_t c3min = INT_LEAST32_MIN; int_least64_t c4 = INT64_C (0x7fffffffffffffff); int_least64_t c4max = INT_LEAST64_MAX; int_least64_t c4min = INT_LEAST64_MIN; uint_least8_t d1 = UINT8_C (0xff); uint_least8_t d1max = UINT_LEAST8_MAX; uint_least16_t d2 = UINT16_C (0xffff); uint_least16_t d2max = UINT_LEAST16_MAX; uint_least32_t d3 = UINT32_C (0xffffffff); uint_least32_t d3max = UINT_LEAST32_MAX; uint_least64_t d4 = UINT64_C (0xffffffffffffffff); uint_least64_t d4max = UINT_LEAST64_MAX; int_fast8_t e1 = INT_FAST8_MAX; int_fast8_t e1min = INT_FAST8_MIN; int_fast16_t e2 = INT_FAST16_MAX; int_fast16_t e2min = INT_FAST16_MIN; int_fast32_t e3 = INT_FAST32_MAX; int_fast32_t e3min = INT_FAST32_MIN; int_fast64_t e4 = INT_FAST64_MAX; int_fast64_t e4min = INT_FAST64_MIN; uint_fast8_t f1 = UINT_FAST8_MAX; uint_fast16_t f2 = UINT_FAST16_MAX; uint_fast32_t f3 = UINT_FAST32_MAX; uint_fast64_t f4 = UINT_FAST64_MAX; #ifdef INTPTR_MAX intptr_t g = INTPTR_MAX; intptr_t gmin = INTPTR_MIN; #endif #ifdef UINTPTR_MAX uintptr_t h = UINTPTR_MAX; #endif intmax_t i = INTMAX_MAX; uintmax_t j = UINTMAX_MAX; #include /* for CHAR_BIT */ #define TYPE_MINIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) #define TYPE_MAXIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) struct s { int check_PTRDIFF: PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) ? 1 : -1; /* Detect bug in FreeBSD 6.0 / ia64. */ int check_SIG_ATOMIC: SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) ? 1 : -1; int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; int check_WCHAR: WCHAR_MIN == TYPE_MINIMUM (wchar_t) && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) ? 1 : -1; /* Detect bug in mingw. */ int check_WINT: WINT_MIN == TYPE_MINIMUM (wint_t) && WINT_MAX == TYPE_MAXIMUM (wint_t) ? 1 : -1; /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ int check_UINT8_C: (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; int check_UINT16_C: (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; /* Detect bugs in OpenBSD 3.9 stdint.h. */ #ifdef UINT8_MAX int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; #endif #ifdef UINT16_MAX int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; #endif #ifdef UINT32_MAX int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; #endif #ifdef UINT64_MAX int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; #endif int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; }; ]])], [gl_cv_header_working_stdint_h=yes])]) fi if test "$gl_cv_header_working_stdint_h" = yes; then STDINT_H= else dnl Check for , and for dnl (used in Linux libc4 >= 4.6.7 and libc5). AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h]) if test $ac_cv_header_sys_inttypes_h = yes; then HAVE_SYS_INTTYPES_H=1 else HAVE_SYS_INTTYPES_H=0 fi AC_SUBST([HAVE_SYS_INTTYPES_H]) if test $ac_cv_header_sys_bitypes_h = yes; then HAVE_SYS_BITYPES_H=1 else HAVE_SYS_BITYPES_H=0 fi AC_SUBST([HAVE_SYS_BITYPES_H]) dnl Check for (missing in Linux uClibc when built without wide dnl character support). AC_CHECK_HEADERS_ONCE([wchar.h]) gl_STDINT_TYPE_PROPERTIES STDINT_H=stdint.h fi AC_SUBST(STDINT_H) ]) dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) dnl Determine the size of each of the given types in bits. AC_DEFUN([gl_STDINT_BITSIZEOF], [ dnl Use a shell loop, to avoid bloating configure, and dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into dnl config.h.in, dnl - extra AC_SUBST calls, so that the right substitutions are made. m4_foreach_w([gltype], [$1], [AH_TEMPLATE([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), [Define to the number of bits in type ']gltype['.])]) for gltype in $1 ; do AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}], [AC_COMPUTE_INT([result], [sizeof ($gltype) * CHAR_BIT], [$2 #include ], [result=unknown]) eval gl_cv_bitsizeof_${gltype}=\$result ]) eval result=\$gl_cv_bitsizeof_${gltype} if test $result = unknown; then dnl Use a nonempty default, because some compilers, such as IRIX 5 cc, dnl do a syntax check even on unused #if conditions and give an error dnl on valid C code like this: dnl #if 0 dnl # if > 32 dnl # endif dnl #endif result=0 fi GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result]) eval BITSIZEOF_${GLTYPE}=\$result done m4_foreach_w([gltype], [$1], [AC_SUBST([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) ]) dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES) dnl Determine the signedness of each of the given types. dnl Define HAVE_SIGNED_TYPE if type is signed. AC_DEFUN([gl_CHECK_TYPES_SIGNED], [ dnl Use a shell loop, to avoid bloating configure, and dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into dnl config.h.in, dnl - extra AC_SUBST calls, so that the right substitutions are made. m4_foreach_w([gltype], [$1], [AH_TEMPLATE([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), [Define to 1 if ']gltype[' is a signed integer type.])]) for gltype in $1 ; do AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([$2[ int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];]])], result=yes, result=no) eval gl_cv_type_${gltype}_signed=\$result ]) eval result=\$gl_cv_type_${gltype}_signed GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` if test "$result" = yes; then AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], 1) eval HAVE_SIGNED_${GLTYPE}=1 else eval HAVE_SIGNED_${GLTYPE}=0 fi done m4_foreach_w([gltype], [$1], [AC_SUBST([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) ]) dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES) dnl Determine the suffix to use for integer constants of the given types. dnl Define t_SUFFIX for each such type. AC_DEFUN([gl_INTEGER_TYPE_SUFFIX], [ dnl Use a shell loop, to avoid bloating configure, and dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into dnl config.h.in, dnl - extra AC_SUBST calls, so that the right substitutions are made. m4_foreach_w([gltype], [$1], [AH_TEMPLATE(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX], [Define to l, ll, u, ul, ull, etc., as suitable for constants of type ']gltype['.])]) for gltype in $1 ; do AC_CACHE_CHECK([for $gltype integer literal suffix], [gl_cv_type_${gltype}_suffix], [eval gl_cv_type_${gltype}_suffix=no eval result=\$gl_cv_type_${gltype}_signed if test "$result" = yes; then glsufu= else glsufu=u fi for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do case $glsuf in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; i64) gltype1='__int64';; u) gltype1='unsigned int';; ul) gltype1='unsigned long int';; ull) gltype1='unsigned long long int';; ui64)gltype1='unsigned __int64';; esac AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([$2[ extern $gltype foo; extern $gltype1 foo;]])], [eval gl_cv_type_${gltype}_suffix=\$glsuf]) eval result=\$gl_cv_type_${gltype}_suffix test "$result" != no && break done]) GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` eval result=\$gl_cv_type_${gltype}_suffix test "$result" = no && result= eval ${GLTYPE}_SUFFIX=\$result AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], $result) done m4_foreach_w([gltype], [$1], [AC_SUBST(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])]) ]) dnl gl_STDINT_INCLUDES AC_DEFUN([gl_STDINT_INCLUDES], [[ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif ]]) dnl gl_STDINT_TYPE_PROPERTIES dnl Compute HAVE_SIGNED_t, BITSIZEOF_t and t_SUFFIX, for all the types t dnl of interest to stdint.in.h. AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], [ gl_STDINT_BITSIZEOF([ptrdiff_t sig_atomic_t size_t wchar_t wint_t], [gl_STDINT_INCLUDES]) gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t], [gl_STDINT_INCLUDES]) gl_cv_type_ptrdiff_t_signed=yes gl_cv_type_size_t_signed=no gl_INTEGER_TYPE_SUFFIX([ptrdiff_t sig_atomic_t size_t wchar_t wint_t], [gl_STDINT_INCLUDES]) ]) dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. dnl Remove this when we can assume autoconf >= 2.61. m4_ifdef([AC_COMPUTE_INT], [], [ AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) ]) # Hey Emacs! # Local Variables: # indent-tabs-mode: nil # End: anubis-4.1.1+dfsg1/m4/sysexits.m40000600000175000017500000000212511014340464014212 0ustar kbkb# sysexits.m4 serial 4 dnl Copyright (C) 2003, 2005, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SYSEXITS], [ AC_CHECK_HEADERS_ONCE([sysexits.h]) if test $ac_cv_header_sysexits_h = yes; then HAVE_SYSEXITS_H=1 gl_CHECK_NEXT_HEADERS([sysexits.h]) AC_TRY_COMPILE([#include ], [switch (0) { case EX_OK: case EX_USAGE: case EX_DATAERR: case EX_NOINPUT: case EX_NOUSER: case EX_NOHOST: case EX_UNAVAILABLE: case EX_SOFTWARE: case EX_OSERR: case EX_OSFILE: case EX_CANTCREAT: case EX_IOERR: case EX_TEMPFAIL: case EX_PROTOCOL: case EX_NOPERM: case EX_CONFIG: break; } ], [SYSEXITS_H=], [SYSEXITS_H=sysexits.h]) else HAVE_SYSEXITS_H=0 SYSEXITS_H=sysexits.h fi AC_SUBST([HAVE_SYSEXITS_H]) AC_SUBST([SYSEXITS_H]) ]) anubis-4.1.1+dfsg1/m4/alloca.m40000600000175000017500000000305511014340464013555 0ustar kbkb# alloca.m4 serial 8 dnl Copyright (C) 2002-2004, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_ALLOCA], [ dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57. AC_REQUIRE([AC_PROG_CPP]) AC_REQUIRE([AC_PROG_EGREP]) AC_REQUIRE([AC_FUNC_ALLOCA]) if test $ac_cv_func_alloca_works = no; then gl_PREREQ_ALLOCA fi # Define an additional variable used in the Makefile substitution. if test $ac_cv_working_alloca_h = yes; then AC_CACHE_CHECK([for alloca as a compiler built-in], [gl_cv_rpl_alloca], [ AC_EGREP_CPP([Need own alloca], [ #if defined __GNUC__ || defined _AIX || defined _MSC_VER Need own alloca #endif ], [gl_cv_rpl_alloca=yes], [gl_cv_rpl_alloca=no]) ]) if test $gl_cv_rpl_alloca = yes; then dnl OK, alloca can be implemented through a compiler built-in. AC_DEFINE([HAVE_ALLOCA], 1, [Define to 1 if you have 'alloca' after including , a header that may be supplied by this distribution.]) ALLOCA_H=alloca.h else dnl alloca exists as a library function, i.e. it is slow and probably dnl a memory leak. Don't define HAVE_ALLOCA in this case. ALLOCA_H= fi else ALLOCA_H=alloca.h fi AC_SUBST([ALLOCA_H]) ]) # Prerequisites of lib/alloca.c. # STACK_DIRECTION is already handled by AC_FUNC_ALLOCA. AC_DEFUN([gl_PREREQ_ALLOCA], [:]) anubis-4.1.1+dfsg1/m4/malloca.m40000600000175000017500000000106211014340464013726 0ustar kbkb# malloca.m4 serial 1 dnl Copyright (C) 2003-2004, 2006-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MALLOCA], [ dnl Use the autoconf tests for alloca(), but not the AC_SUBSTed variables dnl @ALLOCA@ and @LTALLOCA@. dnl gl_FUNC_ALLOCA dnl Already brought in by the module dependencies. AC_REQUIRE([gl_EEMALLOC]) AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) ]) anubis-4.1.1+dfsg1/m4/getpass.m40000600000175000017500000000307211014340464013767 0ustar kbkb# getpass.m4 serial 10 dnl Copyright (C) 2002-2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Provide a getpass() function if the system doesn't have it. AC_DEFUN([gl_FUNC_GETPASS], [ AC_REPLACE_FUNCS(getpass) AC_CHECK_DECLS_ONCE(getpass) if test $ac_cv_func_getpass = no; then gl_PREREQ_GETPASS fi ]) # Provide the GNU getpass() implementation. It supports passwords of # arbitrary length (not just 8 bytes as on HP-UX). AC_DEFUN([gl_FUNC_GETPASS_GNU], [ AC_CHECK_DECLS_ONCE(getpass) dnl TODO: Detect when GNU getpass() is already found in glibc. AC_LIBOBJ(getpass) gl_PREREQ_GETPASS dnl We must choose a different name for our function, since on ELF systems dnl an unusable getpass() in libc.so would override our getpass() if it is dnl compiled into a shared library. AC_DEFINE([getpass], [gnu_getpass], [Define to a replacement function name for getpass().]) ]) # Prerequisites of lib/getpass.c. AC_DEFUN([gl_PREREQ_GETPASS], [ AC_CHECK_HEADERS_ONCE(stdio_ext.h termios.h) AC_CHECK_FUNCS_ONCE(__fsetlocking tcgetattr tcsetattr) AC_CHECK_DECLS([__fsetlocking],,, [#include #if HAVE_STDIO_EXT_H #include #endif]) AC_CHECK_DECLS_ONCE([fflush_unlocked]) AC_CHECK_DECLS_ONCE([flockfile]) AC_CHECK_DECLS_ONCE([fputs_unlocked]) AC_CHECK_DECLS_ONCE([funlockfile]) AC_CHECK_DECLS_ONCE([putc_unlocked]) : ]) anubis-4.1.1+dfsg1/m4/getdelim.m40000600000175000017500000000151111066744375014127 0ustar kbkb# getdelim.m4 serial 5 dnl Copyright (C) 2005, 2006, 2007 Free Software dnl Foundation, Inc. dnl dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_PREREQ([2.59]) AC_DEFUN([gl_FUNC_GETDELIM], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) dnl Persuade glibc to declare getdelim(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REPLACE_FUNCS([getdelim]) AC_CHECK_DECLS_ONCE([getdelim]) if test $ac_cv_func_getdelim = no; then gl_PREREQ_GETDELIM fi if test $ac_cv_have_decl_getdelim = no; then HAVE_DECL_GETDELIM=0 fi ]) # Prerequisites of lib/getdelim.c. AC_DEFUN([gl_PREREQ_GETDELIM], [ AC_CHECK_FUNCS([flockfile funlockfile]) AC_CHECK_DECLS([getc_unlocked]) ]) anubis-4.1.1+dfsg1/m4/longlong.m40000600000175000017500000001010111014340464014127 0ustar kbkb# longlong.m4 serial 13 dnl Copyright (C) 1999-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_LONG_LONG_INT if 'long long int' works. # This fixes a bug in Autoconf 2.61, but can be removed once we # assume 2.62 everywhere. # Note: If the type 'long long int' exists but is only 32 bits large # (as on some very old compilers), HAVE_LONG_LONG_INT will not be # defined. In this case you can treat 'long long int' like 'long int'. AC_DEFUN([AC_TYPE_LONG_LONG_INT], [ AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], [AC_LINK_IFELSE( [_AC_TYPE_LONG_LONG_SNIPPET], [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. dnl If cross compiling, assume the bug isn't important, since dnl nobody cross compiles for this platform as far as we know. AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[@%:@include @%:@ifndef LLONG_MAX @%:@ define HALF \ (1LL << (sizeof (long long int) * CHAR_BIT - 2)) @%:@ define LLONG_MAX (HALF - 1 + HALF) @%:@endif]], [[long long int n = 1; int i; for (i = 0; ; i++) { long long int m = n << i; if (m >> i != n) return 1; if (LLONG_MAX / 2 < m) break; } return 0;]])], [ac_cv_type_long_long_int=yes], [ac_cv_type_long_long_int=no], [ac_cv_type_long_long_int=yes])], [ac_cv_type_long_long_int=no])]) if test $ac_cv_type_long_long_int = yes; then AC_DEFINE([HAVE_LONG_LONG_INT], 1, [Define to 1 if the system has the type `long long int'.]) fi ]) # Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. # This fixes a bug in Autoconf 2.61, but can be removed once we # assume 2.62 everywhere. # Note: If the type 'unsigned long long int' exists but is only 32 bits # large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT # will not be defined. In this case you can treat 'unsigned long long int' # like 'unsigned long int'. AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], [ AC_CACHE_CHECK([for unsigned long long int], [ac_cv_type_unsigned_long_long_int], [AC_LINK_IFELSE( [_AC_TYPE_LONG_LONG_SNIPPET], [ac_cv_type_unsigned_long_long_int=yes], [ac_cv_type_unsigned_long_long_int=no])]) if test $ac_cv_type_unsigned_long_long_int = yes; then AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1, [Define to 1 if the system has the type `unsigned long long int'.]) fi ]) # Expands to a C program that can be used to test for simultaneous support # of 'long long' and 'unsigned long long'. We don't want to say that # 'long long' is available if 'unsigned long long' is not, or vice versa, # because too many programs rely on the symmetry between signed and unsigned # integer types (excluding 'bool'). AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], [ AC_LANG_PROGRAM( [[/* For now, do not test the preprocessor; as of 2007 there are too many implementations with broken preprocessors. Perhaps this can be revisited in 2012. In the meantime, code should not expect #if to work with literals wider than 32 bits. */ /* Test literals. */ long long int ll = 9223372036854775807ll; long long int nll = -9223372036854775807LL; unsigned long long int ull = 18446744073709551615ULL; /* Test constant expressions. */ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) ? 1 : -1)]; typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63;]], [[/* Test availability of runtime routines for shift and division. */ long long int llmax = 9223372036854775807ll; unsigned long long int ullmax = 18446744073709551615ull; return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | (llmax / ll) | (llmax % ll) | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) | (ullmax / ull) | (ullmax % ull));]]) ]) anubis-4.1.1+dfsg1/m4/setenv.m40000600000175000017500000000333111014340464013623 0ustar kbkb# setenv.m4 serial 10 dnl Copyright (C) 2001-2004, 2006-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_SETENV], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([setenv]) if test $ac_cv_func_setenv = no; then HAVE_SETENV=0 AC_LIBOBJ([setenv]) gl_PREREQ_SETENV fi ]) # Like gl_FUNC_SETENV, except prepare for separate compilation (no AC_LIBOBJ). AC_DEFUN([gl_FUNC_SETENV_SEPARATE], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([setenv]) if test $ac_cv_func_setenv = no; then HAVE_SETENV=0 fi gl_PREREQ_SETENV ]) AC_DEFUN([gl_FUNC_UNSETENV], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_CHECK_FUNCS([unsetenv]) if test $ac_cv_func_unsetenv = no; then HAVE_UNSETENV=0 AC_LIBOBJ([unsetenv]) gl_PREREQ_UNSETENV else AC_CACHE_CHECK([for unsetenv() return type], gt_cv_func_unsetenv_ret, [AC_TRY_COMPILE([#include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) int unsetenv (const char *name); #else int unsetenv(); #endif ], , gt_cv_func_unsetenv_ret='int', gt_cv_func_unsetenv_ret='void')]) if test $gt_cv_func_unsetenv_ret = 'void'; then VOID_UNSETENV=1 fi fi ]) # Prerequisites of lib/setenv.c. AC_DEFUN([gl_PREREQ_SETENV], [ AC_REQUIRE([AC_FUNC_ALLOCA]) AC_REQUIRE([gl_ENVIRON]) AC_CHECK_HEADERS_ONCE(unistd.h) AC_CHECK_HEADERS(search.h) AC_CHECK_FUNCS(tsearch) ]) # Prerequisites of lib/unsetenv.c. AC_DEFUN([gl_PREREQ_UNSETENV], [ AC_REQUIRE([gl_ENVIRON]) AC_CHECK_HEADERS_ONCE(unistd.h) ]) anubis-4.1.1+dfsg1/m4/unistd_h.m40000600000175000017500000000701211100411110014113 0ustar kbkb# unistd_h.m4 serial 16 dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Simon Josefsson, Bruno Haible. AC_DEFUN([gl_UNISTD_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([unistd.h]) AC_CHECK_HEADERS_ONCE([unistd.h]) if test $ac_cv_header_unistd_h = yes; then HAVE_UNISTD_H=1 else HAVE_UNISTD_H=0 fi AC_SUBST([HAVE_UNISTD_H]) ]) AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_UNISTD_H_DEFAULTS], [ GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS]) HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) HAVE_GETDOMAINNAME=1; AC_SUBST([HAVE_GETDOMAINNAME]) HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME]) HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) HAVE_GETUSERSHELL=1; AC_SUBST([HAVE_GETUSERSHELL]) HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE]) REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR]) REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE]) UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H]) ]) anubis-4.1.1+dfsg1/m4/lib-link.m40000600000175000017500000007623711066744375014057 0ustar kbkb# lib-link.m4 serial 16 (gettext-0.18) dnl Copyright (C) 2001-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ(2.54) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[translit([$1],[./-], [___])]) pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes popdef([NAME]) popdef([Name]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. If found, it dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[translit([$1],[./-], [___])]) pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" LIBS="$LIBS $LIB[]NAME" AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= LIB[]NAME[]_PREFIX= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) popdef([NAME]) popdef([Name]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl acl_libext, dnl acl_shlibext, dnl acl_hardcode_libdir_flag_spec, dnl acl_hardcode_libdir_separator, dnl acl_hardcode_direct, dnl acl_hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ dnl Tell automake >= 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE(rpath, [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_FROMPACKAGE(name, package) dnl declares that libname comes from the given package. The configure file dnl will then not have a --with-libname-prefix option but a dnl --with-package-prefix option. Several libraries can come from the same dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar dnl macro call that searches for libname. AC_DEFUN([AC_LIB_FROMPACKAGE], [ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) define([acl_frompackage_]NAME, [$2]) popdef([NAME]) pushdef([PACK],[$2]) pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) define([acl_libsinpackage_]PACKUP, m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) popdef([PACKUP]) popdef([PACK]) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) dnl Autoconf >= 2.61 supports dots in --with options. pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_ARG_WITH(P_A_C_K[-prefix], [[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= LIB[]NAME[]_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" dnl The same code as in the loop below: dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$acl_hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIB[]NAME[]_PREFIX="$basedir" additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` LIB[]NAME[]_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi popdef([P_A_C_K]) popdef([PACKLIBS]) popdef([PACKUP]) popdef([PACK]) popdef([NAME]) ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) dnl For those cases where a variable contains several -L and -l options dnl referring to unknown libraries and directories, this macro determines the dnl necessary additional linker options for the runtime path. dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) dnl sets LDADDVAR to linker options needed together with LIBSVALUE. dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, dnl otherwise linking without libtool is assumed. AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [ AC_REQUIRE([AC_LIB_RPATH]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) $1= if test "$enable_rpath" != no; then if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode directories into the resulting dnl binary. rpathdirs= next= for opt in $2; do if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= else case $opt in -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= ;; *) next= ;; esac fi done if test "X$rpathdirs" != "X"; then if test -n ""$3""; then dnl libtool is used for linking. Use -R options. for dir in $rpathdirs; do $1="${$1}${$1:+ }-R$dir" done else dnl The linker is used for linking directly. if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user dnl must pass all path elements in one option. alldirs= for dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="$flag" else dnl The -rpath options are cumulative. for dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="${$1}${$1:+ }$flag" done fi fi fi fi fi AC_SUBST([$1]) ]) anubis-4.1.1+dfsg1/m4/error.m40000600000175000017500000000103411014340464013446 0ustar kbkb#serial 11 # Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software # Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_ERROR], [ AC_FUNC_ERROR_AT_LINE dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]). gl_PREREQ_ERROR ]) # Prerequisites of lib/error.c. AC_DEFUN([gl_PREREQ_ERROR], [ AC_REQUIRE([AC_FUNC_STRERROR_R]) : ]) anubis-4.1.1+dfsg1/m4/stdlib_h.m40000600000175000017500000000544211105300426014107 0ustar kbkb# stdlib_h.m4 serial 13 dnl Copyright (C) 2007, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_STDLIB_H], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([stdlib.h]) AC_CHECK_TYPES([struct random_data], [], [HAVE_STRUCT_RANDOM_DATA=0], [[#include ]]) ]) AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_STDLIB_H_DEFAULTS], [ GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL]) GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG]) GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL]) HAVE_CALLOC_POSIX=1; AC_SUBST([HAVE_CALLOC_POSIX]) HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) HAVE_MALLOC_POSIX=1; AC_SUBST([HAVE_MALLOC_POSIX]) HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP]) HAVE_REALLOC_POSIX=1; AC_SUBST([HAVE_REALLOC_POSIX]) HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R]) HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV]) HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) VOID_UNSETENV=0; AC_SUBST([VOID_UNSETENV]) ]) anubis-4.1.1+dfsg1/m4/environ.m40000600000175000017500000000221111014340464013773 0ustar kbkb# environ.m4 serial 1 dnl Copyright (C) 2001-2004, 2006-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_ENVIRON], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl Persuade glibc to declare environ. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) gt_CHECK_VAR_DECL([#include ], environ) if test $gt_cv_var_environ_declaration != yes; then HAVE_DECL_ENVIRON=0 fi ]) # Check if a variable is properly declared. # gt_CHECK_VAR_DECL(includes,variable) AC_DEFUN([gt_CHECK_VAR_DECL], [ define([gt_cv_var], [gt_cv_var_]$2[_declaration]) AC_MSG_CHECKING([if $2 is properly declared]) AC_CACHE_VAL(gt_cv_var, [ AC_TRY_COMPILE([$1 extern struct { int foo; } $2;], [$2.foo = 1;], gt_cv_var=no, gt_cv_var=yes)]) AC_MSG_RESULT($gt_cv_var) if test $gt_cv_var = yes; then AC_DEFINE([HAVE_]translit($2, [a-z], [A-Z])[_DECL], 1, [Define if you have the declaration of $2.]) fi undefine([gt_cv_var]) ]) anubis-4.1.1+dfsg1/m4/errno_h.m40000600000175000017500000000600711122763763013771 0ustar kbkb# errno_h.m4 serial 2 dnl Copyright (C) 2004, 2006, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_HEADER_ERRNO_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_HEADER_ERRNO_H_BODY]) ]) AC_DEFUN([gl_HEADER_ERRNO_H_BODY], [ AC_REQUIRE([AC_PROG_CC]) AC_CACHE_CHECK([for complete errno.h], gl_cv_header_errno_h_complete, [ AC_EGREP_CPP(booboo,[ #include #if !defined ENOMSG booboo #endif #if !defined EIDRM booboo #endif #if !defined ENOLINK booboo #endif #if !defined EPROTO booboo #endif #if !defined EMULTIHOP booboo #endif #if !defined EBADMSG booboo #endif #if !defined EOVERFLOW booboo #endif #if !defined ENOTSUP booboo #endif #if !defined ECANCELED booboo #endif ], [gl_cv_header_errno_h_complete=no], [gl_cv_header_errno_h_complete=yes]) ]) if test $gl_cv_header_errno_h_complete = yes; then ERRNO_H='' else gl_CHECK_NEXT_HEADERS([errno.h]) ERRNO_H='errno.h' fi AC_SUBST([ERRNO_H]) gl_REPLACE_ERRNO_VALUE([EMULTIHOP]) gl_REPLACE_ERRNO_VALUE([ENOLINK]) gl_REPLACE_ERRNO_VALUE([EOVERFLOW]) ]) # Assuming $1 = EOVERFLOW. # The EOVERFLOW errno value ought to be defined in , according to # POSIX. But some systems (like OpenBSD 4.0 or AIX 3) don't define it, and # some systems (like OSF/1) define it when _XOPEN_SOURCE_EXTENDED is defined. # Check for the value of EOVERFLOW. # Set the variables EOVERFLOW_HIDDEN and EOVERFLOW_VALUE. AC_DEFUN([gl_REPLACE_ERRNO_VALUE], [ if test -n "$ERRNO_H"; then AC_CACHE_CHECK([for ]$1[ value], [gl_cv_header_errno_h_]$1, [ AC_EGREP_CPP(yes,[ #include #ifdef ]$1[ yes #endif ], [gl_cv_header_errno_h_]$1[=yes], [gl_cv_header_errno_h_]$1[=no]) if test $gl_cv_header_errno_h_]$1[ = no; then AC_EGREP_CPP(yes,[ #define _XOPEN_SOURCE_EXTENDED 1 #include #ifdef ]$1[ yes #endif ], [gl_cv_header_errno_h_]$1[=hidden]) if test $gl_cv_header_errno_h_]$1[ = hidden; then dnl The macro exists but is hidden. dnl Define it to the same value. AC_COMPUTE_INT([gl_cv_header_errno_h_]$1, $1, [ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include ]) fi fi ]) case $gl_cv_header_errno_h_]$1[ in yes | no) ]$1[_HIDDEN=0; ]$1[_VALUE= ;; *) ]$1[_HIDDEN=1; ]$1[_VALUE="$gl_cv_header_errno_h_]$1[" ;; esac AC_SUBST($1[_HIDDEN]) AC_SUBST($1[_VALUE]) fi ]) dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. dnl Remove this when we can assume autoconf >= 2.61. m4_ifdef([AC_COMPUTE_INT], [], [ AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) ]) anubis-4.1.1+dfsg1/m4/exitfail.m40000600000175000017500000000060611014340464014126 0ustar kbkb# exitfail.m4 serial 6 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_EXITFAIL], [ AC_LIBOBJ([exitfail]) dnl No prerequisites of lib/exitfail.c. : ]) anubis-4.1.1+dfsg1/m4/lib-ld.m40000600000175000017500000000653111014340464013467 0ustar kbkb# lib-ld.m4 serial 3 (gettext-0.13) dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(acl_cv_path_LD, [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT($LD) else AC_MSG_RESULT(no) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) anubis-4.1.1+dfsg1/m4/gnulib-common.m40000600000175000017500000000747111100411110015055 0ustar kbkb# gnulib-common.m4 serial 6 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # gl_COMMON # is expanded unconditionally through gnulib-tool magic. AC_DEFUN([gl_COMMON], [ dnl Use AC_REQUIRE here, so that the code is expanded once only. AC_REQUIRE([gl_COMMON_BODY]) ]) AC_DEFUN([gl_COMMON_BODY], [ AH_VERBATIM([isoc99_inline], [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. __APPLE__ && __MACH__ test for MacOS X. __APPLE_CC__ tests for the Apple compiler and its version. __STDC_VERSION__ tests for the C99 mode. */ #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ # define __GNUC_STDC_INLINE__ 1 #endif]) AH_VERBATIM([unused_parameter], [/* Define as a marker that can be attached to function parameter declarations for parameters that are not used. This helps to reduce warnings, such as from GCC -Wunused-parameter. */ #if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) # define _UNUSED_PARAMETER_ __attribute__ ((__unused__)) #else # define _UNUSED_PARAMETER_ #endif ]) ]) # gl_MODULE_INDICATOR([modulename]) # defines a C macro indicating the presence of the given module. AC_DEFUN([gl_MODULE_INDICATOR], [ AC_DEFINE([GNULIB_]translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], [Define to 1 when using the gnulib module ]$1[.]) ]) # m4_foreach_w # is a backport of autoconf-2.59c's m4_foreach_w. # Remove this macro when we can assume autoconf >= 2.60. m4_ifndef([m4_foreach_w], [m4_define([m4_foreach_w], [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) # AC_PROG_MKDIR_P # is a backport of autoconf-2.60's AC_PROG_MKDIR_P. # Remove this macro when we can assume autoconf >= 2.60. m4_ifdef([AC_PROG_MKDIR_P], [], [ AC_DEFUN([AC_PROG_MKDIR_P], [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake MKDIR_P='$(mkdir_p)' AC_SUBST([MKDIR_P])])]) # AC_C_RESTRICT # This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61, # so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++ # works. # This definition can be removed once autoconf >= 2.62 can be assumed. AC_DEFUN([AC_C_RESTRICT], [AC_CACHE_CHECK([for C/C++ restrict keyword], ac_cv_c_restrict, [ac_cv_c_restrict=no # The order here caters to the fact that C++ does not require restrict. for ac_kw in __restrict __restrict__ _Restrict restrict; do AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [[typedef int * int_ptr; int foo (int_ptr $ac_kw ip) { return ip[0]; }]], [[int s[1]; int * $ac_kw t = s; t[0] = 0; return foo(t)]])], [ac_cv_c_restrict=$ac_kw]) test "$ac_cv_c_restrict" != no && break done ]) AH_VERBATIM([restrict], [/* Define to the equivalent of the C99 'restrict' keyword, or to nothing if this is not supported. Do not define if restrict is supported directly. */ #undef restrict /* Work around a bug in Sun C++: it does not support _Restrict, even though the corresponding Sun C compiler does, which causes "#define restrict _Restrict" in the previous line. Perhaps some future version of Sun C++ will work with _Restrict; if so, it'll probably define __RESTRICT, just as Sun C does. */ #if defined __SUNPRO_CC && !defined __RESTRICT # define _Restrict #endif]) case $ac_cv_c_restrict in restrict) ;; no) AC_DEFINE([restrict], []) ;; *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; esac ]) anubis-4.1.1+dfsg1/m4/inline.m40000600000175000017500000000313711014340464013601 0ustar kbkb# inline.m4 serial 3 dnl Copyright (C) 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Test for the 'inline' keyword or equivalent. dnl Define 'inline' to a supported equivalent, or to nothing if not supported, dnl like AC_C_INLINE does. Also, define HAVE_INLINE if 'inline' or an dnl equivalent is effectively supported, i.e. if the compiler is likely to dnl drop unused 'static inline' functions. AC_DEFUN([gl_INLINE], [ AC_REQUIRE([AC_C_INLINE]) AC_CACHE_CHECK([whether the compiler generally respects inline], [gl_cv_c_inline_effective], [if test $ac_cv_c_inline = no; then gl_cv_c_inline_effective=no else dnl GCC defines __NO_INLINE__ if not optimizing or if -fno-inline is dnl specified. dnl Use AC_COMPILE_IFELSE here, not AC_EGREP_CPP, because the result dnl depends on optimization flags, which can be in CFLAGS. dnl (AC_EGREP_CPP looks only at the CPPFLAGS.) AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[]], [[#ifdef __NO_INLINE__ #error "inline is not effective" #endif]])], [gl_cv_c_inline_effective=yes], [gl_cv_c_inline_effective=no]) fi ]) if test $gl_cv_c_inline_effective = yes; then AC_DEFINE([HAVE_INLINE], 1, [Define to 1 if the compiler supports one of the keywords 'inline', '__inline__', '__inline' and effectively inlines functions marked as such.]) fi ]) anubis-4.1.1+dfsg1/m4/onceonly.m40000600000175000017500000000752111036630564014161 0ustar kbkb# onceonly.m4 serial 6 dnl Copyright (C) 2002-2003, 2005-2006, 2008 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl This file defines some "once only" variants of standard autoconf macros. dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS dnl AC_REQUIRE([AC_FUNC_STRCOLL]) like AC_FUNC_STRCOLL dnl The advantage is that the check for each of the headers/functions/decls dnl will be put only once into the 'configure' file. It keeps the size of dnl the 'configure' file down, and avoids redundant output when 'configure' dnl is run. dnl The drawback is that the checks cannot be conditionalized. If you write dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to dnl empty, and the check will be inserted before the body of the AC_DEFUNed dnl function. dnl The original code implemented AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE dnl in terms of AC_DEFUN and AC_REQUIRE. This implementation uses diversions to dnl named sections DEFAULTS and INIT_PREPARE in order to check all requested dnl headers at once, thus reducing the size of 'configure'. It is known to work dnl with autoconf 2.57..2.62 at least . The size reduction is ca. 9%. dnl Autoconf version 2.59 plus gnulib is required; this file is not needed dnl with Autoconf 2.60 or greater. But note that autoconf's implementation of dnl AC_CHECK_DECLS_ONCE expects a comma-separated list of symbols as first dnl argument! AC_PREREQ([2.59]) # AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of # AC_CHECK_HEADERS(HEADER1 HEADER2 ...). AC_DEFUN([AC_CHECK_HEADERS_ONCE], [ : m4_foreach_w([gl_HEADER_NAME], [$1], [ AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, [./-], [___])), [ m4_divert_text([INIT_PREPARE], [gl_header_list="$gl_header_list gl_HEADER_NAME"]) gl_HEADERS_EXPANSION AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_HEADER_NAME])), [Define to 1 if you have the <]m4_defn([gl_HEADER_NAME])[> header file.]) ]) AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, [./-], [___]))) ]) ]) m4_define([gl_HEADERS_EXPANSION], [ m4_divert_text([DEFAULTS], [gl_header_list=]) AC_CHECK_HEADERS([$gl_header_list]) m4_define([gl_HEADERS_EXPANSION], []) ]) # AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of # AC_CHECK_FUNCS(FUNC1 FUNC2 ...). AC_DEFUN([AC_CHECK_FUNCS_ONCE], [ : m4_foreach_w([gl_FUNC_NAME], [$1], [ AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [ m4_divert_text([INIT_PREPARE], [gl_func_list="$gl_func_list gl_FUNC_NAME"]) gl_FUNCS_EXPANSION AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_FUNC_NAME])), [Define to 1 if you have the `]m4_defn([gl_FUNC_NAME])[' function.]) ]) AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME])) ]) ]) m4_define([gl_FUNCS_EXPANSION], [ m4_divert_text([DEFAULTS], [gl_func_list=]) AC_CHECK_FUNCS([$gl_func_list]) m4_define([gl_FUNCS_EXPANSION], []) ]) # AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of # AC_CHECK_DECLS(DECL1, DECL2, ...). AC_DEFUN([AC_CHECK_DECLS_ONCE], [ : m4_foreach_w([gl_DECL_NAME], [$1], [ AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [ AC_CHECK_DECLS(m4_defn([gl_DECL_NAME])) ]) AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME])) ]) ]) anubis-4.1.1+dfsg1/m4/intlmacosx.m40000600000175000017500000000456511014340464014512 0ustar kbkb# intlmacosx.m4 serial 1 (gettext-0.17) dnl Copyright (C) 2004-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Checks for special options needed on MacOS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], gt_cv_func_CFPreferencesCopyAppValue, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFPreferencesCopyAppValue(NULL, NULL)], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) anubis-4.1.1+dfsg1/m4/lib-prefix.m40000600000175000017500000002021611066744375014401 0ustar kbkb# lib-prefix.m4 serial 6 (gettext-0.18) dnl Copyright (C) 2001-2005, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't dnl require excessive bracketing. ifdef([AC_HELP_STRING], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) dnl AC_LIB_PREPARE_MULTILIB creates dnl - a variable acl_libdirstem, containing the basename of the libdir, either dnl "lib" or "lib64" or "lib/64", dnl - a variable acl_libdirstem2, as a secondary possible value for dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or dnl "lib/amd64". AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ dnl There is no formal standard regarding lib and lib64. dnl On glibc systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine dnl the compiler's default mode by looking at the compiler's library search dnl path. If at least one of its elements ends in /lib64 or points to a dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. dnl Otherwise we use the default, namely "lib". dnl On Solaris systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. AC_REQUIRE([AC_CANONICAL_HOST]) acl_libdirstem=lib acl_libdirstem2= case "$host_os" in solaris*) dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment dnl . dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the dnl symlink is missing, so we set acl_libdirstem2 too. AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], [AC_EGREP_CPP([sixtyfour bits], [ #ifdef _LP64 sixtyfour bits #endif ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) ]) if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 case "$host_cpu" in sparc*) acl_libdirstem2=lib/sparcv9 ;; i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; esac fi ;; *) searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ;; esac test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" ]) anubis-4.1.1+dfsg1/m4/getopt.m40000600000175000017500000000470311014340464013625 0ustar kbkb# getopt.m4 serial 14 dnl Copyright (C) 2002-2006, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # The getopt module assume you want GNU getopt, with getopt_long etc, # rather than vanilla POSIX getopt. This means your code should # always include for the getopt prototypes. AC_DEFUN([gl_GETOPT_SUBSTITUTE], [ AC_LIBOBJ([getopt]) AC_LIBOBJ([getopt1]) gl_GETOPT_SUBSTITUTE_HEADER gl_PREREQ_GETOPT ]) AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER], [ GETOPT_H=getopt.h AC_DEFINE([__GETOPT_PREFIX], [[rpl_]], [Define to rpl_ if the getopt replacement functions and variables should be used.]) AC_SUBST([GETOPT_H]) ]) AC_DEFUN([gl_GETOPT_CHECK_HEADERS], [ if test -z "$GETOPT_H"; then AC_CHECK_HEADERS([getopt.h], [], [GETOPT_H=getopt.h]) fi if test -z "$GETOPT_H"; then AC_CHECK_FUNCS([getopt_long_only], [], [GETOPT_H=getopt.h]) fi dnl BSD getopt_long uses an incompatible method to reset option processing, dnl and (as of 2004-10-15) mishandles optional option-arguments. if test -z "$GETOPT_H"; then AC_CHECK_DECL([optreset], [GETOPT_H=getopt.h], [], [#include ]) fi dnl Solaris 10 getopt doesn't handle `+' as a leading character in an dnl option string (as of 2005-05-05). if test -z "$GETOPT_H"; then AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_gnu_getopt], [AC_RUN_IFELSE( [AC_LANG_PROGRAM([[#include ]], [[ char *myargv[3]; myargv[0] = "conftest"; myargv[1] = "-+"; myargv[2] = 0; return getopt (2, myargv, "+a") != '?'; ]])], [gl_cv_func_gnu_getopt=yes], [gl_cv_func_gnu_getopt=no], [dnl cross compiling - pessimistically guess based on decls dnl Solaris 10 getopt doesn't handle `+' as a leading character in an dnl option string (as of 2005-05-05). AC_CHECK_DECL([getopt_clip], [gl_cv_func_gnu_getopt=no], [gl_cv_func_gnu_getopt=yes], [#include ])])]) if test "$gl_cv_func_gnu_getopt" = "no"; then GETOPT_H=getopt.h fi fi ]) AC_DEFUN([gl_GETOPT_IFELSE], [ AC_REQUIRE([gl_GETOPT_CHECK_HEADERS]) AS_IF([test -n "$GETOPT_H"], [$1], [$2]) ]) AC_DEFUN([gl_GETOPT], [gl_GETOPT_IFELSE([gl_GETOPT_SUBSTITUTE])]) # Prerequisites of lib/getopt*. AC_DEFUN([gl_PREREQ_GETOPT], [ AC_CHECK_DECLS_ONCE([getenv]) ]) anubis-4.1.1+dfsg1/m4/extensions.m40000600000175000017500000000561111014340464014521 0ustar kbkb# serial 5 -*- Autoconf -*- # Enable extensions on systems that normally disable them. # Copyright (C) 2003, 2006-2008 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS # Autoconf. Perhaps we can remove this once we can assume Autoconf # 2.62 or later everywhere, but since CVS Autoconf mutates rapidly # enough in this area it's likely we'll need to redefine # AC_USE_SYSTEM_EXTENSIONS for quite some time. # AC_USE_SYSTEM_EXTENSIONS # ------------------------ # Enable extensions on systems that normally disable them, # typically due to standards-conformance issues. # Remember that #undef in AH_VERBATIM gets replaced with #define by # AC_DEFINE. The goal here is to define all known feature-enabling # macros, then, if reports of conflicts are made, disable macros that # cause problems on some platforms (such as __EXTENSIONS__). AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], [AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl AC_BEFORE([$0], [AC_RUN_IFELSE])dnl AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) if test "$MINIX" = yes; then AC_DEFINE([_POSIX_SOURCE], [1], [Define to 1 if you need to in order for `stat' and other things to work.]) AC_DEFINE([_POSIX_1_SOURCE], [2], [Define to 2 if the system does not provide POSIX.1 features except with this defined.]) AC_DEFINE([_MINIX], [1], [Define to 1 if on MINIX.]) fi AH_VERBATIM([__EXTENSIONS__], [/* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif ]) AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], [ac_cv_safe_to_define___extensions__], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[ # define __EXTENSIONS__ 1 ]AC_INCLUDES_DEFAULT])], [ac_cv_safe_to_define___extensions__=yes], [ac_cv_safe_to_define___extensions__=no])]) test $ac_cv_safe_to_define___extensions__ = yes && AC_DEFINE([__EXTENSIONS__]) AC_DEFINE([_ALL_SOURCE]) AC_DEFINE([_GNU_SOURCE]) AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) AC_DEFINE([_TANDEM_SOURCE]) ])# AC_USE_SYSTEM_EXTENSIONS # gl_USE_SYSTEM_EXTENSIONS # ------------------------ # Enable extensions on systems that normally disable them, # typically due to standards-conformance issues. AC_DEFUN([gl_USE_SYSTEM_EXTENSIONS], [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])]) anubis-4.1.1+dfsg1/m4/getline.m40000600000175000017500000000446211014340464013754 0ustar kbkb# getline.m4 serial 18 dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007 Free dnl Software Foundation, Inc. dnl dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_PREREQ([2.59]) dnl See if there's a working, system-supplied version of the getline function. dnl We can't just do AC_REPLACE_FUNCS(getline) because some systems dnl have a function by that name in -linet that doesn't have anything dnl to do with the function we need. AC_DEFUN([gl_FUNC_GETLINE], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) dnl Persuade glibc to declare getline(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_DECLS_ONCE([getline]) gl_getline_needs_run_time_check=no AC_CHECK_FUNC(getline, dnl Found it in some library. Verify that it works. gl_getline_needs_run_time_check=yes, am_cv_func_working_getline=no) if test $gl_getline_needs_run_time_check = yes; then AC_CACHE_CHECK([for working getline function], am_cv_func_working_getline, [echo fooN |tr -d '\012'|tr N '\012' > conftest.data AC_TRY_RUN([ # include # include # include int main () { /* Based on a test program from Karl Heuer. */ char *line = NULL; size_t siz = 0; int len; FILE *in = fopen ("./conftest.data", "r"); if (!in) return 1; len = getline (&line, &siz, in); exit ((len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1); } ], am_cv_func_working_getline=yes dnl The library version works. , am_cv_func_working_getline=no dnl The library version does NOT work. , dnl We're cross compiling. Assume it works on glibc2 systems. [AC_EGREP_CPP([Lucky GNU user], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) Lucky GNU user #endif #endif ], [am_cv_func_working_getline=yes], [am_cv_func_working_getline=no])] )]) fi if test $ac_cv_have_decl_getline = no; then HAVE_DECL_GETLINE=0 fi if test $am_cv_func_working_getline = no; then REPLACE_GETLINE=1 AC_LIBOBJ([getline]) gl_PREREQ_GETLINE fi ]) # Prerequisites of lib/getline.c. AC_DEFUN([gl_PREREQ_GETLINE], [ gl_FUNC_GETDELIM ]) anubis-4.1.1+dfsg1/po/0000700000175000017500000000000011123153365012154 5ustar kbkbanubis-4.1.1+dfsg1/po/nb.gmo0000600000175000017500000004503311123150057013261 0ustar kbkbÞ•ã43L*>Oc,€­Ç;ä7 Xr,Œ¹%×,ý-* X&y ºÚ,úN'v•­Çã ø4R n|N(Þ &9I)X‚ž³Ðë )A\ cn© ÆÓò/('XT€Õìÿ$5Znˆ¦ÅÊ áí  +?S!i‹¢¼ Õà(ü%.E(t*)È&ò,<[y"—(ºãõ *''Rz‘"¯Ò!é 1 +L /x /¨ "Ø û !%!R)‘) ±)5½)ó)"*9(*b* r*&€* §*È*è*þ*++3+ C+Q+k+{+Œ+£+'½+å+&,(,D,^,'r,š,­,Æ,ß,ý,-%-8-L-`-¢h- //0/A/U/.t/£/Á/<à/80V0p0/Š0º0#Ø0-ü0.*1Y1$y1ž1¶1Ð1(ê1F2"Z2}2“2­2Ë2#ç2 3+3I3e3}3T‘3*æ3 4&4C4T43h4œ4¶4É4å4þ45>5W5v5 }5#‡5«5 Ë5ì5"ü56=6*X6-ƒ6g±6707A7_7.t7£7¼7!Ù7û78 8 58C8[8 r8|8š8±8Æ8ä8ù89 ,9#79"[9"~9*¡9'Ì9*ô9):#I:m:€: :°: Ì:%í:*;>;Q;i;-;%¯;Õ;ê;+<4<!K< m<5y<(¯<+Ø<+='0=X=m=„=š=µ=Õ=.ç=>/>H>c>"z>->Ë>*ß>$ ?&/?V?f?'k?%“?¹? Ô?Xõ?N@b@~@3…@+¹@å@!A$A":A]AwA }AˆA§A\ÇA;$B `BBžB¹B!ÎBðBCQC*nC™C¯CËC êC öCD:DQDiD%†D¬DÃD0ÝD#E%2EXE`EpE‚EœE¯E=ÅEF F;-FiF'F9§FáF ñF-ÿF"-G.PG#G£G´GÄGÛG ëGùGH#H2HHH-bHH'¬HÔHðH I) IJI]IvII®IÆIÖIéIýIJ`ˆ½‹*ß9JÆH0.v4qW]ÃÞiN&}fÝÎÇVx\ƒ'$¥—d„_×hzZ Õ>PÄš´ÜتDAÉ7“Ô‚!|‘Ëœ†LŸ¡mл›en,¢~6˜-áM©1E²j™OÌ a¶¦% Á·°à¾?Èl/‡¤”¼ +(3޵ŒÛÊ–ÍB:2g[kCÀÖr^Å âÓ¹£Úsp€bS®Š Ï…KÑYã=<ºU"«Xy•c{¯Ù¿Tt5@8­³I¸;‰¬)o ±RFGw#ž¨u’ÒQ§#1 bind() failed#1 socket() failed.#2 bind() failed#2 socket() failed.%s daemon startup succeeded.%s is not a regular file or a symbolic link.%s not a procedure object%s remapped to %s@localhost.%s: a temporary name server error occured. Try again later.%s: host name is valid but does not have an IP address.%s: illegal option -- %c %s: invalid option -- %c %s: option `%c%s' doesn't allow an argument %s: option `%s' is ambiguous %s: option `%s' requires an argument %s: option `--%s' doesn't allow an argument %s: option `-W %s' doesn't allow an argument %s: option `-W %s' is ambiguous %s: option requires an argument -- %c %s: unknown DNS error %d.%s: unrecognized option `%c%s' %s: unrecognized option `--%s' %s: unrecoverable name server error occured.- Anonymous DH using prime of %d bit. - Anonymous DH using prime of %d bits. - Certificate Issuer's DN: %s - Certificate Type: %s - Certificate expires: %s- Certificate fingerprint: - Certificate info: - Certificate is valid since: %s- Certificate public key: - Certificate serial number: - Certificate version: #%d - Cipher: %s - Compression: %s - Ephemeral DH using prime of %d bit. - Ephemeral DH using prime of %d bits. - Exponent: %d bit - Exponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protocol: %s ADD %s [%s] %sAddress must be an IP, not a domain name.Address type not supported.Anubis RC file errorAuthentication failed: %d %sAuthentication successful.Bad car type in return from %sBad cdr type in return from %sBad return type from %sBad user name or password.CLIENTCalling %sCan't find out my own hostnameCannot create stream socketCannot create stream socket.Cannot fork.Cannot initialize libgsasl: %sCannot open database %s: %sCannot open pid file '%s'Cannot retrieve data from the SASL database: %sCannot send null user name or password.Child [%lu] finished. %s. %d client left.Child [%lu] finished. %s. %d clients left.Command not supported.Connected to %s:%uConnection closed successfully.Connection from %s:%uConnection not allowed by a ruleset.Connection refused.Could not write to socketCould not write to socket: %sCouldn't connect to %s:%u. %s.DSA Database not specifiedDumped coreESMTP AUTH is not supportedEntering XDB loop...Executing %sExited successfullyExiting XDB loop...Failed with status %dFile `%s' has already been read. Found record for `%s'.GNU Anubis bound to %s:%uGNU Anubis is running...GPGME: %s.GPGME: Cannot list keys: %sGPGME: Invalid recipient encountered: %sGPGME: Invalid signer found: %sGPGME: Unexpected number of signatures createdGPGME: Wrong hash algorithm reported: %iGPGME: Wrong pubkey algorithm reported: %iGPGME: Wrong signature class reported: %uGPGME: Wrong type of signature createdGPGME: failed. %s.GSASL error: %sGSASL handshake aborted: %d %sGeneral SOCKS server failure.Get substring %d failed (%d).Getting remote host information...Got empty list of authentication methodsHost unreachable.IDENT: connect() failedIDENT: connected to %s:%uIDENT: data probably encrypted with DES...IDENT: incorrect data (DES deciphered).IDENT: incorrect data.IDENT: recvline() failed: %s.IDENT: resolved remote user to %s.IDENT: socket() failedIDENT: stream_write() failed: %s.INTERNAL ERRORINTERNAL ERROR at %s:%d: missing or invalid regexIllegal address length received for host %sInitializing the TLS/SSL connection with MTA...Initializing the TLS/SSL connection with MUA...Install GPGME version %s or later.Invalid user ID: %sInvalid user name: %sMODIFY %s [%s] [%s] %sMalformed or unexpected replyMatched condition %s[%s] "%s"Matched trigger "%s"Matched, but too many substrings.Network unreachable.No certificate was found!No certificate was sent.No such section: %sNot a valid debugging level: %sPAM: Not authenticated to use GNU Anubis.PAM: Session closed.PAM: Session opened (restrictions applied).PAM: failed to release authenticator.Possibly not a SOCKS proxy service.REMOVE HEADER [%s]RSA Reading system configuration file %s...Reading user configuration file %s...Record for `%s' not found.Request rejected or failed.Request rejected, because the client program and identd reported different User-IDs.Request rejected.SASL gsasl_client_start: %sSERVERSOCKS Proxy AUTH method: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH method: USER NAME/PASSWORDSOCKS Proxy AUTH: succeeded.SOCKS Proxy Connection: succeeded.SOCKS proxy: %sSTARTTLS (ONEWAY) command failed.STARTTLS command failed.STOPSection %sSection %s already definedSelected authentication mechanism %sSelected authentication mechanism %s requires TLS encryption. Not using ESMTP authenticationServer did not offer any feasible authentication mechanismServer does not accept an AUTH method.Server does not accept any method.Server reply is not valid.Short writeSignal Caught. Exiting Cleanly...Starting SMTP session...Stopped on signal %dStray character in config: \%03o. Possibly missing quotes around the stringTCP wrappers: connection from %s:%u rejected.TLS error reading `%s': %sTLS/SSL handshake failed!TLS/SSL handshake failed: %sTTL expired.TerminatedTerminated on signal %dThe MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA.The certificate has expired.The certificate is not trusted.The certificate is not yet activated.The certificate is trusted.Timeout! Exiting...Too many clients. Connection from %s:%u rejected.Translation map: incorrect syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUNKNOWN Unknown host %s.Unknown mode: %sUnknown regexp modifierUnknown section: %sUsing SOCKS Proxy...Using TLS/SSL encryption between Anubis and remote MTA only...Using the TLS/SSL encryption...WARNING: %sWARNING: An unprivileged user has not been specified!Welcome user %s !Wrong permissions on %s. Set 0600.`logfile' directive is ignored in main configuration fileaccept() failedbind() failedcannot drop non-root setuid privilegescannot open guile output file %scannot set effective gid to %lucannot stat file `%s'connect() faileddaemon() faileddaemon: cannot forkexecvp() failedfork() failedgetsockname() failed: %s.listen() failedmemory exhaustedmissing procedure namemissing replacement valuepcre_compile() failed at offset %d: %s.pcre_fullinfo() failed: %d.program is not allowed in this sectionregcomp() failed at %s: %s.second setuid(%lu) failedsetegid(%lu) failedseteuid(0) succeeded when it should notsetgid(%lu) failedsetgroups(1, %lu) failedsetregid(%lu,%lu) failedsetresgid(%lu,%lu,%lu) failedsetreuid(%lu,-1) failedsetsid() failedsetuid(%lu) failedsocketpair() failedunknown keyword: %swarningProject-Id-Version: anubis 4.0 Report-Msgid-Bugs-To: bug-anubis@gnu.org POT-Creation-Date: 2008-12-20 11:59+0100 PO-Revision-Date: 2005-09-29 00:35+0200 Last-Translator: Geir Helland Language-Team: Norwegian Bokmaal MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); #1 bind() feilet#1 socket() feilet.#2 bind() feilet#2 socket() feilet.%s daemon startet opp normalt.%s er ikke en normal fil eller symbolsk lenke.%s er ikke et prosedyreobjekt%s omskrevet til %s@localhost.%s: Midlertidig navnetjenerfeil oppsto. Forsøk på ny senere.%s: Vertens navn er gyldig men den har ingen IP-adresse.%s: ulovlig opsjon -- %c %s: ugyldig opsjon -- %c %s: opsjon '%c%s' tillater ikke noe argumenter %s: opsjon '%s' er flertydig %s: opsjon '%s' krever et argument %s: opsjon '--%s' tillater ikke noe argument %s: opsjon '-W %s' tillater ikke noe argument %s: opsjon '-W %s' er tvetydig %s: opsjon krever et argument -- %c %s: Ukjent DNS feil %d.%s: ukjent opsjon '%c%s' %s: ukjent opsjon '--%s' %s: Uopprettelig navnetjenerfeil oppsto.Anonym DH med primtall på %d bit. Anonym DH med primtall på %d bits. - Sertifikat utsteder sin DN: %s - Sertifikattype: %s - Sertifikatet utgår: %s - Sertifikat fingeravtrykk : - Sertifikat informasjon: - Sertifikatet er gyldig siden: %s- Sertifikat offentlig nøkkel: - Sertifikat seriellnummer: - Sertifikat versjon: #%d - Chiffer (Krypto): %s - Komprimering: %s Ephemeral (?) FH med primtall op %d bit. Ephemeral (?) FH med primtall op %d bits. - Eksponent: %d bit - Eksponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protokoll: %s LEGG TIL %s [%s] %sAdressen må være en IP-adresse, ikke et domenenavn.Adressetype støttes ikke.Anubis RC fil feilAutentisering feilet: %d %sAutentisering vellykket.Ugyldig car type i retur fra %sUgyldig cdr type i retur fra %sUgyldig returtype fra %sFeil brukernavn eller passord.KLIENTRinger %sKan ikke finne mitt eget maskinnavnKan ikke opprette stream socketKan ikke opprette stream socket.Kan ikke forke.Kan ikke initialisere libgsasl: %sKan ikke åpne database %s: %sKan ikke åpne pid fil '%s'Kan ikke hente data fra SASL databasen: %sKan ikke sende tomt brukernavn eller passord.Barneprosess [%lu] avsluttet. %s. %d klient igjen.Barneprosess [%lu] avsluttet. %s. %d klienter igjen.Kommando støttes ikke.Koblet til %s:%uTilkobling normalt avsluttet.Tilkobling fra %s:%uTilkobling tillates ikke jamnfør et regelsett.Tilkobling støttes ikke.Kunne ikke skrive til socketKunne ikke skrive til socket: %s.Kunne ikke koble til %s:%u. %s.DSA Database ikke angittDumpet kjerneESMTP AUTH støttes ikkeGår inn i XDB løkke...Kjører %sTilkobling normalt avsluttet.Avslutter XDB løkke...Feilet med status %dFilen '%s' er allerede lest. Ingen treff på '%s'.GNU Anubis er bunet til %s:%uGNU Anubis kjører...GPGME: %s.GPGME: Kan ikke liste ut nøkler: %sGPGME: Ugyldig mottaker funner: %sGPGME: Ugyldig signatur funner: %sGPGME: Uventet antall signaturer opprettetGPGME: feil hashalgoritme raportert: %iGPGME: Feil pubkey algoritme raportert: %iGPGME: Feil signaturklasse rapportert: %uGPGME: Feil type signatur opprettetGPGME: feilet. %s.GSASL feil: %sGSASL håndhilsing avbrutt: %d %sGenerell SOCKS tjener feil.Finn understreng %d feilet (%d).Henter informasjon om ekstern vert...Fikk tom liste med autentifikasjonsmetoderVert kan ikke nås.IDENT: connect() feiletIDENT: koblet til %s:%uIDENT: Data sannsynligvis kryptert med DES...IDENT: ugyldig data (DES dekryptert).IDENT: ugyldig data.IDENT: recvline() feilet: %s.IDENT: identifiserte ekstern bruker som %s.IDENT: socket() feiletIDENT: stream_write() feilet: %s.INTERN FEILINITIELL FEIL på %s:%d: manglende eller ugyldig regexUgyldig adresselengde mottat for vert %sInitialiserer TLS/SSL tilkobling met MTA...Initialiserer TLS/SSL tilkobling med MUA...Installer GPGME versjon %s eller nyere.Ugyldig brukerid: %sUgyldig brukernavn: %sENDRE %s [%s] [%s] %sUgyldig eller uventet svarTreff på betingelse %s[%s] "%s"Fant trigger "%s"Fant samsvar, men med for mange understrenger.Nettverket kan ikke nås.Intet sertifikat funnet!Intet sertifikat ble sent.Ingen slik seksjon: %sIkke et gyldig feilsøkingsnivå: %sPAM: Ikke authorisert til å bruke GNU Anubis.PAM: Sesjon lukket.PAM: Sesjon åpnet (restriksjoner gjelder).PAM: Kunne ikke slippe autentikator.Muligens ikke en SOCKS proxy tjeneste.FJERN HODE [%s]RSA Leser systemets konfigurasjonsfil %s...Leser brukers konfigurasjonsfil %s...Data for '%s' ikke funnet.Forespørsel avvist eller feilet.Forespørsel avvist fordi klientprogrammet og identd rapporterer forskjellige brukerID-erForespørsel avvist.SASL gsasl_client_start: %sTJENERSOCKS Proxy AUTH metode: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH metode: USER NAME/PASSWORDSOCKS proxy AUTH: vellykket.SOCKS Proxy tilkoblet: vellykket.SOCKS mellomlager: %sSTARTTLS (ENVEIS) kommando feilet.STARTTLS kommando feilet.STOPPSeksjon %sSeksjonen %s allerede definertValgt autentifikasjonsmetode %sValgt autentiseringsmekanisme %s forutsetter TLS kryptering. Bruker ikke ESMTP autentiseringTjener oppgav ingen autentiseringsmekanismer som kan brukesTjener godtar ikke AUTH metoden.Tjener godtar ingen metoder.Tjenerens svar er ugyldig.Ufullstendig lagringSignal mottatt. Avslutter rent...Starter SMTP sesjon...Stoppen på signal %dTegn på avveier i konfigurasjonen: \%03o. Muligens en streng uten kvoteringstegn.TCP wrappere: tilkobling fra %s:%u avvist.TLS lesefeil '%s': %sTLS/SSL håndhilsing feilet!TLS/SSL håndhilsing feilet: %sTTL utgått.TerminertAvbrutt med signal %dIngen MTA er spesifisert. Sett REMOTE-MTA eller LOCAL-MTA.Sertifikatet er utgått.Sertifikatet stoles ikke på.Sertifikatet er ennå ikke aktivisert.Serifikatet stoles på.Tidsavbrudd! Avslutter...For mange klienter. Tilkobling fra %s:%u avvist.Oversettelse kart: ugyldig syntaks.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUKJENT Ukjent vert %s.Ukjent modus: %s.Ukjent regexp modifikatorUkjent seksjon: %sBruker SOCKS proxy...Bruker TLS/SSL kryptering kun mellom Anubis og ekstern MTA...Bruker TLS/SSL kryptering...ADVARSEL: %sADVARSEL: En upriviligert bruker er ikke blitt spesifisert!Velkommen bruker %s !Feil tilgangsnivå på %s. Sett til 0600.'logfile' direktivet ignoreres i hovedkonfigurasjonsfilenaccept() feiletbind() feiletIkke-root setuid privilegier kan ikke droppeskan ikke åpne guile lagringsfil %skan ikke sette effektiv gid (gruppeid) til %lukan ikke lese status for filen '%s'connect() feiletdaemon() feiletdaemon: Kan ikke forkeexecvp() feiletfork() feiletgetsockname() feilet: %s.listen() feiletminne oppbruktmangler prosedyrenavnmangler erstattningsverdipcre_compile() feilet med forskyvning %d: %s.pcre_fullinfo() feilet: %d.program tillates ikke i denne seksjonenregcomp() feilet på %s: %s.sekundær setuid(%lu) feiletsetegid(%lu) feiletseteuid(0) vellykket når de skulle feiletsetgid(%lu) feiletsetgroups(1, %lu) feiletsetregid(%lu, %lu) feiletsetresgid(%lu,%lu,%lu) feiletsetreuid(%lu,-1) feiletsetsid() feiletsetuid(%lu) feiletsocketpair() feiletUkjent nøkkelord: %sadvarselanubis-4.1.1+dfsg1/po/fr.gmo0000600000175000017500000004724611123150057013301 0ustar kbkbÞ•ã43L*>Oc,€­Ç;ä7 Xr,Œ¹%×,ý-* X&y ºÚ,úN'v•­Çã ø4R n|N(Þ &9I)X‚ž³Ðë )A\ cn© ÆÓò/('XT€Õìÿ$5Znˆ¦ÅÊ áí  +?S!i‹¢¼ Õà(ü%.E(t*)È&ò,<[y"—(ºãõ *''Rz‘"¯Ò!é 1 +L /x /¨ "Ø û !%!R)‘) ±)5½)ó)"*9(*b* r*&€* §*È*è*þ*++3+ C+Q+k+{+Œ+£+'½+å+&,(,D,^,'r,š,­,Æ,ß,ý,-%-8-L-`-h-ù. /"/5/!K/7m/ ¥/Æ/Lã/700h0ƒ0/ž0 Î0)ï0/10I1#z1(ž1Ç1!ã1!2:'2jb2"Í2ð2 3#3@3X3x3"—3º3 Ù3ç3lú3(g4 4$›4À4Ð42ß4505L5l5=‡5<Å5$6$'6L6 S6%_60…60¶6ç6 ÿ6( 7"I7El7<²7mï7]8u8!†8¨8,Ä8ñ89!"9,D9q9v9”9¤9Ã9Ý9í9 :!:!@:"b:…:œ: µ:!À:+â:%;,4;0a;5’;/È;$ø;<.<!?<a<,</®<6Þ<=+=#E=2i=.œ=Ë= ç=/>8>#Q>u>B„>.Ç>1ö>1(?0Z?‹?¤?¾?"Õ?!ø?#@%>@d@ |@!@¿@7×@6AFA5[A4‘A'ÆAîAB1B08B,iB–BU´B CC7C9?C3yC­CÆCåC'õCDPÄš´ÜتDAÉ7“Ô‚!|‘Ëœ†LŸ¡mл›en,¢~6˜-áM©1E²j™OÌ a¶¦% Á·°à¾?Èl/‡¤”¼ +(3޵ŒÛÊ–ÍB:2g[kCÀÖr^Å âÓ¹£Úsp€bS®Š Ï…KÑYã=<ºU"«Xy•c{¯Ù¿Tt5@8­³I¸;‰¬)o ±RFGw#ž¨u’ÒQ§#1 bind() failed#1 socket() failed.#2 bind() failed#2 socket() failed.%s daemon startup succeeded.%s is not a regular file or a symbolic link.%s not a procedure object%s remapped to %s@localhost.%s: a temporary name server error occured. Try again later.%s: host name is valid but does not have an IP address.%s: illegal option -- %c %s: invalid option -- %c %s: option `%c%s' doesn't allow an argument %s: option `%s' is ambiguous %s: option `%s' requires an argument %s: option `--%s' doesn't allow an argument %s: option `-W %s' doesn't allow an argument %s: option `-W %s' is ambiguous %s: option requires an argument -- %c %s: unknown DNS error %d.%s: unrecognized option `%c%s' %s: unrecognized option `--%s' %s: unrecoverable name server error occured.- Anonymous DH using prime of %d bit. - Anonymous DH using prime of %d bits. - Certificate Issuer's DN: %s - Certificate Type: %s - Certificate expires: %s- Certificate fingerprint: - Certificate info: - Certificate is valid since: %s- Certificate public key: - Certificate serial number: - Certificate version: #%d - Cipher: %s - Compression: %s - Ephemeral DH using prime of %d bit. - Ephemeral DH using prime of %d bits. - Exponent: %d bit - Exponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protocol: %s ADD %s [%s] %sAddress must be an IP, not a domain name.Address type not supported.Anubis RC file errorAuthentication failed: %d %sAuthentication successful.Bad car type in return from %sBad cdr type in return from %sBad return type from %sBad user name or password.CLIENTCalling %sCan't find out my own hostnameCannot create stream socketCannot create stream socket.Cannot fork.Cannot initialize libgsasl: %sCannot open database %s: %sCannot open pid file '%s'Cannot retrieve data from the SASL database: %sCannot send null user name or password.Child [%lu] finished. %s. %d client left.Child [%lu] finished. %s. %d clients left.Command not supported.Connected to %s:%uConnection closed successfully.Connection from %s:%uConnection not allowed by a ruleset.Connection refused.Could not write to socketCould not write to socket: %sCouldn't connect to %s:%u. %s.DSA Database not specifiedDumped coreESMTP AUTH is not supportedEntering XDB loop...Executing %sExited successfullyExiting XDB loop...Failed with status %dFile `%s' has already been read. Found record for `%s'.GNU Anubis bound to %s:%uGNU Anubis is running...GPGME: %s.GPGME: Cannot list keys: %sGPGME: Invalid recipient encountered: %sGPGME: Invalid signer found: %sGPGME: Unexpected number of signatures createdGPGME: Wrong hash algorithm reported: %iGPGME: Wrong pubkey algorithm reported: %iGPGME: Wrong signature class reported: %uGPGME: Wrong type of signature createdGPGME: failed. %s.GSASL error: %sGSASL handshake aborted: %d %sGeneral SOCKS server failure.Get substring %d failed (%d).Getting remote host information...Got empty list of authentication methodsHost unreachable.IDENT: connect() failedIDENT: connected to %s:%uIDENT: data probably encrypted with DES...IDENT: incorrect data (DES deciphered).IDENT: incorrect data.IDENT: recvline() failed: %s.IDENT: resolved remote user to %s.IDENT: socket() failedIDENT: stream_write() failed: %s.INTERNAL ERRORINTERNAL ERROR at %s:%d: missing or invalid regexIllegal address length received for host %sInitializing the TLS/SSL connection with MTA...Initializing the TLS/SSL connection with MUA...Install GPGME version %s or later.Invalid user ID: %sInvalid user name: %sMODIFY %s [%s] [%s] %sMalformed or unexpected replyMatched condition %s[%s] "%s"Matched trigger "%s"Matched, but too many substrings.Network unreachable.No certificate was found!No certificate was sent.No such section: %sNot a valid debugging level: %sPAM: Not authenticated to use GNU Anubis.PAM: Session closed.PAM: Session opened (restrictions applied).PAM: failed to release authenticator.Possibly not a SOCKS proxy service.REMOVE HEADER [%s]RSA Reading system configuration file %s...Reading user configuration file %s...Record for `%s' not found.Request rejected or failed.Request rejected, because the client program and identd reported different User-IDs.Request rejected.SASL gsasl_client_start: %sSERVERSOCKS Proxy AUTH method: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH method: USER NAME/PASSWORDSOCKS Proxy AUTH: succeeded.SOCKS Proxy Connection: succeeded.SOCKS proxy: %sSTARTTLS (ONEWAY) command failed.STARTTLS command failed.STOPSection %sSection %s already definedSelected authentication mechanism %sSelected authentication mechanism %s requires TLS encryption. Not using ESMTP authenticationServer did not offer any feasible authentication mechanismServer does not accept an AUTH method.Server does not accept any method.Server reply is not valid.Short writeSignal Caught. Exiting Cleanly...Starting SMTP session...Stopped on signal %dStray character in config: \%03o. Possibly missing quotes around the stringTCP wrappers: connection from %s:%u rejected.TLS error reading `%s': %sTLS/SSL handshake failed!TLS/SSL handshake failed: %sTTL expired.TerminatedTerminated on signal %dThe MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA.The certificate has expired.The certificate is not trusted.The certificate is not yet activated.The certificate is trusted.Timeout! Exiting...Too many clients. Connection from %s:%u rejected.Translation map: incorrect syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUNKNOWN Unknown host %s.Unknown mode: %sUnknown regexp modifierUnknown section: %sUsing SOCKS Proxy...Using TLS/SSL encryption between Anubis and remote MTA only...Using the TLS/SSL encryption...WARNING: %sWARNING: An unprivileged user has not been specified!Welcome user %s !Wrong permissions on %s. Set 0600.`logfile' directive is ignored in main configuration fileaccept() failedbind() failedcannot drop non-root setuid privilegescannot open guile output file %scannot set effective gid to %lucannot stat file `%s'connect() faileddaemon() faileddaemon: cannot forkexecvp() failedfork() failedgetsockname() failed: %s.listen() failedmemory exhaustedmissing procedure namemissing replacement valuepcre_compile() failed at offset %d: %s.pcre_fullinfo() failed: %d.program is not allowed in this sectionregcomp() failed at %s: %s.second setuid(%lu) failedsetegid(%lu) failedseteuid(0) succeeded when it should notsetgid(%lu) failedsetgroups(1, %lu) failedsetregid(%lu,%lu) failedsetresgid(%lu,%lu,%lu) failedsetreuid(%lu,-1) failedsetsid() failedsetuid(%lu) failedsocketpair() failedunknown keyword: %swarningProject-Id-Version: GNU anubis 4.0 Report-Msgid-Bugs-To: bug-anubis@gnu.org POT-Creation-Date: 2008-12-20 11:59+0100 PO-Revision-Date: 2005-01-07 08:00-0500 Last-Translator: Michel Robitaille Language-Team: French MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=2; plural=(n > 1); #1 bind() a échouéÉchec du socket() #1.#2 bind() a échouéÉchec du socket() #2.Succès de démarrage du daemon %s.%s n'est pas un fichier régulier ni un lien symbolique.%s n'est pas un objet procédural%s re-mappé sur %s@localhost%s: une erreur temporaire du serveur de nom est survenue. Essayer plus tard.%s: nom de l'hôte est valide mais n'a pas d'adresse IP.%s: option -- %c illégale %s: option -- %c invalide %s: l'option « %c%s » ne permet pas d'argument %s: l'option « %s » est ambiguë %s: l'option « %s » requiert un argument %s: l'option « --%s » ne permet pas d'argument %s: l'option « -W %s » ne permet pas d'argument %s: l'option « -W %s » est ambiguë %s: l'option -- %c requiert un argument %s: erreur DNS inconnue %d.%s: option « %c%s » non reconnue %s: option « --%s » non reconnue %s: erreur non récupérable du serveur de nom est survenue.- DH anonyme utilisant un nombre premier de %d bit. - DH anonyme utilisant un nombre premier de %d bits. - Certificat DN du diffuseur: %s - Type de certificat: %s - Certificat expire: %s - Empreinte du certificat: - Info du certificat: - Certificat valide depuis: %s- Clé publique du certificat: - Numéro de série du certificat: - Version du certificat: #%d - Cipher: %s - Compression: %s - DH éphémère utilisant un nombre premier de %d bit. - DH éphémère utilisant un nombre premier de %d bits. - Exposant: %d bit - Exposant: %d bits - MAC: %s - Modulo: %d bit - Modulo: %d bits - Protocol: %s ADD %s [%s] %sAdresse doit être IP et non pas un nom de domaine.Type d'adresse non supportée.Anubis erreur de fichier RCÉchec d'authentification: %d %sSuccès d'authentification.Type de car erronée dans ce qui a été retourné à partir de %sType de cdr erroné dans ce qui a été retourné à partir de %sType retourné erronée à partir de %sNom d'usager ou mot de passe erroné.CLIENTAppel de %sNe peut repérer mon propre nom d'hôteNe peut créer un socket de flot (stream socket).Ne peut créer un socket de flot (stream socket).Ne peut faire un fork()Ne peut initialiser libgsasl: %sNe peut ouvrir la base de données %s: %sne peut ouvrir le fichier pid '%s'Ne peut recupérer les données à partir de la base de données SASL: %sNe peut transmettre un nom d'usager ou un mot de passe null.Fin du processus enfant [%lu]. %s. %d client restant.Fin du processus enfant [%lu]. %s. %d clients restants.Commande non supportée.Connecté à %s:%uSuccès de fermeture de connexion.Connexion à partir de %s:%uConnexion non permise par le jeu des règles.Connexion refusée.Ne peut écrire vers le socketNe peut écrire vers le socket: %sN'a pu établir une connexion avec %s:%u. %s.DSA Base de données non spécifiéeVidange du coreAUTH ESMTP n'est pas supportéeDébut de la boucle XDB...Exécution de %sFin d'exécution avec succèsFin de la boucle XDB...Échec avec le statut d'état %dLe fichier « %s » a déjà été lu. Enregristrement repérée pour `%s'.GNU Anubis lié à %s:%uGNU Anubis fonctionne...GPGME: %s.GPGME: ne peut liste les clés: %sGPGME: récipiendaire invalide rencontré: %sGPGME: signataire invalide repéré: %sGPGME: nombre inattendu de signatures crééesGPGME: algorithme erroné de hachage rapporté: %iGPGME: algotithme erroné de clé publique rapporté: %iGPGME: classe erronée de signature rapporté: %uGPGME: type erroné de signature crééGPGME: échec %s.Erreur GSASL: %sAbandon du handshake GSASL: %d %sÉchec général du serveur SOCKS.Échec d'obtention de la sous-chaîne %d (%d).Obtention des information de l'hôte distant....A obtenu une liste vide de méthodes d'authentificationHôte non atteignable.IDENT: connect() a échouéIDENT: connexion établie avec %s:%uIDENT: données probablement encryptées avec DES...IDENT: données incorrectes (DES 'deciphered').IDENT: données incorrectes.IDENT: échec de recvline() : %s.IDENT: usager distant identifié comme étant %s.IDENT: socket() a échouéIDENT: stream_write() a échoué: %s.ERREUR INTERNEERREUR INTERNE à %s:%d: expression régulière manquante ou invalideLongeur d'adresse illégale reçu pour l'hôte %sInitialisaton de la connexion TLS/SSL avec MTA...Initialisaton de la connexion TLS/SSL avec MUA...Installer la version %s ou plus récente de GPGMEID invalide d'usager: %sNom d'usager invalide: %sMODIFY %s [%s] [%s] %sRéponse mal composée ou inattendueCondition concordante %s[%s] "%s"Concordance sur le déclencheur "%s"Concorde mais a trop de sous-chaînes.Réseau non atteignable.Aucun certificat n'a été repéré!Aucun certificat n'a été expédié.Section inexistente: %sN'est pas un niveau valide de mise au point (debug): %sPAM: non authentifié pour l'utilisation de GNU Anubis.PAM: session fermée.PAM: session ouverte (des restrictions s'appliquent).PAM: échec lors de la relâche de l'authentificateur.Possiblement pas un servuve proxy SOCKSREMOVE HEADER [%s]RSA Lecture du fichier système de configuration %s...Lecture du fichier usager de configuration %s...Enregistrement pour `%s' n'a pas été repéré.Échec ou rejet de la requête.Requête rejetée par le programme clien et identd rapportent de ID d'usager différentsRequête rejetée.SASL gsasl_client_start: %sSERVEURMéthode AUTH Proxy SOCKS: AUCUNE AUTHENTIFICATION REQUISEMéthode AUTH Proxy SOCKS: NOM D'USAGER/MOT DE PASSEAUTH Proxy SOCKS: succèsConnexion proxu SOCKS: succès.Proxy SOCKS: %sÉchec de la commande STARTTLS (ONEWAY).Échec de la commande STARTTLS.STOPSection %sSection %s est déjà définieMécanisme d'authentification sélectionné est %sMécanisme d'authentification sélectionné %s requiert l'encryptage TLS. Authentification ESMTP n'est pas utilisée.Le serveur n'a pas offert de mécanisme d'authentification pouvant être complétéServeur n'accepte pas une méthode AUTH.Serveur n'accepte aucune méthode.Réponse du serveur n'est pas valide.Écriture courteSignal intercepté. Fin d'exécution grâcieuse...Démarrage de la session SMTP...Fin d'exécution sur réception du signal %dcaractère errant repéré dans la config: \%03o. Possiblement un caractère de mise en commentaire est manquant autour de la chaîneTCP wrappers: connexion à partir de %s:%u rejetée.Erreur TLS de lecture « %s »: %sÉchec d'échange handshake TLS/SSL!Échec d'échange handshake TLS/SSL: %sTTL expiré.TerminéFin d'exécution sur réception du signal %dLa MTA n'a pas été spécifiée. Initialiser la MTA locale ou distanteLe certificat a expiré.Le certificat n'est pas fiable.Le certificat n'est pas encore activé.Le certificat est fiable.Temps expiré! Fin d'exécution...Trop de clients. Connexion à partir de %s:%u rejetée.Map de traduction: syntaxe incorrecte.UID:%d (%s), GID:%d, EUID:%d, EGID:%dINCONNU Hôte inconnu %s.Mode inconnu: %sModificateur d'expression régulière inconnuSection inconnue: %sUtilisation de proxy SOCKS...Utilisation de l'encryption TLS/SSL entre Anubis et le MTA distance seulement...Utilisation de l'encryption TLS/SSL...AVERTISSEMENT: %sAVERTISSEMENT: un utilisateur sans privilège a été spécifié!Bienvenue usager %s !Permissions erronées sur %s. On utilise 0600.la directire `logfile' est ignoré dans le fichier principal de configurationaccept() a échouébind() a échouéne peut laisser tomber les privilèges setuid non-rootne peut ouvrier le fichier de sortie guile %sne peut initialiser le gid effectif à %lune peut évaluer le fichier par stat() « %s »connect() a échouééchec de daemon()daemon: ne peut faire un forkexecvp() a échouéfork() a échouégetsockname() a échoué: %s.listen() a échouémémoire épuiseénom de la procédure est manquantvaleur de remplacement manquanteÉchec de pcre_compile() à l'adresse relative %d: %s.pcre_fullinfo() a échoué: %d.le programme n'est pas autorisé dans cette sectionregcomp() a échoué à %s: %ssecond setuid(%lu) a échouésetegid(%lu) a échouéseteuid(0) a réussi alors qu'il n'aurait pas dû réussirsetgid(%lu) a échouésetgroups(1, %lu) a échouésetregid(%lu,%lu) a échouésetresgid(%lu,%lu,%lu) a échouésetreuid(%lu,-1) a échouééchec de setsid()setuid(%lu) a échouésocketpair() a échouémot clé inconnu: %sAVERTISSEMENTanubis-4.1.1+dfsg1/po/nl.po0000600000175000017500000007645111123150056013136 0ustar kbkb# Translation of anubis-4.1 to Dutch. # Copyright (C) 2003, 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the anubis package. # # Elros Cyriatan , 2003. # Benno Schulenberg , 2007. #: env.opt:43 msgid "" msgstr "" "Project-Id-Version: anubis-4.1\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: 2007-12-12 22:07+0100\n" "Last-Translator: Benno Schulenberg \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "binnengaan van XDB-lus..." #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "verlaten van XDB-lus..." #: src/authmode.c:522 msgid "Database not specified" msgstr "Gegevensbank is niet opgegeven" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "Kan gegevensbank %s niet openen: %s" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "Record voor '%s' gevonden." #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "Kan geen gegevens opvragen uit de SASL-gegevensbank: %s" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "Record voor '%s' niet gevonden." #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "Verbinding is succesvol afgesloten." #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "PAM: Sessie is afgesloten." #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "PAM: Losmaken van authenticeerder is mislukt." #: src/daemon.c:41 msgid "daemon() failed" msgstr "daemon() is mislukt" #: src/daemon.c:48 msgid "Cannot fork." msgstr "Kan geen nieuw proces starten." #: src/daemon.c:56 msgid "setsid() failed" msgstr "setsid() is mislukt" #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "Starten van %s-service is gelukt." #: src/daemon.c:80 #, c-format msgid "Exited successfully" msgstr "Succesvol afgesloten" #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "Is mislukt met afsluitwaarde %d" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "Afgebroken op signaal %d" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "Gestopt op signaal %d" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "Core-dump gemaakt" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "Afgesloten" #: src/daemon.c:108 #, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "" "Dochter [%lu] is afgesloten, afsluitwaarde: %s. %d cliënt resteert." msgstr[1] "" "Dochter [%lu] is afgesloten, afsluitwaarde: %s. %d cliënten resteren." #: src/daemon.c:120 #, c-format msgid "Local program [%lu] finished. %s" msgstr "Lokaal programma [%lu] is afgesloten. %s" #: src/daemon.c:161 msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "" "WAARSCHUWING: Een gebruiker zonder privileges kon niet herleid worden.\n" "Controleer uw instellingen!" #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "WAARSCHUWING: Er is geen gebruiker zonder privileges opgegeven!" #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "GNU Anubis draait..." #: src/daemon.c:237 src/exec.c:80 msgid "accept() failed" msgstr "accept() is mislukt" #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "TCP-wrappers: verbinding van %s:%u is geweigerd." #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "Te veel cliënten. Verbinding van %s:%u is geweigerd." #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "Verbinding van %s:%u" #: src/daemon.c:287 msgid "daemon: cannot fork" msgstr "daemon: kan geen nieuw proces starten" #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "De MTA is niet opgegeven. Stel REMOTE-MTA of LOCAL-MTA in." #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "[HOST:]POORT" #: env.opt:45 msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" "de TCP-poort waarop GNU Anubis luistert naar verbindingen; de standaard HOST " "is INADDR_ANY, de standaard POORT is 24 (privé mailsysteem)" #: env.opt:54 msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "hostnaam of IP-adres van gindse SMTP-host; de standaardpoort is 25" #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "BESTAND" #: env.opt:62 msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" "een lokale SMTP-server draaien op standaardinvoer en -uitvoer; dit sluit " "optie '--remote-mta' uit" #: env.opt:74 msgid "MODE" msgstr "MODUS" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "werkingsmodus: 'transparent', 'auth', of 'mda'" #: env.opt:81 msgid "Foreground mode" msgstr "in de voorgrond draaien" #: env.opt:87 msgid "EMAIL" msgstr "E-MAIL" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "adres van afzender (impliceert MDA-modus)" #: env.opt:94 msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" "het SMTP-protocol (OMP/tunnel) zoals beschreven in RFC 821 gebruiken op " "standaardinvoer en -uitvoer" #: env.opt:98 msgid "Output options" msgstr "Uitvoeropties" #: env.opt:101 msgid "Work silently" msgstr "geen uitvoer produceren" #: env.opt:106 msgid "Work noisily" msgstr "breedsprakige uitvoer produceren" #: env.opt:111 msgid "Debug mode" msgstr "debuggingmodus" #: env.opt:115 msgid "Miscellaneous options" msgstr "Diverse opties" #: env.opt:119 msgid "Specify alternate system configuration file" msgstr "een alternatief systeemconfiguratiebestand" #: env.opt:126 msgid "Ignore system configuration file" msgstr "systeemconfiguratiebestand negeren" #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "DEBUGGING-NIVEAU" #: env.opt:132 msgid "Run the configuration file syntax checker" msgstr "syntaxcontrole op configuratiebestand uitvoeren" #: env.opt:139 msgid "Print a list of configuration options used to build GNU Anubis" msgstr "" "de lijst van configuratie-opties tonen waarmee GNU Anubis gecompileerd werd" #: env.opt:145 msgid "Do not check user configuration file permissions" msgstr "toegangsrechten van gebruikerconfiguratiebestand niet controleren" #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "de PID van de service opslaan in dit bestand" #: env.opt:155 msgid "Other options" msgstr "Overige opties" #: env.opt:155 msgid "Give this help list" msgstr "deze hulptekst tonen" #: env.opt:155 msgid "Give a short usage message" msgstr "een korte gebruikssamenvatting tonen" #: env.opt:155 msgid "Print program version" msgstr "programmaversie tonen" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "Achtergrondservice voor berichtenverzending via SMTP." #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "Gebruik: " #: env.opt:165 msgid "OPTION" msgstr "OPTIE" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" "Een argument dat verplicht of optioneel is voor een lange optie, is dat\n" "ook voor de overeenkomstige korte optie." #: env.opt:293 #, c-format msgid "Report bugs to %s.\n" msgstr "" "Rapporteer gebreken in het programma aan <%s>;\n" "meld fouten in de vertaling aan .\n" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 msgid "argcv_get failed" msgstr "argcv_get() is mislukt" #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "optie '--mode=mda' vereist '--local-mta'" #: env.opt:181 msgid "Missing recipient addresses" msgstr "ontvangeradres ontbreekt" #: env.opt:256 #, c-format msgid "setgroups(1, %lu) failed" msgstr "setgroups(1, %lu) is mislukt" #: env.opt:266 #, c-format msgid "setegid(%lu) failed" msgstr "setegid(%lu) is mislukt" #: env.opt:269 #, c-format msgid "setregid(%lu,%lu) failed" msgstr "setregid(%lu,%lu) is mislukt" #: env.opt:273 #, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "setresgid(%lu,%lu,%lu) is mislukt" #: env.opt:282 #, c-format msgid "setgid(%lu) failed" msgstr "setgid(%lu) is mislukt" #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "kan effectieve GID niet op %lu zetten" #: env.opt:307 #, c-format msgid "setreuid(%lu,-1) failed" msgstr "setreuid(%lu,-1) is mislukt" #: env.opt:313 #, c-format msgid "second setuid(%lu) failed" msgstr "tweede setuid(%lu) is mislukt" #: env.opt:321 #, c-format msgid "setuid(%lu) failed" msgstr "setuid(%lu) is mislukt" #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "seteuid(0) is gelukt terwijl dat niet zou mogen" #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "wegnemen van non-root SETUID-privileges is mislukt" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "PAM: Sessie is geopend (met beperkingen)." #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "PAM: Niet geauthenticeerd om GNU Anubis te gebruiken." #: env.opt:377 src/main.c:152 #, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "Ongeldig gebruikers-ID: %s" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "Ongeldige gebruikersnaam: %s" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "Onjuiste toegangsrechten voor %s -- ingesteld op 0600." #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "%s is geen gewoon bestand of een symbolische koppeling." #: env.opt:492 #, c-format msgid "Unknown mode: %s" msgstr "Onbekende modus: %s" #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "Kan PID-bestand '%s' niet openen" #: src/errs.c:84 msgid "warning" msgstr "waarschuwing" #: src/errs.c:92 #, c-format msgid "Could not write to socket: %s" msgstr "Kan niet naar socket schrijven: %s" #: src/errs.c:94 msgid "Could not write to socket" msgstr "Kan niet naar socket schrijven" #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "Onbekende host '%s'." #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "%s: hostnaam is geldig maar heeft geen IP-adres." #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "%s: Er is een onoplosbare naamserverfout opgetreden." #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "" "%s: Er is een tijdelijke naamserverfout opgetreden. Probeer het later " "opnieuw." #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "%s: onbekende DNS-fout %d." #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "Ongeldig of onverwacht antwoord" #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "SASL gsasl_client_start(): %s" #: src/esmtp.c:167 src/esmtp.c:186 #, c-format msgid "GSASL handshake aborted: %d %s" msgstr "GSASL-handdruk is mislukt: %d %s" #: src/esmtp.c:198 #, c-format msgid "GSASL error: %s" msgstr "GSASL-fout: %s" #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "Authenticatie is mislukt: %d %s" #: src/esmtp.c:215 msgid "Authentication successful." msgstr "Authenticatie is geslaagd." #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "Ontvangen lijst met authenticatiemethodes is leeg" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "Server biedt geen enkel werkbaar authenticatiemechanisme aan" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "**Interne fout**" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" "Gekozen authenticatiemechanisme %s vereist TLS-versleuteling -- ESMTP-" "authenticatie wordt niet gebruikt" #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "Gekozen authenticatiemechanisme is %s" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "Kan 'libgsasl' niet initialiseren: %s" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "ESMTP-authenticatie wordt niet ondersteund" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "eerste socket() is mislukt" #: src/exec.c:45 msgid "#2 socket() failed." msgstr "tweede socket() is mislukt" #: src/exec.c:55 msgid "#1 bind() failed" msgstr "eerste bind() is mislukt" #: src/exec.c:60 msgid "#2 bind() failed" msgstr "tweede bind() is mislukt" #: src/exec.c:65 src/net.c:233 msgid "listen() failed" msgstr "listen() is mislukt" #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "getsockname() is mislukt: %s." #: src/exec.c:75 msgid "connect() failed" msgstr "connect() is mislukt" #: src/exec.c:87 msgid "socketpair() failed" msgstr "socketpair() is mislukt" #: src/exec.c:108 #, c-format msgid "Executing %s..." msgstr "Uitvoeren van %s..." #: src/exec.c:118 msgid "fork() failed" msgstr "fork() is mislukt" #: src/exec.c:132 msgid "execvp() failed" msgstr "execvp() is mislukt" #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "GPGME: %s." #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "Installeer GPGME versie %s of nieuwer." #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "GPGME: Mislukt. %s." #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "GPGME: Kan sleutels niet opsommen: %s" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "GPGME: Ongeldige ontvanger gevonden: %s" #: src/gpg.c:320 #, c-format msgid "GPGME: Invalid signer found: %s" msgstr "GPGME: Ongeldige ondertekenaar gevonden: %s" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "GPGME: Onverwacht aantal ondertekeningen aangemaakt" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "GPGME: Onjuist type ondertekening aangemaakt" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "GPGME: Onjuist algoritme voor publieke sleutel gerapporteerd: %i" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "GPGME: Onjuist hash-algoritme gerapporteerd: %i" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "GPGME: Onjuiste ondertekeningsklasse gerapporteerd: %u" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "kan Guile-uitvoerbestand '%s' niet openen" #: src/guile.c:259 msgid "missing procedure name" msgstr "ontbrekende procedurenaam" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "%s is geen procedure-object" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "Ongeldig 'car'-type in resultaatwaarde van %s" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "Ongeldig 'cdr'-type in resultaatwaarde van %s" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "Ongeldig type van resultaatwaarde van %s" #: src/ident.c:101 msgid "IDENT: socket() failed" msgstr "IDENT: socket() is mislukt" #: src/ident.c:113 msgid "IDENT: connect() failed" msgstr "IDENT: connect() is mislukt" #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "IDENT: verbonden met %s:%u" #: src/ident.c:128 #, c-format msgid "IDENT: stream_write() failed: %s." msgstr "IDENT: stream_write() is mislukt: %s." #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "IDENT: recvline() is mislukt: %s." #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "IDENT: onjuiste gegevens." #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "IDENT: gegevens zijn waarschijnlijk versleuteld met DES..." #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "IDENT: onjuiste gegevens (met DES-ontsleuteling)." #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "IDENT: gindse gebruiker is herleid naar %s." #: src/main.c:54 msgid "Not enough memory" msgstr "Onvoldoende geheugen beschikbaar" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "%s is afgebeeld op %s@localhost." #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "Vertalingskaart: onjuiste syntax." #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "Ongeldige adreslengte ontvangen voor host %s" #: src/misc.c:120 #, c-format msgid "Invalid port number: %s" msgstr "Ongeldig poortnummer: %s" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "Kan mijn eigen hostnaam niet bepalen" #: src/net.c:46 msgid "SERVER" msgstr "SERVER" #: src/net.c:49 msgid "CLIENT" msgstr "CLIËNT" #: src/net.c:127 msgid "Getting remote host information..." msgstr "Opvragen van informatie over gindse host..." #: src/net.c:164 msgid "Cannot create stream socket." msgstr "Kan stroom-socket niet aanmaken." #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "Kan geen verbinding maken met %s:%u. %s." #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "Verbonden met %s:%u" #: src/net.c:196 msgid "Cannot create stream socket" msgstr "Kan stroom-socket niet aanmaken" #: src/net.c:229 msgid "bind() failed" msgstr "bind() is mislukt" #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "GNU Anubis is gebonden aan %s:%u" #: src/net.c:257 msgid "Short write" msgstr "Te weinig geschreven" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "SOCKS-proxy wordt gebruikt..." #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "SOCKS-proxy: %s" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "Adres moet een IP-adres zijn, niet een domeinnaam." #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "SOCKS-proxyverbinding: gelukt." #: src/socks.c:179 msgid "Request rejected or failed." msgstr "Verzoek is geweigerd of mislukt." #: src/socks.c:182 msgid "Request rejected." msgstr "Verzoek is geweigerd." #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" "Verzoek is geweigerd omdat het cliëntprogramma en 'identd' verschillende " "gebruikers-IDs opgaven." #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "Serverantwoord is ongeldig." #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "Mogelijk niet een SOCKS-proxydienst." #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "SOCKS-proxy AUTH-methode: GEEN AUTHENTICATIE VEREIST" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "SOCKS-proxy AUTH-methode: GEBRUIKERSNAAM/WACHTWOORD" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "Kan geen lege gebruikersnaam of leeg wachtwoord verzenden." #: src/socks.c:291 msgid "Bad user name or password." msgstr "Foutieve gebruikersnaam of wachtwoord." #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "SOCKS-proxy AUTH: gelukt." #: src/socks.c:298 msgid "Server does not accept any method." msgstr "Server accepteert geen enkele methode." #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "Server accepteert een AUTH-methode niet." #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "Algemene SOCKS-server mislukking." #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "Verbinding niet toegestaan vanwege een regel." #: src/socks.c:404 msgid "Network unreachable." msgstr "Netwerk is onbereikbaar." #: src/socks.c:407 msgid "Host unreachable." msgstr "Host is onbereikbaar." #: src/socks.c:410 msgid "Connection refused." msgstr "Verbinding is geweigerd." #: src/socks.c:413 msgid "TTL expired." msgstr "TTL is verlopen." #: src/socks.c:416 msgid "Command not supported." msgstr "Opdracht wordt niet ondersteund." #: src/socks.c:419 msgid "Address type not supported." msgstr "Adressoort wordt niet ondersteund." #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "Signaal ontvangen. Bezig met opruimen en afsluiten..." #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "Duurde te lang! Bezig met afsluiten..." #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "kan status van bestand '%s' niet opvragen" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "Bestand '%s' is al gelezen.\n" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "Welkom, gebruiker %s!" #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "Lezen van systeemconfiguratiebestand %s..." #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "Lezen van gebruikerconfiguratiebestand %s..." #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "'logfile'-opdracht in systeemconfiguratiebestand wordt genegeerd" #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "Dochterproces slaapt gedurende %lu seconde" msgstr[1] "Dochterproces slaapt gedurende %lu seconden" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "Opdracht 'HANG' is niet toegestaan voor gebruiker '%s'" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "Sectie bestaat niet: %s" #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" "Verdwaald teken in configuratie: \\%03o. Misschien ontbreken " "aanhalingstekens om de tekenreeks?" #: src/rcfile.l:385 msgid "Anubis RC file error" msgstr "Fout in Anubis-configuratiebestand" #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "Sectie %s is al gedefinieerd" #: src/rcfile.y:229 #, c-format msgid "unknown keyword: %s" msgstr "onbekend sleutelwoord: %s" #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "Ongeldige reguliere expressie (zie bovenstaande melding)" #: src/rcfile.y:567 msgid "missing replacement value" msgstr "ontbrekende vervangingswaarde" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "Geen geldig debugging-niveau: %s" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "Onbekende veranderaar van reguliere expressie" #: src/rcfile.y:1314 msgid "STOP" msgstr "STOPPEN" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "Oproepen van %s" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "TOEVOEGEN %s [%s] %s" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "WIJZIGEN %s [%s] [%s] %s" #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "KOP VERWIJDEREN [%s]" #: src/rcfile.y:1371 #, c-format msgid "Executing %s" msgstr "Uitvoeren van %s" #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "Passende trigger \"%s\"" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "Passende voorwaarde %s[%s] \"%s\"" #: src/rcfile.y:1604 #, c-format msgid "Section %s" msgstr "Sectie %s" #: src/rcfile.y:1628 #, c-format msgid "Unknown section: %s" msgstr "Onbekende sectie: %s" #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "programma is niet toegestaan in deze sectie" #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "" "**Interne fout** bij %s:%d: ontbrekende of ongeldige reguliere expressie" #: src/regex.c:328 #, c-format msgid "regcomp() failed at %s: %s." msgstr "regcomp() is mislukt bij %s: %s." #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "pcre_compile() is mislukt op positie %d: %s." #: src/regex.c:429 #, c-format msgid "pcre_fullinfo() failed: %d." msgstr "pcre_fullinfo() is mislukt: %d." #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "Overeenkomst gevonden, maar te veel deelteksten." #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "Opvragen van deeltekst %d is mislukt (%d)." #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "Initialiseren van TLS/SSL-verbinding met MTA..." #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "TLS-fout bij lezen van '%s': %s" #: src/tls.c:198 #, c-format msgid "TLS/SSL handshake failed: %s" msgstr "TLS/SSL-handdruk is mislukt: %s" #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "Initialiseren van TLS/SSL-verbinding met MUA..." #: src/tls.c:280 msgid "TLS/SSL handshake failed!" msgstr "TLS/SSL-handdruk is mislukt!" #: src/tls.c:301 msgid "No certificate was sent." msgstr "Er is geen certificaat verzonden." #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "Het certificaat wordt niet vertrouwd." #: src/tls.c:311 msgid "The certificate has expired." msgstr "Het certificaat is verlopen." #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "Het certificaat is nog niet geactiveerd." #: src/tls.c:326 msgid "No certificate was found!" msgstr "Er is geen certificaat gevonden!" #: src/tls.c:331 msgid "The certificate is trusted." msgstr "Het certificaat wordt vertrouwd." #: src/tls.c:361 #, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "- Anonieme DH met priemgetal van %d bit.\n" msgstr[1] "- Anonieme DH met priemgetal van %d bits.\n" #: src/tls.c:370 #, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "- Kortstondige DH met priemgetal van %d bit.\n" msgstr[1] "- Kortstondige DH met priemgetal van %d bits.\n" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "- Protocol: %s\n" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "- Soort certificaat: %s\n" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "- Compressie: %s\n" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "- Codering: %s\n" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "- MAC: %s\n" #: src/tls.c:423 #, c-format msgid "- Certificate info:\n" msgstr "- Certificaatinfo:\n" #: src/tls.c:427 #, c-format msgid "- Certificate is valid since: %s" msgstr "- Certificaat is geldig sinds: %s" #: src/tls.c:429 #, c-format msgid "- Certificate expires: %s" msgstr "- Certificaat verloopt: %s" #: src/tls.c:434 #, c-format msgid "- Certificate fingerprint: " msgstr "- Vingerafdruk: " #: src/tls.c:444 #, c-format msgid "- Certificate serial number: " msgstr "- Serienummer: " #: src/tls.c:453 #, c-format msgid "- Certificate public key: " msgstr "- Openbare sleutel: " #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "RSA\n" #: src/tls.c:457 #, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] "- Modulus: %d bit\n" msgstr[1] "- Modulus: %d bits\n" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "DSA\n" #: src/tls.c:463 #, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] "- Exponent: %d bit\n" msgstr[1] "- Exponent: %d bits\n" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "ONBEKEND\n" #: src/tls.c:469 #, c-format msgid "- Certificate version: #%d\n" msgstr "- Certificaatversie: #%d\n" #: src/tls.c:476 #, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr "- DN van certificaatuitgever: %s\n" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 #, fuzzy msgid "Transferring messages..." msgstr "Overbrengen van bericht(en)..." #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "Starten van SMTP-sessie..." #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "Er wordt TLS/SSL-versleuteling gebruikt..." #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "WAARSCHUWING: %s" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "STARTTLS-opdracht is mislukt." #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "" "Er wordt TLS/SSL-versleuteling gebruikt alleen tussen Anubis en gindse MTA..." #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "STARTTLS-opdracht (éénrichtings) is mislukt." #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: optie '%s' is niet eenduidig\n" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: optie '--%s' staat geen argument toe\n" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: optie '%c%s' staat geen argument toe\n" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: optie '%s' vereist een argument\n" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: onbekende optie '--%s'\n" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: onbekende optie '%c%s'\n" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: ongeldige optie -- %c\n" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: ongeldige optie -- %c\n" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: optie vereist een argument -- %c\n" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: optie '-W %s' is niet eenduidig\n" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: optie '-W %s' staat geen argument toe\n" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "onvoldoende geheugen beschikbaar" #~ msgid "MTA has not been specified. Set either REMOTE-MTA or LOCAL-MTA." #~ msgstr "De MTA is niet opgegeven. Stel REMOTE-MTA of LOCAL-MTA in." #~ msgid "Loop not allowed. Connection rejected." #~ msgstr "Lus is niet toegestaan. Verbinding is geweigerd." anubis-4.1.1+dfsg1/po/quot.sed0000600000175000017500000000023111121755731013642 0ustar kbkbs/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g anubis-4.1.1+dfsg1/po/ChangeLog0000600000175000017500000000463111121752642013735 0ustar kbkb2007-07-29 Wojciech Polak * de.po: Updated (Roland Illig). * pl.po: Updated (Sergey Poznyakoff). 2005-12-27 Wojciech Polak * nb.po: Updated (Geir Helland). 2005-07-08 Wojciech Polak * ms.po: Updated (Sharuzzaman Ahmat Raslan). 2005-05-11 Wojciech Polak * vi.po: New file (Clytie Siddall). * LINGUAS: Added 'vi'. 2005-04-19 Wojciech Polak * uk.po: Updated (Sergey Poznyakoff). * ms.po: Updated (Sharuzzaman Ahmat Raslan). 2005-02-19 Wojciech Polak * fr.po: Updated (Michel Robitaille). 2004-12-30 Wojciech Polak * tr.po: Updated (Deniz Akkus Kanca). 2004-12-05 Wojciech Polak * tr.po: Updated (Deniz Akkus Kanca). 2004-11-28 Wojciech Polak * nb.po: Updated (Geir Helland). 2004-11-16 Wojciech Polak * pl.po, ru.po: Updated (Sergey Poznyakoff). 2004-10-17 Wojciech Polak * de.po: Updated (Roland Illig). 2004-10-03 Wojciech Polak * fr.po: Updated (Michel Robitaille). 2004-07-11 Wojciech Polak * nl.po: Updated (Elros Cyriatan). 2004-06-14 Wojciech Polak * pl.po, ru.po: Updated (Sergey Poznyakoff). 2004-06-04 Wojciech Polak * de.po: Updated (Roland Illig). * fr.po: Updated (Michel Robitaille). 2004-04-03 Wojciech Polak * de.po: New file (Roland Illig). * LINGUAS: Added 'de'. 2003-09-06 Wojciech Polak * nl.po: New file (Elros Cyriatan). * LINGUAS: Added 'nl'. 2003-07-09 Wojciech Polak * nb.po: New file (Geir Helland). * LINGUAS: Added 'nb'. 2003-06-25 Wojciech Polak * pl.po: New file (Sergey Poznyakoff). * ru.po: Likewise. * LINGUAS: Added 'pl' and 'ru'. 2003-03-17 Wojciech Polak * ro.po: New file (Laurentiu Buzdugan). * LINGUAS: Added 'ro'. 2003-01-06 Wojciech Polak * ms.po: New file (Sharuzzaman Ahmat Raslan). * LINGUAS: Added 'ms'. 2002-12-25 Wojciech Polak * uk.po: New file (Igor Sachko). * LINGUAS: Added 'uk'. 2002-12-23 Wojciech Polak * tr.po: Updated (Deniz Akkus Kanca). 2002-12-16 Wojciech Polak * fr.po: Updated (Michel Robitaille). 2002-11-19 Wojciech Polak * tr.po: Updated (Deniz Akkus Kanca). 2002-11-18 Wojciech Polak * fr.po: Updated (Michel Robitaille). 2002-11-06 Wojciech Polak * tr.po: New file (Deniz Akkus Kanca). * LINGUAS: Added 'tr'. * fr.po: Updated (Michel Robitaille). 2002-10-29 Wojciech Polak * fr.po: Updated (Michel Robitaille). 2002-09-24 Wojciech Polak * fr.po: New file (Michel Robitaille). * LINGUAS: Added 'fr'. Local Variables: mode: change-log version-control: never End: anubis-4.1.1+dfsg1/po/id.gmo0000600000175000017500000005630311123150057013260 0ustar kbkbÞ•Œoü¸¹ÊÞï, Mg;„7Àø,,Y%w,-Ê ø&@Zz,šNÇ5Mgƒ ˜¹Ôò N/(~ §&²Ùé )B^s«Êé #.Mi †“²Î/è'T@N•)ä%8X$n“§Áß þ  & 01 b n t  Š¥ 0!=!M!a!u!z!!!²!Â!Ù!ó! ""(3"\".|"(«"*Ô")ÿ"&)#P#c#s#’#°#"Î#ñ# $( $I$[$s$*$'¸$à$÷$"%8%!O%q%1€% ²%+Ó%/ÿ%//&"_&‚&2š&Í&á& ÷&''4'sR'Æ'ä'!ù'(1(M(b(|(•(©(É(Û( â(ð()ÿ())+>)%j)#)>´)ó) **'!*%I*o*Š*ž*Tº*+)!+K+g+n+3Ž++Â+î+" ,.,!>,`,y, ~,‰,D¤,$é,\-:k-&¦-"Í-ð- .!.@9.+z.)¦.ŽÐ._/x/+/K¹/-030N0h0 …0 ’00@µ0ö01%31Y1u11‰1"»1%Þ12 22/2G2[2Wb2º2>Ï23 .3G:35‚3¸3 Ê3 ×3"å3 494N4^4 o4&}4 ¤4Å4å4û4 5505 @5N5h5x5‰5 5'º5â5&þ5%6A6[6'o6—6ª6Ã6Ü6ú67"757I7]7 e799)999L99f9 9#¿9Cã9;':c::1›:Í:)ã:1 ;2?;r;*‹;!¶;Ø;÷;7<WN<¦<Â<Ù<õ<=*=G=c== ˜=¦=]¶='> <>%G>m>"}> >8²>ë>??9?$O?$t?™?$´?Ù? ß?,ì?!@";@^@)p@%š@#À@3ä@:ANSAK¢A1îA B9BLBkB3~B²BÃB àB"C $C2C!7C YC/dC”C«C±CËCŒàCmD|DŽD£D¶D½DÔDïDÿDE9E WE&bE'‰E/±E4áE*F,AF.nF0FÎFàF$ðFG#3G#WG&{G¢G2½GðG H!H,;H)hH’H«H&ÈHïH I&I65I!lI1ŽI.ÀI.ïI&JEJ1`J’J®J ÌJíJòJ' Kk5K¡K»K(ÎK ÷KLL$:L"_L ‚L)£LÍLàL åL ïL9ýL7M&JM$qM)–MPÀMN*N>N'CN)kN#•N¹NÏNYîNHO-\OŠO¦O­O@ËO1 P>PXPuP$…PªPÃP ÌPÖPPôP'EQgmQAÕQ)R#AReR R(ŽRC·R3ûR:/SjSúST8%TR^T)±TÛTøTU 3U>UGU:]U˜UµUÑU!éU V1"V%TV&zV¡V²VËV#äVW #Wc/W“WC®WòWX_!XKXÍXêXÿXY 1Y;=YyYˆY ˜Y4¥Y,ÚY%Z,-ZZZjZyZ’Z ¡Z®ZÇZÖZçZûZ&[9[&T[{[–[®[-Á[ï[\\1\N\e\t\†\™\ ¸\Éžß¹®#g’ý¢Š¼íV½D ÒŸ 0ÕxE£o€Wšð¡e˜ò–Öê"ä”õ›Ë Z[wLJ )²œ¿Y rÂ(\,jÈá3÷6ùØÐ•ϱCü1]ñp_|&5™`:âcÎìã“%«Ô§× zøIökÜ=·?dû¬Nó‚¸åGy}úÁ  8‘Oï;KÝ…ç9aR»¶³é s/Ù¤‰nîfÞ„‹Ì@Ä.ÿÑMˆ†Í æôèÓF¾—騭ڎ~BJm$>+°bµÆX4 þÀvl'!u{-2THh^iq´tʪ¥à ÛQULŒP7Ń<ºA¦ëS¯*#1 bind() failed#1 socket() failed.#2 bind() failed#2 socket() failed.%s daemon startup succeeded.%s is not a regular file or a symbolic link.%s not a procedure object%s remapped to %s@localhost.%s: a temporary name server error occured. Try again later.%s: host name is valid but does not have an IP address.%s: illegal option -- %c %s: invalid option -- %c %s: option `%c%s' doesn't allow an argument %s: option `%s' is ambiguous %s: option `%s' requires an argument %s: option `--%s' doesn't allow an argument %s: option `-W %s' doesn't allow an argument %s: option `-W %s' is ambiguous %s: option requires an argument -- %c %s: unknown DNS error %d.%s: unrecognized option `%c%s' %s: unrecognized option `--%s' %s: unrecoverable name server error occured.- Anonymous DH using prime of %d bit. - Anonymous DH using prime of %d bits. - Certificate Issuer's DN: %s - Certificate Type: %s - Certificate expires: %s- Certificate fingerprint: - Certificate info: - Certificate is valid since: %s- Certificate public key: - Certificate serial number: - Certificate version: #%d - Cipher: %s - Compression: %s - Ephemeral DH using prime of %d bit. - Ephemeral DH using prime of %d bits. - Exponent: %d bit - Exponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protocol: %s --mode=mda requires --local-mtaADD %s [%s] %sAddress must be an IP, not a domain name.Address type not supported.Anubis RC file errorAuthentication failed: %d %sAuthentication successful.Bad car type in return from %sBad cdr type in return from %sBad return type from %sBad user name or password.CLIENTCalling %sCan't find out my own hostnameCannot create stream socketCannot create stream socket.Cannot fork.Cannot initialize libgsasl: %sCannot open database %s: %sCannot open pid file '%s'Cannot retrieve data from the SASL database: %sCannot send null user name or password.Child [%lu] finished. %s. %d client left.Child [%lu] finished. %s. %d clients left.Child process suspended for %lu secondChild process suspended for %lu secondsCommand HANG is not allowed for user `%s'Command not supported.Connected to %s:%uConnection closed successfully.Connection from %s:%uConnection not allowed by a ruleset.Connection refused.Could not write to socketCould not write to socket: %sCouldn't connect to %s:%u. %s.DEBUG-LEVELDSA Database not specifiedDebug modeDo not check user configuration file permissionsDumped coreEMAILESMTP AUTH is not supportedEntering XDB loop...Execute a local SMTP server, which works on standard input and output (inetd-type program); this option excludes the `--remote-mta' optionExecuting %sExecuting %s...Exited successfullyExiting XDB loop...FILEFailed with status %dFile `%s' has already been read. Foreground modeFound record for `%s'.GNU Anubis bound to %s:%uGNU Anubis is running...GPGME: %s.GPGME: Cannot list keys: %sGPGME: Invalid recipient encountered: %sGPGME: Invalid signer found: %sGPGME: Unexpected number of signatures createdGPGME: Wrong hash algorithm reported: %iGPGME: Wrong pubkey algorithm reported: %iGPGME: Wrong signature class reported: %uGPGME: Wrong type of signature createdGPGME: failed. %s.GSASL error: %sGSASL handshake aborted: %d %sGeneral SOCKS server failure.Get substring %d failed (%d).Getting remote host information...Give a short usage messageGive this help listGot empty list of authentication methodsHost unreachable.IDENT: connect() failedIDENT: connected to %s:%uIDENT: data probably encrypted with DES...IDENT: incorrect data (DES deciphered).IDENT: incorrect data.IDENT: recvline() failed: %s.IDENT: resolved remote user to %s.IDENT: socket() failedIDENT: stream_write() failed: %s.INTERNAL ERRORINTERNAL ERROR at %s:%d: missing or invalid regexIgnore system configuration fileIllegal address length received for host %sInitializing the TLS/SSL connection with MTA...Initializing the TLS/SSL connection with MUA...Install GPGME version %s or later.Invalid port number: %sInvalid regular expression (see the above message)Invalid user ID: %sInvalid user name: %sLocal program [%lu] finished. %sMODEMODIFY %s [%s] [%s] %sMalformed or unexpected replyMandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.Matched condition %s[%s] "%s"Matched trigger "%s"Matched, but too many substrings.Miscellaneous optionsMissing recipient addressesNetwork unreachable.No certificate was found!No certificate was sent.No such section: %sNot a valid debugging level: %sNot enough memoryOPTIONOther optionsOutput optionsPAM: Not authenticated to use GNU Anubis.PAM: Session closed.PAM: Session opened (restrictions applied).PAM: failed to release authenticator.Possibly not a SOCKS proxy service.Print a list of configuration options used to build GNU AnubisPrint program versionREMOVE HEADER [%s]RSA Reading system configuration file %s...Reading user configuration file %s...Record for `%s' not found.Report bugs to %s. Request rejected or failed.Request rejected, because the client program and identd reported different User-IDs.Request rejected.Run the configuration file syntax checkerSASL gsasl_client_start: %sSERVERSMTP message submission daemon.SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH method: USER NAME/PASSWORDSOCKS Proxy AUTH: succeeded.SOCKS Proxy Connection: succeeded.SOCKS proxy: %sSTARTTLS (ONEWAY) command failed.STARTTLS command failed.STOPSection %sSection %s already definedSelect operation mode; MODE is one of "transparent", "auth" or "mda"Selected authentication mechanism %sSelected authentication mechanism %s requires TLS encryption. Not using ESMTP authenticationServer did not offer any feasible authentication mechanismServer does not accept an AUTH method.Server does not accept any method.Server reply is not valid.Short writeSignal Caught. Exiting Cleanly...Specify a remote SMTP host name or IP address; the default is 25Specify alternate system configuration fileSpecify sender address (implies MDA mode)Specify the TCP port on which GNU Anubis listens for connections; the default HOST is INADDR_ANY, and default PORT is 24 (private mail system)Starting SMTP session...Stopped on signal %dStore the PID of the running daemon in FILEStray character in config: \%03o. Possibly missing quotes around the stringTCP wrappers: connection from %s:%u rejected.TLS error reading `%s': %sTLS/SSL handshake failed!TLS/SSL handshake failed: %sTTL expired.TerminatedTerminated on signal %dThe MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA.The certificate has expired.The certificate is not trusted.The certificate is not yet activated.The certificate is trusted.Timeout! Exiting...Too many clients. Connection from %s:%u rejected.Translation map: incorrect syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUNKNOWN Unknown host %s.Unknown mode: %sUnknown regexp modifierUnknown section: %sUsage:Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input and outputUsing SOCKS Proxy...Using TLS/SSL encryption between Anubis and remote MTA only...Using the TLS/SSL encryption...WARNING: %sWARNING: An unprivileged user cannot be resolved. Verify your settings!WARNING: An unprivileged user has not been specified!Welcome user %s !Work noisilyWork silentlyWrong permissions on %s. Set 0600.[HOST:]PORT`logfile' directive is ignored in main configuration fileaccept() failedargcv_get failedbind() failedcannot drop non-root setuid privilegescannot open guile output file %scannot set effective gid to %lucannot stat file `%s'connect() faileddaemon() faileddaemon: cannot forkexecvp() failedfork() failedgetsockname() failed: %s.listen() failedmemory exhaustedmissing procedure namemissing replacement valuepcre_compile() failed at offset %d: %s.pcre_fullinfo() failed: %d.program is not allowed in this sectionregcomp() failed at %s: %s.second setuid(%lu) failedsetegid(%lu) failedseteuid(0) succeeded when it should notsetgid(%lu) failedsetgroups(1, %lu) failedsetregid(%lu,%lu) failedsetresgid(%lu,%lu,%lu) failedsetreuid(%lu,-1) failedsetsid() failedsetuid(%lu) failedsocketpair() failedunknown keyword: %swarningProject-Id-Version: anubis 4.1 Report-Msgid-Bugs-To: bug-anubis@gnu.org POT-Creation-Date: 2008-12-20 11:59+0100 PO-Revision-Date: 2008-11-30 17:45+0700 Last-Translator: Arif E. Nugroho Language-Team: Indonesian MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); #1 bind() gagal#1 socket() gagal.#2 bind() gagal#2 socket() gagal.%s daemon startup sukses.%s bukan sebuah berkas regular atau sebuah link simbolik.%s bukan sebuah objek prosedur%s dipetakan ulang ke %s@localhost.%s: error ditemui di sebuah nama server sementara. Coba lagi nanti.%s: nama host valid tetapi tidak memiliki sebuah alamat IP.%s: opsi -- %c tidak legal %s: opsi -- %c tidak valid %s: opsi `%c%s' tidak mengijinkan sebuah argumen %s: opsi `%s' ambigu %s: opsi `%s' membutuhkan sebuah argumen %s: opsi `--%s' tidak mengijinkan sebuah argumen %s: opsi `-W %s' tidak mengijinkan sebuah argumen %s: opsi `-W %s' ambigu %s: opsi membutuhkan sebuah argumen -- %c %s: tidak diketahui DNS error %d.%s: opsi `%c%s' tidak dikenal %s: opsi `--%s' tidak dikenal %s: error ditemui di nama server tidak dapat direkover.- Anonim DH menggunakan prima dari %d bit. - Anonim DH menggunakan prima dari %d bit. - Sertikat penerbit DN: %s - Tipe Sertifikat: %s - Sertifikat kadaluarsa: %s- Sertifikat tanda-tangan: - Informasi Sertifikat: - Sertifikat valid sejak: %s- Kunci publik sertifikat: - Nomor serial sertifikat: - Versi sertifikat: #%d - Cipher: %s - Kompresi: %s - Ephemeral DH menggunakan prima dari %d bit. - Ephemeral DH menggunakan prima dari %d bit. - Exponent: %d bit - Exponent: %d bit - MAC: %s - Modulus: %d bit - Modulus: %d bit - Protokol: %s --mode=mda membutuhkan --local-mtaTAMBAH %s [%s] %sAlamat harus berupa sebuah IP, bukan sebuah nama domain.Tipe alamat tidak didukung.Anubis berkas RC errorAutentifikasi gagal: %d %sAutentifikasi sukses.Tipe car buruk dalam kembali dari %sTipe cdr buruk dalam kembali dari %sTipe kembali buruk dari %sNama pengguna atau kata kunci buruk.KLIENMemanggil %sTidak dapat menemukan nama host diri sendiriTidak dapat membuat stream socketTidak dapat membuat stream socket.Tidak dapat fork.Tidak dapat menginisialisasi libgsasl: %sTidak dapat membuka basis data %s: %sTidak dapat membuka berkas pid '%s'Tidak dapat mengambil data dari basis data SASL: %sTidak dapat mengirim nama pengguna atau kata kunci kosong.Anak [%lu] selesai. %s %d klien pergi.Anak [%lu] selesai. %s. %d klien pergi.Proses anak disuspend untuk %lu detikProses anak disuspend untuk %lu detikPerintah HANG tidak diijinkan untuk pengguna `%s'Perintah tidak didukung.Terhubung ke %s:%uKoneksi ditutuh secara sukses.Koneksi dari %s:%uKoneksi tidak diperbolehkan oleh sebuah set aturan.Koneksi ditolak.Tidak dapat menulis ke soketTidak dapat menulis ke soket: %sTidak dapat menghubungi %s:%u. %s.TINGKAT-DEBUGDSA Basis data tidak dispesifikasikanMode debugJangan perikas ijin berkas konfigurasi penggunaMengeluarkan code dumpEMAILESMTP AUTH tidak didukungMemasuki loop XDB...Jalankan sebuah server SMTP lokal, yang bekerja di masukan standar dan keluaran (aplikasi tipe inetd); opsi ini excludes opsi `--remote-mta'Menjalankan %sMenjalankan %s...Keluar secara suksesKeluar loop XDB...BERKASGagal dengan status %dBerkas `%s' telah dibaca. Mode foregroundDitemukan rekaman untuk `%s'.GNU Anubis terikat ke %s:%uGNU Anubis sedang berjalan...GPGME: %s.GPGME: Tidak dapat mendaftar kunci: %sGPGME: Penerima tidak valid ditemui: %sGPGME: Penanda tangan tidak valid ditemukan: %sGPGME: jumlah tanda tangan yang dibuat tidak terdugaGPGME: Algoritma hash salah dilaporkan: %iGPGME: Algoritma pubkey salah dilaporkan: %iGPGME: Kelas tanda tangan salah dilaporkan: %uGPGME: Tipe salah untuk tanda tangan yang dibuatGPGME: gagal. %s.GSASL error: %sGSASL jabat-tangan dibatalkan: %d %skegagalan layanan SOCKS umum.Memperoleh substring %d gagal (%d).Memperoleh informasi host remote...Berikan sebuah pesan penggunaan pendekBerikan daftar bantuan iniMemperoleh daftar kosong dari metode autentifikasiHost tidak dapat dicapai.IDENT: connect() gagalIDENT: terhubung ke %s:%uIDENT: data mungkin dienkripsi dengan DES...IDENT: data tidak benar (DES deciphered).IDENT: data tidak benar.IDENT: recvline() gagal: %s.IDENT: resolved pengguna remote ke %s.IDENT: socket() gagalIDENT: stream_write() gagal: %s.INTERNAL ERRORINTERNAL ERROR di %s:%d: hilang atau tidak valid regexAbaikan berkas konfigurasi sistempanjang alamat tidak legal diterima untuk host %sMenginisialisasi koneksi TLS/SSL dengan MTA...Menginisialisasi koneksi TLS/SSL dengan MUA...Pasan GPGME versi %s atau selanjutnya.Nomor port tidak valid: %sekspresi regular tidak valid (lihat pesan diatas)ID pengguna tidak valid: %sNama pengguna tidak valid: %sAplikasi lokal [%lu] selesai. %sMODEMODIFIKASI %s [%s] [%s] %sSalah bentuk atau balasan tidak terdugaArgumen wajib atau opsional untuk opsi panjang juga wajib atau opsional untuk opsi pendek yang berhubungan.Cocok kondisi %s[%s] "%s"Cocok trigger "%s"Cocok, tetapi terlalu banyak substrings.Opsi tambahanHilang alamat penerimaJaringan tidak dapat dicapai.Tidak ada sertifikat yang ditemukan!Tidak ada sertifikat yang dikirim.Tidak ada bagian seperti itu: %sBukan sebuah tingkat debug yang valid: %sTidak cukup memoriOPSIOpsi lainOpsi keluaranPAM: Tidak terautentifikasi untuk menggunakan GNU Anubis.PAM: Sesi ditutup.PAM: Sesi dibuka (pembatasan berlaku).PAM: gagal melepas pengauthentikasi.Mungkin bukan sebuah layanan proxy SOCKS.Tampilkan sebuah daftar dari opsi konfigurasi digunakan untuk membuat GNU AnubisTampilkan versi aplikasiHAPUS DIKEPALA [%s]RSA Membaca berkas konfigurasi sistem %s...Membaca berkas konfigurasi pengguna %s...Rekaman untuk `%s' tidak ditemukan.Laporkan bugs ke %s. Permintaan ditolak atau gagal.Permintaan ditolak, karena aplikasi klien dan identd melaporkan ID-Pengguna yang berbeda.Permintaan ditolak.Jalankan berkas konfigurasi pemeriksa sintaksSASL gsasl_client_start: %sSERVERSMTP pesan submission daemon.Metode AUTH proxy SOCKS: TIDAK ADA AUTENTIFIKASI YANG DIBUTUHKANMetode AUTH proxy SOCKS: NAMA PENGGUNA/KATA KUNCISOCKS Proxy AUTH: sukses.Koneksi Proxy SOCKS: sukses.Proxy SOCKS: %sSTARTTLS (SATU-ARAH) perintah gagal.STARTTLS perintah gagal.BERHENTIBagian %sBagian %s telah didefinisikanPilih mode operasi; MODE adalah salah satu dari "transparent", "auth" atau "mda"Mekanisme autentifikasi yang dipilih %sMekanisme autentifikasi yang dipilih %s membutuhkan enkripsi TLS. Tidak menggunakan autentifikasi ESMTPServer tidak menawarkan mekanisme autentifikasi yang memungkinkanServer tidak menerima sebuah metode AUTH.Sever tidak menerima metode apapun.Balasan server tidak valid.Tulis pendekSinyal diterima. Keluar secara bersih...Spesifikasikan sebuah remote SMTP nama host atau alamat IP; baku 25Spesifikasikan berkas konfigurasi sistem alternatifSpesifikasikan alamat pengirim (mengimplikasikan mode MDA)Spesifikasikan TCP port dimana GNU Anubis mendengarkan untuk koneksi; HOST baku adalah INADDR_AN, dan PORT baku adalah 24 (sistem mail private)Memulai sesi SMTP...Berhenti di sinyal %dSimpan PID dari daemon yang sedang berjalan dalam BERKASStray karakter dalam konfigurasi: \%03o. Mungkin hilang quotes disekeliling stirngTCP wrappers: koneksi dari %s:%u ditolak.pembacaan error TLS `%s': %sjabat-tangan TLS/SSL gagal!jabat-tangan TLS/SSL gagal: %sTTL habis.BerakhirBerakhir di sinyal %dMTA belum dispesifikasikan. Set REMOTE-MTA atau LOCAL-MTA.Sertifikat telah kadaluarsa.Sertifikat tidak dipercaya.Sertifikat belum aktif.Sertifikat tidak dapat dipercaya.Waktu habis! Keluar...Terlalu banyak klien. Koneksi dari %s:%u ditolak.Peta terjemahan: sintaks tidak benar.UID: %d (%s), GID:%d, EUID:%d, EGID:%dTIDAK DIKETAHUI Host %s tidak diketahui.Mode tidak diketahui: %sPemodifikasi regexp tidak diketahuiBagian tidak diketahui: %sPenggunaan:Gunakan protokol SMTP (OMP/Tunnel) seperti dijelaskan dalam RFC 821 di standar masukan dan keluaranMenggunakan proxy SOCKS...Menggunakan enkripsi TLS/SSL diantara Anubis dan remote MTA saja...Menggunakan enkripsi TLS/SSL...PERINGATAN: %sPERINGATAN: Sebuah pengguna tidak privileged tidak dapat diresolf. Verifikasi konfigurasi anda!PERINGATAN: Sebuah pengguna tidak privileged belum pernah dispesifikasikan!Selamat datang pengguna %s !Bekerja secara ramaiBekerja secara tenangIjin salah di %s. Set 0600.[HOST:]PORT`logfile' direktif diabaikan dlaam berkas konfigurasi utamaaccept() gagalargcv_get gagalbind() gagaltidak dapat menjatuhkan privileges setuid bukan roottidak dapat membuka berkas keluaran guile %stidak dapat menset efektif gid ke %lutidak dapat memperoleh statistik berkas `%s'connect() gagaldaemon() gagaldaemon: tidak dapat forkexecvp() gagalfork() gagalgetsockname() gagal: %s.listen() gagalkehabisan memorihilan nama prosedurhilang nilai penggantipcre_compile() gagal di offset %d: %s.pcre_fullinfo() gagal: %d.aplikasi tidak diijinkan di bagian iniregcomp() gagal di %s: %s.setuid(%lu) kedua gagalsetegid(%lu) gagalseteuid(0) sukses ketika ini seharusnya tidaksetgid(%lu) gagalsetgroups(1, %lu) gagalsetregid(%lu,%lu) gagalsetresgid(%lu,%lu,%lu) gagalsetreuid(%lu,-1) gagalsetsid() gagalsetuid(%lu) gagalsocketpair() gagalkata kunci tidak diketahui: %speringatananubis-4.1.1+dfsg1/po/nb.po0000600000175000017500000011212411123150056013110 0ustar kbkb# Norwegian translation for GNU Anubis 4.0 # Copyright (C) 2003 The Anubis Team # This file is distributed under the same license as the PACKAGE package. # Geir Helland , 2003. #: env.opt:43 msgid "" msgstr "" "Project-Id-Version: anubis 4.0\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: 2005-09-29 00:35+0200\n" "Last-Translator: Geir Helland \n" "Language-Team: Norwegian Bokmaal \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "Går inn i XDB løkke..." #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "Avslutter XDB løkke..." #: src/authmode.c:522 msgid "Database not specified" msgstr "Database ikke angitt" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "Kan ikke åpne database %s: %s" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "Ingen treff på '%s'." #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "Kan ikke hente data fra SASL databasen: %s" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "Data for '%s' ikke funnet." #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "Tilkobling normalt avsluttet." #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "PAM: Sesjon lukket." #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "PAM: Kunne ikke slippe autentikator." #: src/daemon.c:41 msgid "daemon() failed" msgstr "daemon() feilet" #: src/daemon.c:48 msgid "Cannot fork." msgstr "Kan ikke forke." #: src/daemon.c:56 msgid "setsid() failed" msgstr "setsid() feilet" #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "%s daemon startet opp normalt." #: src/daemon.c:80 #, c-format msgid "Exited successfully" msgstr "Tilkobling normalt avsluttet." #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "Feilet med status %d" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "Avbrutt med signal %d" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "Stoppen på signal %d" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "Dumpet kjerne" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "Terminert" #: src/daemon.c:108 #, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "Barneprosess [%lu] avsluttet. %s. %d klient igjen." msgstr[1] "Barneprosess [%lu] avsluttet. %s. %d klienter igjen." #: src/daemon.c:120 #, fuzzy, c-format msgid "Local program [%lu] finished. %s" msgstr "Lokalt program [%lu] fullførte." #: src/daemon.c:161 #, fuzzy msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "ADVARSEL: En upriviligert bruker er ikke blitt spesifisert!" #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "ADVARSEL: En upriviligert bruker er ikke blitt spesifisert!" #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "GNU Anubis kjører..." #: src/daemon.c:237 src/exec.c:80 msgid "accept() failed" msgstr "accept() feilet" #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "TCP wrappere: tilkobling fra %s:%u avvist." #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "For mange klienter. Tilkobling fra %s:%u avvist." #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "Tilkobling fra %s:%u" #: src/daemon.c:287 msgid "daemon: cannot fork" msgstr "daemon: Kan ikke forke" #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "Ingen MTA er spesifisert. Sett REMOTE-MTA eller LOCAL-MTA." #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "" #: env.opt:45 #, fuzzy msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" " -b, --bind [VERT:]PORT Spesifiser TCP port som GNU Anubis lytter " "etter\n" " tilkoblinger på. Standard forvalgt verdi VERT\n" " er INADDR_ANY og standard forvalgt PORT er 24\n" " (privat e-post system)." #: env.opt:54 #, fuzzy msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "" " -r, --remove-mta VERT[:PORT] Spesifier en ekstern SMTP vert per navn eller\n" " IP-adresse. Standard forvalgt PORT-nummer er " "25." #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "" #: env.opt:62 #, fuzzy msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" " -l, --local-mta FILE Kjør en lokal SMTP-tjener, som arbeider på\n" " standard inndata og utdata (inetd-likt " "program).\n" " Denne opsjonen ekskluderer '--remote-mta'\n" " opsjonen" #: env.opt:74 msgid "MODE" msgstr "" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "" #: env.opt:81 msgid "Foreground mode" msgstr "" #: env.opt:87 msgid "EMAIL" msgstr "" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "" #: env.opt:94 #, fuzzy msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" " -i, --stdio Bruk SMTP protokollen (OMP/Tunnel) som " "beskrevet\n" " i RCP 821 på standard inndata og utdata" #: env.opt:98 #, fuzzy msgid "Output options" msgstr "Utdata opsjoner:\n" #: env.opt:101 msgid "Work silently" msgstr "" #: env.opt:106 msgid "Work noisily" msgstr "" #: env.opt:111 msgid "Debug mode" msgstr "" #: env.opt:115 #, fuzzy msgid "Miscellaneous options" msgstr "" "\n" "Blandede opsjoner:\n" #: env.opt:119 #, fuzzy msgid "Specify alternate system configuration file" msgstr "" " -altrc FIL Spesifiser alternativ system konfigurasjon fil." #: env.opt:126 #, fuzzy msgid "Ignore system configuration file" msgstr "Leser systemets konfigurasjonsfil %s..." #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "" #: env.opt:132 #, fuzzy msgid "Run the configuration file syntax checker" msgstr "" " -c, --check-config Kontroller syntaksen i konfigurasjonsfilen." #: env.opt:139 #, fuzzy msgid "Print a list of configuration options used to build GNU Anubis" msgstr "" " --show-config-options Skriv ut en liste med konfigurasjonsopsjoner " "brukt\n" " da GNU Anubis ble kompilert." #: env.opt:145 #, fuzzy msgid "Do not check user configuration file permissions" msgstr "" " --relax-perm-check Kontroller ikke tilgangsinnstillinger på " "brukerens\n" " konfigurasjonsfil" #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "" #: env.opt:155 #, fuzzy msgid "Other options" msgstr "Utdata opsjoner:\n" #: env.opt:155 msgid "Give this help list" msgstr "" #: env.opt:155 msgid "Give a short usage message" msgstr "" #: env.opt:155 msgid "Print program version" msgstr "" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "" #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "" #: env.opt:165 msgid "OPTION" msgstr "" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" #: env.opt:293 #, fuzzy, c-format msgid "Report bugs to %s.\n" msgstr "" "\n" "Rapporter feil til <%s>.\n" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 #, fuzzy msgid "argcv_get failed" msgstr "accept() feilet" #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "" #: env.opt:181 #, fuzzy msgid "Missing recipient addresses" msgstr "mangler erstattningsverdi" #: env.opt:256 #, c-format msgid "setgroups(1, %lu) failed" msgstr "setgroups(1, %lu) feilet" #: env.opt:266 #, c-format msgid "setegid(%lu) failed" msgstr "setegid(%lu) feilet" #: env.opt:269 #, c-format msgid "setregid(%lu,%lu) failed" msgstr "setregid(%lu, %lu) feilet" #: env.opt:273 #, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "setresgid(%lu,%lu,%lu) feilet" #: env.opt:282 #, c-format msgid "setgid(%lu) failed" msgstr "setgid(%lu) feilet" #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "kan ikke sette effektiv gid (gruppeid) til %lu" #: env.opt:307 #, c-format msgid "setreuid(%lu,-1) failed" msgstr "setreuid(%lu,-1) feilet" #: env.opt:313 #, c-format msgid "second setuid(%lu) failed" msgstr "sekundær setuid(%lu) feilet" #: env.opt:321 #, c-format msgid "setuid(%lu) failed" msgstr "setuid(%lu) feilet" #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "seteuid(0) vellykket når de skulle feilet" #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "Ikke-root setuid privilegier kan ikke droppes" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "PAM: Sesjon åpnet (restriksjoner gjelder)." #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "PAM: Ikke authorisert til å bruke GNU Anubis." #: env.opt:377 src/main.c:152 #, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "Ugyldig brukerid: %s" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "Ugyldig brukernavn: %s" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "Feil tilgangsnivå på %s. Sett til 0600." #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "%s er ikke en normal fil eller symbolsk lenke." #: env.opt:492 #, c-format msgid "Unknown mode: %s" msgstr "Ukjent modus: %s." #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "Kan ikke åpne pid fil '%s'" #: src/errs.c:84 msgid "warning" msgstr "advarsel" #: src/errs.c:92 #, c-format msgid "Could not write to socket: %s" msgstr "Kunne ikke skrive til socket: %s." #: src/errs.c:94 msgid "Could not write to socket" msgstr "Kunne ikke skrive til socket" #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "Ukjent vert %s." #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "%s: Vertens navn er gyldig men den har ingen IP-adresse." #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "%s: Uopprettelig navnetjenerfeil oppsto." #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "%s: Midlertidig navnetjenerfeil oppsto. Forsøk på ny senere." #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "%s: Ukjent DNS feil %d." #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "Ugyldig eller uventet svar" #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "SASL gsasl_client_start: %s" #: src/esmtp.c:167 src/esmtp.c:186 #, c-format msgid "GSASL handshake aborted: %d %s" msgstr "GSASL håndhilsing avbrutt: %d %s" #: src/esmtp.c:198 #, c-format msgid "GSASL error: %s" msgstr "GSASL feil: %s" #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "Autentisering feilet: %d %s" #: src/esmtp.c:215 msgid "Authentication successful." msgstr "Autentisering vellykket." #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "Fikk tom liste med autentifikasjonsmetoder" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "Tjener oppgav ingen autentiseringsmekanismer som kan brukes" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "INTERN FEIL" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" "Valgt autentiseringsmekanisme %s forutsetter TLS kryptering. Bruker ikke " "ESMTP autentisering" #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "Valgt autentifikasjonsmetode %s" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "Kan ikke initialisere libgsasl: %s" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "ESMTP AUTH støttes ikke" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "#1 socket() feilet." #: src/exec.c:45 msgid "#2 socket() failed." msgstr "#2 socket() feilet." #: src/exec.c:55 msgid "#1 bind() failed" msgstr "#1 bind() feilet" #: src/exec.c:60 msgid "#2 bind() failed" msgstr "#2 bind() feilet" #: src/exec.c:65 src/net.c:233 msgid "listen() failed" msgstr "listen() feilet" #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "getsockname() feilet: %s." #: src/exec.c:75 msgid "connect() failed" msgstr "connect() feilet" #: src/exec.c:87 msgid "socketpair() failed" msgstr "socketpair() feilet" #: src/exec.c:108 #, fuzzy, c-format msgid "Executing %s..." msgstr "Kjører %s %s..." #: src/exec.c:118 msgid "fork() failed" msgstr "fork() feilet" #: src/exec.c:132 msgid "execvp() failed" msgstr "execvp() feilet" #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "GPGME: %s." #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "Installer GPGME versjon %s eller nyere." #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "GPGME: feilet. %s." #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "GPGME: Kan ikke liste ut nøkler: %s" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "GPGME: Ugyldig mottaker funner: %s" #: src/gpg.c:320 #, c-format msgid "GPGME: Invalid signer found: %s" msgstr "GPGME: Ugyldig signatur funner: %s" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "GPGME: Uventet antall signaturer opprettet" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "GPGME: Feil type signatur opprettet" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "GPGME: Feil pubkey algoritme raportert: %i" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "GPGME: feil hashalgoritme raportert: %i" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "GPGME: Feil signaturklasse rapportert: %u" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "kan ikke åpne guile lagringsfil %s" #: src/guile.c:259 msgid "missing procedure name" msgstr "mangler prosedyrenavn" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "%s er ikke et prosedyreobjekt" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "Ugyldig car type i retur fra %s" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "Ugyldig cdr type i retur fra %s" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "Ugyldig returtype fra %s" #: src/ident.c:101 msgid "IDENT: socket() failed" msgstr "IDENT: socket() feilet" #: src/ident.c:113 msgid "IDENT: connect() failed" msgstr "IDENT: connect() feilet" #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "IDENT: koblet til %s:%u" #: src/ident.c:128 #, c-format msgid "IDENT: stream_write() failed: %s." msgstr "IDENT: stream_write() feilet: %s." #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "IDENT: recvline() feilet: %s." #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "IDENT: ugyldig data." #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "IDENT: Data sannsynligvis kryptert med DES..." #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "IDENT: ugyldig data (DES dekryptert)." #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "IDENT: identifiserte ekstern bruker som %s." #: src/main.c:54 msgid "Not enough memory" msgstr "" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "%s omskrevet til %s@localhost." #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "Oversettelse kart: ugyldig syntaks." #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "Ugyldig adresselengde mottat for vert %s" #: src/misc.c:120 #, fuzzy, c-format msgid "Invalid port number: %s" msgstr "Ugyldig brukernavn: %s" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "Kan ikke finne mitt eget maskinnavn" #: src/net.c:46 msgid "SERVER" msgstr "TJENER" #: src/net.c:49 msgid "CLIENT" msgstr "KLIENT" #: src/net.c:127 msgid "Getting remote host information..." msgstr "Henter informasjon om ekstern vert..." #: src/net.c:164 msgid "Cannot create stream socket." msgstr "Kan ikke opprette stream socket." #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "Kunne ikke koble til %s:%u. %s." #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "Koblet til %s:%u" #: src/net.c:196 msgid "Cannot create stream socket" msgstr "Kan ikke opprette stream socket" #: src/net.c:229 msgid "bind() failed" msgstr "bind() feilet" #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "GNU Anubis er bunet til %s:%u" #: src/net.c:257 msgid "Short write" msgstr "Ufullstendig lagring" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "Bruker SOCKS proxy..." #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "SOCKS mellomlager: %s" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "Adressen må være en IP-adresse, ikke et domenenavn." #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "SOCKS Proxy tilkoblet: vellykket." #: src/socks.c:179 msgid "Request rejected or failed." msgstr "Forespørsel avvist eller feilet." #: src/socks.c:182 msgid "Request rejected." msgstr "Forespørsel avvist." #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" "Forespørsel avvist fordi klientprogrammet og identd rapporterer forskjellige " "brukerID-er" #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "Tjenerens svar er ugyldig." #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "Muligens ikke en SOCKS proxy tjeneste." #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "SOCKS Proxy AUTH metode: NO AUTHENTICATION REQUIRED" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "SOCKS Proxy AUTH metode: USER NAME/PASSWORD" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "Kan ikke sende tomt brukernavn eller passord." #: src/socks.c:291 msgid "Bad user name or password." msgstr "Feil brukernavn eller passord." #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "SOCKS proxy AUTH: vellykket." #: src/socks.c:298 msgid "Server does not accept any method." msgstr "Tjener godtar ingen metoder." #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "Tjener godtar ikke AUTH metoden." #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "Generell SOCKS tjener feil." #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "Tilkobling tillates ikke jamnfør et regelsett." #: src/socks.c:404 msgid "Network unreachable." msgstr "Nettverket kan ikke nås." #: src/socks.c:407 msgid "Host unreachable." msgstr "Vert kan ikke nås." #: src/socks.c:410 msgid "Connection refused." msgstr "Tilkobling støttes ikke." #: src/socks.c:413 msgid "TTL expired." msgstr "TTL utgått." #: src/socks.c:416 msgid "Command not supported." msgstr "Kommando støttes ikke." #: src/socks.c:419 msgid "Address type not supported." msgstr "Adressetype støttes ikke." #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "Signal mottatt. Avslutter rent..." #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "Tidsavbrudd! Avslutter..." #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "kan ikke lese status for filen '%s'" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "Filen '%s' er allerede lest.\n" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "Velkommen bruker %s !" #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "Leser systemets konfigurasjonsfil %s..." #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "Leser brukers konfigurasjonsfil %s..." #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "'logfile' direktivet ignoreres i hovedkonfigurasjonsfilen" #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "" msgstr[1] "" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "Ingen slik seksjon: %s" #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" "Tegn på avveier i konfigurasjonen: \\%03o. Muligens en streng uten " "kvoteringstegn." #: src/rcfile.l:385 msgid "Anubis RC file error" msgstr "Anubis RC fil feil" #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "Seksjonen %s allerede definert" #: src/rcfile.y:229 #, c-format msgid "unknown keyword: %s" msgstr "Ukjent nøkkelord: %s" #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "" #: src/rcfile.y:567 msgid "missing replacement value" msgstr "mangler erstattningsverdi" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "Ikke et gyldig feilsøkingsnivå: %s" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "Ukjent regexp modifikator" #: src/rcfile.y:1314 msgid "STOP" msgstr "STOPP" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "Ringer %s" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "LEGG TIL %s [%s] %s" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "ENDRE %s [%s] [%s] %s" #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "FJERN HODE [%s]" #: src/rcfile.y:1371 #, c-format msgid "Executing %s" msgstr "Kjører %s" #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "Fant trigger \"%s\"" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "Treff på betingelse %s[%s] \"%s\"" #: src/rcfile.y:1604 #, c-format msgid "Section %s" msgstr "Seksjon %s" #: src/rcfile.y:1628 #, c-format msgid "Unknown section: %s" msgstr "Ukjent seksjon: %s" #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "program tillates ikke i denne seksjonen" #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "INITIELL FEIL på %s:%d: manglende eller ugyldig regex" #: src/regex.c:328 #, c-format msgid "regcomp() failed at %s: %s." msgstr "regcomp() feilet på %s: %s." #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "pcre_compile() feilet med forskyvning %d: %s." #: src/regex.c:429 #, c-format msgid "pcre_fullinfo() failed: %d." msgstr "pcre_fullinfo() feilet: %d." #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "Fant samsvar, men med for mange understrenger." #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "Finn understreng %d feilet (%d)." #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "Initialiserer TLS/SSL tilkobling met MTA..." #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "TLS lesefeil '%s': %s" #: src/tls.c:198 #, c-format msgid "TLS/SSL handshake failed: %s" msgstr "TLS/SSL håndhilsing feilet: %s" #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "Initialiserer TLS/SSL tilkobling med MUA..." #: src/tls.c:280 msgid "TLS/SSL handshake failed!" msgstr "TLS/SSL håndhilsing feilet!" #: src/tls.c:301 msgid "No certificate was sent." msgstr "Intet sertifikat ble sent." #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "Sertifikatet stoles ikke på." #: src/tls.c:311 msgid "The certificate has expired." msgstr "Sertifikatet er utgått." #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "Sertifikatet er ennå ikke aktivisert." #: src/tls.c:326 msgid "No certificate was found!" msgstr "Intet sertifikat funnet!" #: src/tls.c:331 msgid "The certificate is trusted." msgstr "Serifikatet stoles på." #: src/tls.c:361 #, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "Anonym DH med primtall på %d bit.\n" msgstr[1] "Anonym DH med primtall på %d bits.\n" #: src/tls.c:370 #, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "Ephemeral (?) FH med primtall op %d bit.\n" msgstr[1] "Ephemeral (?) FH med primtall op %d bits.\n" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "- Protokoll: %s\n" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "- Sertifikattype: %s\n" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "- Komprimering: %s\n" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "- Chiffer (Krypto): %s\n" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "- MAC: %s\n" #: src/tls.c:423 #, c-format msgid "- Certificate info:\n" msgstr " - Sertifikat informasjon:\n" #: src/tls.c:427 #, c-format msgid "- Certificate is valid since: %s" msgstr " - Sertifikatet er gyldig siden: %s" #: src/tls.c:429 #, c-format msgid "- Certificate expires: %s" msgstr " - Sertifikatet utgår: %s" #: src/tls.c:434 #, c-format msgid "- Certificate fingerprint: " msgstr " - Sertifikat fingeravtrykk :" #: src/tls.c:444 #, c-format msgid "- Certificate serial number: " msgstr " - Sertifikat seriellnummer: " #: src/tls.c:453 #, c-format msgid "- Certificate public key: " msgstr "- Sertifikat offentlig nøkkel: " #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "RSA\n" #: src/tls.c:457 #, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] "- Modulus: %d bit\n" msgstr[1] "- Modulus: %d bits\n" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "DSA\n" #: src/tls.c:463 #, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] "- Eksponent: %d bit\n" msgstr[1] "- Eksponent: %d bits\n" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "UKJENT\n" #: src/tls.c:469 #, c-format msgid "- Certificate version: #%d\n" msgstr " - Sertifikat versjon: #%d\n" #: src/tls.c:476 #, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr " - Sertifikat utsteder sin DN: %s\n" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 #, fuzzy msgid "Transferring messages..." msgstr "Overfører melding(er)..." #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "Starter SMTP sesjon..." #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "Bruker TLS/SSL kryptering..." #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "ADVARSEL: %s" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "STARTTLS kommando feilet." #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "Bruker TLS/SSL kryptering kun mellom Anubis og ekstern MTA..." #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "STARTTLS (ENVEIS) kommando feilet." #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: opsjon '%s' er flertydig\n" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: opsjon '--%s' tillater ikke noe argument\n" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: opsjon '%c%s' tillater ikke noe argumenter\n" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: opsjon '%s' krever et argument\n" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: ukjent opsjon '--%s'\n" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: ukjent opsjon '%c%s'\n" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: ulovlig opsjon -- %c\n" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: ugyldig opsjon -- %c\n" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: opsjon krever et argument -- %c\n" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: opsjon '-W %s' er tvetydig\n" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: opsjon '-W %s' tillater ikke noe argument\n" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "minne oppbrukt" #~ msgid "MTA has not been specified. Set either REMOTE-MTA or LOCAL-MTA." #~ msgstr "Ingen MTA er spesifisert. Sett enten REMOTE-MTA eller LOCAL-MTA." #~ msgid "Loop not allowed. Connection rejected." #~ msgstr "Løkke er ikke tillatt. Tilkobling avvist." #~ msgid "Try '%s --help' for more information." #~ msgstr "Forsøk '%s --help' for mere informasjon." #~ msgid "" #~ "\n" #~ "GNU Anubis is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2 of the License, or\n" #~ "(at your option) any later version." #~ msgstr "" #~ "\n" #~ "\n" #~ "GNU Anubis er fri programvare; du kan redistribuere det og/eller endre\n" #~ "det under restriksjonene av GNU General Public License som publisert av\n" #~ "Free Software Foundation; enten versjon 2 av lisensen, eller (om du vil)\n" #~ "enhver nyere versjon." #~ msgid "" #~ "\n" #~ "GNU Anubis is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details." #~ msgstr "" #~ "\n" #~ "GNU Anubis distribueres med håp om at det er nyttig, men UTEN NOEN\n" #~ "FORM FOR GARANTI; til og med uten noen implisitt garanti om å\n" #~ "VÆRE EGNET TIL NOE BESTEMT BRUK. Se GNU General Public License\n" #~ "for ytterligere detaljer." #~ msgid "" #~ "\n" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with GNU Anubis; if not, write to the Free Software\n" #~ "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA" #~ msgstr "" #~ "\n" #~ "Du skal ha mottat en kopi av GNU General Public License sammen med\n" #~ "GNU Anubis; om ikke skriv til Free Software Foundation, Inc,\n" #~ "59 Temple Palace, Suite 330, Boston, MA 02111-1307 USA" #~ msgid "" #~ "\n" #~ "GNU Anubis is released under the GPL with the additional exemption that\n" #~ "compiling, linking, and/or using OpenSSL is allowed.\n" #~ msgstr "" #~ "\n" #~ "GNU Anubis gis ut under GPL med unntak av at kompilering, lenking\n" #~ "og/eller bruk med OpenSSL tillates.\n" #~ msgid "Usage: anubis [options]\n" #~ msgstr "Bruk: anubis [opsjoner]\n" #~ msgid " -m, --mode=MODE Select operation mode." #~ msgstr " -m, --modus=MODE Velg operasjonsmodus." #~ msgid "" #~ " MODE is either \"transparent\" or \"auth\"" #~ msgstr "" #~ " MODE er enten \"transparent\" eller \"auth\"" #~ msgid " -f, --foreground Foreground mode." #~ msgstr " -f, --foreground Forgrunnsmodus." #~ msgid " -s, --silent Work silently." #~ msgstr " -s, --silent Arbeid stille." #~ msgid " -v, --verbose Work noisily." #~ msgstr " -v, --verbose Arbeid høylytt." #~ msgid " -D, --debug Debug mode." #~ msgstr " -D, --debug Feilsøkemodus." #~ msgid " --norc Ignore system configuration file." #~ msgstr " --norc Ignorer system konfigurasjonsfil." #~ msgid " --version Print version number and copyright." #~ msgstr "" #~ " --versjon Skriv ut versjonsnummer og kopirettigheter." #~ msgid " --help It's obvious..." #~ msgstr " --help Vis hjelpeteksten..." #~ msgid "malloc() failed. Cannot allocate enough memory." #~ msgstr "malloc() feilet. Kan ikke allokere nok minne." #~ msgid "realloc() failed. Cannot reallocate enough memory." #~ msgstr "realloc() feilet. Kan ikke reallokere nok minne." #~ msgid "INTERNAL ERROR (get_response_smtp): buffer exhausted. Please report." #~ msgstr "" #~ "INTERN FEIL (get_response_smtp): buffer fullt. Vennligst rapporter dette." #~ msgid "Seeding random number generator..." #~ msgstr "Sår tilfeldig tall generator..." #~ msgid "Unable to seed random number generator." #~ msgstr "Kan ikke så tilfeldig tall generator." #~ msgid "Write error: %s" #~ msgstr "Skrivefeil: %s." #~ msgid "Read error: %s" #~ msgstr "Lesiefeil: %s." #~ msgid "SSLv23_client_method() failed." #~ msgstr "SSLv23_client_method() feilet." #~ msgid "Can't create SSL_CTX object." #~ msgstr "Kan ikke opprette SSL_CTX objekt." #~ msgid "SSL_CTX_set_cipher_list() failed." #~ msgstr "SSL_CTX_set_cipher_list() feilet." #~ msgid "Can't create a new SSL structure for a connection." #~ msgstr "Kan ikke opprette ny SSL struktur for tilkobling." #~ msgid "SSLv23_server_method() failed." #~ msgstr "SSLv23_server_method() feilet." #~ msgid "SSL_CTX_use_certificate_file() failed." #~ msgstr "SSL_CTX_use_certificate_file() feilet." #~ msgid "SSL_CTX_use_PrivateKey_file() failed." #~ msgstr "SSL_CTX_use_PrivateKey_file() feilet." #~ msgid "Private key does not match the certificate public key." #~ msgstr "Privat nøkkel stemmer ikke med sertifikatets offentlige nøkkel." #~ msgid "%s connection using %s (%u bit)" #~ msgid_plural "%s connection using %s (%u bits)" #~ msgstr[0] "%s tilkobling med %s (%u bit)" #~ msgstr[1] "%s tilkobling med %s (%u bits)" #~ msgid "Server public key is %d bit" #~ msgid_plural "Server public key is %d bits" #~ msgstr[0] "Tjenerens offentlige nøkkel er %d bit" #~ msgstr[1] "Tjenerens offentlige nøkkel er %d bits" #~ msgid "Certificate:" #~ msgstr "Sertifikat:" #~ msgid "X509_NAME_oneline [subject] failed!" #~ msgstr "X509_NAME_oneline [subject] feilet!" #~ msgid "Subject: %s" #~ msgstr "Emne: %s" #~ msgid "X509_NAME_oneline [issuer] failed!" #~ msgstr "X509_NAME_oneline [issuer] feilet!" #~ msgid "Issuer: %s" #~ msgstr "Utsteder: %s" #~ msgid "Using ESMTP authentication mechanism CRAM-MD5..." #~ msgstr "Bruker ESMTP LOGIN authentiseringsmekanismen CRAM-MD5..." #~ msgid "Server rejected the AUTH command." #~ msgstr "Tjener avviste AUTH kommandoen." #~ msgid "Challenge decoded: %s\n" #~ msgstr "Utfordring dekodet: %s\n" #~ msgid "ESMTP AUTH: %s." #~ msgstr "ESMTP AUTH: %s." #~ msgid "The %s section has been found. Processing..." #~ msgstr "Seksjonen %s er funnet. Prosesserer..." #~ msgid "IDENT: send() failed: %s." #~ msgstr "IDENT: send() feilet: %s.<" #~ msgid "OK" #~ msgstr "OK" #~ msgid "ERROR" #~ msgstr "FEIL" #~ msgid "Connection terminated." #~ msgstr "Tilkobling avbrutt." #~ msgid "Using the ESMTP CRAM-MD5 authentication..." #~ msgstr "Bruker ESMTP CRAM-MD5 authentisering..." #~ msgid "Built-in support for: " #~ msgstr "Innebygget støtte for: " #~ msgid "Initializing socket..." #~ msgstr "Initialiserer socket..." #~ msgid "Connecting to %s:%u..." #~ msgstr "Kobler til %s:%u..." #~ msgid "(%ld)SERVER >>> %s" #~ msgstr "(%ld)TJENER >>> %s" #~ msgid "(%ld)CLIENT >>> %s" #~ msgstr "(%ld)KLIENT >>> %s" #~ msgid "(%d)SERVER <<< %s" #~ msgstr "(%d)TJENER <<< %s" #~ msgid "(%d)CLIENT <<< %s" #~ msgstr "(%d)KLIENT <<< %s" #~ msgid "Fatal fclose() error. %s." #~ msgstr "Kritisk fclose() feil. %s." #~ msgid "SSL_set_fd() failed." #~ msgstr "SSL_set_fd() feilet." #~ msgid "Using the 'ONEWAY' TLS/SSL encryption..." #~ msgstr "Bruker 'ENVEIS' TLS/SSL kryptering..." #~ msgid "getpeername() failed: %s." #~ msgstr "get peername() feilet: %s." anubis-4.1.1+dfsg1/po/ru.gmo0000600000175000017500000007367711123150057013327 0ustar kbkbÞ• „g숉š®¿Ó,ð7;T7Èâ,ü)%G,m-š È&é*J,jN—æ7S h‰¤Â ÞìNÿ(N w&‚©¹Ù)è.C`{š¹Ñì óþ9 Vc‚ž/¸'èT)e¦¹Ù$ï(B` ‹ §0² ãïõ Š& ± ¾ Î â ö û !!3!C!Z!t! !˜!(´!Ý!.ý!(,"*U")€"&ª"Ñ"ä"ô"#1#"O#r##(¡#Ê#Ü#ô#*$'9$a$x$"–$¹$!Ð$ò$1% 3%+T%/€%/°%"à%&2&N&b& x&™&ž&µ&sÓ&G'e'!z'œ'²'Î'ã'ý'(*(J(\( c(q()€(ª(+¿(%ë(#)>5)t)Š))'¢)%Ê)ð) **T;**)¢*Ì*è*ï*3++C+o+"Œ+¯+!¿+á+ú+ ÿ+ ,D%,$j,\,:ì,&'-"N-q- Œ-!˜-@º-+û-)'.ŽQ.à.ù.+/K:/-†/´/Ï/é/ 0 00@60w0”0%´0Ú0ö01 1"<1%_1…1Ž1Ÿ1°1È1Ü1Wã1;2>P22 ¯2G»25393 K3 X3"f3 ‰39•3Ï3ß3 ð3&þ3 %4F4f4|444±4 Á4Ï4é4ù4 5!5';5c5&5¦5Â5Ü5'ð56+6D6]6{6“6£6¶6Ê6Þ6»æ6¢8½8×8ò89 9jF9.±9$à9j:op:6à:.;CF;-Š;6¸;Cï;<3<0p<7¡</Ù</ =/9=Bi=¬='²>$Ú>Hÿ>.H?3w?7«?4ã?7@,P@}@™@­@g¿A 'BO2B‚B%šBÀBZÏB6*CaC.|C3«CDßCD$D=iDE§D íD úD^E>gE>¦EåEBùE@»p:úp,5qMbq°qÄqRrmr‹rc¤rLsHUsžs´sËsástt+tKtat*t+¬t7Øt!u_2u-’u;ÀuüuIvev#ƒv#§v(Ëv"ôvw2wPw7jw¢w•m²Í¸ j4U¯˜>,Æn°åye?¥`Ã^ð±@*ôÜ2ëoé8ê‹®bí0ÿZ~.]ãt¤Ë‰ŸV©áfrvØÑ(TücÎ =Ý)‡… Yu\1 ­Þ¡#q¨¿ Ì6s×OW;iGûN[ªÖˆÈ›Õ—$PÏpC&ýƒ“'ù¦9¾‘Ú<:Å!»œ–%Qî´Ð·xŒò"wSµ+_¶H™à«‚¼hº”¢7õd ÷}߬’l{J§ÇÊøúïgÉ|âE¹ŠakÒ½KÂ/ Mö èRzFñ-€çDÓóÛžBþIìÔ†Ž„ÙA£ 3LÀ5 ÁX ³æšäÄ#1 bind() failed#1 socket() failed.#2 bind() failed#2 socket() failed.%s daemon startup succeeded.%s is not a regular file or a symbolic link.%s not a procedure object%s remapped to %s@localhost.%s: a temporary name server error occured. Try again later.%s: host name is valid but does not have an IP address.%s: illegal option -- %c %s: invalid option -- %c %s: option `%c%s' doesn't allow an argument %s: option `%s' is ambiguous %s: option `%s' requires an argument %s: option `--%s' doesn't allow an argument %s: option `-W %s' doesn't allow an argument %s: option `-W %s' is ambiguous %s: option requires an argument -- %c %s: unknown DNS error %d.%s: unrecognized option `%c%s' %s: unrecognized option `--%s' %s: unrecoverable name server error occured.- Anonymous DH using prime of %d bit. - Anonymous DH using prime of %d bits. - Certificate Issuer's DN: %s - Certificate Type: %s - Certificate expires: %s- Certificate fingerprint: - Certificate info: - Certificate is valid since: %s- Certificate public key: - Certificate serial number: - Certificate version: #%d - Cipher: %s - Compression: %s - Ephemeral DH using prime of %d bit. - Ephemeral DH using prime of %d bits. - Exponent: %d bit - Exponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protocol: %s --mode=mda requires --local-mtaADD %s [%s] %sAddress must be an IP, not a domain name.Address type not supported.Anubis RC file errorAuthentication failed: %d %sAuthentication successful.Bad car type in return from %sBad cdr type in return from %sBad return type from %sBad user name or password.CLIENTCalling %sCan't find out my own hostnameCannot create stream socketCannot create stream socket.Cannot fork.Cannot initialize libgsasl: %sCannot open database %s: %sCannot open pid file '%s'Cannot retrieve data from the SASL database: %sCannot send null user name or password.Child [%lu] finished. %s. %d client left.Child [%lu] finished. %s. %d clients left.Command HANG is not allowed for user `%s'Command not supported.Connected to %s:%uConnection closed successfully.Connection from %s:%uConnection not allowed by a ruleset.Connection refused.Could not write to socketCould not write to socket: %sCouldn't connect to %s:%u. %s.DEBUG-LEVELDSA Database not specifiedDebug modeDo not check user configuration file permissionsDumped coreEMAILESMTP AUTH is not supportedEntering XDB loop...Execute a local SMTP server, which works on standard input and output (inetd-type program); this option excludes the `--remote-mta' optionExecuting %sExecuting %s...Exited successfullyExiting XDB loop...FILEFailed with status %dFile `%s' has already been read. Foreground modeFound record for `%s'.GNU Anubis bound to %s:%uGNU Anubis is running...GPGME: %s.GPGME: Cannot list keys: %sGPGME: Invalid recipient encountered: %sGPGME: Invalid signer found: %sGPGME: Unexpected number of signatures createdGPGME: Wrong hash algorithm reported: %iGPGME: Wrong pubkey algorithm reported: %iGPGME: Wrong signature class reported: %uGPGME: Wrong type of signature createdGPGME: failed. %s.GSASL error: %sGSASL handshake aborted: %d %sGeneral SOCKS server failure.Get substring %d failed (%d).Getting remote host information...Give a short usage messageGive this help listGot empty list of authentication methodsHost unreachable.IDENT: connect() failedIDENT: connected to %s:%uIDENT: data probably encrypted with DES...IDENT: incorrect data (DES deciphered).IDENT: incorrect data.IDENT: recvline() failed: %s.IDENT: resolved remote user to %s.IDENT: socket() failedIDENT: stream_write() failed: %s.INTERNAL ERRORINTERNAL ERROR at %s:%d: missing or invalid regexIgnore system configuration fileIllegal address length received for host %sInitializing the TLS/SSL connection with MTA...Initializing the TLS/SSL connection with MUA...Install GPGME version %s or later.Invalid port number: %sInvalid regular expression (see the above message)Invalid user ID: %sInvalid user name: %sLocal program [%lu] finished. %sMODEMODIFY %s [%s] [%s] %sMalformed or unexpected replyMandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.Matched condition %s[%s] "%s"Matched trigger "%s"Matched, but too many substrings.Miscellaneous optionsMissing recipient addressesNetwork unreachable.No certificate was found!No certificate was sent.No such section: %sNot a valid debugging level: %sNot enough memoryOPTIONOther optionsOutput optionsPAM: Not authenticated to use GNU Anubis.PAM: Session closed.PAM: Session opened (restrictions applied).PAM: failed to release authenticator.Possibly not a SOCKS proxy service.Print a list of configuration options used to build GNU AnubisPrint program versionREMOVE HEADER [%s]RSA Reading system configuration file %s...Reading user configuration file %s...Record for `%s' not found.Report bugs to %s. Request rejected or failed.Request rejected, because the client program and identd reported different User-IDs.Request rejected.Run the configuration file syntax checkerSASL gsasl_client_start: %sSERVERSMTP message submission daemon.SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH method: USER NAME/PASSWORDSOCKS Proxy AUTH: succeeded.SOCKS Proxy Connection: succeeded.SOCKS proxy: %sSTARTTLS (ONEWAY) command failed.STARTTLS command failed.STOPSection %sSection %s already definedSelect operation mode; MODE is one of "transparent", "auth" or "mda"Selected authentication mechanism %sSelected authentication mechanism %s requires TLS encryption. Not using ESMTP authenticationServer did not offer any feasible authentication mechanismServer does not accept an AUTH method.Server does not accept any method.Server reply is not valid.Short writeSignal Caught. Exiting Cleanly...Specify a remote SMTP host name or IP address; the default is 25Specify alternate system configuration fileSpecify sender address (implies MDA mode)Specify the TCP port on which GNU Anubis listens for connections; the default HOST is INADDR_ANY, and default PORT is 24 (private mail system)Starting SMTP session...Stopped on signal %dStore the PID of the running daemon in FILEStray character in config: \%03o. Possibly missing quotes around the stringTCP wrappers: connection from %s:%u rejected.TLS error reading `%s': %sTLS/SSL handshake failed!TLS/SSL handshake failed: %sTTL expired.TerminatedTerminated on signal %dThe MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA.The certificate has expired.The certificate is not trusted.The certificate is not yet activated.The certificate is trusted.Timeout! Exiting...Too many clients. Connection from %s:%u rejected.Translation map: incorrect syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUNKNOWN Unknown host %s.Unknown mode: %sUnknown regexp modifierUnknown section: %sUsage:Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input and outputUsing SOCKS Proxy...Using TLS/SSL encryption between Anubis and remote MTA only...Using the TLS/SSL encryption...WARNING: %sWARNING: An unprivileged user cannot be resolved. Verify your settings!WARNING: An unprivileged user has not been specified!Welcome user %s !Work noisilyWork silentlyWrong permissions on %s. Set 0600.[HOST:]PORT`logfile' directive is ignored in main configuration fileaccept() failedargcv_get failedbind() failedcannot drop non-root setuid privilegescannot open guile output file %scannot set effective gid to %lucannot stat file `%s'connect() faileddaemon() faileddaemon: cannot forkexecvp() failedfork() failedgetsockname() failed: %s.listen() failedmemory exhaustedmissing procedure namemissing replacement valuepcre_compile() failed at offset %d: %s.pcre_fullinfo() failed: %d.program is not allowed in this sectionregcomp() failed at %s: %s.second setuid(%lu) failedsetegid(%lu) failedseteuid(0) succeeded when it should notsetgid(%lu) failedsetgroups(1, %lu) failedsetregid(%lu,%lu) failedsetresgid(%lu,%lu,%lu) failedsetreuid(%lu,-1) failedsetsid() failedsetuid(%lu) failedsocketpair() failedunknown keyword: %swarningProject-Id-Version: anubis 4.1 Report-Msgid-Bugs-To: bug-anubis@gnu.org POT-Creation-Date: 2008-12-20 11:59+0100 PO-Revision-Date: 2008-02-21 21:17+0200 Last-Translator: Sergey Poznyakoff Language-Team: Russian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; ошибка bind() #1: %sошибка socket() #1.ошибка bind() #2: %sошибка socket() #2.ЗапуÑк демона %s прошел уÑпешно.%s не ÑвлÑетÑÑ Ð½Ð¸ обычным файлом, ни ÑимволичеÑкой ÑÑылкой.%s -- не процедурный объект%s принÑÑ‚ как %s@localhost.%s: Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° Ñервера имен. Повторите попытку позже.%s: у Ñтанции дейÑтвительное название, но отÑутÑтвует IP-адреÑ.%s: недейÑÑ‚Ð²Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ -- %c %s: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ -- %c %s: Ð¾Ð¿Ñ†Ð¸Ñ `%c%s' не принимает аргументов %s: Ð¾Ð¿Ñ†Ð¸Ñ `%s' неоднозначна %s: Ð¾Ð¿Ñ†Ð¸Ñ `%s' требует аргумента %s: Ð¾Ð¿Ñ†Ð¸Ñ `--%s' не принимает аргументов %s: Ð¾Ð¿Ñ†Ð¸Ñ `-W %s' не берет аргументов %s: Ð¾Ð¿Ñ†Ð¸Ñ `-W %s' неоднозначна %s: Ð¾Ð¿Ñ†Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ аргумента -- %c %s: неизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° DNS %d.%s: Ð½ÐµÐ¾Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ `%c%s' %s: Ð½ÐµÐ¾Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ `--%s' %s: неиÑÐ¿Ñ€Ð°Ð²Ð¸Ð¼Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° Ñервера имен.Ðнонимный DH иÑпользует проÑтые чиÑла по %d биту. Ðнонимный DH иÑпользует проÑтые чиÑла по %d бита. Ðнонимный DH иÑпользует проÑтые чиÑла по %d бит. - Сертификат выдан: %s - Тип Ñертификата: %s - Срок дейÑÑ‚Ð²Ð¸Ñ Ñертификата иÑтекает: %s - Отпечаток Ñертификата: - Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ Ñертификате: - Сертификат дейÑтвителен Ñ: %sПубличный ключ Ñертификата: - Серийный номер Ñертификата: - ВерÑÐ¸Ñ Ñертификата: #%d - Шифрование: %s - Сжатие: %s Эфемеридный DH иÑпользует проÑтые чиÑла по %d биту. Эфемеридный DH иÑпользует проÑтые чиÑла по %d бита. Эфемеридный DH иÑпользует проÑтые чиÑла по %d бит. ЭкÑпонента: %d бит ЭкÑпонента: %d бита ЭкÑпонента: %d бит - MAC: %s Модуль: %d бит Модуль: %d бита Модуль: %d бит - Протокол: %s --mode=mda требует --local-mtaADD %s [%s] %sÐÐ´Ñ€ÐµÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ быть адреÑом IP, а не доменным именем.Тип адреÑа не поддерживаетÑÑ.Ошибка файла RCÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð°: %d %sÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ÑˆÐ»Ð° уÑпешно.Ðеверный тип Ñчейки car в возврате от %sÐеверный тип Ñчейки cdr в возврате от %sÐеверный тип данных возврата из %sÐеверное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ пароль.КЛИЕÐТВызов %sневозможно определить название ÑобÑтвенной машиныÐевозможно Ñоздать гнездо потока.Ðевозможно Ñоздать гнездо потока.Ошибка fork()Ðевозможно инициализировать libgsasl: %sÐевозможно открыть базу данных %s: %sÐевозможно открыть файл `%s'Ðевозможно получить данные из базы данных SASL: %sÐевозможно отоÑлать пуÑтое Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ пароль.Дочерний процеÑÑ [%lu] завершилÑÑ. %s. ОÑталÑÑ %d клиент.Дочерний процеÑÑ [%lu] завершилÑÑ. %s. ОÑталоÑÑŒ %d клиента.Дочерний процеÑÑ [%lu] завершилÑÑ. %s. ОÑталоÑÑŒ %d клиентов.Команда HANG не дозволена пользователю `%s'Команда не поддерживаетÑÑ.УÑтановлено Ñоединение Ñ %s:%uСоединение уÑпешно закрыто.Соединение от %s:%u.Соединение не разрешено набором правил.Отказ в Ñоединении.Ðевозможно запиÑать в гнездоÐевозможно запиÑать в гнездо: %sÐевозможно ÑоединитьÑÑ Ñ %s:%u. %s.УРОВЕÐЬDSA Ðе указана база данныхРежим отладкиÐе проверÑть права доÑтупа на конфигурационный файл пользователÑСброÑил образ памÑтиЕМÐЙЛESMTP AUTH не поддерживаетÑÑÐачало цикла XDB...ИÑпользовать локальный SMTP Ñервер, работающий на Ñтандартном входе/выходе (программа типа inetd); Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð½ÐµÑовмеÑтима Ñ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹ '--remote-mta'ИÑполнение %sИÑполнение %s...Соединение уÑпешно закрытоЗавершение цикла XDB...ФÐЙЛЗавершён Ñо ÑтатуÑом %dФайл `%s' уже был загружен ОÑтатьÑÑ Ð½Ð° переднем планеÐайдена запиÑÑŒ Ð´Ð»Ñ %sÑŽGNU Anubis обÑлуживает %s:%uGNU Anubis запущен...GPGME: %s.GPGME: Ðевозможно раÑпечатать ключи: %sGPGME: Обнаружен недейÑтвительный получатель: %sОбнаружен недейÑтвительный идентификатор пользователÑ: %sGPGME: Создано неожиданное количеÑтво подпиÑейGPGME: Сообщён неверный алгоритм хешированиÑ: %iGPGME: Сообщён неверный алгоритм: %iGPGME: Сообщён неверный клаÑÑ Ð¿Ð¾Ð´Ð¿Ð¸Ñи: %uGPGME: Создана подпиÑÑŒ недейÑтвительного типаGPGME: неудача: %s.Ошибка GSASL: %s.Обмен GSASL завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡ÐµÐ¹: %d %sÐžÐ±Ñ‰Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° Ñервера SOCKS.Ðеудачный поиÑк подÑтроки %d (%d).Получение информации об удаленной машине...Выдать краткую подÑказку по иÑпользованиюВыдать Ñту подÑказкуПолучен пуÑтой ÑпиÑок методов авторизацииÐедоÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð°.IDENT: connect() не удалÑÑIDENT: уÑтановлено Ñоединение Ñ %s:%uIDENT: Данные, вероÑтно, зашифрованы поÑредÑтвом DES...IDENT: ошибочные данные (поÑле раÑшифровки DES).IDENT: ошибочные данные.IDENT: recvline() не удалÑÑ: %s.IDENT: удаленный пользователь определен как %s.IDENT: socket() не удалÑÑIDENT: stream_write() не удалÑÑ: %s.Ð’ÐУТРЕÐÐЯЯ ОШИБКÐВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° возле %s:%d: неÑущеÑтвующее или неверное регулÑрное выражениеИгнорировать ÑиÑтемный файл ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸Ð”Ð»Ñ Ñтанции %s получена недейÑÑ‚Ð²Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° адреÑаУÑтановка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ MTA по протоколу TLS/SSL...УÑтановка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ MUA по протоколу TLS/SSL...УÑтановите GPGME верÑии %s или выше.ÐедейÑтвительный номер порта: %sÐедейÑтвительное регулÑрное выражение (Ñм. предыдущее Ñообщение)ÐеÑущеÑтвующий пользователь: %sÐедейÑтвительное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ: %sÐ›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° [%lu] завершена. %sРЕЖИМMODIFY %s [%s] [%s] %sÐеправильно Ñформированный или неожиданный ответОбÑзательные или необÑзательные аргументы к длинным опциÑм оÑтаютÑÑ Ñ‚Ð°ÐºÐ¾Ð²Ñ‹Ð¼Ð¸ и к ÑоответÑтвующим коротким опциÑм.УÑловие %s[%s] "%s" выполнилоÑьПереключатель "%s" удовлетворил ключуСоответÑтвие найдено, но подÑтрок Ñлишком много.Дополнительные опцииÐе указан Ð°Ð´Ñ€ÐµÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð°Ñ‚ÐµÐ»ÑÐедоÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ñеть.Сертификат не найден!Ðе выÑлан Ñертификат.Ðет такой Ñекции: %sÐедейÑтвительный уровень отладки: %sÐедоÑтаточно памÑтиОПЦИЯДругие опцииУправление выводомPAM: отказано в иÑпользовании GNU Anubis.PAM: СеÑÑÐ¸Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð°.PAM: СеÑÑÐ¸Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð° (наложены ограничениÑ).PAM: ошибка оÑÐ²Ð¾Ð±Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… авторизации.Видимо Ñто -- не Ñервер SOCKS.РаÑпечатать ÑпиÑок конфигурационных опций, иÑпользованных во Ð²Ñ€ÐµÐ¼Ñ Ñборки GNU Anubis.Ðапечатать номер верÑии программыREMOVE HEADER [%s]RSA Чтение ÑиÑтемного файла конфигурации %s...Чтение пользовательÑкого файла конфигурации %s...ЗапиÑÑŒ Ð´Ð»Ñ %s не найденаОб ошибках Ñообщай по адреÑу %s. Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ñ‚Ð²ÐµÑ€Ð³Ð½ÑƒÑ‚ или не Ñработал.Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ñ‚Ð²ÐµÑ€Ð³Ð½ÑƒÑ‚, поÑкольку не Ñовпали идентификаторы, полученные от программы клиента и от identd.Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ñ‚Ð²ÐµÑ€Ð³Ð½ÑƒÑ‚.ЗапуÑтить проверку ÑинтакÑиÑа конфигурационного файла.SASL gsasl_client_start: %sСЕРВЕРДемон отÑылки SMTP.ÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° Ñервере SOCKS: ÐВТОРИЗÐЦИЯ ÐЕ ТРЕБУЕТСЯÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° Ñервере SOCKS: ИМЯ ПОЛЬЗОВÐТЕЛЯ/ПÐРОЛЬÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° Ñервере SOCKS уÑпешно завершена.УÑтановлено Ñоединение Ñ Ñервером SOCKS.Ñервер SOCKS: %sКоманда STARTTLS (одноÑтороннÑÑ) не Ñработала.Команда STARTTLS не Ñработала.ОСТÐÐÐžÐ’Ð¡ÐµÐºÑ†Ð¸Ñ %sÐ¡ÐµÐºÑ†Ð¸Ñ %s уже определена.Выбор режима работы: transparent, auth или mdaВыбран механизм авторизации %sВыбранный механизм авторизации %s требует ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ TLS. ÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ ESMTP не иÑпользуетÑÑ. Сервер не предложил ни одного подходÑщего механизма авторизацииСервер не принимает метод AUTH.Сервер не принимает ни один метод авторизации.ÐедейÑтвительный ответ Ñервера.Ошибка запиÑиПолучен Ñигнал. Ðормальное завершение работы...Указать Ð¸Ð¼Ñ Ð¸Ð»Ð¸ IP-Ð°Ð´Ñ€ÐµÑ ÑƒÐ´Ð°Ð»ÐµÐ½Ð½Ð¾Ð³Ð¾ SMTP; по умолчанию ПОРТ=25.Читать конфигурацию из ФÐЙЛÐОпределить Ñ„Ð´Ñ€ÐµÑ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÐµÐ»Ñ (включает режим MDA)Указать порт TCP Ð´Ð»Ñ Ð¾Ð±ÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Anubis-ом; gо умолчанию ÐДРЕC=INADDR_ANY, ПОРТ=24 (чаÑÑ‚Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð¾Ð²Ð°Ñ ÑиÑтема).Ðачало ÑеÑÑии SMTP...ОÑтановлен Ñигналом %dЗапиÑать PID процеÑÑа в ФÐЙЛÐеожиданный Ñимвол в файле конфигурации: \%03o. Возможно отÑутÑтвуют кавычки вокруг Ñтроки Ñимволов.фильтр TCP: отказано в подÑоединении от %s:%u.Ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ TLS `%s': %sОбмен TLS/SSL завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡ÐµÐ¹!Обмен TLS/SSL завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡ÐµÐ¹: %sИÑтекло Ð²Ñ€ÐµÐ¼Ñ Ð¶Ð¸Ð·Ð½Ð¸ запроÑаЗавершёнЗавершён по Ñигналу %dMTA не указан. УÑтановите REMOTE-MTA или LOCAL-MTA.Срок дейÑÑ‚Ð²Ð¸Ñ Ñертификата иÑтек.Ðет Ð´Ð¾Ð²ÐµÑ€Ð¸Ñ Ñертификату.Сертификат не активирован.Оказано доверие Ñертификату.Ð’Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¸Ñтекло. Завершение работы...Слишком много клиентов. Отказано в подÑоединении от %s:%u.Карта транÑлÑции: неверный ÑинтакÑиÑ.UID:%d (%s), GID:%d, EUID:%d, EGID:%dÐЕИЗВЕСТЕРÐеизвеÑÑ‚Ð½Ð°Ñ ÑÑ‚Ð°Ð½Ñ†Ð¸Ñ %s.ÐеизвеÑтный режим: %s.ÐеизвеÑтный модификатор Ð´Ð»Ñ Ñ€ÐµÐ³ÑƒÐ»Ñрного выражениÑÐеизвеÑÑ‚Ð½Ð°Ñ ÑекциÑ: %s.ИÑпользование:ИÑпользовать протокол SMTP (OMP/Tunnel), опиÑанный в RFC 821, на Ñтандартном входе и выходе.ИÑпользуетÑÑ Ñервер SOCKS...ИÑпользуетÑÑ ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ по протоколу TLS/SSL только между anubis-ом и удалённым MTA...ИÑпользуетÑÑ ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ по протоколу TLS/SSL...ПРЕДУПРЕЖДЕÐИЕ: %sПРЕДУПРЕЖДЕÐИЕ: Ðе указан непривилегированный пользователь!ПРЕДУПРЕЖДЕÐИЕ: Ðе указан непривилегированный пользователь!Добро пожаловать, пользователь %s !Выдавать подробную диагноÑтикуÐе выдавать диагноÑтикиОшибочные привилегии Ð´Ð»Ñ %s. УÑтановите 0600.[ХОСТ]:ПОРТДиректива `logfile' игнорируетÑÑ Ð¿Ñ€Ð¸ иÑпользовании в главном файле конфигурацииaccept() не удалÑÑargcv_get() не удалÑÑbind() не удалÑÑневозможно отказатьÑÑ Ð¾Ñ‚ привилегий setuid пользователÑневозможно открыть файл диагноÑтики Guile %sневозможно уÑтановить Ñффективный gid %luошибка stat: %sошибка connect()ошибка daemon()демон: ошибка fork()ошибка execvp()ошибка fork()ошибка getsockname(): %s.ошибка listen()памÑть иÑчерпананет Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñ‹Ð½ÐµÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð·Ð°Ð¼ÐµÐ½Ñ‹Ð¾ÑˆÐ¸Ð±ÐºÐ° pcre_compile() в Ñмещении %d: %s.ошибка pcre_fullinfo(): %d.иÑпользование программы в Ñтой Ñекции не разрешено.regcomp() не удалÑÑ Ð²Ð¾Ð·Ð»Ðµ %s: %sповторный вызов setuid(%lu) не удалÑÑsetegid(%lu) не удалÑÑвызов seteuid(0) удалÑÑ, однако не должен былsetgid(%lu) не удалÑÑsetgroups(1, %lu) не удалÑÑsetregid(%lu,%lu) не удалÑÑsetresgid(%lu,%lu,%lu) не удалÑÑsetreuid(%lu,-1) не удалÑÑsetsid() не удалÑÑsetuid(%lu) не удалÑÑошибка socketpair()неизвеÑтное ключевое Ñлово: %s.предупреждениеanubis-4.1.1+dfsg1/po/POTFILES.in0000600000175000017500000000072211121752642013735 0ustar kbkb# # List of source files containing translatable strings. # Copyright (C) 2001, 2002, 2003, 2004, 2007 The Anubis Team. # src/authmode.c src/daemon.c src/env.c src/errs.c src/esmtp.c src/exec.c src/gpg.c src/gsasl.c src/guile.c src/help.c src/ident.c src/main.c src/map.c src/mime.c src/misc.c src/mysql.c src/net.c src/socks.c src/quit.c src/rcfile.c src/rcfile.l src/rcfile.y src/regex.c src/tls.c src/transmode.c src/tunnel.c lib/getopt.c lib/obstack.c # EOF anubis-4.1.1+dfsg1/po/stamp-po0000600000175000017500000000001211123150057013625 0ustar kbkbtimestamp anubis-4.1.1+dfsg1/po/boldquot.sed0000600000175000017500000000033111121755731014504 0ustar kbkbs/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g s/“/“/g s/â€/â€/g s/‘/‘/g s/’/’/g anubis-4.1.1+dfsg1/po/anubis.pot0000600000175000017500000005275311123150055014170 0ustar kbkb# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #: env.opt:43 #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "" #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "" #: src/authmode.c:522 msgid "Database not specified" msgstr "" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "" #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "" #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "" #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "" #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "" #: src/daemon.c:41 msgid "daemon() failed" msgstr "" #: src/daemon.c:48 msgid "Cannot fork." msgstr "" #: src/daemon.c:56 msgid "setsid() failed" msgstr "" #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "" #: src/daemon.c:80 #, c-format msgid "Exited successfully" msgstr "" #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "" #: src/daemon.c:108 #, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "" msgstr[1] "" #: src/daemon.c:120 #, c-format msgid "Local program [%lu] finished. %s" msgstr "" #: src/daemon.c:161 msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "" #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "" #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "" #: src/daemon.c:237 src/exec.c:80 msgid "accept() failed" msgstr "" #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "" #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "" #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "" #: src/daemon.c:287 msgid "daemon: cannot fork" msgstr "" #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "" #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "" #: env.opt:45 msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" #: env.opt:54 msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "" #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "" #: env.opt:62 msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" #: env.opt:74 msgid "MODE" msgstr "" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "" #: env.opt:81 msgid "Foreground mode" msgstr "" #: env.opt:87 msgid "EMAIL" msgstr "" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "" #: env.opt:94 msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" #: env.opt:98 msgid "Output options" msgstr "" #: env.opt:101 msgid "Work silently" msgstr "" #: env.opt:106 msgid "Work noisily" msgstr "" #: env.opt:111 msgid "Debug mode" msgstr "" #: env.opt:115 msgid "Miscellaneous options" msgstr "" #: env.opt:119 msgid "Specify alternate system configuration file" msgstr "" #: env.opt:126 msgid "Ignore system configuration file" msgstr "" #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "" #: env.opt:132 msgid "Run the configuration file syntax checker" msgstr "" #: env.opt:139 msgid "Print a list of configuration options used to build GNU Anubis" msgstr "" #: env.opt:145 msgid "Do not check user configuration file permissions" msgstr "" #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "" #: env.opt:155 msgid "Other options" msgstr "" #: env.opt:155 msgid "Give this help list" msgstr "" #: env.opt:155 msgid "Give a short usage message" msgstr "" #: env.opt:155 msgid "Print program version" msgstr "" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "" #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "" #: env.opt:165 msgid "OPTION" msgstr "" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" #: env.opt:293 #, c-format msgid "Report bugs to %s.\n" msgstr "" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 msgid "argcv_get failed" msgstr "" #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "" #: env.opt:181 msgid "Missing recipient addresses" msgstr "" #: env.opt:256 #, c-format msgid "setgroups(1, %lu) failed" msgstr "" #: env.opt:266 #, c-format msgid "setegid(%lu) failed" msgstr "" #: env.opt:269 #, c-format msgid "setregid(%lu,%lu) failed" msgstr "" #: env.opt:273 #, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "" #: env.opt:282 #, c-format msgid "setgid(%lu) failed" msgstr "" #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "" #: env.opt:307 #, c-format msgid "setreuid(%lu,-1) failed" msgstr "" #: env.opt:313 #, c-format msgid "second setuid(%lu) failed" msgstr "" #: env.opt:321 #, c-format msgid "setuid(%lu) failed" msgstr "" #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "" #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "" #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "" #: env.opt:377 src/main.c:152 #, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "" #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "" #: env.opt:492 #, c-format msgid "Unknown mode: %s" msgstr "" #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "" #: src/errs.c:84 msgid "warning" msgstr "" #: src/errs.c:92 #, c-format msgid "Could not write to socket: %s" msgstr "" #: src/errs.c:94 msgid "Could not write to socket" msgstr "" #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "" #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "" #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "" #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "" #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "" #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "" #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "" #: src/esmtp.c:167 src/esmtp.c:186 #, c-format msgid "GSASL handshake aborted: %d %s" msgstr "" #: src/esmtp.c:198 #, c-format msgid "GSASL error: %s" msgstr "" #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "" #: src/esmtp.c:215 msgid "Authentication successful." msgstr "" #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "" #: src/exec.c:45 msgid "#2 socket() failed." msgstr "" #: src/exec.c:55 msgid "#1 bind() failed" msgstr "" #: src/exec.c:60 msgid "#2 bind() failed" msgstr "" #: src/exec.c:65 src/net.c:233 msgid "listen() failed" msgstr "" #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "" #: src/exec.c:75 msgid "connect() failed" msgstr "" #: src/exec.c:87 msgid "socketpair() failed" msgstr "" #: src/exec.c:108 #, c-format msgid "Executing %s..." msgstr "" #: src/exec.c:118 msgid "fork() failed" msgstr "" #: src/exec.c:132 msgid "execvp() failed" msgstr "" #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "" #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "" #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "" #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "" #: src/gpg.c:320 #, c-format msgid "GPGME: Invalid signer found: %s" msgstr "" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "" #: src/guile.c:259 msgid "missing procedure name" msgstr "" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "" #: src/ident.c:101 msgid "IDENT: socket() failed" msgstr "" #: src/ident.c:113 msgid "IDENT: connect() failed" msgstr "" #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "" #: src/ident.c:128 #, c-format msgid "IDENT: stream_write() failed: %s." msgstr "" #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "" #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "" #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "" #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "" #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "" #: src/main.c:54 msgid "Not enough memory" msgstr "" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "" #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "" #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "" #: src/misc.c:120 #, c-format msgid "Invalid port number: %s" msgstr "" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "" #: src/net.c:46 msgid "SERVER" msgstr "" #: src/net.c:49 msgid "CLIENT" msgstr "" #: src/net.c:127 msgid "Getting remote host information..." msgstr "" #: src/net.c:164 msgid "Cannot create stream socket." msgstr "" #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "" #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "" #: src/net.c:196 msgid "Cannot create stream socket" msgstr "" #: src/net.c:229 msgid "bind() failed" msgstr "" #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "" #: src/net.c:257 msgid "Short write" msgstr "" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "" #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "" #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "" #: src/socks.c:179 msgid "Request rejected or failed." msgstr "" #: src/socks.c:182 msgid "Request rejected." msgstr "" #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "" #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "" #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "" #: src/socks.c:291 msgid "Bad user name or password." msgstr "" #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "" #: src/socks.c:298 msgid "Server does not accept any method." msgstr "" #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "" #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "" #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "" #: src/socks.c:404 msgid "Network unreachable." msgstr "" #: src/socks.c:407 msgid "Host unreachable." msgstr "" #: src/socks.c:410 msgid "Connection refused." msgstr "" #: src/socks.c:413 msgid "TTL expired." msgstr "" #: src/socks.c:416 msgid "Command not supported." msgstr "" #: src/socks.c:419 msgid "Address type not supported." msgstr "" #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "" #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "" #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "" #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "" #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "" #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "" #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "" msgstr[1] "" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "" #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" #: src/rcfile.l:385 msgid "Anubis RC file error" msgstr "" #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "" #: src/rcfile.y:229 #, c-format msgid "unknown keyword: %s" msgstr "" #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "" #: src/rcfile.y:567 msgid "missing replacement value" msgstr "" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "" #: src/rcfile.y:1314 msgid "STOP" msgstr "" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "" #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "" #: src/rcfile.y:1371 #, c-format msgid "Executing %s" msgstr "" #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "" #: src/rcfile.y:1604 #, c-format msgid "Section %s" msgstr "" #: src/rcfile.y:1628 #, c-format msgid "Unknown section: %s" msgstr "" #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "" #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "" #: src/regex.c:328 #, c-format msgid "regcomp() failed at %s: %s." msgstr "" #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "" #: src/regex.c:429 #, c-format msgid "pcre_fullinfo() failed: %d." msgstr "" #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "" #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "" #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "" #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "" #: src/tls.c:198 #, c-format msgid "TLS/SSL handshake failed: %s" msgstr "" #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "" #: src/tls.c:280 msgid "TLS/SSL handshake failed!" msgstr "" #: src/tls.c:301 msgid "No certificate was sent." msgstr "" #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "" #: src/tls.c:311 msgid "The certificate has expired." msgstr "" #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "" #: src/tls.c:326 msgid "No certificate was found!" msgstr "" #: src/tls.c:331 msgid "The certificate is trusted." msgstr "" #: src/tls.c:361 #, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "" msgstr[1] "" #: src/tls.c:370 #, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "" msgstr[1] "" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "" #: src/tls.c:423 #, c-format msgid "- Certificate info:\n" msgstr "" #: src/tls.c:427 #, c-format msgid "- Certificate is valid since: %s" msgstr "" #: src/tls.c:429 #, c-format msgid "- Certificate expires: %s" msgstr "" #: src/tls.c:434 #, c-format msgid "- Certificate fingerprint: " msgstr "" #: src/tls.c:444 #, c-format msgid "- Certificate serial number: " msgstr "" #: src/tls.c:453 #, c-format msgid "- Certificate public key: " msgstr "" #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "" #: src/tls.c:457 #, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] "" msgstr[1] "" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "" #: src/tls.c:463 #, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] "" msgstr[1] "" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "" #: src/tls.c:469 #, c-format msgid "- Certificate version: #%d\n" msgstr "" #: src/tls.c:476 #, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr "" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 msgid "Transferring messages..." msgstr "" #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "" #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "" #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "" #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "" #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "" #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "" anubis-4.1.1+dfsg1/po/remove-potcdate.sin0000600000175000017500000000066011121755731015774 0ustar kbkb# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } anubis-4.1.1+dfsg1/po/tr.po0000600000175000017500000011423111123150057013140 0ustar kbkb# translation of anubis-4.0.tr.po to Turkish # Anubis Turkish Translation. # Copyright (C) 2002, 2005 Free Software Foundation, Inc. # This file is distributed under the same license as the anubis package. # Deniz Akkus Kanca , 2002. # #: env.opt:43 msgid "" msgstr "" "Project-Id-Version: anubis 4.0\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: 2005-03-14 04:15+0200\n" "Last-Translator: Deniz Akkus Kanca \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: KBabel 1.9.1\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "XDB döngüsüne girildi..." #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "XDB döngüsünden çıkılıyor..." #: src/authmode.c:522 msgid "Database not specified" msgstr "Veritabanı belirtilmemiÅŸ" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "%s veritabanı açılamıyor: %s" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "`%s' için kayıt bulundu." #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "SASL veritabanından veri alınamıyor: %s" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "`%s' için kayıt bulunamadı." #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "BaÄŸlantı baÅŸarıyla kapatıldı." #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "PAM: Oturum kapatıldı." #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "PAM: yetkilendirici boÅŸaltılamadı." #: src/daemon.c:41 msgid "daemon() failed" msgstr "daemon() baÅŸarısız" #: src/daemon.c:48 msgid "Cannot fork." msgstr "Çatallanamadı." #: src/daemon.c:56 msgid "setsid() failed" msgstr "setsid() baÅŸarısız" #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "%s servis baÅŸlatılması baÅŸarılı." #: src/daemon.c:80 #, c-format msgid "Exited successfully" msgstr "BaÅŸarıyla çıkıldı" #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "%d durumu ile baÅŸarısız olundu" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "%d sinyali üzerine bitirildi" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "%d sinyali üzerine durduruldu" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "'Core' yazıldı" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "Sonlandırıldı" #: src/daemon.c:108 #, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "Altsüreç [%lu] tamamlandı. Çıkış durumu: %s. %d istemci kaldı." #: src/daemon.c:120 #, fuzzy, c-format msgid "Local program [%lu] finished. %s" msgstr "Yerel uygulama [%lu] çalışmasını bitirdi." #: src/daemon.c:161 #, fuzzy msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "UYARI: Az yetkili bir kullanıcı belirtilmedi!" #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "UYARI: Az yetkili bir kullanıcı belirtilmedi!" #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "GNU Anubis çalışıyor..." #: src/daemon.c:237 src/exec.c:80 msgid "accept() failed" msgstr "accept() baÅŸarısız" #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "TCP sarımları: %s:%u baÄŸlantısı reddedildi." #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "Çok fazla istemci. %s:%u baÄŸlantısı reddedildi." #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "%s:%u baÄŸlantısı" #: src/daemon.c:287 msgid "daemon: cannot fork" msgstr "daemon: çatallanamadı" #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "MTA belirtilmemiÅŸ. REMOTE-MTA veya LOCAL-MTA'yı belirtin." #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "" #: env.opt:45 #, fuzzy msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" " -b, --bind [MAKİNA:]PORT GNU Anubis'in baÄŸlantı için dinlediÄŸi TCP " "port\n" " numarasını belirtir. \n" " Öntanımlı MAKİNA deÄŸeri INADDR_ANY ve " "öntanımlı\n" " PORT numarası 24'dür (özel posta sistemi)." #: env.opt:54 #, fuzzy msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "" " -r, --remote-mta SUNUCU[:PORT] uzak SMTP sunucusunun adını veya IP " "adresini\n" " belirtir. Öntanımlı PORT numarası 25'dir." #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "" #: env.opt:62 #, fuzzy msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" " -l, --local-mta DOSYA standart girdi ve çıktı üzerinde çalışan " "yerel\n" " bir SMTP sunucusu çalıştırır (inetd türü " "yazılım).\n" " Bu seçenekle --remote-mta seçeneÄŸi aynı anda\n" " kullanılamaz." #: env.opt:74 msgid "MODE" msgstr "" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "" #: env.opt:81 msgid "Foreground mode" msgstr "" #: env.opt:87 msgid "EMAIL" msgstr "" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "" #: env.opt:94 #, fuzzy msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" " -i, --stdio RFC 821'de tanımlandığı ÅŸekilde standart girdi " "ve\n" " çıktı üzerinden SMTP protokolünü (OMP/Tünel)\n" " kullanır." #: env.opt:98 #, fuzzy msgid "Output options" msgstr "Çıktı seçenekleri:\n" #: env.opt:101 msgid "Work silently" msgstr "" #: env.opt:106 msgid "Work noisily" msgstr "" #: env.opt:111 msgid "Debug mode" msgstr "" #: env.opt:115 #, fuzzy msgid "Miscellaneous options" msgstr "" "\n" "Muhtelif seçenekler:\n" #: env.opt:119 #, fuzzy msgid "Specify alternate system configuration file" msgstr " --altrc DOSYA Alternatif sistem ayar dosyası belirtir." #: env.opt:126 #, fuzzy msgid "Ignore system configuration file" msgstr "Sistem ayar dosyası %s okunuyor..." #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "" #: env.opt:132 #, fuzzy msgid "Run the configuration file syntax checker" msgstr "" " -c, --check-config Ayar dosyası sözdizim kontrolünü çalıştırır." #: env.opt:139 #, fuzzy msgid "Print a list of configuration options used to build GNU Anubis" msgstr "" " --show-config-options GNU Anubis'i derlemekte kullanılan ayarları\n" " listeler." #: env.opt:145 #, fuzzy msgid "Do not check user configuration file permissions" msgstr "" " --relax-perm-check Kullanıcı ayar dosyası izinlerini kontrol " "etmez." #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "" #: env.opt:155 #, fuzzy msgid "Other options" msgstr "Çıktı seçenekleri:\n" #: env.opt:155 msgid "Give this help list" msgstr "" #: env.opt:155 msgid "Give a short usage message" msgstr "" #: env.opt:155 msgid "Print program version" msgstr "" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "" #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "" #: env.opt:165 msgid "OPTION" msgstr "" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" #: env.opt:293 #, fuzzy, c-format msgid "Report bugs to %s.\n" msgstr "" "\n" "Yazılım hatalarını <%s> adresine,\n" "çeviri hatalarını adresine bildirin.\n" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 #, fuzzy msgid "argcv_get failed" msgstr "accept() baÅŸarısız" #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "" #: env.opt:181 #, fuzzy msgid "Missing recipient addresses" msgstr "eksik deÄŸiÅŸim deÄŸeri" #: env.opt:256 #, c-format msgid "setgroups(1, %lu) failed" msgstr "setgroups(1, %lu) baÅŸarısız" #: env.opt:266 #, c-format msgid "setegid(%lu) failed" msgstr "setegid(%lu) baÅŸarısız" #: env.opt:269 #, c-format msgid "setregid(%lu,%lu) failed" msgstr "setregid(%lu,%lu) baÅŸarısız" #: env.opt:273 #, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "setresgid(%lu,%lu,%lu) baÅŸarısız" #: env.opt:282 #, c-format msgid "setgid(%lu) failed" msgstr "setgid(%lu) baÅŸarısız" #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "geçerli gid %lu olarak atanamadı" #: env.opt:307 #, c-format msgid "setreuid(%lu,-1) failed" msgstr "setreuid(%lu,-1) baÅŸarısız" #: env.opt:313 #, c-format msgid "second setuid(%lu) failed" msgstr "ikinci setuid(%lu) baÅŸarısız" #: env.opt:321 #, c-format msgid "setuid(%lu) failed" msgstr "setuid(%lu) baÅŸarısız" #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "seteuid(0), baÅŸarısız olması gereken yerde baÅŸarılı oldu" #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "root olmayan setuid hakları bırakılamaz" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "PAM: Oturum açıldı (kısıtlamalar uygulandı)." #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "PAM: GNU Anubis kullanımı için yetkilendirilmemiÅŸ." #: env.opt:377 src/main.c:152 #, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "Geçersiz kullanıcı kimliÄŸi: %s" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "Geçersiz kullanıcı adı: %s" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "%s izinlemeleri yanlış. 0600 olarak deÄŸiÅŸtirildi." #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "%s normal bir dosya veya bir sembolik baÄŸ deÄŸil." #: env.opt:492 #, c-format msgid "Unknown mode: %s" msgstr "Bilinmeyen kip: %s" #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "Pid dosyası '%s' açılamadı" #: src/errs.c:84 msgid "warning" msgstr "uyarı" #: src/errs.c:92 #, c-format msgid "Could not write to socket: %s" msgstr "Sokete yazılamadı: %s" #: src/errs.c:94 msgid "Could not write to socket" msgstr "Sokete yazılamadı" #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "Bilinmeyen makina %s." #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "%s: makina adı geçerli fakat IP no'su yok." #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "%s: düzeltilemez isim sunucusu hatası oluÅŸtu." #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "%s: geçici isim sunucusu hatası oluÅŸtu. Daha sonra tekrar deneyin." #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "%s: bilinmeyen DNS hatası %d." #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "Bozuk veya beklenmeyen yanıt" #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "SASL gsasl_client_start: %s" #: src/esmtp.c:167 src/esmtp.c:186 #, c-format msgid "GSASL handshake aborted: %d %s" msgstr "GSASL elsıkışması durduruldu: %d %s" #: src/esmtp.c:198 #, c-format msgid "GSASL error: %s" msgstr "GSASL hatası: %s" #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "Kimlik denetimi baÅŸarısız: %d %s" #: src/esmtp.c:215 msgid "Authentication successful." msgstr "Kimlik denetimi baÅŸarılı." #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "Kimlik denetim metodları için boÅŸ liste alındı" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "Sunucu kullanılabilir bir kimlik denetim mekanizması saÄŸlamıyor" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "İÇ HATA" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" "Seçili %s kimlik denetim mekanizması TLS ÅŸifrelemesi gerektiriyor. ESMTP " "kimlik denetimi kullanılmıyor." #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "%s kimlik denetim mekanizması seçildi" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "libgsasl ilklendirilemedi: %s" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "ESMTP AUTH desteklenmiyor" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "#1 socket() baÅŸarısız." #: src/exec.c:45 msgid "#2 socket() failed." msgstr "#2 socket() baÅŸarısız." #: src/exec.c:55 msgid "#1 bind() failed" msgstr "#1 bind() baÅŸarısız" #: src/exec.c:60 msgid "#2 bind() failed" msgstr "#2 bind() baÅŸarısız" #: src/exec.c:65 src/net.c:233 msgid "listen() failed" msgstr "listen() baÅŸarısız" #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "getsockname() baÅŸarısız: %s." #: src/exec.c:75 msgid "connect() failed" msgstr "connect() baÅŸarısız" #: src/exec.c:87 msgid "socketpair() failed" msgstr "socketpair() baÅŸarısız" #: src/exec.c:108 #, fuzzy, c-format msgid "Executing %s..." msgstr "%s %s çalıştırılıyor..." #: src/exec.c:118 msgid "fork() failed" msgstr "fork() baÅŸarısız" #: src/exec.c:132 msgid "execvp() failed" msgstr "execvp() baÅŸarısız" #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "GPGME: %s." #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "GPGME sürümü %s veya daha sonrasını kurun." #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "GPGME: baÅŸarısız. %s." #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "GPGME: Anahtarlar listelenemedi: %s" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "GPGME: Geçersiz alıcıya rastlandı: %s" #: src/gpg.c:320 #, c-format msgid "GPGME: Invalid signer found: %s" msgstr "GPGME: Geçersiz imzalayan bulundu: %s" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "GPGME: Beklenmedik sayıda imza oluÅŸturuldu" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "GPGME: Yanlış türde imza oluÅŸturuldu" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "GPGME: Yanlış genel anahtar algoritması bildirildi: %i" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "GPGME: Yanlış hash algoritması bildirildi: %i" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "GPGME: Yanlış imza sınıfı bildirildi: %u" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "guile çıktı dosyası %s açılamadı" #: src/guile.c:259 msgid "missing procedure name" msgstr "eksik yordam adı" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "%s bir yordam nesnesi deÄŸil" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "%s dönüşünde hatalı car türü" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "%s dönüşünde hatalı cdr türü" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "%s tarafından geri döndürülen hatalı dönüş türü" #: src/ident.c:101 msgid "IDENT: socket() failed" msgstr "IDENT: socket() baÅŸarısız" #: src/ident.c:113 msgid "IDENT: connect() failed" msgstr "IDENT: connect() baÅŸarısız" #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "IDENT: %s'ye baÄŸlanıldı:%u" #: src/ident.c:128 #, c-format msgid "IDENT: stream_write() failed: %s." msgstr "IDENT: stream_write() baÅŸarısız: %s." #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "IDENT: recvline() baÅŸarısız: %s." #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "IDENT: hatalı veri." #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "IDENT: veri büyük ihtimalle DES ile ÅŸifreli..." #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "IDENT: hatalı veri (DES ÅŸifresiyle çözüldü)." #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "IDENT: harici kullanıcı %s olarak çözümlendi." #: src/main.c:54 msgid "Not enough memory" msgstr "" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "%s, %s@localhost'a eÅŸlendi." #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "Çeviri eÅŸlemesi: hatalı sözdizim." #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "%s makinası için geçersiz adres uzunluÄŸu alındı" #: src/misc.c:120 #, fuzzy, c-format msgid "Invalid port number: %s" msgstr "Geçersiz kullanıcı adı: %s" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "Kendi makina adını bulamıyor" #: src/net.c:46 msgid "SERVER" msgstr "SUNUCU" #: src/net.c:49 msgid "CLIENT" msgstr "İSTEMCİ" #: src/net.c:127 msgid "Getting remote host information..." msgstr "Uzak sunucu bilgisi alınıyor..." #: src/net.c:164 msgid "Cannot create stream socket." msgstr "BaÄŸlantılı soket oluÅŸturulamadı." #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "%s:%u'ya baÄŸlanılamadı. %s." #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "%s:%u'ya baÄŸlanıldı" #: src/net.c:196 msgid "Cannot create stream socket" msgstr "BaÄŸlantılı soket oluÅŸturulamadı" #: src/net.c:229 msgid "bind() failed" msgstr "bind() baÅŸarısız" #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "GNU Anubis %s:%u'ya baÄŸlandı" #: src/net.c:257 msgid "Short write" msgstr "Kısa yazma" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "SOCKS Vekili kullanılıyor..." #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "SOCKS vekili: %s" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "Adres bir IP no'su olmalıdır, bir alan adı deÄŸil." #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "SOCKS Vekil BaÄŸlantısı: baÅŸarılı." #: src/socks.c:179 msgid "Request rejected or failed." msgstr "İstem baÅŸarısız ya da reddedildi." #: src/socks.c:182 msgid "Request rejected." msgstr "İstem reddedildi." #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" "İstem, istemci program ve identd'nin farklı kullanıcı kimlikleri " "belirtmesinden dolayı reddedildi." #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "Sunucu cevabı geçerli deÄŸil." #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "Muhtemelen bir SOCKS vekil servisi deÄŸil." #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "SOCKS Vekil Yetkilendirme Metodu: YETKİLENDİRMEYE GEREK YOK" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "SOCKS Vekil Yetkilendirme Metodu: KULLANICI ADI/PAROLA" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "BoÅŸ kullanıcı adı veya parola gönderilemez." #: src/socks.c:291 msgid "Bad user name or password." msgstr "Hatalı kullanıcı adı veya parolası." #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "SOCKS Vekil Yetkilendirme: BaÅŸarılı." #: src/socks.c:298 msgid "Server does not accept any method." msgstr "Sunucu hiç bir metodu kabul etmiyor." #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "Sunucu bir yetkilendirme metodu kabul etmiyor." #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "Genel SOCKS sunucu hatası." #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "Bir kural kümesi baÄŸlantıya izin vermiyor." #: src/socks.c:404 msgid "Network unreachable." msgstr "AÄŸa eriÅŸilemiyor." #: src/socks.c:407 msgid "Host unreachable." msgstr "Sunucuya eriÅŸilemiyor." #: src/socks.c:410 msgid "Connection refused." msgstr "BaÄŸlantı reddedildi." #: src/socks.c:413 msgid "TTL expired." msgstr "TTL müddeti doldu." #: src/socks.c:416 msgid "Command not supported." msgstr "Komut desteklenmiyor." #: src/socks.c:419 msgid "Address type not supported." msgstr "Adres türü desteklenmiyor." #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "Sinyal Yakalandı. Düzgün olarak çıkılıyor..." #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "Zamanaşımı! Çıkılıyor..." #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "`%s'dosyası durumlanamadı" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "`%s' dosyası zaten okunmuÅŸ.\n" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "Kullanıcı %s, hoÅŸgeldiniz!" #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "Sistem ayar dosyası %s okunuyor..." #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "Kullanıcı ayar dosyası %s okunuyor..." #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "`logfile' yönergesi ana ayar dosyasında dikkate alınmadı" #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "Böyle bir bölüm yok: %s" #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" "Ayar dosyasında fazla karakter: \\%03o. Büyük ihtimalle dizge etrafında " "tırnak eksik" #: src/rcfile.l:385 msgid "Anubis RC file error" msgstr "Anubis RC dosya hatası" #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "%s bölümü daha önce tanımlanmış" #: src/rcfile.y:229 #, c-format msgid "unknown keyword: %s" msgstr "bilinmeyen anahtar sözcük: %s" #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "" #: src/rcfile.y:567 msgid "missing replacement value" msgstr "eksik deÄŸiÅŸim deÄŸeri" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "Geçerli bir hata ayıklama seviyesi deÄŸil: %s" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "Bilinmeyen düzenli ifade deÄŸiÅŸtiricisi" #: src/rcfile.y:1314 msgid "STOP" msgstr "DUR" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "%s çaÄŸrılıyor" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "EKLE %s [%s] %s" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "DEĞİŞTİR %s [%s] [%s] %s" #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "BAÅžLIÄžI KALDIR [%s]" #: src/rcfile.y:1371 #, c-format msgid "Executing %s" msgstr "%s çalıştırılıyor" #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "Tetik \"%s\" eÅŸlendi" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "Åžart %s[%s] \"%s\" eÅŸlendi" #: src/rcfile.y:1604 #, c-format msgid "Section %s" msgstr "Bölüm %s" #: src/rcfile.y:1628 #, c-format msgid "Unknown section: %s" msgstr "Bilinmeyen bölüm: %s" #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "bu bölümde yazılım yer alamaz" #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "İÇ HATA %s:%d: eksik veya hatalı düzenli ifade" #: src/regex.c:328 #, c-format msgid "regcomp() failed at %s: %s." msgstr "regcomp(), %s'de hata verdi: %s." #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "pcre_compile() %d görecesinde hata verdi: %s." #: src/regex.c:429 #, c-format msgid "pcre_fullinfo() failed: %d." msgstr "pcre_fullinfo() baÅŸarısız: %d." #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "EÅŸleÅŸti, fakat altdizge sayısı çok fazla." #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "Altdizge %d'yi alma baÅŸarısız (%d)." #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "MTA ile TLS/SSL baÄŸlantısı kuruluyor..." #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "`%s' okunurken TLS hatası: %s" #: src/tls.c:198 #, c-format msgid "TLS/SSL handshake failed: %s" msgstr "TLS/SSL elsıkışması baÅŸarısız: %s" #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "MUA ile TLS/SSL baÄŸlantısı baÅŸlatılıyor..." #: src/tls.c:280 msgid "TLS/SSL handshake failed!" msgstr "TLS/SSL elsıkışması baÅŸarısız!" #: src/tls.c:301 msgid "No certificate was sent." msgstr "Sertifika gönderilmedi." #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "Sertifikaya güvenilmedi." #: src/tls.c:311 msgid "The certificate has expired." msgstr "Sertifikanın süresi dolmuÅŸ." #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "Sertifika henüz etkinleÅŸtirilmemiÅŸ." #: src/tls.c:326 msgid "No certificate was found!" msgstr "Sertifika bulunamadı!" #: src/tls.c:331 msgid "The certificate is trusted." msgstr "Sertifikaya güvenildi." #: src/tls.c:361 #, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "- Anonim DH %d bit asal sayısı kullanıyor.\n" #: src/tls.c:370 #, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "- Geçici DH %d bit asal sayısı kullanıyor.\n" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "- Protokol: %s\n" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "- Sertifika Türü: %s\n" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "- Sıkıştırma: %s\n" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "- Åžifre: %s\n" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "- MAC: %s\n" #: src/tls.c:423 #, c-format msgid "- Certificate info:\n" msgstr "- Sertifika bilgisi:\n" #: src/tls.c:427 #, c-format msgid "- Certificate is valid since: %s" msgstr "- Sertifika %s tarihinden beri geçerli" #: src/tls.c:429 #, c-format msgid "- Certificate expires: %s" msgstr "- Sertifikanın müddeti %s tarihinde doluyor" #: src/tls.c:434 #, c-format msgid "- Certificate fingerprint: " msgstr "- Sertifika parmakizi: " #: src/tls.c:444 #, c-format msgid "- Certificate serial number: " msgstr "- Sertifika seri no'su: " #: src/tls.c:453 #, c-format msgid "- Certificate public key: " msgstr "- Sertifika genel anahtarı: " #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "RSA\n" #: src/tls.c:457 #, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] "- Modülo: %d bit\n" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "DSA\n" #: src/tls.c:463 #, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] "- Üs: %d bit\n" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "BİLİNMEYEN\n" #: src/tls.c:469 #, c-format msgid "- Certificate version: #%d\n" msgstr "- Sertifika sürümü: #%d\n" #: src/tls.c:476 #, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr "- Sertifika Verenin DN'i: %s\n" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 #, fuzzy msgid "Transferring messages..." msgstr "İleti(ler) aktaralıyor..." #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "SMTP oturumu baÅŸlatılıyor..." #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "TLS/SSL ÅŸifrelemesi kullanılıyor..." #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "UYARI: %s" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "STARTTLS komutu baÅŸarısız." #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "" "Yalnızca Anubis ve uzak MTA arasında TLS/SSL ÅŸifrelemesi kullanılıyor..." #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "STARTTLS (ONEWAY) komutu baÅŸarısız." #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: `%s' seçeneÄŸi belirsiz\n" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: `--%s' seçeneÄŸi argüman almaz\n" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: `%c%s' seçeneÄŸi argüman almaz\n" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: `%s' seçeneÄŸi için bir argüman gereklidir\n" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: bilinmeyen seçenek `--%s'\n" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: bilinmeyen seçenek `%c%s'\n" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: geçersiz seçenek -- %c\n" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: hatalı seçenek -- %c\n" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: seçenek bir argüman gerektirir -- %c\n" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: `-W %s' seçeneÄŸi belirsiz\n" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: `-W %s' seçeneÄŸi argüman almaz\n" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "bellek tükendi" #~ msgid "MTA has not been specified. Set either REMOTE-MTA or LOCAL-MTA." #~ msgstr "MTA belirtilmemiÅŸ. REMOTE-MTA veya LOCAL-MTA'yı belirtin." #~ msgid "Loop not allowed. Connection rejected." #~ msgstr "Çevrime izin yok. BaÄŸlantı reddedildi." #~ msgid "Try '%s --help' for more information." #~ msgstr "Daha fazla bilgi için '%s --help' yazın." #~ msgid "" #~ "\n" #~ "GNU Anubis is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2 of the License, or\n" #~ "(at your option) any later version." #~ msgstr "" #~ "\n" #~ "GNU Anubis bir serbest yazılımdır; Free Software Foundation tarafından\n" #~ "yayınlanan GNU Genel Kamu Lisansı'nın 2. veya (sizin tercihinize baÄŸlı\n" #~ "olarak) daha sonraki bir sürümü altında yeniden dağıtabilir ve/veya\n" #~ "deÄŸiÅŸtirebilirsiniz." #~ msgid "" #~ "\n" #~ "GNU Anubis is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details." #~ msgstr "" #~ "\n" #~ "GNU Anubis faydalı olacağı umularak dağıtılmaktadır, fakat\n" #~ "HİÇ BİR GARANTİSİ YOKTUR; SATILABİLİRLİĞİ veya\n" #~ "HERHANGİ BİR AMACA UYGUNLUÄžU için dahi zımni bir garanti\n" #~ "içermez. Daha fazla bilgi için GNU Genel Kamu Lisansı'na bakın." #~ msgid "" #~ "\n" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with GNU Anubis; if not, write to the Free Software\n" #~ "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA" #~ msgstr "" #~ "\n" #~ "Bu yazılımla birlikte GNU Genel Kamu Lisansı'nın bir kopyası gelmiÅŸ\n" #~ "olmalıdır; eÄŸer yok ise, lütfen Free Software Foundation, Inc., 59 " #~ "Temple\n" #~ "Place - Suite 330, Boston, MA 02111-1307, USA/ABD adresine yazın." #~ msgid "" #~ "\n" #~ "GNU Anubis is released under the GPL with the additional exemption that\n" #~ "compiling, linking, and/or using OpenSSL is allowed.\n" #~ msgstr "" #~ "\n" #~ "GNU Anubis, OpenSSL'i kullanmak, derlemek ve baÄŸlamak özel ek izni ile\n" #~ "birlikte GPL altında lisanslanmaktadır.\n" #~ msgid "Usage: anubis [options]\n" #~ msgstr "Kullanım: anubis [seçenekler]\n" #~ msgid " -m, --mode=MODE Select operation mode." #~ msgstr " -m, --mode=KİP Çalışma kipini seçer." #~ msgid "" #~ " MODE is either \"transparent\" or \"auth\"" #~ msgstr "" #~ " KİP ya \"transparent\" - ÅŸeffaf veya\n" #~ " \"auth\" - yetkili olabilir" #~ msgid " -f, --foreground Foreground mode." #~ msgstr " -f, --foreground Önplanda çalışma kipi." #~ msgid " -s, --silent Work silently." #~ msgstr " -s, --silent Sessiz çalışır." #~ msgid " -v, --verbose Work noisily." #~ msgstr " -v, --verbose Bilgi vererek çalışır." #~ msgid " -D, --debug Debug mode." #~ msgstr " -D, --debug Hata ayıklama kipi." #~ msgid " --norc Ignore system configuration file." #~ msgstr " --norc Sistem ayar dosyasını dikkate almaz." #~ msgid " --version Print version number and copyright." #~ msgstr "" #~ " --version Sürüm numarasını ve telif hakkını gösterir." #~ msgid " --help It's obvious..." #~ msgstr " --help Yardım..." #~ msgid "malloc() failed. Cannot allocate enough memory." #~ msgstr "malloc() baÅŸarısız. Yeterli bellek ayrılamadı." #~ msgid "realloc() failed. Cannot reallocate enough memory." #~ msgstr "realloc() baÅŸarısız. Yeterli bellek ayrılamadı." #~ msgid "INTERNAL ERROR (get_response_smtp): buffer exhausted. Please report." #~ msgstr "İÇ HATA (get_response_smtp): arabellek tükendi. Lütfen bildirin." #~ msgid "Seeding random number generator..." #~ msgstr "Rastgele sayı üretici baÅŸlatılıyor..." #~ msgid "Unable to seed random number generator." #~ msgstr "Rastgele sayı üretici baÅŸlatılamadı." #~ msgid "Write error: %s" #~ msgstr "Yazma hatası: %s" #~ msgid "Read error: %s" #~ msgstr "Okuma hatası: %s" #~ msgid "SSLv23_client_method() failed." #~ msgstr "SSLv23_client_method() baÅŸarısız." #~ msgid "Can't create SSL_CTX object." #~ msgstr "SSL_CTX nesnesi oluÅŸturulamadı." #~ msgid "SSL_CTX_set_cipher_list() failed." #~ msgstr "SSL_CTX_set_cipher_list() baÅŸarısız." #~ msgid "Can't create a new SSL structure for a connection." #~ msgstr "BaÄŸlantı için yeni bir SSL yapısı oluÅŸturulamadı." #~ msgid "SSLv23_server_method() failed." #~ msgstr "SSLv23_server_method() baÅŸarısız." #~ msgid "SSL_CTX_use_certificate_file() failed." #~ msgstr "SSL_CTX_use_certificate_file() baÅŸarısız." #~ msgid "SSL_CTX_use_PrivateKey_file() failed." #~ msgstr "SSL_CTX_use_PrivateKey_file() baÅŸarısız." #~ msgid "Private key does not match the certificate public key." #~ msgstr "Özel anahtar, sertifikanın genel anahtarı ile eÅŸleÅŸmiyor." #~ msgid "%s connection using %s (%u bit)" #~ msgid_plural "%s connection using %s (%u bits)" #~ msgstr[0] "%2$s kullanarak %1$s baÄŸlantısı (%3$u bit)" #~ msgid "Server public key is %d bit" #~ msgid_plural "Server public key is %d bits" #~ msgstr[0] "Sunucu genel anahtarı %d bit" #~ msgid "Certificate:" #~ msgstr "Sertifika:" #~ msgid "X509_NAME_oneline [subject] failed!" #~ msgstr "X509_NAME_oneline [konu] baÅŸarısız!" #~ msgid "Subject: %s" #~ msgstr "Konu: %s" #~ msgid "X509_NAME_oneline [issuer] failed!" #~ msgstr "X509_NAME_oneline [sertifika veren] baÅŸarısız!" #~ msgid "Issuer: %s" #~ msgstr "Sertifika Veren: %s" #~ msgid "Using ESMTP authentication mechanism CRAM-MD5..." #~ msgstr "ESMTP CRAM-MD5 yetkilendirmesi kullanılıyor..." #~ msgid "Server rejected the AUTH command." #~ msgstr "Sunucu AUTH komutunu reddetti." #~ msgid "Challenge decoded: %s\n" #~ msgstr "Sorgulama kodu çözüldü: %s\n" #~ msgid "ESMTP AUTH: %s." #~ msgstr "ESMTP AUTH: %s." #~ msgid "The %s section has been found. Processing..." #~ msgstr "%s bölümü bulundu. İşleniyor..." #~ msgid "IDENT: send() failed: %s." #~ msgstr "IDENT: send() baÅŸarısız: %s." #~ msgid "OK" #~ msgstr "Tamam" #~ msgid "ERROR" #~ msgstr "HATA" #~ msgid "Connection terminated." #~ msgstr "BaÄŸlantı sonlandırıldı." #~ msgid "Using the ESMTP CRAM-MD5 authentication..." #~ msgstr "ESMTP CRAM-MD5 yetkilendirmesi kullanılıyor..." #~ msgid "Built-in support for: " #~ msgstr "Desteklenenler: " #~ msgid "Initializing socket..." #~ msgstr "Soket baÅŸlatılıyor..." #~ msgid "Connecting to %s:%u..." #~ msgstr "%s:%u'ya baÄŸlanılıyor..." #~ msgid "(%ld)SERVER >>> %s" #~ msgstr "(%ld)SUNUCU >>> %s" #~ msgid "(%ld)CLIENT >>> %s" #~ msgstr "(%ld)İSTEMCİ >>> %s" #~ msgid "(%d)SERVER <<< %s" #~ msgstr "(%d)SUNUCU <<< %s" #~ msgid "(%d)CLIENT <<< %s" #~ msgstr "(%d)İSTEMCİ <<< %s" #~ msgid "Fatal fclose() error. %s." #~ msgstr "Ölümcül fclose() hatası. %s." #~ msgid "SSL_set_fd() failed." #~ msgstr "SSL_set_fd() baÅŸarısız." #~ msgid "Using the 'ONEWAY' TLS/SSL encryption..." #~ msgstr "Tekyönlü TLS/SSL ÅŸifrelemesi kullanılıyor..." #~ msgid "getpeername() failed: %s." #~ msgstr "getpeername() baÅŸarısız: %s." anubis-4.1.1+dfsg1/po/ms.gmo0000600000175000017500000005540111123150057013301 0ustar kbkbÞ•Œoü¸¹ÊÞï, Mg;„7Àø,,Y%w,-Ê ø&@Zz,šNÇ5Mgƒ ˜¹Ôò N/(~ §&²Ùé )B^s«Êé #.Mi †“²Î/è'T@N•)ä%8X$n“§Áß þ  & 01 b n t  Š¥ 0!=!M!a!u!z!!!²!Â!Ù!ó! ""(3"\".|"(«"*Ô")ÿ"&)#P#c#s#’#°#"Î#ñ# $( $I$[$s$*$'¸$à$÷$"%8%!O%q%1€% ²%+Ó%/ÿ%//&"_&‚&2š&Í&á& ÷&''4'sR'Æ'ä'!ù'(1(M(b(|(•(©(É(Û( â(ð()ÿ())+>)%j)#)>´)ó) **'!*%I*o*Š*ž*Tº*+)!+K+g+n+3Ž++Â+î+" ,.,!>,`,y, ~,‰,D¤,$é,\-:k-&¦-"Í-ð- .!.@9.+z.)¦.ŽÐ._/x/+/K¹/-030N0h0 …0 ’00@µ0ö01%31Y1u11‰1"»1%Þ12 22/2G2[2Wb2º2>Ï23 .3G:35‚3¸3 Ê3 ×3"å3 494N4^4 o4&}4 ¤4Å4å4û4 5505 @5N5h5x5‰5 5'º5â5&þ5%6A6[6'o6—6ª6Ã6Ü6ú67"757I7]7¸e79.9A9Q9d9)9«9!Ã9=å9:#:^:w:+”:À:"ß:+;,.;![;#};!¡;"Ã;"æ;6 <(@<i<ƒ<–<¯<Á<Ô<í<== +=9=(I=r= †=‘=¤=!´=Ö=&è=>,>A>Y>*m>*˜> Ã>)ä> ? ?$%?!J?"l??"¦?)É?!ó?7@=M@/‹@$»@3à@A+A?AZA.sA¢AµA ÒA$óAB*B/BOB._BŽBžB£B½BšÖBqCC”CªCÆCËCâCÿCD)DHD fD,qD&žD+ÅD0ñD*"E,ME-zE+¨EÔEæEöEF&4F [F"|FŸF)¾FèFG G19G'kG“G¬G.ÉGøG H /H5=HsH.ŒH)»H)åH#I3I1MII™I"µIØIÜI%õIpJŒJ¨J+½JéJûJK0KFK\K$wKœK¯K ·KÄK1ÕKL&L%BL#hLEŒLÒLæLøL%ýL'#M KMlM‚MY¡MûM%N5NQNYN3yN1­NßN ûNO-OMOdO mOxOM’OàO[PB\P!ŸP%ÁPçPQ)Q<;Q(xQ5¡Q‘×QiRR,œRdÉR,.S[SvSS§S ¹SÄS?ÞST8TPTmTT7˜T$ÐT%õTU+UCU[U{U —Ud£UVA$VfV †VM‘V2ßVW/WCW&YW €W3‹W¿WÎW ÞW0ëW*X-GXuXX X¯XÍX ÜXéXYY"Y6Y(OYxY*“Y¾YÛYóY+Z2ZDZ\ZtZ‘Z¨Z·ZÉZÜZúZÉžß¹®#g’ý¢Š¼íV½D ÒŸ 0ÕxE£o€Wšð¡e˜ò–Öê"ä”õ›Ë Z[wLJ )²œ¿Y rÂ(\,jÈá3÷6ùØÐ•ϱCü1]ñp_|&5™`:âcÎìã“%«Ô§× zøIökÜ=·?dû¬Nó‚¸åGy}úÁ  8‘Oï;KÝ…ç9aR»¶³é s/Ù¤‰nîfÞ„‹Ì@Ä.ÿÑMˆ†Í æôèÓF¾—騭ڎ~BJm$>+°bµÆX4 þÀvl'!u{-2THh^iq´tʪ¥à ÛQULŒP7Ń<ºA¦ëS¯*#1 bind() failed#1 socket() failed.#2 bind() failed#2 socket() failed.%s daemon startup succeeded.%s is not a regular file or a symbolic link.%s not a procedure object%s remapped to %s@localhost.%s: a temporary name server error occured. Try again later.%s: host name is valid but does not have an IP address.%s: illegal option -- %c %s: invalid option -- %c %s: option `%c%s' doesn't allow an argument %s: option `%s' is ambiguous %s: option `%s' requires an argument %s: option `--%s' doesn't allow an argument %s: option `-W %s' doesn't allow an argument %s: option `-W %s' is ambiguous %s: option requires an argument -- %c %s: unknown DNS error %d.%s: unrecognized option `%c%s' %s: unrecognized option `--%s' %s: unrecoverable name server error occured.- Anonymous DH using prime of %d bit. - Anonymous DH using prime of %d bits. - Certificate Issuer's DN: %s - Certificate Type: %s - Certificate expires: %s- Certificate fingerprint: - Certificate info: - Certificate is valid since: %s- Certificate public key: - Certificate serial number: - Certificate version: #%d - Cipher: %s - Compression: %s - Ephemeral DH using prime of %d bit. - Ephemeral DH using prime of %d bits. - Exponent: %d bit - Exponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protocol: %s --mode=mda requires --local-mtaADD %s [%s] %sAddress must be an IP, not a domain name.Address type not supported.Anubis RC file errorAuthentication failed: %d %sAuthentication successful.Bad car type in return from %sBad cdr type in return from %sBad return type from %sBad user name or password.CLIENTCalling %sCan't find out my own hostnameCannot create stream socketCannot create stream socket.Cannot fork.Cannot initialize libgsasl: %sCannot open database %s: %sCannot open pid file '%s'Cannot retrieve data from the SASL database: %sCannot send null user name or password.Child [%lu] finished. %s. %d client left.Child [%lu] finished. %s. %d clients left.Child process suspended for %lu secondChild process suspended for %lu secondsCommand HANG is not allowed for user `%s'Command not supported.Connected to %s:%uConnection closed successfully.Connection from %s:%uConnection not allowed by a ruleset.Connection refused.Could not write to socketCould not write to socket: %sCouldn't connect to %s:%u. %s.DEBUG-LEVELDSA Database not specifiedDebug modeDo not check user configuration file permissionsDumped coreEMAILESMTP AUTH is not supportedEntering XDB loop...Execute a local SMTP server, which works on standard input and output (inetd-type program); this option excludes the `--remote-mta' optionExecuting %sExecuting %s...Exited successfullyExiting XDB loop...FILEFailed with status %dFile `%s' has already been read. Foreground modeFound record for `%s'.GNU Anubis bound to %s:%uGNU Anubis is running...GPGME: %s.GPGME: Cannot list keys: %sGPGME: Invalid recipient encountered: %sGPGME: Invalid signer found: %sGPGME: Unexpected number of signatures createdGPGME: Wrong hash algorithm reported: %iGPGME: Wrong pubkey algorithm reported: %iGPGME: Wrong signature class reported: %uGPGME: Wrong type of signature createdGPGME: failed. %s.GSASL error: %sGSASL handshake aborted: %d %sGeneral SOCKS server failure.Get substring %d failed (%d).Getting remote host information...Give a short usage messageGive this help listGot empty list of authentication methodsHost unreachable.IDENT: connect() failedIDENT: connected to %s:%uIDENT: data probably encrypted with DES...IDENT: incorrect data (DES deciphered).IDENT: incorrect data.IDENT: recvline() failed: %s.IDENT: resolved remote user to %s.IDENT: socket() failedIDENT: stream_write() failed: %s.INTERNAL ERRORINTERNAL ERROR at %s:%d: missing or invalid regexIgnore system configuration fileIllegal address length received for host %sInitializing the TLS/SSL connection with MTA...Initializing the TLS/SSL connection with MUA...Install GPGME version %s or later.Invalid port number: %sInvalid regular expression (see the above message)Invalid user ID: %sInvalid user name: %sLocal program [%lu] finished. %sMODEMODIFY %s [%s] [%s] %sMalformed or unexpected replyMandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.Matched condition %s[%s] "%s"Matched trigger "%s"Matched, but too many substrings.Miscellaneous optionsMissing recipient addressesNetwork unreachable.No certificate was found!No certificate was sent.No such section: %sNot a valid debugging level: %sNot enough memoryOPTIONOther optionsOutput optionsPAM: Not authenticated to use GNU Anubis.PAM: Session closed.PAM: Session opened (restrictions applied).PAM: failed to release authenticator.Possibly not a SOCKS proxy service.Print a list of configuration options used to build GNU AnubisPrint program versionREMOVE HEADER [%s]RSA Reading system configuration file %s...Reading user configuration file %s...Record for `%s' not found.Report bugs to %s. Request rejected or failed.Request rejected, because the client program and identd reported different User-IDs.Request rejected.Run the configuration file syntax checkerSASL gsasl_client_start: %sSERVERSMTP message submission daemon.SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH method: USER NAME/PASSWORDSOCKS Proxy AUTH: succeeded.SOCKS Proxy Connection: succeeded.SOCKS proxy: %sSTARTTLS (ONEWAY) command failed.STARTTLS command failed.STOPSection %sSection %s already definedSelect operation mode; MODE is one of "transparent", "auth" or "mda"Selected authentication mechanism %sSelected authentication mechanism %s requires TLS encryption. Not using ESMTP authenticationServer did not offer any feasible authentication mechanismServer does not accept an AUTH method.Server does not accept any method.Server reply is not valid.Short writeSignal Caught. Exiting Cleanly...Specify a remote SMTP host name or IP address; the default is 25Specify alternate system configuration fileSpecify sender address (implies MDA mode)Specify the TCP port on which GNU Anubis listens for connections; the default HOST is INADDR_ANY, and default PORT is 24 (private mail system)Starting SMTP session...Stopped on signal %dStore the PID of the running daemon in FILEStray character in config: \%03o. Possibly missing quotes around the stringTCP wrappers: connection from %s:%u rejected.TLS error reading `%s': %sTLS/SSL handshake failed!TLS/SSL handshake failed: %sTTL expired.TerminatedTerminated on signal %dThe MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA.The certificate has expired.The certificate is not trusted.The certificate is not yet activated.The certificate is trusted.Timeout! Exiting...Too many clients. Connection from %s:%u rejected.Translation map: incorrect syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUNKNOWN Unknown host %s.Unknown mode: %sUnknown regexp modifierUnknown section: %sUsage:Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input and outputUsing SOCKS Proxy...Using TLS/SSL encryption between Anubis and remote MTA only...Using the TLS/SSL encryption...WARNING: %sWARNING: An unprivileged user cannot be resolved. Verify your settings!WARNING: An unprivileged user has not been specified!Welcome user %s !Work noisilyWork silentlyWrong permissions on %s. Set 0600.[HOST:]PORT`logfile' directive is ignored in main configuration fileaccept() failedargcv_get failedbind() failedcannot drop non-root setuid privilegescannot open guile output file %scannot set effective gid to %lucannot stat file `%s'connect() faileddaemon() faileddaemon: cannot forkexecvp() failedfork() failedgetsockname() failed: %s.listen() failedmemory exhaustedmissing procedure namemissing replacement valuepcre_compile() failed at offset %d: %s.pcre_fullinfo() failed: %d.program is not allowed in this sectionregcomp() failed at %s: %s.second setuid(%lu) failedsetegid(%lu) failedseteuid(0) succeeded when it should notsetgid(%lu) failedsetgroups(1, %lu) failedsetregid(%lu,%lu) failedsetresgid(%lu,%lu,%lu) failedsetreuid(%lu,-1) failedsetsid() failedsetuid(%lu) failedsocketpair() failedunknown keyword: %swarningProject-Id-Version: anubis 4.1 Report-Msgid-Bugs-To: bug-anubis@gnu.org POT-Creation-Date: 2008-12-20 11:59+0100 PO-Revision-Date: 2008-02-17 19:37+0800 Last-Translator: Sharuzzaman Ahmat Raslan Language-Team: Malay MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: KBabel 0.9.5 Plural-Forms: nplurals=1; plural=0; #1 bind() gagal#1 socket() gagal.#2 bind() gagal#2 socket() gagal.memulakan daemon %s berjaya.%s bukan fail biasa atau pautan simbolik.%s bukan objek prosedur%s dipetakan kepada %s@localhost.%s: ralat sementara pelayan nama berlaku. Cuba lagi kemudian.%s: nama hos adalah sah tetatpi tidak mempunyai alamat IP.%s: pilihan salah -- %c %s: pilihan tidak sah -- %c %s: pilihan %c%s' tidak membenarkan hujah %s: pilihan `%s' adalah kabur %s: pilihan `%s' memerlukan hujah %s: pilihan `--%s' tidak membenarkan hujah %s: pilihan `-W %s' tidak mengizinkan hujah %s: pilihan `-W %s' adalah kabur %s: pilihan memerlukan hujah -- %c %s: ralat DNS tidak diketahui %d.%s: pilihan tidak dikenali '%c%s' %s: pilihan tidak dikenali `--%s' %s: ralat pelayan nama tidak dapat dipulihkan berlaku.- DH anonymous menggunakan asas %d bit. - DN Pengeluar Sijil: %s - Jenis Sijil: %s - Sijil tamat tempoh: %s- Cap jari sijil:- Maklumat sijil: - Sijil sah semenjak: %s- Kunci awam sijil: - Nombor siri sijil:- Versi sijil: #%d - Cipher: %s - Mampatan: %s - Ephemeral DH menggunakan asas %d bit. - Eksponen: %d bit - MAC: %s - Modulus: %d bit - Protokol: %s --mode=mda memerlukan --local-mtaTAMBAH %s [%s] %sAlamat mestilah IP, bukan nama domain.Jenis alamat tidak disokong.Ralat fail RC AnubisPengesahan gagal: %d %sPengesahan berjaya.Jenis car tidak sah dalam pulangan dari %sJenis cdr tidak sah dalam pulangan dari %sJenis pulangan tidak sah dari %sNama pengguna atau kata laluan tidak sah.PELANGGANMemanggil %sTidak dapat mencari nama hos sendiriTidak dapat mencipta soket aliranTidak dapat mencipta soket aliran.Tidak dapat mencabang.Tidak dapat memulakan libgsasl: %sTidak dapat membuka pengkalan data %s: %sTidak dapat membuka fail pid '%s'Tidak dapat mengambil data dari pengkalan data SASL: %sTidak boleh menghantar nama pengguna atau kata laluan kosong.Child [%lu] selesai. %s. %d klien yang tinggal.Proses anak digantung untuk %lu saatArahan GANTUNG tidak dibenarkan untuk pengguna `%s'Arahan tidak disokong.Tersambung ke %s:%uSambungan berjaya ditutup.Sambungan daripada %s:%uSambungan tidak dibenarkan oleh set peraturan.Sambungan ditolak.Tidak dapat menulis ke soketTidak dapat menulis ke soket: %sTidak dapat menyambung ke %s:%u. %s.TAHAP-NYAHPEPIJATDSA Pengkalan data tidak dinyatakanMod nyahpepijatJangan periksa kebenaran fail tetapan penggunaTeras dilonggokEMELESMTP AUTH tidak disokongMemasuki gelungan XDB...Laksanakan pelayan SMTP tempatan, yang berkerja pada masukan dan keluaran piawai (program jenis-inetd); pilihan ini tidak termasuk pilihan '--remote-mta'.Melaksanakan %sMelaksanakan %s...Keluar dengan berjayaKeluar dari gelungan XDB...FAILGagal dengan status %dFail `%s' telah pun dibaca. Mod latardepanRekod dijumpai untuk `%s'.GNU Anubis terhad kepada %s:%uGNU Anubis sedang berjalan...GPGME: %s.GPGME: Tidak dapat menyenaraikan kekunci: %sGPGME: Penerima tidak sah dijumpai: %sGPGME: Penandatangan tidak sah dijumpai: %sGPGME: Jumlah tandatangan tidak dijangka diciptaGPGME: Algoritma hash salah dilaporkan: %iGPGME: Algoritma pubkey salah dilaporkan: %iGPGME: Kelas tandatangan salah dilaporkan: %uGPGME: Tandatangan jenis yang salah diciptaGPGME: gagal. %s.Ralat GSASL: %sSalaman GSASL dibatalkan: %d %sKegagalan umum pelayan SOCKS.Mendapatkan subrentetan %d gagal (%d).Mendapatkan maklumat hos jauh...Memberikan mesej pendek penggunaanMemberikan senarai bantuan iniMendapat senarai kosong kaedah pengesahanHos tidak dapat dicapai.IDENT: connect() gagalIDENT: disambungkan kepada %s:%uIDENT: data berkemungkinan dienkrip dengan DES...IDENT: data tidak betul (decipher DES).IDENT: data tidak betul.IDENT: recvline() gagal: %s.IDENT: resolved pengguna jarak jauh kepada %s.IDENT: socket() gagalIDENT: stream_write() gagal: %s.RALAT DALAMANRALAT DALAMAN pada %s:%d: regex hilang atau tidak sahAbai fail tetapan sistemPanjang alamat tidak sah diterima untuk hos %sMemulakan sambungan TLS/SSL dengan MTA...Memulakan sambungan TLS/SSL dengan MUA...Pasang GPGME versi %s atau terkini.Nombor port tidak sah: %sRegular expression tidak sah (lihat mesej diatas)ID pengguna tidak sah: %sNama pengguna tidak sah: %sProgram tempatan [%lu] selesai. %sMODUBAHSUAI %s [%s] [%s] %sJawapan tidak sah atau tidak dijangkaHujah wajib atau pilihan kepada pilihan panjang adalah juga wajib atau pilihan kepada pilihan pendek sepadannya.Syarat dipenuhi %s[%s] "%s"Trigger sepadan "%s"Sepadan, tetapi terlalu banyak subrentetan.Pilihan lain-lainAlamat penerima tiadaRangkaian tidak dapat dicapai.Tiada sijil dijumpai!Tiada sijil dihantar.Tiada seksyen sebegitu: %sBukan tahap nyahpepijat yang sah: %sTidak cukup memoriPILIHANPilihan lainPilihan keluaranPAM: Tidak disahkan untuk menggunakan GNU Anubis.PAM: Sessi ditutup.PAM: Sessi dibuka (sekatan digunakan).PAM: gagal untuk melepaskan pengesah.Mungkin bukan khidmat proksi SOCKS.Papar senarai pilihan tetapan yang digunakan untuk membina GNU AnubisCetak versi programBUANG HEADER [%s]RSA Membaca fail konfigurasi sistem %s...Membaca fail konfigurasi pengguna %s...Rekod untuk `%s' tidak dijumpai.Lapor pepijat ke %s. Permintaan ditolak atau gagal.Permintaan ditolak, kerana program pelanggan dan identd melaporkan perbezaan ID-Pengguna.Permintaan ditolak.Laksana penyemak sintaks fail tetapanSASL gsasl_client_start: %sPELAYANDaemon penghantaran mesej SMTP.Cara AUTH Proksi SOCKS: TIADA PENGESAHAN DIPERLUKANCara AUTH Proksi SOCKS: NAMA PENGGUNA/KATA LALUANAUTH Proksi SOCKS: berjaya.Sambungan Proksi SOCKS: berjaya.Proksi SOCKS: %sArahan STARTTLS (ONEWAY) gagal.Arahan STARTTLS gagal.BERHENTISeksyen %sSeksyen %s telah ditakrifPilih mod operasi; MOD ialah salah satu dari "transparent", "auth" atau "mda"Mekanisma pengesahan dipilih %sMekanisma pengesahan dipilih %s memerlukan enkripsi TLS. Tidak menggunakan pengesahan ESMTPPelayan tidak menawarkan sebarang kemungkinan mekanisma pengesahanPelayan tidak menerima cara AUTH.Pelayan tidak menerima sebarang cara.Jawapan pelayan tidak sah.Menulis pendekIsyarat Disambut. Keluar Dengan Bersih...Nyatakan nama hos jauh SMTP atau alamatIP; default adalah 25Nyatakan fail konfigurasi sistem gantianMenyatakan alamat penghantar (membawa maksud mod MDA)Nyatakan port TCP dimana GNU Anubis mendengar untuk sambungan; HOS default adalah INADDR_ANY, dan PORT default ialah 24 (sistem mel persendirian)Memulakan sessi SMTP...Dihentikan pada isyarat %dSimpan PID bagi daemon terlaksana dalam FAILAksara tidak sah dalam tetapan: \%03o. Kemungkinan hilang tanda pembuka kata pada keliling perkataanPembalut TCP: sambungann dari %s:%u ditolak.Ralat membaca TLS `%s': %sSalaman TLS/SSL gagal!Salaman TLS/SSL gagal: %sTTL tamat tempoh.DitamatkanDimatikan pada isyarat %dMTA telah tidak dinyatakan. Tetapkan REMOTE-MTA atau LOCAL-MTA.Sijil telah tamat tempoh.Sijil tidak dipercayai.Sijil belum lagi diaktifkan.Sijil dipercayai.Hadmasa Tamat! Keluar...Terlalu banyak klien. Sambungan daripada %s:%u ditolak.Peta terjemahan: sintaks tidak betulUID:%d (%s), GID:%d, EUID:%d, EGID:%dTDAK DIKETAHUI Hos tidak diketahui %s.Mod tidak diketahui: %sPengubah regexp tidak diketahuiSeksyen tidak diketahui: %sPenggunaan:Guna protokol SMTP (OMP/Tunnel) seperti diterangkan didalam RFC 821 pada masukan dan keluaran piawaiMenggunakan Proksi SOCKS...Menggunakan enkripsi TLS/SSL antara Anubis dan MTA jauh sahaja...Menggunakan enkripsi TLS/SSL...AMARAN: %sAMARAN: Pengguna tanpa kelebihan tidak dapat dihuraikan. Sahkan tetapan anda!AMARAN: Pengguna tanpa kelebihan tidak dinyatakan!Selamat Datang pengguna %s !Bekerja dengan riuhBekerja dengan senyapKeizinan salah pada %s. Tetapkan 0600.[HOS:]PORTarahan `logfile' diabaikan dalam fail tetapan utamaaccept() gagalargcv_get gagalbind() gagaltidak dapat membuang kelebihan setuid bukan roottidak dapat membuka file keluaran guile %stidak dapat menetapkan gid efektif kepada %luTidak dapat stat fail `%s'connect() gagaldaemon() gagaldaemon: tidak dapat mencabangexecvp() gagalfork() gagalgetsockname() gagal: %s.listen() gagalkehabisan memorinama prosedur tiadanilai penggantian hilangpcre_compile() gagal pada offset %d: %s.pcre_fullinfo() gagal: %d.program tidak dibenarkan dalam seksyen iniregcomp() gagal pada %s: %s.setuid(%lu) kedua gagalsetegid(%lu) gagalseteuid(0) berjaya apabila tidak sepatutnyasetgid(%lu) gagalsetgroups(1, %lu) gagalsetregid(%lu,%lu) gagalsetresgid(%lu,%lu,%lu) gagalsetreuid(%lu,-1) gagalsetsid() gagalsetuid(%lu) gagalsocketpair() gagalkatakunci tidak diketahui: %samarananubis-4.1.1+dfsg1/po/sv.po0000600000175000017500000007525411123150056013155 0ustar kbkb# Swedish translation of GNU Anubis. # Copyright (C) 2001-2007 The Anubis Team # This file is distributed under the same license as the anubis package. # Christer Andersson , 2008. # #: env.opt:43 msgid "" msgstr "" "Project-Id-Version: anubis 4.1\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: 2008-01-12 16:35+0100\n" "Last-Translator: Christer Andersson \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n==1 ? 0 : 1;\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "Påbörjar XDB-slinga..." #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "Avslutar XDB-slinga..." #: src/authmode.c:522 msgid "Database not specified" msgstr "Ingen databas angiven" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "Kan inte öppna databas %s: %s" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "Hittade post för \"%s\"." #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "Kan inte hämta data från SASL-databasen: %s" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "Post för \"%s\" hittades inte." #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "Anslutningen stängdes framgångsrikt." #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "PAM: Session avslutad." #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "PAM: misslyckades med att frigöra autentiserare." #: src/daemon.c:41 msgid "daemon() failed" msgstr "daemon() misslyckades" #: src/daemon.c:48 msgid "Cannot fork." msgstr "Kan inte grena." #: src/daemon.c:56 msgid "setsid() failed" msgstr "setsid() misslyckades" #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "start av %s-demon lyckades." #: src/daemon.c:80 #, c-format msgid "Exited successfully" msgstr "Lyckad avslutning" #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "Misslyckades med status %d" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "Avslutad av signal %d" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "Stoppad av signal %d" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "Minnesutskrift skapad" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "Avslutad" #: src/daemon.c:108 #, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "Barnprocess [%lu] avslutad. %s. %d klient kvar." msgstr[1] "Barnprocess [%lu] avslutad. %s. %d klienter kvar." #: src/daemon.c:120 #, c-format msgid "Local program [%lu] finished. %s" msgstr "Lokalt program [%lu] avslutat. %s" #: src/daemon.c:161 msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "" "VARNING: En opriviligierad användare kan inte bestämmas. Kontrollera dina " "inställningar!" #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "VARNING: En användare utan rättigheter har inte angivits!" #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "GNU Anubis är igång..." #: src/daemon.c:237 src/exec.c:80 msgid "accept() failed" msgstr "accept() misslyckades" #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "TCP-omslag: anslutning från %s:%u vägrades." #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "För många klienter. Anslutning från %s:%u vägrades." #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "Anslutning från %s:%u" #: src/daemon.c:287 msgid "daemon: cannot fork" msgstr "demon: kan inte grena" #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "MTA:n har inte angivits. Ange REMOTE-MTA:n eller LOCAL-MTA." #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "[VÄRD:]PORT" #: env.opt:45 msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" "Ange vilken TCP-port som GNU Anubis lyssnar på efter anslutningar; standard-" "VÄRD är INADDR_ANY, och standard-PORT är 24 (privat e-postsystem)" #: env.opt:54 msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "" "Ange ett värdnamn eller en IP-adress för fjärr-SMTP-server; standardvärdet " "är 25" #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "FIL" #: env.opt:62 msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" "Kör en lokal SMTP-server som jobbar på standard in och ut (program av inetd-" "typ); denna flagga utesluter \"--remote-mta\"-flaggan" #: env.opt:74 msgid "MODE" msgstr "LÄGE" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "Välj körläge; LÄGE är en av \"transparent\", \"auth\" eller \"mda\"" #: env.opt:81 msgid "Foreground mode" msgstr "Förgrundsläge" #: env.opt:87 msgid "EMAIL" msgstr "E-POST" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "Ange avsändaradress (medför MDA-läge)" #: env.opt:94 msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" "Använd SMTP-protokollet (OMP/Tunnel) som beskrivs i RFC 821 på standard in " "och ut" #: env.opt:98 msgid "Output options" msgstr "Utmatningsflaggor" #: env.opt:101 msgid "Work silently" msgstr "Arbeta tyst" #: env.opt:106 msgid "Work noisily" msgstr "Arbeta högljutt" #: env.opt:111 msgid "Debug mode" msgstr "Felsökningsläge" #: env.opt:115 msgid "Miscellaneous options" msgstr "Diverse flaggor" #: env.opt:119 msgid "Specify alternate system configuration file" msgstr "Ange alternativ systemkonfigurationsfil" #: env.opt:126 msgid "Ignore system configuration file" msgstr "Ignorera systemkonfigurationsfil" #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "FELSÖKNINGSNIVÅ" #: env.opt:132 msgid "Run the configuration file syntax checker" msgstr "Kör syntaktisk kontroll av konfigurationsfilen" #: env.opt:139 msgid "Print a list of configuration options used to build GNU Anubis" msgstr "" "Skriv ut en lista med konfigurationsflaggor som användes för att bygga GNU " "Anubis" #: env.opt:145 msgid "Do not check user configuration file permissions" msgstr "Kontrollera inte rättigheter på användarkonfigurationsfilen" #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "Lagra den körande demonens PID i FIL" #: env.opt:155 msgid "Other options" msgstr "Andra flaggor" #: env.opt:155 msgid "Give this help list" msgstr "Visa denna hjälplista" #: env.opt:155 msgid "Give a short usage message" msgstr "Visa ett kort användningsmeddelande" #: env.opt:155 msgid "Print program version" msgstr "Skriv ut programversion" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "SMTP meddelandesändningsdemon." #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "Användning:" #: env.opt:165 msgid "OPTION" msgstr "FLAGGA" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" "Obligatoriska eller valfria argument till långa flaggor är obligatoriska " "eller valfria också för motsvarande korta flaggor." # Kommentar: Strängargumentet har formen , även om det inte # är uppenbart utan att läsa koden. #: env.opt:293 #, c-format msgid "Report bugs to %s.\n" msgstr "" "Rapportera fel till %s.\n" "Skicka synpunkter på översättningen till .\n" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 msgid "argcv_get failed" msgstr "argcv_get misslyckades" #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "--mode=mda kräver --local-mta" #: env.opt:181 msgid "Missing recipient addresses" msgstr "Mottagardadress saknas" #: env.opt:256 #, c-format msgid "setgroups(1, %lu) failed" msgstr "setgroups(1, %lu) misslyckades" #: env.opt:266 #, c-format msgid "setegid(%lu) failed" msgstr "setegid(%lu) misslyckades" #: env.opt:269 #, c-format msgid "setregid(%lu,%lu) failed" msgstr "setregid(%lu,%lu) misslyckades" #: env.opt:273 #, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "setresgid(%lu,%lu,%lu) misslyckades" #: env.opt:282 #, c-format msgid "setgid(%lu) failed" msgstr "setgid(%lu) misslyckades" #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "kan inte sätta verksam gid till %lu" #: env.opt:307 #, c-format msgid "setreuid(%lu,-1) failed" msgstr "setreuid(%lu,-1) misslyckades" #: env.opt:313 #, c-format msgid "second setuid(%lu) failed" msgstr "andra seduid(%lu) misslyckades" #: env.opt:321 #, c-format msgid "setuid(%lu) failed" msgstr "setuid(%lu) misslyckades" #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "seteuid(0) lyckades när den inte borde" #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "kan inte släppa setuid-privilegier för icke-root" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "PAM: Session startad (restriktioner tillämpade)." #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "PAM: Ej autentiserad för att använda GNU Anubis." #: env.opt:377 src/main.c:152 #, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "UID:%d (%s), GID: %d, EUID:%d, EGID:%d" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "Ogiltigt användar-id: %s" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "Ogiltigt användarnamn: %s" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "Felaktiga rättigheter på %s. Sätt till 0600." #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "%s är inte en normal fil eller en symbolisk länk." #: env.opt:492 #, c-format msgid "Unknown mode: %s" msgstr "Okänt läge: %s" #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "Kan inte öppna pid-fil \"%s\"" #: src/errs.c:84 msgid "warning" msgstr "varning" #: src/errs.c:92 #, c-format msgid "Could not write to socket: %s" msgstr "Kunde inte skriva till uttag (socket): %s" #: src/errs.c:94 msgid "Could not write to socket" msgstr "Kunde inte skriva till uttag (socket)" #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "Okänd värd %s." #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "%s: värdnamnet är giltigt men har ingen IP-adress." #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "%s: oåterhämtbart namnserverfel inträffade." #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "%s: ett tillfälligt namnserverfel inträffade. Försök igen senare." #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "%s: okänt DNS-fel %d." #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "Felaktigt eller oväntat svar" #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "SASL gsasl_client_start: %s" #: src/esmtp.c:167 src/esmtp.c:186 #, c-format msgid "GSASL handshake aborted: %d %s" msgstr "GSASL-handskakning avbruten: %d %s" #: src/esmtp.c:198 #, c-format msgid "GSASL error: %s" msgstr "GSASL-fel: %s" #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "Autentisering misslyckades: %d %s" #: src/esmtp.c:215 msgid "Authentication successful." msgstr "Autentisering lyckades." #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "Fick tom lista med autentiseringsmetoder" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "Servern erbjöd ingen möjlig autentiseringsmekanism" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "INTERNT FEL" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" "Vald %s-autentiseringsmekanism kräver TLS-kryptering. Använder inte ESMTP-" "autentisering" #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "Valde %s-autentiseringsmekanism" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "Kan inte initiera libgsasl: %s" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "ESMTP AUTH stöds inte" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "#1 socket() misslyckades." #: src/exec.c:45 msgid "#2 socket() failed." msgstr "#2 socket() misslyckades." #: src/exec.c:55 msgid "#1 bind() failed" msgstr "#1 bind() misslyckades" #: src/exec.c:60 msgid "#2 bind() failed" msgstr "#2 bind() misslyckades" #: src/exec.c:65 src/net.c:233 msgid "listen() failed" msgstr "listen() misslyckades" #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "getsockname() misslyckades: %s." #: src/exec.c:75 msgid "connect() failed" msgstr "connect() misslyckades" #: src/exec.c:87 msgid "socketpair() failed" msgstr "socketpair() misslyckades" #: src/exec.c:108 #, c-format msgid "Executing %s..." msgstr "Kör %s..." #: src/exec.c:118 msgid "fork() failed" msgstr "fork() misslyckades" #: src/exec.c:132 msgid "execvp() failed" msgstr "execvp() misslyckades" #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "GPGME: %s." #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "Installera GPGME version %s eller senare." #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "GPGME: misslyckades. %s." #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "GPGME: Kan inte lista nycklar: %s" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "GPGME: Ogiltig mottagare påträffad: %s" #: src/gpg.c:320 #, c-format msgid "GPGME: Invalid signer found: %s" msgstr "GPGME: Ogiltig signerare hittad: %s" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "GPGME: Oväntat antal signaturer skapade" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "GPGME: Fel signaturtyp skapad" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "GPGME: Felaktig öppen nyckelalgoritm rapporterad: %i" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "GPGME: Felaktig hashalgoritm rapporterad: %i" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "GPGME: Felaktig signaturklass rapporterad: %u" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "kan inte öppna guile-utdatafil %s" #: src/guile.c:259 msgid "missing procedure name" msgstr "procedurnamn saknas" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "%s är inte ett procedurobjekt" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "Ogiltig car-typ i retur från %s" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "Ogiltig cdr-typ i retur från %s" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "Ogiltig returtyp från %s" #: src/ident.c:101 msgid "IDENT: socket() failed" msgstr "IDENT: socket() misslyckades" #: src/ident.c:113 msgid "IDENT: connect() failed" msgstr "IDENT: connect() misslyckades" #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "IDENT: ansluten till %s:%u" #: src/ident.c:128 #, c-format msgid "IDENT: stream_write() failed: %s." msgstr "IDENT: stream_write() misslyckades: %s." #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "IDENT: recvline() misslyckades: %s." #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "IDENT: felaktig data." #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "IDENT: data är förmodligen krypterad med DES..." #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "IDENT: felaktig data (DES-avkrypterad)." #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "IDENT: bestämde fjärranvändare till %s." #: src/main.c:54 msgid "Not enough memory" msgstr "Inte tillräckligt med minne" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "%s ommappad till %s@localhost." #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "Översättningsavbildning: felaktig syntax." #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "Ogiltig adresslängd mottagen för värd %s" #: src/misc.c:120 #, c-format msgid "Invalid port number: %s" msgstr "Ogiltigt portnummer: %s" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "Kan inte ta reda på mitt eget värdnamn" #: src/net.c:46 msgid "SERVER" msgstr "SERVER" #: src/net.c:49 msgid "CLIENT" msgstr "KLIENT" #: src/net.c:127 msgid "Getting remote host information..." msgstr "Hämtar fjärrvärdsinformation..." #: src/net.c:164 msgid "Cannot create stream socket." msgstr "Kan inte skapa flödesuttag (stream socket)." #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "Kunde inte ansluta till %s:%u. %s." #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "Ansluten till %s:%u" #: src/net.c:196 msgid "Cannot create stream socket" msgstr "Kan inte skapa flödesuttag (stream socket)" #: src/net.c:229 msgid "bind() failed" msgstr "bind() misslyckades" #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "GNU Anubis bunden till %s:%u" #: src/net.c:257 msgid "Short write" msgstr "Ofullständig utskrift" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "Använder SOCKS-proxy..." #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "SOCKS-proxy: %s" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "Adress måste vara ett IP-nummer, inte ett domännamn." #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "SOCKS-proxyanslutning: lyckades." #: src/socks.c:179 msgid "Request rejected or failed." msgstr "Begäran vägrades eller misslyckades." #: src/socks.c:182 msgid "Request rejected." msgstr "Begäran vägrades." #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" "Begäran vägrades eftersom klientprogrammet och identd rapporterade olika " "användar-id." #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "Serversvar är ogiltigt." #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "Kanske inte en SOCKS-proxytjänst." #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "AUTH-metod för SOCKS-proxy: INGEN AUTENTISERING KRÄVS" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "SOCKS-proxy AUTH-metod: ANVÄNDARNAMN/LÖSENORD" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "Kan inte skicka tomt användarnamn eller lösenord." #: src/socks.c:291 msgid "Bad user name or password." msgstr "Ogiltigt användarnamn eller lösenord." #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "SOCKS-proxy AUTH: lyckades." #: src/socks.c:298 msgid "Server does not accept any method." msgstr "Servern accepterar inte någon metod." #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "Servern accepterar inte en AUTH-metod." #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "Allmänt SOCKS-serverfel." #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "En regeluppsättning tillåter inte anslutning." #: src/socks.c:404 msgid "Network unreachable." msgstr "Oåtkomligt nätverk." #: src/socks.c:407 msgid "Host unreachable." msgstr "Oåtkomlig värd." #: src/socks.c:410 msgid "Connection refused." msgstr "Anslutning vägrades." #: src/socks.c:413 msgid "TTL expired." msgstr "TTL har gått ut." #: src/socks.c:416 msgid "Command not supported." msgstr "Kommandot stöds inte." #: src/socks.c:419 msgid "Address type not supported." msgstr "Adresstyp stöds inte." #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "Signal fångad. Avslutar rent..." #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "Timeout! Avslutar..." #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "kan inte ta status på filen \"%s\"" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "Filen \"%s\" har redan lästs.\n" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "Välkommen användare %s !" #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "Läser systemkonfigurationsfil %s..." #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "Läser användarkonfigurationsfil %s..." #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "\"logfile\"-direktiv ignoreras i huvudkonfigurationsfil" #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "Barnprocess suspenderad i %lu sekund" msgstr[1] "Barnprocess suspenderad i %lu sekunder" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "HANG-kommando är inte tillåtet för användare \"%s\"" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "Inget sådan sektion: %s" #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" "Vilsekommet tecken i konfiguration: \\%03o. Möjligen saknas citationstecken " "kring strängen" #: src/rcfile.l:385 msgid "Anubis RC file error" msgstr "Fel i Anubis RC-fil" #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "Sektion %s redan definierad" #: src/rcfile.y:229 #, c-format msgid "unknown keyword: %s" msgstr "okänt nyckelord: %s" #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "Ogiltigt reguljärt uttryck (se ovanstående meddelande)" #: src/rcfile.y:567 msgid "missing replacement value" msgstr "ersättningsvärde saknas" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "Inte en giltig felsökningsnivå: %s" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "Okänd modifierare av reguljärt uttryck" #: src/rcfile.y:1314 msgid "STOP" msgstr "STOPP" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "Anropar %s" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "LÄGG TILL %s [%s] %s" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "MODIFIERA %s [%s] [%s] %s" # "HEADER" har inte översatts eftersom det förekommer som första # oöversatt argument i "ADD..."- och "MODIFY..."-meddelandena ovan. #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "TA BORT HEADER [%s]" #: src/rcfile.y:1371 #, c-format msgid "Executing %s" msgstr "Kör %s" #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "Matchade utlösare \"%s\"" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "Matchade villkor %s[%s] \"%s\"" #: src/rcfile.y:1604 #, c-format msgid "Section %s" msgstr "Sektion %s" #: src/rcfile.y:1628 #, c-format msgid "Unknown section: %s" msgstr "Okänd sektion: %s" #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "program är inte tillåtet i denna sektion" #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "INTERNT FEL vid %s:%d: reguljärt uttryck saknas eller är ogiltigt" #: src/regex.c:328 #, c-format msgid "regcomp() failed at %s: %s." msgstr "regcomp() misslyckades vid %s: %s." #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "pcre_compile() misslyckades vid förskjutning %d: %s." #: src/regex.c:429 #, c-format msgid "pcre_fullinfo() failed: %d." msgstr "pcre_fullinfo() misslyckades: %d." #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "Matchat, men för många delsträngar." #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "Hämta delsträng %d misslyckades (%d)." #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "Initierar TLS/SSL-anslutningen med MTA..." #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "TLS-fel vid läsning av \"%s\": %s" #: src/tls.c:198 #, c-format msgid "TLS/SSL handshake failed: %s" msgstr "TLS/SSL-handskakning misslyckades: %s" #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "Initierar TLS/SSL-anslutningen med MUA..." #: src/tls.c:280 msgid "TLS/SSL handshake failed!" msgstr "TLS/SSL-handskakning misslyckades!" #: src/tls.c:301 msgid "No certificate was sent." msgstr "Inget certifikat skickades." #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "Certifikatet är ej betrott." #: src/tls.c:311 msgid "The certificate has expired." msgstr "Certifikatet har gått ut." #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "Certifikatet har inte aktiverats än." #: src/tls.c:326 msgid "No certificate was found!" msgstr "Inget certifikat hittades!" #: src/tls.c:331 msgid "The certificate is trusted." msgstr "Certifikatet är betrott." #: src/tls.c:361 #, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "- Anonym DH använder %d-bit primtal.\n" msgstr[1] "- Anonym DH använder %d-bitars primtal.\n" #: src/tls.c:370 #, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "- Kortlivad DH använder %d-bit primtal.\n" msgstr[1] "- Kortlivad DH använder %d-bitars primtal.\n" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "- Protokoll: %s\n" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "- Certifikattyp: %s\n" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "- Komprimering: %s\n" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "- Kryptering: %s\n" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "- MAC: %s\n" #: src/tls.c:423 #, c-format msgid "- Certificate info:\n" msgstr "- Certifikatinformation:\n" #: src/tls.c:427 #, c-format msgid "- Certificate is valid since: %s" msgstr "- Certifikatet är giltigt sedan: %s" #: src/tls.c:429 #, c-format msgid "- Certificate expires: %s" msgstr "- Certifikatet går ut: %s" #: src/tls.c:434 #, c-format msgid "- Certificate fingerprint: " msgstr "- Certifikatets fingeravtryck: " #: src/tls.c:444 #, c-format msgid "- Certificate serial number: " msgstr "- Certifikatets serienummer: " #: src/tls.c:453 #, c-format msgid "- Certificate public key: " msgstr "- Certifikatets öppna nyckel: " #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "RSA\n" #: src/tls.c:457 #, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] "- Modul: %d bit\n" msgstr[1] "- Modul: %d bitar\n" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "DSA\n" #: src/tls.c:463 #, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] "- Exponent: %d bit\n" msgstr[1] "- Exponent: %d bitar\n" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "OKÄND\n" #: src/tls.c:469 #, c-format msgid "- Certificate version: #%d\n" msgstr "- Certifikatversion: #%d\n" #: src/tls.c:476 #, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr "- Certifikatutgivarens DN: %s\n" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 #, fuzzy msgid "Transferring messages..." msgstr "Överför meddelande(n)..." #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "Påbörjar SMTP-session...." #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "Använder TLS/SSL-krypteringen..." #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "VARNING: %s" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "STARTTLS-kommando misslyckades." #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "Använder TLS/SSL-kryptering enbart mellan Anubis och fjärr-MTA..." #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "STARTTLS (ONEWAY)-kommando misslyckades." #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: flaggan \"%s\" är tvetydig\n" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: flaggan \"--%s\" tar inget argument\n" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: flaggan \"%c%s\" tar inget argument\n" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: flaggan \"%s\" kräver ett argument\n" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: okänd flagga \"--%s\"\n" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: okänd flagga \"%c%s\"\n" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: otillåten flagga -- %c\n" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: ogiltig flagga -- %c\n" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: flaggan kräver ett argument -- %c\n" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: flaggan \"-W %s\" är tvetydig\n" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: flaggan \"-W %s\" tar inget argument\n" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "minnet slut" #~ msgid "MTA has not been specified. Set either REMOTE-MTA or LOCAL-MTA." #~ msgstr "MTA har inte angivits. Ange antingen REMOTE-MTA eller LOCAL-MTA." #~ msgid "Loop not allowed. Connection rejected." #~ msgstr "Slinga ej tillåten. Anslutning vägrades." anubis-4.1.1+dfsg1/po/ru.po0000600000175000017500000013514211123150056013144 0ustar kbkb# Russian messages for GNU Anubis # Copyright (C) 2008 Free Software Foundation, Inc. # Sergey Poznyakoff , 2003, 2004, 2008 # # #: env.opt:43 msgid "" msgstr "" "Project-Id-Version: anubis 4.1\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: 2008-02-21 21:17+0200\n" "Last-Translator: Sergey Poznyakoff \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "Ðачало цикла XDB..." #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "Завершение цикла XDB..." #: src/authmode.c:522 msgid "Database not specified" msgstr "Ðе указана база данных" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "Ðевозможно открыть базу данных %s: %s" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "Ðайдена запиÑÑŒ Ð´Ð»Ñ %sÑŽ" #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "Ðевозможно получить данные из базы данных SASL: %s" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "ЗапиÑÑŒ Ð´Ð»Ñ %s не найдена" #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "Соединение уÑпешно закрыто." #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "PAM: СеÑÑÐ¸Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð°." #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "PAM: ошибка оÑÐ²Ð¾Ð±Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… авторизации." #: src/daemon.c:41 msgid "daemon() failed" msgstr "ошибка daemon()" #: src/daemon.c:48 msgid "Cannot fork." msgstr "Ошибка fork()" #: src/daemon.c:56 msgid "setsid() failed" msgstr "setsid() не удалÑÑ" #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "ЗапуÑк демона %s прошел уÑпешно." #: src/daemon.c:80 #, c-format msgid "Exited successfully" msgstr "Соединение уÑпешно закрыто" #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "Завершён Ñо ÑтатуÑом %d" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "Завершён по Ñигналу %d" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "ОÑтановлен Ñигналом %d" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "СброÑил образ памÑти" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "Завершён" #: src/daemon.c:108 #, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "Дочерний процеÑÑ [%lu] завершилÑÑ. %s. ОÑталÑÑ %d клиент." msgstr[1] "Дочерний процеÑÑ [%lu] завершилÑÑ. %s. ОÑталоÑÑŒ %d клиента." msgstr[2] "Дочерний процеÑÑ [%lu] завершилÑÑ. %s. ОÑталоÑÑŒ %d клиентов." #: src/daemon.c:120 #, c-format msgid "Local program [%lu] finished. %s" msgstr "Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° [%lu] завершена. %s" #: src/daemon.c:161 msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "ПРЕДУПРЕЖДЕÐИЕ: Ðе указан непривилегированный пользователь!" #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "ПРЕДУПРЕЖДЕÐИЕ: Ðе указан непривилегированный пользователь!" #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "GNU Anubis запущен..." #: src/daemon.c:237 src/exec.c:80 msgid "accept() failed" msgstr "accept() не удалÑÑ" #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "фильтр TCP: отказано в подÑоединении от %s:%u." #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "Слишком много клиентов. Отказано в подÑоединении от %s:%u." #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "Соединение от %s:%u." #: src/daemon.c:287 msgid "daemon: cannot fork" msgstr "демон: ошибка fork()" #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "MTA не указан. УÑтановите REMOTE-MTA или LOCAL-MTA." #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "[ХОСТ]:ПОРТ" #: env.opt:45 msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" "Указать порт TCP Ð´Ð»Ñ Ð¾Ð±ÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Anubis-ом; gо умолчанию ÐДРЕC=INADDR_ANY, " "ПОРТ=24 (чаÑÑ‚Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð¾Ð²Ð°Ñ ÑиÑтема)." #: env.opt:54 msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "Указать Ð¸Ð¼Ñ Ð¸Ð»Ð¸ IP-Ð°Ð´Ñ€ÐµÑ ÑƒÐ´Ð°Ð»ÐµÐ½Ð½Ð¾Ð³Ð¾ SMTP; по умолчанию ПОРТ=25." #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "ФÐЙЛ" #: env.opt:62 msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" "ИÑпользовать локальный SMTP Ñервер, работающий на Ñтандартном входе/выходе " "(программа типа inetd); Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð½ÐµÑовмеÑтима Ñ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹ '--remote-mta'" #: env.opt:74 msgid "MODE" msgstr "РЕЖИМ" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "Выбор режима работы: transparent, auth или mda" #: env.opt:81 msgid "Foreground mode" msgstr "ОÑтатьÑÑ Ð½Ð° переднем плане" #: env.opt:87 msgid "EMAIL" msgstr "ЕМÐЙЛ" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "Определить Ñ„Ð´Ñ€ÐµÑ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÐµÐ»Ñ (включает режим MDA)" #: env.opt:94 msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" "ИÑпользовать протокол SMTP (OMP/Tunnel), опиÑанный в RFC 821, на Ñтандартном " "входе и выходе." #: env.opt:98 msgid "Output options" msgstr "Управление выводом" #: env.opt:101 msgid "Work silently" msgstr "Ðе выдавать диагноÑтики" #: env.opt:106 msgid "Work noisily" msgstr "Выдавать подробную диагноÑтику" #: env.opt:111 msgid "Debug mode" msgstr "Режим отладки" #: env.opt:115 msgid "Miscellaneous options" msgstr "Дополнительные опции" #: env.opt:119 msgid "Specify alternate system configuration file" msgstr "Читать конфигурацию из ФÐЙЛÐ" #: env.opt:126 msgid "Ignore system configuration file" msgstr "Игнорировать ÑиÑтемный файл конфигурации" #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "УРОВЕÐЬ" #: env.opt:132 msgid "Run the configuration file syntax checker" msgstr "ЗапуÑтить проверку ÑинтакÑиÑа конфигурационного файла." #: env.opt:139 msgid "Print a list of configuration options used to build GNU Anubis" msgstr "" "РаÑпечатать ÑпиÑок конфигурационных опций, иÑпользованных во Ð²Ñ€ÐµÐ¼Ñ Ñборки " "GNU Anubis." #: env.opt:145 msgid "Do not check user configuration file permissions" msgstr "Ðе проверÑть права доÑтупа на конфигурационный файл пользователÑ" #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "ЗапиÑать PID процеÑÑа в ФÐЙЛ" #: env.opt:155 msgid "Other options" msgstr "Другие опции" #: env.opt:155 msgid "Give this help list" msgstr "Выдать Ñту подÑказку" #: env.opt:155 msgid "Give a short usage message" msgstr "Выдать краткую подÑказку по иÑпользованию" #: env.opt:155 msgid "Print program version" msgstr "Ðапечатать номер верÑии программы" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "Демон отÑылки SMTP." #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "ИÑпользование:" #: env.opt:165 msgid "OPTION" msgstr "ОПЦИЯ" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" "ОбÑзательные или необÑзательные аргументы к длинным опциÑм оÑтаютÑÑ Ñ‚Ð°ÐºÐ¾Ð²Ñ‹Ð¼Ð¸ " "и к ÑоответÑтвующим коротким опциÑм." #: env.opt:293 #, c-format msgid "Report bugs to %s.\n" msgstr "Об ошибках Ñообщай по адреÑу %s.\n" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 msgid "argcv_get failed" msgstr "argcv_get() не удалÑÑ" #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "--mode=mda требует --local-mta" #: env.opt:181 msgid "Missing recipient addresses" msgstr "Ðе указан Ð°Ð´Ñ€ÐµÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð°Ñ‚ÐµÐ»Ñ" #: env.opt:256 #, c-format msgid "setgroups(1, %lu) failed" msgstr "setgroups(1, %lu) не удалÑÑ" #: env.opt:266 #, c-format msgid "setegid(%lu) failed" msgstr "setegid(%lu) не удалÑÑ" #: env.opt:269 #, c-format msgid "setregid(%lu,%lu) failed" msgstr "setregid(%lu,%lu) не удалÑÑ" #: env.opt:273 #, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "setresgid(%lu,%lu,%lu) не удалÑÑ" #: env.opt:282 #, c-format msgid "setgid(%lu) failed" msgstr "setgid(%lu) не удалÑÑ" #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "невозможно уÑтановить Ñффективный gid %lu" #: env.opt:307 #, c-format msgid "setreuid(%lu,-1) failed" msgstr "setreuid(%lu,-1) не удалÑÑ" #: env.opt:313 #, c-format msgid "second setuid(%lu) failed" msgstr "повторный вызов setuid(%lu) не удалÑÑ" #: env.opt:321 #, c-format msgid "setuid(%lu) failed" msgstr "setuid(%lu) не удалÑÑ" #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "вызов seteuid(0) удалÑÑ, однако не должен был" #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "невозможно отказатьÑÑ Ð¾Ñ‚ привилегий setuid пользователÑ" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "PAM: СеÑÑÐ¸Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð° (наложены ограничениÑ)." #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "PAM: отказано в иÑпользовании GNU Anubis." #: env.opt:377 src/main.c:152 #, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "ÐеÑущеÑтвующий пользователь: %s" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "ÐедейÑтвительное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ: %s" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "Ошибочные привилегии Ð´Ð»Ñ %s. УÑтановите 0600." #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "%s не ÑвлÑетÑÑ Ð½Ð¸ обычным файлом, ни ÑимволичеÑкой ÑÑылкой." #: env.opt:492 #, c-format msgid "Unknown mode: %s" msgstr "ÐеизвеÑтный режим: %s." #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "Ðевозможно открыть файл `%s'" #: src/errs.c:84 msgid "warning" msgstr "предупреждение" #: src/errs.c:92 #, c-format msgid "Could not write to socket: %s" msgstr "Ðевозможно запиÑать в гнездо: %s" #: src/errs.c:94 msgid "Could not write to socket" msgstr "Ðевозможно запиÑать в гнездо" #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ ÑÑ‚Ð°Ð½Ñ†Ð¸Ñ %s." #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "%s: у Ñтанции дейÑтвительное название, но отÑутÑтвует IP-адреÑ." #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "%s: неиÑÐ¿Ñ€Ð°Ð²Ð¸Ð¼Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° Ñервера имен." #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "%s: Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° Ñервера имен. Повторите попытку позже." #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "%s: неизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° DNS %d." #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "Ðеправильно Ñформированный или неожиданный ответ" #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "SASL gsasl_client_start: %s" #: src/esmtp.c:167 src/esmtp.c:186 #, c-format msgid "GSASL handshake aborted: %d %s" msgstr "Обмен GSASL завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡ÐµÐ¹: %d %s" #: src/esmtp.c:198 #, c-format msgid "GSASL error: %s" msgstr "Ошибка GSASL: %s." #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "ÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð°: %d %s" #: src/esmtp.c:215 msgid "Authentication successful." msgstr "ÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ÑˆÐ»Ð° уÑпешно." #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "Получен пуÑтой ÑпиÑок методов авторизации" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "Сервер не предложил ни одного подходÑщего механизма авторизации" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "Ð’ÐУТРЕÐÐЯЯ ОШИБКÐ" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" "Выбранный механизм авторизации %s требует ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ TLS. ÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ ESMTP " "не иÑпользуетÑÑ. " #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "Выбран механизм авторизации %s" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "Ðевозможно инициализировать libgsasl: %s" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "ESMTP AUTH не поддерживаетÑÑ" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "ошибка socket() #1." #: src/exec.c:45 msgid "#2 socket() failed." msgstr "ошибка socket() #2." #: src/exec.c:55 msgid "#1 bind() failed" msgstr "ошибка bind() #1: %s" #: src/exec.c:60 msgid "#2 bind() failed" msgstr "ошибка bind() #2: %s" #: src/exec.c:65 src/net.c:233 msgid "listen() failed" msgstr "ошибка listen()" #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "ошибка getsockname(): %s." #: src/exec.c:75 msgid "connect() failed" msgstr "ошибка connect()" #: src/exec.c:87 msgid "socketpair() failed" msgstr "ошибка socketpair()" #: src/exec.c:108 #, c-format msgid "Executing %s..." msgstr "ИÑполнение %s..." #: src/exec.c:118 msgid "fork() failed" msgstr "ошибка fork()" #: src/exec.c:132 msgid "execvp() failed" msgstr "ошибка execvp()" #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "GPGME: %s." #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "УÑтановите GPGME верÑии %s или выше." #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "GPGME: неудача: %s." #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "GPGME: Ðевозможно раÑпечатать ключи: %s" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "GPGME: Обнаружен недейÑтвительный получатель: %s" # FIXME #: src/gpg.c:320 #, c-format msgid "GPGME: Invalid signer found: %s" msgstr "Обнаружен недейÑтвительный идентификатор пользователÑ: %s" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "GPGME: Создано неожиданное количеÑтво подпиÑей" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "GPGME: Создана подпиÑÑŒ недейÑтвительного типа" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "GPGME: Сообщён неверный алгоритм: %i" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "GPGME: Сообщён неверный алгоритм хешированиÑ: %i" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "GPGME: Сообщён неверный клаÑÑ Ð¿Ð¾Ð´Ð¿Ð¸Ñи: %u" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "невозможно открыть файл диагноÑтики Guile %s" #: src/guile.c:259 msgid "missing procedure name" msgstr "нет Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñ‹" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "%s -- не процедурный объект" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "Ðеверный тип Ñчейки car в возврате от %s" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "Ðеверный тип Ñчейки cdr в возврате от %s" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "Ðеверный тип данных возврата из %s" #: src/ident.c:101 msgid "IDENT: socket() failed" msgstr "IDENT: socket() не удалÑÑ" #: src/ident.c:113 msgid "IDENT: connect() failed" msgstr "IDENT: connect() не удалÑÑ" #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "IDENT: уÑтановлено Ñоединение Ñ %s:%u" #: src/ident.c:128 #, c-format msgid "IDENT: stream_write() failed: %s." msgstr "IDENT: stream_write() не удалÑÑ: %s." #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "IDENT: recvline() не удалÑÑ: %s." #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "IDENT: ошибочные данные." #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "IDENT: Данные, вероÑтно, зашифрованы поÑредÑтвом DES..." #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "IDENT: ошибочные данные (поÑле раÑшифровки DES)." #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "IDENT: удаленный пользователь определен как %s." #: src/main.c:54 msgid "Not enough memory" msgstr "ÐедоÑтаточно памÑти" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "%s принÑÑ‚ как %s@localhost." #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "Карта транÑлÑции: неверный ÑинтакÑиÑ." #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "Ð”Ð»Ñ Ñтанции %s получена недейÑÑ‚Ð²Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° адреÑа" #: src/misc.c:120 #, c-format msgid "Invalid port number: %s" msgstr "ÐедейÑтвительный номер порта: %s" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "невозможно определить название ÑобÑтвенной машины" #: src/net.c:46 msgid "SERVER" msgstr "СЕРВЕР" #: src/net.c:49 msgid "CLIENT" msgstr "КЛИЕÐТ" #: src/net.c:127 msgid "Getting remote host information..." msgstr "Получение информации об удаленной машине..." #: src/net.c:164 msgid "Cannot create stream socket." msgstr "Ðевозможно Ñоздать гнездо потока." #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "Ðевозможно ÑоединитьÑÑ Ñ %s:%u. %s." #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "УÑтановлено Ñоединение Ñ %s:%u" #: src/net.c:196 msgid "Cannot create stream socket" msgstr "Ðевозможно Ñоздать гнездо потока." #: src/net.c:229 msgid "bind() failed" msgstr "bind() не удалÑÑ" #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "GNU Anubis обÑлуживает %s:%u" #: src/net.c:257 msgid "Short write" msgstr "Ошибка запиÑи" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "ИÑпользуетÑÑ Ñервер SOCKS..." #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "Ñервер SOCKS: %s" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "ÐÐ´Ñ€ÐµÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ быть адреÑом IP, а не доменным именем." #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "УÑтановлено Ñоединение Ñ Ñервером SOCKS." #: src/socks.c:179 msgid "Request rejected or failed." msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ñ‚Ð²ÐµÑ€Ð³Ð½ÑƒÑ‚ или не Ñработал." #: src/socks.c:182 msgid "Request rejected." msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ñ‚Ð²ÐµÑ€Ð³Ð½ÑƒÑ‚." #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ñ‚Ð²ÐµÑ€Ð³Ð½ÑƒÑ‚, поÑкольку не Ñовпали идентификаторы, полученные от " "программы клиента и от identd." #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "ÐедейÑтвительный ответ Ñервера." #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "Видимо Ñто -- не Ñервер SOCKS." #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "ÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° Ñервере SOCKS: ÐВТОРИЗÐЦИЯ ÐЕ ТРЕБУЕТСЯ" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "ÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° Ñервере SOCKS: ИМЯ ПОЛЬЗОВÐТЕЛЯ/ПÐРОЛЬ" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "Ðевозможно отоÑлать пуÑтое Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ пароль." #: src/socks.c:291 msgid "Bad user name or password." msgstr "Ðеверное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ пароль." #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "ÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° Ñервере SOCKS уÑпешно завершена." #: src/socks.c:298 msgid "Server does not accept any method." msgstr "Сервер не принимает ни один метод авторизации." #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "Сервер не принимает метод AUTH." #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "ÐžÐ±Ñ‰Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° Ñервера SOCKS." #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "Соединение не разрешено набором правил." #: src/socks.c:404 msgid "Network unreachable." msgstr "ÐедоÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ñеть." #: src/socks.c:407 msgid "Host unreachable." msgstr "ÐедоÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð°." #: src/socks.c:410 msgid "Connection refused." msgstr "Отказ в Ñоединении." #: src/socks.c:413 msgid "TTL expired." msgstr "ИÑтекло Ð²Ñ€ÐµÐ¼Ñ Ð¶Ð¸Ð·Ð½Ð¸ запроÑа" #: src/socks.c:416 msgid "Command not supported." msgstr "Команда не поддерживаетÑÑ." #: src/socks.c:419 msgid "Address type not supported." msgstr "Тип адреÑа не поддерживаетÑÑ." #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "Получен Ñигнал. Ðормальное завершение работы..." #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¸Ñтекло. Завершение работы..." #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "ошибка stat: %s" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "Файл `%s' уже был загружен\n" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "Добро пожаловать, пользователь %s !" #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "Чтение ÑиÑтемного файла конфигурации %s..." #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "Чтение пользовательÑкого файла конфигурации %s..." #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "" "Директива `logfile' игнорируетÑÑ Ð¿Ñ€Ð¸ иÑпользовании в главном файле " "конфигурации" #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "Команда HANG не дозволена пользователю `%s'" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "Ðет такой Ñекции: %s" #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" "Ðеожиданный Ñимвол в файле конфигурации: \\%03o. Возможно отÑутÑтвуют " "кавычки вокруг Ñтроки Ñимволов." #: src/rcfile.l:385 msgid "Anubis RC file error" msgstr "Ошибка файла RC" #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "Ð¡ÐµÐºÑ†Ð¸Ñ %s уже определена." #: src/rcfile.y:229 #, c-format msgid "unknown keyword: %s" msgstr "неизвеÑтное ключевое Ñлово: %s." #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "ÐедейÑтвительное регулÑрное выражение (Ñм. предыдущее Ñообщение)" #: src/rcfile.y:567 msgid "missing replacement value" msgstr "нет Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð·Ð°Ð¼ÐµÐ½Ñ‹" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "ÐедейÑтвительный уровень отладки: %s" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "ÐеизвеÑтный модификатор Ð´Ð»Ñ Ñ€ÐµÐ³ÑƒÐ»Ñрного выражениÑ" #: src/rcfile.y:1314 msgid "STOP" msgstr "ОСТÐÐОВ" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "Вызов %s" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "ADD %s [%s] %s" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "MODIFY %s [%s] [%s] %s" #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "REMOVE HEADER [%s]" #: src/rcfile.y:1371 #, c-format msgid "Executing %s" msgstr "ИÑполнение %s" #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "Переключатель \"%s\" удовлетворил ключу" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "УÑловие %s[%s] \"%s\" выполнилоÑÑŒ" #: src/rcfile.y:1604 #, c-format msgid "Section %s" msgstr "Ð¡ÐµÐºÑ†Ð¸Ñ %s" #: src/rcfile.y:1628 #, c-format msgid "Unknown section: %s" msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ ÑекциÑ: %s." #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "иÑпользование программы в Ñтой Ñекции не разрешено." #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "" "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° возле %s:%d: неÑущеÑтвующее или неверное регулÑрное\n" "выражение" #: src/regex.c:328 #, c-format msgid "regcomp() failed at %s: %s." msgstr "regcomp() не удалÑÑ Ð²Ð¾Ð·Ð»Ðµ %s: %s" #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "ошибка pcre_compile() в Ñмещении %d: %s." #: src/regex.c:429 #, c-format msgid "pcre_fullinfo() failed: %d." msgstr "ошибка pcre_fullinfo(): %d." #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "СоответÑтвие найдено, но подÑтрок Ñлишком много." #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "Ðеудачный поиÑк подÑтроки %d (%d)." #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "УÑтановка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ MTA по протоколу TLS/SSL..." #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "Ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ TLS `%s': %s" #: src/tls.c:198 #, c-format msgid "TLS/SSL handshake failed: %s" msgstr "Обмен TLS/SSL завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡ÐµÐ¹: %s" #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "УÑтановка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ MUA по протоколу TLS/SSL..." #: src/tls.c:280 msgid "TLS/SSL handshake failed!" msgstr "Обмен TLS/SSL завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡ÐµÐ¹!" #: src/tls.c:301 msgid "No certificate was sent." msgstr "Ðе выÑлан Ñертификат." #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "Ðет Ð´Ð¾Ð²ÐµÑ€Ð¸Ñ Ñертификату." #: src/tls.c:311 msgid "The certificate has expired." msgstr "Срок дейÑÑ‚Ð²Ð¸Ñ Ñертификата иÑтек." #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "Сертификат не активирован." #: src/tls.c:326 msgid "No certificate was found!" msgstr "Сертификат не найден!" #: src/tls.c:331 msgid "The certificate is trusted." msgstr "Оказано доверие Ñертификату." #: src/tls.c:361 #, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "Ðнонимный DH иÑпользует проÑтые чиÑла по %d биту.\n" msgstr[1] "Ðнонимный DH иÑпользует проÑтые чиÑла по %d бита.\n" msgstr[2] "Ðнонимный DH иÑпользует проÑтые чиÑла по %d бит.\n" #: src/tls.c:370 #, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "Эфемеридный DH иÑпользует проÑтые чиÑла по %d биту.\n" msgstr[1] "Эфемеридный DH иÑпользует проÑтые чиÑла по %d бита.\n" msgstr[2] "Эфемеридный DH иÑпользует проÑтые чиÑла по %d бит.\n" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "- Протокол: %s\n" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "- Тип Ñертификата: %s\n" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "- Сжатие: %s\n" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "- Шифрование: %s\n" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "- MAC: %s\n" #: src/tls.c:423 #, c-format msgid "- Certificate info:\n" msgstr " - Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ Ñертификате:\n" #: src/tls.c:427 #, c-format msgid "- Certificate is valid since: %s" msgstr " - Сертификат дейÑтвителен Ñ: %s" #: src/tls.c:429 #, c-format msgid "- Certificate expires: %s" msgstr " - Срок дейÑÑ‚Ð²Ð¸Ñ Ñертификата иÑтекает: %s" #: src/tls.c:434 #, c-format msgid "- Certificate fingerprint: " msgstr " - Отпечаток Ñертификата: " #: src/tls.c:444 #, c-format msgid "- Certificate serial number: " msgstr " - Серийный номер Ñертификата: " #: src/tls.c:453 #, c-format msgid "- Certificate public key: " msgstr "Публичный ключ Ñертификата: " #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "RSA\n" #: src/tls.c:457 #, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] " Модуль: %d бит\n" msgstr[1] " Модуль: %d бита\n" msgstr[2] " Модуль: %d бит\n" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "DSA\n" #: src/tls.c:463 #, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] " ЭкÑпонента: %d бит\n" msgstr[1] " ЭкÑпонента: %d бита\n" msgstr[2] " ЭкÑпонента: %d бит\n" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "ÐЕИЗВЕСТЕÐ\n" #: src/tls.c:469 #, c-format msgid "- Certificate version: #%d\n" msgstr " - ВерÑÐ¸Ñ Ñертификата: #%d\n" #: src/tls.c:476 #, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr " - Сертификат выдан: %s\n" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 #, fuzzy msgid "Transferring messages..." msgstr "Передача Ñообщений..." #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "Ðачало ÑеÑÑии SMTP..." #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "ИÑпользуетÑÑ ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ по протоколу TLS/SSL..." #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "ПРЕДУПРЕЖДЕÐИЕ: %s" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "Команда STARTTLS не Ñработала." #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "" "ИÑпользуетÑÑ ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ по протоколу TLS/SSL только между anubis-ом и " "удалённым MTA..." #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "Команда STARTTLS (одноÑтороннÑÑ) не Ñработала." #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: Ð¾Ð¿Ñ†Ð¸Ñ `%s' неоднозначна\n" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: Ð¾Ð¿Ñ†Ð¸Ñ `--%s' не принимает аргументов\n" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: Ð¾Ð¿Ñ†Ð¸Ñ `%c%s' не принимает аргументов\n" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: Ð¾Ð¿Ñ†Ð¸Ñ `%s' требует аргумента\n" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: Ð½ÐµÐ¾Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ `--%s'\n" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: Ð½ÐµÐ¾Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ `%c%s'\n" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: недейÑÑ‚Ð²Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ -- %c\n" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ -- %c\n" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: Ð¾Ð¿Ñ†Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ аргумента -- %c\n" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: Ð¾Ð¿Ñ†Ð¸Ñ `-W %s' неоднозначна\n" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: Ð¾Ð¿Ñ†Ð¸Ñ `-W %s' не берет аргументов\n" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "памÑть иÑчерпана" #~ msgid "MTA has not been specified. Set either REMOTE-MTA or LOCAL-MTA." #~ msgstr "MTA не указан. УÑтановите REMOTE-MTA или LOCAL-MTA." #~ msgid "Loop not allowed. Connection rejected." #~ msgstr "Цикл не разрешен. Отказ в подÑоединении." #~ msgid "Try '%s --help' for more information." #~ msgstr "Попробуй '%s --help' Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации." #~ msgid "Using ESMTP authentication mechanism CRAM-MD5..." #~ msgstr "ИÑпользуетÑÑ Ñ‚Ð¸Ð¿ авторизации ESMTP CRAM-MD5..." #~ msgid "Server rejected the AUTH command." #~ msgstr "Сервер не принÑл команду AUTH." #~ msgid "Challenge decoded: %s\n" #~ msgstr "РаÑÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ñтрока вызова: %s\n" #~ msgid "ESMTP AUTH: %s." #~ msgstr "ESMTP AUTH: %s." #~ msgid "" #~ "\n" #~ "GNU Anubis is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2 of the License, or\n" #~ "(at your option) any later version." #~ msgstr "" #~ "\n" #~ "GNU Anubis раÑпроÑтранÑетÑÑ Ñвободно; Ð’Ñ‹ имеете право\n" #~ "раÑпроÑтранÑть и/или изменÑть Ñту программу, ÑÐ¾Ð±Ð»ÑŽÐ´Ð°Ñ ÑƒÑÐ»Ð¾Ð²Ð¸Ñ Ð’Ñеобщей\n" #~ "ОбщеÑтвенной Лицензии GNU, опубликованной Фондом Свободного\n" #~ "Программного ОбеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð² верÑии 2, либо (на Ваше уÑмотрение)\n" #~ "любой позднейшей верÑии." #~ msgid "" #~ "\n" #~ "GNU Anubis is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details." #~ msgstr "" #~ "\n" #~ "GNU Anubis раÑпроÑтранÑетÑÑ Ð² надежде на то, что он окажетÑÑ\n" #~ "полезным, однако без предоÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐšÐКИХ-ЛИБО ГÐРÐÐТИЙ, включаÑ\n" #~ "подразумеваемую гарантию КÐЧЕСТВРили ПРИГОДÐОСТИ ДЛЯ ОПРЕДЕЛЕÐÐЫХ\n" #~ "ЦЕЛЕЙ. Подробнее Ñм. текÑÑ‚ Ð’Ñеобщей ОбщеÑтвенной Лицензии GNU." #~ msgid "" #~ "\n" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with GNU Anubis; if not, write to the Free Software\n" #~ "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA" #~ msgstr "" #~ "\n" #~ "ВмеÑте Ñ Ñтой программой раÑпроÑтранÑетÑÑ ÑкземплÑÑ€ Ð’Ñеобщей\n" #~ "ОбщеÑтвенной Лицензии GNU. ЕÑли Ð’Ñ‹ его не получили, Ñообщите\n" #~ "об Ñтом по адреÑу Free Software Foundation, Inc.,\n" #~ "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgid "" #~ "\n" #~ "GNU Anubis is released under the GPL with the additional exemption that\n" #~ "compiling, linking, and/or using OpenSSL is allowed.\n" #~ msgstr "" #~ "\n" #~ "GNU Anubis раÑпроÑтранÑетÑÑ Ð½Ð° уÑловиÑÑ… GPL Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ оговоркой,\n" #~ "разрешающей его компилÑцию, линковку и/или иное иÑпользование вмеÑте Ñ\n" #~ "OpenSSL.\n" #~ msgid "Usage: anubis [options]\n" #~ msgstr "ИÑпользование: anubis [опции]\n" #~ msgid " -m, --mode=MODE Select operation mode." #~ msgstr " -m, --mode=РЕЖИМ Выбрать режим работы." #~ msgid "" #~ " MODE is either \"transparent\" or \"auth\"" #~ msgstr "" #~ " РЕЖИМ должен быть либо \"transparent\", " #~ "либо\n" #~ " \"auth\"" #~ msgid " -f, --foreground Foreground mode." #~ msgstr " -f, --foreground ОÑтатьÑÑ Ð½Ð° переднем плане." #~ msgid " -s, --silent Work silently." #~ msgstr " -s, --silent Ðе выдавать диагноÑтики." #~ msgid " -v, --verbose Work noisily." #~ msgstr " -v, --verbose Выдавать подробную диагноÑтику." #~ msgid " -D, --debug Debug mode." #~ msgstr " -D, --debug Режим отладки." #~ msgid " --norc Ignore system configuration file." #~ msgstr "" #~ " --norc Ðе обрабатывать ÑиÑтемный конфигурационный " #~ "файл." #~ msgid " --version Print version number and copyright." #~ msgstr "" #~ " --version Ðапечатать номер верÑии программы и " #~ "уÑловиÑ\n" #~ " раÑпроÑтранениÑ." #~ msgid " --help It's obvious..." #~ msgstr " --help Самооочевидно..." #~ msgid "malloc() failed. Cannot allocate enough memory." #~ msgstr "malloc() не удалÑÑ. Ðевозможно выделить доÑтаточно памÑти." #~ msgid "realloc() failed. Cannot reallocate enough memory." #~ msgstr "realloc() не удалÑÑ. Ðевозможно перераÑпределить доÑтаточно памÑти." #~ msgid "Seeding random number generator..." #~ msgstr "ЗапуÑк генератора Ñлучайных чиÑел..." #~ msgid "Unable to seed random number generator." #~ msgstr "Ðевозможно запуÑтить генератор Ñлучайных чиÑел." #~ msgid "Write error: %s" #~ msgstr "Ошибка запиÑи: %s." #~ msgid "SSLv23_client_method() failed." #~ msgstr "ошибка SSLv23_client_method()" #~ msgid "Can't create SSL_CTX object." #~ msgstr "Ðевозможно Ñоздать объект SSL_CTX." #~ msgid "SSL_CTX_set_cipher_list() failed." #~ msgstr "ошибка SSL_CTX_set_cipher_list()." #~ msgid "Can't create a new SSL structure for a connection." #~ msgstr "Ðевозможно Ñоздать новую Ñтруктуру SSL Ð´Ð»Ñ ÑоединениÑ." #~ msgid "SSLv23_server_method() failed." #~ msgstr "ошибка SSLv23_server_method()." #~ msgid "SSL_CTX_use_certificate_file() failed." #~ msgstr "ошибка SSL_CTX_use_certificate_file()." #~ msgid "SSL_CTX_use_PrivateKey_file() failed." #~ msgstr "ошибка SSL_CTX_use_PrivateKey_file()." #~ msgid "Private key does not match the certificate public key." #~ msgstr "ЧаÑтный ключ не ÑоответÑтвует публичному ключу Ñертификата." #~ msgid "%s connection using %s (%u bit)" #~ msgid_plural "%s connection using %s (%u bits)" #~ msgstr[0] "Ñоединение %s иÑпользует %s (%u бит)" #~ msgstr[1] "Ñоединение %s иÑпользует %s (%u бита)" #~ msgstr[2] "Ñоединение %s иÑпользует %s (%u бит)" #~ msgid "Server public key is %d bit" #~ msgid_plural "Server public key is %d bits" #~ msgstr[0] "Длина публичного ключа Ñервера -- %d бит" #~ msgstr[1] "Длина публичного ключа Ñервера -- %d бита" #~ msgstr[2] "Длина публичного ключа Ñервера -- %d бит" #~ msgid "Certificate:" #~ msgstr "Сертификат:" #~ msgid "X509_NAME_oneline [subject] failed!" #~ msgstr "X509_NAME_oneline [тема] не Ñработал!" #~ msgid "Subject: %s" #~ msgstr "Тема: %s" #~ msgid "X509_NAME_oneline [issuer] failed!" #~ msgstr "X509_NAME_oneline [Ð²Ñ‹Ð´Ð°Ð²ÑˆÐ°Ñ Ñторона] не Ñработал!" #~ msgid "Issuer: %s" #~ msgstr "Выдан: %s" #~ msgid "OK" #~ msgstr "ПОРЯДОК" #~ msgid "ERROR" #~ msgstr "ОШИБКÐ" #~ msgid "Connection terminated." #~ msgstr "Соединение завершено." #~ msgid "Using the ESMTP CRAM-MD5 authentication..." #~ msgstr "ИÑпользуетÑÑ Ñ‚Ð¸Ð¿ авторизации ESMTP CRAM-MD5..." #~ msgid "Connecting to %s:%u..." #~ msgstr "Соединение Ñ %s:%u..." #~ msgid "Using the 'ONEWAY' TLS/SSL encryption..." #~ msgstr "ИÑпользуетÑÑ Ð¾Ð´Ð½Ð¾Ñтороннее шифрование по протоколу TLS/SSL..." #~ msgid "getpeername() failed: %s." #~ msgstr "ошибка getpeername(): %s." #~ msgid "The %s section has been found. Processing..." #~ msgstr "Обнаружена ÑÐµÐºÑ†Ð¸Ñ %s. ОбрабатываетÑÑ..." #~ msgid "IDENT: send() failed: %s." #~ msgstr "IDENT: send() не удалÑÑ: %s." #~ msgid "Built-in support for: " #~ msgstr "Ð’ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ°: " #~ msgid "Initializing socket..." #~ msgstr "Ð˜Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñокета..." #~ msgid "(%ld)SERVER >>> %s" #~ msgstr "(%ld)СЕРВЕР >>> %s" #~ msgid "(%ld)CLIENT >>> %s" #~ msgstr "(%ld)КЛИЕÐТ >>> %s" #~ msgid "(%d)SERVER <<< %s" #~ msgstr "(%d)СЕРВЕР <<< %s" #~ msgid "(%d)CLIENT <<< %s" #~ msgstr "(%d)КЛИЕÐТ <<< %s" #~ msgid "Fatal fclose() error. %s." #~ msgstr "ÐеиÑÐ¿Ñ€Ð°Ð²Ð¸Ð¼Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° fclose(). %s." #~ msgid "SSL_set_fd() failed." #~ msgstr "ошибка SSL_set_fd()." anubis-4.1.1+dfsg1/po/de.po0000600000175000017500000011401111123150055013075 0ustar kbkb# German translation of anubis messages. # Copyright © 2002 Free Software Foundation, Inc. # This file is distributed under the same license as the anubis package. # Karl Eichwalder , 2002. # Roland Illig , 2004. # Roland Illig , 2007. # Roland Illig , 2008. # #: env.opt:43 msgid "" msgstr "" "Project-Id-Version: anubis 4.1\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: 2008-11-24 13:03+0100\n" "Last-Translator: Roland Illig \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "Betrete XDB-Schleife ..." #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "Verlasse XDB-SChleife ..." #: src/authmode.c:522 msgid "Database not specified" msgstr "Keine Datenbank angegeben" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "Kann die Datenbank %s nicht öffnen: %s" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "Datensatz für »%s« gefunden." #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "Kann die Daten aus der SASL-Datenbank nicht bekommen: %s" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "Datensatz für »%s« nicht gefunden." #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "Verbindung erfolgreich geschlossen." #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "PAM: Sitzung beendet." #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "PAM: Konnte die Echtheitsbestätigung nicht ermitteln." #: src/daemon.c:41 msgid "daemon() failed" msgstr "daemon() fehlgeschlagen" #: src/daemon.c:48 msgid "Cannot fork." msgstr "fork() fehlgeschlagen" #: src/daemon.c:56 msgid "setsid() failed" msgstr "setsid() fehlgeschlagen" #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "%s-Dämon erfolgreich gestartet." #: src/daemon.c:80 #, c-format msgid "Exited successfully" msgstr "Verbindung erfolgreich geschlossen" #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "Fehlgeschlagen mit Status %d" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "Beendet durch Signal %d" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "Angehalten durch Signal %d" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "Speicherauszug geschrieben" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "Beendet" #: src/daemon.c:108 #, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "Kindprozess [%lu] mit Endzustand %s beendet. Noch %d Kindprozess." msgstr[1] "Kindprozess [%lu] mit Endzustand %s beendet. Noch %d Kindprozesse." #: src/daemon.c:120 #, c-format msgid "Local program [%lu] finished. %s" msgstr "Lokales Programm [%lu] beendet. %s" #: src/daemon.c:161 msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "" "WARNUNG: Es wurde kein unprivilegierter Benutzer gefunden. Prüfen Sie die " "Einstellungen!" #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "WARNUNG: Es wurde kein unprivilegierter Benutzer angegeben!" #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "GNU Anubis läuft ..." #: src/daemon.c:237 src/exec.c:80 msgid "accept() failed" msgstr "accept() fehlgeschlagen" #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "TCP-Wrapper: Verbindung von %s:%u abgewiesen." #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "Zu viele Verbindungen. Verbindung von %s:%u abgewiesen." #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "Verbindung von %s:%u" #: src/daemon.c:287 msgid "daemon: cannot fork" msgstr "Deamon: fork() fehlgeschlagen" #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "Kein MTA angegeben. Legen Sie den REMOTE-MTA oder den LOCAL-MTA fest." #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "[RECHNER:]PORT" #: env.opt:45 msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" "TCP-Port angeben, auf dem GNU Anubis auf Verbindungen wartet. RECHNER ist " "standardmäßig INADDR_ANY und PORT ist standardmäßig 24 (privates Mailsystem)" #: env.opt:54 msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "" "Entfernten SMTP-Rechnernamen oder -IP-Adresse angeben. Die PORTnummer ist " "standardmäßig 25." #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "DATEI" #: env.opt:62 msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" "Einen lokalen SMTP-Server ausführen, der auf der Standardein- und -ausgabe " "arbeitet (inetd-artiges Programm). Diese Option schließt »--remote-mta« aus" #: env.opt:74 msgid "MODE" msgstr "MODUS" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "" "Wählen Sie den Ausführungsmodus; MODUS kann \"transparent\", \"auth\" oder " "\"mda\" sein" #: env.opt:81 msgid "Foreground mode" msgstr "Vordergrundmodus" #: env.opt:87 msgid "EMAIL" msgstr "EMAIL" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "Geben Sie die Absenderadresse an (bewirkt MDA-Modus)" #: env.opt:94 msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" "Das SMTP-Protokoll (OMP/Tunnel) wie in RFC 821 beschrieben mit der " "Standardeingabe und -ausgabe benutzen" #: env.opt:98 msgid "Output options" msgstr "Ausgabeoptionen:" #: env.opt:101 msgid "Work silently" msgstr "Still und leise arbeiten" #: env.opt:106 msgid "Work noisily" msgstr "Laut arbeiten" #: env.opt:111 msgid "Debug mode" msgstr "Debuggingmodus" #: env.opt:115 msgid "Miscellaneous options" msgstr "Verschiedene Optionen:" #: env.opt:119 msgid "Specify alternate system configuration file" msgstr "Alternative Systemkonfigurationsdatei angeben." #: env.opt:126 msgid "Ignore system configuration file" msgstr "Systemkonfigurationsdatei ignorieren" #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "DEBUG-LEVEL" #: env.opt:132 msgid "Run the configuration file syntax checker" msgstr "Syntax der Konfigurationsdatei überprüfen." #: env.opt:139 msgid "Print a list of configuration options used to build GNU Anubis" msgstr "" "Eine Liste von Konfigurationsoptionen ausgeben, mit denen GNU Anubis " "erstellt wurde." #: env.opt:145 msgid "Do not check user configuration file permissions" msgstr "Berechtigungen für die Konfigurationsdatei nicht überprüfen." #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "PID des laufenden Prozesses in DATEI speichern" #: env.opt:155 msgid "Other options" msgstr "Andere Optionen:" #: env.opt:155 msgid "Give this help list" msgstr "Diese Hilfeliste anzeigen" #: env.opt:155 msgid "Give a short usage message" msgstr "Eine kurze Benutzungsanleitung anzeigen" #: env.opt:155 msgid "Print program version" msgstr "Programmversion ausgeben" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "SMTP-Nachrichtenverschicker-Prozess." #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "Aufruf:" #: env.opt:165 msgid "OPTION" msgstr "OPTION" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" "Argumente, die für lange Optionen notwendig oder optional sind, sind es auch " "für die entsprechenden kurzen Optionen." #: env.opt:293 #, c-format msgid "Report bugs to %s.\n" msgstr "Melden Sie Fehler (auf Englisch, mit LC_ALL=C) an <%s>.\n" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 msgid "argcv_get failed" msgstr "argcv_get() fehlgeschlagen" #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "--mode=mda benötigt --local-mta" #: env.opt:181 msgid "Missing recipient addresses" msgstr "Empfängeradresse fehlt" #: env.opt:256 #, c-format msgid "setgroups(1, %lu) failed" msgstr "setgroups(1, %lu) fehlgeschlagen" #: env.opt:266 #, c-format msgid "setegid(%lu) failed" msgstr "setegid(%lu) fehlgeschlagen" #: env.opt:269 #, c-format msgid "setregid(%lu,%lu) failed" msgstr "setregid(%lu, %lu) fehlgeschlagen" #: env.opt:273 #, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "setresgid(%lu, %lu, %lu) fehlgeschlagen" #: env.opt:282 #, c-format msgid "setgid(%lu) failed" msgstr "setgid(%lu) fehlgeschlagen" #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "Kann die effektive GID nicht auf %lu setzen" #: env.opt:307 #, c-format msgid "setreuid(%lu,-1) failed" msgstr "setreuid(%lu, -1) fehlgeschlagen" #: env.opt:313 #, c-format msgid "second setuid(%lu) failed" msgstr "zweites setuid(%lu) fehlgeschlagen" #: env.opt:321 #, c-format msgid "setuid(%lu) failed" msgstr "setuid(%lu) fehlgeschlagen" #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "seteuid(0) hat geklappt, sollte aber nicht" #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "Kann Rootrechte nicht loswerden" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "PAM: Sitzung gestartet (mit Einschränkungen)." #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "PAM: Nicht berechtigt, GNU Anubis zu benutzen." #: env.opt:377 src/main.c:152 #, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "Ungültige Benutzer-ID: %s" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "Ungültiger Benutzername: %s" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "Falsche Zugriffsrechte für »%s«: Muss 0600 sein." #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "%s ist keine reguläre Datei und auch kein symbolischer Link." #: env.opt:492 #, c-format msgid "Unknown mode: %s" msgstr "Unbekannter Modus: %s" #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "Kann PID-Datei »%s« nicht öffnen" #: src/errs.c:84 msgid "warning" msgstr "Warnung" #: src/errs.c:92 #, c-format msgid "Could not write to socket: %s" msgstr "write() auf Socket fehlgeschlagen: %s" #: src/errs.c:94 msgid "Could not write to socket" msgstr "write() auf Socket fehlgeschlagen" #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "Unbekannter Rechner %s." #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "Der Rechnername »%s« ist gültig, hat aber keine IP-Adresse." #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "%s: Nicht behebbarer Nameserver-Fehler aufgetreten." #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "" "%s: Ein temporärer Nameserver-Fehler ist aufgetreten. Versuchen Sie es " "später nochmal." #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "%s: unbekannter DNS-Fehler %d." #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "Kaputte oder unerwartete Antwort" #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "SASL gsasl_client_start: %s" #: src/esmtp.c:167 src/esmtp.c:186 #, c-format msgid "GSASL handshake aborted: %d %s" msgstr "GSASL-Handshake fehlgeschlagen: %d %s" #: src/esmtp.c:198 #, c-format msgid "GSASL error: %s" msgstr "GSASL-Fehler: %s" #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "Authentifizierung fehlgeschlagen: %d %s" #: src/esmtp.c:215 msgid "Authentication successful." msgstr "Authentifizierung erfolgreich." #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "Leere Liste von Authentifizierungsmethoden bekommen" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "" "Der Server hat keine ordentlichen Authentifizierungsmechanismen angeboten" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "INTERNER FEHLER" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" "Der ausgewählte Authentifizierungsmechanismus %s benötigt TLS-" "Verschlüsselung. Daher wird keine ESMTP-Authentifizierung benutzt" #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "Benutze Authentifizierungsmechanismus %s" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "Kann libgsasl nicht initialisieren: %s" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "ESMTP AUTH wird nicht unterstützt" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "#1 socket() fehlgeschlagen." #: src/exec.c:45 msgid "#2 socket() failed." msgstr "#2 socket() fehlgeschlagen." #: src/exec.c:55 msgid "#1 bind() failed" msgstr "#1 bind() fehlgeschlagen" #: src/exec.c:60 msgid "#2 bind() failed" msgstr "#2 bind() fehlgeschlagen" #: src/exec.c:65 src/net.c:233 msgid "listen() failed" msgstr "listen() fehlgeschlagen" #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "getsockname() fehlgeschlagen: %s." #: src/exec.c:75 msgid "connect() failed" msgstr "connect() fehlgeschlagen" #: src/exec.c:87 msgid "socketpair() failed" msgstr "socketpair() fehlgeschlagen" #: src/exec.c:108 #, c-format msgid "Executing %s..." msgstr "Führe »%s« aus ..." #: src/exec.c:118 msgid "fork() failed" msgstr "fork() fehlgeschlagen" #: src/exec.c:132 msgid "execvp() failed" msgstr "execvp() fehlgeschlagen" #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "GPGME: %s." #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "Installieren Sie GPGME Version %s oder neuer." #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "GPGME: fehlgeschlagen. %s." #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "GPGME: Kann Schlüssel nicht auflisten: %s" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "GPGME: Unzulässiger Empfänger gefunden: %s" #: src/gpg.c:320 #, c-format msgid "GPGME: Invalid signer found: %s" msgstr "GPGME: Unzulässiger Unterschreiber gefunden: %s" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "GPGME: Unerwartete Anzahl von Signaturen erzeugt" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "GPGME: Falscher Signaturtyp erzeugt" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "GPGME: Falscher Public-Key-Algorithmus: %i" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "GPGME: Falscher Hashalgorithmus: %i" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "GPGME: Falsche Signaturklasse: %u" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "Kann guile-Ausgabedatei %s nicht öffnen" #: src/guile.c:259 msgid "missing procedure name" msgstr "Prozedurname fehlt" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "%s ist kein Prozedurobjekt" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "Falscher car-Datentyp bei der Rückkehr von %s" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "Falscher cdr-Datentyp bei der Rückkehr von %s" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "Falscher Rückgabetyp von %s" #: src/ident.c:101 msgid "IDENT: socket() failed" msgstr "IDENT: socket() fehlgeschlagen" #: src/ident.c:113 msgid "IDENT: connect() failed" msgstr "IDENT: connect() fehlgeschlagen" #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "IDENT: Mit %s:%u verbunden." #: src/ident.c:128 #, c-format msgid "IDENT: stream_write() failed: %s." msgstr "IDENT: stream_write() fehlgeschlagen: %s." #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "IDENT: recvline() fehlgeschlagen: %s." #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "IDENT: unkorrekte Daten." #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "IDENT: Die Daten sind wahrscheinlich mit DES verschlüsselt ..." #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "IDENT: unkorrekte Daten (nach der DES-Entschlüsselung)." #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "IDENT: Entfernten Benutzer als »%s« identifiziert." #: src/main.c:54 msgid "Not enough memory" msgstr "Nicht genug Arbeitsspeicher" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "»%s« wurde in »%s@localhost« umgewandelt." #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "Umsetzung: ungültige Syntax." #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "Ungültige Adresslänge für den Rechner »%s« empfangen." #: src/misc.c:120 #, c-format msgid "Invalid port number: %s" msgstr "Ungültige Portnummer: %s" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "Kann meinen eigenen Rechnernamen nicht herausfinden" #: src/net.c:46 msgid "SERVER" msgstr "SERVER" #: src/net.c:49 msgid "CLIENT" msgstr "CLIENT" #: src/net.c:127 msgid "Getting remote host information..." msgstr "Ermittle Informationen des entfernten Rechners ..." #: src/net.c:164 msgid "Cannot create stream socket." msgstr "Kann keinen Datenstrom-Socket erzeugen." #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "Konnte keine Verbindung zu %s:%u aufbauen: %s." #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "Verbunden mit %s:%u" #: src/net.c:196 msgid "Cannot create stream socket" msgstr "Kann keinen Datenstrom-Socket erzeugen" #: src/net.c:229 msgid "bind() failed" msgstr "bind() fehlgeschlagen" #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "GNU Anubis mit %s:%u verbunden." #: src/net.c:257 msgid "Short write" msgstr "Unvollständiges Schreiben" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "Benutze SOCKS-Proxy ..." #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "SOCKS-Proxy: %s" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "Die Adresse muss eine IP-Adresse sein, kein Domainname." #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "SOCKS-Proxyverbindung: erfolgreich." #: src/socks.c:179 msgid "Request rejected or failed." msgstr "Anfrage zurückgewiesen oder fehlgeschlagen." #: src/socks.c:182 msgid "Request rejected." msgstr "Anfrage zurückgewiesen." #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" "Anfrage abgewiesen, da das Clientprogramm und identd verschiedene Benutzer-" "IDs zurückgegeben haben." #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "Serverantwort ist ungültig." #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "Vielleicht ist es kein SOCKS-Proxydienst." #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "SOCKS-Proxy-AUTH-Methode: KEINE AUTHENTIFIZIERUNG NÖTIG" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "SOCKS-Proxy-AUTH-Methode: BENUTZERNAME/PASSWORT" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "Kann keinen leeren Benutzernamen oder leeres Passwort senden." #: src/socks.c:291 msgid "Bad user name or password." msgstr "Falscher Benutzername oder falsches Passwort." #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "SOCKS-Proxy-AUTH: erfolgreich." #: src/socks.c:298 msgid "Server does not accept any method." msgstr "Der Server akzeptiert keine der Methoden." #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "Der Server akzeptiert keine der AUTH-Methoden." #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "Allgemeiner SOCKS-Serverfehler." #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "Die Verbindung wird von den Regeln nicht erlaubt." #: src/socks.c:404 msgid "Network unreachable." msgstr "Das Netzwerk ist nicht erreichbar." #: src/socks.c:407 msgid "Host unreachable." msgstr "Der Rechner ist nicht erreichbar." #: src/socks.c:410 msgid "Connection refused." msgstr "Verbindungsaufbau abgelehnt." #: src/socks.c:413 msgid "TTL expired." msgstr "Wartezeit abgelaufen." #: src/socks.c:416 msgid "Command not supported." msgstr "Der Befehl wird nicht unterstützt." #: src/socks.c:419 msgid "Address type not supported." msgstr "Der Adresstyp wird nicht unterstützt." #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "Signal empfangen. Sauberes Herunterfahren ..." #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "Timeout! Herunterfahren ..." #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "Kann stat für Datei »%s« nicht ausführen" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "Die Datei »%s« wurde schon gelesen.\n" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "Willkommen, Benutzer %s!" #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "Lese die Systemkonfigurationsdatei »%s« ..." #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "Lese die Benutzerkonfigurationsdatei »%s« ..." #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "Die Direktive »logfile« wird in der Hauptkonfigurationsdatei ignoriert" #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "Kindprozess für %lu Sekunde angehalten" msgstr[1] "Kindprozess für %lu Sekunden angehalten" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "Der Befehl HANG ist für Benutzer »%s« nicht erlaubt" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "Kein passender Bereich: %s" #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" "Merkwürdiges Zeichen in Konfigurationsdatei: \\%03o. Vielleicht fehlen " "Anführungszeichen um die Zeichenkette" #: src/rcfile.l:385 msgid "Anubis RC file error" msgstr "Fehler in der Anubis Konfigurationsdatei" #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "Bereich %s ist bereits definiert" #: src/rcfile.y:229 #, c-format msgid "unknown keyword: %s" msgstr "Unbekanntes Schlüsselwort: %s" #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "Ungültiger regulärer Ausdruck (siehe oben)" #: src/rcfile.y:567 msgid "missing replacement value" msgstr "Ersetzungswert fehlt" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "Kein gültiges Debugginglevel: %s" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "Unbekannter Modifikator für regulären Ausdruck" #: src/rcfile.y:1314 msgid "STOP" msgstr "STOP" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "Rufe %s auf" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "ADD %s [%s] %s" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "MODIFY %s [%s] [%s] %s" #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "REMOVE HEADER [%s]" #: src/rcfile.y:1371 #, c-format msgid "Executing %s" msgstr "Führe %s aus" #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "Auslöser »%s« aktiviert" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "Bedingung %s[%s] »%s« erfüllt" #: src/rcfile.y:1604 #, c-format msgid "Section %s" msgstr "Abschnitt %s" #: src/rcfile.y:1628 #, c-format msgid "Unknown section: %s" msgstr "Unbekannter Bereich: %s" #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "Programm ist in diesem Bereich nicht erlaubt" #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "INTERNER FEHLER an %s:%d: Regulärer Ausdruck fehlt oder ist ungültig" #: src/regex.c:328 #, c-format msgid "regcomp() failed at %s: %s." msgstr "regcomp() an %s fehlgeschlagen: %s" #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "pcre_compile() an Offset %d fehlgeschlagen: %s." #: src/regex.c:429 #, c-format msgid "pcre_fullinfo() failed: %d." msgstr "pcre_fullinfo() fehlgeschlagen: %d." #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "Passt, aber zu viele Teilzeichenketten." #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "Lesen der Teilzeichenkette %d fehlgeschlagen (%d)." #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "Initialisiere die TLS/SSL-Verbindung mit dem MTA ..." #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "TLS-Fehler beim Lesen von »%s«: %s" #: src/tls.c:198 #, c-format msgid "TLS/SSL handshake failed: %s" msgstr "TLS/SSL-Handshake fehlgeschlagen: %s" #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "Initialisiere die TLS/SSL-Verbindung mit dem MUA ..." #: src/tls.c:280 msgid "TLS/SSL handshake failed!" msgstr "TLS/SSL-Handshake fehlgeschlagen!" #: src/tls.c:301 msgid "No certificate was sent." msgstr "Es wurde kein Zertifikat verschickt." #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "Das Zertifikat ist nicht vertrauenswürdig." #: src/tls.c:311 msgid "The certificate has expired." msgstr "Das Zertifikat ist abgelaufen." #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "Das Zertifikat ist noch nicht aktiviert." #: src/tls.c:326 msgid "No certificate was found!" msgstr "Kein Zertifikat gefunden." #: src/tls.c:331 msgid "The certificate is trusted." msgstr "Das Zertifikat ist vertrauenswürdig." #: src/tls.c:361 #, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "- Anonymer DH mit %d-Bit-Primzahl. \n" msgstr[1] "- Anonymer DH mit %d-Bit-Primzahl.\n" #: src/tls.c:370 #, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "- Kurzlebiger DH mit %d-Bit-Primzahl.\n" msgstr[1] "- Kurzlebiger DH mit %d-Bit-Primzahl. \n" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "- Protokoll: %s\n" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "- Zertifikatstyp: %s\n" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "- Komprimierung: %s\n" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "- Verschlüsselung: %s\n" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "- MAC: %s\n" #: src/tls.c:423 #, c-format msgid "- Certificate info:\n" msgstr " - Zertifikatinformationen:\n" #: src/tls.c:427 #, c-format msgid "- Certificate is valid since: %s" msgstr "- Das Zertifikat ist gültig seit: %s" #: src/tls.c:429 #, c-format msgid "- Certificate expires: %s" msgstr "- Das Zertifikat läuft ab am: %s" #: src/tls.c:434 #, c-format msgid "- Certificate fingerprint: " msgstr "- Fingerabdruck des Zertifikats: " #: src/tls.c:444 #, c-format msgid "- Certificate serial number: " msgstr "- Seriennummer des Zertifikats: " #: src/tls.c:453 #, c-format msgid "- Certificate public key: " msgstr "- Öffentlicher Schlüssel des Zertifikats: " #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "RSA\n" #: src/tls.c:457 #, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] "- Modulus: %d Bit\n" msgstr[1] "- Modulus: %d Bits\n" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "DSA\n" #: src/tls.c:463 #, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] "- Exponent: %d Bit\n" msgstr[1] "- Exponent: %d Bits\n" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "UNBEKANNT\n" #: src/tls.c:469 #, c-format msgid "- Certificate version: #%d\n" msgstr "- Zertifikatversion: #%d\n" #: src/tls.c:476 #, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr "- Domainname des Herausgebers: %s\n" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 #, fuzzy msgid "Transferring messages..." msgstr "Übertrage Nachricht(en) ..." #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "Baue SMTP-Verbindung auf ..." #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "Benutze die TLS/SSL-Verschlüsselung ..." #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "WARNUNG: %s" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "STARTTLS-Befehl fehlgeschlagen." #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "" "Benutze TLS/SSL-Verschlüsselung nur zwischen Anubis und dem entfernten " "MTA ..." #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "STARTTLS-(EINWEG)-Befehl fehlgeschlagen." #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: Option »%s« ist mehrdeutig\n" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: Option »--%s« erlaubt kein Argument\n" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: Option »%c%s« erlaubt kein Argument\n" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: Option »%s« erfordert ein Argument\n" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: unbekannte Option »--%s«\n" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: unbekannte Option »%c%s«\n" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: ungültige Option -- %c\n" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: ungültige Option -- %c\n" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: Option erfordert ein Argument -- %c\n" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: Option »-W %s« ist mehrdeutig\n" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: Option »-W %s« erlaubt kein Argument\n" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "Zu wenig Speicher" #~ msgid "MTA has not been specified. Set either REMOTE-MTA or LOCAL-MTA." #~ msgstr "" #~ "Kein MTA angegeben. Legen Sie den REMOTE-MTA oder den LOCAL-MTA fest." #~ msgid "Loop not allowed. Connection rejected." #~ msgstr "Schleifen nicht erlaubt. Verbindung abgewiesen." #~ msgid "Try '%s --help' for more information." #~ msgstr "»%s --help« gibt weitere Informationen." #~ msgid "" #~ "\n" #~ "GNU Anubis is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2 of the License, or\n" #~ "(at your option) any later version." #~ msgstr "" #~ "\n" #~ "\n" #~ "GNU Anubis ist freie Software; Sie dürfen es weitergeben und/oder\n" #~ "verändern gemäß den Bestimmungen der GNU General Public License, " #~ "veröffentlicht\n" #~ "von der Free Software Foundation; entweder in Version 2, oder (nach Ihrer " #~ "Wahl)\n" #~ "einer späteren Version." #~ msgid "" #~ "\n" #~ "GNU Anubis is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details." #~ msgstr "" #~ "\n" #~ "GNU Anubis wird verteilt in der Hoffnung, das es nützlich sein\n" #~ "wird, aber OHNE JEGLICHE GARANTIE; sogar ohne jegliche implizite\n" #~ "Garantie der VERKAUFBARKEIT oder der TAUGLICHKEIT FÜR EINEN\n" #~ "BESTIMMTEN ZWECK. Siehe auch die GNU General Public License für\n" #~ "weitere Details." #~ msgid "" #~ "\n" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with GNU Anubis; if not, write to the Free Software\n" #~ "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA" #~ msgstr "" #~ "\n" #~ "Sie sollten eine Kopie der GNU General Public License mit GNU Anubis\n" #~ "erhalten haben; falls nicht, schreiben Sie bitte an die\n" #~ "\n" #~ " Free Software Foundation, Inc.\n" #~ " 59 Temple Place - Suite 330\n" #~ " Boston, MA 02111-1307\n" #~ " USA" #~ msgid "" #~ "\n" #~ "GNU Anubis is released under the GPL with the additional exemption that\n" #~ "compiling, linking, and/or using OpenSSL is allowed.\n" #~ msgstr "" #~ "\n" #~ "GNU Anubis ist unter der GPL veröffentlicht, mit der zusätzlichen " #~ "Erlaubnis,\n" #~ "OpenSSL zu compilieren, zu linken und/oder zu benutzen.\n" #~ msgid "Usage: anubis [options]\n" #~ msgstr "Aufruf: anubis [Optionen]\n" #~ msgid " -m, --mode=MODE Select operation mode." #~ msgstr " -m, --mode=MODUS Ausführungsmodus auswählen." #~ msgid "" #~ " MODE is either \"transparent\" or \"auth\"" #~ msgstr "" #~ " MODUS ist entweder \"transparent\" oder " #~ "\"auth\"" #~ msgid " -f, --foreground Foreground mode." #~ msgstr " -f, --foreground Vordergrundmodus." #~ msgid " -s, --silent Work silently." #~ msgstr " -s, --silent Leise arbeiten." #~ msgid " -v, --verbose Work noisily." #~ msgstr " -v, --verbose Gesprächig arbeiten." #~ msgid " -D, --debug Debug mode." #~ msgstr " -D, --debug Debugmodus." #~ msgid " --norc Ignore system configuration file." #~ msgstr " --norc Systemkonfigurationsdatei ignorieren." #~ msgid " --version Print version number and copyright." #~ msgstr "" #~ " --version Versionsnummer und Copyright ausgeben." #~ msgid " --help It's obvious..." #~ msgstr " --help Diese Übersicht ausgeben." #~ msgid "malloc() failed. Cannot allocate enough memory." #~ msgstr "malloc() fehlgeschlagen. Nicht genügend Hauptspeicher verfügbar." #~ msgid "realloc() failed. Cannot reallocate enough memory." #~ msgstr "realloc() fehlgeschlagen. Nicht genügend Hauptspeicher verfügbar." #~ msgid "INTERNAL ERROR (get_response_smtp): buffer exhausted. Please report." #~ msgstr "INTERNER FEHLER (get_response_smtp): Puffer voll. Bitte melden." #~ msgid "Seeding random number generator..." #~ msgstr "Zufallszahlengenerator initialisieren ..." #~ msgid "Unable to seed random number generator." #~ msgstr "Kann den Zufallszahlengenerator nicht initialisieren." #~ msgid "Write error: %s" #~ msgstr "Schreibfehler: %s" #~ msgid "Read error: %s" #~ msgstr "Lesefehler: %s" #~ msgid "SSLv23_client_method() failed." #~ msgstr "SSLv23_client_method() fehlgeschlagen." #~ msgid "Can't create SSL_CTX object." #~ msgstr "Kann kein SSL_CTX-Objekt erzeugen." #~ msgid "SSL_CTX_set_cipher_list() failed." #~ msgstr "SSL_CTX_set_cipher_list() fehlgeschlagen." #~ msgid "Can't create a new SSL structure for a connection." #~ msgstr "Kann keine neue SSL-Struktur für eine Verbindung erzeugen." #~ msgid "SSLv23_server_method() failed." #~ msgstr "SSLv23_server_method() fehlgeschlagen." #~ msgid "SSL_CTX_use_certificate_file() failed." #~ msgstr "SSL_CTX_use_certificate_file() fehlgeschlagen." #~ msgid "SSL_CTX_use_PrivateKey_file() failed." #~ msgstr "SSL_CTX_use_PrivateKey_file() fehlgeschlagen." #~ msgid "Private key does not match the certificate public key." #~ msgstr "" #~ "Der private Schlüssel passt nicht zum öffentlichen Schlüssel des " #~ "Zertifikats." #~ msgid "%s connection using %s (%u bit)" #~ msgid_plural "%s connection using %s (%u bits)" #~ msgstr[0] "%s-Verbindung mit %s (%u Bit)" #~ msgstr[1] "%s-Verbindung mit %s (%u Bits)" #~ msgid "Server public key is %d bit" #~ msgid_plural "Server public key is %d bits" #~ msgstr[0] "Der öffentliche Schlüssel des Servers hat %d Bit." #~ msgstr[1] "Der öffentliche Schlüssel des Servers hat %d Bits." #~ msgid "Certificate:" #~ msgstr "Zertifikat:" #~ msgid "X509_NAME_oneline [subject] failed!" #~ msgstr "X509_NAME_oneline [subject] fehlgeschlagen." #~ msgid "Subject: %s" #~ msgstr "Betreff: %s" #~ msgid "X509_NAME_oneline [issuer] failed!" #~ msgstr "X509_NAME_oneline [issuer] fehlgeschlagen." #~ msgid "Issuer: %s" #~ msgstr "Herausgeber: %s" #~ msgid "Using ESMTP authentication mechanism CRAM-MD5..." #~ msgstr "Benutze die ESMTP-Authentifizierung CRAM-MD5 ..." #~ msgid "Server rejected the AUTH command." #~ msgstr "Der Server hat den AUTH-Befehl zurückgewiesen." #~ msgid "Challenge decoded: %s\n" #~ msgstr "Challenge decodiert: %s\n" #~ msgid "ESMTP AUTH: %s." #~ msgstr "ESMTP AUTH: %s." anubis-4.1.1+dfsg1/po/vi.po0000600000175000017500000011706711123150057013143 0ustar kbkb# Vietnamese Translation for anubis-4.0.. # Copyright © 2007 The Anubis Team. # Clytie Siddall , 2005-2007. # #: env.opt:43 msgid "" msgstr "" "Project-Id-Version: anubis 4.1\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: 2007-12-19 17:59+1030\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: LocFactoryEditor 1.7b1\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "Äang vào vòng lặp XDB..." #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "Äang thoát khá»i vòng lặp XDB..." #: src/authmode.c:522 msgid "Database not specified" msgstr "Chưa ghi rõ cÆ¡ sở dữ liệu" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "Không thể mở cÆ¡ sở dữ liệu %s: %s" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "Tìm thấy mục ghi cho « %s »." #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "Không thể lấy dữ liệu từ cÆ¡ sở dữ liêu SASL: %s" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "Không tìm thấy mục ghi cho « %s »." #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "Kết nối đã được đóng." #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "PAM: phiên chạy đã đóng." #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "PAM: lá»—i nhả Ä‘iá»u xác thá»±c" #: src/daemon.c:41 msgid "daemon() failed" msgstr "daemon() không thành công" #: src/daemon.c:48 msgid "Cannot fork." msgstr "Không thể tạo tiến trình con." #: src/daemon.c:56 msgid "setsid() failed" msgstr "setsid() không thành công" #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "trình ná»n %s đã được khởi chạy." #: src/daemon.c:80 #, c-format msgid "Exited successfully" msgstr "Äã thoát thành công" #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "Không thành công vá»›i trạng thái %d" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "Bị kết thúc vá»›i tín hiệu %d" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "Bị ngừng vá»›i tín hiệu %d" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "Lõi bị đổ" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "Bị kết thúc" #: src/daemon.c:108 #, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "Tiến trình con [%lu] đã chạy xong. %s. %d ứng dụng khách còn lại." #: src/daemon.c:120 #, c-format msgid "Local program [%lu] finished. %s" msgstr "Chương trình cục bá»™ [%lu] đã chạy xong. %s" #: src/daemon.c:161 msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "" "CẢNH BÃO : không thể giải quyết má»™t ngưá»i dùng không có quyá»n đặc biệt. Hãy " "kiểm tra thiết lập !" #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "CẢNH BÃO : chưa ghi rõ má»™t ngưá»i dùng không co quyá»n đặc biệt !" #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "GNU Anubis Ä‘ang chạy..." #: src/daemon.c:237 src/exec.c:80 msgid "accept() failed" msgstr "accept() không thành công" #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "Lá»›p bá»c cho TCP: kết nối từ %s:%u bị từ chối." #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "Quá nhiá»u ứng dụng khách: kết nối từ %s:%u bị từ chối." #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "Kết nối từ %s:%u" #: src/daemon.c:287 msgid "daemon: cannot fork" msgstr "trình ná»n: không thể tạo tiến trình con" #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "" "Chưa ghi rõ MTA (tác nhân truyá»n thư). Hãy đặt hoặc REMOTE-MTA (MTA từ xa) " "hay LOCAL-MTA (MTA cục bá»™)." #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "[MÃY:]Cá»”NG" #: env.opt:45 msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" "Ghi rõ cổng TCP trên đó GNU Anubis lắng nghe kết nối; MÃY mặc định là « " "INADDR_ANY », và Cá»”NG mặc định là 24 (hệ thống thư tín riêng)." #: env.opt:54 msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "" "Ghi rõ má»™t tên máy hay địa chỉ IP kiểu SMTP từ xa; giá trị mặc định là 25" #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "TẬP TIN" #: env.opt:62 msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" "Thá»±c hiện má»™t trình phục vụ SMTP cục bá»™, mà chạy trên đầu vào/ra tiêu chuẩn " "(chương trình kiểu inetd); tùy chá»n này loại trừ tùy chá»n « --remote-mta »." #: env.opt:74 msgid "MODE" msgstr "CHẾ ÄỘ" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "" "Chá»n chế độ thao tác: CHẾ_ÄỘ là má»™t cá»§a:\n" " • transparent\t\ttrong suốt\n" " • auth\t\t\txác thá»±c (viết tắt)\n" " • mda\t\t\ttác nhân phát thư." #: env.opt:81 msgid "Foreground mode" msgstr "Chế độ cảnh gần" #: env.opt:87 msgid "EMAIL" msgstr "ÄỊA CHỈ THƯ" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "Ghi rõ địa chỉ cá»§a ngưá»i gá»­i (ngụ ý chế độ MDA)" #: env.opt:94 msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" "Dùng giao thức SMTP (OMP/ÄÆ°á»ng hầm) như diá»…n tả trong RFC 821, trên đầu vào/" "ra tiêu chuẩn" #: env.opt:98 msgid "Output options" msgstr "Tùy chá»n xuất" #: env.opt:101 msgid "Work silently" msgstr "Chạy im" #: env.opt:106 msgid "Work noisily" msgstr "Xuất chi tiết" #: env.opt:111 msgid "Debug mode" msgstr "Chế độ gỡ lá»—i" #: env.opt:115 msgid "Miscellaneous options" msgstr "Tùy chá»n linh tinh" #: env.opt:119 msgid "Specify alternate system configuration file" msgstr "Ghi rõ tập tin cấu hình hệ thống xen kẽ" #: env.opt:126 msgid "Ignore system configuration file" msgstr "Lá» Ä‘i tập tin cấu hình hệ thống" #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "CẤP Gá»  Lá»–I" #: env.opt:132 msgid "Run the configuration file syntax checker" msgstr "Chạy tiến trình kiểm tra cú pháp cá»§a tập tin cấu hình" #: env.opt:139 msgid "Print a list of configuration options used to build GNU Anubis" msgstr "In ra danh sách các tùy chá»n cấu hình dùng để xây dá»±ng GNU Anubis" #: env.opt:145 msgid "Do not check user configuration file permissions" msgstr "Không kiểm tra các quyá»n hạn cá»§a tập tin cấu hình ngưá»i dùng" #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "" "Cất giữ PID (số hiệu tiến trình) cá»§a trình ná»n Ä‘ang chạy, trong TẬP TIN" #: env.opt:155 msgid "Other options" msgstr "Tùy chá»n khác" #: env.opt:155 msgid "Give this help list" msgstr "Hiện trợ giúp này" #: env.opt:155 msgid "Give a short usage message" msgstr "Hiện trợ giúp ngắn" #: env.opt:155 msgid "Print program version" msgstr "In ra phiên bản chương trình" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "Trình ná»n gá»­i thư SMTP." #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "Sá»­ dụng:" #: env.opt:165 msgid "OPTION" msgstr "TÙY CHỌN" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" "Má»i đối số bắt buá»™c phải sá»­ dụng hay tùy chá»n vá»›i tùy chá»n dài cÅ©ng bắt buá»™c " "hay tùy chá»n vá»›i tùy chá»n ngắn tương ứng." #: env.opt:293 #, c-format msgid "Report bugs to %s.\n" msgstr "Hãy thông báo lá»—i cho %s.\n" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 msgid "argcv_get failed" msgstr "argcv_get bị lá»—i" #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "« --mode=mda » cần thiết « --local-mta »" #: env.opt:181 msgid "Missing recipient addresses" msgstr "Thiếu địa chỉ ngưá»i nhận" #: env.opt:256 #, c-format msgid "setgroups(1, %lu) failed" msgstr "setgroups(1, %lu) không thành công" #: env.opt:266 #, c-format msgid "setegid(%lu) failed" msgstr "setegid(%lu) không thành công" #: env.opt:269 #, c-format msgid "setregid(%lu,%lu) failed" msgstr "setregid(%lu,%lu) không thành công" #: env.opt:273 #, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "setresgid(%lu,%lu,%lu) không thành công" #: env.opt:282 #, c-format msgid "setgid(%lu) failed" msgstr "setgid(%lu) không thành công" #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "không thể đặt GID hữu ích đối vá»›i %lu" #: env.opt:307 #, c-format msgid "setreuid(%lu,-1) failed" msgstr "setreuid(%lu,-1) không thành công" #: env.opt:313 #, c-format msgid "second setuid(%lu) failed" msgstr "second setuid(%lu) không thành công" #: env.opt:321 #, c-format msgid "setuid(%lu) failed" msgstr "setuid(%lu) không thành công" #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "seteuid(0) thành công khi không nên." #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "không thể bá» quyá»n truy cập setuid không phải cá»§a ngưá»i chá»§" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "PAM: phiên chạy đã mở (cÅ©ng bị hạn chế)." #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "PAM: không có xác thá»±c để sá»­ dụng trình GNU Anubis." #: env.opt:377 src/main.c:152 #, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "ID ngưá»i dùng sai: %s" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "Tên ngưá»i dùng sai: %s" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "Quyá»n truy cập sai vá»›i %s. Äặt 0600." #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "%s không phải là má»™t tập tin bình thưá»ng hay má»™t liên kết má»m." #: env.opt:492 #, c-format msgid "Unknown mode: %s" msgstr "Không rõ chế độ: %s" #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "Không thể mở tập tin PID « %s »" #: src/errs.c:84 msgid "warning" msgstr "cảnh báo" #: src/errs.c:92 #, c-format msgid "Could not write to socket: %s" msgstr "Không thể ghi vào ổ cắm: %s" #: src/errs.c:94 msgid "Could not write to socket" msgstr "Không thể ghi vào ổ cắm" #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "Không rõ máy %s." #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "%s: tên máy là hợp lệ nhưng mà không có địa chỉ IP." #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "%s: gặp lá»—i máy phục vụ tên không thể phục hồi." #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "%s: gặp lá»—i máy phục vụ tên tạm thá»i: hãy thư lại sau." #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "%s: không rõ lá»—i DNS %d." #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "Trả lá»i dạng sai hay bất thưá»ng." #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "SASL gsasl_client_start: %s" #: src/esmtp.c:167 src/esmtp.c:186 #, c-format msgid "GSASL handshake aborted: %d %s" msgstr "Việc bắt tay GSASL bị há»§y bá» : %d %s" #: src/esmtp.c:198 #, c-format msgid "GSASL error: %s" msgstr "Lá»—i GSASL: %s" #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "Lá»—i xác thá»±c: %d %s" #: src/esmtp.c:215 msgid "Authentication successful." msgstr "Äã xác thá»±c thành công." #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "Äã lấy danh sách phương pháp xác thá»±c rá»—ng" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "Máy phục vụ không đưa cÆ¡ chế xác thá»±c có thể" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "Lá»–I NỘI BỘ" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" "CÆ¡ chế xác thá»±c đã chá»n %s thì cần thiết mật mã TLS. Không xác thá»±c ESMTP." #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "CÆ¡ chế xác thá»±c đã chon %s" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "Không thể sÆ¡ khởi libgsasl: %s" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "Không há»— trợ cách xác thá»±c (AUTH) ESMTP" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "#1 socket() không thành công." #: src/exec.c:45 msgid "#2 socket() failed." msgstr "#2 socket() không thành công." #: src/exec.c:55 msgid "#1 bind() failed" msgstr "#1 bind() không thành công." #: src/exec.c:60 msgid "#2 bind() failed" msgstr "#2 bind() không thành công." #: src/exec.c:65 src/net.c:233 msgid "listen() failed" msgstr "listen() không thành công." #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "getsockname() không thành công: %s." #: src/exec.c:75 msgid "connect() failed" msgstr "connect() không thành công." #: src/exec.c:87 msgid "socketpair() failed" msgstr "socketpair() không thành công." #: src/exec.c:108 #, c-format msgid "Executing %s..." msgstr "Äang thá»±c hiện %s..." #: src/exec.c:118 msgid "fork() failed" msgstr "fork() không thành công." #: src/exec.c:132 msgid "execvp() failed" msgstr "execvp() không thành công." # Name of a program: do not translate/ tên chương trình: đừng dịch #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "GPGME: %s." #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "Cài đặt GPGME phiên bản %s hay sau." #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "GPGME: không thành công. %s." #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "GPGME: không thể liệt kê các khoá: %s" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "GPGME: gặp ngưá»i nhận không hợp lệ: %s" #: src/gpg.c:320 #, c-format msgid "GPGME: Invalid signer found: %s" msgstr "GPGME: tìm thấy ngưá»i ký không hợp lệ: %s" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "GPGME: đã tạo số lượng chữ ký bất thưá»ng" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "GPGME: đã tạo chữ ký kiểu không đúng" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "GPGME: đã thông báo thuật toán khoá công không đúng: %i" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "GPGME: đã thông báo thuật toán băm không đúng: %i" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "GPGME: đã thông báo hạng chữ ký không đúng: %u" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "không thể mở tập tin xuất cua guile %s" #: src/guile.c:259 msgid "missing procedure name" msgstr "thiếu tên thá»§ tục" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "%s không phải là môt đối tượng thá»§ tục" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "%s đã trả lại kiểu car sai" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "%s đã trả lại kiểu cdr sai" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "%s đã trả lại kiểu sai" #: src/ident.c:101 msgid "IDENT: socket() failed" msgstr "IDENT: socket() không thành công" #: src/ident.c:113 msgid "IDENT: connect() failed" msgstr "IDENT: connect() không thành công" #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "IDENT: có kết nối đến %s:%u" #: src/ident.c:128 #, c-format msgid "IDENT: stream_write() failed: %s." msgstr "IDENT: stream_write() không thành công: %s." #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "IDENT: recvline() không thành công: %s." #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "IDENT: dữ liệu không đúng." #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "IDENT: rất có thể là dữ liệu đã mật mã bằng DES..." #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "IDENT: dữ liệu không đúng (đã giải mật mã DES)." #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "IDENT: đã quyết định ngưá»i dùng từ xa thành %s." #: src/main.c:54 msgid "Not enough memory" msgstr "Không đủ bá»™ nhá»›" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "%s đã được ánh xạ lại thành « %s@localhost »." #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "SÆ¡ đồ thông dịch: cú pháp không đúng." #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "Nhận chiá»u dài địa chỉ cấm cho máy %s" #: src/misc.c:120 #, c-format msgid "Invalid port number: %s" msgstr "Số hiệu cổng không hợp lệ: %s" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "Không tìm thấy tên máy mình" #: src/net.c:46 msgid "SERVER" msgstr "MÃY PHỤC VỤ" #: src/net.c:49 msgid "CLIENT" msgstr "MÃY KHÃCH" #: src/net.c:127 msgid "Getting remote host information..." msgstr "Äang lấy thông tin vá» máy từ xa..." #: src/net.c:164 msgid "Cannot create stream socket." msgstr "Không thể tạo ổ cắm luồng." #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "Không thể kết nối đến %s:%u. %s." #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "Có kết nối đến %s:%u" #: src/net.c:196 msgid "Cannot create stream socket" msgstr "Không thể tạo ổ cắm luồng" #: src/net.c:229 msgid "bind() failed" msgstr "bind() không thành công." #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "GNU Anubis đã đóng kết đến %s:%u" #: src/net.c:257 msgid "Short write" msgstr "Ghi ngắn" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "Äang dùng máy á»§y nhiệm SOCKS..." #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "Máy á»§y nhiệm SOCKS: %s" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "" "Äịa chỉ phải là địa chỉ IP (v.d. 127.0.0.0), không phải tên miá»n (v.d. www." "miá»n_này.com)." #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "Kết nối á»§y nhiệm SOCKS: đã thành công." #: src/socks.c:179 msgid "Request rejected or failed." msgstr "Yêu cầu bị từ chối hay không thành công." #: src/socks.c:182 msgid "Request rejected." msgstr "Yêu cầu bị từ chối." #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" "Yêu cầu bị từ chối, vì chương trình khách và identd đã thông báo thông tin " "nhận diện ngưá»i dùng (UID) khác nhau." #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "Máy phục vụ trả lá»i không hợp lệ." #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "Có lẽ không phải má»™t dịch vụ á»§y nhiệm SOCKS." #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "Phương pháp xác thá»±c (AUTH) á»§y nhiệm SOCKS: KHÔNG YÊU CẦU XÃC THá»°C" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "Phương pháp xác thá»±c (AUTH) á»§y nhiệm SOCKS: TÊN NGƯỜI DÙNG/MẬT KHẨU" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "Không thể gá»­i tên ngưá»i dùng hay mật khẩu rá»—ng." #: src/socks.c:291 msgid "Bad user name or password." msgstr "Tên ngưá»i dùng hay mật khẩu sai." #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "Xác thá»±c (AUTH) á»§y nhiệm SOCKS: đã thành công." #: src/socks.c:298 msgid "Server does not accept any method." msgstr "Máy phục vụ không chấp nhận phương pháp nào." #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "Máy phục vụ không chấp nhận phương pháp AUTH (xác thá»±c)." #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "Lá»—i máy phục vụ SOCKS chung." #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "Má»™t bá»™ quy tắc không cho phép kết nối." #: src/socks.c:404 msgid "Network unreachable." msgstr "Không thể tá»›i mạng." #: src/socks.c:407 msgid "Host unreachable." msgstr "Không thể tá»›i máy." #: src/socks.c:410 msgid "Connection refused." msgstr "Kết nối bị từ chối." #: src/socks.c:413 msgid "TTL expired." msgstr "Thá»i gian sống (TTL) đã hết hạn." #: src/socks.c:416 msgid "Command not supported." msgstr "Lệnh không được há»— trợ." #: src/socks.c:419 msgid "Address type not supported." msgstr "Kiểu địa chỉ không được há»— trợ." #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "Tín hiệu đã được bắt nên thoát rõ..." #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "Quá hạn ! Äang thoát..." #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "không thể stat (lấy trạng thái vá») tập tin « %s »" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "Tập tin « %s » đã được Ä‘á»c.\n" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "Chào mừng ngưá»i dùng %s !" #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "Äang Ä‘á»c tập tin cấu hình hệ thống %s..." #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "Äang Ä‘á»c tập tin cấu hình ngưá»i dùng %s..." #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "" "Chỉ thị `logfile' (tập tin bản ghi) bị bá» qua trong tập tin cấu hình chính." #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "Tiến trình con bị ngưng trong vòng %lu giây" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "Lệnh HANG (treo) không được phép cho ngưá»i dùng « %s »" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "Không có phần như vậy: %s" #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" "Gặp ký tá»± rải rác trong cấu hình: \\%03o. Có lẽ thiếu dấu trích dẫn ở quanh " "chuá»—i." #: src/rcfile.l:385 msgid "Anubis RC file error" msgstr "Lá»—i tập tin RC Anubis." #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "Phần %s đã được định nghÄ©a" #: src/rcfile.y:229 #, c-format msgid "unknown keyword: %s" msgstr "không rõ từ khóa: %s" #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "Biểu thức chính quy không hợp lệ (xem thông Ä‘iệp trên)" #: src/rcfile.y:567 msgid "missing replacement value" msgstr "thiếu giá trị thay thế" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "Không phải là cấp gỡ lá»—i hợp lệ: %s" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "Không rõ ký tá»± sá»­a đổi biểu thức chính quy" #: src/rcfile.y:1314 msgid "STOP" msgstr "DỪNG" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "Äang gá»i %s" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "THÊM %s [%s] %s" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "SỬA Äá»”I %s [%s] [%s] %s" #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "Gá»  BỎ DÃ’NG ÄẦU [%s]" #: src/rcfile.y:1371 #, c-format msgid "Executing %s" msgstr "Äang thá»±c hiện %s" #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "Bá»™ gây nên đã khá»›p « %s »" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "Äiá»u kiện đã khá»›p %s[%s] « %s »" #: src/rcfile.y:1604 #, c-format msgid "Section %s" msgstr "Phần %s" #: src/rcfile.y:1628 #, c-format msgid "Unknown section: %s" msgstr "Không rõ phần: %s" #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "chương trình không được phép trong phần này" #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "Lá»–I NỘI BỘ ở %s:%d: biểu thức chính quy còn thiếu hay không hợp lệ" #: src/regex.c:328 #, c-format msgid "regcomp() failed at %s: %s." msgstr "regcomp() không thành công ở %s: %s." #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "pcre_compile() không thành công ở hiệu %d: %s." #: src/regex.c:429 #, c-format msgid "pcre_fullinfo() failed: %d." msgstr "pcre_fullinfo() không thành công: %d." #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "Khá»›p được, nhưng mà có quá nhiá»u chuá»—i con." #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "Lá»—i lấy chuá»—i con %d (%d)." #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "Äang sÆ¡ khởi kết nối TLS/SSL vá»›i MTA..." #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "Gặp lá»—i TLS khi Ä‘á»c « %s »: %s" #: src/tls.c:198 #, c-format msgid "TLS/SSL handshake failed: %s" msgstr "Việc bắt tay TLS/SSL không thành công: %s" #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "Äang sÆ¡ khởi kết nối TLS/SSL vá»›i MUA..." #: src/tls.c:280 msgid "TLS/SSL handshake failed!" msgstr "Việc bắt tây TLS/SSL không thành công !" #: src/tls.c:301 msgid "No certificate was sent." msgstr "Chưa gá»­i chứng nhận." #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "Chứng nhận này không tin cậy." #: src/tls.c:311 msgid "The certificate has expired." msgstr "Chứng nhận đã hết hạn." #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "Chứng nhận chưa hoạt động." #: src/tls.c:326 msgid "No certificate was found!" msgstr "Không tìm thấy chứng nhận !" #: src/tls.c:331 msgid "The certificate is trusted." msgstr "Chứng nhận này tin cậy." #: src/tls.c:361 #, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "- DH vô danh dùng số nguyên tố cá»§a %d bit.\n" #: src/tls.c:370 #, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "- DH phù du dùng số nguyên tố cá»§a %d bit.\n" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "- Giao thức: %s\n" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "- Kiểu chứng nhận: %s\n" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "- Nén: %s\n" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "- Mật mã: %s\n" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "- MAC: %s\n" #: src/tls.c:423 #, c-format msgid "- Certificate info:\n" msgstr "- Thông tin chứng nhận:\n" #: src/tls.c:427 #, c-format msgid "- Certificate is valid since: %s" msgstr "- Chứng nhận hợp lệ kể từ : %s" #: src/tls.c:429 #, c-format msgid "- Certificate expires: %s" msgstr "- Chứng nhận hết hạn: %s" #: src/tls.c:434 #, c-format msgid "- Certificate fingerprint: " msgstr "- Vân tay chứng nhận: " #: src/tls.c:444 #, c-format msgid "- Certificate serial number: " msgstr "- Số sản xuất chứng nhận: " #: src/tls.c:453 #, c-format msgid "- Certificate public key: " msgstr "- Khoá công chứng nhận: " #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "RSA\n" #: src/tls.c:457 #, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] "- Giá trị tuyệt đối: %d bit\n" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "DSA\n" #: src/tls.c:463 #, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] "- Số mÅ© : %d bit\n" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "KHÔNG RÕ\n" #: src/tls.c:469 #, c-format msgid "- Certificate version: #%d\n" msgstr "- Phiên bản chứng nhận: #%d\n" #: src/tls.c:476 #, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr "- Tên miá»n cá»§a nhà cấp chứng nhận: %s\n" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 #, fuzzy msgid "Transferring messages..." msgstr "Äang truyá»n thông Ä‘iệp..." #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "Äang bắt đầu phiên chạy SMTP..." #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "Äang dùng mật mã TLS/SSL..." #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "CẢNH BÃO : %s" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "Lệnh STARTTLS không thành công." #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "Dùng mật mã TLS/SSL chỉ giữa trình Anubis và MTA ở xa thôi..." #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "Lệnh STARTTLS (ONEWAY) (chỉ má»™t chiá»u) không thành công." #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: tùy chá»n « %s » là mÆ¡ hồ\n" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: tùy chá»n « --%s » không cho phép đối số\n" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: tùy chá»n « %c%s » không cho phép đối số\n" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: tùy chá»n « %s » cần thiết đối số\n" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: không nhận ra tùy chá»n « --%s »\n" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: không nhận ra tùy chá»n « %c%s »\n" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: không cho phép tùy chá»n -- %c\n" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: tùy chá»n không hợp lệ -- %c\n" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: tùy chá»n cần thiết đối số -- %c\n" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: tùy chá»n « -W %s » là mÆ¡ hồ\n" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: tùy chá»n « -W %s » không cho phép đối số\n" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "hết bá»™ nhá»› hoàn toàn" #~ msgid "MTA has not been specified. Set either REMOTE-MTA or LOCAL-MTA." #~ msgstr "" #~ "Chưa ghi rõ MTA (tác nhân truyá»n thư). Hãy đặt hoặc REMOTE-MTA (MTA từ " #~ "xa) hay LOCAL-MTA (MTA cục bá»™)." #~ msgid "Loop not allowed. Connection rejected." #~ msgstr "Không cho phép vòng lặp nên kết nối bị từ chối." #~ msgid "Try '%s --help' for more information." #~ msgstr "Hãy thá»­ lệnh '%s --help' (trÆ¡ giúp) để xem thông tin thêm." #~ msgid "" #~ "\n" #~ "GNU Anubis is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2 of the License, or\n" #~ "(at your option) any later version." #~ msgstr "" #~ "\n" #~ "Trình Anubis cá»§a GNU là phần má»m tá»± do: bạn có thể phân phối lại nó\n" #~ "và/hay sá»­a đổi nó vá»›i Ä‘iá»u kiện cá»§a Quyá»n Công Chung GNU (GPL)\n" #~ "như đã xuất bởi Tổ chức Phần má»m Tá»± do, hoặc phiên bản 2\n" #~ "cá»§a Quyá»n ấy, hay (tùy chá»n) bất cứ phiên bản sau nào." #~ msgid "" #~ "\n" #~ "GNU Anubis is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details." #~ msgstr "" #~ "\n" #~ "Trình Anubis cá»§a GNU được phân phối vì chúng tôi mong nó có ích,\n" #~ "nhưng mà không bảo đảm gì cả,\n" #~ "dù khả năng bán hay khả năng làm việc dứt khoát.\n" #~ "Hãy xem Quyá»n Công Chung GNU để tìm chi tiết." #~ msgid "" #~ "\n" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with GNU Anubis; if not, write to the Free Software\n" #~ "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA" #~ msgstr "" #~ "\n" #~ "Bạn nên đã nhận má»™t bản sao cá»§a Quyá»n Công Chung GNU (GPL)\n" #~ "cùng vá»›i trình Anubis cá»§a GNU; nếu không thì hãy viết thư cho:\n" #~ "Free Software Foundation, Inc.,\n" #~ "59 Temple Place, Suite 330,\n" #~ "Boston, MA 02111-1307 USA (Mỹ)" #~ msgid "" #~ "\n" #~ "GNU Anubis is released under the GPL with the additional exemption that\n" #~ "compiling, linking, and/or using OpenSSL is allowed.\n" #~ msgstr "" #~ "\n" #~ "Trình Anubis cá»§a GNU được phát hành vá»›i Ä‘iá»u kiện cá»§a GPL\n" #~ "và cÅ©ng vá»›i sá»± miá»…n là cho phép biên dịch, liên kết và/hay sá»­ dụng " #~ "OpenSSL.\n" #~ msgid "Usage: anubis [options]\n" #~ msgstr "Cách sá»­ dụng: anubis [tùy_chá»n]\n" #~ msgid " -m, --mode=MODE Select operation mode." #~ msgstr " -m, --mode=CHẾ_ÄỘ Chá»n _chế độ_ thao tác." #~ msgid "" #~ " MODE is either \"transparent\" or \"auth\"" #~ msgstr "" #~ " CHẾ ÄỘ ấy là hoặc \"transparent\" (trong " #~ "suốt)\n" #~ "\t\t\t\t\t\t\thay \"auth\" (xác thức)" #~ msgid " -f, --foreground Foreground mode." #~ msgstr " -f, --foreground Chế độ _cảnh gần_." #~ msgid " -s, --silent Work silently." #~ msgstr " -s, --silent Không xuất chi tiết (_im_)." #~ msgid " -v, --verbose Work noisily." #~ msgstr " -v, --verbose Xuất _chi tiết_." #~ msgid " -D, --debug Debug mode." #~ msgstr " -D, --debug Chế độ _gỡ lá»—i_." #~ msgid " --norc Ignore system configuration file." #~ msgstr " --norc Bá» qua tập tin cấu hình hế thống." #~ msgid " --version Print version number and copyright." #~ msgstr "" #~ " --version Hiển thị số _phiên bản_ và thông tin quyá»n." #~ msgid " --help It's obvious..." #~ msgstr " --help _Trợ giúp_" #~ msgid "malloc() failed. Cannot allocate enough memory." #~ msgstr "malloc() (phân chia bá»™ nhá»›) không thể phân chia đủ bá»™ nhá»›." #~ msgid "realloc() failed. Cannot reallocate enough memory." #~ msgstr "realloc() (phân chia lại bá»™ nhá»›) không thể phân chia lại đủ bá»™ nhá»›." #~ msgid "INTERNAL ERROR (get_response_smtp): buffer exhausted. Please report." #~ msgstr "" #~ "Lá»–I NỘI BỘ (get_response_smtp): (gá»i trả lá»i SMTP) hết bá»™ đệm rồi. Hãy " #~ "thông báo lá»—i này." #~ msgid "Seeding random number generator..." #~ msgstr "Chèn bá»™ tạo số ngẫu nhiên..." #~ msgid "Unable to seed random number generator." #~ msgstr "Không chèn được bá»™ tạo số ngẫu nhiên." #~ msgid "Write error: %s" #~ msgstr "Lá»—i ghi: %s" #~ msgid "Read error: %s" #~ msgstr "Lá»—i Ä‘á»c: %s" #~ msgid "SSLv23_client_method() failed." #~ msgstr "SSLv23_client_method() (phương pháp máy khách) không thành công." #~ msgid "Can't create SSL_CTX object." #~ msgstr "Không tạo được đối tượng SSL_CTX." #~ msgid "SSL_CTX_set_cipher_list() failed." #~ msgstr "SSL_CTX_set_cipher_list() (lập danh sách mật mã) không thành công." #~ msgid "Can't create a new SSL structure for a connection." #~ msgstr "Không tạo được cấu trúc SSL má»›i để kết nối." #~ msgid "SSLv23_server_method() failed." #~ msgstr "SSLv23_server_method() (phương pháp máy chá»§) không thành công." #~ msgid "SSL_CTX_use_certificate_file() failed." #~ msgstr "" #~ "SSL_CTX_use_certificate_file() (dùng tập tin chứng nhận) không thành công." #~ msgid "SSL_CTX_use_PrivateKey_file() failed." #~ msgstr "" #~ "SSL_CTX_use_PrivateKey_file() (dùng tập tin khóa riêng) không thành công." #~ msgid "Private key does not match the certificate public key." #~ msgstr "Khóa riêng không khá»›p khóa công cá»§a chứng nhận." #~ msgid "%s connection using %s (%u bit)" #~ msgid_plural "%s connection using %s (%u bits)" #~ msgstr[0] "%s kết nối dùng %s (%u bit)" #~ msgid "Server public key is %d bit" #~ msgid_plural "Server public key is %d bits" #~ msgstr[0] "Khóa công máy chá»§ là %d bit" #~ msgid "Certificate:" #~ msgstr "Chứng nhận:" #~ msgid "X509_NAME_oneline [subject] failed!" #~ msgstr "" #~ "X509_NAME_oneline [subject] (tên dòng đơn [chá»§ Ä‘á»]) không thành công." #~ msgid "Subject: %s" #~ msgstr "Chá»§ Ä‘á»: %s" #~ msgid "X509_NAME_oneline [issuer] failed!" #~ msgstr "" #~ "X509_NAME_oneline [issuer] (tên dòng đơn [nhà phat hành] không thành công." #~ msgid "Issuer: %s" #~ msgstr "Nhà phát hành: %s" anubis-4.1.1+dfsg1/po/it.po0000600000175000017500000007647011123150056013142 0ustar kbkb# ITALIAN TRANSLATION OF ANUBIS-4.1 # Copyright (C) 2007 The Anubis Team # This file is distributed under the same license as the anubis package. # Vincenzo Campanella , 2008. #: env.opt:43 msgid "" msgstr "" "Project-Id-Version: anubis-4.1\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: 2008-11-04 20:31+0100\n" "Last-Translator: Vincenzo Campanella \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: KBabel 1.11.4\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "Ingresso nel ciclo XDB in corso" #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "Uscita dal ciclo XDB in corso" #: src/authmode.c:522 msgid "Database not specified" msgstr "Database non specificato" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "Impossibile aprire il database %s: %s" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "Trovato record per «%s»." #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "Impossibile recuperare i dati dal database SASL: %s" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "Record per «%s» non trovato." #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "Connessione chiusa correttamente." #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "PAM: sessione chiusa." #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "PAM: rilascio dell'autentificatore fallito." #: src/daemon.c:41 msgid "daemon() failed" msgstr "daemon() fallita" #: src/daemon.c:48 msgid "Cannot fork." msgstr "Impossibile effettuare il fork." #: src/daemon.c:56 msgid "setsid() failed" msgstr "setsid() fallita" #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "Avvio del demone %s riuscito." #: src/daemon.c:80 #, c-format msgid "Exited successfully" msgstr "Uscito correttamente" #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "Fallito con stato %d" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "Terminato su segnale %d" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "Arrestato su segnale %d" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "Effettuato il core dump" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "Terminato" #: src/daemon.c:108 #, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "Processo figlio [%lu] terminato. %s. %d client rimanente." msgstr[1] "Processo figlio [%lu] terminato. %s. %d client rimanenti." #: src/daemon.c:120 #, c-format msgid "Local program [%lu] finished. %s" msgstr "Programma locale [%lu] terminato. %s" #: src/daemon.c:161 msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "" "ATTENZIONE: un utente senza privilegi non può essere risolto. Verificare le " "impostazioni." #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "ATTENZIONE: non è stato specificato un utente senza privilegi." #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "GNU Anubis in esecuzione" #: src/daemon.c:237 src/exec.c:80 msgid "accept() failed" msgstr "accept() fallita" #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "Contenitori TCP: connessione da %s:%u rifiutata." #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "Troppi client. Connessione da %s:%u rifiutata." #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "Connessione da %s:%u" #: src/daemon.c:287 msgid "daemon: cannot fork" msgstr "Demone: impossibile eseguire il fork" #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "MTA non è stato specificato. Impostare REMOTE-MTA o LOCAL-MTA." #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "[HOST:]PORTA" #: env.opt:45 msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" "Specificare la porta TCP su cui GNU Anubis si metterà in ascolto per le " "connessioni; l'HOST predefinito è INADDR_ANY, la porta predefinita è 24 " "(sistema privato di posta)" #: env.opt:54 msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "" "Specifica un nome di host STMP remoto o l'indirizzo IP; il valore " "predefinito è 25" #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "FILE" #: env.opt:62 msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" "Esegue un server STMP locale che lavora su standard input e output " "(programma tipo inetd); questa opzione esclude l'opzione «--remote-mta»" #: env.opt:74 msgid "MODE" msgstr "MODALITÀ" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "" "Seleziona una modalità operativa; può essere «transparent», «auth» o «mda»" #: env.opt:81 msgid "Foreground mode" msgstr "Modalità in primo piano" #: env.opt:87 msgid "EMAIL" msgstr "EMAIL" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "Specifica l'indirizzo del mittente (implica la modalità MDA)" #: env.opt:94 msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" "Usa il protocollo SMTP (OMP/Tunnel) come descritto nella RFC 821 su standard " "input e output" #: env.opt:98 msgid "Output options" msgstr "Opzioni di output" #: env.opt:101 msgid "Work silently" msgstr "Modalità silenziosa" #: env.opt:106 msgid "Work noisily" msgstr "Modalità rumorosa" #: env.opt:111 msgid "Debug mode" msgstr "Modalità debug" #: env.opt:115 msgid "Miscellaneous options" msgstr "Varie opzioni" #: env.opt:119 msgid "Specify alternate system configuration file" msgstr "Specifica il file di configurazione alternativo" #: env.opt:126 msgid "Ignore system configuration file" msgstr "Ignora il file di configurazione del sistema" #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "LIVELLO DI DEBUG" #: env.opt:132 msgid "Run the configuration file syntax checker" msgstr "Esegue il controllo di sintassi del file di configurazione" #: env.opt:139 msgid "Print a list of configuration options used to build GNU Anubis" msgstr "" "Stampa un elenco di opzioni di configurazione usate per compilare GNU Anubis" #: env.opt:145 msgid "Do not check user configuration file permissions" msgstr "Non verifica i permessi sul file di configurazione utente" #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "Memorizza il PID del demone in esecuzione nel FILE" #: env.opt:155 msgid "Other options" msgstr "Altre opzioni" #: env.opt:155 msgid "Give this help list" msgstr "Mostra questo aiuto" #: env.opt:155 msgid "Give a short usage message" msgstr "Mostra un breve messaggio sull'uso" #: env.opt:155 msgid "Print program version" msgstr "Stampa la versione del programma" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "Demone per l'invio dei messaggi STMP." #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "Uso:" #: env.opt:165 msgid "OPTION" msgstr "OPZIONE" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" "Gli argomenti obbligatori o facoltativi per le opzioni lunghe sono " "ugualmente obbligatori o facoltativi per le corrispondenti opzioni brevi." #: env.opt:293 #, c-format msgid "Report bugs to %s.\n" msgstr "Segnalare i bug a %s.\n" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 msgid "argcv_get failed" msgstr "argcv_get fallita" #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "--mode=mda richiede --local-mta" #: env.opt:181 msgid "Missing recipient addresses" msgstr "Manca l'indirizzo del destinatario" #: env.opt:256 #, c-format msgid "setgroups(1, %lu) failed" msgstr "setgroups(1, %lu) fallita" #: env.opt:266 #, c-format msgid "setegid(%lu) failed" msgstr "setegid(%lu) fallita" #: env.opt:269 #, c-format msgid "setregid(%lu,%lu) failed" msgstr "setregid(%lu,%lu) fallita" #: env.opt:273 #, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "setresgid(%lu,%lu,%lu) fallita" #: env.opt:282 #, c-format msgid "setgid(%lu) failed" msgstr "setgid(%lu) fallita" #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "impossibile impostare il gid effettivo a %lu" #: env.opt:307 #, c-format msgid "setreuid(%lu,-1) failed" msgstr "setreuid(%lu,-1) fallita" #: env.opt:313 #, c-format msgid "second setuid(%lu) failed" msgstr "secondo setuid(%lu) fallita" #: env.opt:321 #, c-format msgid "setuid(%lu) failed" msgstr "setuid(%lu) fallita" #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "seteuid(0) è riuscita, ma doveva fallire" #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "impossibile abbandonare i privilegi setuid non root" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "PAM: sessione aperta (restrizioni applicate)." #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "PAM: non autenticato per poter usare GNU Anubis." #: env.opt:377 src/main.c:152 #, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "ID utente non valido: %s" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "Nome utente non valido: %s" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "Permessi errati su %s. Impostare a 0600." #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "%s non è un file normale né un link simbolico." #: env.opt:492 #, c-format msgid "Unknown mode: %s" msgstr "Modalità sconosciuta: %s" #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "Impossibile aprire il file PID %s" #: src/errs.c:84 msgid "warning" msgstr "attenzione" #: src/errs.c:92 #, c-format msgid "Could not write to socket: %s" msgstr "Impossibile scrivere su socket: %s" #: src/errs.c:94 msgid "Could not write to socket" msgstr "Impossibile scrivere su socket" #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "Host %s sconosciuto." #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "%s: il nome dell'host è valido, ma non ha un indirizzo IP." #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "%s: errore irrecuperabile del server dei nomi." #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "%s: errore del server dei nomi temporaneo. Riprovare in seguito." #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "%s: errore di DNS sconosciuto %d." #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "Risposta malformata o inattesa" #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "SASL gsasl_client_start: %s" #: src/esmtp.c:167 src/esmtp.c:186 #, c-format msgid "GSASL handshake aborted: %d %s" msgstr "Negoziazione GSASL annullata: %d %s" #: src/esmtp.c:198 #, c-format msgid "GSASL error: %s" msgstr "Errore di GSASL: %s" #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "Autenticazione fallita: %d %s" #: src/esmtp.c:215 msgid "Authentication successful." msgstr "Autenticazione riuscita." #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "Ricevuto elenco di metodi di autenticazione vuoto" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "" "Il server non ha offerto alcun meccanismo di autenticazione utilizzabile" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "ERRORE INTERNO" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" "Il meccanismo di autenticazione selezionato %s richiede cifratura TLS. " "L'autenticazione ESMTP non viene utilizzata" #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "Meccanismo di autenticazione selezionato %s" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "Impossibile inizializzare libgsasl: %s" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "ESTMP AUTH non è supportato" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "#1 socket() fallita." #: src/exec.c:45 msgid "#2 socket() failed." msgstr "#2 socket() fallita." #: src/exec.c:55 msgid "#1 bind() failed" msgstr "#1 bind() fallita" #: src/exec.c:60 msgid "#2 bind() failed" msgstr "#2 bind() fallita" #: src/exec.c:65 src/net.c:233 msgid "listen() failed" msgstr "listen() fallita" #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "getsockname() fallita: %s." #: src/exec.c:75 msgid "connect() failed" msgstr "connect() fallita" #: src/exec.c:87 msgid "socketpair() failed" msgstr "socketpair() fallita" #: src/exec.c:108 #, c-format msgid "Executing %s..." msgstr "Esecuzione di %s in corso" #: src/exec.c:118 msgid "fork() failed" msgstr "fork() fallita" #: src/exec.c:132 msgid "execvp() failed" msgstr "execvp() fallita" #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "GPGME: %s." #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "Installare GPGME versione %s o successiva." #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "GPGME: fallito. %s." #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "GPGME: impossibile elencare le chiavi: %s" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "GPGME: trovato destinatario non valido: %s" #: src/gpg.c:320 #, c-format msgid "GPGME: Invalid signer found: %s" msgstr "GPGME: trovato firmatario non valido: %s" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "GPGME: creato un numero di firme inatteso" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "GPGME: creato tipo di firma non valido" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "GPGME: trovato errore dell'algoritmo di chiave pubblica: %i" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "GPGME: trovato errore dell'algoritmo dell'hash: %i" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "GPGME: trovato errore della classe della firma: %u" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "impossibile aprire il file di output guile %s" #: src/guile.c:259 msgid "missing procedure name" msgstr "nome di procedura mancante" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "%s non è un oggetto procedurale" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "Tipo di car errato di ritorno da %s" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "Tipo di cdr errato di ritorno da %s" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "Tipo di ritorno errato da %s" #: src/ident.c:101 msgid "IDENT: socket() failed" msgstr "IDENT: socket() fallita" #: src/ident.c:113 msgid "IDENT: connect() failed" msgstr "IDENT: connect() fallita" #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "IDENT: connesso a %s:%u" #: src/ident.c:128 #, c-format msgid "IDENT: stream_write() failed: %s." msgstr "IDENT: stream_write() fallita: %s." #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "IDENT: recvline() fallita: %s." #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "IDENT: dati non corretti." #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "IDENT: dati probabilmente cifrati con DES." #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "IDENT: dati non corretti (DES decifrato)." #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "IDENT: utente remoto risolto a %s." #: src/main.c:54 msgid "Not enough memory" msgstr "Memoria insufficiente" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "%s rimappato a %s@localhost." #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "Mappa delle traduzioni: sintassi non corretta." #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "Ricevuta lunghezza d'indirizzo illecita per l'host %s" #: src/misc.c:120 #, c-format msgid "Invalid port number: %s" msgstr "Numero di porta non valido: %s" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "Impossibile trovare il nome di host del sistema in uso" #: src/net.c:46 msgid "SERVER" msgstr "SERVER" #: src/net.c:49 msgid "CLIENT" msgstr "CLIENT" #: src/net.c:127 msgid "Getting remote host information..." msgstr "Recupero delle informazioni dell'host remoto in corso" #: src/net.c:164 msgid "Cannot create stream socket." msgstr "Impossibile creare un socket di flusso." #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "Impossibile connettersi a %s:%u. %s." #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "Connesso a %s:%u" #: src/net.c:196 msgid "Cannot create stream socket" msgstr "Impossibile creare un socket di flusso" #: src/net.c:229 msgid "bind() failed" msgstr "bind() fallita" #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "GNU Anubis connesso a %s:%u" #: src/net.c:257 msgid "Short write" msgstr "Scrittura corta" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "Uso del proxy SOCKS in corso" #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "Proxy SOCKS: %s" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "L'indirizzo deve essere un IP, non un nome di dominio." #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "Collegamento proxy SOCKS: riuscito." #: src/socks.c:179 msgid "Request rejected or failed." msgstr "Richiesta rifiutata o fallita." #: src/socks.c:182 msgid "Request rejected." msgstr "Richiesta rifiutata." #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" "Richiesta rifiutata poiché il programma del client e identd hanno riportato " "ID utenti differenti." #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "Risposta del server non valida." #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "Probabilmente non un servizio proxy SOCKS." #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "Proxy SOCKS, metodo AUTH: NESSUNA AUTENTICAZIONE RICHIESTA" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "Proxy SOCKS, metodo AUTH: NOME UTENTE/PASSWORD" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "Impossibile inviare nome utente o password vuoti" #: src/socks.c:291 msgid "Bad user name or password." msgstr "Nome utente o password errati." #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "Proxy SOCKS AUTH: riuscita." #: src/socks.c:298 msgid "Server does not accept any method." msgstr "Il server non accetta alcun metodo." #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "Il server non accetta un metodo AUTH." #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "Errore generale del server SOCKS." #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "Alcune regole non permettono la connessione." #: src/socks.c:404 msgid "Network unreachable." msgstr "Rete irraggiungibile." #: src/socks.c:407 msgid "Host unreachable." msgstr "Host irraggiungibile." #: src/socks.c:410 msgid "Connection refused." msgstr "Connessione rifiutata." #: src/socks.c:413 msgid "TTL expired." msgstr "TTL scaduto." #: src/socks.c:416 msgid "Command not supported." msgstr "Comando non supportato." #: src/socks.c:419 msgid "Address type not supported." msgstr "Tipo d'indirizzo non supportato." #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "Ricevuto segnale. Uscita regolare in corso." #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "Tempo scaduto. Uscita in corso." #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "Impossibile fare lo stat di «%s»" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "Il file «%s» è già stato letto.\n" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "Bevenuto/a, utente %s." #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "Lettura del file di configurazione del sistema %s in corso" #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "Lettura del file di configurazione dell'utente %s in corso" #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "La direttiva «logfile» è ignorata nel file di configurazione principale" #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "Processo figlio sospeso per %lu secondo" msgstr[1] "Processo figlio sospeso per %lu secondi" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "Il comando HANG non è permesso per l'utente «%s»" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "Sezione inesistente: %s" #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" "Carattere errato nel file di configurazione: \\%03o. Probabilmente mancano " "caratteri di delimitazione di commento alle estremità della stringa" #: src/rcfile.l:385 msgid "Anubis RC file error" msgstr "Errore di file RC di Anubis" #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "Sezione %s già definita" #: src/rcfile.y:229 #, c-format msgid "unknown keyword: %s" msgstr "Parola chiave sconosciuta: %s" #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "Espressione regolare non valida (vedere il messaggio soprastante)" #: src/rcfile.y:567 msgid "missing replacement value" msgstr "Valore di sostituzione mancante" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "Livello di debug non valido: %s" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "Modificatore dell'espressione regolare sconosciuto" #: src/rcfile.y:1314 msgid "STOP" msgstr "STOP" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "Chiamata di %s in corso" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "ADD %s [%s] %s" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "MODIFY %s [%s] [%s] %s" #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "REMOVE HEADER [%s]" #: src/rcfile.y:1371 #, c-format msgid "Executing %s" msgstr "Esecuzione di %s in corso" #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "L'evento «%s» si è avverato" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "La condizione %s[%s] «%s» si è avverata" #: src/rcfile.y:1604 #, c-format msgid "Section %s" msgstr "Sezione %s" #: src/rcfile.y:1628 #, c-format msgid "Unknown section: %s" msgstr "Sezione sconosciuta: %s" #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "Il programma non è permesso in questa sezione" #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "ERRORE INTERNO in %s:%d: espressione regolare mancante o non valida" #: src/regex.c:328 #, c-format msgid "regcomp() failed at %s: %s." msgstr "regcomp() fallita su %s: %s." #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "pcre_compile() fallita su offset %d: %s." #: src/regex.c:429 #, c-format msgid "pcre_fullinfo() failed: %d." msgstr "pcre_fullinfo() fallita: %d." #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "Avverato, ma troppe sottostringhe." #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "Recupero della sottostringa %d fallito (%d)." #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "Inizializzazione della connessione TLS/SSL con MTA in corso" #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "Errore di TLS in fase di lettura di «%s»: %s" #: src/tls.c:198 #, c-format msgid "TLS/SSL handshake failed: %s" msgstr "Negoziazione di TLS/SSL fallita: %s" #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "Inizializzazione della connessione TLS/SSL con MUA in corso" #: src/tls.c:280 msgid "TLS/SSL handshake failed!" msgstr "Negoziazione di TLS/SSL fallita." #: src/tls.c:301 msgid "No certificate was sent." msgstr "Nessun certificato è stato inviato." #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "Il certificato non è fidato." #: src/tls.c:311 msgid "The certificate has expired." msgstr "Il certificato è scaduto." #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "Il certificato non è ancora stato attivato." #: src/tls.c:326 msgid "No certificate was found!" msgstr "Non è stato trovato alcun certificato." #: src/tls.c:331 msgid "The certificate is trusted." msgstr "Il certificato è fidato." #: src/tls.c:361 #, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "- DH anonimo con uso di un numero primo di %d bit.\n" msgstr[1] "- DH anonimo con uso di un numero primo di %d bit.\n" #: src/tls.c:370 #, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "- DH effimero con uso di un numero primo di %d bit.\n" msgstr[1] "- DH effimero con uso di un numero primo di %d bit.\n" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "- Protocollo: %s\n" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "- Tipo di certificato: %s\n" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "- Compressione: %s\n" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "- Cifra: %s\n" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "- MAC: %s\n" #: src/tls.c:423 #, c-format msgid "- Certificate info:\n" msgstr "- Informazioni sul certificato:\n" #: src/tls.c:427 #, c-format msgid "- Certificate is valid since: %s" msgstr "- Il certificato è valido dal: %s" #: src/tls.c:429 #, c-format msgid "- Certificate expires: %s" msgstr "- Il certificato scade il: %s" #: src/tls.c:434 #, c-format msgid "- Certificate fingerprint: " msgstr "- Impronta digitale del certificato: " #: src/tls.c:444 #, c-format msgid "- Certificate serial number: " msgstr "- Numero di serie del certificato: " #: src/tls.c:453 #, c-format msgid "- Certificate public key: " msgstr "- Chiave pubblica del certificato: " #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "RSA\n" #: src/tls.c:457 #, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] "- Modulo: %d bit\n" msgstr[1] "- Modulo: %d bit\n" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "DSA\n" #: src/tls.c:463 #, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] "- Esponente: %d bit\n" msgstr[1] "- Esponente: %d bit\n" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "SCONOSCIUTO\n" #: src/tls.c:469 #, c-format msgid "- Certificate version: #%d\n" msgstr "- Versione del certificato: no. %d\n" #: src/tls.c:476 #, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr "- DN dell'emittente del certificato: %s\n" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 #, fuzzy msgid "Transferring messages..." msgstr "Trasferimento messaggi in corso" #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "Avvio della sessione SMTP in corso" #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "Uso della cifratura TLS/SSL in corso" #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "ATTENZIONE: %s" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "Comando STARTTLS fallito." #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "Uso della cifratura TLS/SSL solo fra Anubis e il MTA remoto in corso" #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "Comando STARTTLS (ONEWAY) fallito." #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: l'opzione «%s» è ambigua\n" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: l'opzione «--%s» non ammette argomenti\n" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: l'opzione «%c%s» non ammette argomenti\n" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: l'opzione «%s» richiede un argomento\n" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: opzione «--%s» sconosciuta\n" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: opzione «%c%s» sconosciuta\n" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: opzione illecita - %c\n" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: opzione non valida - %c\n" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: l'opzione richiede un argomento - %c\n" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: l'opzione «-W %s» è ambigua\n" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: l'opzone «-W %s» non ammette argomenti\n" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "Memoria esaurita" #~ msgid "MTA has not been specified. Set either REMOTE-MTA or LOCAL-MTA." #~ msgstr "MTA non è stato specificato. Impostare REMOTE-MTA o LOCAL-MTA." #~ msgid "Loop not allowed. Connection rejected." #~ msgstr "Ciclo non permesso. Connessione rifiutata." anubis-4.1.1+dfsg1/po/da.po0000600000175000017500000007576511123150055013117 0ustar kbkb# Danish translation of anubis. # Copyright (C) 2008 anubis. # This file is distributed under the same license as the anubis package. # Joe Hansen , 2008. # # konventioner # `%s' -> %s (generelt er citationstegn sÃ¥ vidt muligt udeladt i den danske oversættelse). # Bemærk at teksten foran () ikke skal oversættes. # fork -> forgrene # GNU Anubis -> GNU Anubis (mÃ¥ske bindestreg) # Malformed -> defekt # options -> indstillinger (ved oversigter m.m) tilvalg (ved -x -y kommandoer). # HÃ¥ber at jeg har fÃ¥et dem rigtigt. # socket -> sokkel # krypteringsnavne m.v. er bevaret som egennavne. # #: env.opt:43 msgid "" msgstr "" "Project-Id-Version: anubis-4.1\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: 2008-12-09 00:00+0000\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "GÃ¥r i XDB-løkke..." #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "Forlader XDB-løkke..." #: src/authmode.c:522 msgid "Database not specified" msgstr "Database ikke angivet" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "Kan ikke Ã¥bne database %s: %s" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "Fandt post for %s." #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "Kan ikke hente data fra SASL-databasen: %s" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "Post for %s er ikke fundet." #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "Forbindelse lukket." #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "PAM: Session lukket." #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "PAM: Mislykkedes i at frigive godkendelsesmetode." #: src/daemon.c:41 msgid "daemon() failed" msgstr "daemon() mislykkedes" #: src/daemon.c:48 msgid "Cannot fork." msgstr "Kan ikke forgrene." #: src/daemon.c:56 msgid "setsid() failed" msgstr "setsid() mislykkedes" #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "%s dæmonopstart lykkedes." #: src/daemon.c:80 #, c-format msgid "Exited successfully" msgstr "Afsluttedes" #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "Mislykkedes med status %d" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "Afbrød ved signal %d" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "Stoppede ved signal %d" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "Kernedump" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "Afbrudt" #: src/daemon.c:108 #, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "Underproces [%lu] færdig. %s. %d klient tilbage." msgstr[1] "Underproces [%lu] færdig. %s. %d klienter tilbage." #: src/daemon.c:120 #, c-format msgid "Local program [%lu] finished. %s" msgstr "Lokalt program [%lu] færdig. %s" #: src/daemon.c:161 msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "" "ADVARSEL: En uprivilegeret bruger kan ikke afklares. Undersøg dine " "indstillinger!" #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "ADVARSEL: En upriviligeret bruger er ikke angivet!" #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "GNU Anubis kører..." #: src/daemon.c:237 src/exec.c:80 msgid "accept() failed" msgstr "accept() mislykkedes" #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "TCP-ombrydere: Forbindelse fra %s:%u afvist." #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "For mange klienter. Forbindelse fra %s:%u afvist." #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "Forbindelse fra %s:%u" #: src/daemon.c:287 msgid "daemon: cannot fork" msgstr "dæmon: Kan ikke forgrene" #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "MTA'en er ikke angivet. Angiv REMOTE-MTA eller LOCAL-MTA." #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "[VÆRT:]PORT" #: env.opt:45 msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" "Angiv den TCP-port som GNU Anubis lytter pÃ¥ efter forbindelser; " "standardværten er INADDR_ANY, og standardporten er 24 (privat e-post-system)" #: env.opt:54 msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "Angiv et eksternt SMTP-værtsnavn eller ip-adresse; standard er 25" #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "FIL" #: env.opt:62 msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" "Kør en lokal SMTP-server, som fungerer med standardinddata og -uddata (inetd-" "typeprogram); denne indstilling udelukker --remote-mta indstillingen" #: env.opt:74 msgid "MODE" msgstr "TILSTAND" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "" "Vælg handlingstilstand; TILSTAND er en af »gennemsigtig«, »auth« eller »mda«" #: env.opt:81 msgid "Foreground mode" msgstr "Forgrundtilstand" #: env.opt:87 msgid "EMAIL" msgstr "E-POST" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "Angiv afsenderadresse (forudsætter MDA-tilstand)" #: env.opt:94 msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" "Anvend SMTP-protokollen (OMP/Tunnel) som beskrevet i RFC 821 pÃ¥ " "standardinddata og -uddata" #: env.opt:98 msgid "Output options" msgstr "Indstillinger for uddata" #: env.opt:101 msgid "Work silently" msgstr "Arbejd stille" #: env.opt:106 msgid "Work noisily" msgstr "Arbejd larmende" #: env.opt:111 msgid "Debug mode" msgstr "Fejlsøgningstilstand" #: env.opt:115 msgid "Miscellaneous options" msgstr "Forskellige indstillinger" #: env.opt:119 msgid "Specify alternate system configuration file" msgstr "Angiv alternativ systemkonfigurationsfil" #: env.opt:126 msgid "Ignore system configuration file" msgstr "Ignorer systemkonfigurationsfil" #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "FEJLSØGNINGSNIVEAU" #: env.opt:132 msgid "Run the configuration file syntax checker" msgstr "Kør syntakskontrollen for konfigurationsfilen" #: env.opt:139 msgid "Print a list of configuration options used to build GNU Anubis" msgstr "" "Udskriv en liste over konfigurationsindstillinger anvendt under " "installationen af GNU Anubis" #: env.opt:145 msgid "Do not check user configuration file permissions" msgstr "Undersøg ikke rettighederne for brugerkonfigurationsfilen" #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "Gem PID'en pÃ¥ den igangværende dæmon i FIL" #: env.opt:155 msgid "Other options" msgstr "Andre indstillinger" #: env.opt:155 msgid "Give this help list" msgstr "Giv denne hjælpeliste" #: env.opt:155 msgid "Give a short usage message" msgstr "Giv en kort besked om anvendelse" #: env.opt:155 msgid "Print program version" msgstr "Udskriv programversion" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "SMTP-besked for underdanig dæmon." #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "Brug:" #: env.opt:165 msgid "OPTION" msgstr "INDSTILLING" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" "Tvungne eller valgfrie argumenter for lange indstillinger er ogsÃ¥ tvungne " "eller valgfrie for enhver tilsvarende kort indstilling." #: env.opt:293 #, c-format msgid "Report bugs to %s.\n" msgstr "Rapporter fejl til %s.\n" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 msgid "argcv_get failed" msgstr "argcv_get mislykkedes" #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "--mode=mda kræver --local-mta" #: env.opt:181 msgid "Missing recipient addresses" msgstr "Mangler modtageradresser" #: env.opt:256 #, c-format msgid "setgroups(1, %lu) failed" msgstr "setgroups(1, %lu) mislykkedes" #: env.opt:266 #, c-format msgid "setegid(%lu) failed" msgstr "setegid(%lu) mislykkedes" #: env.opt:269 #, c-format msgid "setregid(%lu,%lu) failed" msgstr "setregid(%lu,%lu) mislykkedes" #: env.opt:273 #, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "setresgid(%lu,%lu,%lu) mislykkedes" #: env.opt:282 #, c-format msgid "setgid(%lu) failed" msgstr "setgid(%lu) mislykkedes" #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "kan ikke angive effektiv gid til %lu" #: env.opt:307 #, c-format msgid "setreuid(%lu,-1) failed" msgstr "setreuid(%lu,-1) mislykkedes" #: env.opt:313 #, c-format msgid "second setuid(%lu) failed" msgstr "anden setuid(%lu) mislykkedes" #: env.opt:321 #, c-format msgid "setuid(%lu) failed" msgstr "setuid(%lu) mislykkedes" #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "seteuid(0) lykkedes hvor den ikke burde" #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "kan ikke slippe ikke-root setuid-privilegier" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "PAM: Session Ã¥bnet (restriktioner anvendt)." #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "PAM: Ikke godkendt som bruger af GNU Anubis." #: env.opt:377 src/main.c:152 #, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "Ugyldig bruger-id: %s" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "Ugyldig brugernavn: %s" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "Forkerte tilladelser pÃ¥ %s. Angiv 0600." #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "%s er ikke en regulær fil eller en symbolsk henvisning." #: env.opt:492 #, c-format msgid "Unknown mode: %s" msgstr "Ukendt tilstand: %s" #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "Kan ikke Ã¥bne pid-fil %s" #: src/errs.c:84 msgid "warning" msgstr "advarsel" #: src/errs.c:92 #, c-format msgid "Could not write to socket: %s" msgstr "Kunne ikke skrive til sokkel: %s" #: src/errs.c:94 msgid "Could not write to socket" msgstr "Kunne ikke skrive til sokkel" #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "Ukendt vært %s." #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "%s: Værtsnavn er gyldigt, men har ikke en ip-adresse." #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "%s: En uigenkaldelig navneserverfejl opstod." #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "%s: En midlertidig navneserverfejl opstod. Forsøg igen senere." #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "%s: Ukendt DNS-fejl %d." #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "Defekt eller uventet svar" #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "SASL gsasl_client_start: %s" #: src/esmtp.c:167 src/esmtp.c:186 #, c-format msgid "GSASL handshake aborted: %d %s" msgstr "GSASL-hÃ¥ndtryk afbrudt: %d %s" #: src/esmtp.c:198 #, c-format msgid "GSASL error: %s" msgstr "GSASL-fejl: %s" #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "Godkendelse mislykkedes: %d %s" #: src/esmtp.c:215 msgid "Authentication successful." msgstr "Godkendelse lykkedes." #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "Fik tom liste over godkendelsesmetoder" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "Server tilbød ingen brugbar godkendelsesmekanisme" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "INTERN FEJL" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" "Valgt godkendelsesmekanisme %s kræver TLS-kryptering. Bruger ikke ESMTP-" "godkendelse" #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "Valgt godkendelsesmekanisme %s" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "Kan ikke initialisere libgsasl: %s" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "ESMTP AUTH er ikke understøttet" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "#1 socket() mislykkedes." #: src/exec.c:45 msgid "#2 socket() failed." msgstr "#2 socket() mislykkedes." #: src/exec.c:55 msgid "#1 bind() failed" msgstr "#1 bind() mislykkedes" #: src/exec.c:60 msgid "#2 bind() failed" msgstr "#2 bind() mislykkedes" #: src/exec.c:65 src/net.c:233 msgid "listen() failed" msgstr "listen() mislykkedes" #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "getsockname() mislykkedes: %s." #: src/exec.c:75 msgid "connect() failed" msgstr "connect() mislykkedes" #: src/exec.c:87 msgid "socketpair() failed" msgstr "socketpair() mislykkedes" #: src/exec.c:108 #, c-format msgid "Executing %s..." msgstr "Udfører %s..." #: src/exec.c:118 msgid "fork() failed" msgstr "fork() mislykkedes" #: src/exec.c:132 msgid "execvp() failed" msgstr "execvp() mislykkedes" #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "GPGME: %s." #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "Installer GPGME version %s eller senere." #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "GPGME: Mislykkedes. %s." #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "GPGME: Kan ikke liste nøgler: %s" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "GPGME: Mødte en ugyldig modtager: %s" #: src/gpg.c:320 #, c-format msgid "GPGME: Invalid signer found: %s" msgstr "GPGME: Ugyldig underskriver fundet: %s" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "GPGME: Uventet antal af underskrifter oprettet" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "GPGME: Forkert underskriftstype oprettet" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "GPGME: Forkert pubkey-algoritme rapporteret: %i" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "GPGME: Forkert hash-algoritme rapporteret: %i" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "GPGME: Forkert underskriftsklasse rapporteret: %u" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "kan ikke Ã¥bnde guile-uddatafil %s" #: src/guile.c:259 msgid "missing procedure name" msgstr "mangler procedurenavn" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "%s er ikke et procedureobjekt" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "Ugyldig car-type retur fra %s" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "Ugyldig cdr-type retur fra %s" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "Ugyldig retur-type fra %s" #: src/ident.c:101 msgid "IDENT: socket() failed" msgstr "IDENT: socket() mislykkedes" #: src/ident.c:113 msgid "IDENT: connect() failed" msgstr "IDENT: connect() mislykkedes" #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "IDENT: forbundet til %s:%u" #: src/ident.c:128 #, c-format msgid "IDENT: stream_write() failed: %s." msgstr "IDENT: stream_write() mislykkedes: %s." #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "IDENT: recvline() mislykkedes: %s." #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "IDENT: ukorrekt data." #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "IDENT: data sandsynligvis krypteret med DES..." #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "IDENT: ukorrekt data (DES-dechifreret)." #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "IDENT: Bestemte ekstern bruger for %s." #: src/main.c:54 msgid "Not enough memory" msgstr "Ikke nok hukommelse" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "%s sendt til %s@localhost." #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "Oversættelseskort: Ukorrekt syntaks." #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "Ugyldig adresselængde hentet for vært %s" #: src/misc.c:120 #, c-format msgid "Invalid port number: %s" msgstr "Ugyldig portnummer: %s" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "Kan ikke afklare mit eget værtsnavn" #: src/net.c:46 msgid "SERVER" msgstr "SERVER" #: src/net.c:49 msgid "CLIENT" msgstr "KLIENT" #: src/net.c:127 msgid "Getting remote host information..." msgstr "Henter ekstern værtsinformation..." #: src/net.c:164 msgid "Cannot create stream socket." msgstr "Kan ikke oprette strømsokkel." #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "Kunne ikke forbinde til %s:%u. %s." #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "Forbundet til %s:%u" #: src/net.c:196 msgid "Cannot create stream socket" msgstr "Kan ikke oprette strømsokkel" #: src/net.c:229 msgid "bind() failed" msgstr "bind() mislykkedes" #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "GNu Anubis bundet til %s:%u" #: src/net.c:257 msgid "Short write" msgstr "Skriv kort" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "Anvender SOCKS-proxy..." #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "SOCKS-proxy: %s" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "Adresse skal være en IP, ikke et domænenavn." #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "Forbindelse via SOCKS-proxy: Lykkedes." #: src/socks.c:179 msgid "Request rejected or failed." msgstr "Anmodning nægtet eller mislykkedes." #: src/socks.c:182 msgid "Request rejected." msgstr "Anmodning nægtet." #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" "Anmodning nægtet, da klientprogrammet og identd rapporterede forskellig " "bruger-id." #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "Serversvar er ikke gyldig." #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "Sikkert ikke en tjeneste for SOCKS-proxy." #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "AUTH-metode for SOCKS-proxy: INGEN GODKENDELSE KRÆVET" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "AUTH-metode for SOCKS-proxy: BRUGERNAVN/ADGANGSKODE" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "Kan ikke sende null-brugernavn eller adgangskode." #: src/socks.c:291 msgid "Bad user name or password." msgstr "Ugyldig brugernavn eller adgangskode." #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "AUTH for SOCKS-proxy: Lykkedes." #: src/socks.c:298 msgid "Server does not accept any method." msgstr "Server accepterer ingen metoder." #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "Server accepterer ikke en AUTH-metode." #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "Generel SOCKS-server fejl." #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "Forbindelse ikke tilladt pÃ¥ grund af et regelsæt." #: src/socks.c:404 msgid "Network unreachable." msgstr "Netværk kan ikke nÃ¥es." #: src/socks.c:407 msgid "Host unreachable." msgstr "Vært kan ikke nÃ¥es." #: src/socks.c:410 msgid "Connection refused." msgstr "Forbindelse nægtet." #: src/socks.c:413 msgid "TTL expired." msgstr "TTL udløbet." #: src/socks.c:416 msgid "Command not supported." msgstr "Kommando ikke understøttet." #: src/socks.c:419 msgid "Address type not supported." msgstr "Adressetype ikke understøttet." #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "Signal fanget. Afslutter pænt..." #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "Pause! Afslutter..." #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "kan ikke stat fil %s" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "Fil %s er allerede læst.\n" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "Velkommen bruger %s !" #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "Læser systemkonfigurationsfil %s..." #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "Læser brugerkonfigurationsfil %s..." #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "logfil-direktiv ignoreres i hovedkonfigurationsfil" #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "Underproces suspenderet i %lu sekund" msgstr[1] "Underproces suspenderet i %lu sekunder" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "Kommando HANG er ikke tilladt for bruger %s" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "Ingen sÃ¥dan sektion: %s" # Tilfældig karakter eller vildfaren #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" "Vildfaren karakter i config: \\%03o. MÃ¥ske pÃ¥ grund af manglende " "citationstegn om strengen" #: src/rcfile.l:385 msgid "Anubis RC file error" msgstr "Anubis RC-filfejl" #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "Sektion %s allerede defineret" #: src/rcfile.y:229 #, c-format msgid "unknown keyword: %s" msgstr "ukendt nøgleord: %s" #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "Ugyldigt regulært udtryk (se ovenstÃ¥ende besked)" # eller "mangler .." men det er lidt svært at se ud fra sætningen #: src/rcfile.y:567 msgid "missing replacement value" msgstr "manglende erstatningsværdi" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "Ikke et gyldigt fejlsøgningsniveau: %s" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "Ukendt regexp-ændrer" #: src/rcfile.y:1314 msgid "STOP" msgstr "STOP" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "Kalder %s" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "TILFØJ %s [%s] %s" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "ÆNDRE %s [%s] [%s] %s" # FILHOVED ELLER TEKSTHOVED? #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "FJERN FILHOVED [%s]" #: src/rcfile.y:1371 #, c-format msgid "Executing %s" msgstr "Udfører %s" #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "Matchende udløser %s" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "Matchende betingelse %s[%s] %s" #: src/rcfile.y:1604 #, c-format msgid "Section %s" msgstr "Sektion %s" #: src/rcfile.y:1628 #, c-format msgid "Unknown section: %s" msgstr "Ukendt sektion: %s" #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "program er ikke tilladt i denne sektion" #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "INTERN FEJL ved %s:%d: Manglende eller ugyldig regex" #: src/regex.c:328 #, c-format msgid "regcomp() failed at %s: %s." msgstr "regcomp() mislykkedes ved %s: %s." #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "pcre_compile() mislykkedes ved forskydning %d: %s." #: src/regex.c:429 #, c-format msgid "pcre_fullinfo() failed: %d." msgstr "pcre_fullinfo() mislykkedes: %d." #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "Matchende, men for mange understrenge." #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "Hentning af understreng %d mislykkedes (%d)." #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "Initialiserer TLS/SSL-forbindelsen med MTA..." #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "TLS-fejl under læsning af %s: %s" #: src/tls.c:198 #, c-format msgid "TLS/SSL handshake failed: %s" msgstr "TLS/SSL-hÃ¥ndtryk mislykkedes: %s" #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "Initialierer TLS/SSL-forbindelse med MUA..." #: src/tls.c:280 msgid "TLS/SSL handshake failed!" msgstr "TLS/SSL-hÃ¥ndtryk mislykkedes!" #: src/tls.c:301 msgid "No certificate was sent." msgstr "Intet certifikat blev sendt." # er ".. stoles der ikke pÃ¥." ikke tættere pÃ¥ meningen i originalen? #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "Certifikatet er ikke troværdigt." #: src/tls.c:311 msgid "The certificate has expired." msgstr "Certifikatet er udløbet." #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "Certifikatet er endnu ikke aktiveret." #: src/tls.c:326 msgid "No certificate was found!" msgstr "Inter certifikat blev fundet!" #: src/tls.c:331 msgid "The certificate is trusted." msgstr "Certifikatet er gyldigt." #: src/tls.c:361 #, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "- Anonym DH bruger primtal pÃ¥ %d bit.\n" msgstr[1] "- Anonym DH bruger primtal pÃ¥ %d bits.\n" #: src/tls.c:370 #, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "- Kortvarig DH bruger primtal pÃ¥ %d bit.\n" msgstr[1] "- Kortvarig DH bruger primtal pÃ¥ %d bits.\n" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "- Protokol: %s\n" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "- Certifikattype: %s\n" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "- Kompression: %s\n" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "- Kode: %s\n" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "- MAC: %s\n" #: src/tls.c:423 #, c-format msgid "- Certificate info:\n" msgstr "- Certifikatinfo:\n" #: src/tls.c:427 #, c-format msgid "- Certificate is valid since: %s" msgstr "- Certifikat er gyldig siden: %s" #: src/tls.c:429 #, c-format msgid "- Certificate expires: %s" msgstr "- Certifikat udløber: %s" #: src/tls.c:434 #, c-format msgid "- Certificate fingerprint: " msgstr "- Certifikat fingeraftryk: " #: src/tls.c:444 #, c-format msgid "- Certificate serial number: " msgstr "- Certifikat serienummer: " #: src/tls.c:453 #, c-format msgid "- Certificate public key: " msgstr "- Certifikat offentlig nøgle: " #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "RSA\n" #: src/tls.c:457 #, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] "- Modulus: %d bit\n" msgstr[1] "- Modulus: %d bits\n" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "DSA\n" # MÃ¥ske fortolker, eksponent valgt pÃ¥ grund af matematikken. #: src/tls.c:463 #, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] "- Eksponent: %d bit\n" msgstr[1] "- Eksponent: %d bits\n" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "UKENDT\n" #: src/tls.c:469 #, c-format msgid "- Certificate version: #%d\n" msgstr "- Certifikatversion: #%d\n" #: src/tls.c:476 #, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr "- Certifikatudsteders DN: %s\n" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 #, fuzzy msgid "Transferring messages..." msgstr "Overfører besked(er)..." #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "Starter SMTP-session..." #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "Anvender TLS/SSL-kryptering..." #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "ADVARSEL: %s" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "STARTTLS-kommando mislykkedes." #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "Anvend alene TLS/SSL-kryptering mellem Anubis og ekstern MTA..." #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "STARTTLS (ONEWAY) kommando mislykkedes." #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: Tilvalg %s er tvetydig\n" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: Tilvalg --%s tillader ikke et argument\n" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: Tilvalg %c%s tillader ikke et argument\n" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: Tilvalg %s kræver et argument\n" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: Ikke genkendt tilvalg --%s\n" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: Ikke genkendt tilvalg %c%s\n" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: Ugyldigt tilvalg -- %c\n" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: Ugyldigt tilvalg -- %c\n" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: Tilvalg kræver et argument -- %c\n" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: Tilvalg -W %s er tvetydig\n" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: Tilvalg -W %s tillader ikke et argument\n" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "hukommelse opbrugt" #~ msgid "MTA has not been specified. Set either REMOTE-MTA or LOCAL-MTA." #~ msgstr "MTA er ikke angivet. Angiv enten REMOTE-MTA eller LOCAL-MTA." #~ msgid "Loop not allowed. Connection rejected." #~ msgstr "Løkke ikke tilladt. Forbindelse nægtet." anubis-4.1.1+dfsg1/po/Rules-quot0000600000175000017500000000337611121755731014175 0ustar kbkb# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header anubis-4.1.1+dfsg1/po/tr.gmo0000600000175000017500000004634611123150057013317 0ustar kbkbÞ•ã43L*>Oc,€­Ç;ä7 Xr,Œ¹%×,ý-* X&y ºÚ,úN'v•­Çã ø4R n|N(Þ &9I)X‚ž³Ðë )A\ cn© ÆÓò/('XT€Õìÿ$5Znˆ¦ÅÊ áí  +?S!i‹¢¼ Õà(ü%.E(t*)È&ò,<[y"—(ºãõ *''Rz‘"¯Ò!é 1 +L /x /¨ "Ø û !%!R)‘) ±)5½)ó)"*9(*b* r*&€* §*È*è*þ*++3+ C+Q+k+{+Œ+£+'½+å+&,(,D,^,'r,š,­,Æ,ß,ý,-%-8-L-`-¢h- /"/J>i>†>¤>¿>.Ó>??-?F?/a?6‘?È?2á?%@*:@e@{@#€@(¤@Í@%ì@gAzAA©A=°A6îA'%B'MBuB&†B­BËB ÏB&ÚB'Cl)CC–C.ÚC% D/D OD3[DD¯DXÎD0'EXE%wE(EÆEÚEëE; FEFdF&~F¥F½F3ÝF%G%7G ]GkGG)”G¾GÕGMôG&BH iH/sH£H5ÁH<÷H4IJI*^I'‰I"±IÔIðIJJ5JKJ_JJ•J¥J·J.ÏJ!þJ! K BKcKƒK?KÝKöKL#4LXLvLŒL¥L¿LßL`ˆ½‹*ß9JÆH0.v4qW]ÃÞiN&}fÝÎÇVx\ƒ'$¥—d„_×hzZ Õ>PÄš´ÜتDAÉ7“Ô‚!|‘Ëœ†LŸ¡mл›en,¢~6˜-áM©1E²j™OÌ a¶¦% Á·°à¾?Èl/‡¤”¼ +(3޵ŒÛÊ–ÍB:2g[kCÀÖr^Å âÓ¹£Úsp€bS®Š Ï…KÑYã=<ºU"«Xy•c{¯Ù¿Tt5@8­³I¸;‰¬)o ±RFGw#ž¨u’ÒQ§#1 bind() failed#1 socket() failed.#2 bind() failed#2 socket() failed.%s daemon startup succeeded.%s is not a regular file or a symbolic link.%s not a procedure object%s remapped to %s@localhost.%s: a temporary name server error occured. Try again later.%s: host name is valid but does not have an IP address.%s: illegal option -- %c %s: invalid option -- %c %s: option `%c%s' doesn't allow an argument %s: option `%s' is ambiguous %s: option `%s' requires an argument %s: option `--%s' doesn't allow an argument %s: option `-W %s' doesn't allow an argument %s: option `-W %s' is ambiguous %s: option requires an argument -- %c %s: unknown DNS error %d.%s: unrecognized option `%c%s' %s: unrecognized option `--%s' %s: unrecoverable name server error occured.- Anonymous DH using prime of %d bit. - Anonymous DH using prime of %d bits. - Certificate Issuer's DN: %s - Certificate Type: %s - Certificate expires: %s- Certificate fingerprint: - Certificate info: - Certificate is valid since: %s- Certificate public key: - Certificate serial number: - Certificate version: #%d - Cipher: %s - Compression: %s - Ephemeral DH using prime of %d bit. - Ephemeral DH using prime of %d bits. - Exponent: %d bit - Exponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protocol: %s ADD %s [%s] %sAddress must be an IP, not a domain name.Address type not supported.Anubis RC file errorAuthentication failed: %d %sAuthentication successful.Bad car type in return from %sBad cdr type in return from %sBad return type from %sBad user name or password.CLIENTCalling %sCan't find out my own hostnameCannot create stream socketCannot create stream socket.Cannot fork.Cannot initialize libgsasl: %sCannot open database %s: %sCannot open pid file '%s'Cannot retrieve data from the SASL database: %sCannot send null user name or password.Child [%lu] finished. %s. %d client left.Child [%lu] finished. %s. %d clients left.Command not supported.Connected to %s:%uConnection closed successfully.Connection from %s:%uConnection not allowed by a ruleset.Connection refused.Could not write to socketCould not write to socket: %sCouldn't connect to %s:%u. %s.DSA Database not specifiedDumped coreESMTP AUTH is not supportedEntering XDB loop...Executing %sExited successfullyExiting XDB loop...Failed with status %dFile `%s' has already been read. Found record for `%s'.GNU Anubis bound to %s:%uGNU Anubis is running...GPGME: %s.GPGME: Cannot list keys: %sGPGME: Invalid recipient encountered: %sGPGME: Invalid signer found: %sGPGME: Unexpected number of signatures createdGPGME: Wrong hash algorithm reported: %iGPGME: Wrong pubkey algorithm reported: %iGPGME: Wrong signature class reported: %uGPGME: Wrong type of signature createdGPGME: failed. %s.GSASL error: %sGSASL handshake aborted: %d %sGeneral SOCKS server failure.Get substring %d failed (%d).Getting remote host information...Got empty list of authentication methodsHost unreachable.IDENT: connect() failedIDENT: connected to %s:%uIDENT: data probably encrypted with DES...IDENT: incorrect data (DES deciphered).IDENT: incorrect data.IDENT: recvline() failed: %s.IDENT: resolved remote user to %s.IDENT: socket() failedIDENT: stream_write() failed: %s.INTERNAL ERRORINTERNAL ERROR at %s:%d: missing or invalid regexIllegal address length received for host %sInitializing the TLS/SSL connection with MTA...Initializing the TLS/SSL connection with MUA...Install GPGME version %s or later.Invalid user ID: %sInvalid user name: %sMODIFY %s [%s] [%s] %sMalformed or unexpected replyMatched condition %s[%s] "%s"Matched trigger "%s"Matched, but too many substrings.Network unreachable.No certificate was found!No certificate was sent.No such section: %sNot a valid debugging level: %sPAM: Not authenticated to use GNU Anubis.PAM: Session closed.PAM: Session opened (restrictions applied).PAM: failed to release authenticator.Possibly not a SOCKS proxy service.REMOVE HEADER [%s]RSA Reading system configuration file %s...Reading user configuration file %s...Record for `%s' not found.Request rejected or failed.Request rejected, because the client program and identd reported different User-IDs.Request rejected.SASL gsasl_client_start: %sSERVERSOCKS Proxy AUTH method: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH method: USER NAME/PASSWORDSOCKS Proxy AUTH: succeeded.SOCKS Proxy Connection: succeeded.SOCKS proxy: %sSTARTTLS (ONEWAY) command failed.STARTTLS command failed.STOPSection %sSection %s already definedSelected authentication mechanism %sSelected authentication mechanism %s requires TLS encryption. Not using ESMTP authenticationServer did not offer any feasible authentication mechanismServer does not accept an AUTH method.Server does not accept any method.Server reply is not valid.Short writeSignal Caught. Exiting Cleanly...Starting SMTP session...Stopped on signal %dStray character in config: \%03o. Possibly missing quotes around the stringTCP wrappers: connection from %s:%u rejected.TLS error reading `%s': %sTLS/SSL handshake failed!TLS/SSL handshake failed: %sTTL expired.TerminatedTerminated on signal %dThe MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA.The certificate has expired.The certificate is not trusted.The certificate is not yet activated.The certificate is trusted.Timeout! Exiting...Too many clients. Connection from %s:%u rejected.Translation map: incorrect syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUNKNOWN Unknown host %s.Unknown mode: %sUnknown regexp modifierUnknown section: %sUsing SOCKS Proxy...Using TLS/SSL encryption between Anubis and remote MTA only...Using the TLS/SSL encryption...WARNING: %sWARNING: An unprivileged user has not been specified!Welcome user %s !Wrong permissions on %s. Set 0600.`logfile' directive is ignored in main configuration fileaccept() failedbind() failedcannot drop non-root setuid privilegescannot open guile output file %scannot set effective gid to %lucannot stat file `%s'connect() faileddaemon() faileddaemon: cannot forkexecvp() failedfork() failedgetsockname() failed: %s.listen() failedmemory exhaustedmissing procedure namemissing replacement valuepcre_compile() failed at offset %d: %s.pcre_fullinfo() failed: %d.program is not allowed in this sectionregcomp() failed at %s: %s.second setuid(%lu) failedsetegid(%lu) failedseteuid(0) succeeded when it should notsetgid(%lu) failedsetgroups(1, %lu) failedsetregid(%lu,%lu) failedsetresgid(%lu,%lu,%lu) failedsetreuid(%lu,-1) failedsetsid() failedsetuid(%lu) failedsocketpair() failedunknown keyword: %swarningProject-Id-Version: anubis 4.0 Report-Msgid-Bugs-To: bug-anubis@gnu.org POT-Creation-Date: 2008-12-20 11:59+0100 PO-Revision-Date: 2005-03-14 04:15+0200 Last-Translator: Deniz Akkus Kanca Language-Team: Turkish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: KBabel 1.9.1 #1 bind() baÅŸarısız#1 socket() baÅŸarısız.#2 bind() baÅŸarısız#2 socket() baÅŸarısız.%s servis baÅŸlatılması baÅŸarılı.%s normal bir dosya veya bir sembolik baÄŸ deÄŸil.%s bir yordam nesnesi deÄŸil%s, %s@localhost'a eÅŸlendi.%s: geçici isim sunucusu hatası oluÅŸtu. Daha sonra tekrar deneyin.%s: makina adı geçerli fakat IP no'su yok.%s: geçersiz seçenek -- %c %s: hatalı seçenek -- %c %s: `%c%s' seçeneÄŸi argüman almaz %s: `%s' seçeneÄŸi belirsiz %s: `%s' seçeneÄŸi için bir argüman gereklidir %s: `--%s' seçeneÄŸi argüman almaz %s: `-W %s' seçeneÄŸi argüman almaz %s: `-W %s' seçeneÄŸi belirsiz %s: seçenek bir argüman gerektirir -- %c %s: bilinmeyen DNS hatası %d.%s: bilinmeyen seçenek `%c%s' %s: bilinmeyen seçenek `--%s' %s: düzeltilemez isim sunucusu hatası oluÅŸtu.- Anonim DH %d bit asal sayısı kullanıyor. - Sertifika Verenin DN'i: %s - Sertifika Türü: %s - Sertifikanın müddeti %s tarihinde doluyor- Sertifika parmakizi: - Sertifika bilgisi: - Sertifika %s tarihinden beri geçerli- Sertifika genel anahtarı: - Sertifika seri no'su: - Sertifika sürümü: #%d - Åžifre: %s - Sıkıştırma: %s - Geçici DH %d bit asal sayısı kullanıyor. - Üs: %d bit - MAC: %s - Modülo: %d bit - Protokol: %s EKLE %s [%s] %sAdres bir IP no'su olmalıdır, bir alan adı deÄŸil.Adres türü desteklenmiyor.Anubis RC dosya hatasıKimlik denetimi baÅŸarısız: %d %sKimlik denetimi baÅŸarılı.%s dönüşünde hatalı car türü%s dönüşünde hatalı cdr türü%s tarafından geri döndürülen hatalı dönüş türüHatalı kullanıcı adı veya parolası.İSTEMCİ%s çaÄŸrılıyorKendi makina adını bulamıyorBaÄŸlantılı soket oluÅŸturulamadıBaÄŸlantılı soket oluÅŸturulamadı.Çatallanamadı.libgsasl ilklendirilemedi: %s%s veritabanı açılamıyor: %sPid dosyası '%s' açılamadıSASL veritabanından veri alınamıyor: %sBoÅŸ kullanıcı adı veya parola gönderilemez.Altsüreç [%lu] tamamlandı. Çıkış durumu: %s. %d istemci kaldı.Komut desteklenmiyor.%s:%u'ya baÄŸlanıldıBaÄŸlantı baÅŸarıyla kapatıldı.%s:%u baÄŸlantısıBir kural kümesi baÄŸlantıya izin vermiyor.BaÄŸlantı reddedildi.Sokete yazılamadıSokete yazılamadı: %s%s:%u'ya baÄŸlanılamadı. %s.DSA Veritabanı belirtilmemiÅŸ'Core' yazıldıESMTP AUTH desteklenmiyorXDB döngüsüne girildi...%s çalıştırılıyorBaÅŸarıyla çıkıldıXDB döngüsünden çıkılıyor...%d durumu ile baÅŸarısız olundu`%s' dosyası zaten okunmuÅŸ. `%s' için kayıt bulundu.GNU Anubis %s:%u'ya baÄŸlandıGNU Anubis çalışıyor...GPGME: %s.GPGME: Anahtarlar listelenemedi: %sGPGME: Geçersiz alıcıya rastlandı: %sGPGME: Geçersiz imzalayan bulundu: %sGPGME: Beklenmedik sayıda imza oluÅŸturulduGPGME: Yanlış hash algoritması bildirildi: %iGPGME: Yanlış genel anahtar algoritması bildirildi: %iGPGME: Yanlış imza sınıfı bildirildi: %uGPGME: Yanlış türde imza oluÅŸturulduGPGME: baÅŸarısız. %s.GSASL hatası: %sGSASL elsıkışması durduruldu: %d %sGenel SOCKS sunucu hatası.Altdizge %d'yi alma baÅŸarısız (%d).Uzak sunucu bilgisi alınıyor...Kimlik denetim metodları için boÅŸ liste alındıSunucuya eriÅŸilemiyor.IDENT: connect() baÅŸarısızIDENT: %s'ye baÄŸlanıldı:%uIDENT: veri büyük ihtimalle DES ile ÅŸifreli...IDENT: hatalı veri (DES ÅŸifresiyle çözüldü).IDENT: hatalı veri.IDENT: recvline() baÅŸarısız: %s.IDENT: harici kullanıcı %s olarak çözümlendi.IDENT: socket() baÅŸarısızIDENT: stream_write() baÅŸarısız: %s.İÇ HATAİÇ HATA %s:%d: eksik veya hatalı düzenli ifade%s makinası için geçersiz adres uzunluÄŸu alındıMTA ile TLS/SSL baÄŸlantısı kuruluyor...MUA ile TLS/SSL baÄŸlantısı baÅŸlatılıyor...GPGME sürümü %s veya daha sonrasını kurun.Geçersiz kullanıcı kimliÄŸi: %sGeçersiz kullanıcı adı: %sDEĞİŞTİR %s [%s] [%s] %sBozuk veya beklenmeyen yanıtÅžart %s[%s] "%s" eÅŸlendiTetik "%s" eÅŸlendiEÅŸleÅŸti, fakat altdizge sayısı çok fazla.AÄŸa eriÅŸilemiyor.Sertifika bulunamadı!Sertifika gönderilmedi.Böyle bir bölüm yok: %sGeçerli bir hata ayıklama seviyesi deÄŸil: %sPAM: GNU Anubis kullanımı için yetkilendirilmemiÅŸ.PAM: Oturum kapatıldı.PAM: Oturum açıldı (kısıtlamalar uygulandı).PAM: yetkilendirici boÅŸaltılamadı.Muhtemelen bir SOCKS vekil servisi deÄŸil.BAÅžLIÄžI KALDIR [%s]RSA Sistem ayar dosyası %s okunuyor...Kullanıcı ayar dosyası %s okunuyor...`%s' için kayıt bulunamadı.İstem baÅŸarısız ya da reddedildi.İstem, istemci program ve identd'nin farklı kullanıcı kimlikleri belirtmesinden dolayı reddedildi.İstem reddedildi.SASL gsasl_client_start: %sSUNUCUSOCKS Vekil Yetkilendirme Metodu: YETKİLENDİRMEYE GEREK YOKSOCKS Vekil Yetkilendirme Metodu: KULLANICI ADI/PAROLASOCKS Vekil Yetkilendirme: BaÅŸarılı.SOCKS Vekil BaÄŸlantısı: baÅŸarılı.SOCKS vekili: %sSTARTTLS (ONEWAY) komutu baÅŸarısız.STARTTLS komutu baÅŸarısız.DURBölüm %s%s bölümü daha önce tanımlanmış%s kimlik denetim mekanizması seçildiSeçili %s kimlik denetim mekanizması TLS ÅŸifrelemesi gerektiriyor. ESMTP kimlik denetimi kullanılmıyor.Sunucu kullanılabilir bir kimlik denetim mekanizması saÄŸlamıyorSunucu bir yetkilendirme metodu kabul etmiyor.Sunucu hiç bir metodu kabul etmiyor.Sunucu cevabı geçerli deÄŸil.Kısa yazmaSinyal Yakalandı. Düzgün olarak çıkılıyor...SMTP oturumu baÅŸlatılıyor...%d sinyali üzerine durdurulduAyar dosyasında fazla karakter: \%03o. Büyük ihtimalle dizge etrafında tırnak eksikTCP sarımları: %s:%u baÄŸlantısı reddedildi.`%s' okunurken TLS hatası: %sTLS/SSL elsıkışması baÅŸarısız!TLS/SSL elsıkışması baÅŸarısız: %sTTL müddeti doldu.Sonlandırıldı%d sinyali üzerine bitirildiMTA belirtilmemiÅŸ. REMOTE-MTA veya LOCAL-MTA'yı belirtin.Sertifikanın süresi dolmuÅŸ.Sertifikaya güvenilmedi.Sertifika henüz etkinleÅŸtirilmemiÅŸ.Sertifikaya güvenildi.Zamanaşımı! Çıkılıyor...Çok fazla istemci. %s:%u baÄŸlantısı reddedildi.Çeviri eÅŸlemesi: hatalı sözdizim.UID:%d (%s), GID:%d, EUID:%d, EGID:%dBİLİNMEYEN Bilinmeyen makina %s.Bilinmeyen kip: %sBilinmeyen düzenli ifade deÄŸiÅŸtiricisiBilinmeyen bölüm: %sSOCKS Vekili kullanılıyor...Yalnızca Anubis ve uzak MTA arasında TLS/SSL ÅŸifrelemesi kullanılıyor...TLS/SSL ÅŸifrelemesi kullanılıyor...UYARI: %sUYARI: Az yetkili bir kullanıcı belirtilmedi!Kullanıcı %s, hoÅŸgeldiniz!%s izinlemeleri yanlış. 0600 olarak deÄŸiÅŸtirildi.`logfile' yönergesi ana ayar dosyasında dikkate alınmadıaccept() baÅŸarısızbind() baÅŸarısızroot olmayan setuid hakları bırakılamazguile çıktı dosyası %s açılamadıgeçerli gid %lu olarak atanamadı`%s'dosyası durumlanamadıconnect() baÅŸarısızdaemon() baÅŸarısızdaemon: çatallanamadıexecvp() baÅŸarısızfork() baÅŸarısızgetsockname() baÅŸarısız: %s.listen() baÅŸarısızbellek tükendieksik yordam adıeksik deÄŸiÅŸim deÄŸeripcre_compile() %d görecesinde hata verdi: %s.pcre_fullinfo() baÅŸarısız: %d.bu bölümde yazılım yer alamazregcomp(), %s'de hata verdi: %s.ikinci setuid(%lu) baÅŸarısızsetegid(%lu) baÅŸarısızseteuid(0), baÅŸarısız olması gereken yerde baÅŸarılı oldusetgid(%lu) baÅŸarısızsetgroups(1, %lu) baÅŸarısızsetregid(%lu,%lu) baÅŸarısızsetresgid(%lu,%lu,%lu) baÅŸarısızsetreuid(%lu,-1) baÅŸarısızsetsid() baÅŸarısızsetuid(%lu) baÅŸarısızsocketpair() baÅŸarısızbilinmeyen anahtar sözcük: %suyarıanubis-4.1.1+dfsg1/po/insert-header.sin0000600000175000017500000000124011121755731015423 0ustar kbkb# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } anubis-4.1.1+dfsg1/po/vi.gmo0000600000175000017500000006362111123150057013303 0ustar kbkbÞ•Œoü¸¹ÊÞï, Mg;„7Àø,,Y%w,-Ê ø&@Zz,šNÇ5Mgƒ ˜¹Ôò N/(~ §&²Ùé )B^s«Êé #.Mi †“²Î/è'T@N•)ä%8X$n“§Áß þ  & 01 b n t  Š¥ 0!=!M!a!u!z!!!²!Â!Ù!ó! ""(3"\".|"(«"*Ô")ÿ"&)#P#c#s#’#°#"Î#ñ# $( $I$[$s$*$'¸$à$÷$"%8%!O%q%1€% ²%+Ó%/ÿ%//&"_&‚&2š&Í&á& ÷&''4'sR'Æ'ä'!ù'(1(M(b(|(•(©(É(Û( â(ð()ÿ())+>)%j)#)>´)ó) **'!*%I*o*Š*ž*Tº*+)!+K+g+n+3Ž++Â+î+" ,.,!>,`,y, ~,‰,D¤,$é,\-:k-&¦-"Í-ð- .!.@9.+z.)¦.ŽÐ._/x/+/K¹/-030N0h0 …0 ’00@µ0ö01%31Y1u11‰1"»1%Þ12 22/2G2[2Wb2º2>Ï23 .3G:35‚3¸3 Ê3 ×3"å3 494N4^4 o4&}4 ¤4Å4å4û4 5505 @5N5h5x5‰5 5'º5â5&þ5%6A6[6'o6—6ª6Ã6Ü6ú67"757I7]7¨e79 -9N9 m9,Ž9Q»95 :;C:H:CÈ:' ;(4;8];&–;3½;8ñ;9*<)d<0Ž<¿<,Ü<, =@6=4w=2¬=ß= ü=>9>*W>‚>$¡>#Æ>ê> û>3?;? P?$[?€?0“?Ä?oÕ?/E@u@@©@"È@"ë@A)-A WAcA"rA$•A%ºA%àA$B-+B(YB@‚B?ÃBPC3TCDˆC"ÍCðC! D/D2FDyD—D#·D*ÛDEE"E?EOVE¦E¶E0ÈEùEÃFÛFòF G&%G LG*VG)G«G#ÄG)èGH -H-8H2fH5™H9ÏH< ICFI:ŠI0ÅIöIJ.&J#UJ yJ+šJÆJàJ7øJ0K$IK#nKC’K=ÖK!L*6L=aL#ŸL.ÃLòLWM+[M2‡M1ºM1ìM*N(INErN¸NÒN5îN $O0O+MO£yO*P#HP9lP¦P$¼PáP#üP Q +°bµÆX4 þÀvl'!u{-2THh^iq´tʪ¥à ÛQULŒP7Ń<ºA¦ëS¯*#1 bind() failed#1 socket() failed.#2 bind() failed#2 socket() failed.%s daemon startup succeeded.%s is not a regular file or a symbolic link.%s not a procedure object%s remapped to %s@localhost.%s: a temporary name server error occured. Try again later.%s: host name is valid but does not have an IP address.%s: illegal option -- %c %s: invalid option -- %c %s: option `%c%s' doesn't allow an argument %s: option `%s' is ambiguous %s: option `%s' requires an argument %s: option `--%s' doesn't allow an argument %s: option `-W %s' doesn't allow an argument %s: option `-W %s' is ambiguous %s: option requires an argument -- %c %s: unknown DNS error %d.%s: unrecognized option `%c%s' %s: unrecognized option `--%s' %s: unrecoverable name server error occured.- Anonymous DH using prime of %d bit. - Anonymous DH using prime of %d bits. - Certificate Issuer's DN: %s - Certificate Type: %s - Certificate expires: %s- Certificate fingerprint: - Certificate info: - Certificate is valid since: %s- Certificate public key: - Certificate serial number: - Certificate version: #%d - Cipher: %s - Compression: %s - Ephemeral DH using prime of %d bit. - Ephemeral DH using prime of %d bits. - Exponent: %d bit - Exponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protocol: %s --mode=mda requires --local-mtaADD %s [%s] %sAddress must be an IP, not a domain name.Address type not supported.Anubis RC file errorAuthentication failed: %d %sAuthentication successful.Bad car type in return from %sBad cdr type in return from %sBad return type from %sBad user name or password.CLIENTCalling %sCan't find out my own hostnameCannot create stream socketCannot create stream socket.Cannot fork.Cannot initialize libgsasl: %sCannot open database %s: %sCannot open pid file '%s'Cannot retrieve data from the SASL database: %sCannot send null user name or password.Child [%lu] finished. %s. %d client left.Child [%lu] finished. %s. %d clients left.Child process suspended for %lu secondChild process suspended for %lu secondsCommand HANG is not allowed for user `%s'Command not supported.Connected to %s:%uConnection closed successfully.Connection from %s:%uConnection not allowed by a ruleset.Connection refused.Could not write to socketCould not write to socket: %sCouldn't connect to %s:%u. %s.DEBUG-LEVELDSA Database not specifiedDebug modeDo not check user configuration file permissionsDumped coreEMAILESMTP AUTH is not supportedEntering XDB loop...Execute a local SMTP server, which works on standard input and output (inetd-type program); this option excludes the `--remote-mta' optionExecuting %sExecuting %s...Exited successfullyExiting XDB loop...FILEFailed with status %dFile `%s' has already been read. Foreground modeFound record for `%s'.GNU Anubis bound to %s:%uGNU Anubis is running...GPGME: %s.GPGME: Cannot list keys: %sGPGME: Invalid recipient encountered: %sGPGME: Invalid signer found: %sGPGME: Unexpected number of signatures createdGPGME: Wrong hash algorithm reported: %iGPGME: Wrong pubkey algorithm reported: %iGPGME: Wrong signature class reported: %uGPGME: Wrong type of signature createdGPGME: failed. %s.GSASL error: %sGSASL handshake aborted: %d %sGeneral SOCKS server failure.Get substring %d failed (%d).Getting remote host information...Give a short usage messageGive this help listGot empty list of authentication methodsHost unreachable.IDENT: connect() failedIDENT: connected to %s:%uIDENT: data probably encrypted with DES...IDENT: incorrect data (DES deciphered).IDENT: incorrect data.IDENT: recvline() failed: %s.IDENT: resolved remote user to %s.IDENT: socket() failedIDENT: stream_write() failed: %s.INTERNAL ERRORINTERNAL ERROR at %s:%d: missing or invalid regexIgnore system configuration fileIllegal address length received for host %sInitializing the TLS/SSL connection with MTA...Initializing the TLS/SSL connection with MUA...Install GPGME version %s or later.Invalid port number: %sInvalid regular expression (see the above message)Invalid user ID: %sInvalid user name: %sLocal program [%lu] finished. %sMODEMODIFY %s [%s] [%s] %sMalformed or unexpected replyMandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.Matched condition %s[%s] "%s"Matched trigger "%s"Matched, but too many substrings.Miscellaneous optionsMissing recipient addressesNetwork unreachable.No certificate was found!No certificate was sent.No such section: %sNot a valid debugging level: %sNot enough memoryOPTIONOther optionsOutput optionsPAM: Not authenticated to use GNU Anubis.PAM: Session closed.PAM: Session opened (restrictions applied).PAM: failed to release authenticator.Possibly not a SOCKS proxy service.Print a list of configuration options used to build GNU AnubisPrint program versionREMOVE HEADER [%s]RSA Reading system configuration file %s...Reading user configuration file %s...Record for `%s' not found.Report bugs to %s. Request rejected or failed.Request rejected, because the client program and identd reported different User-IDs.Request rejected.Run the configuration file syntax checkerSASL gsasl_client_start: %sSERVERSMTP message submission daemon.SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH method: USER NAME/PASSWORDSOCKS Proxy AUTH: succeeded.SOCKS Proxy Connection: succeeded.SOCKS proxy: %sSTARTTLS (ONEWAY) command failed.STARTTLS command failed.STOPSection %sSection %s already definedSelect operation mode; MODE is one of "transparent", "auth" or "mda"Selected authentication mechanism %sSelected authentication mechanism %s requires TLS encryption. Not using ESMTP authenticationServer did not offer any feasible authentication mechanismServer does not accept an AUTH method.Server does not accept any method.Server reply is not valid.Short writeSignal Caught. Exiting Cleanly...Specify a remote SMTP host name or IP address; the default is 25Specify alternate system configuration fileSpecify sender address (implies MDA mode)Specify the TCP port on which GNU Anubis listens for connections; the default HOST is INADDR_ANY, and default PORT is 24 (private mail system)Starting SMTP session...Stopped on signal %dStore the PID of the running daemon in FILEStray character in config: \%03o. Possibly missing quotes around the stringTCP wrappers: connection from %s:%u rejected.TLS error reading `%s': %sTLS/SSL handshake failed!TLS/SSL handshake failed: %sTTL expired.TerminatedTerminated on signal %dThe MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA.The certificate has expired.The certificate is not trusted.The certificate is not yet activated.The certificate is trusted.Timeout! Exiting...Too many clients. Connection from %s:%u rejected.Translation map: incorrect syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUNKNOWN Unknown host %s.Unknown mode: %sUnknown regexp modifierUnknown section: %sUsage:Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input and outputUsing SOCKS Proxy...Using TLS/SSL encryption between Anubis and remote MTA only...Using the TLS/SSL encryption...WARNING: %sWARNING: An unprivileged user cannot be resolved. Verify your settings!WARNING: An unprivileged user has not been specified!Welcome user %s !Work noisilyWork silentlyWrong permissions on %s. Set 0600.[HOST:]PORT`logfile' directive is ignored in main configuration fileaccept() failedargcv_get failedbind() failedcannot drop non-root setuid privilegescannot open guile output file %scannot set effective gid to %lucannot stat file `%s'connect() faileddaemon() faileddaemon: cannot forkexecvp() failedfork() failedgetsockname() failed: %s.listen() failedmemory exhaustedmissing procedure namemissing replacement valuepcre_compile() failed at offset %d: %s.pcre_fullinfo() failed: %d.program is not allowed in this sectionregcomp() failed at %s: %s.second setuid(%lu) failedsetegid(%lu) failedseteuid(0) succeeded when it should notsetgid(%lu) failedsetgroups(1, %lu) failedsetregid(%lu,%lu) failedsetresgid(%lu,%lu,%lu) failedsetreuid(%lu,-1) failedsetsid() failedsetuid(%lu) failedsocketpair() failedunknown keyword: %swarningProject-Id-Version: anubis 4.1 Report-Msgid-Bugs-To: bug-anubis@gnu.org POT-Creation-Date: 2008-12-20 11:59+0100 PO-Revision-Date: 2007-12-19 17:59+1030 Last-Translator: Clytie Siddall Language-Team: Vietnamese MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: LocFactoryEditor 1.7b1 #1 bind() không thành công.#1 socket() không thành công.#2 bind() không thành công.#2 socket() không thành công.trình ná»n %s đã được khởi chạy.%s không phải là má»™t tập tin bình thưá»ng hay má»™t liên kết má»m.%s không phải là môt đối tượng thá»§ tục%s đã được ánh xạ lại thành « %s@localhost ».%s: gặp lá»—i máy phục vụ tên tạm thá»i: hãy thư lại sau.%s: tên máy là hợp lệ nhưng mà không có địa chỉ IP.%s: không cho phép tùy chá»n -- %c %s: tùy chá»n không hợp lệ -- %c %s: tùy chá»n « %c%s » không cho phép đối số %s: tùy chá»n « %s » là mÆ¡ hồ %s: tùy chá»n « %s » cần thiết đối số %s: tùy chá»n « --%s » không cho phép đối số %s: tùy chá»n « -W %s » không cho phép đối số %s: tùy chá»n « -W %s » là mÆ¡ hồ %s: tùy chá»n cần thiết đối số -- %c %s: không rõ lá»—i DNS %d.%s: không nhận ra tùy chá»n « %c%s » %s: không nhận ra tùy chá»n « --%s » %s: gặp lá»—i máy phục vụ tên không thể phục hồi.- DH vô danh dùng số nguyên tố cá»§a %d bit. - Tên miá»n cá»§a nhà cấp chứng nhận: %s - Kiểu chứng nhận: %s - Chứng nhận hết hạn: %s- Vân tay chứng nhận: - Thông tin chứng nhận: - Chứng nhận hợp lệ kể từ : %s- Khoá công chứng nhận: - Số sản xuất chứng nhận: - Phiên bản chứng nhận: #%d - Mật mã: %s - Nén: %s - DH phù du dùng số nguyên tố cá»§a %d bit. - Số mÅ© : %d bit - MAC: %s - Giá trị tuyệt đối: %d bit - Giao thức: %s « --mode=mda » cần thiết « --local-mta »THÊM %s [%s] %sÄịa chỉ phải là địa chỉ IP (v.d. 127.0.0.0), không phải tên miá»n (v.d. www.miá»n_này.com).Kiểu địa chỉ không được há»— trợ.Lá»—i tập tin RC Anubis.Lá»—i xác thá»±c: %d %sÄã xác thá»±c thành công.%s đã trả lại kiểu car sai%s đã trả lại kiểu cdr sai%s đã trả lại kiểu saiTên ngưá»i dùng hay mật khẩu sai.MÃY KHÃCHÄang gá»i %sKhông tìm thấy tên máy mìnhKhông thể tạo ổ cắm luồngKhông thể tạo ổ cắm luồng.Không thể tạo tiến trình con.Không thể sÆ¡ khởi libgsasl: %sKhông thể mở cÆ¡ sở dữ liệu %s: %sKhông thể mở tập tin PID « %s »Không thể lấy dữ liệu từ cÆ¡ sở dữ liêu SASL: %sKhông thể gá»­i tên ngưá»i dùng hay mật khẩu rá»—ng.Tiến trình con [%lu] đã chạy xong. %s. %d ứng dụng khách còn lại.Tiến trình con bị ngưng trong vòng %lu giâyLệnh HANG (treo) không được phép cho ngưá»i dùng « %s »Lệnh không được há»— trợ.Có kết nối đến %s:%uKết nối đã được đóng.Kết nối từ %s:%uMá»™t bá»™ quy tắc không cho phép kết nối.Kết nối bị từ chối.Không thể ghi vào ổ cắmKhông thể ghi vào ổ cắm: %sKhông thể kết nối đến %s:%u. %s.CẤP Gá»  Lá»–IDSA Chưa ghi rõ cÆ¡ sở dữ liệuChế độ gỡ lá»—iKhông kiểm tra các quyá»n hạn cá»§a tập tin cấu hình ngưá»i dùngLõi bị đổÄỊA CHỈ THƯKhông há»— trợ cách xác thá»±c (AUTH) ESMTPÄang vào vòng lặp XDB...Thá»±c hiện má»™t trình phục vụ SMTP cục bá»™, mà chạy trên đầu vào/ra tiêu chuẩn (chương trình kiểu inetd); tùy chá»n này loại trừ tùy chá»n « --remote-mta ».Äang thá»±c hiện %sÄang thá»±c hiện %s...Äã thoát thành côngÄang thoát khá»i vòng lặp XDB...TẬP TINKhông thành công vá»›i trạng thái %dTập tin « %s » đã được Ä‘á»c. Chế độ cảnh gầnTìm thấy mục ghi cho « %s ».GNU Anubis đã đóng kết đến %s:%uGNU Anubis Ä‘ang chạy...GPGME: %s.GPGME: không thể liệt kê các khoá: %sGPGME: gặp ngưá»i nhận không hợp lệ: %sGPGME: tìm thấy ngưá»i ký không hợp lệ: %sGPGME: đã tạo số lượng chữ ký bất thưá»ngGPGME: đã thông báo thuật toán băm không đúng: %iGPGME: đã thông báo thuật toán khoá công không đúng: %iGPGME: đã thông báo hạng chữ ký không đúng: %uGPGME: đã tạo chữ ký kiểu không đúngGPGME: không thành công. %s.Lá»—i GSASL: %sViệc bắt tay GSASL bị há»§y bá» : %d %sLá»—i máy phục vụ SOCKS chung.Lá»—i lấy chuá»—i con %d (%d).Äang lấy thông tin vá» máy từ xa...Hiện trợ giúp ngắnHiện trợ giúp nàyÄã lấy danh sách phương pháp xác thá»±c rá»—ngKhông thể tá»›i máy.IDENT: connect() không thành côngIDENT: có kết nối đến %s:%uIDENT: rất có thể là dữ liệu đã mật mã bằng DES...IDENT: dữ liệu không đúng (đã giải mật mã DES).IDENT: dữ liệu không đúng.IDENT: recvline() không thành công: %s.IDENT: đã quyết định ngưá»i dùng từ xa thành %s.IDENT: socket() không thành côngIDENT: stream_write() không thành công: %s.Lá»–I NỘI BỘLá»–I NỘI BỘ ở %s:%d: biểu thức chính quy còn thiếu hay không hợp lệLá» Ä‘i tập tin cấu hình hệ thốngNhận chiá»u dài địa chỉ cấm cho máy %sÄang sÆ¡ khởi kết nối TLS/SSL vá»›i MTA...Äang sÆ¡ khởi kết nối TLS/SSL vá»›i MUA...Cài đặt GPGME phiên bản %s hay sau.Số hiệu cổng không hợp lệ: %sBiểu thức chính quy không hợp lệ (xem thông Ä‘iệp trên)ID ngưá»i dùng sai: %sTên ngưá»i dùng sai: %sChương trình cục bá»™ [%lu] đã chạy xong. %sCHẾ ÄỘSỬA Äá»”I %s [%s] [%s] %sTrả lá»i dạng sai hay bất thưá»ng.Má»i đối số bắt buá»™c phải sá»­ dụng hay tùy chá»n vá»›i tùy chá»n dài cÅ©ng bắt buá»™c hay tùy chá»n vá»›i tùy chá»n ngắn tương ứng.Äiá»u kiện đã khá»›p %s[%s] « %s »Bá»™ gây nên đã khá»›p « %s »Khá»›p được, nhưng mà có quá nhiá»u chuá»—i con.Tùy chá»n linh tinhThiếu địa chỉ ngưá»i nhậnKhông thể tá»›i mạng.Không tìm thấy chứng nhận !Chưa gá»­i chứng nhận.Không có phần như vậy: %sKhông phải là cấp gỡ lá»—i hợp lệ: %sKhông đủ bá»™ nhá»›TÙY CHỌNTùy chá»n khácTùy chá»n xuấtPAM: không có xác thá»±c để sá»­ dụng trình GNU Anubis.PAM: phiên chạy đã đóng.PAM: phiên chạy đã mở (cÅ©ng bị hạn chế).PAM: lá»—i nhả Ä‘iá»u xác thá»±cCó lẽ không phải má»™t dịch vụ á»§y nhiệm SOCKS.In ra danh sách các tùy chá»n cấu hình dùng để xây dá»±ng GNU AnubisIn ra phiên bản chương trìnhGá»  BỎ DÃ’NG ÄẦU [%s]RSA Äang Ä‘á»c tập tin cấu hình hệ thống %s...Äang Ä‘á»c tập tin cấu hình ngưá»i dùng %s...Không tìm thấy mục ghi cho « %s ».Hãy thông báo lá»—i cho %s. Yêu cầu bị từ chối hay không thành công.Yêu cầu bị từ chối, vì chương trình khách và identd đã thông báo thông tin nhận diện ngưá»i dùng (UID) khác nhau.Yêu cầu bị từ chối.Chạy tiến trình kiểm tra cú pháp cá»§a tập tin cấu hìnhSASL gsasl_client_start: %sMÃY PHỤC VỤTrình ná»n gá»­i thư SMTP.Phương pháp xác thá»±c (AUTH) á»§y nhiệm SOCKS: KHÔNG YÊU CẦU XÃC THá»°CPhương pháp xác thá»±c (AUTH) á»§y nhiệm SOCKS: TÊN NGƯỜI DÙNG/MẬT KHẨUXác thá»±c (AUTH) á»§y nhiệm SOCKS: đã thành công.Kết nối á»§y nhiệm SOCKS: đã thành công.Máy á»§y nhiệm SOCKS: %sLệnh STARTTLS (ONEWAY) (chỉ má»™t chiá»u) không thành công.Lệnh STARTTLS không thành công.DỪNGPhần %sPhần %s đã được định nghÄ©aChá»n chế độ thao tác: CHẾ_ÄỘ là má»™t cá»§a: • transparent trong suốt • auth xác thá»±c (viết tắt) • mda tác nhân phát thư.CÆ¡ chế xác thá»±c đã chon %sCÆ¡ chế xác thá»±c đã chá»n %s thì cần thiết mật mã TLS. Không xác thá»±c ESMTP.Máy phục vụ không đưa cÆ¡ chế xác thá»±c có thểMáy phục vá»¥ không chấp nhận phương pháp AUTH (xác thá»±c).Máy phục vụ không chấp nhận phương pháp nào.Máy phục vụ trả lá»i không hợp lệ.Ghi ngắnTín hiệu đã được bắt nên thoát rõ...Ghi rõ má»™t tên máy hay địa chỉ IP kiểu SMTP từ xa; giá trị mặc định là 25Ghi rõ tập tin cấu hình hệ thống xen kẽGhi rõ địa chỉ cá»§a ngưá»i gá»­i (ngụ ý chế độ MDA)Ghi rõ cổng TCP trên đó GNU Anubis lắng nghe kết nối; MÃY mặc định là « INADDR_ANY », và Cá»”NG mặc định là 24 (hệ thống thư tín riêng).Äang bắt đầu phiên chạy SMTP...Bị ngừng vá»›i tín hiệu %dCất giữ PID (số hiệu tiến trình) cá»§a trình ná»n Ä‘ang chạy, trong TẬP TINGặp ký tá»± rải rác trong cấu hình: \%03o. Có lẽ thiếu dấu trích dẫn ở quanh chuá»—i.Lá»›p bá»c cho TCP: kết nối từ %s:%u bị từ chối.Gặp lá»—i TLS khi Ä‘á»c « %s »: %sViệc bắt tây TLS/SSL không thành công !Việc bắt tay TLS/SSL không thành công: %sThá»i gian sống (TTL) đã hết hạn.Bị kết thúcBị kết thúc vá»›i tín hiệu %dChưa ghi rõ MTA (tác nhân truyá»n thư). Hãy đặt hoặc REMOTE-MTA (MTA từ xa) hay LOCAL-MTA (MTA cục bá»™).Chứng nhận đã hết hạn.Chứng nhận này không tin cậy.Chứng nhận chưa hoạt động.Chứng nhận này tin cậy.Quá hạn ! Äang thoát...Quá nhiá»u ứng dụng khách: kết nối từ %s:%u bị từ chối.SÆ¡ đồ thông dịch: cú pháp không đúng.UID:%d (%s), GID:%d, EUID:%d, EGID:%dKHÔNG RÕ Không rõ máy %s.Không rõ chế độ: %sKhông rõ ký tá»± sá»­a đổi biểu thức chính quyKhông rõ phần: %sSá»­ dụng:Dùng giao thức SMTP (OMP/ÄÆ°á»ng hầm) như diá»…n tả trong RFC 821, trên đầu vào/ra tiêu chuẩnÄang dùng máy á»§y nhiệm SOCKS...Dùng mật mã TLS/SSL chỉ giữa trình Anubis và MTA ở xa thôi...Äang dùng mật mã TLS/SSL...CẢNH BÃO : %sCẢNH BÃO : không thể giải quyết má»™t ngưá»i dùng không có quyá»n đặc biệt. Hãy kiểm tra thiết lập !CẢNH BÃO : chưa ghi rõ má»™t ngưá»i dùng không co quyá»n đặc biệt !Chào mừng ngưá»i dùng %s !Xuất chi tiếtChạy imQuyá»n truy cập sai vá»›i %s. Äặt 0600.[MÃY:]Cá»”NGChỉ thị `logfile' (tập tin bản ghi) bị bá» qua trong tập tin cấu hình chính.accept() không thành côngargcv_get bị lá»—ibind() không thành công.không thể bá» quyá»n truy cập setuid không phải cá»§a ngưá»i chá»§không thể mở tập tin xuất cua guile %skhông thể đặt GID hữu ích đối vá»›i %lukhông thể stat (lấy trạng thái vá») tập tin « %s »connect() không thành công.daemon() không thành côngtrình ná»n: không thể tạo tiến trình conexecvp() không thành công.fork() không thành công.getsockname() không thành công: %s.listen() không thành công.hết bá»™ nhá»› hoàn toànthiếu tên thá»§ tụcthiếu giá trị thay thếpcre_compile() không thành công ở hiệu %d: %s.pcre_fullinfo() không thành công: %d.chương trình không được phép trong phần nàyregcomp() không thành công ở %s: %s.second setuid(%lu) không thành côngsetegid(%lu) không thành côngseteuid(0) thành công khi không nên.setgid(%lu) không thành côngsetgroups(1, %lu) không thành côngsetregid(%lu,%lu) không thành côngsetresgid(%lu,%lu,%lu) không thành côngsetreuid(%lu,-1) không thành côngsetsid() không thành côngsetuid(%lu) không thành côngsocketpair() không thành công.không rõ từ khóa: %scảnh báoanubis-4.1.1+dfsg1/po/uk.gmo0000600000175000017500000007404311123150057013304 0ustar kbkbÞ•Œoü¸¹ÊÞï, Mg;„7Àø,,Y%w,-Ê ø&@Zz,šNÇ5Mgƒ ˜¹Ôò N/(~ §&²Ùé )B^s«Êé #.Mi †“²Î/è'T@N•)ä%8X$n“§Áß þ  & 01 b n t  Š¥ 0!=!M!a!u!z!!!²!Â!Ù!ó! ""(3"\".|"(«"*Ô")ÿ"&)#P#c#s#’#°#"Î#ñ# $( $I$[$s$*$'¸$à$÷$"%8%!O%q%1€% ²%+Ó%/ÿ%//&"_&‚&2š&Í&á& ÷&''4'sR'Æ'ä'!ù'(1(M(b(|(•(©(É(Û( â(ð()ÿ())+>)%j)#)>´)ó) **'!*%I*o*Š*ž*Tº*+)!+K+g+n+3Ž++Â+î+" ,.,!>,`,y, ~,‰,D¤,$é,\-:k-&¦-"Í-ð- .!.@9.+z.)¦.ŽÐ._/x/+/K¹/-030N0h0 …0 ’00@µ0ö01%31Y1u11‰1"»1%Þ12 22/2G2[2Wb2º2>Ï23 .3G:35‚3¸3 Ê3 ×3"å3 494N4^4 o4&}4 ¤4Å4å4û4 5505 @5N5h5x5‰5 5'º5â5&þ5%6A6[6'o6—6ª6Ã6Ü6ú67"757I7]7ße72E95x97®95æ90:XM:/¦:*Ö:;Uƒ;,Ù;,<G3<5{<>±<Gð<D8=8}=*¶=+á=/ >/=>\m>1Ê>Bü?$?@4d@,™@$Æ@-ë@6A7PA,ˆAµAÅA=ßA_C }CSˆCÜC%ôCD[)D4…D7ºD5òD*(E1SE1…E2·E@êE +F8FMHF@–FA×F4GTNGA£G8åGUHbtH)×HÞJQàJ/2KbK0}K®K=ÍK* L36L7jL4¢L ×LäL'éL#M`5M'–M¾M*ÐM ûMrNN¬N#ÉNíN O8O2OO5‚O!¸O%ÚOP PM*P=xP:¶PRñPRDQ_—QH÷Q>@RR™R:²R5íR@#SUdSVºS$TT6T#‹T$¯T!ÔTRöT>IUˆU*¨UZÓU#.V.RV!V~£VG"WTjWI¿WI XASX,•XdÂX.'Y1VY>ˆY ÇYÒYAéY„+Z+°Z(ÜZ?[+E[4q[#¦[+Ê[-ö[&$\@K\$Œ\ ±\¼\Ð\Nð\%?]Qe]J·]'^*^,º^ç^ú^Qÿ^SQ_/¥_0Õ_?`“F`Ú`Zù`Ta pa)}aq§albE†b8ÌbcGc,dc‘c–c2¦cJÙc=$d«bd|e1‹e=½e1ûeb-fAfrÒfoEgNµgÐh!Õh$÷h/iLi@êi8+jEdj:ªjåjýj+kL+°bµÆX4 þÀvl'!u{-2THh^iq´tʪ¥à ÛQULŒP7Ń<ºA¦ëS¯*#1 bind() failed#1 socket() failed.#2 bind() failed#2 socket() failed.%s daemon startup succeeded.%s is not a regular file or a symbolic link.%s not a procedure object%s remapped to %s@localhost.%s: a temporary name server error occured. Try again later.%s: host name is valid but does not have an IP address.%s: illegal option -- %c %s: invalid option -- %c %s: option `%c%s' doesn't allow an argument %s: option `%s' is ambiguous %s: option `%s' requires an argument %s: option `--%s' doesn't allow an argument %s: option `-W %s' doesn't allow an argument %s: option `-W %s' is ambiguous %s: option requires an argument -- %c %s: unknown DNS error %d.%s: unrecognized option `%c%s' %s: unrecognized option `--%s' %s: unrecoverable name server error occured.- Anonymous DH using prime of %d bit. - Anonymous DH using prime of %d bits. - Certificate Issuer's DN: %s - Certificate Type: %s - Certificate expires: %s- Certificate fingerprint: - Certificate info: - Certificate is valid since: %s- Certificate public key: - Certificate serial number: - Certificate version: #%d - Cipher: %s - Compression: %s - Ephemeral DH using prime of %d bit. - Ephemeral DH using prime of %d bits. - Exponent: %d bit - Exponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protocol: %s --mode=mda requires --local-mtaADD %s [%s] %sAddress must be an IP, not a domain name.Address type not supported.Anubis RC file errorAuthentication failed: %d %sAuthentication successful.Bad car type in return from %sBad cdr type in return from %sBad return type from %sBad user name or password.CLIENTCalling %sCan't find out my own hostnameCannot create stream socketCannot create stream socket.Cannot fork.Cannot initialize libgsasl: %sCannot open database %s: %sCannot open pid file '%s'Cannot retrieve data from the SASL database: %sCannot send null user name or password.Child [%lu] finished. %s. %d client left.Child [%lu] finished. %s. %d clients left.Child process suspended for %lu secondChild process suspended for %lu secondsCommand HANG is not allowed for user `%s'Command not supported.Connected to %s:%uConnection closed successfully.Connection from %s:%uConnection not allowed by a ruleset.Connection refused.Could not write to socketCould not write to socket: %sCouldn't connect to %s:%u. %s.DEBUG-LEVELDSA Database not specifiedDebug modeDo not check user configuration file permissionsDumped coreEMAILESMTP AUTH is not supportedEntering XDB loop...Execute a local SMTP server, which works on standard input and output (inetd-type program); this option excludes the `--remote-mta' optionExecuting %sExecuting %s...Exited successfullyExiting XDB loop...FILEFailed with status %dFile `%s' has already been read. Foreground modeFound record for `%s'.GNU Anubis bound to %s:%uGNU Anubis is running...GPGME: %s.GPGME: Cannot list keys: %sGPGME: Invalid recipient encountered: %sGPGME: Invalid signer found: %sGPGME: Unexpected number of signatures createdGPGME: Wrong hash algorithm reported: %iGPGME: Wrong pubkey algorithm reported: %iGPGME: Wrong signature class reported: %uGPGME: Wrong type of signature createdGPGME: failed. %s.GSASL error: %sGSASL handshake aborted: %d %sGeneral SOCKS server failure.Get substring %d failed (%d).Getting remote host information...Give a short usage messageGive this help listGot empty list of authentication methodsHost unreachable.IDENT: connect() failedIDENT: connected to %s:%uIDENT: data probably encrypted with DES...IDENT: incorrect data (DES deciphered).IDENT: incorrect data.IDENT: recvline() failed: %s.IDENT: resolved remote user to %s.IDENT: socket() failedIDENT: stream_write() failed: %s.INTERNAL ERRORINTERNAL ERROR at %s:%d: missing or invalid regexIgnore system configuration fileIllegal address length received for host %sInitializing the TLS/SSL connection with MTA...Initializing the TLS/SSL connection with MUA...Install GPGME version %s or later.Invalid port number: %sInvalid regular expression (see the above message)Invalid user ID: %sInvalid user name: %sLocal program [%lu] finished. %sMODEMODIFY %s [%s] [%s] %sMalformed or unexpected replyMandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.Matched condition %s[%s] "%s"Matched trigger "%s"Matched, but too many substrings.Miscellaneous optionsMissing recipient addressesNetwork unreachable.No certificate was found!No certificate was sent.No such section: %sNot a valid debugging level: %sNot enough memoryOPTIONOther optionsOutput optionsPAM: Not authenticated to use GNU Anubis.PAM: Session closed.PAM: Session opened (restrictions applied).PAM: failed to release authenticator.Possibly not a SOCKS proxy service.Print a list of configuration options used to build GNU AnubisPrint program versionREMOVE HEADER [%s]RSA Reading system configuration file %s...Reading user configuration file %s...Record for `%s' not found.Report bugs to %s. Request rejected or failed.Request rejected, because the client program and identd reported different User-IDs.Request rejected.Run the configuration file syntax checkerSASL gsasl_client_start: %sSERVERSMTP message submission daemon.SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH method: USER NAME/PASSWORDSOCKS Proxy AUTH: succeeded.SOCKS Proxy Connection: succeeded.SOCKS proxy: %sSTARTTLS (ONEWAY) command failed.STARTTLS command failed.STOPSection %sSection %s already definedSelect operation mode; MODE is one of "transparent", "auth" or "mda"Selected authentication mechanism %sSelected authentication mechanism %s requires TLS encryption. Not using ESMTP authenticationServer did not offer any feasible authentication mechanismServer does not accept an AUTH method.Server does not accept any method.Server reply is not valid.Short writeSignal Caught. Exiting Cleanly...Specify a remote SMTP host name or IP address; the default is 25Specify alternate system configuration fileSpecify sender address (implies MDA mode)Specify the TCP port on which GNU Anubis listens for connections; the default HOST is INADDR_ANY, and default PORT is 24 (private mail system)Starting SMTP session...Stopped on signal %dStore the PID of the running daemon in FILEStray character in config: \%03o. Possibly missing quotes around the stringTCP wrappers: connection from %s:%u rejected.TLS error reading `%s': %sTLS/SSL handshake failed!TLS/SSL handshake failed: %sTTL expired.TerminatedTerminated on signal %dThe MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA.The certificate has expired.The certificate is not trusted.The certificate is not yet activated.The certificate is trusted.Timeout! Exiting...Too many clients. Connection from %s:%u rejected.Translation map: incorrect syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUNKNOWN Unknown host %s.Unknown mode: %sUnknown regexp modifierUnknown section: %sUsage:Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input and outputUsing SOCKS Proxy...Using TLS/SSL encryption between Anubis and remote MTA only...Using the TLS/SSL encryption...WARNING: %sWARNING: An unprivileged user cannot be resolved. Verify your settings!WARNING: An unprivileged user has not been specified!Welcome user %s !Work noisilyWork silentlyWrong permissions on %s. Set 0600.[HOST:]PORT`logfile' directive is ignored in main configuration fileaccept() failedargcv_get failedbind() failedcannot drop non-root setuid privilegescannot open guile output file %scannot set effective gid to %lucannot stat file `%s'connect() faileddaemon() faileddaemon: cannot forkexecvp() failedfork() failedgetsockname() failed: %s.listen() failedmemory exhaustedmissing procedure namemissing replacement valuepcre_compile() failed at offset %d: %s.pcre_fullinfo() failed: %d.program is not allowed in this sectionregcomp() failed at %s: %s.second setuid(%lu) failedsetegid(%lu) failedseteuid(0) succeeded when it should notsetgid(%lu) failedsetgroups(1, %lu) failedsetregid(%lu,%lu) failedsetresgid(%lu,%lu,%lu) failedsetreuid(%lu,-1) failedsetsid() failedsetuid(%lu) failedsocketpair() failedunknown keyword: %swarningProject-Id-Version: anubis 4.1 Report-Msgid-Bugs-To: bug-anubis@gnu.org POT-Creation-Date: 2008-12-20 11:59+0100 PO-Revision-Date: 2008-02-21 20:18+0200 Last-Translator: Sergey Poznyakoff Language-Team: Ukrainian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); Першій виклик bind() не вдавÑÑперший виклик socket() не вдавÑÑ.Другий виклик bind() не вдавÑÑ: %s.другий виклик socket() не вдавÑÑ.%s демон уÑпішно запущений.%s це не звичайний файл або Ñимволічне поÑиланнÑ.%s не Ñ” об'єктом-процедурою%s перенеÑено до %s@localhost.%s: ÑталаÑÑŒ тимчаÑова помилка Ñерверу доменних імен. Спробуйте пізніше.%s: ім'Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð¸ вірне, але машина не має IP адреÑи.%s: невірний параметр -- %c %s: невірний параметр -- %c %s: параметр `%c%s' не дозволÑÑ” аргументів %s: параметр `%s' неоднозначний %s: параметр `%s' вимагає аргументів %s: параметр `--%s' не дозволÑÑ” аргументів %s: параметр `-W %s' не дозволÑÑ” аргумент %s: параметр `-W %s' неоднозначний %s: вимагає аргумент -- %c %s: невідома помилка DNS %d.%s: невідомий параметр `%c%s' %s: невідомий параметр `--%s' %s: ÑталаÑÑ Ñ„Ð°Ñ‚Ð°Ð»ÑŒÐ½Ð° помилка Ñерверу доменних імен.Ðнонімний DH викориÑтовує проÑті чиÑла довжиною %d біт. Ðнонімний DH викориÑтовує проÑті чиÑла довжиною %d біти. Ðнонімний DH викориÑтовує проÑті чиÑла довжиною %d бітів. - Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð²Ð¸Ð´Ð°Ð²Ñ†Ñ Ñертифікату: %s - Тип Ñертифікату: %s - Сертифікат закінчуєтьÑÑ: %s - Відбитки Ñертифікату: - Дані Ñертифікату: - Сертифікат дійÑний з: %s- Публічний ключ Ñертифікату: - Серійний номер Ñертифікату: - ВерÑÑ–Ñ Ñертифікату: #%d - Шифр: %s - СтиÑненнÑ: %s Ефемеридний DH викориÑтовує проÑті чиÑла довжиною %d біт. Ефемеридний DH викориÑтовує проÑті чиÑла довжиною %d біти. Ефемеридний DH викориÑтовує проÑті чиÑла довжиною %d бітів. - Показник %d біт - Показник %d біти - Показник %d бітів - MAC: %s - Модуль %d біт - Модуль %d біти - Модуль %d бітів - Протокол: %s --mode=mda вимагає --local-mtaADD %s [%s] %sÐдреÑа повинна бути адреÑою IP, а не доменним ім'Ñм.Тип адреÑи не підтримуєтьÑÑ.Помилка файлу налаштувань AnubisÐ†Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð½Ðµ вдалаÑÑ: %d %sÐ†Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð²Ð´Ð°Ð»Ð°ÑÑ.%s повернула невірний тип car%s повернула невірний тип cdrÐевірний тип Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð· %sÐевірні ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача та пароль.КЛІЄÐТВиклик %sÐе вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ влаÑну назву машиниÐе вдаєтьÑÑ Ñтворити гніздо потокуÐе вдаєтьÑÑ Ñтворити гніздо потоку.Ðе вдаєтьÑÑ Ñтворити процеÑ.Ðе вдаєтьÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ бібліотеку libgsasl: %sÐе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ базу даних %s: %sÐе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл PID `%s'Ðеможливо відібрати дані з бази даних Ð´Ð»Ñ SASL: %sÐеможливо відіÑлати пуÑті ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача та пароль.ПроцеÑ-нащадок [%lu] закінчивÑÑ. %s. ЗалишивÑÑ %d клієнт.ПроцеÑ-нащадок [%lu] закінчивÑÑ. %s. ЗалишилоÑÑ %d клієнти.ПроцеÑ-нащадок [%lu] закінчивÑÑ. %s. ЗалишилоÑÑ %d клієнтів.ПроцеÑ-нащадок призупинено на %lu ÑекундуПроцеÑ-нащадок призупинено на %lu ÑекундиПроцеÑ-нащадок призупинено на %lu ÑекундКоманда HANG не Ñ” дозволена Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача `%s'Команда не підтримуєтьÑÑ.З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· %s:%uЗ'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ ÑƒÑпішно закрите.З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ %s:%uЗ'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð½Ðµ дозволене правилами.Відмовлено у з'єднанні.Ðеможливо запиÑати у гніздоÐеможливо запиÑати у гніздо: %sÐеможливо з'єднатиÑÑ Ð· %s:%u. %s.РІВЕÐЬDSA Ðе вказано базу данихРежим налагодженнÑВимикає перевірку прав доÑтупу до файлу налаштуваньСкинуто образ пам'ÑтіЕЛ.ÐДРЕСÐESMTP AUTH не підтримуєтьÑÑПочаток петлі XDB...Виконати локальний Ñервер SMTP, Ð¦Ñ Ð¾Ð¿Ñ†Ñ–Ñ Ð²Ð¸ÐºÐ»ÑŽÑ‡Ð°Ñ” опцію '--remote-mta'.ВиконуєтьÑÑ %s...ВиконуєтьÑÑ %s...УÑпішне завершеннÑВихід з петлі XDB...ФÐЙЛÐевдале Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ð·Ñ– Ñтаном %dФайл `%s' вже був прочитаний. ЛишатиÑÑ Ð½Ð° передньому планіЗнайдено Ð·Ð°Ð¿Ð¸Ñ `%s'.GNU Anubis зв'Ñзаний з %s:%uGNU Anubis запущено...GPGME: %s.GPGME: Ðе вдаєтьÑÑ Ñтворити перелік ключів: %sGPGME: недійÑна адреÑа одержувача: %sGPGME: ÐедійÑне ім'Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñувача: %sGPGME: Створено неочікувану кількіÑть підпиÑівGPGME: Повернуто невірний алгоритм хешуваннÑ: %iGPGME: Повернуто невірний алгоритм публічного ключа: %iGPGME: Повернуто недійÑний ÐºÐ»Ð°Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñу: %uGPGME: Створено невірний тип підпиÑупомилка GPGME. %s.помилка GSASL: %sРукоÑтиÑÐºÐ°Ð½Ð½Ñ GSASL перервано: %d %sЗагальна помилка Ñервера SOCKS.Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ñ–Ð´Ñ€Ñдка %d (%d).ОтримуєтьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ віддалену машину...ВивеÑти коротке Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ викориÑтаннÑПоказати цю довідкуОтримано пуÑтий ÑпиÑок методів ідентифікаціїМашина не доÑтупна.IDENT: connect() не вдалаÑÑIDENT: з'єднаний з %s:%uIDENT: дані можливо закодовано за допомогою DES...IDENT: невірні дані (Ð´ÐµÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ DES).IDENT: невірні дані.IDENT: recvline() не вдалоÑÑ: %s.IDENT: віддаленого кориÑтувача ідентифіковано Ñк %s.IDENT: socket() не вдалаÑÑIDENT: stream_write() не вдалаÑÑ: %s.Ð’ÐУТРІШÐЯ ПОМИЛКÐÐ’ÐУТРІШÐЯ ÐŸÐžÐœÐ˜Ð›ÐšÐ Ð±Ñ–Ð»Ñ %s:%d: відÑутній або недійÑний регулÑрний виразІґнорувати ÑиÑтемний файл налаштуваньОтримано адреÑу невірної довжини Ð´Ð»Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð¸ %sÐ†Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð·'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· MTA через TLS/SSL...Ð†Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð·'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· MUA через TLS/SSL...Ð’Ñтановіть GPGME верÑÑ–Ñ— %s або пізнішу.ÐедійÑний номер порту: %sÐедійÑний регулÑрний вираз (див. повижче повідомленнÑ)Ðевірний ID кориÑтувача: %sÐевірне ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача: %sЛокальна програма [%lu] закінчена. %sРЕЖИМMODIFY %s [%s] [%s] %sÐедійÑна або неочікувана відповідьÐргументи, обов'Ñзкові Ð´Ð»Ñ Ð´Ð¾Ð²Ð³Ð¸Ñ… ключів, Ñ” обов'Ñзковими й Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ñ….Відповідає умові %s[%s] "%s"Відповідає правилу "%s"Співпадає, але забагато підрÑдків.Різноманітні параметриВідÑутні адреÑи одержувачівМережа не доÑтупна.Сертифікат не знайдено!Сертифікат не відіÑлано.Ðемає такої Ñекції: %sÐедійÑний рівень налагоджуваннÑ: %sÐедоÑтатньо пам'ÑтіОПЦІЇІнші опціїПараметри виводуPAM: Ðе авторизовано Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ GNU Anubis.PAM: Ð¡ÐµÐ°Ð½Ñ Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð¸Ð¹.PAM: Ð¡ÐµÐ°Ð½Ñ Ñ€Ð¾Ð·Ð¿Ð¾Ñ‡Ð°Ñ‚Ð¸Ð¹ (Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð°ÑтоÑовані).Ðе вдалоÑÑ Ð·Ð²Ñ–Ð»ÑŒÐ½Ð¸Ñ‚Ð¸ дані ідентифікаціїМожливо не SOCKS прокÑÑ–.ВивеÑти перелік конфігураційних опцій, викориÑтаних під Ñ‡Ð°Ñ ÐºÐ¾Ð¼Ð¿Ñ–Ð»Ñції GNU AnubisВивеÑти верÑÑ–ÑŽ програмиREMOVE HEADER [%s]RSA Ð—Ñ‡Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑиÑтемного файлу налаштувань %s...Ð—Ñ‡Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ налаштувань кориÑтувача %s...Ðе знайдено запиÑу Ð´Ð»Ñ `%s'.Про помилки звітуйте до %s. Помилка запиту або його відкинуто.Запит відкинуто, тому що клієнтÑька програма та identd видають різні ID кориÑтувача.Запит відкинуто.Виконати перевірку ÑинтакÑиÑу файлу налаштуваньSASL gsasl_client_start: %sСЕРВЕРДемон Ð²Ñ–Ð´Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ SMTP.метод ідентифікації на Ñервері SOCKS: ІДЕÐТИФІКÐЦІЯ ÐЕ ПОТРІБÐÐметод ідентифікації на Ñервері SOCKS: ІМ'Я КОРИСТУВÐЧÐ/ПÐÐ ÐžÐ›Ð¬Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð½Ð° Ñервері SOCKS: уÑпішно.З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· прокÑÑ– SOCKS: уÑпішно.прокÑÑ– SOCKS: %sКоманда STARTTLS (одноÑтороннÑ) не вдалаÑÑ.Команда STARTTLS не вдалаÑÑ.STOPÐ¡ÐµÐºÑ†Ñ–Ñ %sÐ¡ÐµÐºÑ†Ñ–Ñ %s вже була визначенаВÑтановити режим роботи: transparent, auth або mdaОбраний механізм ідентифікації %sОбраний механізм ідентифікації %s вимагає ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ TLS. Ð†Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ ESMTP не викориÑтовуєтьÑÑСервер не запропонував жодного придатного механізму ідентифікаціїСервер не приймає метод AUTH.Сервер не приймає жодного методу.Відповідь Ñерверу невірна.Помилка запиÑу: запиÑано недоÑтатню кількіÑть байтівОтримано Ñигнал. Ðормальний вихід...Вкажіть порт на Ñкому очікуватиме з'єднаннÑ. Типове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 25ВикориÑтовувати альтернативний ÑиÑтемний файл налаштувань.Вказує адреÑу відправника (вмикає режим MDA)Вкажіть TCP порт на Ñкому GNU Anubis очікуватиме з'єднаннÑ. Типово МÐШИÐРце INADDR_ANY, а ПОРТ це 24 (приватна поштова ÑиÑтема)Початок ÑеÑÑ–Ñ— SMTP...Зупинено Ñигналом %dЗапиÑати PID процеÑу у ФÐЙЛЦей Ñимвол не Ñ” дійÑним у файлі налаштувань: \%03o. Можливо, відÑутні лапки навколо Ñ€ÑдкуTCP wrappers: відкинуто з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ %s:%u.Помилка TLS під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ `%s': %sÐŸÑ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð·Ð²'Ñзку TLS/SSL не вдалоÑÑ!РукоÑтиÑÐºÐ°Ð½Ð½Ñ TLS/SSL не вдалоÑÑ: %sTTL вичерпано.Ð—Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¾Ð—Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¿Ð¾ Ñигналу %dMTA не вказаний. Ð’Ñтановіть REMOTE-MTA або LOCAL-MTA.Ð”Ñ–Ñ Ñертифікату ÑкінчилаÑÑ.Сертифікат не підтверджено.Сертифікат ще не активовано.Сертифікат підтверджено.Ð§Ð°Ñ Ð²Ð¸Ñ‡ÐµÑ€Ð¿Ð°Ð½Ð¾! Вихід...Забагато клієнтів. Відкинуто з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ %s:%u.Карта перенеÑеннÑ: невірний ÑинтакÑиÑ.UID:%d (%s), GID:%d, EUID:%d, EGID:%dÐЕВІДОМИЙ Ðевідома машина %s.Ðевідомий режим: %sÐевідомий модифікатор регулÑрного виразуÐевідома ÑекціÑ: %sВикориÑтаннÑ:ВикориÑтовувати SMTP протокол (OMP/Tunnel), опиÑаний в RFC 821, на Ñтандартному вводі Ñ– виводі.ВикориÑтовуєтьÑÑ Ð¿Ñ€Ð¾ÐºÑÑ– SOCKS...Ð¨Ð¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ TLS/SSL викориÑтовуєтьÑÑ Ð»Ð¸ÑˆÐµ між ÐнубіÑом та віддаленим MTA...ВикориÑтовуєтьÑÑ ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ TLS/SSL...УВÐГÐ: %sПОПЕРЕДЖЕÐÐЯ: Ðе вдаєтьÑÑ Ð²Ñтановити ім'Ñ Ð½ÐµÐ¿Ñ€Ð¸Ð²Ñ–Ð»ÐµÐ¹Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ кориÑтувача. Перевірте ваші налаштуваннÑ!ПОПЕРЕДЖЕÐÐЯ: Ðе вказано ім'Ñ Ð½ÐµÐ¿Ñ€Ð¸Ð²Ñ–Ð»ÐµÐ¹Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ кориÑтувача!ЛаÑкаво проÑимо, кориÑтувач %s !Працювати шумноПрацювати тихоÐевірний дозвіл на %s. Ð’Ñтановіть 0600.[МÐШИÐÐ:]ПОРТДиректива `logfile' ігноруєтьÑÑ Ñƒ головному файлу налаштуваньaccept() не вдалаÑÑargcv_get() не вдалаÑÑbind() не вдалаÑÑнеможливо позбавитиÑÑ Ð¿Ñ€Ð°Ð² setuidне вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл виводу Guile %sне можу вÑтановити ефективний gid %luнеможливо отримати інформацію про файл `%s'connect() не вдалаÑÑdaemon() не вдалаÑÑdaemon: не вдаєтьÑÑ Ñтворити процеÑexecvp() не вдалаÑÑfork() не вдалаÑÑgetsockname() не вдалоÑÑ: %s.listen() не вдалаÑÑпам'Ñть вичерпаноназва процедури відÑутнÑвідÑутнє Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñpre_compile() закінчилаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾ÑŽ у зміщенні %d: %spcre_fullinfo() не вдалаÑÑ: %d.викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ в цій Ñекції не дозволÑєтьÑÑregcomp() закінчилаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾ÑŽ Ð±Ñ–Ð»Ñ %s: %s.другий виклик setuid(%lu) не вдавÑÑsetegid(%lu) не вдалаÑÑseteuid(0) вдалаÑÑ, хоча не повинна булаsetgid(%lu) не вдалаÑÑsetgroups(1, %lu) не вдалаÑÑsetregid(%lu,%lu) не вдалаÑÑsetresgid(%lu,%lu,%lu) не вдалаÑÑsetreuid(%lu,-1) не вдалаÑÑsetsid() не вдалаÑÑsetuid(%lu) не вдалаÑÑsocketpair() не вдалаÑÑневідоме ключове Ñлово: %sпопередженнÑanubis-4.1.1+dfsg1/po/en@quot.header0000600000175000017500000000226311121755731014751 0ustar kbkb# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # anubis-4.1.1+dfsg1/po/uk.po0000600000175000017500000013371511123150057013142 0ustar kbkb# Ukrainian translation of anubis # Copyright (C) 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the GNU Anubis package. # IGOR SACHKO , 2002. # Sergey Poznyakoff , 2005, 2008. #: env.opt:43 msgid "" msgstr "" "Project-Id-Version: anubis 4.1\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: 2008-02-21 20:18+0200\n" "Last-Translator: Sergey Poznyakoff \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "Початок петлі XDB..." #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "Вихід з петлі XDB..." #: src/authmode.c:522 msgid "Database not specified" msgstr "Ðе вказано базу даних" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ базу даних %s: %s" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "Знайдено Ð·Ð°Ð¿Ð¸Ñ `%s'." #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "Ðеможливо відібрати дані з бази даних Ð´Ð»Ñ SASL: %s" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "Ðе знайдено запиÑу Ð´Ð»Ñ `%s'." #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ ÑƒÑпішно закрите." #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "PAM: Ð¡ÐµÐ°Ð½Ñ Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð¸Ð¹." # FIXME: authenticator? #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "Ðе вдалоÑÑ Ð·Ð²Ñ–Ð»ÑŒÐ½Ð¸Ñ‚Ð¸ дані ідентифікації" #: src/daemon.c:41 msgid "daemon() failed" msgstr "daemon() не вдалаÑÑ" #: src/daemon.c:48 msgid "Cannot fork." msgstr "Ðе вдаєтьÑÑ Ñтворити процеÑ." #: src/daemon.c:56 msgid "setsid() failed" msgstr "setsid() не вдалаÑÑ" #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "%s демон уÑпішно запущений." #: src/daemon.c:80 #, c-format msgid "Exited successfully" msgstr "УÑпішне завершеннÑ" #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "Ðевдале Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ð·Ñ– Ñтаном %d" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "Ð—Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¿Ð¾ Ñигналу %d" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "Зупинено Ñигналом %d" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "Скинуто образ пам'Ñті" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "Завершено" #: src/daemon.c:108 #, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "ПроцеÑ-нащадок [%lu] закінчивÑÑ. %s. ЗалишивÑÑ %d клієнт." msgstr[1] "ПроцеÑ-нащадок [%lu] закінчивÑÑ. %s. ЗалишилоÑÑ %d клієнти." msgstr[2] "ПроцеÑ-нащадок [%lu] закінчивÑÑ. %s. ЗалишилоÑÑ %d клієнтів." #: src/daemon.c:120 #, c-format msgid "Local program [%lu] finished. %s" msgstr "Локальна програма [%lu] закінчена. %s" #: src/daemon.c:161 msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "" "ПОПЕРЕДЖЕÐÐЯ: Ðе вдаєтьÑÑ Ð²Ñтановити ім'Ñ Ð½ÐµÐ¿Ñ€Ð¸Ð²Ñ–Ð»ÐµÐ¹Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ кориÑтувача. " "Перевірте ваші налаштуваннÑ!" #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "ПОПЕРЕДЖЕÐÐЯ: Ðе вказано ім'Ñ Ð½ÐµÐ¿Ñ€Ð¸Ð²Ñ–Ð»ÐµÐ¹Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ кориÑтувача!" #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "GNU Anubis запущено..." #: src/daemon.c:237 src/exec.c:80 msgid "accept() failed" msgstr "accept() не вдалаÑÑ" #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "TCP wrappers: відкинуто з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ %s:%u." #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "Забагато клієнтів. Відкинуто з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ %s:%u." #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ %s:%u" #: src/daemon.c:287 msgid "daemon: cannot fork" msgstr "daemon: не вдаєтьÑÑ Ñтворити процеÑ" #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "MTA не вказаний. Ð’Ñтановіть REMOTE-MTA або LOCAL-MTA." #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "[МÐШИÐÐ:]ПОРТ" #: env.opt:45 msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" "Вкажіть TCP порт на Ñкому GNU Anubis очікуватиме з'єднаннÑ. Типово МÐШИÐРце " "INADDR_ANY, а ПОРТ це 24 (приватна поштова ÑиÑтема)" #: env.opt:54 msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "Вкажіть порт на Ñкому очікуватиме з'єднаннÑ. Типове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 25" #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "ФÐЙЛ" #: env.opt:62 msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" "Виконати локальний Ñервер SMTP, Ð¦Ñ Ð¾Ð¿Ñ†Ñ–Ñ Ð²Ð¸ÐºÐ»ÑŽÑ‡Ð°Ñ” опцію '--remote-mta'." #: env.opt:74 msgid "MODE" msgstr "РЕЖИМ" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "Ð’Ñтановити режим роботи: transparent, auth або mda" #: env.opt:81 msgid "Foreground mode" msgstr "ЛишатиÑÑ Ð½Ð° передньому плані" #: env.opt:87 msgid "EMAIL" msgstr "ЕЛ.ÐДРЕСÐ" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "Вказує адреÑу відправника (вмикає режим MDA)" #: env.opt:94 msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" "ВикориÑтовувати SMTP протокол (OMP/Tunnel), опиÑаний в RFC 821, на " "Ñтандартному вводі Ñ– виводі." #: env.opt:98 msgid "Output options" msgstr "Параметри виводу" #: env.opt:101 msgid "Work silently" msgstr "Працювати тихо" #: env.opt:106 msgid "Work noisily" msgstr "Працювати шумно" #: env.opt:111 msgid "Debug mode" msgstr "Режим налагодженнÑ" #: env.opt:115 msgid "Miscellaneous options" msgstr "Різноманітні параметри" #: env.opt:119 msgid "Specify alternate system configuration file" msgstr "ВикориÑтовувати альтернативний ÑиÑтемний файл налаштувань." #: env.opt:126 msgid "Ignore system configuration file" msgstr "Іґнорувати ÑиÑтемний файл налаштувань" #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "РІВЕÐЬ" #: env.opt:132 msgid "Run the configuration file syntax checker" msgstr "Виконати перевірку ÑинтакÑиÑу файлу налаштувань" #: env.opt:139 msgid "Print a list of configuration options used to build GNU Anubis" msgstr "" "ВивеÑти перелік конфігураційних опцій, викориÑтаних під Ñ‡Ð°Ñ ÐºÐ¾Ð¼Ð¿Ñ–Ð»Ñції GNU " "Anubis" #: env.opt:145 msgid "Do not check user configuration file permissions" msgstr "Вимикає перевірку прав доÑтупу до файлу налаштувань" #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "ЗапиÑати PID процеÑу у ФÐЙЛ" #: env.opt:155 msgid "Other options" msgstr "Інші опції" #: env.opt:155 msgid "Give this help list" msgstr "Показати цю довідку" #: env.opt:155 msgid "Give a short usage message" msgstr "ВивеÑти коротке Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ викориÑтаннÑ" #: env.opt:155 msgid "Print program version" msgstr "ВивеÑти верÑÑ–ÑŽ програми" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "Демон Ð²Ñ–Ð´Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ SMTP." #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "ВикориÑтаннÑ:" #: env.opt:165 msgid "OPTION" msgstr "ОПЦІЇ" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" "Ðргументи, обов'Ñзкові Ð´Ð»Ñ Ð´Ð¾Ð²Ð³Ð¸Ñ… ключів, Ñ” обов'Ñзковими й Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ñ…." #: env.opt:293 #, c-format msgid "Report bugs to %s.\n" msgstr "Про помилки звітуйте до %s.\n" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 msgid "argcv_get failed" msgstr "argcv_get() не вдалаÑÑ" #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "--mode=mda вимагає --local-mta" #: env.opt:181 msgid "Missing recipient addresses" msgstr "ВідÑутні адреÑи одержувачів" #: env.opt:256 #, c-format msgid "setgroups(1, %lu) failed" msgstr "setgroups(1, %lu) не вдалаÑÑ" #: env.opt:266 #, c-format msgid "setegid(%lu) failed" msgstr "setegid(%lu) не вдалаÑÑ" #: env.opt:269 #, c-format msgid "setregid(%lu,%lu) failed" msgstr "setregid(%lu,%lu) не вдалаÑÑ" #: env.opt:273 #, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "setresgid(%lu,%lu,%lu) не вдалаÑÑ" #: env.opt:282 #, c-format msgid "setgid(%lu) failed" msgstr "setgid(%lu) не вдалаÑÑ" #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "не можу вÑтановити ефективний gid %lu" #: env.opt:307 #, c-format msgid "setreuid(%lu,-1) failed" msgstr "setreuid(%lu,-1) не вдалаÑÑ" #: env.opt:313 #, c-format msgid "second setuid(%lu) failed" msgstr "другий виклик setuid(%lu) не вдавÑÑ" #: env.opt:321 #, c-format msgid "setuid(%lu) failed" msgstr "setuid(%lu) не вдалаÑÑ" #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "seteuid(0) вдалаÑÑ, хоча не повинна була" #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "неможливо позбавитиÑÑ Ð¿Ñ€Ð°Ð² setuid" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "PAM: Ð¡ÐµÐ°Ð½Ñ Ñ€Ð¾Ð·Ð¿Ð¾Ñ‡Ð°Ñ‚Ð¸Ð¹ (Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð°ÑтоÑовані)." #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "PAM: Ðе авторизовано Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ GNU Anubis." #: env.opt:377 src/main.c:152 #, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "Ðевірний ID кориÑтувача: %s" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "Ðевірне ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача: %s" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "Ðевірний дозвіл на %s. Ð’Ñтановіть 0600." #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "%s це не звичайний файл або Ñимволічне поÑиланнÑ." #: env.opt:492 #, c-format msgid "Unknown mode: %s" msgstr "Ðевідомий режим: %s" #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл PID `%s'" #: src/errs.c:84 msgid "warning" msgstr "попередженнÑ" #: src/errs.c:92 #, c-format msgid "Could not write to socket: %s" msgstr "Ðеможливо запиÑати у гніздо: %s" #: src/errs.c:94 msgid "Could not write to socket" msgstr "Ðеможливо запиÑати у гніздо" #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "Ðевідома машина %s." #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "%s: ім'Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð¸ вірне, але машина не має IP адреÑи." #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "%s: ÑталаÑÑ Ñ„Ð°Ñ‚Ð°Ð»ÑŒÐ½Ð° помилка Ñерверу доменних імен." #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "" "%s: ÑталаÑÑŒ тимчаÑова помилка Ñерверу доменних імен. Спробуйте пізніше." #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "%s: невідома помилка DNS %d." #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "ÐедійÑна або неочікувана відповідь" #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "SASL gsasl_client_start: %s" #: src/esmtp.c:167 src/esmtp.c:186 #, c-format msgid "GSASL handshake aborted: %d %s" msgstr "РукоÑтиÑÐºÐ°Ð½Ð½Ñ GSASL перервано: %d %s" #: src/esmtp.c:198 #, c-format msgid "GSASL error: %s" msgstr "помилка GSASL: %s" #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "Ð†Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð½Ðµ вдалаÑÑ: %d %s" #: src/esmtp.c:215 msgid "Authentication successful." msgstr "Ð†Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð²Ð´Ð°Ð»Ð°ÑÑ." #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "Отримано пуÑтий ÑпиÑок методів ідентифікації" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "Сервер не запропонував жодного придатного механізму ідентифікації" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "Ð’ÐУТРІШÐЯ ПОМИЛКÐ" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" "Обраний механізм ідентифікації %s вимагає ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ TLS. Ð†Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ ESMTP " "не викориÑтовуєтьÑÑ" #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "Обраний механізм ідентифікації %s" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "Ðе вдаєтьÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ бібліотеку libgsasl: %s" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "ESMTP AUTH не підтримуєтьÑÑ" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "перший виклик socket() не вдавÑÑ." #: src/exec.c:45 msgid "#2 socket() failed." msgstr "другий виклик socket() не вдавÑÑ." #: src/exec.c:55 msgid "#1 bind() failed" msgstr "Першій виклик bind() не вдавÑÑ" #: src/exec.c:60 msgid "#2 bind() failed" msgstr "Другий виклик bind() не вдавÑÑ: %s." #: src/exec.c:65 src/net.c:233 msgid "listen() failed" msgstr "listen() не вдалаÑÑ" #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "getsockname() не вдалоÑÑ: %s." #: src/exec.c:75 msgid "connect() failed" msgstr "connect() не вдалаÑÑ" #: src/exec.c:87 msgid "socketpair() failed" msgstr "socketpair() не вдалаÑÑ" #: src/exec.c:108 #, c-format msgid "Executing %s..." msgstr "ВиконуєтьÑÑ %s..." #: src/exec.c:118 msgid "fork() failed" msgstr "fork() не вдалаÑÑ" #: src/exec.c:132 msgid "execvp() failed" msgstr "execvp() не вдалаÑÑ" #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "GPGME: %s." #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "Ð’Ñтановіть GPGME верÑÑ–Ñ— %s або пізнішу." #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "помилка GPGME. %s." #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "GPGME: Ðе вдаєтьÑÑ Ñтворити перелік ключів: %s" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "GPGME: недійÑна адреÑа одержувача: %s" #: src/gpg.c:320 #, c-format msgid "GPGME: Invalid signer found: %s" msgstr "GPGME: ÐедійÑне ім'Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñувача: %s" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "GPGME: Створено неочікувану кількіÑть підпиÑів" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "GPGME: Створено невірний тип підпиÑу" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "GPGME: Повернуто невірний алгоритм публічного ключа: %i" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "GPGME: Повернуто невірний алгоритм хешуваннÑ: %i" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "GPGME: Повернуто недійÑний ÐºÐ»Ð°Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñу: %u" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "не вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл виводу Guile %s" #: src/guile.c:259 msgid "missing procedure name" msgstr "назва процедури відÑутнÑ" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "%s не Ñ” об'єктом-процедурою" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "%s повернула невірний тип car" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "%s повернула невірний тип cdr" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "Ðевірний тип Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð· %s" #: src/ident.c:101 msgid "IDENT: socket() failed" msgstr "IDENT: socket() не вдалаÑÑ" #: src/ident.c:113 msgid "IDENT: connect() failed" msgstr "IDENT: connect() не вдалаÑÑ" #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "IDENT: з'єднаний з %s:%u" #: src/ident.c:128 #, c-format msgid "IDENT: stream_write() failed: %s." msgstr "IDENT: stream_write() не вдалаÑÑ: %s." #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "IDENT: recvline() не вдалоÑÑ: %s." #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "IDENT: невірні дані." #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "IDENT: дані можливо закодовано за допомогою DES..." #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "IDENT: невірні дані (Ð´ÐµÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ DES)." #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "IDENT: віддаленого кориÑтувача ідентифіковано Ñк %s." #: src/main.c:54 msgid "Not enough memory" msgstr "ÐедоÑтатньо пам'Ñті" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "%s перенеÑено до %s@localhost." #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "Карта перенеÑеннÑ: невірний ÑинтакÑиÑ." #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "Отримано адреÑу невірної довжини Ð´Ð»Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð¸ %s" #: src/misc.c:120 #, c-format msgid "Invalid port number: %s" msgstr "ÐедійÑний номер порту: %s" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "Ðе вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ влаÑну назву машини" #: src/net.c:46 msgid "SERVER" msgstr "СЕРВЕР" #: src/net.c:49 msgid "CLIENT" msgstr "КЛІЄÐТ" #: src/net.c:127 msgid "Getting remote host information..." msgstr "ОтримуєтьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ віддалену машину..." #: src/net.c:164 msgid "Cannot create stream socket." msgstr "Ðе вдаєтьÑÑ Ñтворити гніздо потоку." #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "Ðеможливо з'єднатиÑÑ Ð· %s:%u. %s." #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· %s:%u" #: src/net.c:196 msgid "Cannot create stream socket" msgstr "Ðе вдаєтьÑÑ Ñтворити гніздо потоку" #: src/net.c:229 msgid "bind() failed" msgstr "bind() не вдалаÑÑ" #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "GNU Anubis зв'Ñзаний з %s:%u" #: src/net.c:257 msgid "Short write" msgstr "Помилка запиÑу: запиÑано недоÑтатню кількіÑть байтів" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "ВикориÑтовуєтьÑÑ Ð¿Ñ€Ð¾ÐºÑÑ– SOCKS..." #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "прокÑÑ– SOCKS: %s" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "ÐдреÑа повинна бути адреÑою IP, а не доменним ім'Ñм." #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· прокÑÑ– SOCKS: уÑпішно." #: src/socks.c:179 msgid "Request rejected or failed." msgstr "Помилка запиту або його відкинуто." #: src/socks.c:182 msgid "Request rejected." msgstr "Запит відкинуто." #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" "Запит відкинуто, тому що клієнтÑька програма та identd видають різні ID " "кориÑтувача." #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "Відповідь Ñерверу невірна." #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "Можливо не SOCKS прокÑÑ–." #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "метод ідентифікації на Ñервері SOCKS: ІДЕÐТИФІКÐЦІЯ ÐЕ ПОТРІБÐÐ" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "метод ідентифікації на Ñервері SOCKS: ІМ'Я КОРИСТУВÐЧÐ/ПÐРОЛЬ" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "Ðеможливо відіÑлати пуÑті ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача та пароль." #: src/socks.c:291 msgid "Bad user name or password." msgstr "Ðевірні ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача та пароль." #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð½Ð° Ñервері SOCKS: уÑпішно." #: src/socks.c:298 msgid "Server does not accept any method." msgstr "Сервер не приймає жодного методу." #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "Сервер не приймає метод AUTH." #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "Загальна помилка Ñервера SOCKS." #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð½Ðµ дозволене правилами." #: src/socks.c:404 msgid "Network unreachable." msgstr "Мережа не доÑтупна." #: src/socks.c:407 msgid "Host unreachable." msgstr "Машина не доÑтупна." #: src/socks.c:410 msgid "Connection refused." msgstr "Відмовлено у з'єднанні." #: src/socks.c:413 msgid "TTL expired." msgstr "TTL вичерпано." #: src/socks.c:416 msgid "Command not supported." msgstr "Команда не підтримуєтьÑÑ." #: src/socks.c:419 msgid "Address type not supported." msgstr "Тип адреÑи не підтримуєтьÑÑ." #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "Отримано Ñигнал. Ðормальний вихід..." #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "Ð§Ð°Ñ Ð²Ð¸Ñ‡ÐµÑ€Ð¿Ð°Ð½Ð¾! Вихід..." #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "неможливо отримати інформацію про файл `%s'" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "Файл `%s' вже був прочитаний.\n" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "ЛаÑкаво проÑимо, кориÑтувач %s !" #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "Ð—Ñ‡Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑиÑтемного файлу налаштувань %s..." #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "Ð—Ñ‡Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ налаштувань кориÑтувача %s..." #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "Директива `logfile' ігноруєтьÑÑ Ñƒ головному файлу налаштувань" #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "ПроцеÑ-нащадок призупинено на %lu Ñекунду" msgstr[1] "ПроцеÑ-нащадок призупинено на %lu Ñекунди" msgstr[2] "ПроцеÑ-нащадок призупинено на %lu Ñекунд" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "Команда HANG не Ñ” дозволена Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача `%s'" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "Ðемає такої Ñекції: %s" #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" "Цей Ñимвол не Ñ” дійÑним у файлі налаштувань: \\%03o. Можливо, відÑутні лапки " "навколо Ñ€Ñдку" #: src/rcfile.l:385 msgid "Anubis RC file error" msgstr "Помилка файлу налаштувань Anubis" #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "Ð¡ÐµÐºÑ†Ñ–Ñ %s вже була визначена" #: src/rcfile.y:229 #, c-format msgid "unknown keyword: %s" msgstr "невідоме ключове Ñлово: %s" #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "ÐедійÑний регулÑрний вираз (див. повижче повідомленнÑ)" #: src/rcfile.y:567 msgid "missing replacement value" msgstr "відÑутнє Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "ÐедійÑний рівень налагоджуваннÑ: %s" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "Ðевідомий модифікатор регулÑрного виразу" #: src/rcfile.y:1314 msgid "STOP" msgstr "STOP" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "Виклик %s" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "ADD %s [%s] %s" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "MODIFY %s [%s] [%s] %s" #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "REMOVE HEADER [%s]" #: src/rcfile.y:1371 #, c-format msgid "Executing %s" msgstr "ВиконуєтьÑÑ %s..." #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "Відповідає правилу \"%s\"" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "Відповідає умові %s[%s] \"%s\"" #: src/rcfile.y:1604 #, c-format msgid "Section %s" msgstr "Ð¡ÐµÐºÑ†Ñ–Ñ %s" #: src/rcfile.y:1628 #, c-format msgid "Unknown section: %s" msgstr "Ðевідома ÑекціÑ: %s" #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ в цій Ñекції не дозволÑєтьÑÑ" #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "Ð’ÐУТРІШÐЯ ÐŸÐžÐœÐ˜Ð›ÐšÐ Ð±Ñ–Ð»Ñ %s:%d: відÑутній або недійÑний регулÑрний вираз" #: src/regex.c:328 #, c-format msgid "regcomp() failed at %s: %s." msgstr "regcomp() закінчилаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾ÑŽ Ð±Ñ–Ð»Ñ %s: %s." #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "pre_compile() закінчилаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾ÑŽ у зміщенні %d: %s" #: src/regex.c:429 #, c-format msgid "pcre_fullinfo() failed: %d." msgstr "pcre_fullinfo() не вдалаÑÑ: %d." #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "Співпадає, але забагато підрÑдків." #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ñ–Ð´Ñ€Ñдка %d (%d)." #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "Ð†Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð·'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· MTA через TLS/SSL..." #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "Помилка TLS під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ `%s': %s" #: src/tls.c:198 #, c-format msgid "TLS/SSL handshake failed: %s" msgstr "РукоÑтиÑÐºÐ°Ð½Ð½Ñ TLS/SSL не вдалоÑÑ: %s" #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "Ð†Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð·'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· MUA через TLS/SSL..." #: src/tls.c:280 msgid "TLS/SSL handshake failed!" msgstr "ÐŸÑ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð·Ð²'Ñзку TLS/SSL не вдалоÑÑ!" #: src/tls.c:301 msgid "No certificate was sent." msgstr "Сертифікат не відіÑлано." #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "Сертифікат не підтверджено." #: src/tls.c:311 msgid "The certificate has expired." msgstr "Ð”Ñ–Ñ Ñертифікату ÑкінчилаÑÑ." #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "Сертифікат ще не активовано." #: src/tls.c:326 msgid "No certificate was found!" msgstr "Сертифікат не знайдено!" #: src/tls.c:331 msgid "The certificate is trusted." msgstr "Сертифікат підтверджено." #: src/tls.c:361 #, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "Ðнонімний DH викориÑтовує проÑті чиÑла довжиною %d біт.\n" msgstr[1] "Ðнонімний DH викориÑтовує проÑті чиÑла довжиною %d біти.\n" msgstr[2] "Ðнонімний DH викориÑтовує проÑті чиÑла довжиною %d бітів.\n" #: src/tls.c:370 #, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "Ефемеридний DH викориÑтовує проÑті чиÑла довжиною %d біт.\n" msgstr[1] "Ефемеридний DH викориÑтовує проÑті чиÑла довжиною %d біти.\n" msgstr[2] "Ефемеридний DH викориÑтовує проÑті чиÑла довжиною %d бітів.\n" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "- Протокол: %s\n" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "- Тип Ñертифікату: %s\n" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "- СтиÑненнÑ: %s\n" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "- Шифр: %s\n" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "- MAC: %s\n" #: src/tls.c:423 #, c-format msgid "- Certificate info:\n" msgstr " - Дані Ñертифікату:\n" #: src/tls.c:427 #, c-format msgid "- Certificate is valid since: %s" msgstr " - Сертифікат дійÑний з: %s" #: src/tls.c:429 #, c-format msgid "- Certificate expires: %s" msgstr " - Сертифікат закінчуєтьÑÑ: %s" #: src/tls.c:434 #, c-format msgid "- Certificate fingerprint: " msgstr " - Відбитки Ñертифікату: " #: src/tls.c:444 #, c-format msgid "- Certificate serial number: " msgstr " - Серійний номер Ñертифікату: " #: src/tls.c:453 #, c-format msgid "- Certificate public key: " msgstr "- Публічний ключ Ñертифікату: " #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "RSA\n" #: src/tls.c:457 #, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] "- Модуль %d біт\n" msgstr[1] "- Модуль %d біти\n" msgstr[2] "- Модуль %d бітів\n" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "DSA\n" #: src/tls.c:463 #, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] "- Показник %d біт\n" msgstr[1] "- Показник %d біти\n" msgstr[2] "- Показник %d бітів\n" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "ÐЕВІДОМИЙ\n" #: src/tls.c:469 #, c-format msgid "- Certificate version: #%d\n" msgstr " - ВерÑÑ–Ñ Ñертифікату: #%d\n" #: src/tls.c:476 #, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr " - Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð²Ð¸Ð´Ð°Ð²Ñ†Ñ Ñертифікату: %s\n" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 #, fuzzy msgid "Transferring messages..." msgstr "Передача повідомлень..." #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "Початок ÑеÑÑ–Ñ— SMTP..." #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "ВикориÑтовуєтьÑÑ ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ TLS/SSL..." #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "УВÐГÐ: %s" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "Команда STARTTLS не вдалаÑÑ." #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "" "Ð¨Ð¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ TLS/SSL викориÑтовуєтьÑÑ Ð»Ð¸ÑˆÐµ між ÐнубіÑом та віддаленим MTA..." #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "Команда STARTTLS (одноÑтороннÑ) не вдалаÑÑ." #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: параметр `%s' неоднозначний\n" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: параметр `--%s' не дозволÑÑ” аргументів\n" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: параметр `%c%s' не дозволÑÑ” аргументів\n" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: параметр `%s' вимагає аргументів\n" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: невідомий параметр `--%s'\n" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: невідомий параметр `%c%s'\n" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: невірний параметр -- %c\n" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: невірний параметр -- %c\n" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: вимагає аргумент -- %c\n" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: параметр `-W %s' неоднозначний\n" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: параметр `-W %s' не дозволÑÑ” аргумент\n" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "пам'Ñть вичерпано" #~ msgid "MTA has not been specified. Set either REMOTE-MTA or LOCAL-MTA." #~ msgstr "MTA не вказаний. Ð’Ñтановіть REMOTE-MTA або LOCAL-MTA." #~ msgid "Loop not allowed. Connection rejected." #~ msgstr "Петлі не дозволені. З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ÐºÐ¸Ð½ÑƒÑ‚Ð¾." #~ msgid "Try '%s --help' for more information." #~ msgstr "Спробуй '%s --help' щоб отримати більш інформації." #~ msgid "" #~ "\n" #~ "GNU Anubis is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2 of the License, or\n" #~ "(at your option) any later version." #~ msgstr "" #~ "\n" #~ "GNU Anubis Ñ” вільною програмою; ви можете розповÑюджувати чи/та змінювати " #~ "його\n" #~ "на умовах ліцензії GNU General Public License опублікованої Free\n" #~ "Software Foundation; верÑÑ–Ñ— 2 цієї ліцензії, або (за вашим бажаннÑм)\n" #~ "будь-Ñкої пізнішої верÑÑ–Ñ—." #~ msgid "" #~ "\n" #~ "GNU Anubis is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details." #~ msgstr "" #~ "\n" #~ "GNU Anubis розповÑюджуєтьÑÑ Ð· надією, що він буде кориÑним, але\n" #~ "БЕЗ БУДЬ-ЯКОЇ ГÐРÐÐТІЇ; навіть без неÑвної гарантії\n" #~ "КОМЕРЦІЙÐОЇ ПРИДÐТÐОСТІ або ПРИДÐТÐОСТІ ДЛЯ ПЕВÐОЇ МЕТИ. Докладніше\n" #~ "про це читайте у GNU General Public License." #~ msgid "" #~ "\n" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with GNU Anubis; if not, write to the Free Software\n" #~ "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA" #~ msgstr "" #~ "\n" #~ "Разом з цією програмою ви повинні були отримати копію GNU General\n" #~ "Public License; Ñкщо це не так, напишіть до Free Software\n" #~ "Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgid "" #~ "\n" #~ "GNU Anubis is released under the GPL with the additional exemption that\n" #~ "compiling, linking, and/or using OpenSSL is allowed.\n" #~ msgstr "" #~ "\n" #~ "GNU Anubis розповÑюджуєтьÑÑ Ð½Ð° умовах GPL з додатковим дозволом " #~ "компілÑції,\n" #~ "Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð°/чи викориÑÑ‚Ð°Ð½Ð½Ñ Ñ€Ð°Ð·Ð¾Ð¼ з OpenSSL.\n" #~ msgid "Usage: anubis [options]\n" #~ msgstr "ВикориÑтаннÑ: anubis [параметри]\n" #~ msgid " -m, --mode=MODE Select operation mode." #~ msgstr " -m, --mode=РЕЖИМ Вибір режиму роботи." #~ msgid "" #~ " MODE is either \"transparent\" or \"auth\"" #~ msgstr " РЕЖИМ Ñ” \"transparent\" або \"auth\"." #~ msgid " -f, --foreground Foreground mode." #~ msgstr " -f, --foreground Робота на тлі." #~ msgid " -s, --silent Work silently." #~ msgstr " -s, --silent Працювати тихо." #~ msgid " -v, --verbose Work noisily." #~ msgstr " -v, --verbose Працювати шумно." #~ msgid " -D, --debug Debug mode." #~ msgstr " -D, --debug Режим налагодженнÑ." #~ msgid " --norc Ignore system configuration file." #~ msgstr "" #~ " --norc Ігнорувати ÑиÑтемний файл налаштувань." # FIXME: переклад copiright #~ msgid " --version Print version number and copyright." #~ msgstr "" #~ " --version ВивеÑти номер верÑÑ–Ñ— та авторÑькі права." #~ msgid " --help It's obvious..." #~ msgstr " --help Це очевидно..." #~ msgid "malloc() failed. Cannot allocate enough memory." #~ msgstr "malloc() не вдалаÑÑ. Ðеможливо виділити доÑтатньо пам'Ñті." #~ msgid "realloc() failed. Cannot reallocate enough memory." #~ msgstr "realloc() не вдалаÑÑ. Ðеможливо перевиділити доÑтатньо пам'Ñті." #~ msgid "INTERNAL ERROR (get_response_smtp): buffer exhausted. Please report." #~ msgstr "" #~ "Ð’ÐУТРІШÐЯ ПОМИЛКР(get_response_smtp): вичерпано ємніÑть буфера. Будь " #~ "лаÑка звітуйте." #~ msgid "Seeding random number generator..." #~ msgstr "Ð†Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° випадкових чиÑел..." #~ msgid "Unable to seed random number generator." #~ msgstr "Ðе вдаєтьÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ генератор випадкових чиÑел." #~ msgid "Write error: %s" #~ msgstr "Помилка запиÑу: %s" #~ msgid "Read error: %s" #~ msgstr "Помилка читаннÑ: %s" #~ msgid "SSLv23_client_method() failed." #~ msgstr "SSLv23_client_method() не вдалаÑÑ" #~ msgid "Can't create SSL_CTX object." #~ msgstr "Ðе вдаєтьÑÑ Ñтворити об'єкт SSL_CTX." #~ msgid "SSL_CTX_set_cipher_list() failed." #~ msgstr "SSL_CTX_set_cipher_list() не вдалаÑÑ." #~ msgid "Can't create a new SSL structure for a connection." #~ msgstr "Ðеможливо Ñтворити нову конÑтрукцію SSL Ð´Ð»Ñ Ð·'єднаннÑ." #~ msgid "SSLv23_server_method() failed." #~ msgstr "SSLv23_server_method() не вдалаÑÑ." #~ msgid "SSL_CTX_use_certificate_file() failed." #~ msgstr "SSL_CTX_use_certificate_file() не вдалаÑÑ." #~ msgid "SSL_CTX_use_PrivateKey_file() failed." #~ msgstr "SSL_CTX_use_PrivateKey_file() не вдалаÑÑ." #~ msgid "Private key does not match the certificate public key." #~ msgstr "Таємний ключ не Ñпівпадає з публічним ключем Ñертифікату." #~ msgid "%s connection using %s (%u bit)" #~ msgid_plural "%s connection using %s (%u bits)" #~ msgstr[0] "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ %s з викориÑтаннÑм %s (%u біт)" #~ msgstr[1] "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ %s з викориÑтаннÑм %s (%u біти)" #~ msgstr[2] "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ %s з викориÑтаннÑм %s (%u бітів)" #~ msgid "Server public key is %d bit" #~ msgid_plural "Server public key is %d bits" #~ msgstr[0] "Публічний ключ Ñерверу розміром %d біт" #~ msgstr[1] "Публічний ключ Ñерверу розміром %d біти" #~ msgstr[2] "Публічний ключ Ñерверу розміром %d бітів" #~ msgid "Certificate:" #~ msgstr "Сертифікат:" #~ msgid "X509_NAME_oneline [subject] failed!" #~ msgstr "X509_NAME_oneline [тема] не вдалаÑÑ!" #~ msgid "Subject: %s" #~ msgstr "Тема: %s" #~ msgid "X509_NAME_oneline [issuer] failed!" #~ msgstr "X509_NAME_oneline [видавець] не вдалаÑÑ!" #~ msgid "Issuer: %s" #~ msgstr "Видавець: %s" #~ msgid "Connection terminated." #~ msgstr "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÑ€Ð²Ð°Ð½Ðµ." #~ msgid "OK" #~ msgstr "ГÐРÐЗД" #~ msgid "ERROR" #~ msgstr "ПОМИЛКÐ" #~ msgid "Using the ESMTP CRAM-MD5 authentication..." #~ msgstr "ВикориÑтовуєтьÑÑ ESMTP CRAM-MD5 авторизаціÑ..." #~ msgid "Server rejected the AUTH command." #~ msgstr "Сервер відкинув команду AUTH." #~ msgid "Challenge decoded: %s" #~ msgstr "Визов декодований: %s" #~ msgid "Using the ESMTP LOGIN authentication..." #~ msgstr "ВикориÑтовуєтьÑÑ ESMTP LOGIN авторизаціÑ..." #~ msgid "Connecting to %s:%u..." #~ msgstr "Ð—Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· %s:%u..." #~ msgid "Using the 'ONEWAY' TLS/SSL encryption..." #~ msgstr "ВикориÑтовуєтьÑÑ 'ONEWAY' TLS/SSL шифруваннÑ..." #~ msgid "getpeername() failed: %s." #~ msgstr "getpeername() не вдалаÑÑ: %s." #~ msgid "The %s section has been found. Processing..." #~ msgstr "Розділ %s знайдено. Обробка..." #~ msgid "IDENT: send() failed: %s." #~ msgstr "IDENT: send() не вдалоÑÑ: %s." #~ msgid "Built-in support for: " #~ msgstr "Вбудована підтримка длÑ: " #~ msgid "Fatal fclose() error. %s." #~ msgstr "Фатальна помилка fclose(). %s." anubis-4.1.1+dfsg1/po/LINGUAS0000600000175000017500000000005511122020717013174 0ustar kbkbda de fr id it ms nb nl pl ro ru sv tr uk vi anubis-4.1.1+dfsg1/po/ro.po0000600000175000017500000010441511123150056013135 0ustar kbkb# Mesajele în limba românã pentru anubis. # Copyright (C) 2003 Free Software Foundation, Inc. # Acest fiºier este distribuit sub aceeaºi licenþã ca ºi pachetul anubis. # Laurentiu Buzdugan , 2003. # # # #: env.opt:43 msgid "" msgstr "" "Project-Id-Version: anubis 3.6.2\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: 2003-03-17 03:22+0000\n" "Last-Translator: Laurentiu Buzdugan \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "" #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "" #: src/authmode.c:522 msgid "Database not specified" msgstr "" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "" #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "" #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "Conectarea închisã cu succes." #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "PAM: Sesiune terminatã." #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "PAM: am eºuat sã eliberez autentificatorului." #: src/daemon.c:41 #, fuzzy msgid "daemon() failed" msgstr "daemon() a eºuat. %s." #: src/daemon.c:48 #, fuzzy msgid "Cannot fork." msgstr "Nu pot face fork. %s." #: src/daemon.c:56 #, fuzzy msgid "setsid() failed" msgstr "setsid() a eºuat." #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "demonul de pornire %s a reuºit." #: src/daemon.c:80 #, fuzzy, c-format msgid "Exited successfully" msgstr "Conectarea închisã cu succes." #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "" #: src/daemon.c:108 #, fuzzy, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "" "Copil [%d] a terminat. Stare de ieºire: %s. au mai rãmas %d client(i)." msgstr[1] "" "Copil [%d] a terminat. Stare de ieºire: %s. au mai rãmas %d client(i)." #: src/daemon.c:120 #, fuzzy, c-format msgid "Local program [%lu] finished. %s" msgstr "Programul local [%d] a terminat." #: src/daemon.c:161 msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "" #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "" #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "GNU Anubis ruleazã..." #: src/daemon.c:237 src/exec.c:80 #, fuzzy msgid "accept() failed" msgstr "accept() a eºuat: %s." #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "TCP wrappers: conectarea de la %s:%u respinsã." #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "Prea mulþi clienþi. Conectarea de la %s:%u respinsã." #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "Conectarea de la %s:%u" #: src/daemon.c:287 #, fuzzy msgid "daemon: cannot fork" msgstr "demon: Nu pot face fork. %s." #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "MTA-ul nu a fost specificat. Setaþi REMOTE-MTA sau LOCAL-MTA." #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "" #: env.opt:45 #, fuzzy msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" " -b, --bind [HOST:]PORT Specificã portul TCP pe care GNU Anubis " "ascultã\n" " pentru conectare. HOST-ul implicit este " "INADDR_ANY,\n" " iar PORT-ul implicit este 24 (sistemul de " "poºtã particularã)." #: env.opt:54 #, fuzzy msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "" " -r, --remote-mta HOST[:PORT] Specificã un nume de host SMTP remote sau " "adresã IP.\n" " Numãrul de PORT implicit este 25." #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "" #: env.opt:62 #, fuzzy msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" " -l, --local-mta FILE Executã u server SMTP, care lucreazã pe\n" " intrarea ºi ieºirea standard (în genul " "programului inetd).\n" " Aceastã opþiune exclude opþiunea '--remote-mta'" #: env.opt:74 msgid "MODE" msgstr "" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "" #: env.opt:81 msgid "Foreground mode" msgstr "" #: env.opt:87 msgid "EMAIL" msgstr "" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "" #: env.opt:94 #, fuzzy msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" " -i, --stdio Foloseºte protocolul SMTP (OMP/Tunnel) aºa cum " "este\n" " descris în RFC 821 despre intrãri ºi ieºiri " "standard." #: env.opt:98 #, fuzzy msgid "Output options" msgstr "Opþiuni pentru ieºiri:\n" #: env.opt:101 msgid "Work silently" msgstr "" #: env.opt:106 msgid "Work noisily" msgstr "" #: env.opt:111 msgid "Debug mode" msgstr "" #: env.opt:115 #, fuzzy msgid "Miscellaneous options" msgstr "" "\n" "Opþiuni diverse:\n" #: env.opt:119 #, fuzzy msgid "Specify alternate system configuration file" msgstr " --altrc FIªIER Specificã fiºier de configurare sistem alternativ" #: env.opt:126 #, fuzzy msgid "Ignore system configuration file" msgstr " --norc Ignorã fiºierul de configurare sistem" #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "" #: env.opt:132 #, fuzzy msgid "Run the configuration file syntax checker" msgstr "Citesc fiºierul de configurare sistem %s..." #: env.opt:139 msgid "Print a list of configuration options used to build GNU Anubis" msgstr "" #: env.opt:145 #, fuzzy msgid "Do not check user configuration file permissions" msgstr "Citesc fiºierul de configurare utilizator %s..." #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "" #: env.opt:155 #, fuzzy msgid "Other options" msgstr "Opþiuni pentru ieºiri:\n" #: env.opt:155 msgid "Give this help list" msgstr "" #: env.opt:155 msgid "Give a short usage message" msgstr "" #: env.opt:155 msgid "Print program version" msgstr "" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "" #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "" #: env.opt:165 msgid "OPTION" msgstr "" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" #: env.opt:293 #, fuzzy, c-format msgid "Report bugs to %s.\n" msgstr "" "\n" "Raportaþi bug-uri la %s>.\n" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 #, fuzzy msgid "argcv_get failed" msgstr "accept() a eºuat: %s." #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "" #: env.opt:181 msgid "Missing recipient addresses" msgstr "" #: env.opt:256 #, fuzzy, c-format msgid "setgroups(1, %lu) failed" msgstr "setsid() a eºuat." #: env.opt:266 #, fuzzy, c-format msgid "setegid(%lu) failed" msgstr "setsid() a eºuat." #: env.opt:269 #, fuzzy, c-format msgid "setregid(%lu,%lu) failed" msgstr "setsid() a eºuat." #: env.opt:273 #, fuzzy, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "setsid() a eºuat." #: env.opt:282 #, fuzzy, c-format msgid "setgid(%lu) failed" msgstr "setsid() a eºuat." #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "" #: env.opt:307 #, fuzzy, c-format msgid "setreuid(%lu,-1) failed" msgstr "setsid() a eºuat." #: env.opt:313 #, fuzzy, c-format msgid "second setuid(%lu) failed" msgstr "setsid() a eºuat." #: env.opt:321 #, fuzzy, c-format msgid "setuid(%lu) failed" msgstr "setsid() a eºuat." #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "" #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "PAM: Sesiune deschisã (restricþii în vigoare)." #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "PAM: Nu sunteþi autentificat sã folosiþi GNU Anubis." #: env.opt:377 src/main.c:152 #, fuzzy, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "UID:%d, GID:%d, EUID:%d, EGID:%d" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "Utilizator invalid: %s" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "Nume utilizator invalid: %s" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "Permisiuni greºite pentru %s. Setaþi 0600." #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "%s nu este un fiºier normal sau o legãturã simbolicã." #: env.opt:492 #, fuzzy, c-format msgid "Unknown mode: %s" msgstr "Host necunoscut %s." #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "" #: src/errs.c:84 msgid "warning" msgstr "" #: src/errs.c:92 #, fuzzy, c-format msgid "Could not write to socket: %s" msgstr "Nu am putut scrie pe socket! %s." #: src/errs.c:94 #, fuzzy msgid "Could not write to socket" msgstr "Nu am putut scrie pe socket! %s." #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "Host necunoscut %s." #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "%s: nume host este valid dar nu are o adresã IP." #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "%s: a avut loc o eroare de tip nume de server nedeterminat." #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "" "%s: a avut loc o eroare de tip nume de server temporar. Încercaþi mai târziu." #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "%s: eroare DNS necunoscutã %d." #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "" #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "" #: src/esmtp.c:167 src/esmtp.c:186 #, fuzzy, c-format msgid "GSASL handshake aborted: %d %s" msgstr "TLS/SSL a eºuat." #: src/esmtp.c:198 #, fuzzy, c-format msgid "GSASL error: %s" msgstr "SOCKS proxy: %s" #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "" #: src/esmtp.c:215 #, fuzzy msgid "Authentication successful." msgstr "Conectarea închisã cu succes." #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "socket() #1 a eºuat." #: src/exec.c:45 msgid "#2 socket() failed." msgstr "socket() #2 a eºuat." #: src/exec.c:55 #, fuzzy msgid "#1 bind() failed" msgstr "bind() #1 a eºuat: %s." #: src/exec.c:60 #, fuzzy msgid "#2 bind() failed" msgstr "bind() #2 a eºuat: %s." #: src/exec.c:65 src/net.c:233 #, fuzzy msgid "listen() failed" msgstr "listen() a eºuat: %s." #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "getsockname() a eºuat: %s." #: src/exec.c:75 #, fuzzy msgid "connect() failed" msgstr "connect() a eºuat: %s." #: src/exec.c:87 #, fuzzy msgid "socketpair() failed" msgstr "socketpair() a eºuat: %s." #: src/exec.c:108 #, fuzzy, c-format msgid "Executing %s..." msgstr "Executãm %s %s..." #: src/exec.c:118 #, fuzzy msgid "fork() failed" msgstr "fork() a eºuat." #: src/exec.c:132 #, fuzzy msgid "execvp() failed" msgstr "execvp() a eºuat: %s." #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "GPGME: %s." #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "Instalaþi GPGME versiunea %s sau o versiune ulterioarã." #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "GPGME: a eºuat. %s." #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "" #: src/gpg.c:320 #, fuzzy, c-format msgid "GPGME: Invalid signer found: %s" msgstr "Nume utilizator invalid: %s" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "" #: src/guile.c:259 msgid "missing procedure name" msgstr "" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "" #: src/ident.c:101 #, fuzzy msgid "IDENT: socket() failed" msgstr "IDENT: socket() a eºuat: %s." #: src/ident.c:113 #, fuzzy msgid "IDENT: connect() failed" msgstr "IDENT: connect() a eºuat: %s." #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "IDENT: conectat la %s:%u" #: src/ident.c:128 #, fuzzy, c-format msgid "IDENT: stream_write() failed: %s." msgstr "IDENT: recvline() a eºuat: %s." #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "IDENT: recvline() a eºuat: %s." #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "IDENT: date incorecte." #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "IDENT: date probabil criptate cu DES..." #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "IDENT: date incorecte (DES decriptat)." #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "IDENT: am rezolvat utilizator remote ca %s." #: src/main.c:54 msgid "Not enough memory" msgstr "" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "%s remapat cãtre %s@localhost." #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "Hartã translaþii: sintaxã incorectã." #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "Am primit o lungime de adresã ilegalã de la host-ul %s" #: src/misc.c:120 #, fuzzy, c-format msgid "Invalid port number: %s" msgstr "Nume utilizator invalid: %s" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "" #: src/net.c:46 msgid "SERVER" msgstr "" #: src/net.c:49 msgid "CLIENT" msgstr "" #: src/net.c:127 msgid "Getting remote host information..." msgstr "Obþinem informaþii despre host-ul remote..." #: src/net.c:164 #, fuzzy msgid "Cannot create stream socket." msgstr "Nu pot crea stream socket." #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "Nu mã pot conecta la to %s:%u. %s." #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "M-am conectat la %s:%u" #: src/net.c:196 #, fuzzy msgid "Cannot create stream socket" msgstr "Nu pot crea stream socket." #: src/net.c:229 #, fuzzy msgid "bind() failed" msgstr "bind() a eºuat: %s." #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "GNU Anubis legat la %s:%u" #: src/net.c:257 msgid "Short write" msgstr "" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "Folosind SOCKS Proxy..." #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "SOCKS proxy: %s" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "Adresa trebuie sã fie un IP, nu un nume de domeniu." #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "Conectare Proxy SOCKS: reuºitã." #: src/socks.c:179 msgid "Request rejected or failed." msgstr "Cerere respinsã sau eºuatã." #: src/socks.c:182 msgid "Request rejected." msgstr "Cerere respinsã." #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" "Cerere respinsã, pentru cã programul client ºi identd au raportat ID-uri " "diferite pentru utilizator." #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "Rãspunsul serverului nu este valid." #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "Probabil nu e un srviciu SOCKS proxy." #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "Metoda AUTH Proxy SOCKS: NICI O AUTENTIFICARE NECESARÃ" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "Metoda AUTH Proxy SOCKS: NUME UTILIZATOR/PAROLÃ" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "Nu pot trimite nume utilizator sau parolã nulã." #: src/socks.c:291 msgid "Bad user name or password." msgstr "Nume utilizator sau parolã greºitã." #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "AUTH Proxy SOCKS: reuºitã." #: src/socks.c:298 msgid "Server does not accept any method." msgstr "Serverul nu acceptã orice metodã," #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "Serverul nu acceptã o metodã AUTH." #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "Eºuare generalã server SOCKS." #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "Conectarea nu este permisã de un set de reguli." #: src/socks.c:404 msgid "Network unreachable." msgstr "Reþeaua nu poate fi atinsã." #: src/socks.c:407 msgid "Host unreachable." msgstr "Host-ul nu poate fi atins." #: src/socks.c:410 msgid "Connection refused." msgstr "Conectare refuzatã." #: src/socks.c:413 msgid "TTL expired." msgstr "TTL expirat." #: src/socks.c:416 msgid "Command not supported." msgstr "Comanda nu este suportatã." #: src/socks.c:419 msgid "Address type not supported." msgstr "Tipul de adresã nu este suportat." #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "Am prins un semnal. Ies curat..." #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "Pauzã! Ies..." #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "Bine aþi venit %s !" #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "Citesc fiºierul de configurare sistem %s..." #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "Citesc fiºierul de configurare utilizator %s..." #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "" #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "" msgstr[1] "" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "" #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" #: src/rcfile.l:385 #, fuzzy msgid "Anubis RC file error" msgstr "Eroare în fiºierul Anubis RC: %s." #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "" #: src/rcfile.y:229 #, fuzzy, c-format msgid "unknown keyword: %s" msgstr "Host necunoscut %s." #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "" #: src/rcfile.y:567 msgid "missing replacement value" msgstr "" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "" #: src/rcfile.y:1314 msgid "STOP" msgstr "" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "" #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "" #: src/rcfile.y:1371 #, fuzzy, c-format msgid "Executing %s" msgstr "Executãm %s %s..." #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "" #: src/rcfile.y:1604 #, fuzzy, c-format msgid "Section %s" msgstr "Subiect: %s" #: src/rcfile.y:1628 #, fuzzy, c-format msgid "Unknown section: %s" msgstr "Host necunoscut %s." #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "" #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "" #: src/regex.c:328 #, fuzzy, c-format msgid "regcomp() failed at %s: %s." msgstr "regcomp() a eºuat. %s" #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "pcre_compile() a eºuat la offset %d: %s." #: src/regex.c:429 #, fuzzy, c-format msgid "pcre_fullinfo() failed: %d." msgstr "listen() a eºuat: %s." #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "Potrivire, dar prea multe subºiruri." #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "Obþinere subºir %d a eºuat (%d)." #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "Iniþializez conectarea TLS/SSL cu MTA..." #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "" #: src/tls.c:198 #, fuzzy, c-format msgid "TLS/SSL handshake failed: %s" msgstr "TLS/SSL a eºuat." #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "Iniþializez conectarea TLS/SSL cu MUA..." #: src/tls.c:280 #, fuzzy msgid "TLS/SSL handshake failed!" msgstr "TLS/SSL a eºuat." #: src/tls.c:301 msgid "No certificate was sent." msgstr "Certificatul nu a fost trimis." #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "Certificatul nu este de considerat de încredere." #: src/tls.c:311 msgid "The certificate has expired." msgstr "Certificatul a expirat." #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "Certificatul nu este încã activat." #: src/tls.c:326 msgid "No certificate was found!" msgstr "Nu a fost gãsit nici un certificat!" #: src/tls.c:331 msgid "The certificate is trusted." msgstr "Certificatul este de încredere." #: src/tls.c:361 #, fuzzy, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "DH anonim folosind numãr prim din %d biþi" msgstr[1] "DH anonim folosind numãr prim din %d biþi" #: src/tls.c:370 #, fuzzy, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "DH efemer folosind numãr prim din %d biþi" msgstr[1] "DH efemer folosind numãr prim din %d biþi" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "- Protocol: %s\n" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "- Tip de certificat: %s\n" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "- Compresie: %s\n" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "- Cifru: %s\n" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "- MAC: %s\n" #: src/tls.c:423 #, fuzzy, c-format msgid "- Certificate info:\n" msgstr " - Info despre certificat:\n" #: src/tls.c:427 #, fuzzy, c-format msgid "- Certificate is valid since: %s" msgstr " - Certificatul este valid din: %s" #: src/tls.c:429 #, fuzzy, c-format msgid "- Certificate expires: %s" msgstr " - Certificatul expirã: %s" #: src/tls.c:434 #, fuzzy, c-format msgid "- Certificate fingerprint: " msgstr " - Amprentã certificat: %s\n" #: src/tls.c:444 #, fuzzy, c-format msgid "- Certificate serial number: " msgstr " - Numãr serial certificat: %s\n" #: src/tls.c:453 #, fuzzy, c-format msgid "- Certificate public key: " msgstr "Cheie publicã certificat: " #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "RSA\n" #: src/tls.c:457 #, fuzzy, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] "Modul: %d biþi\n" msgstr[1] "Modul: %d biþi\n" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "DSA\n" #: src/tls.c:463 #, fuzzy, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] " Exponent: %d biþi\n" msgstr[1] " Exponent: %d biþi\n" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "NECUNOSCUT\n" #: src/tls.c:469 #, fuzzy, c-format msgid "- Certificate version: #%d\n" msgstr " - Versiune certificat: #%d\n" #: src/tls.c:476 #, fuzzy, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr " - Info despre eliberatorul certificatului:\n" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 #, fuzzy msgid "Transferring messages..." msgstr "Transfer mesaj(e)..." #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "" #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "Folosesc encripþie TLS/SSL..." #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "AVERTISMENT: %s" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "Comanda STARTTLS a eºuat." #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "" #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "Comanda STARTTLS (ONEWAY) a eºuat." #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: opþiunea `%s' este ambiguã\n" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: opþiunea `--%s' nu permite un argument\n" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: opþiunea `%c%s' nu permite un argument\n" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: opþiunea `%s' necesitã un argument\n" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: opþiune nerecunoscutã `--%s'\n" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: opþiune nerecunoscutã `%c%s'\n" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: opþiune ilegalã -- %c\n" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: opþiune ilegalã -- %c\n" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: opþiunea necesitã un argument -- %c\n" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: opþiunea `-W %s' este ambiguã\n" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: opþiunea `-W %s' nu permite un argument\n" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "" #~ msgid "The %s section has been found. Processing..." #~ msgstr "Am gãsit secþiunea %s. Procesãm..." #~ msgid "IDENT: send() failed: %s." #~ msgstr "IDENT: send() a eºuat: %s." #~ msgid "OK" #~ msgstr "OK" #~ msgid "ERROR" #~ msgstr "EROARE" #~ msgid "Loop not allowed. Connection rejected." #~ msgstr "Loop nu este permis. Conectarea respinsã." #~ msgid "Connection terminated." #~ msgstr "Conectarea terminatã." #~ msgid "Try '%s --help' for more information." #~ msgstr "Încercaþi `%s --help' pentru informaþii suplimentare." #~ msgid "Using the ESMTP CRAM-MD5 authentication..." #~ msgstr "Folosim autentificarea ESMTP CRAM-MD5..." #~ msgid "Server rejected the AUTH command." #~ msgstr "Serverul a respins comanda AUTH." #~ msgid "Challenge decoded: %s" #~ msgstr "Încercare decodatã: %s" #~ msgid "ESMTP AUTH: %s." #~ msgstr "ESMTP AUTH: %s." #~ msgid "Using the ESMTP LOGIN authentication..." #~ msgstr "Folosim autentificarea ESMTP LOGIN..." #~ msgid "Built-in support for: " #~ msgstr "Suport intern pentru: " #~ msgid "" #~ "\n" #~ "\n" #~ "GNU Anubis is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2 of the License, or\n" #~ "(at your option) any later version." #~ msgstr "" #~ "\n" #~ "\n" #~ "GNU Anubis este software liber; îl puteþi redistribui ºi/sau modifica\n" #~ "conform termenilor Licenþei Publice Generale GNU publicate de\n" #~ "Fundaþia pentru Software Liber; fie versiunea 2 a Licenþei, sau\n" #~ "(la alegerea d-voastrã) orice versiune ulterioarã." #~ msgid "" #~ "\n" #~ "GNU Anubis is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details." #~ msgstr "" #~ "\n" #~ "GNU Anubis este distribuit cu speranþa cã va fi folositor, dar\n" #~ "FÃRà NICI O GARANÞIE; chiar ºi fãrã garanþia implicitã de\n" #~ "COMERCIALITATE sau POTRIVIRE PENTU UN SCOP ANUME. Vedeþi\n" #~ "Licenþa Publicã Generalã GNU pentru detalii suplimentare." #~ msgid "" #~ "\n" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with GNU Anubis; if not, write to the Free Software\n" #~ "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA" #~ msgstr "" #~ "\n" #~ "Ar fi trebuit sã fi primit o copie a Licenþei Publice Generale GNU\n" #~ "împreunã cu GNU Anubis; dacã nu, scrieþi la adresa Free Software\n" #~ "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA" #~ msgid "" #~ "\n" #~ "GNU Anubis is released under the GPL with the additional exemption that\n" #~ "compiling, linking, and/or using OpenSSL is allowed.\n" #~ msgstr "" #~ "\n" #~ "GNU Anubis este distribuit sub GPL cu exceþia adiþionalã cã\n" #~ "compilarea, link-editarea, ºi/sau folosirea OpenSSL este permisã.\n" #~ msgid "Usage: anubis [options]\n" #~ msgstr "Folosire: anubis [opþiuni]\n" #~ msgid " -f, --foreground Foreground mode." #~ msgstr " -f, --foreground Mod prim-plan." #~ msgid " -s, --silent Work silently." #~ msgstr " -s, --silent Lucreazã silenþios" #~ msgid " -v, --verbose Work noisily." #~ msgstr " -v, --verbose Lucreazã zgomotos" #~ msgid " -D, --debug Debug mode." #~ msgstr " -D, --debug Mod depanare." #~ msgid " --version Print version number and copyright." #~ msgstr " --version Afiºeazã numãrul versiunii ºi copyright-ul." #~ msgid " --help It's obvious..." #~ msgstr " --help Este evident..." #~ msgid "malloc() failed. Cannot allocate enough memory." #~ msgstr "malloc() a eºuat. Nu pot aloca destulã memorie." #~ msgid "realloc() failed. Cannot reallocate enough memory." #~ msgstr "realloc() a eºuat. Nu pot realoca destulã memorie." #~ msgid "Initializing socket..." #~ msgstr "Iniþializare socket..." #~ msgid "Connecting to %s:%u..." #~ msgstr "Mã conectez la %s:%u..." #~ msgid "(%ld)SERVER >>> %s" #~ msgstr "(%ld)SERVER >>> %s" #~ msgid "(%ld)CLIENT >>> %s" #~ msgstr "(%ld)CLIENT >>> %s" #~ msgid "(%d)SERVER <<< %s" #~ msgstr "(%d)SERVER <<< %s" #~ msgid "(%d)CLIENT <<< %s" #~ msgstr "(%d)CLIENT <<< %s" #~ msgid "Fatal fclose() error. %s." #~ msgstr "Eroare criticã fclose(). %s" #~ msgid "Seeding random number generator..." #~ msgstr "Iniþializez generatorul de numere aleatoare..." #~ msgid "Unable to seed random number generator." #~ msgstr "Nu pot iniþializa generatorul de numere aleatoare." #~ msgid "SSLv23_client_method() failed." #~ msgstr "SSLv23_client_method() a eºuat." #~ msgid "Can't create SSL_CTX object." #~ msgstr "Nu pot crea obiect SSL_CTX." #~ msgid "SSL_CTX_set_cipher_list() failed." #~ msgstr "SSL_CTX_set_cipher_list() a eºuat." #~ msgid "Can't create a new SSL structure for a connection." #~ msgstr "Nu pot crea o nouã structurã SSL pentry conectare." #~ msgid "SSL_set_fd() failed." #~ msgstr "SSL_set_fd() a eºuat." #~ msgid "SSLv23_server_method() failed." #~ msgstr "SSLv23_server_method() a eºuat." #~ msgid "SSL_CTX_use_certificate_file() failed." #~ msgstr "SSL_CTX_use_certificate_file() a eºuat." #~ msgid "SSL_CTX_use_PrivateKey_file() failed." #~ msgstr "SSL_CTX_use_PrivateKey_file() a eºuat." #~ msgid "Private key does not match the certificate public key." #~ msgstr "Cheia privatã nu se potriveºte cu cheia publicã de certificare." #~ msgid "%s connection using %s (%u bits)" #~ msgstr "conectare %s folosind %s (%u biþi)" #~ msgid "Server public key is %d bits" #~ msgstr "Cheia publicã a serverului are %d biþi" #~ msgid "Certificate:" #~ msgstr "Certificat:" #~ msgid "X509_NAME_oneline [subject] failed!" #~ msgstr "X509_NAME_oneline [subiect] e eºuat!" #~ msgid "X509_NAME_oneline [issuer] failed!" #~ msgstr "X509_NAME_oneline [eliberator] a eºuat!" #~ msgid "Issuer: %s" #~ msgstr "Eliberator: %s" #~ msgid "Using the 'ONEWAY' TLS/SSL encryption..." #~ msgstr "Folosesc encripþia TLS/SSL 'ONEWAY'..." #~ msgid "getpeername() failed: %s." #~ msgstr "getpeername() a eºuat: %s." anubis-4.1.1+dfsg1/po/de.gmo0000600000175000017500000006046111123150057013254 0ustar kbkbÞ•Œoü¸¹ÊÞï, Mg;„7Àø,,Y%w,-Ê ø&@Zz,šNÇ5Mgƒ ˜¹Ôò N/(~ §&²Ùé )B^s«Êé #.Mi †“²Î/è'T@N•)ä%8X$n“§Áß þ  & 01 b n t  Š¥ 0!=!M!a!u!z!!!²!Â!Ù!ó! ""(3"\".|"(«"*Ô")ÿ"&)#P#c#s#’#°#"Î#ñ# $( $I$[$s$*$'¸$à$÷$"%8%!O%q%1€% ²%+Ó%/ÿ%//&"_&‚&2š&Í&á& ÷&''4'sR'Æ'ä'!ù'(1(M(b(|(•(©(É(Û( â(ð()ÿ())+>)%j)#)>´)ó) **'!*%I*o*Š*ž*Tº*+)!+K+g+n+3Ž++Â+î+" ,.,!>,`,y, ~,‰,D¤,$é,\-:k-&¦-"Í-ð- .!.@9.+z.)¦.ŽÐ._/x/+/K¹/-030N0h0 …0 ’00@µ0ö01%31Y1u11‰1"»1%Þ12 22/2G2[2Wb2º2>Ï23 .3G:35‚3¸3 Ê3 ×3"å3 494N4^4 o4&}4 ¤4Å4å4û4 5505 @5N5h5x5‰5 5'º5â5&þ5%6A6[6'o6—6ª6Ã6Ü6ú67"757I7]7”e7ú89/9H9 d9=…9Ã9-Þ9X :>e:¤:Á:*Þ:! ;)+;*U;+€;$¬;(Ñ;ú;<9<3Y<H<"Ö<ù<!=!1=S=%p=,–= Ã=ä=þ=>N+>(z> £>&®>Õ> æ>?7?&N?(u?'ž?Æ?.å?.@C@-`@Ž@ •@3¡@&Õ@'ü@$A&:A'aA#‰A8­A=æA„$BP©B6úB#1CUC#iCC1¢CÔC!ñC%D.9D hDtDyD“D?¢DâDýD"E&Eš?E ÚEèE"þE!F;FAF&^F…F–F¶FÖF ìF*÷F,"G0OG0€G#±G*ÕG!H#"HFHaH%rH˜H2¸H2ëH'IFI3`I!”I¶IÖI?òI82JkJ%„J4ªJßJ)þJ(KF8K$K:¤K4ßK4L-ILwL,‘L¾LÙL"öLMM 6MvWM ÎMïM' N2NIN"aN„N$žNÃN!ÞNOO#O4O.EOtO.ŠO6¹O)ðOTPoPˆP›P- P/ÎP%þP8$Q,]QdŠQïQ,R5RQR$XR8}R/¶RæR#S)S(9SbS‚S ‡S ”SSµS( T‚2TIµT.ÿT).UXUuU-U]¾U.V4KVš€VW8W.SWm‚W-ðW$X!CX$eXŠX X¨XEÀXY+%Y(QY%zY Y7¼YôY%Z 8ZCZ[Z0qZ¢ZºZhÂZ+[OC[(“[ ¼[YÈ[;"\^\ w\…\3ž\Ò\Há\*]B]]]s](“]+¼],è]^.^F^d^|^!’^´^Ì^Þ^ñ^/_#6_,Z_"‡_"ª_Í_*é_` /`!P`'r` š`»`Ó`î` a)aÉžß¹®#g’ý¢Š¼íV½D ÒŸ 0ÕxE£o€Wšð¡e˜ò–Öê"ä”õ›Ë Z[wLJ )²œ¿Y rÂ(\,jÈá3÷6ùØÐ•ϱCü1]ñp_|&5™`:âcÎìã“%«Ô§× zøIökÜ=·?dû¬Nó‚¸åGy}úÁ  8‘Oï;KÝ…ç9aR»¶³é s/Ù¤‰nîfÞ„‹Ì@Ä.ÿÑMˆ†Í æôèÓF¾—騭ڎ~BJm$>+°bµÆX4 þÀvl'!u{-2THh^iq´tʪ¥à ÛQULŒP7Ń<ºA¦ëS¯*#1 bind() failed#1 socket() failed.#2 bind() failed#2 socket() failed.%s daemon startup succeeded.%s is not a regular file or a symbolic link.%s not a procedure object%s remapped to %s@localhost.%s: a temporary name server error occured. Try again later.%s: host name is valid but does not have an IP address.%s: illegal option -- %c %s: invalid option -- %c %s: option `%c%s' doesn't allow an argument %s: option `%s' is ambiguous %s: option `%s' requires an argument %s: option `--%s' doesn't allow an argument %s: option `-W %s' doesn't allow an argument %s: option `-W %s' is ambiguous %s: option requires an argument -- %c %s: unknown DNS error %d.%s: unrecognized option `%c%s' %s: unrecognized option `--%s' %s: unrecoverable name server error occured.- Anonymous DH using prime of %d bit. - Anonymous DH using prime of %d bits. - Certificate Issuer's DN: %s - Certificate Type: %s - Certificate expires: %s- Certificate fingerprint: - Certificate info: - Certificate is valid since: %s- Certificate public key: - Certificate serial number: - Certificate version: #%d - Cipher: %s - Compression: %s - Ephemeral DH using prime of %d bit. - Ephemeral DH using prime of %d bits. - Exponent: %d bit - Exponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protocol: %s --mode=mda requires --local-mtaADD %s [%s] %sAddress must be an IP, not a domain name.Address type not supported.Anubis RC file errorAuthentication failed: %d %sAuthentication successful.Bad car type in return from %sBad cdr type in return from %sBad return type from %sBad user name or password.CLIENTCalling %sCan't find out my own hostnameCannot create stream socketCannot create stream socket.Cannot fork.Cannot initialize libgsasl: %sCannot open database %s: %sCannot open pid file '%s'Cannot retrieve data from the SASL database: %sCannot send null user name or password.Child [%lu] finished. %s. %d client left.Child [%lu] finished. %s. %d clients left.Child process suspended for %lu secondChild process suspended for %lu secondsCommand HANG is not allowed for user `%s'Command not supported.Connected to %s:%uConnection closed successfully.Connection from %s:%uConnection not allowed by a ruleset.Connection refused.Could not write to socketCould not write to socket: %sCouldn't connect to %s:%u. %s.DEBUG-LEVELDSA Database not specifiedDebug modeDo not check user configuration file permissionsDumped coreEMAILESMTP AUTH is not supportedEntering XDB loop...Execute a local SMTP server, which works on standard input and output (inetd-type program); this option excludes the `--remote-mta' optionExecuting %sExecuting %s...Exited successfullyExiting XDB loop...FILEFailed with status %dFile `%s' has already been read. Foreground modeFound record for `%s'.GNU Anubis bound to %s:%uGNU Anubis is running...GPGME: %s.GPGME: Cannot list keys: %sGPGME: Invalid recipient encountered: %sGPGME: Invalid signer found: %sGPGME: Unexpected number of signatures createdGPGME: Wrong hash algorithm reported: %iGPGME: Wrong pubkey algorithm reported: %iGPGME: Wrong signature class reported: %uGPGME: Wrong type of signature createdGPGME: failed. %s.GSASL error: %sGSASL handshake aborted: %d %sGeneral SOCKS server failure.Get substring %d failed (%d).Getting remote host information...Give a short usage messageGive this help listGot empty list of authentication methodsHost unreachable.IDENT: connect() failedIDENT: connected to %s:%uIDENT: data probably encrypted with DES...IDENT: incorrect data (DES deciphered).IDENT: incorrect data.IDENT: recvline() failed: %s.IDENT: resolved remote user to %s.IDENT: socket() failedIDENT: stream_write() failed: %s.INTERNAL ERRORINTERNAL ERROR at %s:%d: missing or invalid regexIgnore system configuration fileIllegal address length received for host %sInitializing the TLS/SSL connection with MTA...Initializing the TLS/SSL connection with MUA...Install GPGME version %s or later.Invalid port number: %sInvalid regular expression (see the above message)Invalid user ID: %sInvalid user name: %sLocal program [%lu] finished. %sMODEMODIFY %s [%s] [%s] %sMalformed or unexpected replyMandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.Matched condition %s[%s] "%s"Matched trigger "%s"Matched, but too many substrings.Miscellaneous optionsMissing recipient addressesNetwork unreachable.No certificate was found!No certificate was sent.No such section: %sNot a valid debugging level: %sNot enough memoryOPTIONOther optionsOutput optionsPAM: Not authenticated to use GNU Anubis.PAM: Session closed.PAM: Session opened (restrictions applied).PAM: failed to release authenticator.Possibly not a SOCKS proxy service.Print a list of configuration options used to build GNU AnubisPrint program versionREMOVE HEADER [%s]RSA Reading system configuration file %s...Reading user configuration file %s...Record for `%s' not found.Report bugs to %s. Request rejected or failed.Request rejected, because the client program and identd reported different User-IDs.Request rejected.Run the configuration file syntax checkerSASL gsasl_client_start: %sSERVERSMTP message submission daemon.SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH method: USER NAME/PASSWORDSOCKS Proxy AUTH: succeeded.SOCKS Proxy Connection: succeeded.SOCKS proxy: %sSTARTTLS (ONEWAY) command failed.STARTTLS command failed.STOPSection %sSection %s already definedSelect operation mode; MODE is one of "transparent", "auth" or "mda"Selected authentication mechanism %sSelected authentication mechanism %s requires TLS encryption. Not using ESMTP authenticationServer did not offer any feasible authentication mechanismServer does not accept an AUTH method.Server does not accept any method.Server reply is not valid.Short writeSignal Caught. Exiting Cleanly...Specify a remote SMTP host name or IP address; the default is 25Specify alternate system configuration fileSpecify sender address (implies MDA mode)Specify the TCP port on which GNU Anubis listens for connections; the default HOST is INADDR_ANY, and default PORT is 24 (private mail system)Starting SMTP session...Stopped on signal %dStore the PID of the running daemon in FILEStray character in config: \%03o. Possibly missing quotes around the stringTCP wrappers: connection from %s:%u rejected.TLS error reading `%s': %sTLS/SSL handshake failed!TLS/SSL handshake failed: %sTTL expired.TerminatedTerminated on signal %dThe MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA.The certificate has expired.The certificate is not trusted.The certificate is not yet activated.The certificate is trusted.Timeout! Exiting...Too many clients. Connection from %s:%u rejected.Translation map: incorrect syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUNKNOWN Unknown host %s.Unknown mode: %sUnknown regexp modifierUnknown section: %sUsage:Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input and outputUsing SOCKS Proxy...Using TLS/SSL encryption between Anubis and remote MTA only...Using the TLS/SSL encryption...WARNING: %sWARNING: An unprivileged user cannot be resolved. Verify your settings!WARNING: An unprivileged user has not been specified!Welcome user %s !Work noisilyWork silentlyWrong permissions on %s. Set 0600.[HOST:]PORT`logfile' directive is ignored in main configuration fileaccept() failedargcv_get failedbind() failedcannot drop non-root setuid privilegescannot open guile output file %scannot set effective gid to %lucannot stat file `%s'connect() faileddaemon() faileddaemon: cannot forkexecvp() failedfork() failedgetsockname() failed: %s.listen() failedmemory exhaustedmissing procedure namemissing replacement valuepcre_compile() failed at offset %d: %s.pcre_fullinfo() failed: %d.program is not allowed in this sectionregcomp() failed at %s: %s.second setuid(%lu) failedsetegid(%lu) failedseteuid(0) succeeded when it should notsetgid(%lu) failedsetgroups(1, %lu) failedsetregid(%lu,%lu) failedsetresgid(%lu,%lu,%lu) failedsetreuid(%lu,-1) failedsetsid() failedsetuid(%lu) failedsocketpair() failedunknown keyword: %swarningProject-Id-Version: anubis 4.1 Report-Msgid-Bugs-To: bug-anubis@gnu.org POT-Creation-Date: 2008-12-20 11:59+0100 PO-Revision-Date: 2008-11-24 13:03+0100 Last-Translator: Roland Illig Language-Team: German MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); #1 bind() fehlgeschlagen#1 socket() fehlgeschlagen.#2 bind() fehlgeschlagen#2 socket() fehlgeschlagen.%s-Dämon erfolgreich gestartet.%s ist keine reguläre Datei und auch kein symbolischer Link.%s ist kein Prozedurobjekt»%s« wurde in »%s@localhost« umgewandelt.%s: Ein temporärer Nameserver-Fehler ist aufgetreten. Versuchen Sie es später nochmal.Der Rechnername »%s« ist gültig, hat aber keine IP-Adresse.%s: ungültige Option -- %c %s: ungültige Option -- %c %s: Option »%c%s« erlaubt kein Argument %s: Option »%s« ist mehrdeutig %s: Option »%s« erfordert ein Argument %s: Option »--%s« erlaubt kein Argument %s: Option »-W %s« erlaubt kein Argument %s: Option »-W %s« ist mehrdeutig %s: Option erfordert ein Argument -- %c %s: unbekannter DNS-Fehler %d.%s: unbekannte Option »%c%s« %s: unbekannte Option »--%s« %s: Nicht behebbarer Nameserver-Fehler aufgetreten.- Anonymer DH mit %d-Bit-Primzahl. - Anonymer DH mit %d-Bit-Primzahl. - Domainname des Herausgebers: %s - Zertifikatstyp: %s - Das Zertifikat läuft ab am: %s- Fingerabdruck des Zertifikats: - Zertifikatinformationen: - Das Zertifikat ist gültig seit: %s- Öffentlicher Schlüssel des Zertifikats: - Seriennummer des Zertifikats: - Zertifikatversion: #%d - Verschlüsselung: %s - Komprimierung: %s - Kurzlebiger DH mit %d-Bit-Primzahl. - Kurzlebiger DH mit %d-Bit-Primzahl. - Exponent: %d Bit - Exponent: %d Bits - MAC: %s - Modulus: %d Bit - Modulus: %d Bits - Protokoll: %s --mode=mda benötigt --local-mtaADD %s [%s] %sDie Adresse muss eine IP-Adresse sein, kein Domainname.Der Adresstyp wird nicht unterstützt.Fehler in der Anubis KonfigurationsdateiAuthentifizierung fehlgeschlagen: %d %sAuthentifizierung erfolgreich.Falscher car-Datentyp bei der Rückkehr von %sFalscher cdr-Datentyp bei der Rückkehr von %sFalscher Rückgabetyp von %sFalscher Benutzername oder falsches Passwort.CLIENTRufe %s aufKann meinen eigenen Rechnernamen nicht herausfindenKann keinen Datenstrom-Socket erzeugenKann keinen Datenstrom-Socket erzeugen.fork() fehlgeschlagenKann libgsasl nicht initialisieren: %sKann die Datenbank %s nicht öffnen: %sKann PID-Datei »%s« nicht öffnenKann die Daten aus der SASL-Datenbank nicht bekommen: %sKann keinen leeren Benutzernamen oder leeres Passwort senden.Kindprozess [%lu] mit Endzustand %s beendet. Noch %d Kindprozess.Kindprozess [%lu] mit Endzustand %s beendet. Noch %d Kindprozesse.Kindprozess für %lu Sekunde angehaltenKindprozess für %lu Sekunden angehaltenDer Befehl HANG ist für Benutzer »%s« nicht erlaubtDer Befehl wird nicht unterstützt.Verbunden mit %s:%uVerbindung erfolgreich geschlossen.Verbindung von %s:%uDie Verbindung wird von den Regeln nicht erlaubt.Verbindungsaufbau abgelehnt.write() auf Socket fehlgeschlagenwrite() auf Socket fehlgeschlagen: %sKonnte keine Verbindung zu %s:%u aufbauen: %s.DEBUG-LEVELDSA Keine Datenbank angegebenDebuggingmodusBerechtigungen für die Konfigurationsdatei nicht überprüfen.Speicherauszug geschriebenEMAILESMTP AUTH wird nicht unterstütztBetrete XDB-Schleife ...Einen lokalen SMTP-Server ausführen, der auf der Standardein- und -ausgabe arbeitet (inetd-artiges Programm). Diese Option schließt »--remote-mta« ausFühre %s ausFühre »%s« aus ...Verbindung erfolgreich geschlossenVerlasse XDB-SChleife ...DATEIFehlgeschlagen mit Status %dDie Datei »%s« wurde schon gelesen. VordergrundmodusDatensatz für »%s« gefunden.GNU Anubis mit %s:%u verbunden.GNU Anubis läuft ...GPGME: %s.GPGME: Kann Schlüssel nicht auflisten: %sGPGME: Unzulässiger Empfänger gefunden: %sGPGME: Unzulässiger Unterschreiber gefunden: %sGPGME: Unerwartete Anzahl von Signaturen erzeugtGPGME: Falscher Hashalgorithmus: %iGPGME: Falscher Public-Key-Algorithmus: %iGPGME: Falsche Signaturklasse: %uGPGME: Falscher Signaturtyp erzeugtGPGME: fehlgeschlagen. %s.GSASL-Fehler: %sGSASL-Handshake fehlgeschlagen: %d %sAllgemeiner SOCKS-Serverfehler.Lesen der Teilzeichenkette %d fehlgeschlagen (%d).Ermittle Informationen des entfernten Rechners ...Eine kurze Benutzungsanleitung anzeigenDiese Hilfeliste anzeigenLeere Liste von Authentifizierungsmethoden bekommenDer Rechner ist nicht erreichbar.IDENT: connect() fehlgeschlagenIDENT: Mit %s:%u verbunden.IDENT: Die Daten sind wahrscheinlich mit DES verschlüsselt ...IDENT: unkorrekte Daten (nach der DES-Entschlüsselung).IDENT: unkorrekte Daten.IDENT: recvline() fehlgeschlagen: %s.IDENT: Entfernten Benutzer als »%s« identifiziert.IDENT: socket() fehlgeschlagenIDENT: stream_write() fehlgeschlagen: %s.INTERNER FEHLERINTERNER FEHLER an %s:%d: Regulärer Ausdruck fehlt oder ist ungültigSystemkonfigurationsdatei ignorierenUngültige Adresslänge für den Rechner »%s« empfangen.Initialisiere die TLS/SSL-Verbindung mit dem MTA ...Initialisiere die TLS/SSL-Verbindung mit dem MUA ...Installieren Sie GPGME Version %s oder neuer.Ungültige Portnummer: %sUngültiger regulärer Ausdruck (siehe oben)Ungültige Benutzer-ID: %sUngültiger Benutzername: %sLokales Programm [%lu] beendet. %sMODUSMODIFY %s [%s] [%s] %sKaputte oder unerwartete AntwortArgumente, die für lange Optionen notwendig oder optional sind, sind es auch für die entsprechenden kurzen Optionen.Bedingung %s[%s] »%s« erfülltAuslöser »%s« aktiviertPasst, aber zu viele Teilzeichenketten.Verschiedene Optionen:Empfängeradresse fehltDas Netzwerk ist nicht erreichbar.Kein Zertifikat gefunden.Es wurde kein Zertifikat verschickt.Kein passender Bereich: %sKein gültiges Debugginglevel: %sNicht genug ArbeitsspeicherOPTIONAndere Optionen:Ausgabeoptionen:PAM: Nicht berechtigt, GNU Anubis zu benutzen.PAM: Sitzung beendet.PAM: Sitzung gestartet (mit Einschränkungen).PAM: Konnte die Echtheitsbestätigung nicht ermitteln.Vielleicht ist es kein SOCKS-Proxydienst.Eine Liste von Konfigurationsoptionen ausgeben, mit denen GNU Anubis erstellt wurde.Programmversion ausgebenREMOVE HEADER [%s]RSA Lese die Systemkonfigurationsdatei »%s« ...Lese die Benutzerkonfigurationsdatei »%s« ...Datensatz für »%s« nicht gefunden.Melden Sie Fehler (auf Englisch, mit LC_ALL=C) an <%s>. Anfrage zurückgewiesen oder fehlgeschlagen.Anfrage abgewiesen, da das Clientprogramm und identd verschiedene Benutzer-IDs zurückgegeben haben.Anfrage zurückgewiesen.Syntax der Konfigurationsdatei überprüfen.SASL gsasl_client_start: %sSERVERSMTP-Nachrichtenverschicker-Prozess.SOCKS-Proxy-AUTH-Methode: KEINE AUTHENTIFIZIERUNG NÖTIGSOCKS-Proxy-AUTH-Methode: BENUTZERNAME/PASSWORTSOCKS-Proxy-AUTH: erfolgreich.SOCKS-Proxyverbindung: erfolgreich.SOCKS-Proxy: %sSTARTTLS-(EINWEG)-Befehl fehlgeschlagen.STARTTLS-Befehl fehlgeschlagen.STOPAbschnitt %sBereich %s ist bereits definiertWählen Sie den Ausführungsmodus; MODUS kann "transparent", "auth" oder "mda" seinBenutze Authentifizierungsmechanismus %sDer ausgewählte Authentifizierungsmechanismus %s benötigt TLS-Verschlüsselung. Daher wird keine ESMTP-Authentifizierung benutztDer Server hat keine ordentlichen Authentifizierungsmechanismen angebotenDer Server akzeptiert keine der AUTH-Methoden.Der Server akzeptiert keine der Methoden.Serverantwort ist ungültig.Unvollständiges SchreibenSignal empfangen. Sauberes Herunterfahren ...Entfernten SMTP-Rechnernamen oder -IP-Adresse angeben. Die PORTnummer ist standardmäßig 25.Alternative Systemkonfigurationsdatei angeben.Geben Sie die Absenderadresse an (bewirkt MDA-Modus)TCP-Port angeben, auf dem GNU Anubis auf Verbindungen wartet. RECHNER ist standardmäßig INADDR_ANY und PORT ist standardmäßig 24 (privates Mailsystem)Baue SMTP-Verbindung auf ...Angehalten durch Signal %dPID des laufenden Prozesses in DATEI speichernMerkwürdiges Zeichen in Konfigurationsdatei: \%03o. Vielleicht fehlen Anführungszeichen um die ZeichenketteTCP-Wrapper: Verbindung von %s:%u abgewiesen.TLS-Fehler beim Lesen von »%s«: %sTLS/SSL-Handshake fehlgeschlagen!TLS/SSL-Handshake fehlgeschlagen: %sWartezeit abgelaufen.BeendetBeendet durch Signal %dKein MTA angegeben. Legen Sie den REMOTE-MTA oder den LOCAL-MTA fest.Das Zertifikat ist abgelaufen.Das Zertifikat ist nicht vertrauenswürdig.Das Zertifikat ist noch nicht aktiviert.Das Zertifikat ist vertrauenswürdig.Timeout! Herunterfahren ...Zu viele Verbindungen. Verbindung von %s:%u abgewiesen.Umsetzung: ungültige Syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUNBEKANNT Unbekannter Rechner %s.Unbekannter Modus: %sUnbekannter Modifikator für regulären AusdruckUnbekannter Bereich: %sAufruf:Das SMTP-Protokoll (OMP/Tunnel) wie in RFC 821 beschrieben mit der Standardeingabe und -ausgabe benutzenBenutze SOCKS-Proxy ...Benutze TLS/SSL-Verschlüsselung nur zwischen Anubis und dem entfernten MTA ...Benutze die TLS/SSL-Verschlüsselung ...WARNUNG: %sWARNUNG: Es wurde kein unprivilegierter Benutzer gefunden. Prüfen Sie die Einstellungen!WARNUNG: Es wurde kein unprivilegierter Benutzer angegeben!Willkommen, Benutzer %s!Laut arbeitenStill und leise arbeitenFalsche Zugriffsrechte für »%s«: Muss 0600 sein.[RECHNER:]PORTDie Direktive »logfile« wird in der Hauptkonfigurationsdatei ignoriertaccept() fehlgeschlagenargcv_get() fehlgeschlagenbind() fehlgeschlagenKann Rootrechte nicht loswerdenKann guile-Ausgabedatei %s nicht öffnenKann die effektive GID nicht auf %lu setzenKann stat für Datei »%s« nicht ausführenconnect() fehlgeschlagendaemon() fehlgeschlagenDeamon: fork() fehlgeschlagenexecvp() fehlgeschlagenfork() fehlgeschlagengetsockname() fehlgeschlagen: %s.listen() fehlgeschlagenZu wenig SpeicherProzedurname fehltErsetzungswert fehltpcre_compile() an Offset %d fehlgeschlagen: %s.pcre_fullinfo() fehlgeschlagen: %d.Programm ist in diesem Bereich nicht erlaubtregcomp() an %s fehlgeschlagen: %szweites setuid(%lu) fehlgeschlagensetegid(%lu) fehlgeschlagenseteuid(0) hat geklappt, sollte aber nichtsetgid(%lu) fehlgeschlagensetgroups(1, %lu) fehlgeschlagensetregid(%lu, %lu) fehlgeschlagensetresgid(%lu, %lu, %lu) fehlgeschlagensetreuid(%lu, -1) fehlgeschlagensetsid() fehlgeschlagensetuid(%lu) fehlgeschlagensocketpair() fehlgeschlagenUnbekanntes Schlüsselwort: %sWarnunganubis-4.1.1+dfsg1/po/id.po0000600000175000017500000007507411123150056013121 0ustar kbkb# Pesan Bahasa Indonesia untuk Anubis. # Copyright (C) 2008 The Anubis Team # This file is distributed under the same license as the anubis package. # Arif E. Nugroho , 2008. # #: env.opt:43 msgid "" msgstr "" "Project-Id-Version: anubis 4.1\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: 2008-11-30 17:45+0700\n" "Last-Translator: Arif E. Nugroho \n" "Language-Team: Indonesian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "Memasuki loop XDB..." #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "Keluar loop XDB..." #: src/authmode.c:522 msgid "Database not specified" msgstr "Basis data tidak dispesifikasikan" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "Tidak dapat membuka basis data %s: %s" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "Ditemukan rekaman untuk `%s'." #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "Tidak dapat mengambil data dari basis data SASL: %s" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "Rekaman untuk `%s' tidak ditemukan." #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "Koneksi ditutuh secara sukses." #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "PAM: Sesi ditutup." #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "PAM: gagal melepas pengauthentikasi." #: src/daemon.c:41 msgid "daemon() failed" msgstr "daemon() gagal" #: src/daemon.c:48 msgid "Cannot fork." msgstr "Tidak dapat fork." #: src/daemon.c:56 msgid "setsid() failed" msgstr "setsid() gagal" #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "%s daemon startup sukses." #: src/daemon.c:80 #, c-format msgid "Exited successfully" msgstr "Keluar secara sukses" #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "Gagal dengan status %d" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "Berakhir di sinyal %d" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "Berhenti di sinyal %d" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "Mengeluarkan code dump" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "Berakhir" #: src/daemon.c:108 #, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "Anak [%lu] selesai. %s %d klien pergi." msgstr[1] "Anak [%lu] selesai. %s. %d klien pergi." #: src/daemon.c:120 #, c-format msgid "Local program [%lu] finished. %s" msgstr "Aplikasi lokal [%lu] selesai. %s" #: src/daemon.c:161 msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "" "PERINGATAN: Sebuah pengguna tidak privileged tidak dapat diresolf. " "Verifikasi konfigurasi anda!" #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "" "PERINGATAN: Sebuah pengguna tidak privileged belum pernah dispesifikasikan!" #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "GNU Anubis sedang berjalan..." #: src/daemon.c:237 src/exec.c:80 msgid "accept() failed" msgstr "accept() gagal" #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "TCP wrappers: koneksi dari %s:%u ditolak." #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "Terlalu banyak klien. Koneksi dari %s:%u ditolak." #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "Koneksi dari %s:%u" #: src/daemon.c:287 msgid "daemon: cannot fork" msgstr "daemon: tidak dapat fork" #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "MTA belum dispesifikasikan. Set REMOTE-MTA atau LOCAL-MTA." #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "[HOST:]PORT" #: env.opt:45 msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" "Spesifikasikan TCP port dimana GNU Anubis mendengarkan untuk koneksi; HOST " "baku adalah INADDR_AN, dan PORT baku adalah 24 (sistem mail private)" #: env.opt:54 msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "Spesifikasikan sebuah remote SMTP nama host atau alamat IP; baku 25" #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "BERKAS" #: env.opt:62 msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" "Jalankan sebuah server SMTP lokal, yang bekerja di masukan standar dan " "keluaran (aplikasi tipe inetd); opsi ini excludes opsi `--remote-mta'" #: env.opt:74 msgid "MODE" msgstr "MODE" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "" "Pilih mode operasi; MODE adalah salah satu dari \"transparent\", \"auth\" " "atau \"mda\"" #: env.opt:81 msgid "Foreground mode" msgstr "Mode foreground" #: env.opt:87 msgid "EMAIL" msgstr "EMAIL" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "Spesifikasikan alamat pengirim (mengimplikasikan mode MDA)" #: env.opt:94 msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" "Gunakan protokol SMTP (OMP/Tunnel) seperti dijelaskan dalam RFC 821 di " "standar masukan dan keluaran" #: env.opt:98 msgid "Output options" msgstr "Opsi keluaran" #: env.opt:101 msgid "Work silently" msgstr "Bekerja secara tenang" #: env.opt:106 msgid "Work noisily" msgstr "Bekerja secara ramai" #: env.opt:111 msgid "Debug mode" msgstr "Mode debug" #: env.opt:115 msgid "Miscellaneous options" msgstr "Opsi tambahan" #: env.opt:119 msgid "Specify alternate system configuration file" msgstr "Spesifikasikan berkas konfigurasi sistem alternatif" #: env.opt:126 msgid "Ignore system configuration file" msgstr "Abaikan berkas konfigurasi sistem" #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "TINGKAT-DEBUG" #: env.opt:132 msgid "Run the configuration file syntax checker" msgstr "Jalankan berkas konfigurasi pemeriksa sintaks" #: env.opt:139 msgid "Print a list of configuration options used to build GNU Anubis" msgstr "" "Tampilkan sebuah daftar dari opsi konfigurasi digunakan untuk membuat GNU " "Anubis" #: env.opt:145 msgid "Do not check user configuration file permissions" msgstr "Jangan perikas ijin berkas konfigurasi pengguna" #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "Simpan PID dari daemon yang sedang berjalan dalam BERKAS" #: env.opt:155 msgid "Other options" msgstr "Opsi lain" #: env.opt:155 msgid "Give this help list" msgstr "Berikan daftar bantuan ini" #: env.opt:155 msgid "Give a short usage message" msgstr "Berikan sebuah pesan penggunaan pendek" #: env.opt:155 msgid "Print program version" msgstr "Tampilkan versi aplikasi" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "SMTP pesan submission daemon." #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "Penggunaan:" #: env.opt:165 msgid "OPTION" msgstr "OPSI" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" "Argumen wajib atau opsional untuk opsi panjang juga wajib atau opsional " "untuk opsi pendek yang berhubungan." #: env.opt:293 #, c-format msgid "Report bugs to %s.\n" msgstr "Laporkan bugs ke %s.\n" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 msgid "argcv_get failed" msgstr "argcv_get gagal" #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "--mode=mda membutuhkan --local-mta" #: env.opt:181 msgid "Missing recipient addresses" msgstr "Hilang alamat penerima" #: env.opt:256 #, c-format msgid "setgroups(1, %lu) failed" msgstr "setgroups(1, %lu) gagal" #: env.opt:266 #, c-format msgid "setegid(%lu) failed" msgstr "setegid(%lu) gagal" #: env.opt:269 #, c-format msgid "setregid(%lu,%lu) failed" msgstr "setregid(%lu,%lu) gagal" #: env.opt:273 #, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "setresgid(%lu,%lu,%lu) gagal" #: env.opt:282 #, c-format msgid "setgid(%lu) failed" msgstr "setgid(%lu) gagal" #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "tidak dapat menset efektif gid ke %lu" #: env.opt:307 #, c-format msgid "setreuid(%lu,-1) failed" msgstr "setreuid(%lu,-1) gagal" #: env.opt:313 #, c-format msgid "second setuid(%lu) failed" msgstr "setuid(%lu) kedua gagal" #: env.opt:321 #, c-format msgid "setuid(%lu) failed" msgstr "setuid(%lu) gagal" #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "seteuid(0) sukses ketika ini seharusnya tidak" #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "tidak dapat menjatuhkan privileges setuid bukan root" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "PAM: Sesi dibuka (pembatasan berlaku)." #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "PAM: Tidak terautentifikasi untuk menggunakan GNU Anubis." #: env.opt:377 src/main.c:152 #, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "UID: %d (%s), GID:%d, EUID:%d, EGID:%d" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "ID pengguna tidak valid: %s" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "Nama pengguna tidak valid: %s" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "Ijin salah di %s. Set 0600." #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "%s bukan sebuah berkas regular atau sebuah link simbolik." #: env.opt:492 #, c-format msgid "Unknown mode: %s" msgstr "Mode tidak diketahui: %s" #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "Tidak dapat membuka berkas pid '%s'" #: src/errs.c:84 msgid "warning" msgstr "peringatan" #: src/errs.c:92 #, c-format msgid "Could not write to socket: %s" msgstr "Tidak dapat menulis ke soket: %s" #: src/errs.c:94 msgid "Could not write to socket" msgstr "Tidak dapat menulis ke soket" #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "Host %s tidak diketahui." #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "%s: nama host valid tetapi tidak memiliki sebuah alamat IP." #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "%s: error ditemui di nama server tidak dapat direkover." #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "%s: error ditemui di sebuah nama server sementara. Coba lagi nanti." #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "%s: tidak diketahui DNS error %d." #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "Salah bentuk atau balasan tidak terduga" #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "SASL gsasl_client_start: %s" #: src/esmtp.c:167 src/esmtp.c:186 #, c-format msgid "GSASL handshake aborted: %d %s" msgstr "GSASL jabat-tangan dibatalkan: %d %s" #: src/esmtp.c:198 #, c-format msgid "GSASL error: %s" msgstr "GSASL error: %s" #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "Autentifikasi gagal: %d %s" #: src/esmtp.c:215 msgid "Authentication successful." msgstr "Autentifikasi sukses." #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "Memperoleh daftar kosong dari metode autentifikasi" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "Server tidak menawarkan mekanisme autentifikasi yang memungkinkan" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "INTERNAL ERROR" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" "Mekanisme autentifikasi yang dipilih %s membutuhkan enkripsi TLS. Tidak " "menggunakan autentifikasi ESMTP" #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "Mekanisme autentifikasi yang dipilih %s" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "Tidak dapat menginisialisasi libgsasl: %s" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "ESMTP AUTH tidak didukung" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "#1 socket() gagal." #: src/exec.c:45 msgid "#2 socket() failed." msgstr "#2 socket() gagal." #: src/exec.c:55 msgid "#1 bind() failed" msgstr "#1 bind() gagal" #: src/exec.c:60 msgid "#2 bind() failed" msgstr "#2 bind() gagal" #: src/exec.c:65 src/net.c:233 msgid "listen() failed" msgstr "listen() gagal" #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "getsockname() gagal: %s." #: src/exec.c:75 msgid "connect() failed" msgstr "connect() gagal" #: src/exec.c:87 msgid "socketpair() failed" msgstr "socketpair() gagal" #: src/exec.c:108 #, c-format msgid "Executing %s..." msgstr "Menjalankan %s..." #: src/exec.c:118 msgid "fork() failed" msgstr "fork() gagal" #: src/exec.c:132 msgid "execvp() failed" msgstr "execvp() gagal" #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "GPGME: %s." #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "Pasan GPGME versi %s atau selanjutnya." #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "GPGME: gagal. %s." #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "GPGME: Tidak dapat mendaftar kunci: %s" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "GPGME: Penerima tidak valid ditemui: %s" #: src/gpg.c:320 #, c-format msgid "GPGME: Invalid signer found: %s" msgstr "GPGME: Penanda tangan tidak valid ditemukan: %s" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "GPGME: jumlah tanda tangan yang dibuat tidak terduga" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "GPGME: Tipe salah untuk tanda tangan yang dibuat" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "GPGME: Algoritma pubkey salah dilaporkan: %i" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "GPGME: Algoritma hash salah dilaporkan: %i" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "GPGME: Kelas tanda tangan salah dilaporkan: %u" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "tidak dapat membuka berkas keluaran guile %s" #: src/guile.c:259 msgid "missing procedure name" msgstr "hilan nama prosedur" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "%s bukan sebuah objek prosedur" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "Tipe car buruk dalam kembali dari %s" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "Tipe cdr buruk dalam kembali dari %s" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "Tipe kembali buruk dari %s" #: src/ident.c:101 msgid "IDENT: socket() failed" msgstr "IDENT: socket() gagal" #: src/ident.c:113 msgid "IDENT: connect() failed" msgstr "IDENT: connect() gagal" #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "IDENT: terhubung ke %s:%u" #: src/ident.c:128 #, c-format msgid "IDENT: stream_write() failed: %s." msgstr "IDENT: stream_write() gagal: %s." #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "IDENT: recvline() gagal: %s." #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "IDENT: data tidak benar." #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "IDENT: data mungkin dienkripsi dengan DES..." #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "IDENT: data tidak benar (DES deciphered)." #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "IDENT: resolved pengguna remote ke %s." #: src/main.c:54 msgid "Not enough memory" msgstr "Tidak cukup memori" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "%s dipetakan ulang ke %s@localhost." #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "Peta terjemahan: sintaks tidak benar." #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "panjang alamat tidak legal diterima untuk host %s" #: src/misc.c:120 #, c-format msgid "Invalid port number: %s" msgstr "Nomor port tidak valid: %s" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "Tidak dapat menemukan nama host diri sendiri" #: src/net.c:46 msgid "SERVER" msgstr "SERVER" #: src/net.c:49 msgid "CLIENT" msgstr "KLIEN" #: src/net.c:127 msgid "Getting remote host information..." msgstr "Memperoleh informasi host remote..." #: src/net.c:164 msgid "Cannot create stream socket." msgstr "Tidak dapat membuat stream socket." #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "Tidak dapat menghubungi %s:%u. %s." #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "Terhubung ke %s:%u" #: src/net.c:196 msgid "Cannot create stream socket" msgstr "Tidak dapat membuat stream socket" #: src/net.c:229 msgid "bind() failed" msgstr "bind() gagal" #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "GNU Anubis terikat ke %s:%u" #: src/net.c:257 msgid "Short write" msgstr "Tulis pendek" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "Menggunakan proxy SOCKS..." #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "Proxy SOCKS: %s" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "Alamat harus berupa sebuah IP, bukan sebuah nama domain." #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "Koneksi Proxy SOCKS: sukses." #: src/socks.c:179 msgid "Request rejected or failed." msgstr "Permintaan ditolak atau gagal." #: src/socks.c:182 msgid "Request rejected." msgstr "Permintaan ditolak." #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" "Permintaan ditolak, karena aplikasi klien dan identd melaporkan ID-Pengguna " "yang berbeda." #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "Balasan server tidak valid." #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "Mungkin bukan sebuah layanan proxy SOCKS." #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "Metode AUTH proxy SOCKS: TIDAK ADA AUTENTIFIKASI YANG DIBUTUHKAN" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "Metode AUTH proxy SOCKS: NAMA PENGGUNA/KATA KUNCI" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "Tidak dapat mengirim nama pengguna atau kata kunci kosong." #: src/socks.c:291 msgid "Bad user name or password." msgstr "Nama pengguna atau kata kunci buruk." #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "SOCKS Proxy AUTH: sukses." #: src/socks.c:298 msgid "Server does not accept any method." msgstr "Sever tidak menerima metode apapun." #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "Server tidak menerima sebuah metode AUTH." #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "kegagalan layanan SOCKS umum." #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "Koneksi tidak diperbolehkan oleh sebuah set aturan." #: src/socks.c:404 msgid "Network unreachable." msgstr "Jaringan tidak dapat dicapai." #: src/socks.c:407 msgid "Host unreachable." msgstr "Host tidak dapat dicapai." #: src/socks.c:410 msgid "Connection refused." msgstr "Koneksi ditolak." #: src/socks.c:413 msgid "TTL expired." msgstr "TTL habis." #: src/socks.c:416 msgid "Command not supported." msgstr "Perintah tidak didukung." #: src/socks.c:419 msgid "Address type not supported." msgstr "Tipe alamat tidak didukung." #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "Sinyal diterima. Keluar secara bersih..." #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "Waktu habis! Keluar..." #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "tidak dapat memperoleh statistik berkas `%s'" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "Berkas `%s' telah dibaca.\n" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "Selamat datang pengguna %s !" #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "Membaca berkas konfigurasi sistem %s..." #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "Membaca berkas konfigurasi pengguna %s..." #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "`logfile' direktif diabaikan dlaam berkas konfigurasi utama" #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "Proses anak disuspend untuk %lu detik" msgstr[1] "Proses anak disuspend untuk %lu detik" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "Perintah HANG tidak diijinkan untuk pengguna `%s'" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "Tidak ada bagian seperti itu: %s" #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" "Stray karakter dalam konfigurasi: \\%03o. Mungkin hilang quotes disekeliling " "stirng" #: src/rcfile.l:385 msgid "Anubis RC file error" msgstr "Anubis berkas RC error" #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "Bagian %s telah didefinisikan" #: src/rcfile.y:229 #, c-format msgid "unknown keyword: %s" msgstr "kata kunci tidak diketahui: %s" #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "ekspresi regular tidak valid (lihat pesan diatas)" #: src/rcfile.y:567 msgid "missing replacement value" msgstr "hilang nilai pengganti" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "Bukan sebuah tingkat debug yang valid: %s" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "Pemodifikasi regexp tidak diketahui" #: src/rcfile.y:1314 msgid "STOP" msgstr "BERHENTI" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "Memanggil %s" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "TAMBAH %s [%s] %s" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "MODIFIKASI %s [%s] [%s] %s" #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "HAPUS DIKEPALA [%s]" #: src/rcfile.y:1371 #, c-format msgid "Executing %s" msgstr "Menjalankan %s" #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "Cocok trigger \"%s\"" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "Cocok kondisi %s[%s] \"%s\"" #: src/rcfile.y:1604 #, c-format msgid "Section %s" msgstr "Bagian %s" #: src/rcfile.y:1628 #, c-format msgid "Unknown section: %s" msgstr "Bagian tidak diketahui: %s" #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "aplikasi tidak diijinkan di bagian ini" #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "INTERNAL ERROR di %s:%d: hilang atau tidak valid regex" #: src/regex.c:328 #, c-format msgid "regcomp() failed at %s: %s." msgstr "regcomp() gagal di %s: %s." #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "pcre_compile() gagal di offset %d: %s." #: src/regex.c:429 #, c-format msgid "pcre_fullinfo() failed: %d." msgstr "pcre_fullinfo() gagal: %d." #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "Cocok, tetapi terlalu banyak substrings." #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "Memperoleh substring %d gagal (%d)." #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "Menginisialisasi koneksi TLS/SSL dengan MTA..." #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "pembacaan error TLS `%s': %s" #: src/tls.c:198 #, c-format msgid "TLS/SSL handshake failed: %s" msgstr "jabat-tangan TLS/SSL gagal: %s" #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "Menginisialisasi koneksi TLS/SSL dengan MUA..." #: src/tls.c:280 msgid "TLS/SSL handshake failed!" msgstr "jabat-tangan TLS/SSL gagal!" #: src/tls.c:301 msgid "No certificate was sent." msgstr "Tidak ada sertifikat yang dikirim." #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "Sertifikat tidak dipercaya." #: src/tls.c:311 msgid "The certificate has expired." msgstr "Sertifikat telah kadaluarsa." #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "Sertifikat belum aktif." #: src/tls.c:326 msgid "No certificate was found!" msgstr "Tidak ada sertifikat yang ditemukan!" #: src/tls.c:331 msgid "The certificate is trusted." msgstr "Sertifikat tidak dapat dipercaya." #: src/tls.c:361 #, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "- Anonim DH menggunakan prima dari %d bit.\n" msgstr[1] "- Anonim DH menggunakan prima dari %d bit.\n" #: src/tls.c:370 #, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "- Ephemeral DH menggunakan prima dari %d bit.\n" msgstr[1] "- Ephemeral DH menggunakan prima dari %d bit.\n" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "- Protokol: %s\n" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "- Tipe Sertifikat: %s\n" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "- Kompresi: %s\n" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "- Cipher: %s\n" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "- MAC: %s\n" #: src/tls.c:423 #, c-format msgid "- Certificate info:\n" msgstr "- Informasi Sertifikat:\n" #: src/tls.c:427 #, c-format msgid "- Certificate is valid since: %s" msgstr "- Sertifikat valid sejak: %s" #: src/tls.c:429 #, c-format msgid "- Certificate expires: %s" msgstr "- Sertifikat kadaluarsa: %s" #: src/tls.c:434 #, c-format msgid "- Certificate fingerprint: " msgstr "- Sertifikat tanda-tangan: " #: src/tls.c:444 #, c-format msgid "- Certificate serial number: " msgstr "- Nomor serial sertifikat: " #: src/tls.c:453 #, c-format msgid "- Certificate public key: " msgstr "- Kunci publik sertifikat: " #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "RSA\n" #: src/tls.c:457 #, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] "- Modulus: %d bit\n" msgstr[1] "- Modulus: %d bit\n" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "DSA\n" #: src/tls.c:463 #, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] "- Exponent: %d bit\n" msgstr[1] "- Exponent: %d bit\n" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "TIDAK DIKETAHUI\n" #: src/tls.c:469 #, c-format msgid "- Certificate version: #%d\n" msgstr "- Versi sertifikat: #%d\n" #: src/tls.c:476 #, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr "- Sertikat penerbit DN: %s\n" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 #, fuzzy msgid "Transferring messages..." msgstr "Mentransfer pesan..." #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "Memulai sesi SMTP..." #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "Menggunakan enkripsi TLS/SSL..." #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "PERINGATAN: %s" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "STARTTLS perintah gagal." #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "Menggunakan enkripsi TLS/SSL diantara Anubis dan remote MTA saja..." #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "STARTTLS (SATU-ARAH) perintah gagal." #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: opsi `%s' ambigu\n" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: opsi `--%s' tidak mengijinkan sebuah argumen\n" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: opsi `%c%s' tidak mengijinkan sebuah argumen\n" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: opsi `%s' membutuhkan sebuah argumen\n" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: opsi `--%s' tidak dikenal\n" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: opsi `%c%s' tidak dikenal\n" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: opsi -- %c tidak legal\n" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: opsi -- %c tidak valid\n" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: opsi membutuhkan sebuah argumen -- %c\n" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: opsi `-W %s' ambigu\n" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: opsi `-W %s' tidak mengijinkan sebuah argumen\n" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "kehabisan memori" #~ msgid "MTA has not been specified. Set either REMOTE-MTA or LOCAL-MTA." #~ msgstr "MTA belum dispesifikasikan. Set baik REMOTE-MTA atau LOCAL-MTA." #~ msgid "Loop not allowed. Connection rejected." #~ msgstr "Loop tidak diijinkan. Koneksi ditolak." anubis-4.1.1+dfsg1/po/it.gmo0000600000175000017500000005767011123150057013310 0ustar kbkbÞ•Œoü¸¹ÊÞï, Mg;„7Àø,,Y%w,-Ê ø&@Zz,šNÇ5Mgƒ ˜¹Ôò N/(~ §&²Ùé )B^s«Êé #.Mi †“²Î/è'T@N•)ä%8X$n“§Áß þ  & 01 b n t  Š¥ 0!=!M!a!u!z!!!²!Â!Ù!ó! ""(3"\".|"(«"*Ô")ÿ"&)#P#c#s#’#°#"Î#ñ# $( $I$[$s$*$'¸$à$÷$"%8%!O%q%1€% ²%+Ó%/ÿ%//&"_&‚&2š&Í&á& ÷&''4'sR'Æ'ä'!ù'(1(M(b(|(•(©(É(Û( â(ð()ÿ())+>)%j)#)>´)ó) **'!*%I*o*Š*ž*Tº*+)!+K+g+n+3Ž++Â+î+" ,.,!>,`,y, ~,‰,D¤,$é,\-:k-&¦-"Í-ð- .!.@9.+z.)¦.ŽÐ._/x/+/K¹/-030N0h0 …0 ’00@µ0ö01%31Y1u11‰1"»1%Þ12 22/2G2[2Wb2º2>Ï23 .3G:35‚3¸3 Ê3 ×3"å3 494N4^4 o4&}4 ¤4Å4å4û4 5505 @5N5h5x5‰5 5'º5â5&þ5%6A6[6'o6—6ª6Ã6Ü6ú67"757I7]7œe799)9;9P90n9 Ÿ9À9@Ý9;:Z:u:-’: À:+á:- ;-;;#i;);!·;!Ù;!û;.<gL<(´<Ý<ø<%= <="]=#€=#¤=#È= ì=ù=i >)w> ¡>#¬>Ð>â>?6? H?i?…?£?#¼?#à?@!@@@G@6_@&–@'½@å@&A%,A!RA3tA0¨AsÙAOMB3BÑBéB!úBC,1C^CuC"”C$·CÜCíCòC D9DUDmDsDDŒ°D=EWEqE†E¤E©E$¾EãEüEF3F LF)WF*F(¬F)ÕF2ÿF;2G2nG&¡GÈGÜG#ðG!H,6H5cH"™H¼H1ÐHII1I*II)tIžI¸I"×IúI"J5JCDJ,ˆJ5µJ;ëJ;'K*cKŽKA­KïKL$#L HLRLiLŒˆL*M@M"_M ‚M"M³M'ÉM$ñMN.NNNdN lNzN0ŒN½N-ÓN+O*-OLXO ¥OÆOÙO:ÞO:PTPsPŠPb©P Q:!Q\QxQ%Q:¥Q.àQR#+ROR"_R‚RœR ¡R¬RRÅR+SrDSH·S%T#&TJTjT+zTS¦T/úT=*U­hU"V9V2QVŽ„V0W.DW sW#”W ¸W ÅWÏW?çW'XBX,`XX§X.ÇX.öX%%Y KYXYmY2‡YºYÒY[×Y3ZDPZ$•ZºZZÉZ?$[d[{[Ž[(£[ Ì[JÙ[$\5\G\3V\-Š\,¸\"å\]]$+]P]a]p]‹]œ]­]È](è]^..^]^z^–^)«^Õ^é^__<_U_f_z__ ­_Éžß¹®#g’ý¢Š¼íV½D ÒŸ 0ÕxE£o€Wšð¡e˜ò–Öê"ä”õ›Ë Z[wLJ )²œ¿Y rÂ(\,jÈá3÷6ùØÐ•ϱCü1]ñp_|&5™`:âcÎìã“%«Ô§× zøIökÜ=·?dû¬Nó‚¸åGy}úÁ  8‘Oï;KÝ…ç9aR»¶³é s/Ù¤‰nîfÞ„‹Ì@Ä.ÿÑMˆ†Í æôèÓF¾—騭ڎ~BJm$>+°bµÆX4 þÀvl'!u{-2THh^iq´tʪ¥à ÛQULŒP7Ń<ºA¦ëS¯*#1 bind() failed#1 socket() failed.#2 bind() failed#2 socket() failed.%s daemon startup succeeded.%s is not a regular file or a symbolic link.%s not a procedure object%s remapped to %s@localhost.%s: a temporary name server error occured. Try again later.%s: host name is valid but does not have an IP address.%s: illegal option -- %c %s: invalid option -- %c %s: option `%c%s' doesn't allow an argument %s: option `%s' is ambiguous %s: option `%s' requires an argument %s: option `--%s' doesn't allow an argument %s: option `-W %s' doesn't allow an argument %s: option `-W %s' is ambiguous %s: option requires an argument -- %c %s: unknown DNS error %d.%s: unrecognized option `%c%s' %s: unrecognized option `--%s' %s: unrecoverable name server error occured.- Anonymous DH using prime of %d bit. - Anonymous DH using prime of %d bits. - Certificate Issuer's DN: %s - Certificate Type: %s - Certificate expires: %s- Certificate fingerprint: - Certificate info: - Certificate is valid since: %s- Certificate public key: - Certificate serial number: - Certificate version: #%d - Cipher: %s - Compression: %s - Ephemeral DH using prime of %d bit. - Ephemeral DH using prime of %d bits. - Exponent: %d bit - Exponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protocol: %s --mode=mda requires --local-mtaADD %s [%s] %sAddress must be an IP, not a domain name.Address type not supported.Anubis RC file errorAuthentication failed: %d %sAuthentication successful.Bad car type in return from %sBad cdr type in return from %sBad return type from %sBad user name or password.CLIENTCalling %sCan't find out my own hostnameCannot create stream socketCannot create stream socket.Cannot fork.Cannot initialize libgsasl: %sCannot open database %s: %sCannot open pid file '%s'Cannot retrieve data from the SASL database: %sCannot send null user name or password.Child [%lu] finished. %s. %d client left.Child [%lu] finished. %s. %d clients left.Child process suspended for %lu secondChild process suspended for %lu secondsCommand HANG is not allowed for user `%s'Command not supported.Connected to %s:%uConnection closed successfully.Connection from %s:%uConnection not allowed by a ruleset.Connection refused.Could not write to socketCould not write to socket: %sCouldn't connect to %s:%u. %s.DEBUG-LEVELDSA Database not specifiedDebug modeDo not check user configuration file permissionsDumped coreEMAILESMTP AUTH is not supportedEntering XDB loop...Execute a local SMTP server, which works on standard input and output (inetd-type program); this option excludes the `--remote-mta' optionExecuting %sExecuting %s...Exited successfullyExiting XDB loop...FILEFailed with status %dFile `%s' has already been read. Foreground modeFound record for `%s'.GNU Anubis bound to %s:%uGNU Anubis is running...GPGME: %s.GPGME: Cannot list keys: %sGPGME: Invalid recipient encountered: %sGPGME: Invalid signer found: %sGPGME: Unexpected number of signatures createdGPGME: Wrong hash algorithm reported: %iGPGME: Wrong pubkey algorithm reported: %iGPGME: Wrong signature class reported: %uGPGME: Wrong type of signature createdGPGME: failed. %s.GSASL error: %sGSASL handshake aborted: %d %sGeneral SOCKS server failure.Get substring %d failed (%d).Getting remote host information...Give a short usage messageGive this help listGot empty list of authentication methodsHost unreachable.IDENT: connect() failedIDENT: connected to %s:%uIDENT: data probably encrypted with DES...IDENT: incorrect data (DES deciphered).IDENT: incorrect data.IDENT: recvline() failed: %s.IDENT: resolved remote user to %s.IDENT: socket() failedIDENT: stream_write() failed: %s.INTERNAL ERRORINTERNAL ERROR at %s:%d: missing or invalid regexIgnore system configuration fileIllegal address length received for host %sInitializing the TLS/SSL connection with MTA...Initializing the TLS/SSL connection with MUA...Install GPGME version %s or later.Invalid port number: %sInvalid regular expression (see the above message)Invalid user ID: %sInvalid user name: %sLocal program [%lu] finished. %sMODEMODIFY %s [%s] [%s] %sMalformed or unexpected replyMandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.Matched condition %s[%s] "%s"Matched trigger "%s"Matched, but too many substrings.Miscellaneous optionsMissing recipient addressesNetwork unreachable.No certificate was found!No certificate was sent.No such section: %sNot a valid debugging level: %sNot enough memoryOPTIONOther optionsOutput optionsPAM: Not authenticated to use GNU Anubis.PAM: Session closed.PAM: Session opened (restrictions applied).PAM: failed to release authenticator.Possibly not a SOCKS proxy service.Print a list of configuration options used to build GNU AnubisPrint program versionREMOVE HEADER [%s]RSA Reading system configuration file %s...Reading user configuration file %s...Record for `%s' not found.Report bugs to %s. Request rejected or failed.Request rejected, because the client program and identd reported different User-IDs.Request rejected.Run the configuration file syntax checkerSASL gsasl_client_start: %sSERVERSMTP message submission daemon.SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH method: USER NAME/PASSWORDSOCKS Proxy AUTH: succeeded.SOCKS Proxy Connection: succeeded.SOCKS proxy: %sSTARTTLS (ONEWAY) command failed.STARTTLS command failed.STOPSection %sSection %s already definedSelect operation mode; MODE is one of "transparent", "auth" or "mda"Selected authentication mechanism %sSelected authentication mechanism %s requires TLS encryption. Not using ESMTP authenticationServer did not offer any feasible authentication mechanismServer does not accept an AUTH method.Server does not accept any method.Server reply is not valid.Short writeSignal Caught. Exiting Cleanly...Specify a remote SMTP host name or IP address; the default is 25Specify alternate system configuration fileSpecify sender address (implies MDA mode)Specify the TCP port on which GNU Anubis listens for connections; the default HOST is INADDR_ANY, and default PORT is 24 (private mail system)Starting SMTP session...Stopped on signal %dStore the PID of the running daemon in FILEStray character in config: \%03o. Possibly missing quotes around the stringTCP wrappers: connection from %s:%u rejected.TLS error reading `%s': %sTLS/SSL handshake failed!TLS/SSL handshake failed: %sTTL expired.TerminatedTerminated on signal %dThe MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA.The certificate has expired.The certificate is not trusted.The certificate is not yet activated.The certificate is trusted.Timeout! Exiting...Too many clients. Connection from %s:%u rejected.Translation map: incorrect syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUNKNOWN Unknown host %s.Unknown mode: %sUnknown regexp modifierUnknown section: %sUsage:Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input and outputUsing SOCKS Proxy...Using TLS/SSL encryption between Anubis and remote MTA only...Using the TLS/SSL encryption...WARNING: %sWARNING: An unprivileged user cannot be resolved. Verify your settings!WARNING: An unprivileged user has not been specified!Welcome user %s !Work noisilyWork silentlyWrong permissions on %s. Set 0600.[HOST:]PORT`logfile' directive is ignored in main configuration fileaccept() failedargcv_get failedbind() failedcannot drop non-root setuid privilegescannot open guile output file %scannot set effective gid to %lucannot stat file `%s'connect() faileddaemon() faileddaemon: cannot forkexecvp() failedfork() failedgetsockname() failed: %s.listen() failedmemory exhaustedmissing procedure namemissing replacement valuepcre_compile() failed at offset %d: %s.pcre_fullinfo() failed: %d.program is not allowed in this sectionregcomp() failed at %s: %s.second setuid(%lu) failedsetegid(%lu) failedseteuid(0) succeeded when it should notsetgid(%lu) failedsetgroups(1, %lu) failedsetregid(%lu,%lu) failedsetresgid(%lu,%lu,%lu) failedsetreuid(%lu,-1) failedsetsid() failedsetuid(%lu) failedsocketpair() failedunknown keyword: %swarningProject-Id-Version: anubis-4.1 Report-Msgid-Bugs-To: bug-anubis@gnu.org POT-Creation-Date: 2008-12-20 11:59+0100 PO-Revision-Date: 2008-11-04 20:31+0100 Last-Translator: Vincenzo Campanella Language-Team: Italian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: KBabel 1.11.4 #1 bind() fallita#1 socket() fallita.#2 bind() fallita#2 socket() fallita.Avvio del demone %s riuscito.%s non è un file normale né un link simbolico.%s non è un oggetto procedurale%s rimappato a %s@localhost.%s: errore del server dei nomi temporaneo. Riprovare in seguito.%s: il nome dell'host è valido, ma non ha un indirizzo IP.%s: opzione illecita - %c %s: opzione non valida - %c %s: l'opzione «%c%s» non ammette argomenti %s: l'opzione «%s» è ambigua %s: l'opzione «%s» richiede un argomento %s: l'opzione «--%s» non ammette argomenti %s: l'opzone «-W %s» non ammette argomenti %s: l'opzione «-W %s» è ambigua %s: l'opzione richiede un argomento - %c %s: errore di DNS sconosciuto %d.%s: opzione «%c%s» sconosciuta %s: opzione «--%s» sconosciuta %s: errore irrecuperabile del server dei nomi.- DH anonimo con uso di un numero primo di %d bit. - DH anonimo con uso di un numero primo di %d bit. - DN dell'emittente del certificato: %s - Tipo di certificato: %s - Il certificato scade il: %s- Impronta digitale del certificato: - Informazioni sul certificato: - Il certificato è valido dal: %s- Chiave pubblica del certificato: - Numero di serie del certificato: - Versione del certificato: no. %d - Cifra: %s - Compressione: %s - DH effimero con uso di un numero primo di %d bit. - DH effimero con uso di un numero primo di %d bit. - Esponente: %d bit - Esponente: %d bit - MAC: %s - Modulo: %d bit - Modulo: %d bit - Protocollo: %s --mode=mda richiede --local-mtaADD %s [%s] %sL'indirizzo deve essere un IP, non un nome di dominio.Tipo d'indirizzo non supportato.Errore di file RC di AnubisAutenticazione fallita: %d %sAutenticazione riuscita.Tipo di car errato di ritorno da %sTipo di cdr errato di ritorno da %sTipo di ritorno errato da %sNome utente o password errati.CLIENTChiamata di %s in corsoImpossibile trovare il nome di host del sistema in usoImpossibile creare un socket di flussoImpossibile creare un socket di flusso.Impossibile effettuare il fork.Impossibile inizializzare libgsasl: %sImpossibile aprire il database %s: %sImpossibile aprire il file PID %sImpossibile recuperare i dati dal database SASL: %sImpossibile inviare nome utente o password vuotiProcesso figlio [%lu] terminato. %s. %d client rimanente.Processo figlio [%lu] terminato. %s. %d client rimanenti.Processo figlio sospeso per %lu secondoProcesso figlio sospeso per %lu secondiIl comando HANG non è permesso per l'utente «%s»Comando non supportato.Connesso a %s:%uConnessione chiusa correttamente.Connessione da %s:%uAlcune regole non permettono la connessione.Connessione rifiutata.Impossibile scrivere su socketImpossibile scrivere su socket: %sImpossibile connettersi a %s:%u. %s.LIVELLO DI DEBUGDSA Database non specificatoModalità debugNon verifica i permessi sul file di configurazione utenteEffettuato il core dumpEMAILESTMP AUTH non è supportatoIngresso nel ciclo XDB in corsoEsegue un server STMP locale che lavora su standard input e output (programma tipo inetd); questa opzione esclude l'opzione «--remote-mta»Esecuzione di %s in corsoEsecuzione di %s in corsoUscito correttamenteUscita dal ciclo XDB in corsoFILEFallito con stato %dIl file «%s» è già stato letto. Modalità in primo pianoTrovato record per «%s».GNU Anubis connesso a %s:%uGNU Anubis in esecuzioneGPGME: %s.GPGME: impossibile elencare le chiavi: %sGPGME: trovato destinatario non valido: %sGPGME: trovato firmatario non valido: %sGPGME: creato un numero di firme inattesoGPGME: trovato errore dell'algoritmo dell'hash: %iGPGME: trovato errore dell'algoritmo di chiave pubblica: %iGPGME: trovato errore della classe della firma: %uGPGME: creato tipo di firma non validoGPGME: fallito. %s.Errore di GSASL: %sNegoziazione GSASL annullata: %d %sErrore generale del server SOCKS.Recupero della sottostringa %d fallito (%d).Recupero delle informazioni dell'host remoto in corsoMostra un breve messaggio sull'usoMostra questo aiutoRicevuto elenco di metodi di autenticazione vuotoHost irraggiungibile.IDENT: connect() fallitaIDENT: connesso a %s:%uIDENT: dati probabilmente cifrati con DES.IDENT: dati non corretti (DES decifrato).IDENT: dati non corretti.IDENT: recvline() fallita: %s.IDENT: utente remoto risolto a %s.IDENT: socket() fallitaIDENT: stream_write() fallita: %s.ERRORE INTERNOERRORE INTERNO in %s:%d: espressione regolare mancante o non validaIgnora il file di configurazione del sistemaRicevuta lunghezza d'indirizzo illecita per l'host %sInizializzazione della connessione TLS/SSL con MTA in corsoInizializzazione della connessione TLS/SSL con MUA in corsoInstallare GPGME versione %s o successiva.Numero di porta non valido: %sEspressione regolare non valida (vedere il messaggio soprastante)ID utente non valido: %sNome utente non valido: %sProgramma locale [%lu] terminato. %sMODALITÀMODIFY %s [%s] [%s] %sRisposta malformata o inattesaGli argomenti obbligatori o facoltativi per le opzioni lunghe sono ugualmente obbligatori o facoltativi per le corrispondenti opzioni brevi.La condizione %s[%s] «%s» si è avverataL'evento «%s» si è avveratoAvverato, ma troppe sottostringhe.Varie opzioniManca l'indirizzo del destinatarioRete irraggiungibile.Non è stato trovato alcun certificato.Nessun certificato è stato inviato.Sezione inesistente: %sLivello di debug non valido: %sMemoria insufficienteOPZIONEAltre opzioniOpzioni di outputPAM: non autenticato per poter usare GNU Anubis.PAM: sessione chiusa.PAM: sessione aperta (restrizioni applicate).PAM: rilascio dell'autentificatore fallito.Probabilmente non un servizio proxy SOCKS.Stampa un elenco di opzioni di configurazione usate per compilare GNU AnubisStampa la versione del programmaREMOVE HEADER [%s]RSA Lettura del file di configurazione del sistema %s in corsoLettura del file di configurazione dell'utente %s in corsoRecord per «%s» non trovato.Segnalare i bug a %s. Richiesta rifiutata o fallita.Richiesta rifiutata poiché il programma del client e identd hanno riportato ID utenti differenti.Richiesta rifiutata.Esegue il controllo di sintassi del file di configurazioneSASL gsasl_client_start: %sSERVERDemone per l'invio dei messaggi STMP.Proxy SOCKS, metodo AUTH: NESSUNA AUTENTICAZIONE RICHIESTAProxy SOCKS, metodo AUTH: NOME UTENTE/PASSWORDProxy SOCKS AUTH: riuscita.Collegamento proxy SOCKS: riuscito.Proxy SOCKS: %sComando STARTTLS (ONEWAY) fallito.Comando STARTTLS fallito.STOPSezione %sSezione %s già definitaSeleziona una modalità operativa; può essere «transparent», «auth» o «mda»Meccanismo di autenticazione selezionato %sIl meccanismo di autenticazione selezionato %s richiede cifratura TLS. L'autenticazione ESMTP non viene utilizzataIl server non ha offerto alcun meccanismo di autenticazione utilizzabileIl server non accetta un metodo AUTH.Il server non accetta alcun metodo.Risposta del server non valida.Scrittura cortaRicevuto segnale. Uscita regolare in corso.Specifica un nome di host STMP remoto o l'indirizzo IP; il valore predefinito è 25Specifica il file di configurazione alternativoSpecifica l'indirizzo del mittente (implica la modalità MDA)Specificare la porta TCP su cui GNU Anubis si metterà in ascolto per le connessioni; l'HOST predefinito è INADDR_ANY, la porta predefinita è 24 (sistema privato di posta)Avvio della sessione SMTP in corsoArrestato su segnale %dMemorizza il PID del demone in esecuzione nel FILECarattere errato nel file di configurazione: \%03o. Probabilmente mancano caratteri di delimitazione di commento alle estremità della stringaContenitori TCP: connessione da %s:%u rifiutata.Errore di TLS in fase di lettura di «%s»: %sNegoziazione di TLS/SSL fallita.Negoziazione di TLS/SSL fallita: %sTTL scaduto.TerminatoTerminato su segnale %dMTA non è stato specificato. Impostare REMOTE-MTA o LOCAL-MTA.Il certificato è scaduto.Il certificato non è fidato.Il certificato non è ancora stato attivato.Il certificato è fidato.Tempo scaduto. Uscita in corso.Troppi client. Connessione da %s:%u rifiutata.Mappa delle traduzioni: sintassi non corretta.UID:%d (%s), GID:%d, EUID:%d, EGID:%dSCONOSCIUTO Host %s sconosciuto.Modalità sconosciuta: %sModificatore dell'espressione regolare sconosciutoSezione sconosciuta: %sUso:Usa il protocollo SMTP (OMP/Tunnel) come descritto nella RFC 821 su standard input e outputUso del proxy SOCKS in corsoUso della cifratura TLS/SSL solo fra Anubis e il MTA remoto in corsoUso della cifratura TLS/SSL in corsoATTENZIONE: %sATTENZIONE: un utente senza privilegi non può essere risolto. Verificare le impostazioni.ATTENZIONE: non è stato specificato un utente senza privilegi.Bevenuto/a, utente %s.Modalità rumorosaModalità silenziosaPermessi errati su %s. Impostare a 0600.[HOST:]PORTALa direttiva «logfile» è ignorata nel file di configurazione principaleaccept() fallitaargcv_get fallitabind() fallitaimpossibile abbandonare i privilegi setuid non rootimpossibile aprire il file di output guile %simpossibile impostare il gid effettivo a %luImpossibile fare lo stat di «%s»connect() fallitadaemon() fallitaDemone: impossibile eseguire il forkexecvp() fallitafork() fallitagetsockname() fallita: %s.listen() fallitaMemoria esauritanome di procedura mancanteValore di sostituzione mancantepcre_compile() fallita su offset %d: %s.pcre_fullinfo() fallita: %d.Il programma non è permesso in questa sezioneregcomp() fallita su %s: %s.secondo setuid(%lu) fallitasetegid(%lu) fallitaseteuid(0) è riuscita, ma doveva falliresetgid(%lu) fallitasetgroups(1, %lu) fallitasetregid(%lu,%lu) fallitasetresgid(%lu,%lu,%lu) fallitasetreuid(%lu,-1) fallitasetsid() fallitasetuid(%lu) fallitasocketpair() fallitaParola chiave sconosciuta: %sattenzioneanubis-4.1.1+dfsg1/po/Makevars0000600000175000017500000000413111122020760013640 0ustar kbkb# -*- buffer-read-only: t -*- vi: set ro: # DO NOT EDIT! GENERATED AUTOMATICALLY! # Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ \ \ --flag=_:1:pass-c-format\ --flag=N_:1:pass-c-format\ --flag=error:3:c-format --flag=error_at_line:5:c-format\ --flag=anubis_error:3:pass-c-format\ --flag=anubis_warning:2:pass-c-format\ $${end_of_xgettext_options+} # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Free Software Foundation, Inc. # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = bug-anubis@gnu.org # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = anubis-4.1.1+dfsg1/po/sv.gmo0000600000175000017500000005602211123150057013312 0ustar kbkbÞ•Œoü¸¹ÊÞï, Mg;„7Àø,,Y%w,-Ê ø&@Zz,šNÇ5Mgƒ ˜¹Ôò N/(~ §&²Ùé )B^s«Êé #.Mi †“²Î/è'T@N•)ä%8X$n“§Áß þ  & 01 b n t  Š¥ 0!=!M!a!u!z!!!²!Â!Ù!ó! ""(3"\".|"(«"*Ô")ÿ"&)#P#c#s#’#°#"Î#ñ# $( $I$[$s$*$'¸$à$÷$"%8%!O%q%1€% ²%+Ó%/ÿ%//&"_&‚&2š&Í&á& ÷&''4'sR'Æ'ä'!ù'(1(M(b(|(•(©(É(Û( â(ð()ÿ())+>)%j)#)>´)ó) **'!*%I*o*Š*ž*Tº*+)!+K+g+n+3Ž++Â+î+" ,.,!>,`,y, ~,‰,D¤,$é,\-:k-&¦-"Í-ð- .!.@9.+z.)¦.ŽÐ._/x/+/K¹/-030N0h0 …0 ’00@µ0ö01%31Y1u11‰1"»1%Þ12 22/2G2[2Wb2º2>Ï23 .3G:35‚3¸3 Ê3 ×3"å3 494N4^4 o4&}4 ¤4Å4å4û4 5505 @5N5h5x5‰5 5'º5â5&þ5%6A6[6'o6—6ª6Ã6Ü6ú67"757I7]7Œe7ò8 9#9:9T91p9¢9À9Aß92!:T:p:&Š:±:%Ï:&õ:'; D;&e;Œ;¢;»;+Ô;N<O<n<ƒ<<½<#×<û<=8=R=d=Tx=)Í= ÷=#>&>7>U>4j>Ÿ>µ>!É>ë>?#?C?%\?‚? ‰?&”?*»?+æ?@"@A@_@+{@1§@aÙ@K;A1‡A¹AÏA$ãAB-BLB%aB)‡B"±BÔBäBéBÿB;CKCaChC~C•CD D&D8DODSDnD ‹D™D°DÍD äD!ïD&E#8E'\E,„E4±E-æEF2F KF"YF|F%•F»F#ÛFÿF(G>GNGlG/‡G'·GßG#õG'HAH'^H †HA’H ÔH(õH)I)HI)rIœI6´IëIJ!J@JEJ_J{|JøJK#,KPK`KwK‹K¦KÂK"ÚKýKL L.L0@LqL0ˆL0¹L!êLQ M^MvMŠM#M%³MÙMZöM$QNUvNÌN.ÞN O)O0O5OO-…O³O ÏOðO(P)PIP OPZP=vP´PWÔP2,Q&_Q$†Q«QÃQÙQPùQ'JR%rR˜R&S@S$USYzS+ÔST" T%CTiTzTƒT;™TÕTïT$ U0UIU3^U)’U&¼UãUêUùU&V/V AVQMVŸVA·V ùV WX&W9W¹WÒW âW,îW X5'X]XsXŠX0žX!ÏX#ñX Y6YMYcYyYY£YÃY ÙYåYùY4Z!FZ(hZ"‘Z´ZÓZ&íZ[-[L[#k[[­[Ã[Ü[ö[ \Éžß¹®#g’ý¢Š¼íV½D ÒŸ 0ÕxE£o€Wšð¡e˜ò–Öê"ä”õ›Ë Z[wLJ )²œ¿Y rÂ(\,jÈá3÷6ùØÐ•ϱCü1]ñp_|&5™`:âcÎìã“%«Ô§× zøIökÜ=·?dû¬Nó‚¸åGy}úÁ  8‘Oï;KÝ…ç9aR»¶³é s/Ù¤‰nîfÞ„‹Ì@Ä.ÿÑMˆ†Í æôèÓF¾—騭ڎ~BJm$>+°bµÆX4 þÀvl'!u{-2THh^iq´tʪ¥à ÛQULŒP7Ń<ºA¦ëS¯*#1 bind() failed#1 socket() failed.#2 bind() failed#2 socket() failed.%s daemon startup succeeded.%s is not a regular file or a symbolic link.%s not a procedure object%s remapped to %s@localhost.%s: a temporary name server error occured. Try again later.%s: host name is valid but does not have an IP address.%s: illegal option -- %c %s: invalid option -- %c %s: option `%c%s' doesn't allow an argument %s: option `%s' is ambiguous %s: option `%s' requires an argument %s: option `--%s' doesn't allow an argument %s: option `-W %s' doesn't allow an argument %s: option `-W %s' is ambiguous %s: option requires an argument -- %c %s: unknown DNS error %d.%s: unrecognized option `%c%s' %s: unrecognized option `--%s' %s: unrecoverable name server error occured.- Anonymous DH using prime of %d bit. - Anonymous DH using prime of %d bits. - Certificate Issuer's DN: %s - Certificate Type: %s - Certificate expires: %s- Certificate fingerprint: - Certificate info: - Certificate is valid since: %s- Certificate public key: - Certificate serial number: - Certificate version: #%d - Cipher: %s - Compression: %s - Ephemeral DH using prime of %d bit. - Ephemeral DH using prime of %d bits. - Exponent: %d bit - Exponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protocol: %s --mode=mda requires --local-mtaADD %s [%s] %sAddress must be an IP, not a domain name.Address type not supported.Anubis RC file errorAuthentication failed: %d %sAuthentication successful.Bad car type in return from %sBad cdr type in return from %sBad return type from %sBad user name or password.CLIENTCalling %sCan't find out my own hostnameCannot create stream socketCannot create stream socket.Cannot fork.Cannot initialize libgsasl: %sCannot open database %s: %sCannot open pid file '%s'Cannot retrieve data from the SASL database: %sCannot send null user name or password.Child [%lu] finished. %s. %d client left.Child [%lu] finished. %s. %d clients left.Child process suspended for %lu secondChild process suspended for %lu secondsCommand HANG is not allowed for user `%s'Command not supported.Connected to %s:%uConnection closed successfully.Connection from %s:%uConnection not allowed by a ruleset.Connection refused.Could not write to socketCould not write to socket: %sCouldn't connect to %s:%u. %s.DEBUG-LEVELDSA Database not specifiedDebug modeDo not check user configuration file permissionsDumped coreEMAILESMTP AUTH is not supportedEntering XDB loop...Execute a local SMTP server, which works on standard input and output (inetd-type program); this option excludes the `--remote-mta' optionExecuting %sExecuting %s...Exited successfullyExiting XDB loop...FILEFailed with status %dFile `%s' has already been read. Foreground modeFound record for `%s'.GNU Anubis bound to %s:%uGNU Anubis is running...GPGME: %s.GPGME: Cannot list keys: %sGPGME: Invalid recipient encountered: %sGPGME: Invalid signer found: %sGPGME: Unexpected number of signatures createdGPGME: Wrong hash algorithm reported: %iGPGME: Wrong pubkey algorithm reported: %iGPGME: Wrong signature class reported: %uGPGME: Wrong type of signature createdGPGME: failed. %s.GSASL error: %sGSASL handshake aborted: %d %sGeneral SOCKS server failure.Get substring %d failed (%d).Getting remote host information...Give a short usage messageGive this help listGot empty list of authentication methodsHost unreachable.IDENT: connect() failedIDENT: connected to %s:%uIDENT: data probably encrypted with DES...IDENT: incorrect data (DES deciphered).IDENT: incorrect data.IDENT: recvline() failed: %s.IDENT: resolved remote user to %s.IDENT: socket() failedIDENT: stream_write() failed: %s.INTERNAL ERRORINTERNAL ERROR at %s:%d: missing or invalid regexIgnore system configuration fileIllegal address length received for host %sInitializing the TLS/SSL connection with MTA...Initializing the TLS/SSL connection with MUA...Install GPGME version %s or later.Invalid port number: %sInvalid regular expression (see the above message)Invalid user ID: %sInvalid user name: %sLocal program [%lu] finished. %sMODEMODIFY %s [%s] [%s] %sMalformed or unexpected replyMandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.Matched condition %s[%s] "%s"Matched trigger "%s"Matched, but too many substrings.Miscellaneous optionsMissing recipient addressesNetwork unreachable.No certificate was found!No certificate was sent.No such section: %sNot a valid debugging level: %sNot enough memoryOPTIONOther optionsOutput optionsPAM: Not authenticated to use GNU Anubis.PAM: Session closed.PAM: Session opened (restrictions applied).PAM: failed to release authenticator.Possibly not a SOCKS proxy service.Print a list of configuration options used to build GNU AnubisPrint program versionREMOVE HEADER [%s]RSA Reading system configuration file %s...Reading user configuration file %s...Record for `%s' not found.Report bugs to %s. Request rejected or failed.Request rejected, because the client program and identd reported different User-IDs.Request rejected.Run the configuration file syntax checkerSASL gsasl_client_start: %sSERVERSMTP message submission daemon.SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH method: USER NAME/PASSWORDSOCKS Proxy AUTH: succeeded.SOCKS Proxy Connection: succeeded.SOCKS proxy: %sSTARTTLS (ONEWAY) command failed.STARTTLS command failed.STOPSection %sSection %s already definedSelect operation mode; MODE is one of "transparent", "auth" or "mda"Selected authentication mechanism %sSelected authentication mechanism %s requires TLS encryption. Not using ESMTP authenticationServer did not offer any feasible authentication mechanismServer does not accept an AUTH method.Server does not accept any method.Server reply is not valid.Short writeSignal Caught. Exiting Cleanly...Specify a remote SMTP host name or IP address; the default is 25Specify alternate system configuration fileSpecify sender address (implies MDA mode)Specify the TCP port on which GNU Anubis listens for connections; the default HOST is INADDR_ANY, and default PORT is 24 (private mail system)Starting SMTP session...Stopped on signal %dStore the PID of the running daemon in FILEStray character in config: \%03o. Possibly missing quotes around the stringTCP wrappers: connection from %s:%u rejected.TLS error reading `%s': %sTLS/SSL handshake failed!TLS/SSL handshake failed: %sTTL expired.TerminatedTerminated on signal %dThe MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA.The certificate has expired.The certificate is not trusted.The certificate is not yet activated.The certificate is trusted.Timeout! Exiting...Too many clients. Connection from %s:%u rejected.Translation map: incorrect syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUNKNOWN Unknown host %s.Unknown mode: %sUnknown regexp modifierUnknown section: %sUsage:Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input and outputUsing SOCKS Proxy...Using TLS/SSL encryption between Anubis and remote MTA only...Using the TLS/SSL encryption...WARNING: %sWARNING: An unprivileged user cannot be resolved. Verify your settings!WARNING: An unprivileged user has not been specified!Welcome user %s !Work noisilyWork silentlyWrong permissions on %s. Set 0600.[HOST:]PORT`logfile' directive is ignored in main configuration fileaccept() failedargcv_get failedbind() failedcannot drop non-root setuid privilegescannot open guile output file %scannot set effective gid to %lucannot stat file `%s'connect() faileddaemon() faileddaemon: cannot forkexecvp() failedfork() failedgetsockname() failed: %s.listen() failedmemory exhaustedmissing procedure namemissing replacement valuepcre_compile() failed at offset %d: %s.pcre_fullinfo() failed: %d.program is not allowed in this sectionregcomp() failed at %s: %s.second setuid(%lu) failedsetegid(%lu) failedseteuid(0) succeeded when it should notsetgid(%lu) failedsetgroups(1, %lu) failedsetregid(%lu,%lu) failedsetresgid(%lu,%lu,%lu) failedsetreuid(%lu,-1) failedsetsid() failedsetuid(%lu) failedsocketpair() failedunknown keyword: %swarningProject-Id-Version: anubis 4.1 Report-Msgid-Bugs-To: bug-anubis@gnu.org POT-Creation-Date: 2008-12-20 11:59+0100 PO-Revision-Date: 2008-01-12 16:35+0100 Last-Translator: Christer Andersson Language-Team: Swedish MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n==1 ? 0 : 1; #1 bind() misslyckades#1 socket() misslyckades.#2 bind() misslyckades#2 socket() misslyckades.start av %s-demon lyckades.%s är inte en normal fil eller en symbolisk länk.%s är inte ett procedurobjekt%s ommappad till %s@localhost.%s: ett tillfälligt namnserverfel inträffade. Försök igen senare.%s: värdnamnet är giltigt men har ingen IP-adress.%s: otillåten flagga -- %c %s: ogiltig flagga -- %c %s: flaggan "%c%s" tar inget argument %s: flaggan "%s" är tvetydig %s: flaggan "%s" kräver ett argument %s: flaggan "--%s" tar inget argument %s: flaggan "-W %s" tar inget argument %s: flaggan "-W %s" är tvetydig %s: flaggan kräver ett argument -- %c %s: okänt DNS-fel %d.%s: okänd flagga "%c%s" %s: okänd flagga "--%s" %s: oåterhämtbart namnserverfel inträffade.- Anonym DH använder %d-bit primtal. - Anonym DH använder %d-bitars primtal. - Certifikatutgivarens DN: %s - Certifikattyp: %s - Certifikatet går ut: %s- Certifikatets fingeravtryck: - Certifikatinformation: - Certifikatet är giltigt sedan: %s- Certifikatets öppna nyckel: - Certifikatets serienummer: - Certifikatversion: #%d - Kryptering: %s - Komprimering: %s - Kortlivad DH använder %d-bit primtal. - Kortlivad DH använder %d-bitars primtal. - Exponent: %d bit - Exponent: %d bitar - MAC: %s - Modul: %d bit - Modul: %d bitar - Protokoll: %s --mode=mda kräver --local-mtaLÄGG TILL %s [%s] %sAdress måste vara ett IP-nummer, inte ett domännamn.Adresstyp stöds inte.Fel i Anubis RC-filAutentisering misslyckades: %d %sAutentisering lyckades.Ogiltig car-typ i retur från %sOgiltig cdr-typ i retur från %sOgiltig returtyp från %sOgiltigt användarnamn eller lösenord.KLIENTAnropar %sKan inte ta reda på mitt eget värdnamnKan inte skapa flödesuttag (stream socket)Kan inte skapa flödesuttag (stream socket).Kan inte grena.Kan inte initiera libgsasl: %sKan inte öppna databas %s: %sKan inte öppna pid-fil "%s"Kan inte hämta data från SASL-databasen: %sKan inte skicka tomt användarnamn eller lösenord.Barnprocess [%lu] avslutad. %s. %d klient kvar.Barnprocess [%lu] avslutad. %s. %d klienter kvar.Barnprocess suspenderad i %lu sekundBarnprocess suspenderad i %lu sekunderHANG-kommando är inte tillåtet för användare "%s"Kommandot stöds inte.Ansluten till %s:%uAnslutningen stängdes framgångsrikt.Anslutning från %s:%uEn regeluppsättning tillåter inte anslutning.Anslutning vägrades.Kunde inte skriva till uttag (socket)Kunde inte skriva till uttag (socket): %sKunde inte ansluta till %s:%u. %s.FELSÖKNINGSNIVÅDSA Ingen databas angivenFelsökningslägeKontrollera inte rättigheter på användarkonfigurationsfilenMinnesutskrift skapadE-POSTESMTP AUTH stöds intePåbörjar XDB-slinga...Kör en lokal SMTP-server som jobbar på standard in och ut (program av inetd-typ); denna flagga utesluter "--remote-mta"-flagganKör %sKör %s...Lyckad avslutningAvslutar XDB-slinga...FILMisslyckades med status %dFilen "%s" har redan lästs. FörgrundslägeHittade post för "%s".GNU Anubis bunden till %s:%uGNU Anubis är igång...GPGME: %s.GPGME: Kan inte lista nycklar: %sGPGME: Ogiltig mottagare påträffad: %sGPGME: Ogiltig signerare hittad: %sGPGME: Oväntat antal signaturer skapadeGPGME: Felaktig hashalgoritm rapporterad: %iGPGME: Felaktig öppen nyckelalgoritm rapporterad: %iGPGME: Felaktig signaturklass rapporterad: %uGPGME: Fel signaturtyp skapadGPGME: misslyckades. %s.GSASL-fel: %sGSASL-handskakning avbruten: %d %sAllmänt SOCKS-serverfel.Hämta delsträng %d misslyckades (%d).Hämtar fjärrvärdsinformation...Visa ett kort användningsmeddelandeVisa denna hjälplistaFick tom lista med autentiseringsmetoderOåtkomlig värd.IDENT: connect() misslyckadesIDENT: ansluten till %s:%uIDENT: data är förmodligen krypterad med DES...IDENT: felaktig data (DES-avkrypterad).IDENT: felaktig data.IDENT: recvline() misslyckades: %s.IDENT: bestämde fjärranvändare till %s.IDENT: socket() misslyckadesIDENT: stream_write() misslyckades: %s.INTERNT FELINTERNT FEL vid %s:%d: reguljärt uttryck saknas eller är ogiltigtIgnorera systemkonfigurationsfilOgiltig adresslängd mottagen för värd %sInitierar TLS/SSL-anslutningen med MTA...Initierar TLS/SSL-anslutningen med MUA...Installera GPGME version %s eller senare.Ogiltigt portnummer: %sOgiltigt reguljärt uttryck (se ovanstående meddelande)Ogiltigt användar-id: %sOgiltigt användarnamn: %sLokalt program [%lu] avslutat. %sLÄGEMODIFIERA %s [%s] [%s] %sFelaktigt eller oväntat svarObligatoriska eller valfria argument till långa flaggor är obligatoriska eller valfria också för motsvarande korta flaggor.Matchade villkor %s[%s] "%s"Matchade utlösare "%s"Matchat, men för många delsträngar.Diverse flaggorMottagardadress saknasOåtkomligt nätverk.Inget certifikat hittades!Inget certifikat skickades.Inget sådan sektion: %sInte en giltig felsökningsnivå: %sInte tillräckligt med minneFLAGGAAndra flaggorUtmatningsflaggorPAM: Ej autentiserad för att använda GNU Anubis.PAM: Session avslutad.PAM: Session startad (restriktioner tillämpade).PAM: misslyckades med att frigöra autentiserare.Kanske inte en SOCKS-proxytjänst.Skriv ut en lista med konfigurationsflaggor som användes för att bygga GNU AnubisSkriv ut programversionTA BORT HEADER [%s]RSA Läser systemkonfigurationsfil %s...Läser användarkonfigurationsfil %s...Post för "%s" hittades inte.Rapportera fel till %s. Skicka synpunkter på översättningen till . Begäran vägrades eller misslyckades.Begäran vägrades eftersom klientprogrammet och identd rapporterade olika användar-id.Begäran vägrades.Kör syntaktisk kontroll av konfigurationsfilenSASL gsasl_client_start: %sSERVERSMTP meddelandesändningsdemon.AUTH-metod för SOCKS-proxy: INGEN AUTENTISERING KRÄVSSOCKS-proxy AUTH-metod: ANVÄNDARNAMN/LÖSENORDSOCKS-proxy AUTH: lyckades.SOCKS-proxyanslutning: lyckades.SOCKS-proxy: %sSTARTTLS (ONEWAY)-kommando misslyckades.STARTTLS-kommando misslyckades.STOPPSektion %sSektion %s redan definieradVälj körläge; LÄGE är en av "transparent", "auth" eller "mda"Valde %s-autentiseringsmekanismVald %s-autentiseringsmekanism kräver TLS-kryptering. Använder inte ESMTP-autentiseringServern erbjöd ingen möjlig autentiseringsmekanismServern accepterar inte en AUTH-metod.Servern accepterar inte någon metod.Serversvar är ogiltigt.Ofullständig utskriftSignal fångad. Avslutar rent...Ange ett värdnamn eller en IP-adress för fjärr-SMTP-server; standardvärdet är 25Ange alternativ systemkonfigurationsfilAnge avsändaradress (medför MDA-läge)Ange vilken TCP-port som GNU Anubis lyssnar på efter anslutningar; standard-VÄRD är INADDR_ANY, och standard-PORT är 24 (privat e-postsystem)Påbörjar SMTP-session....Stoppad av signal %dLagra den körande demonens PID i FILVilsekommet tecken i konfiguration: \%03o. Möjligen saknas citationstecken kring strängenTCP-omslag: anslutning från %s:%u vägrades.TLS-fel vid läsning av "%s": %sTLS/SSL-handskakning misslyckades!TLS/SSL-handskakning misslyckades: %sTTL har gått ut.AvslutadAvslutad av signal %dMTA:n har inte angivits. Ange REMOTE-MTA:n eller LOCAL-MTA.Certifikatet har gått ut.Certifikatet är ej betrott.Certifikatet har inte aktiverats än.Certifikatet är betrott.Timeout! Avslutar...För många klienter. Anslutning från %s:%u vägrades.Översättningsavbildning: felaktig syntax.UID:%d (%s), GID: %d, EUID:%d, EGID:%dOKÄND Okänd värd %s.Okänt läge: %sOkänd modifierare av reguljärt uttryckOkänd sektion: %sAnvändning:Använd SMTP-protokollet (OMP/Tunnel) som beskrivs i RFC 821 på standard in och utAnvänder SOCKS-proxy...Använder TLS/SSL-kryptering enbart mellan Anubis och fjärr-MTA...Använder TLS/SSL-krypteringen...VARNING: %sVARNING: En opriviligierad användare kan inte bestämmas. Kontrollera dina inställningar!VARNING: En användare utan rättigheter har inte angivits!Välkommen användare %s !Arbeta högljuttArbeta tystFelaktiga rättigheter på %s. Sätt till 0600.[VÄRD:]PORT"logfile"-direktiv ignoreras i huvudkonfigurationsfilaccept() misslyckadesargcv_get misslyckadesbind() misslyckadeskan inte släppa setuid-privilegier för icke-rootkan inte öppna guile-utdatafil %skan inte sätta verksam gid till %lukan inte ta status på filen "%s"connect() misslyckadesdaemon() misslyckadesdemon: kan inte grenaexecvp() misslyckadesfork() misslyckadesgetsockname() misslyckades: %s.listen() misslyckadesminnet slutprocedurnamn saknasersättningsvärde saknaspcre_compile() misslyckades vid förskjutning %d: %s.pcre_fullinfo() misslyckades: %d.program är inte tillåtet i denna sektionregcomp() misslyckades vid %s: %s.andra seduid(%lu) misslyckadessetegid(%lu) misslyckadesseteuid(0) lyckades när den inte bordesetgid(%lu) misslyckadessetgroups(1, %lu) misslyckadessetregid(%lu,%lu) misslyckadessetresgid(%lu,%lu,%lu) misslyckadessetreuid(%lu,-1) misslyckadessetsid() misslyckadessetuid(%lu) misslyckadessocketpair() misslyckadesokänt nyckelord: %svarninganubis-4.1.1+dfsg1/po/en@boldquot.header0000600000175000017500000000247111121755731015613 0ustar kbkb# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # anubis-4.1.1+dfsg1/po/Makefile.in.in0000600000175000017500000003334311121755731014641 0ustar kbkb# -*- buffer-read-only: t -*- vi: set ro: # DO NOT EDIT! GENERATED AUTOMATICALLY! # Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.16 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: all-@USE_NLS@ all-yes: stamp-po all-no: # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && $(SHELL) ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: anubis-4.1.1+dfsg1/po/da.gmo0000600000175000017500000005572611123150057013260 0ustar kbkbÞ•Œoü¸¹ÊÞï, Mg;„7Àø,,Y%w,-Ê ø&@Zz,šNÇ5Mgƒ ˜¹Ôò N/(~ §&²Ùé )B^s«Êé #.Mi †“²Î/è'T@N•)ä%8X$n“§Áß þ  & 01 b n t  Š¥ 0!=!M!a!u!z!!!²!Â!Ù!ó! ""(3"\".|"(«"*Ô")ÿ"&)#P#c#s#’#°#"Î#ñ# $( $I$[$s$*$'¸$à$÷$"%8%!O%q%1€% ²%+Ó%/ÿ%//&"_&‚&2š&Í&á& ÷&''4'sR'Æ'ä'!ù'(1(M(b(|(•(©(É(Û( â(ð()ÿ())+>)%j)#)>´)ó) **'!*%I*o*Š*ž*Tº*+)!+K+g+n+3Ž++Â+î+" ,.,!>,`,y, ~,‰,D¤,$é,\-:k-&¦-"Í-ð- .!.@9.+z.)¦.ŽÐ._/x/+/K¹/-030N0h0 …0 ’00@µ0ö01%31Y1u11‰1"»1%Þ12 22/2G2[2Wb2º2>Ï23 .3G:35‚3¸3 Ê3 ×3"å3 494N4^4 o4&}4 ¤4Å4å4û4 5505 @5N5h5x5‰5 5'º5â5&þ5%6A6[6'o6—6ª6Ã6Ü6ú67"757I7]7e7å8û89*9C98^9—9µ9?Ð96:G:c:+:«:#Ç:+ë:,;D;&c;Š;¢;Â;,â;P<`<~<”<®<Ê< Ý<þ<=9= S=_=Vr=*É= ô=&ÿ=&>6>U>.h>—>·>É>è>þ>?:?%T?z? ?$‹?°?Î?í?"@#@B@*\@1‡@e¹@KA+kA—A´AÈAÜA3òA&B;B XB"yBœB°BµBËB:áB C&C -CNC’cC öCD DD4D8DRDmD~D‘D­D ÂD!ÍD%ïD&E.+°bµÆX4 þÀvl'!u{-2THh^iq´tʪ¥à ÛQULŒP7Ń<ºA¦ëS¯*#1 bind() failed#1 socket() failed.#2 bind() failed#2 socket() failed.%s daemon startup succeeded.%s is not a regular file or a symbolic link.%s not a procedure object%s remapped to %s@localhost.%s: a temporary name server error occured. Try again later.%s: host name is valid but does not have an IP address.%s: illegal option -- %c %s: invalid option -- %c %s: option `%c%s' doesn't allow an argument %s: option `%s' is ambiguous %s: option `%s' requires an argument %s: option `--%s' doesn't allow an argument %s: option `-W %s' doesn't allow an argument %s: option `-W %s' is ambiguous %s: option requires an argument -- %c %s: unknown DNS error %d.%s: unrecognized option `%c%s' %s: unrecognized option `--%s' %s: unrecoverable name server error occured.- Anonymous DH using prime of %d bit. - Anonymous DH using prime of %d bits. - Certificate Issuer's DN: %s - Certificate Type: %s - Certificate expires: %s- Certificate fingerprint: - Certificate info: - Certificate is valid since: %s- Certificate public key: - Certificate serial number: - Certificate version: #%d - Cipher: %s - Compression: %s - Ephemeral DH using prime of %d bit. - Ephemeral DH using prime of %d bits. - Exponent: %d bit - Exponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protocol: %s --mode=mda requires --local-mtaADD %s [%s] %sAddress must be an IP, not a domain name.Address type not supported.Anubis RC file errorAuthentication failed: %d %sAuthentication successful.Bad car type in return from %sBad cdr type in return from %sBad return type from %sBad user name or password.CLIENTCalling %sCan't find out my own hostnameCannot create stream socketCannot create stream socket.Cannot fork.Cannot initialize libgsasl: %sCannot open database %s: %sCannot open pid file '%s'Cannot retrieve data from the SASL database: %sCannot send null user name or password.Child [%lu] finished. %s. %d client left.Child [%lu] finished. %s. %d clients left.Child process suspended for %lu secondChild process suspended for %lu secondsCommand HANG is not allowed for user `%s'Command not supported.Connected to %s:%uConnection closed successfully.Connection from %s:%uConnection not allowed by a ruleset.Connection refused.Could not write to socketCould not write to socket: %sCouldn't connect to %s:%u. %s.DEBUG-LEVELDSA Database not specifiedDebug modeDo not check user configuration file permissionsDumped coreEMAILESMTP AUTH is not supportedEntering XDB loop...Execute a local SMTP server, which works on standard input and output (inetd-type program); this option excludes the `--remote-mta' optionExecuting %sExecuting %s...Exited successfullyExiting XDB loop...FILEFailed with status %dFile `%s' has already been read. Foreground modeFound record for `%s'.GNU Anubis bound to %s:%uGNU Anubis is running...GPGME: %s.GPGME: Cannot list keys: %sGPGME: Invalid recipient encountered: %sGPGME: Invalid signer found: %sGPGME: Unexpected number of signatures createdGPGME: Wrong hash algorithm reported: %iGPGME: Wrong pubkey algorithm reported: %iGPGME: Wrong signature class reported: %uGPGME: Wrong type of signature createdGPGME: failed. %s.GSASL error: %sGSASL handshake aborted: %d %sGeneral SOCKS server failure.Get substring %d failed (%d).Getting remote host information...Give a short usage messageGive this help listGot empty list of authentication methodsHost unreachable.IDENT: connect() failedIDENT: connected to %s:%uIDENT: data probably encrypted with DES...IDENT: incorrect data (DES deciphered).IDENT: incorrect data.IDENT: recvline() failed: %s.IDENT: resolved remote user to %s.IDENT: socket() failedIDENT: stream_write() failed: %s.INTERNAL ERRORINTERNAL ERROR at %s:%d: missing or invalid regexIgnore system configuration fileIllegal address length received for host %sInitializing the TLS/SSL connection with MTA...Initializing the TLS/SSL connection with MUA...Install GPGME version %s or later.Invalid port number: %sInvalid regular expression (see the above message)Invalid user ID: %sInvalid user name: %sLocal program [%lu] finished. %sMODEMODIFY %s [%s] [%s] %sMalformed or unexpected replyMandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.Matched condition %s[%s] "%s"Matched trigger "%s"Matched, but too many substrings.Miscellaneous optionsMissing recipient addressesNetwork unreachable.No certificate was found!No certificate was sent.No such section: %sNot a valid debugging level: %sNot enough memoryOPTIONOther optionsOutput optionsPAM: Not authenticated to use GNU Anubis.PAM: Session closed.PAM: Session opened (restrictions applied).PAM: failed to release authenticator.Possibly not a SOCKS proxy service.Print a list of configuration options used to build GNU AnubisPrint program versionREMOVE HEADER [%s]RSA Reading system configuration file %s...Reading user configuration file %s...Record for `%s' not found.Report bugs to %s. Request rejected or failed.Request rejected, because the client program and identd reported different User-IDs.Request rejected.Run the configuration file syntax checkerSASL gsasl_client_start: %sSERVERSMTP message submission daemon.SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH method: USER NAME/PASSWORDSOCKS Proxy AUTH: succeeded.SOCKS Proxy Connection: succeeded.SOCKS proxy: %sSTARTTLS (ONEWAY) command failed.STARTTLS command failed.STOPSection %sSection %s already definedSelect operation mode; MODE is one of "transparent", "auth" or "mda"Selected authentication mechanism %sSelected authentication mechanism %s requires TLS encryption. Not using ESMTP authenticationServer did not offer any feasible authentication mechanismServer does not accept an AUTH method.Server does not accept any method.Server reply is not valid.Short writeSignal Caught. Exiting Cleanly...Specify a remote SMTP host name or IP address; the default is 25Specify alternate system configuration fileSpecify sender address (implies MDA mode)Specify the TCP port on which GNU Anubis listens for connections; the default HOST is INADDR_ANY, and default PORT is 24 (private mail system)Starting SMTP session...Stopped on signal %dStore the PID of the running daemon in FILEStray character in config: \%03o. Possibly missing quotes around the stringTCP wrappers: connection from %s:%u rejected.TLS error reading `%s': %sTLS/SSL handshake failed!TLS/SSL handshake failed: %sTTL expired.TerminatedTerminated on signal %dThe MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA.The certificate has expired.The certificate is not trusted.The certificate is not yet activated.The certificate is trusted.Timeout! Exiting...Too many clients. Connection from %s:%u rejected.Translation map: incorrect syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUNKNOWN Unknown host %s.Unknown mode: %sUnknown regexp modifierUnknown section: %sUsage:Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input and outputUsing SOCKS Proxy...Using TLS/SSL encryption between Anubis and remote MTA only...Using the TLS/SSL encryption...WARNING: %sWARNING: An unprivileged user cannot be resolved. Verify your settings!WARNING: An unprivileged user has not been specified!Welcome user %s !Work noisilyWork silentlyWrong permissions on %s. Set 0600.[HOST:]PORT`logfile' directive is ignored in main configuration fileaccept() failedargcv_get failedbind() failedcannot drop non-root setuid privilegescannot open guile output file %scannot set effective gid to %lucannot stat file `%s'connect() faileddaemon() faileddaemon: cannot forkexecvp() failedfork() failedgetsockname() failed: %s.listen() failedmemory exhaustedmissing procedure namemissing replacement valuepcre_compile() failed at offset %d: %s.pcre_fullinfo() failed: %d.program is not allowed in this sectionregcomp() failed at %s: %s.second setuid(%lu) failedsetegid(%lu) failedseteuid(0) succeeded when it should notsetgid(%lu) failedsetgroups(1, %lu) failedsetregid(%lu,%lu) failedsetresgid(%lu,%lu,%lu) failedsetreuid(%lu,-1) failedsetsid() failedsetuid(%lu) failedsocketpair() failedunknown keyword: %swarningProject-Id-Version: anubis-4.1 Report-Msgid-Bugs-To: bug-anubis@gnu.org POT-Creation-Date: 2008-12-20 11:59+0100 PO-Revision-Date: 2008-12-09 00:00+0000 Last-Translator: Joe Hansen Language-Team: Danish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); #1 bind() mislykkedes#1 socket() mislykkedes.#2 bind() mislykkedes#2 socket() mislykkedes.%s dæmonopstart lykkedes.%s er ikke en regulær fil eller en symbolsk henvisning.%s er ikke et procedureobjekt%s sendt til %s@localhost.%s: En midlertidig navneserverfejl opstod. Forsøg igen senere.%s: Værtsnavn er gyldigt, men har ikke en ip-adresse.%s: Ugyldigt tilvalg -- %c %s: Ugyldigt tilvalg -- %c %s: Tilvalg %c%s tillader ikke et argument %s: Tilvalg %s er tvetydig %s: Tilvalg %s kræver et argument %s: Tilvalg --%s tillader ikke et argument %s: Tilvalg -W %s tillader ikke et argument %s: Tilvalg -W %s er tvetydig %s: Tilvalg kræver et argument -- %c %s: Ukendt DNS-fejl %d.%s: Ikke genkendt tilvalg %c%s %s: Ikke genkendt tilvalg --%s %s: En uigenkaldelig navneserverfejl opstod.- Anonym DH bruger primtal pÃ¥ %d bit. - Anonym DH bruger primtal pÃ¥ %d bits. - Certifikatudsteders DN: %s - Certifikattype: %s - Certifikat udløber: %s- Certifikat fingeraftryk: - Certifikatinfo: - Certifikat er gyldig siden: %s- Certifikat offentlig nøgle: - Certifikat serienummer: - Certifikatversion: #%d - Kode: %s - Kompression: %s - Kortvarig DH bruger primtal pÃ¥ %d bit. - Kortvarig DH bruger primtal pÃ¥ %d bits. - Eksponent: %d bit - Eksponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protokol: %s --mode=mda kræver --local-mtaTILFØJ %s [%s] %sAdresse skal være en IP, ikke et domænenavn.Adressetype ikke understøttet.Anubis RC-filfejlGodkendelse mislykkedes: %d %sGodkendelse lykkedes.Ugyldig car-type retur fra %sUgyldig cdr-type retur fra %sUgyldig retur-type fra %sUgyldig brugernavn eller adgangskode.KLIENTKalder %sKan ikke afklare mit eget værtsnavnKan ikke oprette strømsokkelKan ikke oprette strømsokkel.Kan ikke forgrene.Kan ikke initialisere libgsasl: %sKan ikke Ã¥bne database %s: %sKan ikke Ã¥bne pid-fil %sKan ikke hente data fra SASL-databasen: %sKan ikke sende null-brugernavn eller adgangskode.Underproces [%lu] færdig. %s. %d klient tilbage.Underproces [%lu] færdig. %s. %d klienter tilbage.Underproces suspenderet i %lu sekundUnderproces suspenderet i %lu sekunderKommando HANG er ikke tilladt for bruger %sKommando ikke understøttet.Forbundet til %s:%uForbindelse lukket.Forbindelse fra %s:%uForbindelse ikke tilladt pÃ¥ grund af et regelsæt.Forbindelse nægtet.Kunne ikke skrive til sokkelKunne ikke skrive til sokkel: %sKunne ikke forbinde til %s:%u. %s.FEJLSØGNINGSNIVEAUDSA Database ikke angivetFejlsøgningstilstandUndersøg ikke rettighederne for brugerkonfigurationsfilenKernedumpE-POSTESMTP AUTH er ikke understøttetGÃ¥r i XDB-løkke...Kør en lokal SMTP-server, som fungerer med standardinddata og -uddata (inetd-typeprogram); denne indstilling udelukker --remote-mta indstillingenUdfører %sUdfører %s...AfsluttedesForlader XDB-løkke...FILMislykkedes med status %dFil %s er allerede læst. ForgrundtilstandFandt post for %s.GNu Anubis bundet til %s:%uGNU Anubis kører...GPGME: %s.GPGME: Kan ikke liste nøgler: %sGPGME: Mødte en ugyldig modtager: %sGPGME: Ugyldig underskriver fundet: %sGPGME: Uventet antal af underskrifter oprettetGPGME: Forkert hash-algoritme rapporteret: %iGPGME: Forkert pubkey-algoritme rapporteret: %iGPGME: Forkert underskriftsklasse rapporteret: %uGPGME: Forkert underskriftstype oprettetGPGME: Mislykkedes. %s.GSASL-fejl: %sGSASL-hÃ¥ndtryk afbrudt: %d %sGenerel SOCKS-server fejl.Hentning af understreng %d mislykkedes (%d).Henter ekstern værtsinformation...Giv en kort besked om anvendelseGiv denne hjælpelisteFik tom liste over godkendelsesmetoderVært kan ikke nÃ¥es.IDENT: connect() mislykkedesIDENT: forbundet til %s:%uIDENT: data sandsynligvis krypteret med DES...IDENT: ukorrekt data (DES-dechifreret).IDENT: ukorrekt data.IDENT: recvline() mislykkedes: %s.IDENT: Bestemte ekstern bruger for %s.IDENT: socket() mislykkedesIDENT: stream_write() mislykkedes: %s.INTERN FEJLINTERN FEJL ved %s:%d: Manglende eller ugyldig regexIgnorer systemkonfigurationsfilUgyldig adresselængde hentet for vært %sInitialiserer TLS/SSL-forbindelsen med MTA...Initialierer TLS/SSL-forbindelse med MUA...Installer GPGME version %s eller senere.Ugyldig portnummer: %sUgyldigt regulært udtryk (se ovenstÃ¥ende besked)Ugyldig bruger-id: %sUgyldig brugernavn: %sLokalt program [%lu] færdig. %sTILSTANDÆNDRE %s [%s] [%s] %sDefekt eller uventet svarTvungne eller valgfrie argumenter for lange indstillinger er ogsÃ¥ tvungne eller valgfrie for enhver tilsvarende kort indstilling.Matchende betingelse %s[%s] %sMatchende udløser %sMatchende, men for mange understrenge.Forskellige indstillingerMangler modtageradresserNetværk kan ikke nÃ¥es.Inter certifikat blev fundet!Intet certifikat blev sendt.Ingen sÃ¥dan sektion: %sIkke et gyldigt fejlsøgningsniveau: %sIkke nok hukommelseINDSTILLINGAndre indstillingerIndstillinger for uddataPAM: Ikke godkendt som bruger af GNU Anubis.PAM: Session lukket.PAM: Session Ã¥bnet (restriktioner anvendt).PAM: Mislykkedes i at frigive godkendelsesmetode.Sikkert ikke en tjeneste for SOCKS-proxy.Udskriv en liste over konfigurationsindstillinger anvendt under installationen af GNU AnubisUdskriv programversionFJERN FILHOVED [%s]RSA Læser systemkonfigurationsfil %s...Læser brugerkonfigurationsfil %s...Post for %s er ikke fundet.Rapporter fejl til %s. Anmodning nægtet eller mislykkedes.Anmodning nægtet, da klientprogrammet og identd rapporterede forskellig bruger-id.Anmodning nægtet.Kør syntakskontrollen for konfigurationsfilenSASL gsasl_client_start: %sSERVERSMTP-besked for underdanig dæmon.AUTH-metode for SOCKS-proxy: INGEN GODKENDELSE KRÆVETAUTH-metode for SOCKS-proxy: BRUGERNAVN/ADGANGSKODEAUTH for SOCKS-proxy: Lykkedes.Forbindelse via SOCKS-proxy: Lykkedes.SOCKS-proxy: %sSTARTTLS (ONEWAY) kommando mislykkedes.STARTTLS-kommando mislykkedes.STOPSektion %sSektion %s allerede defineretVælg handlingstilstand; TILSTAND er en af »gennemsigtig«, »auth« eller »mda«Valgt godkendelsesmekanisme %sValgt godkendelsesmekanisme %s kræver TLS-kryptering. Bruger ikke ESMTP-godkendelseServer tilbød ingen brugbar godkendelsesmekanismeServer accepterer ikke en AUTH-metode.Server accepterer ingen metoder.Serversvar er ikke gyldig.Skriv kortSignal fanget. Afslutter pænt...Angiv et eksternt SMTP-værtsnavn eller ip-adresse; standard er 25Angiv alternativ systemkonfigurationsfilAngiv afsenderadresse (forudsætter MDA-tilstand)Angiv den TCP-port som GNU Anubis lytter pÃ¥ efter forbindelser; standardværten er INADDR_ANY, og standardporten er 24 (privat e-post-system)Starter SMTP-session...Stoppede ved signal %dGem PID'en pÃ¥ den igangværende dæmon i FILVildfaren karakter i config: \%03o. MÃ¥ske pÃ¥ grund af manglende citationstegn om strengenTCP-ombrydere: Forbindelse fra %s:%u afvist.TLS-fejl under læsning af %s: %sTLS/SSL-hÃ¥ndtryk mislykkedes!TLS/SSL-hÃ¥ndtryk mislykkedes: %sTTL udløbet.AfbrudtAfbrød ved signal %dMTA'en er ikke angivet. Angiv REMOTE-MTA eller LOCAL-MTA.Certifikatet er udløbet.Certifikatet er ikke troværdigt.Certifikatet er endnu ikke aktiveret.Certifikatet er gyldigt.Pause! Afslutter...For mange klienter. Forbindelse fra %s:%u afvist.Oversættelseskort: Ukorrekt syntaks.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUKENDT Ukendt vært %s.Ukendt tilstand: %sUkendt regexp-ændrerUkendt sektion: %sBrug:Anvend SMTP-protokollen (OMP/Tunnel) som beskrevet i RFC 821 pÃ¥ standardinddata og -uddataAnvender SOCKS-proxy...Anvend alene TLS/SSL-kryptering mellem Anubis og ekstern MTA...Anvender TLS/SSL-kryptering...ADVARSEL: %sADVARSEL: En uprivilegeret bruger kan ikke afklares. Undersøg dine indstillinger!ADVARSEL: En upriviligeret bruger er ikke angivet!Velkommen bruger %s !Arbejd larmendeArbejd stilleForkerte tilladelser pÃ¥ %s. Angiv 0600.[VÆRT:]PORTlogfil-direktiv ignoreres i hovedkonfigurationsfilaccept() mislykkedesargcv_get mislykkedesbind() mislykkedeskan ikke slippe ikke-root setuid-privilegierkan ikke Ã¥bnde guile-uddatafil %skan ikke angive effektiv gid til %lukan ikke stat fil %sconnect() mislykkedesdaemon() mislykkedesdæmon: Kan ikke forgreneexecvp() mislykkedesfork() mislykkedesgetsockname() mislykkedes: %s.listen() mislykkedeshukommelse opbrugtmangler procedurenavnmanglende erstatningsværdipcre_compile() mislykkedes ved forskydning %d: %s.pcre_fullinfo() mislykkedes: %d.program er ikke tilladt i denne sektionregcomp() mislykkedes ved %s: %s.anden setuid(%lu) mislykkedessetegid(%lu) mislykkedesseteuid(0) lykkedes hvor den ikke burdesetgid(%lu) mislykkedessetgroups(1, %lu) mislykkedessetregid(%lu,%lu) mislykkedessetresgid(%lu,%lu,%lu) mislykkedessetreuid(%lu,-1) mislykkedessetsid() mislykkedessetuid(%lu) mislykkedessocketpair() mislykkedesukendt nøgleord: %sadvarselanubis-4.1.1+dfsg1/po/pl.po0000600000175000017500000010033011123150056013120 0ustar kbkb# Polish messages for GNU Anubis # Copyright (C) 2008 Free Software Foundation, Inc. # Sergey Poznyakoff , 2003, 2004, 2008. # Andrzej Krzysztofowicz , 2006. # #: env.opt:43 msgid "" msgstr "" "Project-Id-Version: anubis 4.1\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: 2008-02-21 20:45+0200\n" "Last-Translator: Sergey Poznyakoff \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "PoczÄ…tek pÄ™tli XDB..." #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "WyjÅ›cie z pÄ™tli XDB..." #: src/authmode.c:522 msgid "Database not specified" msgstr "Nie podano bazy danych" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "Nie można otworzyć bazy danych %s: %s" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "Znaleziono wpis dla %s." #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "Nie można pobrać dane z bazy SASL: %s" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "Brak wpisu dla %s." #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "Połączenie zamkniÄ™to poprawnie." #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "PAM: Sesja zamkniÄ™ta." #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "PAM: zwolnienie wartoÅ›ci uwierzytelniajÄ…cej nie powiodÅ‚o siÄ™." #: src/daemon.c:41 msgid "daemon() failed" msgstr "daemon() nie powiodÅ‚a siÄ™" #: src/daemon.c:48 msgid "Cannot fork." msgstr "fork() nie powiodÅ‚a siÄ™." #: src/daemon.c:56 msgid "setsid() failed" msgstr "setsid() nie powiodÅ‚a siÄ™" #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "Program %s pomyÅ›lnie rozpoczÄ…Å‚ pracÄ™ w trybie demona." #: src/daemon.c:80 #, c-format msgid "Exited successfully" msgstr "Połączenie zamkniÄ™to poprawnie" #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "Nieudane zakoÅ„czenie ze stanem %d" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "ZakoÅ„czony na sygnaÅ‚ %d" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "Zatrzymany przez sygnaÅ‚ %d" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "Proces zrzuciÅ‚ rdzeÅ„" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "Proces zakoÅ„czony z niewiadomym stanem" #: src/daemon.c:108 #, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "" "Proces potomny [%lu] zakoÅ„czyÅ‚ pracÄ™. %s. PozostaÅ‚ %d proces potomny." msgstr[1] "" "Proces potomny [%lu] zakoÅ„czyÅ‚ pracÄ™. %s. PozostaÅ‚y %d procesy potomne." msgstr[2] "" "Proces potomny [%lu] zakoÅ„czyÅ‚ pracÄ™. %s. PozostaÅ‚o %d procesów potomnych." #: src/daemon.c:120 #, c-format msgid "Local program [%lu] finished. %s" msgstr "Program lokalny [%lu] zakoÅ„czyÅ‚ siÄ™. %s" #: src/daemon.c:161 msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "" "OSTRZEÅ»ENIE: Nie można ustalić nazwy użytkownika nieuprzywilejowanego. " "Sprawdź swoje ustawienia!" #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "OSTRZEÅ»ENIE: Brak nazwy użytkownika nieuprzywilejowanego!" #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "GNU Anubis zostaÅ‚ uruchomiony..." #: src/daemon.c:237 src/exec.c:80 msgid "accept() failed" msgstr "accept() nie powiodÅ‚a siÄ™" #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "osÅ‚ona TCP: odrzucono próbÄ™ połączenia siÄ™ z %s:%u" #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "Zbyt dużo klientów. Odrzucono połączenie z %s:%u" #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "Połączenie z %s:%u" #: src/daemon.c:287 msgid "daemon: cannot fork" msgstr "demon: fork nie powiódÅ‚ siÄ™" #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "" "Nie podano MTA. Ustaw w pliku konfiguracyjnym REMOTE-MTA lub LOCAL-MTA." #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "[HOST:]PORT" #: env.opt:45 msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" "Ustala port TCP na którym GNU Anubis nasÅ‚uchuje. Domniemany HOST INADDR_ANY, " "port -- 24 (prywatny system pocztowy)" #: env.opt:54 msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "Podaje nazwÄ™ lub IP zdalnego hostu SMTP; domniemany numer portu 25." #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "PLIK" #: env.opt:62 msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" "Włącza użycie lokalnego serweru SMTP który pracuje ze standardowymi wejÅ›ciem " "i wyjÅ›ciem (program typu inetd); użycie tej opcji wyłącza użycie opcji --" "remote-mta" #: env.opt:74 msgid "MODE" msgstr "TRYB" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "Ustawia tryb dziaÅ‚ania: transparent, auth, lub mda" #: env.opt:81 msgid "Foreground mode" msgstr "Tryb pierwszoplanowy" #: env.opt:87 msgid "EMAIL" msgstr "EADRES" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "Ustawia adres nadawcy (włącza tryb MDA)" #: env.opt:94 msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" "Użyj protokoÅ‚u SMTP (OMP/Tunnel, RFC 821) na standardowym wejÅ›ciu/wyjÅ›ciu" #: env.opt:98 msgid "Output options" msgstr "Opcje kontrolujÄ…ce wyjÅ›cie" #: env.opt:101 msgid "Work silently" msgstr "Wyłączenie komunikatów o błędach" #: env.opt:106 msgid "Work noisily" msgstr "WyÅ›wietla dużo informacji diagnostycznej" #: env.opt:111 msgid "Debug mode" msgstr "Tryb odpluskwiania" #: env.opt:115 msgid "Miscellaneous options" msgstr "Różne opcje" #: env.opt:119 msgid "Specify alternate system configuration file" msgstr "Podaje nazwÄ™ alternatywnego pliku konfiguracyjnego" #: env.opt:126 msgid "Ignore system configuration file" msgstr "Ignorowanie systemowego pliku konfiguracyjnego" #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "POZIOM" #: env.opt:132 msgid "Run the configuration file syntax checker" msgstr "Uruchomienie kontroli skÅ‚adni pliku konfiguracyjnego" #: env.opt:139 msgid "Print a list of configuration options used to build GNU Anubis" msgstr "Wypisanie wartoÅ›ci domyÅ›lnych, użytych podczas budowy GNU Anubisa" #: env.opt:145 msgid "Do not check user configuration file permissions" msgstr "Wyłącza sprawdzanie uprawnieÅ„ do pliku konfiguracyjnego użytkownika" #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "Zapis PID-u procesu do pliku" #: env.opt:155 msgid "Other options" msgstr "Inne opcje" #: env.opt:155 msgid "Give this help list" msgstr "WyÅ›wietlenie tego opisu" #: env.opt:155 msgid "Give a short usage message" msgstr "WyÅ›wietlenie krótkiej informacji o opcjach" #: env.opt:155 msgid "Print program version" msgstr "WyÅ›wietlenie informacji o wersji programu" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "Demon dostarczania SMTP." #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "SkÅ‚adnia:" #: env.opt:165 msgid "OPTION" msgstr "OPCJA" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" "Argumenty obowiÄ…zkowe lub opcjonalne dla dÅ‚ugich opcji sÄ… również " "obowiÄ…zkowe lub opcjonalne dla odpowiednich krótkich opcji." #: env.opt:293 #, c-format msgid "Report bugs to %s.\n" msgstr "Raporty o błędach należy wysyÅ‚ać do %s.\n" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 msgid "argcv_get failed" msgstr "argcv_get() nie powiodÅ‚a siÄ™" #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "--mode=mda wymaga --local-mda" #: env.opt:181 msgid "Missing recipient addresses" msgstr "Brak adresu odbiórcy" #: env.opt:256 #, c-format msgid "setgroups(1, %lu) failed" msgstr "setgroups(1, %lu) nie powiodÅ‚a siÄ™" #: env.opt:266 #, c-format msgid "setegid(%lu) failed" msgstr "setegid(%lu) nie powiodÅ‚a siÄ™" #: env.opt:269 #, c-format msgid "setregid(%lu,%lu) failed" msgstr "setregid(%lu, %lu) nie powiodÅ‚a siÄ™" #: env.opt:273 #, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "setresgid(%lu,%lu,%lu) nie powiodÅ‚a siÄ™" #: env.opt:282 #, c-format msgid "setgid(%lu) failed" msgstr "setgid(%lu) nie powiodÅ‚a siÄ™" #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "nie można ustalić gid-u efektywnego %lu" #: env.opt:307 #, c-format msgid "setreuid(%lu,-1) failed" msgstr "setreuid(%lu, -1) nie powiodÅ‚a siÄ™" #: env.opt:313 #, c-format msgid "second setuid(%lu) failed" msgstr "powtórne wywoÅ‚anie setuid(%lu) nie powiodÅ‚o siÄ™" #: env.opt:321 #, c-format msgid "setuid(%lu) failed" msgstr "setuid(%lu) nie powiodÅ‚a siÄ™" #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "wywoÅ‚anie seteuid(0) powiodÅ‚o siÄ™ chociaż nie powinno byÅ‚o" #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "nie można porzucić uprawnieÅ„ setuid użytkownika" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "PAM: SesjÄ™ otwarto (naÅ‚ożono ograniczenia)." #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "PAM: Użytkownik nie ma uprawnieÅ„ do użycia GNU Anubis." #: env.opt:377 src/main.c:152 #, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "Niepoprawny ID użytkownika: %s" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "Niepoprawna nazwa użytkownika: %s" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "Błędne uprawnienia na %s. Ustaw 0600." #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "%s nie jest zwykÅ‚ym plikiem ani dowiÄ…zaniem symbolicznym." #: env.opt:492 #, c-format msgid "Unknown mode: %s" msgstr "Nieznany tryb %s." #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "Nie można otworzyć bazy danych `%s'" #: src/errs.c:84 msgid "warning" msgstr "ostrzeżenie" #: src/errs.c:92 #, c-format msgid "Could not write to socket: %s" msgstr "Nie można zapisać do gniazda: %s" #: src/errs.c:94 msgid "Could not write to socket" msgstr "Nie można zapisać do gniazda" #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "Nieznany host %s." #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "%s: host ma poprawnÄ… nazwÄ™, ale nie ma adresu IP." #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "%s: wystÄ…piÅ‚ nienaprawialny błąd serwera nazw." #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "%s: wystÄ…piÅ‚ tymczasowy błąd serwera nazw. Spróbuj ponownie później." #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "%s: nieznany błąd DNS: %d." #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "Błędnie sformatowana lub nieoczekiwana odpowiedź" #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "SASL gsasl_client_start: %s" #: src/esmtp.c:167 src/esmtp.c:186 #, c-format msgid "GSASL handshake aborted: %d %s" msgstr "Przerwany proces negocjacji GSASL: %d %s" #: src/esmtp.c:198 #, c-format msgid "GSASL error: %s" msgstr "Błąd GSASL: %s" #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "Uwierzytelnienie siÄ™ nie powiodÅ‚o: %d %s" #: src/esmtp.c:215 msgid "Authentication successful." msgstr "Uwierzytelniono pomyÅ›lnie." #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "Otrzymano pustÄ… listÄ™ metod uwierzytelnienia" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "Serwer nie zaoferowaÅ‚ żadnego używalnego mechanizmu uwierzytelniania" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "BÅÄ„D WEWNĘTRZNY" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" "Wybrany mechanizm uwierzytelniania %s wymaga szyfrowania TLS. " "Uwierzytelnianie ESMTP nie bÄ™dzie używane." #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "Wybrany mechanizm uwierzytelnienia %s" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "Nie można zainicjalizować libgsasl: %s" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "ESMTP AUTH nie jest wspierane" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "Utworzenie gniazda #1 nie powiodÅ‚o siÄ™." #: src/exec.c:45 msgid "#2 socket() failed." msgstr "Utworzenie gniazda #2 nie powiodÅ‚o siÄ™." #: src/exec.c:55 msgid "#1 bind() failed" msgstr "bind() nad gniazdem #1 nie powiodÅ‚a siÄ™" #: src/exec.c:60 msgid "#2 bind() failed" msgstr "bind() nad gniazdem #2 nie powiodÅ‚a siÄ™" #: src/exec.c:65 src/net.c:233 msgid "listen() failed" msgstr "listen() nie powiodÅ‚a siÄ™" #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "getsockname() nie powiodÅ‚a siÄ™: %s." #: src/exec.c:75 msgid "connect() failed" msgstr "connect() nie powiodÅ‚a siÄ™" #: src/exec.c:87 msgid "socketpair() failed" msgstr "socketpair() nie powiodÅ‚a siÄ™" #: src/exec.c:108 #, c-format msgid "Executing %s..." msgstr "Uruchomienie %s..." #: src/exec.c:118 msgid "fork() failed" msgstr "fork() nie powiodÅ‚a siÄ™" #: src/exec.c:132 msgid "execvp() failed" msgstr "execvp() nie powiodÅ‚a siÄ™" #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "GPGME: %s." #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "Zainstaluj GPGME w wersji %s lub nowszej." #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "GPGME nie powiodÅ‚a siÄ™. %s." #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "GPGME: Nie można wydrukować kluczy: %s" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "GPGME: Odnaleziono niepoprawnego adresata: %s" #: src/gpg.c:320 #, c-format msgid "GPGME: Invalid signer found: %s" msgstr "GPGME: Odnaleziono niepoprawnego sygnatariusza: %s" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "GPGME: Utworzono nieoczekiwanÄ… ilość podpisów" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "GPGME: Utworzono podpis błędnego typu" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "GPGME: Podano błędny algorytm klucza publicznego: %i" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "GPGME: Podano błędny algorytm mieszajÄ…cy: %i" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "GPGME: Podano błędny klas podpisy: %u" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "nie można otworzyć pliku wyjÅ›ciowego `%s' dla Guile" #: src/guile.c:259 msgid "missing procedure name" msgstr "brak nazwy procedury" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "%s nie jest obiektem-procedurÄ…" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "Błędny typ komórki car w powrocie z %s" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "Błędny typ komórki cdr w powrocie z %s" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "Błędny typ danych w powrocie z %s" #: src/ident.c:101 msgid "IDENT: socket() failed" msgstr "IDENT: socket() nie powiodÅ‚a siÄ™" #: src/ident.c:113 msgid "IDENT: connect() failed" msgstr "IDENT: connect() nie powiodÅ‚a siÄ™" #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "IDENT: połączono siÄ™ z %s:%u" #: src/ident.c:128 #, c-format msgid "IDENT: stream_write() failed: %s." msgstr "IDENT: stream_write() nie powiodÅ‚a siÄ™: %s" #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "IDENT: recvline() nie powiodÅ‚a siÄ™: %s" #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "IDENT: niepoprawne dane." #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "IDENT: dane podobno sÄ… szyfrowane (DES)..." #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "IDENT: niepoprawne dane (odszyfrowane z DES)." #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "IDENT: użytkownika okreÅ›lono jako %s." #: src/main.c:54 msgid "Not enough memory" msgstr "Brak pamiÄ™ci" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "%s zostaÅ‚ zaakceptowany jako %s@localhost." #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "Mapa translacji: niepoprawna skÅ‚adnia." #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "Otrzymano niepoprawnÄ… dÅ‚ugość adresu od hosta %s" #: src/misc.c:120 #, c-format msgid "Invalid port number: %s" msgstr "Niepoprawny numer portu: %s" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "Nie można rozpoznać wÅ‚asnej nazwy hosta" #: src/net.c:46 msgid "SERVER" msgstr "SERWER" #: src/net.c:49 msgid "CLIENT" msgstr "KLIENT" #: src/net.c:127 msgid "Getting remote host information..." msgstr "Otrzymanie informacji o zdalnym hoscie..." #: src/net.c:164 msgid "Cannot create stream socket." msgstr "Nie można utworzyć gniazda potoku." #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "Nie można podłączyć siÄ™ do %s:%u. %s." #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "Ustalono połączenie z %s:%u " #: src/net.c:196 msgid "Cannot create stream socket" msgstr "Nie można utworzyć gniazda potoku." #: src/net.c:229 msgid "bind() failed" msgstr "bind() nie powiodÅ‚a siÄ™" #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "GNU Anubis zostaÅ‚ przywiÄ…zany do %s:%u" #: src/net.c:257 msgid "Short write" msgstr "Błąd zapisu" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "Użycie serwera SOCKS..." #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "serwer SOCKS: %s" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "Adres musi być adresem IP, nie nazwÄ… domeny." #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "Połączenie siÄ™ do serwera SOCKS powiodÅ‚o siÄ™." #: src/socks.c:179 msgid "Request rejected or failed." msgstr "Żądanie nie powiodÅ‚o siÄ™ lub zostaÅ‚o odrzucone." #: src/socks.c:182 msgid "Request rejected." msgstr "Żądanie odrzucono." #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" "Żądanie odrzucono, ponieważ program klienta a identd podaÅ‚y różne " "identyfikatory użytkownika." #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "Odpowiedź serwera nie jest poprawna." #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "Nie wyglÄ…da to na usÅ‚ugÄ™ serwera SOCKS." #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "" "Metoda uwierzytelnienia serwera SOCKS: UWIERZYTELNIENIE NIE JEST WYMAGANE" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "Metoda uwierzytelnienia serwera SOCKS: NAZWA UÅ»YTKOWNIKA/HASÅO" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "Nie można wysÅ‚ać pustej nazwy użytkownika lub hasÅ‚a." #: src/socks.c:291 msgid "Bad user name or password." msgstr "Niepoprawna nazwa użytkownika lub hasÅ‚o." #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "serwer SOCKS, AUTH: powodzenie." #: src/socks.c:298 msgid "Server does not accept any method." msgstr "Serwer nie przyjmuje żadnej metody." #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "Serwer nie przyjmuje metody uwierzytelnienia." #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "Ogólny błąd serwera SOCKS" #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "Podłączenie nie dozwolone zestawem reguÅ‚." #: src/socks.c:404 msgid "Network unreachable." msgstr "Sieć jest niedostÄ™pna." #: src/socks.c:407 msgid "Host unreachable." msgstr "Host jest niedostÄ™pny." #: src/socks.c:410 msgid "Connection refused." msgstr "Połączenie odrzucono." #: src/socks.c:413 msgid "TTL expired." msgstr "TTL wyczerpany." #: src/socks.c:416 msgid "Command not supported." msgstr "Polecenie nie jest obsÅ‚ugiwane." #: src/socks.c:419 msgid "Address type not supported." msgstr "Typ adresu nie jest obsÅ‚ugiwany." #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "Otrzymano sygnaÅ‚. Poprawne zakoÅ„czenie..." #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "Czas wyczerpany! ZakoÅ„czenie..." #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "stat(%s) nie powiodÅ‚a siÄ™" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "Plik `%s' już zostaÅ‚ odczytany.\n" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "Witaj, użytkowniku %s !" #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "Odczytanie systemowego pliku konfiguracyjnego %s..." #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "Odczytanie pliku konfiguracyjnego użytkownika %s..." #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "Dyrektywa `logfile' jest ignorowana w głównym pliku konfiguracyjnym" #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "Polecenie HANG nie jest dozwolone użytkownikowi `%s'" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "Brak takiej sekcji: %s" #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" "Zabłąkany znak w pliku konfiguracyjnym: \\%03o. Możliwie brakuje cudzysÅ‚owów " "wokoÅ‚o Å‚aÅ„cucha." #: src/rcfile.l:385 msgid "Anubis RC file error" msgstr "Błąd pliku RC" #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "Sekcja %s już jest zdefiniowana" #: src/rcfile.y:229 #, c-format msgid "unknown keyword: %s" msgstr "nieznane sÅ‚owo kluczowe: %s" #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "Niepoprawne wyrażenie regularne (patrz powyższy komunikat)" #: src/rcfile.y:567 msgid "missing replacement value" msgstr "brak wartoÅ›ci zastÄ…pienia" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "Niepoprawny poziom odpluskwiania: %s" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "Nieznany modyfikator wyrażenia regularnego" #: src/rcfile.y:1314 msgid "STOP" msgstr "ZATRZYMANIE" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "WywoÅ‚anie %s" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "ADD %s [%s] %s" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "MODIFY %s [%s] [%s] %s" #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "REMOVE HEADER [%s]" #: src/rcfile.y:1371 #, c-format msgid "Executing %s" msgstr "Uruchomienie %s" #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "ReguÅ‚a wyzwalania \"%s\" dopasowaÅ‚a" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "Warunek %s[%s] \"%s\" dopasowaÅ‚" #: src/rcfile.y:1604 #, c-format msgid "Section %s" msgstr "Sekcja %s" #: src/rcfile.y:1628 #, c-format msgid "Unknown section: %s" msgstr "Nieznana sekcja: %s" #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "użycie programu w tej sekcji nie jest dozwolone" #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "" "BÅÄ„D WEWNĘTRZNY w %s:%d: brakujÄ…ce bÄ…dź niepoprawne wyrażenie regularne" #: src/regex.c:328 #, c-format msgid "regcomp() failed at %s: %s." msgstr "regcomp() nie powiodÅ‚a siÄ™ przy '%s': %s" #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "pcre_compile() nie powiodÅ‚a siÄ™ przy pozycji %d: %s." #: src/regex.c:429 #, c-format msgid "pcre_fullinfo() failed: %d." msgstr "pcre_fullinfo() nie powiodÅ‚a siÄ™: %d." #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "ÅaÅ„cuch dopasowany, ale za dużo podÅ‚aÅ„cuchów." #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "Otrzymanie podÅ‚aÅ„cucha %d nie powiodÅ‚o siÄ™ (%d)." #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "Inicjalizacja podłączenia do MTA przez TLS/SSL..." #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "Błąd TLS przy odczycie `%s': %s" #: src/tls.c:198 #, c-format msgid "TLS/SSL handshake failed: %s" msgstr "Proces negocjacji TLS/SSL nie powiódÅ‚ siÄ™: %s" #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "Inicjalizacja podłączenia do MUA przez TLS/SSL..." #: src/tls.c:280 msgid "TLS/SSL handshake failed!" msgstr "Proces negocjacji TLS/SSL nie powiódÅ‚ siÄ™!" #: src/tls.c:301 msgid "No certificate was sent." msgstr "Certyfikat nie zostaÅ‚ wysÅ‚any." #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "Certyfikat nie jest zaufany." #: src/tls.c:311 msgid "The certificate has expired." msgstr "Certyfikat przekroczyÅ‚ termin ważnoÅ›ci." #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "Certyfikat nie jest jeszcze zaktywizowany." #: src/tls.c:326 msgid "No certificate was found!" msgstr "Nie odnaleziono żadnego certyfikatu!" #: src/tls.c:331 msgid "The certificate is trusted." msgstr "Certyfikat jest zaufany." #: src/tls.c:361 #, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "DH anonimowy używa liczby pierwszej z %d bita.\n" msgstr[1] "DH anonimowy używa liczby pierwszej z %d bitów.\n" msgstr[2] "DH anonimowy używa liczby pierwszej z %d bitów.\n" #: src/tls.c:370 #, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "DH efemeralny używa liczby pierwszej z %d bita.\n" msgstr[1] "DH efemeralny używa liczby pierwszej z %d bitów.\n" msgstr[2] "DH efemeralny używa liczby pierwszej z %d bitów.\n" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "- Protokół: %s\n" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "- Typ certyfikatu: %s\n" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "- Kompresja: %s\n" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "- Szyfr: %s\n" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "- MAC: %s\n" #: src/tls.c:423 #, c-format msgid "- Certificate info:\n" msgstr " - Informacje o certyfikacie:\n" #: src/tls.c:427 #, c-format msgid "- Certificate is valid since: %s" msgstr " - Certyfikat jest poprawny od %s" #: src/tls.c:429 #, c-format msgid "- Certificate expires: %s" msgstr " - Certyfikat wygaÅ›nie %s" #: src/tls.c:434 #, c-format msgid "- Certificate fingerprint: " msgstr " - Odcisk certyfikatu: " #: src/tls.c:444 #, c-format msgid "- Certificate serial number: " msgstr " - Numer seryjny certyfikatu: " #: src/tls.c:453 #, c-format msgid "- Certificate public key: " msgstr "Klucz publiczny certyfikatu: " #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "RSA\n" #: src/tls.c:457 #, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] " Współczynnik: %d bit\n" msgstr[1] " Współczynnik: %d bity\n" msgstr[2] " Współczynnik: %d bitów\n" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "DSA\n" #: src/tls.c:463 #, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] " WykÅ‚adnik: %d bit\n" msgstr[1] " WykÅ‚adnik: %d bity\n" msgstr[2] " WykÅ‚adnik: %d bitów\n" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "NIEZNANY\n" #: src/tls.c:469 #, c-format msgid "- Certificate version: #%d\n" msgstr " - Wersja certyfikatu: #%d\n" #: src/tls.c:476 #, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr " - Informacje o wydawcy certyfikatu: %s\n" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 #, fuzzy msgid "Transferring messages..." msgstr "Przekazywanie wiadomoÅ›ci..." #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "Uruchamianie sesji SMTP..." #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "Użycie szyfrowania TLS/SSL..." #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "OSTRZEÅ»ENIE: %s" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "Polecenie STARTTLS nie powiodÅ‚o siÄ™." #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "" "Użycie jednokierunkowego szyfrowania TLS/SSL tylko miÄ™dzy Anubisem i zdalnym " "MTA..." #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "Polecenie STARTTLS (jednokierunkowe) nie powiodÅ‚o siÄ™." #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: opcja `%s' jest niejednoznaczna\n" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: opcja `--%s' nie może mieć argumentów\n" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: opcja `%c%s' nie może mieć argumentów\n" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: opcja `%s' musi mieć argument\n" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: nieznana opcja `--%s'\n" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: nieznana opcja `%c%s'\n" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: niewÅ‚aÅ›ciwa opcja -- %c\n" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: błędna opcja -- %c\n" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: opcja musi mieć argument -- %c\n" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: opcja `-W %s' jest niejednoznaczna\n" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: opcja `-W %s' nie może mieć argumentów\n" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "pamięć wyczerpana" #~ msgid "MTA has not been specified. Set either REMOTE-MTA or LOCAL-MTA." #~ msgstr "" #~ "Nie podano MTA. Ustaw w pliku konfiguracyjnym REMOTE-MTA lub LOCAL-MTA." #~ msgid "Loop not allowed. Connection rejected." #~ msgstr "PÄ™tla nie jest dozwolona. Połączenie odrzucono." anubis-4.1.1+dfsg1/po/nl.gmo0000600000175000017500000005752011123150057013277 0ustar kbkbÞ•Œoü¸¹ÊÞï, Mg;„7Àø,,Y%w,-Ê ø&@Zz,šNÇ5Mgƒ ˜¹Ôò N/(~ §&²Ùé )B^s«Êé #.Mi †“²Î/è'T@N•)ä%8X$n“§Áß þ  & 01 b n t  Š¥ 0!=!M!a!u!z!!!²!Â!Ù!ó! ""(3"\".|"(«"*Ô")ÿ"&)#P#c#s#’#°#"Î#ñ# $( $I$[$s$*$'¸$à$÷$"%8%!O%q%1€% ²%+Ó%/ÿ%//&"_&‚&2š&Í&á& ÷&''4'sR'Æ'ä'!ù'(1(M(b(|(•(©(É(Û( â(ð()ÿ())+>)%j)#)>´)ó) **'!*%I*o*Š*ž*Tº*+)!+K+g+n+3Ž++Â+î+" ,.,!>,`,y, ~,‰,D¤,$é,\-:k-&¦-"Í-ð- .!.@9.+z.)¦.ŽÐ._/x/+/K¹/-030N0h0 …0 ’00@µ0ö01%31Y1u11‰1"»1%Þ12 22/2G2[2Wb2º2>Ï23 .3G:35‚3¸3 Ê3 ×3"å3 494N4^4 o4&}4 ¤4Å4å4û4 5505 @5N5h5x5‰5 5'º5â5&þ5%6A6[6'o6—6ª6Ã6Ü6ú67"757I7]7¡e79 9;9T9!o97‘9É9 å9O:0V:‡:¢:)½:!ç:$ ;).;*X;$ƒ;%¨;Î;é;<4!<TV<!«<Í<æ<==!&=H=]=m=‡=—=\©=(> />&:>a>(q>š>2¯>"â>"?(?H?-c?-‘?(¿?&è?@@$'@L@ l@@%¬@#Ò@ ö@7A:OAŠAVB6oB ¦BÇB#ÛBÿB-CBC[C"zC(CÆC×CÜCûCA DLD^D*eDDaªD EE1EFE^EfE†E£E»E ÖE÷E F%F'=F+eF3‘F/ÅF@õF66G,mGšG¯G ¾G!ßG*H+,H$XH}H1’HÄHÚHöH:I1LI~I!˜I+ºIæI%J'JH8J"J,¤J/ÑJ/K&1KXK8qKªKÅK)âK LL+LpKL¼LÜL0òL#M2MKM dM!…M§M ¿M àMNN N5$NZN)uN-ŸN$ÍNKòN>OTOiO*nO,™OÆOlæO SPatPÖP/ìPQ:Q5AQ4wQ3¬QàQúQR.)RXRvR ~RˆR.¥R%ÔRgúR<bS(ŸS&ÈSïS T6 TBWT*šT)ÅT‰ïTyU”U,ªU_×U07VhVˆV¥VÅV ÖVáV;úV6W%SW(yW ¢W'ÃW6ëW!"X%DX jXtX‰X-XËX àXcêXNYMlY*ºYåYböY?YZ™Z ¯ZÐZ6èZ [@,[m[[˜[2ª[)Ý[%\)-\W\l\%€\¦\º\Ì\ê\ þ\]9],W]„]+¤] Ð]ñ]^/'^W^n^‹^!¨^Ê^æ^ú^_)_ C_Éžß¹®#g’ý¢Š¼íV½D ÒŸ 0ÕxE£o€Wšð¡e˜ò–Öê"ä”õ›Ë Z[wLJ )²œ¿Y rÂ(\,jÈá3÷6ùØÐ•ϱCü1]ñp_|&5™`:âcÎìã“%«Ô§× zøIökÜ=·?dû¬Nó‚¸åGy}úÁ  8‘Oï;KÝ…ç9aR»¶³é s/Ù¤‰nîfÞ„‹Ì@Ä.ÿÑMˆ†Í æôèÓF¾—騭ڎ~BJm$>+°bµÆX4 þÀvl'!u{-2THh^iq´tʪ¥à ÛQULŒP7Ń<ºA¦ëS¯*#1 bind() failed#1 socket() failed.#2 bind() failed#2 socket() failed.%s daemon startup succeeded.%s is not a regular file or a symbolic link.%s not a procedure object%s remapped to %s@localhost.%s: a temporary name server error occured. Try again later.%s: host name is valid but does not have an IP address.%s: illegal option -- %c %s: invalid option -- %c %s: option `%c%s' doesn't allow an argument %s: option `%s' is ambiguous %s: option `%s' requires an argument %s: option `--%s' doesn't allow an argument %s: option `-W %s' doesn't allow an argument %s: option `-W %s' is ambiguous %s: option requires an argument -- %c %s: unknown DNS error %d.%s: unrecognized option `%c%s' %s: unrecognized option `--%s' %s: unrecoverable name server error occured.- Anonymous DH using prime of %d bit. - Anonymous DH using prime of %d bits. - Certificate Issuer's DN: %s - Certificate Type: %s - Certificate expires: %s- Certificate fingerprint: - Certificate info: - Certificate is valid since: %s- Certificate public key: - Certificate serial number: - Certificate version: #%d - Cipher: %s - Compression: %s - Ephemeral DH using prime of %d bit. - Ephemeral DH using prime of %d bits. - Exponent: %d bit - Exponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protocol: %s --mode=mda requires --local-mtaADD %s [%s] %sAddress must be an IP, not a domain name.Address type not supported.Anubis RC file errorAuthentication failed: %d %sAuthentication successful.Bad car type in return from %sBad cdr type in return from %sBad return type from %sBad user name or password.CLIENTCalling %sCan't find out my own hostnameCannot create stream socketCannot create stream socket.Cannot fork.Cannot initialize libgsasl: %sCannot open database %s: %sCannot open pid file '%s'Cannot retrieve data from the SASL database: %sCannot send null user name or password.Child [%lu] finished. %s. %d client left.Child [%lu] finished. %s. %d clients left.Child process suspended for %lu secondChild process suspended for %lu secondsCommand HANG is not allowed for user `%s'Command not supported.Connected to %s:%uConnection closed successfully.Connection from %s:%uConnection not allowed by a ruleset.Connection refused.Could not write to socketCould not write to socket: %sCouldn't connect to %s:%u. %s.DEBUG-LEVELDSA Database not specifiedDebug modeDo not check user configuration file permissionsDumped coreEMAILESMTP AUTH is not supportedEntering XDB loop...Execute a local SMTP server, which works on standard input and output (inetd-type program); this option excludes the `--remote-mta' optionExecuting %sExecuting %s...Exited successfullyExiting XDB loop...FILEFailed with status %dFile `%s' has already been read. Foreground modeFound record for `%s'.GNU Anubis bound to %s:%uGNU Anubis is running...GPGME: %s.GPGME: Cannot list keys: %sGPGME: Invalid recipient encountered: %sGPGME: Invalid signer found: %sGPGME: Unexpected number of signatures createdGPGME: Wrong hash algorithm reported: %iGPGME: Wrong pubkey algorithm reported: %iGPGME: Wrong signature class reported: %uGPGME: Wrong type of signature createdGPGME: failed. %s.GSASL error: %sGSASL handshake aborted: %d %sGeneral SOCKS server failure.Get substring %d failed (%d).Getting remote host information...Give a short usage messageGive this help listGot empty list of authentication methodsHost unreachable.IDENT: connect() failedIDENT: connected to %s:%uIDENT: data probably encrypted with DES...IDENT: incorrect data (DES deciphered).IDENT: incorrect data.IDENT: recvline() failed: %s.IDENT: resolved remote user to %s.IDENT: socket() failedIDENT: stream_write() failed: %s.INTERNAL ERRORINTERNAL ERROR at %s:%d: missing or invalid regexIgnore system configuration fileIllegal address length received for host %sInitializing the TLS/SSL connection with MTA...Initializing the TLS/SSL connection with MUA...Install GPGME version %s or later.Invalid port number: %sInvalid regular expression (see the above message)Invalid user ID: %sInvalid user name: %sLocal program [%lu] finished. %sMODEMODIFY %s [%s] [%s] %sMalformed or unexpected replyMandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.Matched condition %s[%s] "%s"Matched trigger "%s"Matched, but too many substrings.Miscellaneous optionsMissing recipient addressesNetwork unreachable.No certificate was found!No certificate was sent.No such section: %sNot a valid debugging level: %sNot enough memoryOPTIONOther optionsOutput optionsPAM: Not authenticated to use GNU Anubis.PAM: Session closed.PAM: Session opened (restrictions applied).PAM: failed to release authenticator.Possibly not a SOCKS proxy service.Print a list of configuration options used to build GNU AnubisPrint program versionREMOVE HEADER [%s]RSA Reading system configuration file %s...Reading user configuration file %s...Record for `%s' not found.Report bugs to %s. Request rejected or failed.Request rejected, because the client program and identd reported different User-IDs.Request rejected.Run the configuration file syntax checkerSASL gsasl_client_start: %sSERVERSMTP message submission daemon.SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH method: USER NAME/PASSWORDSOCKS Proxy AUTH: succeeded.SOCKS Proxy Connection: succeeded.SOCKS proxy: %sSTARTTLS (ONEWAY) command failed.STARTTLS command failed.STOPSection %sSection %s already definedSelect operation mode; MODE is one of "transparent", "auth" or "mda"Selected authentication mechanism %sSelected authentication mechanism %s requires TLS encryption. Not using ESMTP authenticationServer did not offer any feasible authentication mechanismServer does not accept an AUTH method.Server does not accept any method.Server reply is not valid.Short writeSignal Caught. Exiting Cleanly...Specify a remote SMTP host name or IP address; the default is 25Specify alternate system configuration fileSpecify sender address (implies MDA mode)Specify the TCP port on which GNU Anubis listens for connections; the default HOST is INADDR_ANY, and default PORT is 24 (private mail system)Starting SMTP session...Stopped on signal %dStore the PID of the running daemon in FILEStray character in config: \%03o. Possibly missing quotes around the stringTCP wrappers: connection from %s:%u rejected.TLS error reading `%s': %sTLS/SSL handshake failed!TLS/SSL handshake failed: %sTTL expired.TerminatedTerminated on signal %dThe MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA.The certificate has expired.The certificate is not trusted.The certificate is not yet activated.The certificate is trusted.Timeout! Exiting...Too many clients. Connection from %s:%u rejected.Translation map: incorrect syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUNKNOWN Unknown host %s.Unknown mode: %sUnknown regexp modifierUnknown section: %sUsage:Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input and outputUsing SOCKS Proxy...Using TLS/SSL encryption between Anubis and remote MTA only...Using the TLS/SSL encryption...WARNING: %sWARNING: An unprivileged user cannot be resolved. Verify your settings!WARNING: An unprivileged user has not been specified!Welcome user %s !Work noisilyWork silentlyWrong permissions on %s. Set 0600.[HOST:]PORT`logfile' directive is ignored in main configuration fileaccept() failedargcv_get failedbind() failedcannot drop non-root setuid privilegescannot open guile output file %scannot set effective gid to %lucannot stat file `%s'connect() faileddaemon() faileddaemon: cannot forkexecvp() failedfork() failedgetsockname() failed: %s.listen() failedmemory exhaustedmissing procedure namemissing replacement valuepcre_compile() failed at offset %d: %s.pcre_fullinfo() failed: %d.program is not allowed in this sectionregcomp() failed at %s: %s.second setuid(%lu) failedsetegid(%lu) failedseteuid(0) succeeded when it should notsetgid(%lu) failedsetgroups(1, %lu) failedsetregid(%lu,%lu) failedsetresgid(%lu,%lu,%lu) failedsetreuid(%lu,-1) failedsetsid() failedsetuid(%lu) failedsocketpair() failedunknown keyword: %swarningProject-Id-Version: anubis-4.1 Report-Msgid-Bugs-To: bug-anubis@gnu.org POT-Creation-Date: 2008-12-20 11:59+0100 PO-Revision-Date: 2007-12-12 22:07+0100 Last-Translator: Benno Schulenberg Language-Team: Dutch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: KBabel 1.11.4 Plural-Forms: nplurals=2; plural=(n != 1); eerste bind() is mislukteerste socket() is mislukttweede bind() is mislukttweede socket() is misluktStarten van %s-service is gelukt.%s is geen gewoon bestand of een symbolische koppeling.%s is geen procedure-object%s is afgebeeld op %s@localhost.%s: Er is een tijdelijke naamserverfout opgetreden. Probeer het later opnieuw.%s: hostnaam is geldig maar heeft geen IP-adres.%s: ongeldige optie -- %c %s: ongeldige optie -- %c %s: optie '%c%s' staat geen argument toe %s: optie '%s' is niet eenduidig %s: optie '%s' vereist een argument %s: optie '--%s' staat geen argument toe %s: optie '-W %s' staat geen argument toe %s: optie '-W %s' is niet eenduidig %s: optie vereist een argument -- %c %s: onbekende DNS-fout %d.%s: onbekende optie '%c%s' %s: onbekende optie '--%s' %s: Er is een onoplosbare naamserverfout opgetreden.- Anonieme DH met priemgetal van %d bit. - Anonieme DH met priemgetal van %d bits. - DN van certificaatuitgever: %s - Soort certificaat: %s - Certificaat verloopt: %s- Vingerafdruk: - Certificaatinfo: - Certificaat is geldig sinds: %s- Openbare sleutel: - Serienummer: - Certificaatversie: #%d - Codering: %s - Compressie: %s - Kortstondige DH met priemgetal van %d bit. - Kortstondige DH met priemgetal van %d bits. - Exponent: %d bit - Exponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protocol: %s optie '--mode=mda' vereist '--local-mta'TOEVOEGEN %s [%s] %sAdres moet een IP-adres zijn, niet een domeinnaam.Adressoort wordt niet ondersteund.Fout in Anubis-configuratiebestandAuthenticatie is mislukt: %d %sAuthenticatie is geslaagd.Ongeldig 'car'-type in resultaatwaarde van %sOngeldig 'cdr'-type in resultaatwaarde van %sOngeldig type van resultaatwaarde van %sFoutieve gebruikersnaam of wachtwoord.CLIËNTOproepen van %sKan mijn eigen hostnaam niet bepalenKan stroom-socket niet aanmakenKan stroom-socket niet aanmaken.Kan geen nieuw proces starten.Kan 'libgsasl' niet initialiseren: %sKan gegevensbank %s niet openen: %sKan PID-bestand '%s' niet openenKan geen gegevens opvragen uit de SASL-gegevensbank: %sKan geen lege gebruikersnaam of leeg wachtwoord verzenden.Dochter [%lu] is afgesloten, afsluitwaarde: %s. %d cliënt resteert.Dochter [%lu] is afgesloten, afsluitwaarde: %s. %d cliënten resteren.Dochterproces slaapt gedurende %lu secondeDochterproces slaapt gedurende %lu secondenOpdracht 'HANG' is niet toegestaan voor gebruiker '%s'Opdracht wordt niet ondersteund.Verbonden met %s:%uVerbinding is succesvol afgesloten.Verbinding van %s:%uVerbinding niet toegestaan vanwege een regel.Verbinding is geweigerd.Kan niet naar socket schrijvenKan niet naar socket schrijven: %sKan geen verbinding maken met %s:%u. %s.DEBUGGING-NIVEAUDSA Gegevensbank is niet opgegevendebuggingmodustoegangsrechten van gebruikerconfiguratiebestand niet controlerenCore-dump gemaaktE-MAILESMTP-authenticatie wordt niet ondersteundbinnengaan van XDB-lus...een lokale SMTP-server draaien op standaardinvoer en -uitvoer; dit sluit optie '--remote-mta' uitUitvoeren van %sUitvoeren van %s...Succesvol afgeslotenverlaten van XDB-lus...BESTANDIs mislukt met afsluitwaarde %dBestand '%s' is al gelezen. in de voorgrond draaienRecord voor '%s' gevonden.GNU Anubis is gebonden aan %s:%uGNU Anubis draait...GPGME: %s.GPGME: Kan sleutels niet opsommen: %sGPGME: Ongeldige ontvanger gevonden: %sGPGME: Ongeldige ondertekenaar gevonden: %sGPGME: Onverwacht aantal ondertekeningen aangemaaktGPGME: Onjuist hash-algoritme gerapporteerd: %iGPGME: Onjuist algoritme voor publieke sleutel gerapporteerd: %iGPGME: Onjuiste ondertekeningsklasse gerapporteerd: %uGPGME: Onjuist type ondertekening aangemaaktGPGME: Mislukt. %s.GSASL-fout: %sGSASL-handdruk is mislukt: %d %sAlgemene SOCKS-server mislukking.Opvragen van deeltekst %d is mislukt (%d).Opvragen van informatie over gindse host...een korte gebruikssamenvatting tonendeze hulptekst tonenOntvangen lijst met authenticatiemethodes is leegHost is onbereikbaar.IDENT: connect() is misluktIDENT: verbonden met %s:%uIDENT: gegevens zijn waarschijnlijk versleuteld met DES...IDENT: onjuiste gegevens (met DES-ontsleuteling).IDENT: onjuiste gegevens.IDENT: recvline() is mislukt: %s.IDENT: gindse gebruiker is herleid naar %s.IDENT: socket() is misluktIDENT: stream_write() is mislukt: %s.**Interne fout****Interne fout** bij %s:%d: ontbrekende of ongeldige reguliere expressiesysteemconfiguratiebestand negerenOngeldige adreslengte ontvangen voor host %sInitialiseren van TLS/SSL-verbinding met MTA...Initialiseren van TLS/SSL-verbinding met MUA...Installeer GPGME versie %s of nieuwer.Ongeldig poortnummer: %sOngeldige reguliere expressie (zie bovenstaande melding)Ongeldig gebruikers-ID: %sOngeldige gebruikersnaam: %sLokaal programma [%lu] is afgesloten. %sMODUSWIJZIGEN %s [%s] [%s] %sOngeldig of onverwacht antwoordEen argument dat verplicht of optioneel is voor een lange optie, is dat ook voor de overeenkomstige korte optie.Passende voorwaarde %s[%s] "%s"Passende trigger "%s"Overeenkomst gevonden, maar te veel deelteksten.Diverse optiesontvangeradres ontbreektNetwerk is onbereikbaar.Er is geen certificaat gevonden!Er is geen certificaat verzonden.Sectie bestaat niet: %sGeen geldig debugging-niveau: %sOnvoldoende geheugen beschikbaarOPTIEOverige optiesUitvoeroptiesPAM: Niet geauthenticeerd om GNU Anubis te gebruiken.PAM: Sessie is afgesloten.PAM: Sessie is geopend (met beperkingen).PAM: Losmaken van authenticeerder is mislukt.Mogelijk niet een SOCKS-proxydienst.de lijst van configuratie-opties tonen waarmee GNU Anubis gecompileerd werdprogrammaversie tonenKOP VERWIJDEREN [%s]RSA Lezen van systeemconfiguratiebestand %s...Lezen van gebruikerconfiguratiebestand %s...Record voor '%s' niet gevonden.Rapporteer gebreken in het programma aan <%s>; meld fouten in de vertaling aan . Verzoek is geweigerd of mislukt.Verzoek is geweigerd omdat het cliëntprogramma en 'identd' verschillende gebruikers-IDs opgaven.Verzoek is geweigerd.syntaxcontrole op configuratiebestand uitvoerenSASL gsasl_client_start(): %sSERVERAchtergrondservice voor berichtenverzending via SMTP.SOCKS-proxy AUTH-methode: GEEN AUTHENTICATIE VEREISTSOCKS-proxy AUTH-methode: GEBRUIKERSNAAM/WACHTWOORDSOCKS-proxy AUTH: gelukt.SOCKS-proxyverbinding: gelukt.SOCKS-proxy: %sSTARTTLS-opdracht (éénrichtings) is mislukt.STARTTLS-opdracht is mislukt.STOPPENSectie %sSectie %s is al gedefinieerdwerkingsmodus: 'transparent', 'auth', of 'mda'Gekozen authenticatiemechanisme is %sGekozen authenticatiemechanisme %s vereist TLS-versleuteling -- ESMTP-authenticatie wordt niet gebruiktServer biedt geen enkel werkbaar authenticatiemechanisme aanServer accepteert een AUTH-methode niet.Server accepteert geen enkele methode.Serverantwoord is ongeldig.Te weinig geschrevenSignaal ontvangen. Bezig met opruimen en afsluiten...hostnaam of IP-adres van gindse SMTP-host; de standaardpoort is 25een alternatief systeemconfiguratiebestandadres van afzender (impliceert MDA-modus)de TCP-poort waarop GNU Anubis luistert naar verbindingen; de standaard HOST is INADDR_ANY, de standaard POORT is 24 (privé mailsysteem)Starten van SMTP-sessie...Gestopt op signaal %dde PID van de service opslaan in dit bestandVerdwaald teken in configuratie: \%03o. Misschien ontbreken aanhalingstekens om de tekenreeks?TCP-wrappers: verbinding van %s:%u is geweigerd.TLS-fout bij lezen van '%s': %sTLS/SSL-handdruk is mislukt!TLS/SSL-handdruk is mislukt: %sTTL is verlopen.AfgeslotenAfgebroken op signaal %dDe MTA is niet opgegeven. Stel REMOTE-MTA of LOCAL-MTA in.Het certificaat is verlopen.Het certificaat wordt niet vertrouwd.Het certificaat is nog niet geactiveerd.Het certificaat wordt vertrouwd.Duurde te lang! Bezig met afsluiten...Te veel cliënten. Verbinding van %s:%u is geweigerd.Vertalingskaart: onjuiste syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dONBEKEND Onbekende host '%s'.Onbekende modus: %sOnbekende veranderaar van reguliere expressieOnbekende sectie: %sGebruik: het SMTP-protocol (OMP/tunnel) zoals beschreven in RFC 821 gebruiken op standaardinvoer en -uitvoerSOCKS-proxy wordt gebruikt...Er wordt TLS/SSL-versleuteling gebruikt alleen tussen Anubis en gindse MTA...Er wordt TLS/SSL-versleuteling gebruikt...WAARSCHUWING: %sWAARSCHUWING: Een gebruiker zonder privileges kon niet herleid worden. Controleer uw instellingen!WAARSCHUWING: Er is geen gebruiker zonder privileges opgegeven!Welkom, gebruiker %s!breedsprakige uitvoer producerengeen uitvoer producerenOnjuiste toegangsrechten voor %s -- ingesteld op 0600.[HOST:]POORT'logfile'-opdracht in systeemconfiguratiebestand wordt genegeerdaccept() is misluktargcv_get() is misluktbind() is misluktwegnemen van non-root SETUID-privileges is misluktkan Guile-uitvoerbestand '%s' niet openenkan effectieve GID niet op %lu zettenkan status van bestand '%s' niet opvragenconnect() is misluktdaemon() is misluktdaemon: kan geen nieuw proces startenexecvp() is misluktfork() is misluktgetsockname() is mislukt: %s.listen() is misluktonvoldoende geheugen beschikbaarontbrekende procedurenaamontbrekende vervangingswaardepcre_compile() is mislukt op positie %d: %s.pcre_fullinfo() is mislukt: %d.programma is niet toegestaan in deze sectieregcomp() is mislukt bij %s: %s.tweede setuid(%lu) is misluktsetegid(%lu) is misluktseteuid(0) is gelukt terwijl dat niet zou mogensetgid(%lu) is misluktsetgroups(1, %lu) is misluktsetregid(%lu,%lu) is misluktsetresgid(%lu,%lu,%lu) is misluktsetreuid(%lu,-1) is misluktsetsid() is misluktsetuid(%lu) is misluktsocketpair() is misluktonbekend sleutelwoord: %swaarschuwinganubis-4.1.1+dfsg1/po/pl.gmo0000600000175000017500000006115511123150057013300 0ustar kbkbÞ• „g숉š®¿Ó,ð7;T7Èâ,ü)%G,m-š È&é*J,jN—æ7S h‰¤Â ÞìNÿ(N w&‚©¹Ù)è.C`{š¹Ñì óþ9 Vc‚ž/¸'èT)e¦¹Ù$ï(B` ‹ §0² ãïõ Š& ± ¾ Î â ö û !!3!C!Z!t! !˜!(´!Ý!.ý!(,"*U")€"&ª"Ñ"ä"ô"#1#"O#r##(¡#Ê#Ü#ô#*$'9$a$x$"–$¹$!Ð$ò$1% 3%+T%/€%/°%"à%&2&N&b& x&™&ž&µ&sÓ&G'e'!z'œ'²'Î'ã'ý'(*(J(\( c(q()€(ª(+¿(%ë(#)>5)t)Š))'¢)%Ê)ð) **T;**)¢*Ì*è*ï*3++C+o+"Œ+¯+!¿+á+ú+ ÿ+ ,D%,$j,\,:ì,&'-"N-q- Œ-!˜-@º-+û-)'.ŽQ.à.ù.+/K:/-†/´/Ï/é/ 0 00@60w0”0%´0Ú0ö01 1"<1%_1…1Ž1Ÿ1°1È1Ü1Wã1;2>P22 ¯2G»25393 K3 X3"f3 ‰39•3Ï3ß3 ð3&þ3 %4F4f4|444±4 Á4Ï4é4ù4 5!5';5c5&5¦5Â5Ü5'ð56+6D6]6{6“6£6¶6Ê6Þ6Êæ6)±8)Û8)9)/99Y9;“9Ï9+ï9K:3g:›:º:-Ô:$;#';-K;.y;'¨;$Ð;õ;<-<2H<–{<(=;=R=m=…=!¤=Æ=ä=> >,>™=>B×> ?N%?t?†?¤?.³?!â?@*@?@)[@)…@#¯@*Ó@þ@ A*A$>A$cAˆA(£A'ÌA%ôA'B9BBå|B5bC ˜C¹C"ØCûC,D=DUD"tD*—DÂDÉDÎDåDGøD@EWE^E|Eª”E?FOF!bF„FF"¢F"ÅFèFýF(G!>G `G(kG-”G2ÂG1õG/'H6WH'ŽH'¶HÞHüH( I6I4SI)ˆI,²IßI.øI'J#?JcJ+ƒJ-¯JÝJ(öJ'K"GK,jK—KNªK.ùK4(L3]L3‘L)ÅLïL< MHM"hM*‹M¶M»M3ÒM„N‹N#ªN3ÎN OO&O%?O eO†O$O ÂOÐO ÖOáO9þO8P.OPA~P*ÀPDëP*0Q[QnQ3sQ4§QÜQ-ïQ4RdRR·R5ÌRSS%SI>S@ˆSÉS2éST8-T&fT T ™T £T3ÄT%øTjUG‰U-ÑU$ÿU%$V JV+XVD„V3ÉV)ýVt'WœW·WÓWdðW8UX!ŽX-°X0ÞXY'YGYGaY*©YÔY*ñYZ 5Z4VZ'‹Z%³Z ÙZãZõZ+[3[ G[MR[ [U¹[\.\e?\;¥\á\*ú\%%]'K] s]E]Å]á]^3^6N^)…^¯^Ë^è^_#_?_%Y__›_¯_Ä_6à_'`0?`*p`3›`Ï`?ï`/a$Na%sa)™a$Ãaèab#bCb `b•m²Í¸ j4U¯˜>,Æn°åye?¥`Ã^ð±@*ôÜ2ëoé8ê‹®bí0ÿZ~.]ãt¤Ë‰ŸV©áfrvØÑ(TücÎ =Ý)‡… Yu\1 ­Þ¡#q¨¿ Ì6s×OW;iGûN[ªÖˆÈ›Õ—$PÏpC&ýƒ“'ù¦9¾‘Ú<:Å!»œ–%Qî´Ð·xŒò"wSµ+_¶H™à«‚¼hº”¢7õd ÷}߬’l{J§ÇÊøúïgÉ|âE¹ŠakÒ½KÂ/ Mö èRzFñ-€çDÓóÛžBþIìÔ†Ž„ÙA£ 3LÀ5 ÁX ³æšäÄ#1 bind() failed#1 socket() failed.#2 bind() failed#2 socket() failed.%s daemon startup succeeded.%s is not a regular file or a symbolic link.%s not a procedure object%s remapped to %s@localhost.%s: a temporary name server error occured. Try again later.%s: host name is valid but does not have an IP address.%s: illegal option -- %c %s: invalid option -- %c %s: option `%c%s' doesn't allow an argument %s: option `%s' is ambiguous %s: option `%s' requires an argument %s: option `--%s' doesn't allow an argument %s: option `-W %s' doesn't allow an argument %s: option `-W %s' is ambiguous %s: option requires an argument -- %c %s: unknown DNS error %d.%s: unrecognized option `%c%s' %s: unrecognized option `--%s' %s: unrecoverable name server error occured.- Anonymous DH using prime of %d bit. - Anonymous DH using prime of %d bits. - Certificate Issuer's DN: %s - Certificate Type: %s - Certificate expires: %s- Certificate fingerprint: - Certificate info: - Certificate is valid since: %s- Certificate public key: - Certificate serial number: - Certificate version: #%d - Cipher: %s - Compression: %s - Ephemeral DH using prime of %d bit. - Ephemeral DH using prime of %d bits. - Exponent: %d bit - Exponent: %d bits - MAC: %s - Modulus: %d bit - Modulus: %d bits - Protocol: %s --mode=mda requires --local-mtaADD %s [%s] %sAddress must be an IP, not a domain name.Address type not supported.Anubis RC file errorAuthentication failed: %d %sAuthentication successful.Bad car type in return from %sBad cdr type in return from %sBad return type from %sBad user name or password.CLIENTCalling %sCan't find out my own hostnameCannot create stream socketCannot create stream socket.Cannot fork.Cannot initialize libgsasl: %sCannot open database %s: %sCannot open pid file '%s'Cannot retrieve data from the SASL database: %sCannot send null user name or password.Child [%lu] finished. %s. %d client left.Child [%lu] finished. %s. %d clients left.Command HANG is not allowed for user `%s'Command not supported.Connected to %s:%uConnection closed successfully.Connection from %s:%uConnection not allowed by a ruleset.Connection refused.Could not write to socketCould not write to socket: %sCouldn't connect to %s:%u. %s.DEBUG-LEVELDSA Database not specifiedDebug modeDo not check user configuration file permissionsDumped coreEMAILESMTP AUTH is not supportedEntering XDB loop...Execute a local SMTP server, which works on standard input and output (inetd-type program); this option excludes the `--remote-mta' optionExecuting %sExecuting %s...Exited successfullyExiting XDB loop...FILEFailed with status %dFile `%s' has already been read. Foreground modeFound record for `%s'.GNU Anubis bound to %s:%uGNU Anubis is running...GPGME: %s.GPGME: Cannot list keys: %sGPGME: Invalid recipient encountered: %sGPGME: Invalid signer found: %sGPGME: Unexpected number of signatures createdGPGME: Wrong hash algorithm reported: %iGPGME: Wrong pubkey algorithm reported: %iGPGME: Wrong signature class reported: %uGPGME: Wrong type of signature createdGPGME: failed. %s.GSASL error: %sGSASL handshake aborted: %d %sGeneral SOCKS server failure.Get substring %d failed (%d).Getting remote host information...Give a short usage messageGive this help listGot empty list of authentication methodsHost unreachable.IDENT: connect() failedIDENT: connected to %s:%uIDENT: data probably encrypted with DES...IDENT: incorrect data (DES deciphered).IDENT: incorrect data.IDENT: recvline() failed: %s.IDENT: resolved remote user to %s.IDENT: socket() failedIDENT: stream_write() failed: %s.INTERNAL ERRORINTERNAL ERROR at %s:%d: missing or invalid regexIgnore system configuration fileIllegal address length received for host %sInitializing the TLS/SSL connection with MTA...Initializing the TLS/SSL connection with MUA...Install GPGME version %s or later.Invalid port number: %sInvalid regular expression (see the above message)Invalid user ID: %sInvalid user name: %sLocal program [%lu] finished. %sMODEMODIFY %s [%s] [%s] %sMalformed or unexpected replyMandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.Matched condition %s[%s] "%s"Matched trigger "%s"Matched, but too many substrings.Miscellaneous optionsMissing recipient addressesNetwork unreachable.No certificate was found!No certificate was sent.No such section: %sNot a valid debugging level: %sNot enough memoryOPTIONOther optionsOutput optionsPAM: Not authenticated to use GNU Anubis.PAM: Session closed.PAM: Session opened (restrictions applied).PAM: failed to release authenticator.Possibly not a SOCKS proxy service.Print a list of configuration options used to build GNU AnubisPrint program versionREMOVE HEADER [%s]RSA Reading system configuration file %s...Reading user configuration file %s...Record for `%s' not found.Report bugs to %s. Request rejected or failed.Request rejected, because the client program and identd reported different User-IDs.Request rejected.Run the configuration file syntax checkerSASL gsasl_client_start: %sSERVERSMTP message submission daemon.SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH method: USER NAME/PASSWORDSOCKS Proxy AUTH: succeeded.SOCKS Proxy Connection: succeeded.SOCKS proxy: %sSTARTTLS (ONEWAY) command failed.STARTTLS command failed.STOPSection %sSection %s already definedSelect operation mode; MODE is one of "transparent", "auth" or "mda"Selected authentication mechanism %sSelected authentication mechanism %s requires TLS encryption. Not using ESMTP authenticationServer did not offer any feasible authentication mechanismServer does not accept an AUTH method.Server does not accept any method.Server reply is not valid.Short writeSignal Caught. Exiting Cleanly...Specify a remote SMTP host name or IP address; the default is 25Specify alternate system configuration fileSpecify sender address (implies MDA mode)Specify the TCP port on which GNU Anubis listens for connections; the default HOST is INADDR_ANY, and default PORT is 24 (private mail system)Starting SMTP session...Stopped on signal %dStore the PID of the running daemon in FILEStray character in config: \%03o. Possibly missing quotes around the stringTCP wrappers: connection from %s:%u rejected.TLS error reading `%s': %sTLS/SSL handshake failed!TLS/SSL handshake failed: %sTTL expired.TerminatedTerminated on signal %dThe MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA.The certificate has expired.The certificate is not trusted.The certificate is not yet activated.The certificate is trusted.Timeout! Exiting...Too many clients. Connection from %s:%u rejected.Translation map: incorrect syntax.UID:%d (%s), GID:%d, EUID:%d, EGID:%dUNKNOWN Unknown host %s.Unknown mode: %sUnknown regexp modifierUnknown section: %sUsage:Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input and outputUsing SOCKS Proxy...Using TLS/SSL encryption between Anubis and remote MTA only...Using the TLS/SSL encryption...WARNING: %sWARNING: An unprivileged user cannot be resolved. Verify your settings!WARNING: An unprivileged user has not been specified!Welcome user %s !Work noisilyWork silentlyWrong permissions on %s. Set 0600.[HOST:]PORT`logfile' directive is ignored in main configuration fileaccept() failedargcv_get failedbind() failedcannot drop non-root setuid privilegescannot open guile output file %scannot set effective gid to %lucannot stat file `%s'connect() faileddaemon() faileddaemon: cannot forkexecvp() failedfork() failedgetsockname() failed: %s.listen() failedmemory exhaustedmissing procedure namemissing replacement valuepcre_compile() failed at offset %d: %s.pcre_fullinfo() failed: %d.program is not allowed in this sectionregcomp() failed at %s: %s.second setuid(%lu) failedsetegid(%lu) failedseteuid(0) succeeded when it should notsetgid(%lu) failedsetgroups(1, %lu) failedsetregid(%lu,%lu) failedsetresgid(%lu,%lu,%lu) failedsetreuid(%lu,-1) failedsetsid() failedsetuid(%lu) failedsocketpair() failedunknown keyword: %swarningProject-Id-Version: anubis 4.1 Report-Msgid-Bugs-To: bug-anubis@gnu.org POT-Creation-Date: 2008-12-20 11:59+0100 PO-Revision-Date: 2008-02-21 20:45+0200 Last-Translator: Sergey Poznyakoff Language-Team: Polish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; bind() nad gniazdem #1 nie powiodÅ‚a siÄ™Utworzenie gniazda #1 nie powiodÅ‚o siÄ™.bind() nad gniazdem #2 nie powiodÅ‚a siÄ™Utworzenie gniazda #2 nie powiodÅ‚o siÄ™.Program %s pomyÅ›lnie rozpoczÄ…Å‚ pracÄ™ w trybie demona.%s nie jest zwykÅ‚ym plikiem ani dowiÄ…zaniem symbolicznym.%s nie jest obiektem-procedurÄ…%s zostaÅ‚ zaakceptowany jako %s@localhost.%s: wystÄ…piÅ‚ tymczasowy błąd serwera nazw. Spróbuj ponownie później.%s: host ma poprawnÄ… nazwÄ™, ale nie ma adresu IP.%s: niewÅ‚aÅ›ciwa opcja -- %c %s: błędna opcja -- %c %s: opcja `%c%s' nie może mieć argumentów %s: opcja `%s' jest niejednoznaczna %s: opcja `%s' musi mieć argument %s: opcja `--%s' nie może mieć argumentów %s: opcja `-W %s' nie może mieć argumentów %s: opcja `-W %s' jest niejednoznaczna %s: opcja musi mieć argument -- %c %s: nieznany błąd DNS: %d.%s: nieznana opcja `%c%s' %s: nieznana opcja `--%s' %s: wystÄ…piÅ‚ nienaprawialny błąd serwera nazw.DH anonimowy używa liczby pierwszej z %d bita. DH anonimowy używa liczby pierwszej z %d bitów. DH anonimowy używa liczby pierwszej z %d bitów. - Informacje o wydawcy certyfikatu: %s - Typ certyfikatu: %s - Certyfikat wygaÅ›nie %s - Odcisk certyfikatu: - Informacje o certyfikacie: - Certyfikat jest poprawny od %sKlucz publiczny certyfikatu: - Numer seryjny certyfikatu: - Wersja certyfikatu: #%d - Szyfr: %s - Kompresja: %s DH efemeralny używa liczby pierwszej z %d bita. DH efemeralny używa liczby pierwszej z %d bitów. DH efemeralny używa liczby pierwszej z %d bitów. WykÅ‚adnik: %d bit WykÅ‚adnik: %d bity WykÅ‚adnik: %d bitów - MAC: %s Współczynnik: %d bit Współczynnik: %d bity Współczynnik: %d bitów - Protokół: %s --mode=mda wymaga --local-mdaADD %s [%s] %sAdres musi być adresem IP, nie nazwÄ… domeny.Typ adresu nie jest obsÅ‚ugiwany.Błąd pliku RCUwierzytelnienie siÄ™ nie powiodÅ‚o: %d %sUwierzytelniono pomyÅ›lnie.Błędny typ komórki car w powrocie z %sBłędny typ komórki cdr w powrocie z %sBłędny typ danych w powrocie z %sNiepoprawna nazwa użytkownika lub hasÅ‚o.KLIENTWywoÅ‚anie %sNie można rozpoznać wÅ‚asnej nazwy hostaNie można utworzyć gniazda potoku.Nie można utworzyć gniazda potoku.fork() nie powiodÅ‚a siÄ™.Nie można zainicjalizować libgsasl: %sNie można otworzyć bazy danych %s: %sNie można otworzyć bazy danych `%s'Nie można pobrać dane z bazy SASL: %sNie można wysÅ‚ać pustej nazwy użytkownika lub hasÅ‚a.Proces potomny [%lu] zakoÅ„czyÅ‚ pracÄ™. %s. PozostaÅ‚ %d proces potomny.Proces potomny [%lu] zakoÅ„czyÅ‚ pracÄ™. %s. PozostaÅ‚y %d procesy potomne.Proces potomny [%lu] zakoÅ„czyÅ‚ pracÄ™. %s. PozostaÅ‚o %d procesów potomnych.Polecenie HANG nie jest dozwolone użytkownikowi `%s'Polecenie nie jest obsÅ‚ugiwane.Ustalono połączenie z %s:%u Połączenie zamkniÄ™to poprawnie.Połączenie z %s:%uPodłączenie nie dozwolone zestawem reguÅ‚.Połączenie odrzucono.Nie można zapisać do gniazdaNie można zapisać do gniazda: %sNie można podłączyć siÄ™ do %s:%u. %s.POZIOMDSA Nie podano bazy danychTryb odpluskwianiaWyłącza sprawdzanie uprawnieÅ„ do pliku konfiguracyjnego użytkownikaProces zrzuciÅ‚ rdzeÅ„EADRESESMTP AUTH nie jest wspieranePoczÄ…tek pÄ™tli XDB...Włącza użycie lokalnego serweru SMTP który pracuje ze standardowymi wejÅ›ciem i wyjÅ›ciem (program typu inetd); użycie tej opcji wyłącza użycie opcji --remote-mtaUruchomienie %sUruchomienie %s...Połączenie zamkniÄ™to poprawnieWyjÅ›cie z pÄ™tli XDB...PLIKNieudane zakoÅ„czenie ze stanem %dPlik `%s' już zostaÅ‚ odczytany. Tryb pierwszoplanowyZnaleziono wpis dla %s.GNU Anubis zostaÅ‚ przywiÄ…zany do %s:%uGNU Anubis zostaÅ‚ uruchomiony...GPGME: %s.GPGME: Nie można wydrukować kluczy: %sGPGME: Odnaleziono niepoprawnego adresata: %sGPGME: Odnaleziono niepoprawnego sygnatariusza: %sGPGME: Utworzono nieoczekiwanÄ… ilość podpisówGPGME: Podano błędny algorytm mieszajÄ…cy: %iGPGME: Podano błędny algorytm klucza publicznego: %iGPGME: Podano błędny klas podpisy: %uGPGME: Utworzono podpis błędnego typuGPGME nie powiodÅ‚a siÄ™. %s.Błąd GSASL: %sPrzerwany proces negocjacji GSASL: %d %sOgólny błąd serwera SOCKSOtrzymanie podÅ‚aÅ„cucha %d nie powiodÅ‚o siÄ™ (%d).Otrzymanie informacji o zdalnym hoscie...WyÅ›wietlenie krótkiej informacji o opcjachWyÅ›wietlenie tego opisuOtrzymano pustÄ… listÄ™ metod uwierzytelnieniaHost jest niedostÄ™pny.IDENT: connect() nie powiodÅ‚a siÄ™IDENT: połączono siÄ™ z %s:%uIDENT: dane podobno sÄ… szyfrowane (DES)...IDENT: niepoprawne dane (odszyfrowane z DES).IDENT: niepoprawne dane.IDENT: recvline() nie powiodÅ‚a siÄ™: %sIDENT: użytkownika okreÅ›lono jako %s.IDENT: socket() nie powiodÅ‚a siÄ™IDENT: stream_write() nie powiodÅ‚a siÄ™: %sBÅÄ„D WEWNĘTRZNYBÅÄ„D WEWNĘTRZNY w %s:%d: brakujÄ…ce bÄ…dź niepoprawne wyrażenie regularneIgnorowanie systemowego pliku konfiguracyjnegoOtrzymano niepoprawnÄ… dÅ‚ugość adresu od hosta %sInicjalizacja podłączenia do MTA przez TLS/SSL...Inicjalizacja podłączenia do MUA przez TLS/SSL...Zainstaluj GPGME w wersji %s lub nowszej.Niepoprawny numer portu: %sNiepoprawne wyrażenie regularne (patrz powyższy komunikat)Niepoprawny ID użytkownika: %sNiepoprawna nazwa użytkownika: %sProgram lokalny [%lu] zakoÅ„czyÅ‚ siÄ™. %sTRYBMODIFY %s [%s] [%s] %sBłędnie sformatowana lub nieoczekiwana odpowiedźArgumenty obowiÄ…zkowe lub opcjonalne dla dÅ‚ugich opcji sÄ… również obowiÄ…zkowe lub opcjonalne dla odpowiednich krótkich opcji.Warunek %s[%s] "%s" dopasowaÅ‚ReguÅ‚a wyzwalania "%s" dopasowaÅ‚aÅaÅ„cuch dopasowany, ale za dużo podÅ‚aÅ„cuchów.Różne opcjeBrak adresu odbiórcySieć jest niedostÄ™pna.Nie odnaleziono żadnego certyfikatu!Certyfikat nie zostaÅ‚ wysÅ‚any.Brak takiej sekcji: %sNiepoprawny poziom odpluskwiania: %sBrak pamiÄ™ciOPCJAInne opcjeOpcje kontrolujÄ…ce wyjÅ›ciePAM: Użytkownik nie ma uprawnieÅ„ do użycia GNU Anubis.PAM: Sesja zamkniÄ™ta.PAM: SesjÄ™ otwarto (naÅ‚ożono ograniczenia).PAM: zwolnienie wartoÅ›ci uwierzytelniajÄ…cej nie powiodÅ‚o siÄ™.Nie wyglÄ…da to na usÅ‚ugÄ™ serwera SOCKS.Wypisanie wartoÅ›ci domyÅ›lnych, użytych podczas budowy GNU AnubisaWyÅ›wietlenie informacji o wersji programuREMOVE HEADER [%s]RSA Odczytanie systemowego pliku konfiguracyjnego %s...Odczytanie pliku konfiguracyjnego użytkownika %s...Brak wpisu dla %s.Raporty o błędach należy wysyÅ‚ać do %s. Żądanie nie powiodÅ‚o siÄ™ lub zostaÅ‚o odrzucone.Żądanie odrzucono, ponieważ program klienta a identd podaÅ‚y różne identyfikatory użytkownika.Żądanie odrzucono.Uruchomienie kontroli skÅ‚adni pliku konfiguracyjnegoSASL gsasl_client_start: %sSERWERDemon dostarczania SMTP.Metoda uwierzytelnienia serwera SOCKS: UWIERZYTELNIENIE NIE JEST WYMAGANEMetoda uwierzytelnienia serwera SOCKS: NAZWA UÅ»YTKOWNIKA/HASÅOserwer SOCKS, AUTH: powodzenie.Połączenie siÄ™ do serwera SOCKS powiodÅ‚o siÄ™.serwer SOCKS: %sPolecenie STARTTLS (jednokierunkowe) nie powiodÅ‚o siÄ™.Polecenie STARTTLS nie powiodÅ‚o siÄ™.ZATRZYMANIESekcja %sSekcja %s już jest zdefiniowanaUstawia tryb dziaÅ‚ania: transparent, auth, lub mdaWybrany mechanizm uwierzytelnienia %sWybrany mechanizm uwierzytelniania %s wymaga szyfrowania TLS. Uwierzytelnianie ESMTP nie bÄ™dzie używane.Serwer nie zaoferowaÅ‚ żadnego używalnego mechanizmu uwierzytelnianiaSerwer nie przyjmuje metody uwierzytelnienia.Serwer nie przyjmuje żadnej metody.Odpowiedź serwera nie jest poprawna.Błąd zapisuOtrzymano sygnaÅ‚. Poprawne zakoÅ„czenie...Podaje nazwÄ™ lub IP zdalnego hostu SMTP; domniemany numer portu 25.Podaje nazwÄ™ alternatywnego pliku konfiguracyjnegoUstawia adres nadawcy (włącza tryb MDA)Ustala port TCP na którym GNU Anubis nasÅ‚uchuje. Domniemany HOST INADDR_ANY, port -- 24 (prywatny system pocztowy)Uruchamianie sesji SMTP...Zatrzymany przez sygnaÅ‚ %dZapis PID-u procesu do plikuZabłąkany znak w pliku konfiguracyjnym: \%03o. Możliwie brakuje cudzysÅ‚owów wokoÅ‚o Å‚aÅ„cucha.osÅ‚ona TCP: odrzucono próbÄ™ połączenia siÄ™ z %s:%uBłąd TLS przy odczycie `%s': %sProces negocjacji TLS/SSL nie powiódÅ‚ siÄ™!Proces negocjacji TLS/SSL nie powiódÅ‚ siÄ™: %sTTL wyczerpany.Proces zakoÅ„czony z niewiadomym stanemZakoÅ„czony na sygnaÅ‚ %dNie podano MTA. Ustaw w pliku konfiguracyjnym REMOTE-MTA lub LOCAL-MTA.Certyfikat przekroczyÅ‚ termin ważnoÅ›ci.Certyfikat nie jest zaufany.Certyfikat nie jest jeszcze zaktywizowany.Certyfikat jest zaufany.Czas wyczerpany! ZakoÅ„czenie...Zbyt dużo klientów. Odrzucono połączenie z %s:%uMapa translacji: niepoprawna skÅ‚adnia.UID:%d (%s), GID:%d, EUID:%d, EGID:%dNIEZNANY Nieznany host %s.Nieznany tryb %s.Nieznany modyfikator wyrażenia regularnegoNieznana sekcja: %sSkÅ‚adnia:Użyj protokoÅ‚u SMTP (OMP/Tunnel, RFC 821) na standardowym wejÅ›ciu/wyjÅ›ciuUżycie serwera SOCKS...Użycie jednokierunkowego szyfrowania TLS/SSL tylko miÄ™dzy Anubisem i zdalnym MTA...Użycie szyfrowania TLS/SSL...OSTRZEÅ»ENIE: %sOSTRZEÅ»ENIE: Nie można ustalić nazwy użytkownika nieuprzywilejowanego. Sprawdź swoje ustawienia!OSTRZEÅ»ENIE: Brak nazwy użytkownika nieuprzywilejowanego!Witaj, użytkowniku %s !WyÅ›wietla dużo informacji diagnostycznejWyłączenie komunikatów o błędachBłędne uprawnienia na %s. Ustaw 0600.[HOST:]PORTDyrektywa `logfile' jest ignorowana w głównym pliku konfiguracyjnymaccept() nie powiodÅ‚a siÄ™argcv_get() nie powiodÅ‚a siÄ™bind() nie powiodÅ‚a siÄ™nie można porzucić uprawnieÅ„ setuid użytkownikanie można otworzyć pliku wyjÅ›ciowego `%s' dla Guilenie można ustalić gid-u efektywnego %lustat(%s) nie powiodÅ‚a siÄ™connect() nie powiodÅ‚a siÄ™daemon() nie powiodÅ‚a siÄ™demon: fork nie powiódÅ‚ siÄ™execvp() nie powiodÅ‚a siÄ™fork() nie powiodÅ‚a siÄ™getsockname() nie powiodÅ‚a siÄ™: %s.listen() nie powiodÅ‚a siÄ™pamięć wyczerpanabrak nazwy procedurybrak wartoÅ›ci zastÄ…pieniapcre_compile() nie powiodÅ‚a siÄ™ przy pozycji %d: %s.pcre_fullinfo() nie powiodÅ‚a siÄ™: %d.użycie programu w tej sekcji nie jest dozwoloneregcomp() nie powiodÅ‚a siÄ™ przy '%s': %spowtórne wywoÅ‚anie setuid(%lu) nie powiodÅ‚o siÄ™setegid(%lu) nie powiodÅ‚a siÄ™wywoÅ‚anie seteuid(0) powiodÅ‚o siÄ™ chociaż nie powinno byÅ‚osetgid(%lu) nie powiodÅ‚a siÄ™setgroups(1, %lu) nie powiodÅ‚a siÄ™setregid(%lu, %lu) nie powiodÅ‚a siÄ™setresgid(%lu,%lu,%lu) nie powiodÅ‚a siÄ™setreuid(%lu, -1) nie powiodÅ‚a siÄ™setsid() nie powiodÅ‚a siÄ™setuid(%lu) nie powiodÅ‚a siÄ™socketpair() nie powiodÅ‚a siÄ™nieznane sÅ‚owo kluczowe: %sostrzeżenieanubis-4.1.1+dfsg1/po/fr.po0000600000175000017500000011615111123150056013124 0ustar kbkb# Messages français pour GNU concernant anubis. # Copyright © 2004 Free Software Foundation, Inc. # Michel Robitaille , traducteur depuis/since 1996. # #: env.opt:43 msgid "" msgstr "" "Project-Id-Version: GNU anubis 4.0\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: 2005-01-07 08:00-0500\n" "Last-Translator: Michel Robitaille \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "Début de la boucle XDB..." #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "Fin de la boucle XDB..." #: src/authmode.c:522 msgid "Database not specified" msgstr "Base de données non spécifiée" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "Ne peut ouvrir la base de données %s: %s" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "Enregristrement repérée pour `%s'." #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "Ne peut recupérer les données à partir de la base de données SASL: %s" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "Enregistrement pour `%s' n'a pas été repéré." #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "Succès de fermeture de connexion." #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "PAM: session fermée." #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "PAM: échec lors de la relâche de l'authentificateur." #: src/daemon.c:41 msgid "daemon() failed" msgstr "échec de daemon()" #: src/daemon.c:48 msgid "Cannot fork." msgstr "Ne peut faire un fork()" #: src/daemon.c:56 msgid "setsid() failed" msgstr "échec de setsid()" #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "Succès de démarrage du daemon %s." #: src/daemon.c:80 #, c-format msgid "Exited successfully" msgstr "Fin d'exécution avec succès" #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "Échec avec le statut d'état %d" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "Fin d'exécution sur réception du signal %d" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "Fin d'exécution sur réception du signal %d" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "Vidange du core" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "Terminé" #: src/daemon.c:108 #, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "Fin du processus enfant [%lu]. %s. %d client restant." msgstr[1] "Fin du processus enfant [%lu]. %s. %d clients restants." #: src/daemon.c:120 #, fuzzy, c-format msgid "Local program [%lu] finished. %s" msgstr "Programme local [%lu] a terminé." #: src/daemon.c:161 #, fuzzy msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "AVERTISSEMENT: un utilisateur sans privilège a été spécifié!" #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "AVERTISSEMENT: un utilisateur sans privilège a été spécifié!" #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "GNU Anubis fonctionne..." #: src/daemon.c:237 src/exec.c:80 msgid "accept() failed" msgstr "accept() a échoué" #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "TCP wrappers: connexion à partir de %s:%u rejetée." #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "Trop de clients. Connexion à partir de %s:%u rejetée." #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "Connexion à partir de %s:%u" #: src/daemon.c:287 msgid "daemon: cannot fork" msgstr "daemon: ne peut faire un fork" #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "La MTA n'a pas été spécifiée. Initialiser la MTA locale ou distante" #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "" #: env.opt:45 #, fuzzy msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" " -b, --bind [HÔTE:]PORT spécifier le numéro de PORT du daemon et le " "nom de l'HÔTE.\n" " La valeur par défaut de l'hôte est INADDR_ANY " "et le\n" " numéro de PORT par défaut est 25." #: env.opt:54 #, fuzzy msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "" " -r, --remote-mta HÔTE[:PORT] spécifier le nom de l'HÔTE distant SMTP ou " "l'adresse IP.\n" " Le numéro de port par défaut est 25." #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "" #: env.opt:62 #, fuzzy msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" " -l, --local-mta FICHIER lancer un serveur local SMTP, lequel travaille " "à l'aide\n" " de l'entrée et de la sortie standard " "(programme de type inetd).\n" " Cette option exclut l'option --remote-mta." #: env.opt:74 msgid "MODE" msgstr "" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "" #: env.opt:81 msgid "Foreground mode" msgstr "" #: env.opt:87 msgid "EMAIL" msgstr "" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "" #: env.opt:94 #, fuzzy msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" " -i, --stdio utiliser le protocol SMTP (tunnel/OMP) tel que " "décrit\n" " dans le RFC 821 sur l'entrée et la sortie " "standard." #: env.opt:98 #, fuzzy msgid "Output options" msgstr "Options de sortie:\n" #: env.opt:101 msgid "Work silently" msgstr "" #: env.opt:106 msgid "Work noisily" msgstr "" #: env.opt:111 msgid "Debug mode" msgstr "" #: env.opt:115 #, fuzzy msgid "Miscellaneous options" msgstr "" "\n" "Options diverses:\n" #: env.opt:119 #, fuzzy msgid "Specify alternate system configuration file" msgstr "" " --altrc FICHIER spécifier un FICHIER alternatif de " "configuration système" #: env.opt:126 #, fuzzy msgid "Ignore system configuration file" msgstr "Lecture du fichier système de configuration %s..." #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "" #: env.opt:132 #, fuzzy msgid "Run the configuration file syntax checker" msgstr "" " -c, --check-config activer le vérificateur de la configuration de " "la syntaxe du fichier." #: env.opt:139 #, fuzzy msgid "Print a list of configuration options used to build GNU Anubis" msgstr "" " --show-config-options afficher la liste des options de configuraiton " "des\n" " options pour construire GNU Anubis." #: env.opt:145 #, fuzzy msgid "Do not check user configuration file permissions" msgstr "" " --relax-perm-check ne pas vérifier les permissions du fichier de " "configuration de l'usager" #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "" #: env.opt:155 #, fuzzy msgid "Other options" msgstr "Options de sortie:\n" #: env.opt:155 msgid "Give this help list" msgstr "" #: env.opt:155 msgid "Give a short usage message" msgstr "" #: env.opt:155 msgid "Print program version" msgstr "" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "" #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "" #: env.opt:165 msgid "OPTION" msgstr "" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" #: env.opt:293 #, fuzzy, c-format msgid "Report bugs to %s.\n" msgstr "" "\n" "Rapport toutes anomalies à <%s>.\n" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 #, fuzzy msgid "argcv_get failed" msgstr "accept() a échoué" #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "" #: env.opt:181 #, fuzzy msgid "Missing recipient addresses" msgstr "valeur de remplacement manquante" #: env.opt:256 #, c-format msgid "setgroups(1, %lu) failed" msgstr "setgroups(1, %lu) a échoué" #: env.opt:266 #, c-format msgid "setegid(%lu) failed" msgstr "setegid(%lu) a échoué" #: env.opt:269 #, c-format msgid "setregid(%lu,%lu) failed" msgstr "setregid(%lu,%lu) a échoué" #: env.opt:273 #, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "setresgid(%lu,%lu,%lu) a échoué" #: env.opt:282 #, c-format msgid "setgid(%lu) failed" msgstr "setgid(%lu) a échoué" #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "ne peut initialiser le gid effectif à %lu" #: env.opt:307 #, c-format msgid "setreuid(%lu,-1) failed" msgstr "setreuid(%lu,-1) a échoué" #: env.opt:313 #, c-format msgid "second setuid(%lu) failed" msgstr "second setuid(%lu) a échoué" #: env.opt:321 #, c-format msgid "setuid(%lu) failed" msgstr "setuid(%lu) a échoué" #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "seteuid(0) a réussi alors qu'il n'aurait pas dû réussir" #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "ne peut laisser tomber les privilèges setuid non-root" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "PAM: session ouverte (des restrictions s'appliquent)." #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "PAM: non authentifié pour l'utilisation de GNU Anubis." #: env.opt:377 src/main.c:152 #, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "ID invalide d'usager: %s" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "Nom d'usager invalide: %s" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "Permissions erronées sur %s. On utilise 0600." #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "%s n'est pas un fichier régulier ni un lien symbolique." #: env.opt:492 #, c-format msgid "Unknown mode: %s" msgstr "Mode inconnu: %s" #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "ne peut ouvrir le fichier pid '%s'" #: src/errs.c:84 msgid "warning" msgstr "AVERTISSEMENT" #: src/errs.c:92 #, c-format msgid "Could not write to socket: %s" msgstr "Ne peut écrire vers le socket: %s" #: src/errs.c:94 msgid "Could not write to socket" msgstr "Ne peut écrire vers le socket" #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "Hôte inconnu %s." #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "%s: nom de l'hôte est valide mais n'a pas d'adresse IP." #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "%s: erreur non récupérable du serveur de nom est survenue." #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "" "%s: une erreur temporaire du serveur de nom est survenue. Essayer plus tard." #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "%s: erreur DNS inconnue %d." #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "Réponse mal composée ou inattendue" #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "SASL gsasl_client_start: %s" #: src/esmtp.c:167 src/esmtp.c:186 #, c-format msgid "GSASL handshake aborted: %d %s" msgstr "Abandon du handshake GSASL: %d %s" #: src/esmtp.c:198 #, c-format msgid "GSASL error: %s" msgstr "Erreur GSASL: %s" #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "Échec d'authentification: %d %s" #: src/esmtp.c:215 msgid "Authentication successful." msgstr "Succès d'authentification." #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "A obtenu une liste vide de méthodes d'authentification" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "" "Le serveur n'a pas offert de mécanisme d'authentification pouvant être " "complété" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "ERREUR INTERNE" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" "Mécanisme d'authentification sélectionné %s requiert l'encryptage TLS. " "Authentification ESMTP n'est pas utilisée." #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "Mécanisme d'authentification sélectionné est %s" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "Ne peut initialiser libgsasl: %s" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "AUTH ESMTP n'est pas supportée" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "Échec du socket() #1." #: src/exec.c:45 msgid "#2 socket() failed." msgstr "Échec du socket() #2." #: src/exec.c:55 msgid "#1 bind() failed" msgstr "#1 bind() a échoué" #: src/exec.c:60 msgid "#2 bind() failed" msgstr "#2 bind() a échoué" #: src/exec.c:65 src/net.c:233 msgid "listen() failed" msgstr "listen() a échoué" #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "getsockname() a échoué: %s." #: src/exec.c:75 msgid "connect() failed" msgstr "connect() a échoué" #: src/exec.c:87 msgid "socketpair() failed" msgstr "socketpair() a échoué" #: src/exec.c:108 #, fuzzy, c-format msgid "Executing %s..." msgstr "Exécution de %s %s..." #: src/exec.c:118 msgid "fork() failed" msgstr "fork() a échoué" #: src/exec.c:132 msgid "execvp() failed" msgstr "execvp() a échoué" #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "GPGME: %s." #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "Installer la version %s ou plus récente de GPGME" #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "GPGME: échec %s." #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "GPGME: ne peut liste les clés: %s" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "GPGME: récipiendaire invalide rencontré: %s" #: src/gpg.c:320 #, c-format msgid "GPGME: Invalid signer found: %s" msgstr "GPGME: signataire invalide repéré: %s" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "GPGME: nombre inattendu de signatures créées" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "GPGME: type erroné de signature créé" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "GPGME: algotithme erroné de clé publique rapporté: %i" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "GPGME: algorithme erroné de hachage rapporté: %i" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "GPGME: classe erronée de signature rapporté: %u" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "ne peut ouvrier le fichier de sortie guile %s" #: src/guile.c:259 msgid "missing procedure name" msgstr "nom de la procédure est manquant" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "%s n'est pas un objet procédural" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "Type de car erronée dans ce qui a été retourné à partir de %s" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "Type de cdr erroné dans ce qui a été retourné à partir de %s" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "Type retourné erronée à partir de %s" #: src/ident.c:101 msgid "IDENT: socket() failed" msgstr "IDENT: socket() a échoué" #: src/ident.c:113 msgid "IDENT: connect() failed" msgstr "IDENT: connect() a échoué" #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "IDENT: connexion établie avec %s:%u" #: src/ident.c:128 #, c-format msgid "IDENT: stream_write() failed: %s." msgstr "IDENT: stream_write() a échoué: %s." #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "IDENT: échec de recvline() : %s." #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "IDENT: données incorrectes." #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "IDENT: données probablement encryptées avec DES..." #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "IDENT: données incorrectes (DES 'deciphered')." #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "IDENT: usager distant identifié comme étant %s." #: src/main.c:54 msgid "Not enough memory" msgstr "" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "%s re-mappé sur %s@localhost" #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "Map de traduction: syntaxe incorrecte." #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "Longeur d'adresse illégale reçu pour l'hôte %s" #: src/misc.c:120 #, fuzzy, c-format msgid "Invalid port number: %s" msgstr "Nom d'usager invalide: %s" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "Ne peut repérer mon propre nom d'hôte" #: src/net.c:46 msgid "SERVER" msgstr "SERVEUR" #: src/net.c:49 msgid "CLIENT" msgstr "CLIENT" #: src/net.c:127 msgid "Getting remote host information..." msgstr "Obtention des information de l'hôte distant...." #: src/net.c:164 msgid "Cannot create stream socket." msgstr "Ne peut créer un socket de flot (stream socket)." #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "N'a pu établir une connexion avec %s:%u. %s." #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "Connecté à %s:%u" #: src/net.c:196 msgid "Cannot create stream socket" msgstr "Ne peut créer un socket de flot (stream socket)." #: src/net.c:229 msgid "bind() failed" msgstr "bind() a échoué" #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "GNU Anubis lié à %s:%u" #: src/net.c:257 msgid "Short write" msgstr "Écriture courte" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "Utilisation de proxy SOCKS..." #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "Proxy SOCKS: %s" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "Adresse doit être IP et non pas un nom de domaine." #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "Connexion proxu SOCKS: succès." #: src/socks.c:179 msgid "Request rejected or failed." msgstr "Échec ou rejet de la requête." #: src/socks.c:182 msgid "Request rejected." msgstr "Requête rejetée." #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" "Requête rejetée par le programme clien et identd rapportent de ID d'usager " "différents" #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "Réponse du serveur n'est pas valide." #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "Possiblement pas un servuve proxy SOCKS" #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "Méthode AUTH Proxy SOCKS: AUCUNE AUTHENTIFICATION REQUISE" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "Méthode AUTH Proxy SOCKS: NOM D'USAGER/MOT DE PASSE" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "Ne peut transmettre un nom d'usager ou un mot de passe null." #: src/socks.c:291 msgid "Bad user name or password." msgstr "Nom d'usager ou mot de passe erroné." #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "AUTH Proxy SOCKS: succès" #: src/socks.c:298 msgid "Server does not accept any method." msgstr "Serveur n'accepte aucune méthode." #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "Serveur n'accepte pas une méthode AUTH." #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "Échec général du serveur SOCKS." #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "Connexion non permise par le jeu des règles." #: src/socks.c:404 msgid "Network unreachable." msgstr "Réseau non atteignable." #: src/socks.c:407 msgid "Host unreachable." msgstr "Hôte non atteignable." #: src/socks.c:410 msgid "Connection refused." msgstr "Connexion refusée." #: src/socks.c:413 msgid "TTL expired." msgstr "TTL expiré." #: src/socks.c:416 msgid "Command not supported." msgstr "Commande non supportée." #: src/socks.c:419 msgid "Address type not supported." msgstr "Type d'adresse non supportée." #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "Signal intercepté. Fin d'exécution grâcieuse..." #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "Temps expiré! Fin d'exécution..." #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "ne peut évaluer le fichier par stat() « %s »" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "Le fichier « %s » a déjà été lu.\n" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "Bienvenue usager %s !" #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "Lecture du fichier système de configuration %s..." #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "Lecture du fichier usager de configuration %s..." #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "" "la directire `logfile' est ignoré dans le fichier principal de configuration" #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "" msgstr[1] "" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "Section inexistente: %s" #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" "caractère errant repéré dans la config: \\%03o. Possiblement un caractère de " "mise en commentaire est manquant autour de la chaîne" #: src/rcfile.l:385 msgid "Anubis RC file error" msgstr "Anubis erreur de fichier RC" #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "Section %s est déjà définie" #: src/rcfile.y:229 #, c-format msgid "unknown keyword: %s" msgstr "mot clé inconnu: %s" #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "" #: src/rcfile.y:567 msgid "missing replacement value" msgstr "valeur de remplacement manquante" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "N'est pas un niveau valide de mise au point (debug): %s" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "Modificateur d'expression régulière inconnu" #: src/rcfile.y:1314 msgid "STOP" msgstr "STOP" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "Appel de %s" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "ADD %s [%s] %s" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "MODIFY %s [%s] [%s] %s" #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "REMOVE HEADER [%s]" #: src/rcfile.y:1371 #, c-format msgid "Executing %s" msgstr "Exécution de %s" #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "Concordance sur le déclencheur \"%s\"" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "Condition concordante %s[%s] \"%s\"" #: src/rcfile.y:1604 #, c-format msgid "Section %s" msgstr "Section %s" #: src/rcfile.y:1628 #, c-format msgid "Unknown section: %s" msgstr "Section inconnue: %s" #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "le programme n'est pas autorisé dans cette section" #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "ERREUR INTERNE à %s:%d: expression régulière manquante ou invalide" #: src/regex.c:328 #, c-format msgid "regcomp() failed at %s: %s." msgstr "regcomp() a échoué à %s: %s" #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "Échec de pcre_compile() à l'adresse relative %d: %s." #: src/regex.c:429 #, c-format msgid "pcre_fullinfo() failed: %d." msgstr "pcre_fullinfo() a échoué: %d." #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "Concorde mais a trop de sous-chaînes." #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "Échec d'obtention de la sous-chaîne %d (%d)." #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "Initialisaton de la connexion TLS/SSL avec MTA..." #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "Erreur TLS de lecture « %s »: %s" #: src/tls.c:198 #, c-format msgid "TLS/SSL handshake failed: %s" msgstr "Échec d'échange handshake TLS/SSL: %s" #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "Initialisaton de la connexion TLS/SSL avec MUA..." #: src/tls.c:280 msgid "TLS/SSL handshake failed!" msgstr "Échec d'échange handshake TLS/SSL!" #: src/tls.c:301 msgid "No certificate was sent." msgstr "Aucun certificat n'a été expédié." #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "Le certificat n'est pas fiable." #: src/tls.c:311 msgid "The certificate has expired." msgstr "Le certificat a expiré." #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "Le certificat n'est pas encore activé." #: src/tls.c:326 msgid "No certificate was found!" msgstr "Aucun certificat n'a été repéré!" #: src/tls.c:331 msgid "The certificate is trusted." msgstr "Le certificat est fiable." #: src/tls.c:361 #, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "- DH anonyme utilisant un nombre premier de %d bit.\n" msgstr[1] "- DH anonyme utilisant un nombre premier de %d bits.\n" #: src/tls.c:370 #, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "- DH éphémère utilisant un nombre premier de %d bit.\n" msgstr[1] "- DH éphémère utilisant un nombre premier de %d bits.\n" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "- Protocol: %s\n" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "- Type de certificat: %s\n" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "- Compression: %s\n" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "- Cipher: %s\n" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "- MAC: %s\n" #: src/tls.c:423 #, c-format msgid "- Certificate info:\n" msgstr " - Info du certificat:\n" #: src/tls.c:427 #, c-format msgid "- Certificate is valid since: %s" msgstr " - Certificat valide depuis: %s" #: src/tls.c:429 #, c-format msgid "- Certificate expires: %s" msgstr " - Certificat expire: %s" #: src/tls.c:434 #, c-format msgid "- Certificate fingerprint: " msgstr " - Empreinte du certificat: " #: src/tls.c:444 #, c-format msgid "- Certificate serial number: " msgstr " - Numéro de série du certificat: " #: src/tls.c:453 #, c-format msgid "- Certificate public key: " msgstr "- Clé publique du certificat: " #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "RSA\n" #: src/tls.c:457 #, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] "- Modulo: %d bit\n" msgstr[1] "- Modulo: %d bits\n" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "DSA\n" #: src/tls.c:463 #, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] "- Exposant: %d bit\n" msgstr[1] "- Exposant: %d bits\n" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "INCONNU\n" #: src/tls.c:469 #, c-format msgid "- Certificate version: #%d\n" msgstr " - Version du certificat: #%d\n" #: src/tls.c:476 #, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr " - Certificat DN du diffuseur: %s\n" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 #, fuzzy msgid "Transferring messages..." msgstr "Transfert des messages..." #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "Démarrage de la session SMTP..." #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "Utilisation de l'encryption TLS/SSL..." #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "AVERTISSEMENT: %s" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "Échec de la commande STARTTLS." #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "" "Utilisation de l'encryption TLS/SSL entre Anubis et le MTA distance " "seulement..." #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "Échec de la commande STARTTLS (ONEWAY)." #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: l'option « %s » est ambiguë\n" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: l'option « --%s » ne permet pas d'argument\n" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: l'option « %c%s » ne permet pas d'argument\n" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: l'option « %s » requiert un argument\n" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: option « --%s » non reconnue\n" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: option « %c%s » non reconnue\n" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: option -- %c illégale\n" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: option -- %c invalide\n" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: l'option -- %c requiert un argument\n" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: l'option « -W %s » est ambiguë\n" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: l'option « -W %s » ne permet pas d'argument\n" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "mémoire épuiseé" #~ msgid "MTA has not been specified. Set either REMOTE-MTA or LOCAL-MTA." #~ msgstr "" #~ "La MTA n'a pas été spécifiée. Initialiser soit REMOTE-MTA ou LOCAL-MTA." #~ msgid "Loop not allowed. Connection rejected." #~ msgstr "Boucle non permise. Connexion rejetée." #~ msgid "Try '%s --help' for more information." #~ msgstr "Pour en savoir davantage, faites: « %s --help »." #~ msgid "" #~ "\n" #~ "GNU Anubis is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2 of the License, or\n" #~ "(at your option) any later version." #~ msgstr "" #~ "\n" #~ "GNU Anubis est un logiciel libre; vous pouvez le redistribuer et/ou\n" #~ "le modifier sous les termes de la licence Licence Publique Générale de " #~ "GNU\n" #~ "tel que publiée par la Free Software Foundation; soit selon la version 2\n" #~ "de la licence ou (selon votre choix) n'importe quelle version " #~ "subséquente." #~ msgid "" #~ "\n" #~ "GNU Anubis is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details." #~ msgstr "" #~ "\n" #~ "GNU Anubis est distribué dans l'espoir qu'il soit utile,\n" #~ "mais AUCUNE garantie n'est donnée tant pour des raisons COMMERCIALES que\n" #~ "pour RÉPONDRE À UN BESOIN PARTICULIER. Consulter la licence\n" #~ "Licence Publique Générale GNU pour plus de détails." #~ msgid "" #~ "\n" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with GNU Anubis; if not, write to the Free Software\n" #~ "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA" #~ msgstr "" #~ "\n" #~ "Vous devriez avoir reçu copie de la Licence Publique Générale de GNU\n" #~ "avec GNU Anubis; sinon, écrire à la Free Software Foundation, Inc.,\n" #~ "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgid "" #~ "\n" #~ "GNU Anubis is released under the GPL with the additional exemption that\n" #~ "compiling, linking, and/or using OpenSSL is allowed.\n" #~ msgstr "" #~ "\n" #~ "GNU Anubis est distribué sous les termes de la GPL avec les exceptions\n" #~ "additionnelles suivantes: la compilation, l'édition de liens et/ou\n" #~ "l'utilisation de OpenSSL sont permis.\n" #~ msgid "Usage: anubis [options]\n" #~ msgstr "Usage: anubis [options]\n" #~ msgid " -m, --mode=MODE Select operation mode." #~ msgstr " -m, --mode=MODE sélectionner le mode d'opération." #~ msgid "" #~ " MODE is either \"transparent\" or \"auth\"" #~ msgstr "" #~ " MODE étant soit \"transparent\" ou \"auth\"" #~ msgid " -f, --foreground Foreground mode." #~ msgstr " -f, --foreground en mode avant-plan (foreground)." #~ msgid " -s, --silent Work silently." #~ msgstr " -s, --silent travailler en silence." #~ msgid " -v, --verbose Work noisily." #~ msgstr " -v, --verbose travailler en mode bavard." #~ msgid " -D, --debug Debug mode." #~ msgstr "" #~ " -D, --debug travailler en mode de mise au point " #~ "(debug)." #~ msgid " --norc Ignore system configuration file." #~ msgstr "" #~ " --norc ignorer le fichier de configuration système." #~ msgid " --version Print version number and copyright." #~ msgstr " --version afficher la version et le copyright." #~ msgid " --help It's obvious..." #~ msgstr " --help obtenir l'aide-mémoire" #~ msgid "malloc() failed. Cannot allocate enough memory." #~ msgstr "échec de malloc(). Ne peut allouer assez de mémoire." #~ msgid "realloc() failed. Cannot reallocate enough memory." #~ msgstr "échec de realloc(). Ne peut réallouer suffisamment de mémoire." #~ msgid "INTERNAL ERROR (get_response_smtp): buffer exhausted. Please report." #~ msgstr "" #~ "ERREUR INTERNE (get_response_smtp): mémoire épuisée. SVP rapportez " #~ "l'anomalie." #~ msgid "Seeding random number generator..." #~ msgstr "Fourniture d'un germe au générateur de nombres aléatoires..." #~ msgid "Unable to seed random number generator." #~ msgstr "Incapable de fournir un germe au générateur aléatoire de nombres." #~ msgid "Write error: %s" #~ msgstr "Erreur d'écriture: %s" #~ msgid "Read error: %s" #~ msgstr "Erreur de lecture: %s" #~ msgid "SSLv23_client_method() failed." #~ msgstr "Échec de SSLv23_client_method()." #~ msgid "Can't create SSL_CTX object." #~ msgstr "Ne peut créer l'objet SSL_CTX" #~ msgid "SSL_CTX_set_cipher_list() failed." #~ msgstr "Échec de SSL_CTX_set_cipher_list()." #~ msgid "Can't create a new SSL structure for a connection." #~ msgstr "Ne peut créer une nouvelle structure SSL pour une connexion." #~ msgid "SSLv23_server_method() failed." #~ msgstr "Échec de SSLv23_server_method()." #~ msgid "SSL_CTX_use_certificate_file() failed." #~ msgstr "Échec de SSL_CTX_use_certificate_file()." #~ msgid "SSL_CTX_use_PrivateKey_file() failed." #~ msgstr "Échec de SSL_CTX_use_PrivateKey_file()." #~ msgid "Private key does not match the certificate public key." #~ msgstr "Clé privée ne concorde par avec le certificat de la clé publique." #~ msgid "%s connection using %s (%u bit)" #~ msgid_plural "%s connection using %s (%u bits)" #~ msgstr[0] "%s connexion utilisant %s (%u bit)" #~ msgstr[1] "%s connexion utilisant %s (%u bits)" #~ msgid "Server public key is %d bit" #~ msgid_plural "Server public key is %d bits" #~ msgstr[0] "Clé du serveur public est %d bit" #~ msgstr[1] "Clé du serveur public est %d bits" #~ msgid "Certificate:" #~ msgstr "Certificat:" #~ msgid "X509_NAME_oneline [subject] failed!" #~ msgstr "Échec de X509_NAME_oneline [sujet]!" #~ msgid "Subject: %s" #~ msgstr "Sujet: %s" #~ msgid "X509_NAME_oneline [issuer] failed!" #~ msgstr "Échec de X509_NAME_oneline [demandeur]!" #~ msgid "Issuer: %s" #~ msgstr "Demandeur: %s" #~ msgid "Using ESMTP authentication mechanism CRAM-MD5..." #~ msgstr "Utilisation du mécanisme d'authentification CRAM-MD5 pour ESMTP..." #~ msgid "Server rejected the AUTH command." #~ msgstr "Rejet de la commande AUTH par le serveur." #~ msgid "Challenge decoded: %s\n" #~ msgstr "Défi décodé: %s\n" #~ msgid "ESMTP AUTH: %s." #~ msgstr "ESMTP AUTH: %s." #~ msgid "Connection terminated." #~ msgstr "Connexion terminée." #~ msgid "OK" #~ msgstr "OK" #~ msgid "ERROR" #~ msgstr "ERREUR" #~ msgid "Using the ESMTP CRAM-MD5 authentication..." #~ msgstr "Utilisation de l'authentification ESMTP CRAM-MD5..." #~ msgid "Connecting to %s:%u..." #~ msgstr "Établissement de connexion avec %s:%u..." #~ msgid "Using the 'ONEWAY' TLS/SSL encryption..." #~ msgstr "Utilisation de l'encryptage 'ONEWAY' TLS/SSL..." #~ msgid "getpeername() failed: %s." #~ msgstr "échec de getpeername(): %s." #~ msgid "The %s section has been found. Processing..." #~ msgstr "La section %s a été repérée. En traitement..." #~ msgid "IDENT: send() failed: %s." #~ msgstr "IDENT: éched de send() : %s." #~ msgid "Built-in support for: " #~ msgstr "Support inclus de: " #~ msgid "Initializing socket..." #~ msgstr "Initialisation du socket..." #~ msgid "(%ld)SERVER >>> %s" #~ msgstr "(%ld)SERVEUR >>> %s" #~ msgid "(%ld)CLIENT >>> %s" #~ msgstr "(%ld)CLIENT >>> %s" #~ msgid "(%d)SERVER <<< %s" #~ msgstr "(%d)SERVEUR <<< %s" #~ msgid "(%d)CLIENT <<< %s" #~ msgstr "(%d)CLIENTS <<< %s" #~ msgid "Fatal fclose() error. %s." #~ msgstr "Erreur fatale de fclose() %s." #~ msgid "SSL_set_fd() failed." #~ msgstr "Échec de SSL_set_fd()." #~ msgid "Using WinGate(s)..." #~ msgstr "Utilisation de WinGate(s)..." #~ msgid "Waiting for response..." #~ msgstr "En attente d'une réponse..." #~ msgid "WinGate: ...connected" #~ msgstr "WinGate: ...connecté" #~ msgid "WinGate: ...failed" #~ msgstr "WinGate: ...échec" #~ msgid "Initializing the TLS/SSL connection with a client..." #~ msgstr "Initialisation de la connexion TLS/SSL avec un client..." anubis-4.1.1+dfsg1/po/ms.po0000600000175000017500000007414011123150056013135 0ustar kbkb# Anubis Bahasa Melayu (Malay) (ms). # Copyright (C) 2002, 2008 The Anubis Team # This file is distributed under the same license as the anubis package. # Sharuzzaman Ahmat Raslan , 2003, 2004, 2005, 2008 # #: env.opt:43 msgid "" msgstr "" "Project-Id-Version: anubis 4.1\n" "Report-Msgid-Bugs-To: bug-anubis@gnu.org\n" "POT-Creation-Date: 2008-12-20 11:59+0100\n" "PO-Revision-Date: 2008-02-17 19:37+0800\n" "Last-Translator: Sharuzzaman Ahmat Raslan \n" "Language-Team: Malay \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 0.9.5\n" "Plural-Forms: nplurals=1; plural=0;\n" #: src/authmode.c:465 msgid "Entering XDB loop..." msgstr "Memasuki gelungan XDB..." #: src/authmode.c:477 src/authmode.c:499 msgid "Exiting XDB loop..." msgstr "Keluar dari gelungan XDB..." #: src/authmode.c:522 msgid "Database not specified" msgstr "Pengkalan data tidak dinyatakan" #: src/authmode.c:530 #, c-format msgid "Cannot open database %s: %s" msgstr "Tidak dapat membuka pengkalan data %s: %s" #: src/authmode.c:537 #, c-format msgid "Found record for `%s'." msgstr "Rekod dijumpai untuk `%s'." #: src/authmode.c:542 #, c-format msgid "Cannot retrieve data from the SASL database: %s" msgstr "Tidak dapat mengambil data dari pengkalan data SASL: %s" #: src/authmode.c:547 #, c-format msgid "Record for `%s' not found." msgstr "Rekod untuk `%s' tidak dijumpai." #: src/authmode.c:600 src/transmode.c:132 msgid "Connection closed successfully." msgstr "Sambungan berjaya ditutup." #: src/authmode.c:607 src/transmode.c:139 msgid "PAM: Session closed." msgstr "PAM: Sessi ditutup." #: src/authmode.c:611 src/transmode.c:143 msgid "PAM: failed to release authenticator." msgstr "PAM: gagal untuk melepaskan pengesah." #: src/daemon.c:41 msgid "daemon() failed" msgstr "daemon() gagal" #: src/daemon.c:48 msgid "Cannot fork." msgstr "Tidak dapat mencabang." #: src/daemon.c:56 msgid "setsid() failed" msgstr "setsid() gagal" #: src/daemon.c:68 #, c-format msgid "%s daemon startup succeeded." msgstr "memulakan daemon %s berjaya." #: src/daemon.c:80 #, c-format msgid "Exited successfully" msgstr "Keluar dengan berjaya" #: src/daemon.c:82 #, c-format msgid "Failed with status %d" msgstr "Gagal dengan status %d" #: src/daemon.c:87 #, c-format msgid "Terminated on signal %d" msgstr "Dimatikan pada isyarat %d" #: src/daemon.c:90 #, c-format msgid "Stopped on signal %d" msgstr "Dihentikan pada isyarat %d" #: src/daemon.c:93 #, c-format msgid "Dumped core" msgstr "Teras dilonggok" #: src/daemon.c:96 #, c-format msgid "Terminated" msgstr "Ditamatkan" #: src/daemon.c:108 #, c-format msgid "Child [%lu] finished. %s. %d client left." msgid_plural "Child [%lu] finished. %s. %d clients left." msgstr[0] "Child [%lu] selesai. %s. %d klien yang tinggal." #: src/daemon.c:120 #, c-format msgid "Local program [%lu] finished. %s" msgstr "Program tempatan [%lu] selesai. %s" #: src/daemon.c:161 msgid "WARNING: An unprivileged user cannot be resolved. Verify your settings!" msgstr "" "AMARAN: Pengguna tanpa kelebihan tidak dapat dihuraikan. Sahkan tetapan anda!" #: src/daemon.c:171 msgid "WARNING: An unprivileged user has not been specified!" msgstr "AMARAN: Pengguna tanpa kelebihan tidak dinyatakan!" #: src/daemon.c:221 msgid "GNU Anubis is running..." msgstr "GNU Anubis sedang berjalan..." #: src/daemon.c:237 src/exec.c:80 msgid "accept() failed" msgstr "accept() gagal" #: src/daemon.c:256 #, c-format msgid "TCP wrappers: connection from %s:%u rejected." msgstr "Pembalut TCP: sambungann dari %s:%u ditolak." #: src/daemon.c:276 #, c-format msgid "Too many clients. Connection from %s:%u rejected." msgstr "Terlalu banyak klien. Sambungan daripada %s:%u ditolak." #: src/daemon.c:282 #, c-format msgid "Connection from %s:%u" msgstr "Sambungan daripada %s:%u" #: src/daemon.c:287 msgid "daemon: cannot fork" msgstr "daemon: tidak dapat mencabang" #: src/daemon.c:379 src/transmode.c:60 msgid "The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA." msgstr "MTA telah tidak dinyatakan. Tetapkan REMOTE-MTA atau LOCAL-MTA." #: env.opt:45 env.opt:54 msgid "[HOST:]PORT" msgstr "[HOS:]PORT" #: env.opt:45 msgid "" "Specify the TCP port on which GNU Anubis listens for connections; the " "default HOST is INADDR_ANY, and default PORT is 24 (private mail system)" msgstr "" "Nyatakan port TCP dimana GNU Anubis mendengar untuk sambungan; HOS default " "adalah INADDR_ANY, dan PORT default ialah 24 (sistem mel persendirian)" #: env.opt:54 msgid "Specify a remote SMTP host name or IP address; the default is 25" msgstr "Nyatakan nama hos jauh SMTP atau alamatIP; default adalah 25" #: env.opt:62 env.opt:119 env.opt:151 msgid "FILE" msgstr "FAIL" #: env.opt:62 msgid "" "Execute a local SMTP server, which works on standard input and output (inetd-" "type program); this option excludes the `--remote-mta' option" msgstr "" "Laksanakan pelayan SMTP tempatan, yang berkerja pada masukan dan keluaran " "piawai (program jenis-inetd); pilihan ini tidak termasuk pilihan '--remote-" "mta'." #: env.opt:74 msgid "MODE" msgstr "MOD" #: env.opt:74 msgid "" "Select operation mode; MODE is one of \"transparent\", \"auth\" or \"mda\"" msgstr "" "Pilih mod operasi; MOD ialah salah satu dari \"transparent\", \"auth\" atau " "\"mda\"" #: env.opt:81 msgid "Foreground mode" msgstr "Mod latardepan" #: env.opt:87 msgid "EMAIL" msgstr "EMEL" #: env.opt:87 msgid "Specify sender address (implies MDA mode)" msgstr "Menyatakan alamat penghantar (membawa maksud mod MDA)" #: env.opt:94 msgid "" "Use the SMTP protocol (OMP/Tunnel) as described in RFC 821 on standard input " "and output" msgstr "" "Guna protokol SMTP (OMP/Tunnel) seperti diterangkan didalam RFC 821 pada " "masukan dan keluaran piawai" #: env.opt:98 msgid "Output options" msgstr "Pilihan keluaran" #: env.opt:101 msgid "Work silently" msgstr "Bekerja dengan senyap" #: env.opt:106 msgid "Work noisily" msgstr "Bekerja dengan riuh" #: env.opt:111 msgid "Debug mode" msgstr "Mod nyahpepijat" #: env.opt:115 msgid "Miscellaneous options" msgstr "Pilihan lain-lain" #: env.opt:119 msgid "Specify alternate system configuration file" msgstr "Nyatakan fail konfigurasi sistem gantian" #: env.opt:126 msgid "Ignore system configuration file" msgstr "Abai fail tetapan sistem" #: env.opt:132 msgid "DEBUG-LEVEL" msgstr "TAHAP-NYAHPEPIJAT" #: env.opt:132 msgid "Run the configuration file syntax checker" msgstr "Laksana penyemak sintaks fail tetapan" #: env.opt:139 msgid "Print a list of configuration options used to build GNU Anubis" msgstr "Papar senarai pilihan tetapan yang digunakan untuk membina GNU Anubis" #: env.opt:145 msgid "Do not check user configuration file permissions" msgstr "Jangan periksa kebenaran fail tetapan pengguna" #: env.opt:151 msgid "Store the PID of the running daemon in FILE" msgstr "Simpan PID bagi daemon terlaksana dalam FAIL" #: env.opt:155 msgid "Other options" msgstr "Pilihan lain" #: env.opt:155 msgid "Give this help list" msgstr "Memberikan senarai bantuan ini" #: env.opt:155 msgid "Give a short usage message" msgstr "Memberikan mesej pendek penggunaan" #: env.opt:155 msgid "Print program version" msgstr "Cetak versi program" #: env.opt:41 msgid "SMTP message submission daemon." msgstr "Daemon penghantaran mesej SMTP." #: env.opt:165 env.opt:321 msgid "Usage:" msgstr "Penggunaan:" #: env.opt:165 msgid "OPTION" msgstr "PILIHAN" #: env.opt:279 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" "Hujah wajib atau pilihan kepada pilihan panjang adalah juga wajib atau " "pilihan kepada pilihan pendek sepadannya." #: env.opt:293 #, c-format msgid "Report bugs to %s.\n" msgstr "Lapor pepijat ke %s.\n" #: env.opt:536 msgid "(C)" msgstr "" #: env.opt:554 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #: env.opt:68 src/exec.c:172 msgid "argcv_get failed" msgstr "argcv_get gagal" #: env.opt:179 msgid "--mode=mda requires --local-mta" msgstr "--mode=mda memerlukan --local-mta" #: env.opt:181 msgid "Missing recipient addresses" msgstr "Alamat penerima tiada" #: env.opt:256 #, c-format msgid "setgroups(1, %lu) failed" msgstr "setgroups(1, %lu) gagal" #: env.opt:266 #, c-format msgid "setegid(%lu) failed" msgstr "setegid(%lu) gagal" #: env.opt:269 #, c-format msgid "setregid(%lu,%lu) failed" msgstr "setregid(%lu,%lu) gagal" #: env.opt:273 #, c-format msgid "setresgid(%lu,%lu,%lu) failed" msgstr "setresgid(%lu,%lu,%lu) gagal" #: env.opt:282 #, c-format msgid "setgid(%lu) failed" msgstr "setgid(%lu) gagal" #: env.opt:285 #, c-format msgid "cannot set effective gid to %lu" msgstr "tidak dapat menetapkan gid efektif kepada %lu" #: env.opt:307 #, c-format msgid "setreuid(%lu,-1) failed" msgstr "setreuid(%lu,-1) gagal" #: env.opt:313 #, c-format msgid "second setuid(%lu) failed" msgstr "setuid(%lu) kedua gagal" #: env.opt:321 #, c-format msgid "setuid(%lu) failed" msgstr "setuid(%lu) gagal" #: env.opt:330 msgid "seteuid(0) succeeded when it should not" msgstr "seteuid(0) berjaya apabila tidak sepatutnya" #: env.opt:335 msgid "cannot drop non-root setuid privileges" msgstr "tidak dapat membuang kelebihan setuid bukan root" #: env.opt:362 msgid "PAM: Session opened (restrictions applied)." msgstr "PAM: Sessi dibuka (sekatan digunakan)." #: env.opt:365 msgid "PAM: Not authenticated to use GNU Anubis." msgstr "PAM: Tidak disahkan untuk menggunakan GNU Anubis." #: env.opt:377 src/main.c:152 #, c-format msgid "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" msgstr "UID:%d (%s), GID:%d, EUID:%d, EGID:%d" #: env.opt:412 #, c-format msgid "Invalid user ID: %s" msgstr "ID pengguna tidak sah: %s" #: env.opt:418 #, c-format msgid "Invalid user name: %s" msgstr "Nama pengguna tidak sah: %s" #: env.opt:441 #, c-format msgid "Wrong permissions on %s. Set 0600." msgstr "Keizinan salah pada %s. Tetapkan 0600." #: env.opt:467 #, c-format msgid "%s is not a regular file or a symbolic link." msgstr "%s bukan fail biasa atau pautan simbolik." #: env.opt:492 #, c-format msgid "Unknown mode: %s" msgstr "Mod tidak diketahui: %s" #: env.opt:507 #, c-format msgid "Cannot open pid file '%s'" msgstr "Tidak dapat membuka fail pid '%s'" #: src/errs.c:84 msgid "warning" msgstr "amaran" #: src/errs.c:92 #, c-format msgid "Could not write to socket: %s" msgstr "Tidak dapat menulis ke soket: %s" #: src/errs.c:94 msgid "Could not write to socket" msgstr "Tidak dapat menulis ke soket" #: src/errs.c:104 #, c-format msgid "Unknown host %s." msgstr "Hos tidak diketahui %s." #: src/errs.c:107 #, c-format msgid "%s: host name is valid but does not have an IP address." msgstr "%s: nama hos adalah sah tetatpi tidak mempunyai alamat IP." #: src/errs.c:111 #, c-format msgid "%s: unrecoverable name server error occured." msgstr "%s: ralat pelayan nama tidak dapat dipulihkan berlaku." #: src/errs.c:114 #, c-format msgid "%s: a temporary name server error occured. Try again later." msgstr "%s: ralat sementara pelayan nama berlaku. Cuba lagi kemudian." #: src/errs.c:117 #, c-format msgid "%s: unknown DNS error %d." msgstr "%s: ralat DNS tidak diketahui %d." #: src/esmtp.c:110 #, c-format msgid "Unsupported callback property %d" msgstr "" #: src/esmtp.c:132 msgid "Malformed or unexpected reply" msgstr "Jawapan tidak sah atau tidak dijangka" #: src/esmtp.c:158 #, c-format msgid "SASL gsasl_client_start: %s" msgstr "SASL gsasl_client_start: %s" #: src/esmtp.c:167 src/esmtp.c:186 #, c-format msgid "GSASL handshake aborted: %d %s" msgstr "Salaman GSASL dibatalkan: %d %s" #: src/esmtp.c:198 #, c-format msgid "GSASL error: %s" msgstr "Ralat GSASL: %s" #: src/esmtp.c:212 #, c-format msgid "Authentication failed: %d %s" msgstr "Pengesahan gagal: %d %s" #: src/esmtp.c:215 msgid "Authentication successful." msgstr "Pengesahan berjaya." #: src/esmtp.c:236 msgid "Got empty list of authentication methods" msgstr "Mendapat senarai kosong kaedah pengesahan" #: src/esmtp.c:261 msgid "Server did not offer any feasible authentication mechanism" msgstr "Pelayan tidak menawarkan sebarang kemungkinan mekanisma pengesahan" #: src/esmtp.c:271 msgid "INTERNAL ERROR" msgstr "RALAT DALAMAN" #: src/esmtp.c:279 #, c-format msgid "" "Selected authentication mechanism %s requires TLS encryption. Not using " "ESMTP authentication" msgstr "" "Mekanisma pengesahan dipilih %s memerlukan enkripsi TLS. Tidak menggunakan " "pengesahan ESMTP" #: src/esmtp.c:286 #, c-format msgid "Selected authentication mechanism %s" msgstr "Mekanisma pengesahan dipilih %s" #: src/esmtp.c:292 #, c-format msgid "Cannot initialize libgsasl: %s" msgstr "Tidak dapat memulakan libgsasl: %s" #: src/esmtp.c:307 msgid "ESMTP AUTH is not supported" msgstr "ESMTP AUTH tidak disokong" #: src/exec.c:40 msgid "#1 socket() failed." msgstr "#1 socket() gagal." #: src/exec.c:45 msgid "#2 socket() failed." msgstr "#2 socket() gagal." #: src/exec.c:55 msgid "#1 bind() failed" msgstr "#1 bind() gagal" #: src/exec.c:60 msgid "#2 bind() failed" msgstr "#2 bind() gagal" #: src/exec.c:65 src/net.c:233 msgid "listen() failed" msgstr "listen() gagal" #: src/exec.c:70 #, c-format msgid "getsockname() failed: %s." msgstr "getsockname() gagal: %s." #: src/exec.c:75 msgid "connect() failed" msgstr "connect() gagal" #: src/exec.c:87 msgid "socketpair() failed" msgstr "socketpair() gagal" #: src/exec.c:108 #, c-format msgid "Executing %s..." msgstr "Melaksanakan %s..." #: src/exec.c:118 msgid "fork() failed" msgstr "fork() gagal" #: src/exec.c:132 msgid "execvp() failed" msgstr "execvp() gagal" #: src/gpg.c:51 #, c-format msgid "GPGME: %s." msgstr "GPGME: %s." #: src/gpg.c:97 #, c-format msgid "Install GPGME version %s or later." msgstr "Pasang GPGME versi %s atau terkini." #: src/gpg.c:104 #, c-format msgid "GPGME: failed. %s." msgstr "GPGME: gagal. %s." #: src/gpg.c:191 src/gpg.c:388 #, c-format msgid "GPGME: Cannot list keys: %s" msgstr "GPGME: Tidak dapat menyenaraikan kekunci: %s" #: src/gpg.c:294 src/gpg.c:411 #, c-format msgid "GPGME: Invalid recipient encountered: %s" msgstr "GPGME: Penerima tidak sah dijumpai: %s" #: src/gpg.c:320 #, c-format msgid "GPGME: Invalid signer found: %s" msgstr "GPGME: Penandatangan tidak sah dijumpai: %s" #: src/gpg.c:327 msgid "GPGME: Unexpected number of signatures created" msgstr "GPGME: Jumlah tandatangan tidak dijangka dicipta" #: src/gpg.c:334 msgid "GPGME: Wrong type of signature created" msgstr "GPGME: Tandatangan jenis yang salah dicipta" #: src/gpg.c:339 #, c-format msgid "GPGME: Wrong pubkey algorithm reported: %i" msgstr "GPGME: Algoritma pubkey salah dilaporkan: %i" #: src/gpg.c:346 #, c-format msgid "GPGME: Wrong hash algorithm reported: %i" msgstr "GPGME: Algoritma hash salah dilaporkan: %i" #: src/gpg.c:353 #, c-format msgid "GPGME: Wrong signature class reported: %u" msgstr "GPGME: Kelas tandatangan salah dilaporkan: %u" #: src/guile.c:75 #, c-format msgid "cannot open guile output file %s" msgstr "tidak dapat membuka file keluaran guile %s" #: src/guile.c:259 msgid "missing procedure name" msgstr "nama prosedur tiada" #: src/guile.c:274 #, c-format msgid "%s not a procedure object" msgstr "%s bukan objek prosedur" #: src/guile.c:307 #, c-format msgid "Bad car type in return from %s" msgstr "Jenis car tidak sah dalam pulangan dari %s" #: src/guile.c:326 #, c-format msgid "Bad cdr type in return from %s" msgstr "Jenis cdr tidak sah dalam pulangan dari %s" #: src/guile.c:329 #, c-format msgid "Bad return type from %s" msgstr "Jenis pulangan tidak sah dari %s" #: src/ident.c:101 msgid "IDENT: socket() failed" msgstr "IDENT: socket() gagal" #: src/ident.c:113 msgid "IDENT: connect() failed" msgstr "IDENT: connect() gagal" #: src/ident.c:119 #, c-format msgid "IDENT: connected to %s:%u" msgstr "IDENT: disambungkan kepada %s:%u" #: src/ident.c:128 #, c-format msgid "IDENT: stream_write() failed: %s." msgstr "IDENT: stream_write() gagal: %s." #: src/ident.c:136 #, c-format msgid "IDENT: recvline() failed: %s." msgstr "IDENT: recvline() gagal: %s." #: src/ident.c:146 msgid "IDENT: incorrect data." msgstr "IDENT: data tidak betul." #: src/ident.c:159 msgid "IDENT: data probably encrypted with DES..." msgstr "IDENT: data berkemungkinan dienkrip dengan DES..." #: src/ident.c:167 msgid "IDENT: incorrect data (DES deciphered)." msgstr "IDENT: data tidak betul (decipher DES)." #: src/ident.c:185 #, c-format msgid "IDENT: resolved remote user to %s." msgstr "IDENT: resolved pengguna jarak jauh kepada %s." #: src/main.c:54 msgid "Not enough memory" msgstr "Tidak cukup memori" #: src/map.c:65 #, c-format msgid "%s remapped to %s@localhost." msgstr "%s dipetakan kepada %s@localhost." #: src/map.c:116 msgid "Translation map: incorrect syntax." msgstr "Peta terjemahan: sintaks tidak betul" #: src/map.c:157 src/net.c:146 src/net.c:213 src/transmode.c:45 #, c-format msgid "Illegal address length received for host %s" msgstr "Panjang alamat tidak sah diterima untuk hos %s" #: src/misc.c:120 #, c-format msgid "Invalid port number: %s" msgstr "Nombor port tidak sah: %s" #: src/misc.c:348 msgid "Can't find out my own hostname" msgstr "Tidak dapat mencari nama hos sendiri" #: src/net.c:46 msgid "SERVER" msgstr "PELAYAN" #: src/net.c:49 msgid "CLIENT" msgstr "PELANGGAN" #: src/net.c:127 msgid "Getting remote host information..." msgstr "Mendapatkan maklumat hos jauh..." #: src/net.c:164 msgid "Cannot create stream socket." msgstr "Tidak dapat mencipta soket aliran." #: src/net.c:169 #, c-format msgid "Couldn't connect to %s:%u. %s." msgstr "Tidak dapat menyambung ke %s:%u. %s." #: src/net.c:174 #, c-format msgid "Connected to %s:%u" msgstr "Tersambung ke %s:%u" #: src/net.c:196 msgid "Cannot create stream socket" msgstr "Tidak dapat mencipta soket aliran" #: src/net.c:229 msgid "bind() failed" msgstr "bind() gagal" #: src/net.c:230 #, c-format msgid "GNU Anubis bound to %s:%u" msgstr "GNU Anubis terhad kepada %s:%u" #: src/net.c:257 msgid "Short write" msgstr "Menulis pendek" #: src/socks.c:49 msgid "Using SOCKS Proxy..." msgstr "Menggunakan Proksi SOCKS..." #: src/socks.c:67 #, c-format msgid "SOCKS proxy: %s" msgstr "Proksi SOCKS: %s" #: src/socks.c:139 msgid "Address must be an IP, not a domain name." msgstr "Alamat mestilah IP, bukan nama domain." #: src/socks.c:176 src/socks.c:395 msgid "SOCKS Proxy Connection: succeeded." msgstr "Sambungan Proksi SOCKS: berjaya." #: src/socks.c:179 msgid "Request rejected or failed." msgstr "Permintaan ditolak atau gagal." #: src/socks.c:182 msgid "Request rejected." msgstr "Permintaan ditolak." #: src/socks.c:185 msgid "" "Request rejected, because the client program and identd reported different " "User-IDs." msgstr "" "Permintaan ditolak, kerana program pelanggan dan identd melaporkan perbezaan " "ID-Pengguna." #: src/socks.c:189 src/socks.c:422 msgid "Server reply is not valid." msgstr "Jawapan pelayan tidak sah." #: src/socks.c:230 msgid "Possibly not a SOCKS proxy service." msgstr "Mungkin bukan khidmat proksi SOCKS." #: src/socks.c:242 msgid "SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED" msgstr "Cara AUTH Proksi SOCKS: TIADA PENGESAHAN DIPERLUKAN" #: src/socks.c:245 msgid "SOCKS Proxy AUTH method: USER NAME/PASSWORD" msgstr "Cara AUTH Proksi SOCKS: NAMA PENGGUNA/KATA LALUAN" #: src/socks.c:249 msgid "Cannot send null user name or password." msgstr "Tidak boleh menghantar nama pengguna atau kata laluan kosong." #: src/socks.c:291 msgid "Bad user name or password." msgstr "Nama pengguna atau kata laluan tidak sah." #: src/socks.c:295 msgid "SOCKS Proxy AUTH: succeeded." msgstr "AUTH Proksi SOCKS: berjaya." #: src/socks.c:298 msgid "Server does not accept any method." msgstr "Pelayan tidak menerima sebarang cara." #: src/socks.c:301 msgid "Server does not accept an AUTH method." msgstr "Pelayan tidak menerima cara AUTH." #: src/socks.c:398 msgid "General SOCKS server failure." msgstr "Kegagalan umum pelayan SOCKS." #: src/socks.c:401 msgid "Connection not allowed by a ruleset." msgstr "Sambungan tidak dibenarkan oleh set peraturan." #: src/socks.c:404 msgid "Network unreachable." msgstr "Rangkaian tidak dapat dicapai." #: src/socks.c:407 msgid "Host unreachable." msgstr "Hos tidak dapat dicapai." #: src/socks.c:410 msgid "Connection refused." msgstr "Sambungan ditolak." #: src/socks.c:413 msgid "TTL expired." msgstr "TTL tamat tempoh." #: src/socks.c:416 msgid "Command not supported." msgstr "Arahan tidak disokong." #: src/socks.c:419 msgid "Address type not supported." msgstr "Jenis alamat tidak disokong." #: src/quit.c:27 msgid "Signal Caught. Exiting Cleanly..." msgstr "Isyarat Disambut. Keluar Dengan Bersih..." #: src/quit.c:34 msgid "Timeout! Exiting..." msgstr "Hadmasa Tamat! Keluar..." #: src/rcfile.c:117 #, c-format msgid "cannot stat file `%s'" msgstr "Tidak dapat stat fail `%s'" #: src/rcfile.c:127 #, c-format msgid "File `%s' has already been read.\n" msgstr "Fail `%s' telah pun dibaca.\n" #: src/rcfile.c:145 #, c-format msgid "Welcome user %s !" msgstr "Selamat Datang pengguna %s !" #: src/rcfile.c:181 #, c-format msgid "Reading system configuration file %s..." msgstr "Membaca fail konfigurasi sistem %s..." #: src/rcfile.c:193 #, c-format msgid "Reading user configuration file %s..." msgstr "Membaca fail konfigurasi pengguna %s..." #: src/rcfile.c:351 msgid "`logfile' directive is ignored in main configuration file" msgstr "arahan `logfile' diabaikan dalam fail tetapan utama" #: src/rcfile.c:564 #, c-format msgid "Child process suspended for %lu second" msgid_plural "Child process suspended for %lu seconds" msgstr[0] "Proses anak digantung untuk %lu saat" #: src/rcfile.c:575 #, c-format msgid "Command HANG is not allowed for user `%s'" msgstr "Arahan GANTUNG tidak dibenarkan untuk pengguna `%s'" #: src/rcfile.c:853 #, c-format msgid "No such section: %s" msgstr "Tiada seksyen sebegitu: %s" #: src/rcfile.l:178 #, c-format msgid "" "Stray character in config: \\%03o. Possibly missing quotes around the string" msgstr "" "Aksara tidak sah dalam tetapan: \\%03o. Kemungkinan hilang tanda pembuka " "kata pada keliling perkataan" #: src/rcfile.l:385 msgid "Anubis RC file error" msgstr "Ralat fail RC Anubis" #: src/rcfile.y:169 src/rcfile.y:177 #, c-format msgid "Section %s already defined" msgstr "Seksyen %s telah ditakrif" #: src/rcfile.y:229 #, c-format msgid "unknown keyword: %s" msgstr "katakunci tidak diketahui: %s" #: src/rcfile.y:391 msgid "Invalid regular expression (see the above message)" msgstr "Regular expression tidak sah (lihat mesej diatas)" #: src/rcfile.y:567 msgid "missing replacement value" msgstr "nilai penggantian hilang" #: src/rcfile.y:664 #, c-format msgid "Not a valid debugging level: %s" msgstr "Bukan tahap nyahpepijat yang sah: %s" #: src/rcfile.y:1216 msgid "Unknown regexp modifier" msgstr "Pengubah regexp tidak diketahui" #: src/rcfile.y:1314 msgid "STOP" msgstr "BERHENTI" #: src/rcfile.y:1319 #, c-format msgid "Calling %s" msgstr "Memanggil %s" #: src/rcfile.y:1325 #, c-format msgid "ADD %s [%s] %s" msgstr "TAMBAH %s [%s] %s" #: src/rcfile.y:1335 #, c-format msgid "MODIFY %s [%s] [%s] %s" msgstr "UBAHSUAI %s [%s] [%s] %s" #: src/rcfile.y:1348 #, c-format msgid "REMOVE HEADER [%s]" msgstr "BUANG HEADER [%s]" #: src/rcfile.y:1371 #, c-format msgid "Executing %s" msgstr "Melaksanakan %s" #: src/rcfile.y:1490 #, c-format msgid "Matched trigger \"%s\"" msgstr "Trigger sepadan \"%s\"" #: src/rcfile.y:1494 #, c-format msgid "Matched condition %s[%s] \"%s\"" msgstr "Syarat dipenuhi %s[%s] \"%s\"" #: src/rcfile.y:1604 #, c-format msgid "Section %s" msgstr "Seksyen %s" #: src/rcfile.y:1628 #, c-format msgid "Unknown section: %s" msgstr "Seksyen tidak diketahui: %s" #: src/rcfile.y:1675 msgid "program is not allowed in this section" msgstr "program tidak dibenarkan dalam seksyen ini" #: src/regex.c:109 #, c-format msgid "INTERNAL ERROR at %s:%d: missing or invalid regex" msgstr "RALAT DALAMAN pada %s:%d: regex hilang atau tidak sah" #: src/regex.c:328 #, c-format msgid "regcomp() failed at %s: %s." msgstr "regcomp() gagal pada %s: %s." #: src/regex.c:404 #, c-format msgid "pcre_compile() failed at offset %d: %s." msgstr "pcre_compile() gagal pada offset %d: %s." #: src/regex.c:429 #, c-format msgid "pcre_fullinfo() failed: %d." msgstr "pcre_fullinfo() gagal: %d." #: src/regex.c:441 msgid "Matched, but too many substrings." msgstr "Sepadan, tetapi terlalu banyak subrentetan." #: src/regex.c:456 #, c-format msgid "Get substring %d failed (%d)." msgstr "Mendapatkan subrentetan %d gagal (%d)." #: src/tls.c:164 msgid "Initializing the TLS/SSL connection with MTA..." msgstr "Memulakan sambungan TLS/SSL dengan MTA..." #: src/tls.c:181 src/tls.c:259 #, c-format msgid "TLS error reading `%s': %s" msgstr "Ralat membaca TLS `%s': %s" #: src/tls.c:198 #, c-format msgid "TLS/SSL handshake failed: %s" msgstr "Salaman TLS/SSL gagal: %s" #: src/tls.c:248 msgid "Initializing the TLS/SSL connection with MUA..." msgstr "Memulakan sambungan TLS/SSL dengan MUA..." #: src/tls.c:280 msgid "TLS/SSL handshake failed!" msgstr "Salaman TLS/SSL gagal!" #: src/tls.c:301 msgid "No certificate was sent." msgstr "Tiada sijil dihantar." #: src/tls.c:306 msgid "The certificate is not trusted." msgstr "Sijil tidak dipercayai." #: src/tls.c:311 msgid "The certificate has expired." msgstr "Sijil telah tamat tempoh." #: src/tls.c:316 msgid "The certificate is not yet activated." msgstr "Sijil belum lagi diaktifkan." #: src/tls.c:326 msgid "No certificate was found!" msgstr "Tiada sijil dijumpai!" #: src/tls.c:331 msgid "The certificate is trusted." msgstr "Sijil dipercayai." #: src/tls.c:361 #, c-format msgid "- Anonymous DH using prime of %d bit.\n" msgid_plural "- Anonymous DH using prime of %d bits.\n" msgstr[0] "- DH anonymous menggunakan asas %d bit.\n" #: src/tls.c:370 #, c-format msgid "- Ephemeral DH using prime of %d bit.\n" msgid_plural "- Ephemeral DH using prime of %d bits.\n" msgstr[0] "- Ephemeral DH menggunakan asas %d bit.\n" #: src/tls.c:382 #, c-format msgid "- Protocol: %s\n" msgstr "- Protokol: %s\n" #: src/tls.c:386 #, c-format msgid "- Certificate Type: %s\n" msgstr "- Jenis Sijil: %s\n" #: src/tls.c:389 #, c-format msgid "- Compression: %s\n" msgstr "- Mampatan: %s\n" #: src/tls.c:392 #, c-format msgid "- Cipher: %s\n" msgstr "- Cipher: %s\n" #: src/tls.c:395 #, c-format msgid "- MAC: %s\n" msgstr "- MAC: %s\n" #: src/tls.c:423 #, c-format msgid "- Certificate info:\n" msgstr "- Maklumat sijil:\n" #: src/tls.c:427 #, c-format msgid "- Certificate is valid since: %s" msgstr "- Sijil sah semenjak: %s" #: src/tls.c:429 #, c-format msgid "- Certificate expires: %s" msgstr "- Sijil tamat tempoh: %s" #: src/tls.c:434 #, c-format msgid "- Certificate fingerprint: " msgstr "- Cap jari sijil:" #: src/tls.c:444 #, c-format msgid "- Certificate serial number: " msgstr "- Nombor siri sijil:" #: src/tls.c:453 #, c-format msgid "- Certificate public key: " msgstr "- Kunci awam sijil: " #: src/tls.c:456 #, c-format msgid "RSA\n" msgstr "RSA\n" #: src/tls.c:457 #, c-format msgid "- Modulus: %d bit\n" msgid_plural "- Modulus: %d bits\n" msgstr[0] "- Modulus: %d bit\n" #: src/tls.c:462 #, c-format msgid "DSA\n" msgstr "DSA\n" #: src/tls.c:463 #, c-format msgid "- Exponent: %d bit\n" msgid_plural "- Exponent: %d bits\n" msgstr[0] "- Eksponen: %d bit\n" #: src/tls.c:467 #, c-format msgid "UNKNOWN\n" msgstr "TDAK DIKETAHUI\n" #: src/tls.c:469 #, c-format msgid "- Certificate version: #%d\n" msgstr "- Versi sijil: #%d\n" #: src/tls.c:476 #, c-format msgid "- Certificate Issuer's DN: %s\n" msgstr "- DN Pengeluar Sijil: %s\n" #: src/transmode.c:67 msgid "remote-mta loops back to Anubis" msgstr "" #: src/tunnel.c:315 src/tunnel.c:395 #, fuzzy msgid "Transferring messages..." msgstr "Memindahkan mesej..." #: src/tunnel.c:393 msgid "Starting SMTP session..." msgstr "Memulakan sessi SMTP..." #: src/tunnel.c:478 msgid "Using the TLS/SSL encryption..." msgstr "Menggunakan enkripsi TLS/SSL..." #: src/tunnel.c:493 src/tunnel.c:640 #, c-format msgid "WARNING: %s" msgstr "AMARAN: %s" #: src/tunnel.c:495 msgid "STARTTLS command failed." msgstr "Arahan STARTTLS gagal." #: src/tunnel.c:632 msgid "Using TLS/SSL encryption between Anubis and remote MTA only..." msgstr "Menggunakan enkripsi TLS/SSL antara Anubis dan MTA jauh sahaja..." #: src/tunnel.c:642 msgid "STARTTLS (ONEWAY) command failed." msgstr "Arahan STARTTLS (ONEWAY) gagal." #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: pilihan `%s' adalah kabur\n" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: pilihan `--%s' tidak membenarkan hujah\n" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: pilihan %c%s' tidak membenarkan hujah\n" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: pilihan `%s' memerlukan hujah\n" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: pilihan tidak dikenali `--%s'\n" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: pilihan tidak dikenali '%c%s'\n" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: pilihan salah -- %c\n" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: pilihan tidak sah -- %c\n" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: pilihan memerlukan hujah -- %c\n" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: pilihan `-W %s' adalah kabur\n" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: pilihan `-W %s' tidak mengizinkan hujah\n" #: lib/obstack.c:423 lib/obstack.c:425 msgid "memory exhausted" msgstr "kehabisan memori" #~ msgid "MTA has not been specified. Set either REMOTE-MTA or LOCAL-MTA." #~ msgstr "" #~ "MTA telah tidak dinyatakan. Tetapkan sama ada REMOTE-MTA atau LOCAL-MTA." #~ msgid "Loop not allowed. Connection rejected." #~ msgstr "Gelung tidak dibenarkan. Sambungan ditolak." anubis-4.1.1+dfsg1/po/ro.gmo0000600000175000017500000002210411123150057013274 0ustar kbkbÞ•gT‰Œ°±ÅÙ,ö# ;@ 7| ´ Î ,è  %3 ,Y -† ´ &Õ ü  6 ,V ƒ › © ¼ Ç )×   '8 ` w Š ª $À å ù   7 P [ n Œ "ª Í ß *ù '$Lc"+¤/Ð/"0Sg!}Ÿ´Î)ç+&%R#xœ'¡%ÉïT `3r+¦Ò"ï!"D&]"„§!Â-ä @`}%Ãß1ó"%HQbw —£"µØ'ò¤¿Ôé5 ?M^0¬Ýø+?'_+‡,³"à(,!K!m;Ë äñ  3!Q#s/—Çâù/.^"r•š´ ÊÕé +(To'ˆ&°×î+ 69(p(™7Âú$-R#n’4±æ.þ--%[+†/²âdþc 6t /« Û ö !"&!I!"c!!†!#¨! Ì!.í! "=)"g"0""°"Ó" ó"4#$6# [#g#{#“#±#Á#*Õ#$($OEX5B2!JT70fC+$#1S3gMI K]9e Dc Pa `(&H_L-R ZFV."'G@U6^W)<Ab4YN;? \d8=:*Q>%,[/#1 socket() failed.#2 socket() failed.%s daemon startup succeeded.%s is not a regular file or a symbolic link.%s remapped to %s@localhost.%s: a temporary name server error occured. Try again later.%s: host name is valid but does not have an IP address.%s: illegal option -- %c %s: invalid option -- %c %s: option `%c%s' doesn't allow an argument %s: option `%s' is ambiguous %s: option `%s' requires an argument %s: option `--%s' doesn't allow an argument %s: option `-W %s' doesn't allow an argument %s: option `-W %s' is ambiguous %s: option requires an argument -- %c %s: unknown DNS error %d.%s: unrecognized option `%c%s' %s: unrecognized option `--%s' %s: unrecoverable name server error occured.- Certificate Type: %s - Cipher: %s - Compression: %s - MAC: %s - Protocol: %s Address must be an IP, not a domain name.Address type not supported.Bad user name or password.Cannot send null user name or password.Command not supported.Connected to %s:%uConnection closed successfully.Connection from %s:%uConnection not allowed by a ruleset.Connection refused.Couldn't connect to %s:%u. %s.DSA GNU Anubis bound to %s:%uGNU Anubis is running...GPGME: %s.GPGME: failed. %s.General SOCKS server failure.Get substring %d failed (%d).Getting remote host information...Host unreachable.IDENT: connected to %s:%uIDENT: data probably encrypted with DES...IDENT: incorrect data (DES deciphered).IDENT: incorrect data.IDENT: recvline() failed: %s.IDENT: resolved remote user to %s.Illegal address length received for host %sInitializing the TLS/SSL connection with MTA...Initializing the TLS/SSL connection with MUA...Install GPGME version %s or later.Invalid user ID: %sInvalid user name: %sMatched, but too many substrings.Network unreachable.No certificate was found!No certificate was sent.PAM: Not authenticated to use GNU Anubis.PAM: Session closed.PAM: Session opened (restrictions applied).PAM: failed to release authenticator.Possibly not a SOCKS proxy service.RSA Reading system configuration file %s...Reading user configuration file %s...Request rejected or failed.Request rejected, because the client program and identd reported different User-IDs.Request rejected.SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIREDSOCKS Proxy AUTH method: USER NAME/PASSWORDSOCKS Proxy AUTH: succeeded.SOCKS Proxy Connection: succeeded.SOCKS proxy: %sSTARTTLS (ONEWAY) command failed.STARTTLS command failed.Server does not accept an AUTH method.Server does not accept any method.Server reply is not valid.Signal Caught. Exiting Cleanly...TCP wrappers: connection from %s:%u rejected.TTL expired.The MTA has not been specified. Set the REMOTE-MTA or LOCAL-MTA.The certificate has expired.The certificate is not trusted.The certificate is not yet activated.The certificate is trusted.Timeout! Exiting...Too many clients. Connection from %s:%u rejected.Translation map: incorrect syntax.UNKNOWN Unknown host %s.Using SOCKS Proxy...Using the TLS/SSL encryption...WARNING: %sWelcome user %s !Wrong permissions on %s. Set 0600.getsockname() failed: %s.pcre_compile() failed at offset %d: %s.Project-Id-Version: anubis 3.6.2 Report-Msgid-Bugs-To: bug-anubis@gnu.org POT-Creation-Date: 2008-12-20 11:59+0100 PO-Revision-Date: 2003-03-17 03:22+0000 Last-Translator: Laurentiu Buzdugan Language-Team: Romanian MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); socket() #1 a eºuat.socket() #2 a eºuat.demonul de pornire %s a reuºit.%s nu este un fiºier normal sau o legãturã simbolicã.%s remapat cãtre %s@localhost.%s: a avut loc o eroare de tip nume de server temporar. Încercaþi mai târziu.%s: nume host este valid dar nu are o adresã IP.%s: opþiune ilegalã -- %c %s: opþiune ilegalã -- %c %s: opþiunea `%c%s' nu permite un argument %s: opþiunea `%s' este ambiguã %s: opþiunea `%s' necesitã un argument %s: opþiunea `--%s' nu permite un argument %s: opþiunea `-W %s' nu permite un argument %s: opþiunea `-W %s' este ambiguã %s: opþiunea necesitã un argument -- %c %s: eroare DNS necunoscutã %d.%s: opþiune nerecunoscutã `%c%s' %s: opþiune nerecunoscutã `--%s' %s: a avut loc o eroare de tip nume de server nedeterminat.- Tip de certificat: %s - Cifru: %s - Compresie: %s - MAC: %s - Protocol: %s Adresa trebuie sã fie un IP, nu un nume de domeniu.Tipul de adresã nu este suportat.Nume utilizator sau parolã greºitã.Nu pot trimite nume utilizator sau parolã nulã.Comanda nu este suportatã.M-am conectat la %s:%uConectarea închisã cu succes.Conectarea de la %s:%uConectarea nu este permisã de un set de reguli.Conectare refuzatã.Nu mã pot conecta la to %s:%u. %s.DSA GNU Anubis legat la %s:%uGNU Anubis ruleazã...GPGME: %s.GPGME: a eºuat. %s.Eºuare generalã server SOCKS.Obþinere subºir %d a eºuat (%d).Obþinem informaþii despre host-ul remote...Host-ul nu poate fi atins.IDENT: conectat la %s:%uIDENT: date probabil criptate cu DES...IDENT: date incorecte (DES decriptat).IDENT: date incorecte.IDENT: recvline() a eºuat: %s.IDENT: am rezolvat utilizator remote ca %s.Am primit o lungime de adresã ilegalã de la host-ul %sIniþializez conectarea TLS/SSL cu MTA...Iniþializez conectarea TLS/SSL cu MUA...Instalaþi GPGME versiunea %s sau o versiune ulterioarã.Utilizator invalid: %sNume utilizator invalid: %sPotrivire, dar prea multe subºiruri.Reþeaua nu poate fi atinsã.Nu a fost gãsit nici un certificat!Certificatul nu a fost trimis.PAM: Nu sunteþi autentificat sã folosiþi GNU Anubis.PAM: Sesiune terminatã.PAM: Sesiune deschisã (restricþii în vigoare).PAM: am eºuat sã eliberez autentificatorului.Probabil nu e un srviciu SOCKS proxy.RSA Citesc fiºierul de configurare sistem %s...Citesc fiºierul de configurare utilizator %s...Cerere respinsã sau eºuatã.Cerere respinsã, pentru cã programul client ºi identd au raportat ID-uri diferite pentru utilizator.Cerere respinsã.Metoda AUTH Proxy SOCKS: NICI O AUTENTIFICARE NECESARÃMetoda AUTH Proxy SOCKS: NUME UTILIZATOR/PAROLÃAUTH Proxy SOCKS: reuºitã.Conectare Proxy SOCKS: reuºitã.SOCKS proxy: %sComanda STARTTLS (ONEWAY) a eºuat.Comanda STARTTLS a eºuat.Serverul nu acceptã o metodã AUTH.Serverul nu acceptã orice metodã,Rãspunsul serverului nu este valid.Am prins un semnal. Ies curat...TCP wrappers: conectarea de la %s:%u respinsã.TTL expirat.MTA-ul nu a fost specificat. Setaþi REMOTE-MTA sau LOCAL-MTA.Certificatul a expirat.Certificatul nu este de considerat de încredere.Certificatul nu este încã activat.Certificatul este de încredere.Pauzã! Ies...Prea mulþi clienþi. Conectarea de la %s:%u respinsã.Hartã translaþii: sintaxã incorectã.NECUNOSCUT Host necunoscut %s.Folosind SOCKS Proxy...Folosesc encripþie TLS/SSL...AVERTISMENT: %sBine aþi venit %s !Permisiuni greºite pentru %s. Setaþi 0600.getsockname() a eºuat: %s.pcre_compile() a eºuat la offset %d: %s.anubis-4.1.1+dfsg1/scripts/0000700000175000017500000000000011123153366013226 5ustar kbkbanubis-4.1.1+dfsg1/scripts/Makefile.in0000600000175000017500000005463011122764064015307 0ustar kbkb# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = scripts DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/am/anubis.m4 \ $(top_srcdir)/am/gpgme.m4 $(top_srcdir)/am/gsasl.m4 \ $(top_srcdir)/am/guile.m4 $(top_srcdir)/am/libgnutls.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fseeko.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpass.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/onceonly.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd_h.m4 \ $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(lispdir)" lispLISP_INSTALL = $(INSTALL_DATA) LISP = $(lisp_LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ANUBIS_BIN_ADM = @ANUBIS_BIN_ADM@ ANUBIS_DEFINES = @ANUBIS_DEFINES@ ANUBIS_GPGFILES = @ANUBIS_GPGFILES@ ANUBIS_LIBOBJS = @ANUBIS_LIBOBJS@ ANUBIS_SBIN_ADM = @ANUBIS_SBIN_ADM@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMACS = @EMACS@ EMACSLOADPATH = @EMACSLOADPATH@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GPG = @GPG@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GREP = @GREP@ GSASL_LIBS = @GSASL_LIBS@ GUILE_BINDIR = @GUILE_BINDIR@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_INCLUDES = @GUILE_INCLUDES@ GUILE_LIBS = @GUILE_LIBS@ GUILE_SCRIPTS = @GUILE_SCRIPTS@ GUILE_SNARF_VERSION = @GUILE_SNARF_VERSION@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTOB = @HAVE_WCTOB@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ INCLUDES = @INCLUDES@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBANUBIS_LIBDEPS = @LIBANUBIS_LIBDEPS@ LIBANUBIS_LTLIBDEPS = @LIBANUBIS_LTLIBDEPS@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_CONFIG = @LIBGNUTLS_CONFIG@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4_DEFS = @M4_DEFS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYSEXITS_H = @SYSEXITS_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ idecrypt_path = @idecrypt_path@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ lisp_LISP = @lisp_LISP@ lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = debian.init redhat.init all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits scripts/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnits scripts/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh elc-stamp: $(LISP) @echo 'WARNING: Warnings can be ignored. :-)' @rm -f elc-temp && touch elc-temp if test "$(EMACS)" != no; then \ set x; \ list='$(LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ set x "$$@" "$$d$$p"; shift; \ done; \ shift; \ EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \ else : ; fi @mv -f elc-temp $@ $(am__ELCFILES): elc-stamp @if test "$(EMACS)" != no && test ! -f $@; then \ trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \ if mkdir elc-lock 2>/dev/null; then \ rm -f elc-stamp; \ $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \ rmdir elc-lock; \ else \ while test -d elc-lock; do sleep 1; done; \ test -f elc-stamp; exit $$?; \ fi; \ else : ; fi install-lispLISP: $(lisp_LISP) $(ELCFILES) @$(NORMAL_INSTALL) @if test "$(EMACS)" != no; then \ test -z "$(lispdir)" || $(MKDIR_P) "$(DESTDIR)$(lispdir)"; \ list='$(lisp_LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(lispLISP_INSTALL) '$$d$$p' '$(DESTDIR)$(lispdir)/$$f'"; \ $(lispLISP_INSTALL) "$$d$$p" "$(DESTDIR)$(lispdir)/$$f"; \ if test -f $${p}c; then \ echo " $(lispLISP_INSTALL) '$${p}c' '$(DESTDIR)$(lispdir)/$${f}c'"; \ $(lispLISP_INSTALL) "$${p}c" "$(DESTDIR)$(lispdir)/$${f}c"; \ else : ; fi; \ done; \ else : ; fi uninstall-lispLISP: @$(NORMAL_UNINSTALL) @if test "$(EMACS)" != no; then \ list='$(lisp_LISP)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(lispdir)/$$f' '$(DESTDIR)$(lispdir)/$${f}c'"; \ rm -f "$(DESTDIR)$(lispdir)/$$f" "$(DESTDIR)$(lispdir)/$${f}c"; \ done; \ else : ; fi clean-lisp: -rm -f elc-stamp $(ELCFILES) tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LISP) installdirs: for dir in "$(DESTDIR)$(lispdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-lisp mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-lispLISP install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-lispLISP .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-lisp \ distclean distclean-generic distdir dvi dvi-am html html-am \ info info-am install install-am install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-lispLISP install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am uninstall-lispLISP # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: anubis-4.1.1+dfsg1/scripts/debian.init0000700000175000017500000000150611121752642015342 0ustar kbkb#!/bin/sh # # DEBIAN: # To start GNU Anubis as a system service, copy this file to # `/etc/init.d/anubis' and run the "update-rc.d anubis defaults". # To remove the service, delete the `/etc/init.d/anubis' file, # and run the "update-rc.d anubis remove". # PROGRAM="anubis" case "$1" in start) echo -n $"Starting $PROGRAM: " if start-stop-daemon --start --quiet --exec $PROGRAM then echo "succeeded." else echo "anubis already running." fi ;; stop) echo -n $"Stopping $PROGRAM: " start-stop-daemon --stop --quiet --exec $PROGRAM echo "succeeded." ;; force-reload|restart) echo -n $"Restarting $PROGRAM: " start-stop-daemon --stop --quiet --exec $PROGRAM start-stop-daemon --start --quiet --exec $PROGRAM echo "succeeded." ;; *) echo "Usage: /etc/init.d/anubis {start|stop|restart}" exit 1 ;; esac exit 0 anubis-4.1.1+dfsg1/scripts/redhat.init0000700000175000017500000000164211121752642015370 0ustar kbkb#!/bin/sh # # chkconfig: 2345 81 45 # description: An SMTP message submission daemon. # processname: anubis # config: /etc/anubisrc # author: The Anubis Team # # Source function library. . /etc/init.d/functions # Get config. . /etc/sysconfig/network # Check that networking is up. if [ "$NETWORKING" = "no" ] then exit 0 fi RETVAL=0 PROGRAM="anubis" start () { echo -n $"Starting $PROGRAM: " daemon $PROGRAM RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$PROGRAM } stop () { echo -n $"Stopping $PROGRAM: " killproc $PROGRAM RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$PROGRAM } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status $PROGRAM ;; restart|reload) stop start ;; condrestart) [ -f /var/lock/subsys/$PROGRAM ] && restart || : ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" exit 1 esac exit $? anubis-4.1.1+dfsg1/scripts/Makefile.am0000600000175000017500000000145711121752642015273 0ustar kbkb## ## scripts/Makefile.am ## ## This file is part of GNU Anubis. ## Copyright (C) 2001, 2002, 2003, 2007 The Anubis Team. ## ## GNU Anubis is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by the ## Free Software Foundation; either version 3 of the License, or (at your ## option) any later version. ## ## GNU Anubis is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License along ## with GNU Anubis. If not, see . ## EXTRA_DIST = debian.init redhat.init ## EOF anubis-4.1.1+dfsg1/config.h.in0000600000175000017500000004132711122764115013572 0ustar kbkb/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to the number of bits in type 'ptrdiff_t'. */ #undef BITSIZEOF_PTRDIFF_T /* Define to the number of bits in type 'sig_atomic_t'. */ #undef BITSIZEOF_SIG_ATOMIC_T /* Define to the number of bits in type 'size_t'. */ #undef BITSIZEOF_SIZE_T /* Define to the number of bits in type 'wchar_t'. */ #undef BITSIZEOF_WCHAR_T /* Define to the number of bits in type 'wint_t'. */ #undef BITSIZEOF_WINT_T /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. */ #undef CRAY_STACKSEG_END /* Define to 1 if using `alloca.c'. */ #undef C_ALLOCA /* Define the default unprivileged user. */ #undef DEFAULT_UNPRIVILEGED_USER /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Guile version number: MAX*10 + MIN */ #undef GUILE_VERSION /* Define to 1 if you have 'alloca' after including , a header that may be supplied by this distribution. */ #undef HAVE_ALLOCA /* Define to 1 if you have and it should be used (not on Ultrix). */ #undef HAVE_ALLOCA_H /* Define to 1 if you have the header file. */ #undef HAVE_ARPA_INET_H /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define to 1 if you have the `daemon' function. */ #undef HAVE_DAEMON /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FFLUSH_UNLOCKED /* Define to 1 if you have the declaration of `flockfile', and to 0 if you don't. */ #undef HAVE_DECL_FLOCKFILE /* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FPUTS_UNLOCKED /* Define to 1 if you have the declaration of `funlockfile', and to 0 if you don't. */ #undef HAVE_DECL_FUNLOCKFILE /* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_GETC_UNLOCKED /* Define to 1 if you have the declaration of `getdelim', and to 0 if you don't. */ #undef HAVE_DECL_GETDELIM /* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. */ #undef HAVE_DECL_GETENV /* Define to 1 if you have the declaration of `getline', and to 0 if you don't. */ #undef HAVE_DECL_GETLINE /* Define to 1 if you have the declaration of `getpass', and to 0 if you don't. */ #undef HAVE_DECL_GETPASS /* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_PUTC_UNLOCKED /* Define to 1 if you have the declaration of `strdup', and to 0 if you don't. */ #undef HAVE_DECL_STRDUP /* Define to 1 if you have the declaration of `strerror', and to 0 if you don't. */ #undef HAVE_DECL_STRERROR /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #undef HAVE_DECL_STRERROR_R /* Define to 1 if you have the declaration of `__fsetlocking', and to 0 if you don't. */ #undef HAVE_DECL___FSETLOCKING /* Define if you have the declaration of environ. */ #undef HAVE_ENVIRON_DECL /* Define to 1 if you have the header file. */ #undef HAVE_ERRNO_H /* Define to 1 if you have the `flockfile' function. */ #undef HAVE_FLOCKFILE /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #undef HAVE_FSEEKO /* Define to 1 if you have the `funlockfile' function. */ #undef HAVE_FUNLOCKFILE /* Define to 1 if you have the `getdelim' function. */ #undef HAVE_GETDELIM /* Define to 1 if you have the header file. */ #undef HAVE_GETOPT_H /* Define to 1 if you have the `getopt_long_only' function. */ #undef HAVE_GETOPT_LONG_ONLY /* Define to 1 if you have the `getpass' function. */ #undef HAVE_GETPASS /* Define to 1 if you have the `getrlimit' function. */ #undef HAVE_GETRLIMIT /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define to 1 if you have the header file. */ #undef HAVE_GNUTLS_GNUTLS_H /* Define to 1 if you have the header file. */ #undef HAVE_GPGME_H /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV /* Define to 1 if the compiler supports one of the keywords 'inline', '__inline__', '__inline' and effectively inlines functions marked as such. */ #undef HAVE_INLINE /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define if you have libgdbm */ #undef HAVE_LIBGDBM /* Define to 1 if you have the `gpgme' library (-lgpgme). */ #undef HAVE_LIBGPGME /* Define if you have libmysqlclient */ #undef HAVE_LIBMYSQL /* Define to 1 if you have the `nsl' library (-lnsl). */ #undef HAVE_LIBNSL /* Define to 1 if you have the `pam' library (-lpam). */ #undef HAVE_LIBPAM /* Define to 1 if you have the `pam_misc' library (-lpam_misc). */ #undef HAVE_LIBPAM_MISC /* Define to 1 if you have the `pcre' library (-lpcre). */ #undef HAVE_LIBPCRE /* Define to 1 if you have the `resolv' library (-lresolv). */ #undef HAVE_LIBRESOLV /* Define to 1 if you have the `socket' library (-lsocket). */ #undef HAVE_LIBSOCKET /* Define to 1 if you have the `wrap' library (-lwrap). */ #undef HAVE_LIBWRAP /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* Define to 1 if the system has the type `long long int'. */ #undef HAVE_LONG_LONG_INT /* Define if the 'malloc' function is POSIX compliant. */ #undef HAVE_MALLOC_POSIX /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if libc includes obstacks. */ #undef HAVE_OBSTACK /* Define to 1 if you have the header file. */ #undef HAVE_PCRE_H /* Define to 1 if you have the header file. */ #undef HAVE_PCRE_PCRE_H /* Define to 1 if you have the `putenv' function. */ #undef HAVE_PUTENV /* Define if the 'realloc' function is POSIX compliant. */ #undef HAVE_REALLOC_POSIX /* Define to 1 if you have the `regcomp' function. */ #undef HAVE_REGCOMP /* Define to 1 if you have the header file. */ #undef HAVE_REGEX_H /* Define if you have scm_cell function */ #undef HAVE_SCM_CELL /* Define to 1 if you have the `scm_c_define' function. */ #undef HAVE_SCM_C_DEFINE /* Define to 1 if you have the `scm_c_lookup' function. */ #undef HAVE_SCM_C_LOOKUP /* Define to 1 if you have the `scm_list_1' function. */ #undef HAVE_SCM_LIST_1 /* Define to 1 if you have the `scm_list_n' function. */ #undef HAVE_SCM_LIST_N /* Define to 1 if you have the `scm_long2num' function. */ #undef HAVE_SCM_LONG2NUM /* Define to 1 if you have the header file. */ #undef HAVE_SEARCH_H /* Define to 1 if you have the header file. */ #undef HAVE_SECURITY_PAM_APPL_H /* Define to 1 if you have the header file. */ #undef HAVE_SECURITY_PAM_MISC_H /* Define to 1 if you have the `setegid' function. */ #undef HAVE_SETEGID /* Define to 1 if you have the `setenv' function. */ #undef HAVE_SETENV /* Define to 1 if you have the `seteuid' function. */ #undef HAVE_SETEUID /* Define to 1 if you have the `setregid' function. */ #undef HAVE_SETREGID /* Define to 1 if you have the `setresgid' function. */ #undef HAVE_SETRESGID /* Define to 1 if you have the `setreuid' function. */ #undef HAVE_SETREUID /* Define to 1 if you have the `setrlimit' function. */ #undef HAVE_SETRLIMIT /* Define to 1 if 'sig_atomic_t' is a signed integer type. */ #undef HAVE_SIGNED_SIG_ATOMIC_T /* Define to 1 if 'wchar_t' is a signed integer type. */ #undef HAVE_SIGNED_WCHAR_T /* Define to 1 if 'wint_t' is a signed integer type. */ #undef HAVE_SIGNED_WINT_T /* Define to 1 if you have the `socketpair' function. */ #undef HAVE_SOCKETPAIR /* Define to 1 if you have the header file. */ #undef HAVE_SOCKET_H /* Define to 1 if stdbool.h conforms to C99. */ #undef HAVE_STDBOOL_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_EXT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `strdup' function. */ #undef HAVE_STRDUP /* Define to 1 if you have the `strerror_r' function. */ #undef HAVE_STRERROR_R /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if the system has the type `struct random_data'. */ #undef HAVE_STRUCT_RANDOM_DATA /* Define to 1 if you have the header file. */ #undef HAVE_SYSEXITS_H /* Define to 1 if you have the `syslog' function. */ #undef HAVE_SYSLOG /* Define to 1 if you have the header file. */ #undef HAVE_SYSLOG_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_BITYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_INTTYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the `tcgetattr' function. */ #undef HAVE_TCGETATTR /* Define to 1 if you have the header file. */ #undef HAVE_TCPD_H /* Define to 1 if you have the `tcsetattr' function. */ #undef HAVE_TCSETATTR /* Define to 1 if you have the header file. */ #undef HAVE_TERMIOS_H /* Define to 1 if you have the `tsearch' function. */ #undef HAVE_TSEARCH /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if the system has the type `unsigned long long int'. */ #undef HAVE_UNSIGNED_LONG_LONG_INT /* Define to 1 if you have the header file. */ #undef HAVE_WCHAR_H /* Define to 1 if you have the header file. */ #undef HAVE_WINSOCK2_H /* Define if you have the 'wint_t' type. */ #undef HAVE_WINT_T /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL /* Define to 1 if you have the `__fsetlocking' function. */ #undef HAVE___FSETLOCKING /* Define if IDECRYPT_PATH is present. */ #undef IDECRYPT_PATH /* Define to 1 if lseek does not detect pipes. */ #undef LSEEK_PIPE_BROKEN /* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ #undef MALLOC_0_IS_NONNULL /* Define to 1 if NOGPG is requested. */ #undef NOGPG /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if the C compiler supports function prototypes. */ #undef PROTOTYPES /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'ptrdiff_t'. */ #undef PTRDIFF_T_SUFFIX /* Define this to 1 if strerror is broken. */ #undef REPLACE_STRERROR /* Define as the return type of signal handlers (`int' or `void'). */ #undef RETSIGTYPE /* Define to 1 if the `setvbuf' function takes the buffering type as its second argument and the buffer pointer as the third, as on System V before release 3. */ #undef SETVBUF_REVERSED /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'sig_atomic_t'. */ #undef SIG_ATOMIC_T_SUFFIX /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'size_t'. */ #undef SIZE_T_SUFFIX /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at runtime. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ #undef STACK_DIRECTION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if strerror_r returns char *. */ #undef STRERROR_R_CHAR_P /* Define to 1 if USE_GNUTLS is requested. */ #undef USE_GNUTLS /* Define to 1 if USE_SOCKS_PROXY is requested. */ #undef USE_SOCKS_PROXY /* Version number of package */ #undef VERSION /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'wchar_t'. */ #undef WCHAR_T_SUFFIX /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'wint_t'. */ #undef WINT_T_SUFFIX /* Define if Anubis is using GNU SASL */ #undef WITH_GSASL /* Enable Guile support */ #undef WITH_GUILE /* Define to 1 to enable MySQL interface */ #undef WITH_MYSQL /* Define to 1 to enable PostgreSQL interface */ #undef WITH_PGSQL /* Define this if you use an SQL interface */ #undef WITH_SQL /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a `char[]'. */ #undef YYTEXT_POINTER /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ #undef _LARGEFILE_SOURCE /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES /* Define to 1 if on MINIX. */ #undef _MINIX /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif /* Define to rpl_ if the getopt replacement functions and variables should be used. */ #undef __GETOPT_PREFIX /* Define like PROTOTYPES; this can be used by system headers. */ #undef __PROTOTYPES /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline #endif /* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. __APPLE__ && __MACH__ test for MacOS X. __APPLE_CC__ tests for the Apple compiler and its version. __STDC_VERSION__ tests for the C99 mode. */ #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ # define __GNUC_STDC_INLINE__ 1 #endif /* Define to `int' if does not define. */ #undef pid_t /* Define to the equivalent of the C99 'restrict' keyword, or to nothing if this is not supported. Do not define if restrict is supported directly. */ #undef restrict /* Work around a bug in Sun C++: it does not support _Restrict, even though the corresponding Sun C compiler does, which causes "#define restrict _Restrict" in the previous line. Perhaps some future version of Sun C++ will work with _Restrict; if so, it'll probably define __RESTRICT, just as Sun C does. */ #if defined __SUNPRO_CC && !defined __RESTRICT # define _Restrict #endif /* Define to `unsigned int' if does not define. */ #undef size_t /* Define to int if does not define */ #undef socklen_t /* Define to `unsigned char' if does not define. */ #undef u_char /* Define as a marker that can be attached to function parameter declarations for parameters that are not used. This helps to reduce warnings, such as from GCC -Wunused-parameter. */ #if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) # define _UNUSED_PARAMETER_ __attribute__ ((__unused__)) #else # define _UNUSED_PARAMETER_ #endif #if defined (SETVBUF_REVERSED) # define SETVBUF(str,buf,mode,size) setvbuf(str,mode,buf,size) #else # define SETVBUF(str,buf,mode,size) setvbuf(str,buf,mode,size) #endif #define gnutls_x509_fingerprint gnutls_fingerprint anubis-4.1.1+dfsg1/AUTHORS0000600000175000017500000000043711121752642012615 0ustar kbkb Authors of GNU Anubis ===================== Wojciech Polak Sergey Poznyakoff Krzysztof Burghardt Please send any bug reports, improvements, comments, suggestions, or questions to . EOF anubis-4.1.1+dfsg1/testsuite/0000700000175000017500000000000011123153366013570 5ustar kbkbanubis-4.1.1+dfsg1/testsuite/mta.c0000600000175000017500000004064311121752642014526 0ustar kbkb/* This file is part of GNU Anubis testsuite. Copyright (C) 2003, 2004, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ /* This is a "fake" mta designed for testing purposes. It imitates sendmail SMTP modes (daemon and stdin). It does not actually send anything, instead it just outputs the transcript of the SMTP session. Invocation: 1. mta -bs [-d FILE] Use the SMTP protocol on standard input and output. 2. mta -bd [-p port] [-d FILE] Operates as daemon. If port is given, mta will listen on that port. Otherwise, it will use the first free port in the range 1024-65535. In this case, mta prints the port number on the stdout, prior to starting operation. Notice, that in this mode mta does not disconnect itself from the controlling terminal, it always stays on the foreground. Option -d in both cases sets the name of the output diagnostics file. Environment variables: MTA_DIAG Sets the name of the output diagnostic file. By default, the diagnostics goes to stderr. MTA_APPEND When set to any non-empty value, directs mta to append to the diagnostics file, not to overwrite it. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #ifdef HAVE_GETOPT_H # include #endif #include #include #include #include #include #include #include #include #include #include #include #include #if defined(USE_GNUTLS) && defined(HAVE_GNUTLS_GNUTLS_H) # include # define HAVE_TLS #endif /* USE_GNUTLS and HAVE_GNUTLS_GNUTLS_H */ FILE *diag = NULL; /* diagnostic output */ int port = 0; /* Port number (for smtp mode) */ #ifdef HAVE_TLS char *tls_cert; /* TLS sertificate */ char *tls_key; /* TLS key */ char *tls_cafile; #define DH_BITS 768 #define enable_tls() (tls_cafile != NULL || (tls_cert != NULL && tls_key != NULL)) void tls_init (void); gnutls_dh_params dh_params; static gnutls_certificate_server_credentials x509_cred; #endif /* HAVE_TLS */ char *progname; int mta_daemon (int, char **); int mta_stdio (int, char **); void error (const char *, ...); void smtp_reply (int, char *, ...); void reset_capa (char *); #define R_CONT 0x8000 #define R_CODEMASK 0xfff int main (int argc, char **argv) { int c, status; int (*mta_mode) (int argc, char **argv) = NULL; char *diag_name = NULL; int append = getenv ("MTA_APPEND") != NULL; progname = strrchr (argv[0], '/'); if (!progname) progname = argv[0]; else progname++; while ((c = getopt (argc, argv, "ac:C:b:d:k:p:")) != EOF) { switch (c) { case 'a': append = 1; break; case 'b': switch (optarg[0]) { case 'd': mta_mode = mta_daemon; break; case 's': mta_mode = mta_stdio; break; default: error ("unsupported mode"); exit (1); } break; #ifdef HAVE_TLS case 'c': tls_cert = optarg; break; case 'C': tls_cafile = optarg; break; case 'k': tls_key = optarg; break; #endif case 'd': diag_name = optarg; break; case 'p': port = strtoul (optarg, NULL, 0); break; default: error ("unknown option"); exit (1); } } if (!diag_name) diag_name = getenv ("MTA_DIAG"); if (diag_name) { char *mode = append ? "a" : "w"; diag = fopen (diag_name, mode); if (!diag) { error ("can't open diagnostic output: %s", diag_name); return 1; } } argc -= optind; argv += optind; if (!mta_mode) { error ("use either -bs or -bd"); exit (1); } #ifdef HAVE_TLS tls_init (); #endif status = mta_mode (argc, argv); if (diag) fclose (diag); smtp_reply (221, "Done"); return status; } void error (const char *fmt, ...) { va_list ap; va_start (ap, fmt); fprintf (stderr, "%s: ", progname); vfprintf (stderr, fmt, ap); fprintf (stderr, "\n"); va_end (ap); } static void *in, *out; static const char * _def_strerror (int rc) { return rc == -1 ? "end of file reached" : strerror (rc); } static int _def_write (void *sd, char *data, size_t size, size_t * nbytes) { int n = write ((int) sd, data, size); if (n != size) return errno; if (nbytes) *nbytes = n; return 0; } static int _def_read (void *sd, char *data, size_t size, size_t * nbytes) { int n = read ((int) sd, data, size); if (n != size) return errno ? errno : -1; if (nbytes) *nbytes = n; return 0; } static int _def_close (void *sd) { return close ((int) sd); } int (*_mta_read) (void *, char *, size_t, size_t *) = _def_read; int (*_mta_write) (void *, char *, size_t, size_t *) = _def_write; int (*_mta_close) (void *) = _def_close; const char *(*_mta_strerror) (int) = _def_strerror; #ifdef HAVE_TLS static void _tls_cleanup_x509 (void) { if (x509_cred) gnutls_certificate_free_credentials (x509_cred); } static void generate_dh_params (void) { gnutls_dh_params_init (&dh_params); gnutls_dh_params_generate2 (dh_params, DH_BITS); } void tls_init (void) { if (!enable_tls ()) return; gnutls_global_init (); atexit (gnutls_global_deinit); gnutls_certificate_allocate_credentials (&x509_cred); atexit (_tls_cleanup_x509); if (tls_cafile) { int rc = gnutls_certificate_set_x509_trust_file (x509_cred, tls_cafile, GNUTLS_X509_FMT_PEM); if (rc < 0) { gnutls_perror (rc); return; } } if (tls_cert && tls_key) gnutls_certificate_set_x509_key_file (x509_cred, tls_cert, tls_key, GNUTLS_X509_FMT_PEM); generate_dh_params (); gnutls_certificate_set_dh_params (x509_cred, dh_params); } static ssize_t _tls_fd_pull (gnutls_transport_ptr fd, void *buf, size_t size) { int rc; do { rc = read ((int) fd, buf, size); } while (rc == -1 && errno == EAGAIN); return rc; } static ssize_t _tls_fd_push (gnutls_transport_ptr fd, const void *buf, size_t size) { int rc; do { rc = write ((int) fd, buf, size); } while (rc == -1 && errno == EAGAIN); return rc; } static const char * _tls_strerror (int rc) { return gnutls_strerror (rc); } static int _tls_write (void *sd, char *data, size_t size, size_t * nbytes) { int rc; do rc = gnutls_record_send (sd, data, size); while (rc == GNUTLS_E_INTERRUPTED || rc == GNUTLS_E_AGAIN); if (rc >= 0) { if (nbytes) *nbytes = rc; return 0; } return rc; } static int _tls_read (void *sd, char *data, size_t size, size_t * nbytes) { int rc = gnutls_record_recv (sd, data, size); if (rc >= 0) { if (nbytes) *nbytes = rc; return 0; } return rc; } static int _tls_close (void *sd) { if (sd) { gnutls_bye (sd, GNUTLS_SHUT_RDWR); gnutls_deinit (sd); } return 0; } static gnutls_session tls_session_init (void) { gnutls_session session = 0; int rc; gnutls_init (&session, GNUTLS_SERVER); gnutls_set_default_priority (session); gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, x509_cred); gnutls_certificate_server_set_request (session, GNUTLS_CERT_REQUEST); gnutls_dh_set_prime_bits (session, DH_BITS); gnutls_transport_set_pull_function (session, _tls_fd_pull); gnutls_transport_set_push_function (session, _tls_fd_push); gnutls_transport_set_ptr2 (session, (gnutls_transport_ptr) in, (gnutls_transport_ptr) out); rc = gnutls_handshake (session); if (rc < 0) { gnutls_deinit (session); gnutls_perror (rc); return 0; } return (gnutls_session) session; } void smtp_starttls (void) { gnutls_session session; smtp_reply (220, "Ready to start TLS"); session = tls_session_init (); if (session) { in = out = session; _mta_read = _tls_read; _mta_write = _tls_write; _mta_close = _tls_close; _mta_strerror = _tls_strerror; reset_capa ("STARTTLS"); } else smtp_reply (530, "TLS negotiation failed"); } #endif /* HAVE_TLS */ void smtp_reply (int code, char *fmt, ...) { va_list ap; int cont = code & R_CONT ? '-' : ' '; static char obuf[512]; int n, rc; va_start (ap, fmt); n = snprintf (obuf, sizeof obuf, "%d%c", code & R_CODEMASK, cont); n += vsnprintf (obuf + n, sizeof obuf - n, fmt, ap); va_end (ap); n += snprintf (obuf + n, sizeof obuf - n, "\r\n"); rc = _mta_write (out, obuf, n, NULL); if (rc) { fprintf (stderr, "Write failed: %s", _mta_strerror (rc)); abort (); } } int get_input_line (char *buf, size_t bufsize) { int i, rc; for (i = 0; i < bufsize - 1; i++) { size_t n; rc = _mta_read (in, buf + i, 1, &n); if (rc) { fprintf (stderr, "Read failed: %s", _mta_strerror (rc)); abort (); } if (n == 0) break; if (buf[i] == '\n') break; } buf[++i] = 0; return i; } #define STATE_INIT 0 #define STATE_EHLO 1 #define STATE_MAIL 2 #define STATE_RCPT 3 #define STATE_DATA 4 #define STATE_QUIT 5 #define STATE_DOT 6 #define KW_EHLO 0 #define KW_HELO 1 #define KW_MAIL 2 #define KW_RCPT 3 #define KW_DATA 4 #define KW_HELP 5 #define KW_QUIT 6 #define KW_STARTTLS 7 int smtp_kw (const char *name) { static struct kw { char *name; int code; } kw[] = { { "ehlo", KW_EHLO }, { "helo", KW_HELO }, { "mail", KW_MAIL }, { "rcpt", KW_RCPT }, { "data", KW_DATA }, { "help", KW_HELP }, { "quit", KW_QUIT }, { "help", KW_HELP }, { "starttls", KW_STARTTLS }, { NULL }, }; int i; for (i = 0; kw[i].name != NULL; i++) if (strcasecmp (name, kw[i].name) == 0) return kw[i].code; return -1; } char * skipws (char *str) { while (*str && isspace (*(u_char *) str)) str++; return str; } char * skipword (char *str) { while (*str && !isspace (*(u_char *) str)) str++; return str; } int argcv_split (char *buf, int *pargc, char ***pargv) { char *t; int i, argc = 0; char **argv; t = buf; do { argc++; t = skipws (t); } while (*t && (t = skipword (t))); argv = calloc (argc, sizeof (*argv)); for (i = 0, t = strtok (buf, " \t"); t; i++, t = strtok (NULL, " \t")) argv[i] = strdup (t); argv[i] = NULL; *pargc = argc - 1; *pargv = argv; return 0; } int argcv_free (int argc, char **argv) { while (--argc >= 0) if (argv[argc]) free (argv[argc]); free (argv); return 1; } char *mta_capa[] = { #ifdef HAVE_TLS "STARTTLS", #endif NULL }; void reset_capa (char *name) { int i; for (i = 0; mta_capa[i]; i++) if (strcmp (mta_capa[i], name) == 0) { mta_capa[i] = NULL; break; } } void smtp_ehlo (int extended) { int i; if (!extended) { smtp_reply (250, "pleased to meet you"); return; } smtp_reply (R_CONT | 250, "pleased to meet you"); for (i = 0; mta_capa[i]; i++) smtp_reply (R_CONT | 250, "%s", mta_capa[i]); smtp_reply (250, "HELP"); } void smtp_help (void) { smtp_reply (502, "HELP not implemented"); } /* Check if (*PARGV)[1] begins with the string PFX, followed by ':'. Return 0 if so, 1 otherwise. If any characters follow the semicolon, reformat *PARGV so that [1] contains only PFX:, [2] contains the characters in question, and the rest of entries after [2] is properly reindexed. */ int check_address_command(const char *pfx, int *pargc, char ***pargv) { int argc = *pargc; char **argv = *pargv; int pfxlen = strlen (pfx); int arglen = strlen (argv[1]); if (argc >= 2 && arglen > pfxlen && strncasecmp (argv[1], pfx, pfxlen) == 0 && argv[1][pfxlen] == ':') { if (arglen > pfxlen + 1) { argc++; argv = realloc (argv, (argc + 1) * sizeof (argv[0])); memmove (&argv[2], &argv[1], (argc - 1) * sizeof argv[1]); argv[2] = strdup (argv[1] + pfxlen + 1); argv[1][pfxlen + 1] = 0; *pargc = argc; *pargv = argv; } return 0; } return 1; } void smtp (void) { int state; char buf[128]; smtp_reply (220, "localhost bitbucket ready"); for (state = STATE_INIT; state != STATE_QUIT;) { int argc; char **argv; int kw, len; if (get_input_line (buf, sizeof buf) <= 0) exit (1); len = strlen (buf); while (len > 0 && (buf[len - 1] == '\n' || buf[len - 1] == '\r')) len--; buf[len] = 0; if (diag) fprintf (diag, "%s\n", buf); argcv_split (buf, &argc, &argv); if (argc == 0) continue; kw = smtp_kw (argv[0]); if (kw == KW_QUIT) { state = STATE_QUIT; argcv_free (argc, argv); continue; } else if (kw == KW_HELP) { smtp_help (); continue; } switch (state) { case STATE_INIT: switch (kw) { case KW_EHLO: case KW_HELO: if (argc == 2) { smtp_ehlo (kw == KW_EHLO); state = STATE_EHLO; } else smtp_reply (501, "%s requires domain address", argv[0]); break; default: smtp_reply (503, "Polite people say HELO first"); break; } break; case STATE_EHLO: switch (kw) { case KW_EHLO: if (argc == 2) { smtp_ehlo (1); } else smtp_reply (501, "%s requires domain address", argv[0]); break; case KW_MAIL: if (check_address_command("from", &argc, &argv) == 0) { smtp_reply (250, "Sender OK"); state = STATE_MAIL; } else smtp_reply (501, "Syntax error"); break; #ifdef HAVE_TLS case KW_STARTTLS: smtp_starttls (); break; #endif default: smtp_reply (503, "Need MAIL command"); } break; case STATE_MAIL: switch (kw) { case KW_RCPT: if (check_address_command("to", &argc, &argv) == 0) { smtp_reply (250, "Recipient OK"); state = STATE_RCPT; } else smtp_reply (501, "Syntax error"); break; default: smtp_reply (503, "Need RCPT command"); } break; case STATE_RCPT: switch (kw) { case KW_RCPT: if (argc == 3 && strcasecmp (argv[1], "to:") == 0) { smtp_reply (250, "Recipient OK"); } else smtp_reply (501, "Syntax error"); break; case KW_DATA: smtp_reply (354, "Enter mail, end with \".\" on a line by itself"); state = STATE_DATA; break; default: smtp_reply (501, "Syntax error"); } case STATE_DATA: if (strcmp (buf, ".") == 0) { smtp_reply (250, "Mail accepted for delivery"); state = STATE_EHLO; } break; } } } int mta_daemon (int argc, char **argv) { int on = 1; struct sockaddr_in address; int fd; fd = socket (PF_INET, SOCK_STREAM, 0); if (fd < 0) { perror ("socket"); return 1; } setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof (on)); memset (&address, 0, sizeof (address)); address.sin_family = AF_INET; address.sin_addr.s_addr = INADDR_ANY; if (port) { address.sin_port = htons (port); if (bind (fd, (struct sockaddr *) &address, sizeof (address)) < 0) { close (fd); perror ("bind"); return 1; } } else { int status; port = 1023; do { if (++port >= 65535) { error ("can't bind socket: all ports in use?"); return 1; } address.sin_port = htons (port); status = bind (fd, (struct sockaddr *) &address, sizeof (address)); } while (status < 0); printf ("%d\n", port); fclose (stdout); } listen (fd, 5); while (1) { fd_set rfds; struct sockaddr_in his_addr; int sfd, len, status; FD_ZERO (&rfds); FD_SET (fd, &rfds); status = select (fd + 1, &rfds, NULL, NULL, NULL); if (status == -1) { if (errno == EINTR) continue; perror ("select"); return 1; } len = sizeof (his_addr); if ((sfd = accept (fd, (struct sockaddr *) &his_addr, &len)) < 0) { perror ("accept"); return 1; } in = out = (void *) fd; smtp (); break; } return 0; } int mta_stdio (int argc, char **argv) { in = (void *) fileno (stdin); out = (void *) fileno (stdout); smtp (); return 0; } /* EOF */ anubis-4.1.1+dfsg1/testsuite/Makefile.in0000600000175000017500000010343311122764064015645 0ustar kbkb# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ noinst_PROGRAMS = mta$(EXEEXT) findport$(EXEEXT) subdir = testsuite DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/am/anubis.m4 \ $(top_srcdir)/am/gpgme.m4 $(top_srcdir)/am/gsasl.m4 \ $(top_srcdir)/am/guile.m4 $(top_srcdir)/am/libgnutls.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fseeko.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpass.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/onceonly.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd_h.m4 \ $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) findport_SOURCES = findport.c findport_OBJECTS = findport.$(OBJEXT) findport_LDADD = $(LDADD) mta_SOURCES = mta.c mta_OBJECTS = mta.$(OBJEXT) mta_DEPENDENCIES = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = findport.c mta.c DIST_SOURCES = findport.c mta.c RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(lispdir)" lispLISP_INSTALL = $(INSTALL_DATA) LISP = $(lisp_LISP) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir EXPECT = expect RUNTEST = runtest DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ANUBIS_BIN_ADM = @ANUBIS_BIN_ADM@ ANUBIS_DEFINES = @ANUBIS_DEFINES@ ANUBIS_GPGFILES = @ANUBIS_GPGFILES@ ANUBIS_LIBOBJS = @ANUBIS_LIBOBJS@ ANUBIS_SBIN_ADM = @ANUBIS_SBIN_ADM@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMACS = @EMACS@ EMACSLOADPATH = @EMACSLOADPATH@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GPG = @GPG@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GREP = @GREP@ GSASL_LIBS = @GSASL_LIBS@ GUILE_BINDIR = @GUILE_BINDIR@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_INCLUDES = @GUILE_INCLUDES@ GUILE_LIBS = @GUILE_LIBS@ GUILE_SCRIPTS = @GUILE_SCRIPTS@ GUILE_SNARF_VERSION = @GUILE_SNARF_VERSION@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTOB = @HAVE_WCTOB@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ INCLUDES = @LIBGNUTLS_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBANUBIS_LIBDEPS = @LIBANUBIS_LIBDEPS@ LIBANUBIS_LTLIBDEPS = @LIBANUBIS_LTLIBDEPS@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_CONFIG = @LIBGNUTLS_CONFIG@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4_DEFS = @M4_DEFS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYSEXITS_H = @SYSEXITS_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ idecrypt_path = @idecrypt_path@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ lisp_LISP = @lisp_LISP@ lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = dejagnu DEJATOOL = anubis RUNTESTFLAGS = CLEANFILES = *.log test_dirs = lib anubis anubis.authmode SUBDIRS = . etc data mta_LDADD = @LIBGNUTLS_LIBS@ DISTCLEANFILES = *.exp *.log *.sum all: all-recursive .SUFFIXES: .SUFFIXES: .c .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits testsuite/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnits testsuite/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstPROGRAMS: -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) findport$(EXEEXT): $(findport_OBJECTS) $(findport_DEPENDENCIES) @rm -f findport$(EXEEXT) $(LINK) $(findport_OBJECTS) $(findport_LDADD) $(LIBS) mta$(EXEEXT): $(mta_OBJECTS) $(mta_DEPENDENCIES) @rm -f mta$(EXEEXT) $(LINK) $(mta_OBJECTS) $(mta_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/findport.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mta.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` elc-stamp: $(LISP) @echo 'WARNING: Warnings can be ignored. :-)' @rm -f elc-temp && touch elc-temp if test "$(EMACS)" != no; then \ set x; \ list='$(LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ set x "$$@" "$$d$$p"; shift; \ done; \ shift; \ EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \ else : ; fi @mv -f elc-temp $@ $(am__ELCFILES): elc-stamp @if test "$(EMACS)" != no && test ! -f $@; then \ trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \ if mkdir elc-lock 2>/dev/null; then \ rm -f elc-stamp; \ $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \ rmdir elc-lock; \ else \ while test -d elc-lock; do sleep 1; done; \ test -f elc-stamp; exit $$?; \ fi; \ else : ; fi install-lispLISP: $(lisp_LISP) $(ELCFILES) @$(NORMAL_INSTALL) @if test "$(EMACS)" != no; then \ test -z "$(lispdir)" || $(MKDIR_P) "$(DESTDIR)$(lispdir)"; \ list='$(lisp_LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(lispLISP_INSTALL) '$$d$$p' '$(DESTDIR)$(lispdir)/$$f'"; \ $(lispLISP_INSTALL) "$$d$$p" "$(DESTDIR)$(lispdir)/$$f"; \ if test -f $${p}c; then \ echo " $(lispLISP_INSTALL) '$${p}c' '$(DESTDIR)$(lispdir)/$${f}c'"; \ $(lispLISP_INSTALL) "$${p}c" "$(DESTDIR)$(lispdir)/$${f}c"; \ else : ; fi; \ done; \ else : ; fi uninstall-lispLISP: @$(NORMAL_UNINSTALL) @if test "$(EMACS)" != no; then \ list='$(lisp_LISP)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(lispdir)/$$f' '$(DESTDIR)$(lispdir)/$${f}c'"; \ rm -f "$(DESTDIR)$(lispdir)/$$f" "$(DESTDIR)$(lispdir)/$${f}c"; \ done; \ else : ; fi clean-lisp: -rm -f elc-stamp $(ELCFILES) # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-DEJAGNU: site.exp srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \ EXPECT=$(EXPECT); export EXPECT; \ runtest=$(RUNTEST); \ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \ exit_status=0; l='$(DEJATOOL)'; for tool in $$l; do \ if $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \ then :; else exit_status=1; fi; \ done; \ else echo "WARNING: could not find \`runtest'" 1>&2; :;\ fi; \ exit $$exit_status distclean-DEJAGNU: -rm -f site.exp site.bak -l='$(DEJATOOL)'; for tool in $$l; do \ rm -f $$tool.sum $$tool.log; \ done distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU check: check-recursive all-am: Makefile $(PROGRAMS) $(LISP) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(lispdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-lisp clean-noinstPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-DEJAGNU distclean-compile \ distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-lispLISP install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-lispLISP .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-DEJAGNU check-am clean clean-generic \ clean-lisp clean-noinstPROGRAMS ctags ctags-recursive \ dist-hook distclean distclean-DEJAGNU distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-lispLISP install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am uninstall-lispLISP dist-hook: here=`cd $(top_builddir)/$(subdir) && pwd`; \ srcdir=`cd $(srcdir) && pwd`; \ distdir=`cd $(distdir) && pwd`; \ for dir in $(test_dirs); \ do \ cd $$srcdir;\ mkdir $$distdir/$$dir;\ cd $$dir;\ for file in DISTFILES `cat DISTFILES`; do \ d=$$srcdir/$$dir; \ if test -d $$d/$$file; then \ cp -pr $$d/$$file $$distdir/$$dir/$$file; \ else \ test -f $$distdir/$$dir/$$file \ || cp -p $$d/$$file $$distdir/$$dir/$$file || exit; \ fi; \ done;\ done;\ cd $$here site.exp: Makefile remote.exp @echo 'Making a new site.exp file...' @test ! -f site.bak || rm -f site.bak @echo '## these variables are automatically generated by make ##' > $@-t @echo '# Do not edit here. If you wish to override these values' >> $@-t @echo '# edit the last section' >> $@-t @echo 'set tool $(DEJATOOL)' >> $@-t @echo "set top_srcdir `cd $(top_srcdir); pwd`" >> $@-t @echo "set top_builddir `cd $(top_builddir); pwd`" >> $@-t @echo "set srcdir `cd $(srcdir); pwd`" >> $@-t @echo 'set objdir' `pwd` >> $@-t @echo 'set host_alias "$(host_alias)"' >> $@-t @echo 'set host_triplet $(host_triplet)' >> $@-t @echo 'set target_alias "$(target_alias)"' >> $@-t @echo 'set target_triplet $(target_triplet)' >> $@-t @echo 'set build_alias "$(build_alias)"' >> $@-t @echo 'set build_triplet $(build_triplet)' >> $@-t @echo 'set gpg_prog "$(GPG)"' >> $@-t @echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t @test ! -f site.exp || sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t @test ! -f site.exp || mv site.exp site.bak @mv $@-t site.exp remote.exp:; @echo 'Making a new remote.exp file...' @test ! -f remote.bak || rm -f remote.bak @echo '## These variables are used to set up for the remote testing.' >> $@-t @echo '## Please, read file README in this directory for instructions' >> $@-t @echo '## on how to use this file' >> $@-t @echo "set host_board `hostname`" >> $@-t @echo 'set board_info($$host_board,connect) rlogin' >> $@-t @echo 'set board_info($$host_board,shell_prompt) "\\$$ "' >> $@-t @echo "set board_info(\$$host_board,top_srcdir) `cd $(top_srcdir); pwd`" >> $@-t @echo "set board_info(\$$host_board,srcdir) `cd $(srcdir); pwd`" >> $@-t @echo "set board_info(\$$host_board,objdir) `pwd`" >> $@-t @echo "set board_info(\$$host_board,top_srcdir) `cd $(top_srcdir); pwd`" >> $@-t @echo "set board_info(\$$host_board,top_builddir) `cd $(top_builddir); pwd`" >> $@-t @echo "set board_info(\$$host_board,gpg_prog) '$(GPG)'" >> $@-t @test ! -f remote.exp || mv remote.exp remote.bak @mv $@-t remote.exp # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: anubis-4.1.1+dfsg1/testsuite/anubis.authmode/0000700000175000017500000000000011123153366016656 5ustar kbkbanubis-4.1.1+dfsg1/testsuite/anubis.authmode/base.exp0000600000175000017500000000052711121752642020314 0ustar kbkb# -*- tcl -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2004 The Anubis Team. # # This program is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. run_in_authmode $ANUBIS_SRCDIR/anubis/base.exp anubis-4.1.1+dfsg1/testsuite/anubis.authmode/guile.exp0000600000175000017500000000053011121752642020501 0ustar kbkb# -*- tcl -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2004 The Anubis Team. # # This program is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. run_in_authmode $ANUBIS_SRCDIR/anubis/guile.exp anubis-4.1.1+dfsg1/testsuite/anubis.authmode/mime.exp0000600000175000017500000000052711121752642020331 0ustar kbkb# -*- tcl -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2004 The Anubis Team. # # This program is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. run_in_authmode $ANUBIS_SRCDIR/anubis/mime.exp anubis-4.1.1+dfsg1/testsuite/anubis.authmode/gpg.exp0000600000175000017500000000052611121752642020156 0ustar kbkb# -*- tcl -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2004 The Anubis Team. # # This program is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. run_in_authmode $ANUBIS_SRCDIR/anubis/gpg.exp anubis-4.1.1+dfsg1/testsuite/anubis.authmode/DISTFILES0000600000175000017500000000005611121752642020132 0ustar kbkbabase.exp base.exp gpg.exp guile.exp mime.exp anubis-4.1.1+dfsg1/testsuite/anubis.authmode/abase.exp0000600000175000017500000000630711121752642020457 0ustar kbkb# -*- tcl -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2004 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free # Software Foundation; either version 3 of the License, or (at your option) # any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with GNU Anubis. If not, see . if [anubis_check_capability "GSASL"] { set rmbin [findfile "/bin/rm" "/bin/rm" 0] set cmpbin [findfile "/usr/bin/cmp" "/usr/bin/cmp" 0] if {$rmbin == 0 || $cmpbin == 0} { untested "anubisusr" return } start_daemon remote_exec host "$rmbin" "$ANUBIS_RC_DIR/user.rc" # First upload: # user.rc is missing, we upload std.rc # anubisusr should return 0. std.rc and user.rc should be identical # after this test set message "anubisusr first upload" set res [remote_exec host "$ANUBIS_USR" \ "--netrc $ANUBIS_ETC_DIR/net.rc \ --file $ANUBIS_RC_DIR/std.rc localhost:$ANUBIS_PORT"] if {[llength $res] < 1 || [lindex $res 0]} { fail "$message" return } set res [remote_exec host "$cmpbin" \ "$ANUBIS_RC_DIR/std.rc $ANUBIS_RC_DIR/user.rc"] if {[llength $res] < 1} { fail "$message: executing cmp failed" } elseif {[lindex $res 0]} { fail "$message: files differ" } else { pass "$message" } # Second upload: # We upload the same file, running anubisusr in verbose mode. # Its output should contain string "File NOT changed", # otherwise we declare test failure. set message "anubisusr second upload" set res [remote_exec host "$ANUBIS_USR" \ "-v --netrc $ANUBIS_ETC_DIR/net.rc \ --file $ANUBIS_RC_DIR/std.rc localhost:$ANUBIS_PORT"] if {[llength $res] < 1 || [lindex $res 0]} { fail $message } else { set output [split [lindex $res 1] "\r\n"] set passed 0 for {set i 0} {$i < [llength $output]} {incr i} { verbose "LINE [lindex $output $i]" switch -exact -- "[lindex $output $i]" { "File NOT changed" { set passed 1; break } } } if {$passed} { pass $message } else { fail $message } } # Third upload: # Upload add.rc. After this test user.rc and add.rc must be identical. set message "anubisusr third upload" set res [remote_exec host "$ANUBIS_USR" \ "--netrc $ANUBIS_ETC_DIR/net.rc \ --file $ANUBIS_RC_DIR/add.rc localhost:$ANUBIS_PORT"] if {[llength $res] < 1 || [lindex $res 0]} { fail $message } else { set res [remote_exec host "$cmpbin" \ "$ANUBIS_RC_DIR/add.rc $ANUBIS_RC_DIR/user.rc"] if {[llength $res] < 1} { fail "$message: executing cmp failed" } elseif {[lindex $res 0]} { fail "$message: files differ" } else { pass "$message" } } kill_daemon } else { unsupported "anubisusr tests" } # End of abase.exp anubis-4.1.1+dfsg1/testsuite/etc/0000700000175000017500000000000011123153366014343 5ustar kbkbanubis-4.1.1+dfsg1/testsuite/etc/cond.in0000600000175000017500000000247211121752642015625 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2004 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---BEGIN CONTROL--- logfile TESTDIR/etc/anubis.log local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log ---END--- ---BEGIN RULE--- add header[X-Processed-By] "Anubis" if header[Subject] "Be like water" add header[X-Comment1] "Rule1 OK" fi if command["mail from:"] ".*?" add header[X-Comment2] "Rule2 OK" fi if header["mail from" ]".*?" add header[X-Comment] "False" fi if command["rcpt to:"] ".*?" add header[X-Comment] "False" else add header[X-Comment3] "Rule3 OK" fi ---END--- anubis-4.1.1+dfsg1/testsuite/etc/mod-header.in0000600000175000017500000000230211121752642016677 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003, 2007 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---BEGIN CONTROL--- logfile TESTDIR/etc/anubis.log local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log ---END--- ---BEGIN RULE--- if header[Subject] = :scase "Hybrid Theory" modify [Subject] "Meteora" modify header :re ["X-\(.*\)"] ["X-Old-\1"] modify header [X-Old-LP-InTheEnd] [X-LP-Faint] "rules!" fi if header[Subject] = :scase "Renegades of Funk" modify [Subject] "[RATM \\& music] &" fi ---END--- anubis-4.1.1+dfsg1/testsuite/etc/Makefile.in0000600000175000017500000006005311122764064016420 0ustar kbkb# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = testsuite/etc DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/am/anubis.m4 \ $(top_srcdir)/am/gpgme.m4 $(top_srcdir)/am/gsasl.m4 \ $(top_srcdir)/am/guile.m4 $(top_srcdir)/am/libgnutls.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fseeko.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpass.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/onceonly.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd_h.m4 \ $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(lispdir)" lispLISP_INSTALL = $(INSTALL_DATA) LISP = $(lisp_LISP) DATA = $(noinst_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ANUBIS_BIN_ADM = @ANUBIS_BIN_ADM@ ANUBIS_DEFINES = @ANUBIS_DEFINES@ ANUBIS_GPGFILES = @ANUBIS_GPGFILES@ ANUBIS_LIBOBJS = @ANUBIS_LIBOBJS@ ANUBIS_SBIN_ADM = @ANUBIS_SBIN_ADM@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMACS = @EMACS@ EMACSLOADPATH = @EMACSLOADPATH@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GPG = @GPG@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GREP = @GREP@ GSASL_LIBS = @GSASL_LIBS@ GUILE_BINDIR = @GUILE_BINDIR@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_INCLUDES = @GUILE_INCLUDES@ GUILE_LIBS = @GUILE_LIBS@ GUILE_SCRIPTS = @GUILE_SCRIPTS@ GUILE_SNARF_VERSION = @GUILE_SNARF_VERSION@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTOB = @HAVE_WCTOB@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ INCLUDES = @INCLUDES@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBANUBIS_LIBDEPS = @LIBANUBIS_LIBDEPS@ LIBANUBIS_LTLIBDEPS = @LIBANUBIS_LTLIBDEPS@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_CONFIG = @LIBGNUTLS_CONFIG@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4_DEFS = @M4_DEFS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYSEXITS_H = @SYSEXITS_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ idecrypt_path = @idecrypt_path@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ lisp_LISP = @lisp_LISP@ lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ add1.pat\ add2.pat\ add3.pat\ add-body.pat\ add-body-file.pat\ cond.pat\ del1.pat\ del2.pat\ del3.pat\ del4.pat\ empty.pat\ gpgcrypt.pat\ gpgsign.pat\ gpgse.pat\ interface.in.in\ mime1.pat\ mime2.pat\ mod-body.pat\ mod-header.pat\ mult.pat\ net.rc\ no-backref.pat\ paolo.in\ paolo.pat\ remail.pat\ rot-13.pat\ std.pin\ target.in.in\ tlsoneway.pat\ trigger.pat\ add.in\ cond.in\ del.in\ empty.in\ entire.in\ gpg.in\ mod-body.in\ mod-header.in\ no-backref.in\ remail.in\ std.in\ simple.in\ tlsoneway.in\ trigger.in RCFILES = \ add.rc\ cond.rc\ del.rc\ empty.rc\ entire.rc\ gpg.rc\ interface.in.rc\ mod-body.rc\ mod-header.rc\ no-backref.rc\ paolo.rc\ remail.rc\ simple.rc\ std.rc\ target.in.rc\ tlsoneway.rc\ trigger.rc noinst_DATA = $(RCFILES) std.pat CLEANFILES = $(RCFILES) std.pat DISTCLEANFILES = *.log target.rc interface.rc anubis.pid anubis.trace *.tmp anubis.out user.rc SUFFIXES = .in .rc .pin .pat all: all-am .SUFFIXES: .SUFFIXES: .in .rc .pin .pat $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits testsuite/etc/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnits testsuite/etc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh elc-stamp: $(LISP) @echo 'WARNING: Warnings can be ignored. :-)' @rm -f elc-temp && touch elc-temp if test "$(EMACS)" != no; then \ set x; \ list='$(LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ set x "$$@" "$$d$$p"; shift; \ done; \ shift; \ EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \ else : ; fi @mv -f elc-temp $@ $(am__ELCFILES): elc-stamp @if test "$(EMACS)" != no && test ! -f $@; then \ trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \ if mkdir elc-lock 2>/dev/null; then \ rm -f elc-stamp; \ $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \ rmdir elc-lock; \ else \ while test -d elc-lock; do sleep 1; done; \ test -f elc-stamp; exit $$?; \ fi; \ else : ; fi install-lispLISP: $(lisp_LISP) $(ELCFILES) @$(NORMAL_INSTALL) @if test "$(EMACS)" != no; then \ test -z "$(lispdir)" || $(MKDIR_P) "$(DESTDIR)$(lispdir)"; \ list='$(lisp_LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(lispLISP_INSTALL) '$$d$$p' '$(DESTDIR)$(lispdir)/$$f'"; \ $(lispLISP_INSTALL) "$$d$$p" "$(DESTDIR)$(lispdir)/$$f"; \ if test -f $${p}c; then \ echo " $(lispLISP_INSTALL) '$${p}c' '$(DESTDIR)$(lispdir)/$${f}c'"; \ $(lispLISP_INSTALL) "$${p}c" "$(DESTDIR)$(lispdir)/$${f}c"; \ else : ; fi; \ done; \ else : ; fi uninstall-lispLISP: @$(NORMAL_UNINSTALL) @if test "$(EMACS)" != no; then \ list='$(lisp_LISP)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(lispdir)/$$f' '$(DESTDIR)$(lispdir)/$${f}c'"; \ rm -f "$(DESTDIR)$(lispdir)/$$f" "$(DESTDIR)$(lispdir)/$${f}c"; \ done; \ else : ; fi clean-lisp: -rm -f elc-stamp $(ELCFILES) tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LISP) $(DATA) installdirs: for dir in "$(DESTDIR)$(lispdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-lisp mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-lispLISP install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-lispLISP .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-lisp \ distclean distclean-generic distdir dvi dvi-am html html-am \ info info-am install install-am install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-lispLISP install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am uninstall-lispLISP $(RCFILES) std.pat: Makefile cond.rc: cond.in del.rc: del.in empty.rc: empty.in entire.rc: entire.in interface.in.rc: interface.in.in gpg.rc: gpg.in mod-body.rc: mod-body.in mod-header.rc: mod-header.in simple.rc: simple.in std.rc: std.in target.in.rc: target.in.in trigger.rc: trigger.in paolo.rc: paolo.in std.pat: std.pin .in.rc: m4 -DTOP_SRCDIR=`cd $(top_srcdir); pwd` \ -DTESTDIR=`cd ..; pwd` @M4_DEFS@ $< > $@ .pin.pat: m4 -DTOP_SRCDIR=`cd $(top_srcdir); pwd` \ -DTESTDIR=`cd ..; pwd` \ @M4_DEFS@ $< > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: anubis-4.1.1+dfsg1/testsuite/etc/empty.pat0000600000175000017500000000223711121752642016215 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Empty script :MODE SPAWN :OPTIONS --stdio :RCFILE empty.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: Testing unmodified message This message should go through Anubis unmodified. . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/mod-header.pat0000600000175000017500000000325411121752642017064 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Modifying the message header :MODE SPAWN :OPTIONS --stdio :RCFILE mod-header.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL Subject: Hybrid Theory :ADD Subject: Meteora :DEL X-Mailer: Fake MTA :ADD X-Old-Mailer: Fake MTA :DEL X-LP-InTheEnd: rocks :ADD X-LP-Faint: rules! I can't feel the way I did before Don't turn your back on me I won't be ignored Time won't heal this damage anymore Don't turn your back on me I won't be ignored . :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL Subject: Renegades of Funk :ADD Subject: [RATM & music] Renegades of Funk No matter how hard you try, you can't stop us now! . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/std.in0000600000175000017500000000451311121752642015472 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003, 2007 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---BEGIN CONTROL--- logfile "anubis.log" remote-mta "localhost:25" ifdef(`WITH_SSL',`ssl yes') ---END--- ---BEGIN RULE--- ifdef(`WITH_GPG',`gpg-passphrase "MYSECRETPASSPHRASE"') remove [Lines] if command["mail from"] = ".*?" STOP fi if header[Subject] = "(.*)" and not header[Subject] = :scase "URGENT" add [X-Comment] "This message is not URGENT (\1)." add [X-Comment] "GNU's Not Unix! (\1)" fi if header[X-Mailer] = "(.*)" add [X-Comment] "My love \1" modify [X-Mailer] "The lousy mailer \1" fi trigger "gpgd:(.*)" add [X-GPG-Comment] "Encrypted for \1" ifdef(`WITH_GPG', `gpg-encrypt = \1') done if header[Subject] = "signature" signature-file-append yes fi if header[Subject] = :scase "external" external-body-processor "/usr/bin/formail" fi ifdef(`WITH_GPG',` if header[Subject] = "gpg-all" gpg-encrypt "USERNAME" gpg-sign default fi if header[Subject] = gpg-encrypt gpg-encrypt = USERNAME-1,USERNAME-2,USERNAME-3 fi if header[Subject] = gpg-sign gpg-sign default fi') ifdef(`WITH_GUILE',` if header[Subject] = "rot13-all" guile-process rot-13 #:body guile-process rot-13 #:subject fi if header[Subject] = "rot13-body" guile-process rot-13 #:body fi if header[Subject] = "rot13-subject" guile-process rot-13 #:subject fi') if header[Subject] = "body-append" body-append "misc/notes.txt" fi if header[Subject] = "ALL" body-append "misc/notes.txt" ifdef(`WITH_GPG', `gpg-encrypt "USERNAME"') ifdef(`WITH_GUILE', `guile-process rot-13 #:body guile-process rot-13 #:subject') fi ---END--- anubis-4.1.1+dfsg1/testsuite/etc/add-body.pat0000600000175000017500000000257411121752642016546 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Appending a text to the message body :MODE SPAWN :OPTIONS --stdio :RCFILE add.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Crocodile :DEL X-Command: Complete How doth the little crocodile Improve his shining tail, And pour the waters of the Nile On every golden scale! :ADD How cheerfully he seems to grin, :ADD How neatly spread his claws, :ADD And welcome little fishes in :ADD With gently smiling jaws! . QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/mod-body.pat0000600000175000017500000000273411121752642016573 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Modifying the message body :MODE SPAWN :OPTIONS --stdio :RCFILE mod-body.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Ancient Mariner Anew :DEL This is a very old text: :ADD This is the new text: :DEL In Xanadu did Kubla Khan :ADD In /users3 did Kubla Khan A stately pleasure dome decree :DEL Where Alph, the sacred river ran :ADD Where /bin, the sacred river ran :DEL Through caverns measureless to Man :ADD Through Test Suites measureless to Man :DEL Down to a sunless sea. :ADD Down to a sunless C. . QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/net.rc0000600000175000017500000000030511121752642015457 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2004 The Anubis Team. # # This file is public domain. Do with it whatever you like to. machine localhost login anubis password guessme anubis-4.1.1+dfsg1/testsuite/etc/trigger.in0000600000175000017500000000212011121752642016333 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---BEGIN CONTROL--- logfile TESTDIR/etc/anubis.log local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log ---END--- ---BEGIN RULE--- trigger "^trigger1" add [X-Trigger-Test] "is the true path to nirvana..." done trigger "^trigger2 (.*) (.*)" add [X-Trigger-Test] "SMELLS LIKE \1 \2" done ---END--- anubis-4.1.1+dfsg1/testsuite/etc/gpg.in0000600000175000017500000000235111121752642015453 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---BEGIN CONTROL--- logfile TESTDIR/etc/anubis.log local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log ---END--- ---BEGIN RULE--- gpg-home TESTDIR/data trigger "encrypt:(.*)" gpg-encrypt \1 add [X-GPG-Comment] "Encrypted for \1" done trigger "sign:(.*)" gpg-sign "default" add [X-GPG-Comment] "Signed by \1" done trigger "se:(.*):(.*)" gpg-se \1:\2 add [X-GPG-Comment1] "Encrypted for \1" add [X-GPG-Comment2] "Signed by \2" done ---END--- anubis-4.1.1+dfsg1/testsuite/etc/add.in0000600000175000017500000000243211121752642015426 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---BEGIN CONTROL--- logfile TESTDIR/etc/anubis.log local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log ---END--- ---BEGIN RULE--- if header[X-Command] = "Complete" # NOTE: The text below up to and including EOT is indented with tabs. add body <<-EOT How cheerfully he seems to grin, How neatly spread his claws, And welcome little fishes in With gently smiling jaws! EOT fi if header[X-Order] = "Append file" body-append "TOP_SRCDIR/testsuite/data/append.txt" fi remove [X-Command] ---END--- anubis-4.1.1+dfsg1/testsuite/etc/std.pin0000600000175000017500000000607611121752642015660 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST parse :MODE EXEC :OPTIONS --check-config=1 :RCFILE std.rc :RETCODE 0 :PATTERN BEGIN SECTION CONTROL ASGN: logfile = anubis.log ASGN: remote-mta = localhost:25 ifdef(`WITH_SSL',` ASGN: ssl = yes ')`'dnl END SECTION CONTROL BEGIN SECTION RULE ifdef(`WITH_GPG',` ASGN: gpg-passphrase = *** ')`'dnl REMOVE HEADER :exact [Lines] COND: COMMAND[mail from] :posix [.*?] IFTRUE: STOP END COND COND: AND (HEADER[Subject] :posix [(.*)],NOT (HEADER[Subject] :posix :scase [URGENT])) IFTRUE: ADD HEADER[X-Comment] "This message is not URGENT (\1)." ADD HEADER[X-Comment] "GNU's Not Unix! (\1)" END COND COND: HEADER[X-Mailer] :posix [(.*)] IFTRUE: ADD HEADER[X-Comment] "My love \1" MODIFY HEADER :exact [X-Mailer] "The lousy mailer \1" END COND RULE: HEADER :posix [gpgd:(.*)] BODY ADD HEADER[X-GPG-Comment] "Encrypted for \1" ifdef(`WITH_GPG',` ASGN: gpg-encrypt = \1 ')`'dnl END RULE COND: HEADER[Subject] :posix [signature] IFTRUE: ASGN: signature-file-append = yes END COND COND: HEADER[Subject] :posix :scase [external] IFTRUE: ASGN: external-body-processor = /usr/bin/formail END COND ifdef(`WITH_GPG',` COND: HEADER[Subject] :posix [gpg-all] IFTRUE: ASGN: gpg-encrypt = USERNAME ASGN: gpg-sign = default END COND COND: HEADER[Subject] :posix [gpg-encrypt] IFTRUE: ASGN: gpg-encrypt = USERNAME-1,USERNAME-2,USERNAME-3 END COND COND: HEADER[Subject] :posix [gpg-sign] IFTRUE: ASGN: gpg-sign = default END COND ')`'dnl ifdef(`WITH_GUILE',` COND: HEADER[Subject] :posix [rot13-all] IFTRUE: ASGN: guile-process = rot-13 #:body ASGN: guile-process = rot-13 #:subject END COND COND: HEADER[Subject] :posix [rot13-body] IFTRUE: ASGN: guile-process = rot-13 #:body END COND COND: HEADER[Subject] :posix [rot13-subject] IFTRUE: ASGN: guile-process = rot-13 #:subject END COND ')`'dnl COND: HEADER[Subject] :posix [body-append] IFTRUE: ASGN: body-append = misc/notes.txt END COND COND: HEADER[Subject] :posix [ALL] IFTRUE: ASGN: body-append = misc/notes.txt ifdef(`WITH_GPG',` ASGN: gpg-encrypt = USERNAME ')`'dnl ifdef(`WITH_GUILE',` ASGN: guile-process = rot-13 #:body ASGN: guile-process = rot-13 #:subject ')`'dnl END COND END SECTION RULE :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/gpgcrypt.pat0000600000175000017500000000307211121752642016714 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST GPG Encryption :MODE SPAWN :OPTIONS --stdio :RCFILE gpg.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL Subject: Does it work?@@encrypt:anubis :ADD Subject: Does it work? :ADD X-GPG-Comment: Encrypted for anubis :DEL If you can read this, then it is working. :ADD -re -----BEGIN PGP MESSAGE-----.*-----END PGP MESSAGE----- . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST :TEST :MODE CAT :OPTIONS $gpg_prog --homedir $ANUBIS_DATA_DIR --decrypt :PATTERN -re .*encrypted with 1024-bit ELG-E key, ID E793A998, created 2003-02-20.*"GNU Anubis Team \(Anubis\) ".*If you can read this, then it is working. :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/rot-13.pat0000600000175000017500000000475311121752642016111 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST ROT-13 support :MODE SPAWN :OPTIONS --stdio :RCFILE remail.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL Subject: rot-13 test@@rot-13 subject :ADD Subject: ebg-13 grfg X-Comment: Anubis testsuite In /users3 did Kubla Khan A stately pleasure dome decree, Where /bin, the sacred river ran Through Test Suites measureless to Man Down to a sunless C. . :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL Subject: rot-13 test@@rot-13 body :ADD Subject: rot-13 test X-Comment: Anubis testsuite :DEL In /users3 did Kubla Khan :DEL A stately pleasure dome decree, :DEL Where /bin, the sacred river ran :DEL Through Test Suites measureless to Man :DEL Down to a sunless C. :ADD Va /hfref3 qvq Xhoyn Xuna :ADD N fgngryl cyrnfher qbzr qrperr, :ADD Jurer /ova, gur fnperq evire ena :ADD Guebhtu Grfg Fhvgrf zrnfheryrff gb Zna :ADD Qbja gb n fhayrff P. . :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL Subject: rot-13 test@@rot-13 body subject :ADD Subject: ebg-13 grfg X-Comment: Anubis testsuite :DEL In /users3 did Kubla Khan :DEL A stately pleasure dome decree, :DEL Where /bin, the sacred river ran :DEL Through Test Suites measureless to Man :DEL Down to a sunless C. :ADD Va /hfref3 qvq Xhoyn Xuna :ADD N fgngryl cyrnfher qbzr qrperr, :ADD Jurer /ova, gur fnperq evire ena :ADD Guebhtu Grfg Fhvgrf zrnfheryrff gb Zna :ADD Qbja gb n fhayrff P. . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/interface.in.in0000600000175000017500000000200711121752642017241 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA BEGIN CONTROL termlevel debug remote-mta localhost:@ANUBIS_PORT@ ifdef(`WITH_GNUTLS',`ssl-oneway yes') esmtp-auth anubis:guessme END BEGIN RULE # Take care to preserve triggers. trigger "(.*)" modify [Subject] "&@@\1" done END anubis-4.1.1+dfsg1/testsuite/etc/Makefile.am0000600000175000017500000000434611121752642016410 0ustar kbkb## ## This file is part of GNU Anubis. ## Copyright (C) 2003, 2004, 2005, 2007 The Anubis Team. ## ## GNU Anubis is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by the ## Free Software Foundation; either version 3 of the License, or (at your ## option) any later version. ## ## GNU Anubis is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License along ## with GNU Anubis. If not, see . ## EXTRA_DIST = \ add1.pat\ add2.pat\ add3.pat\ add-body.pat\ add-body-file.pat\ cond.pat\ del1.pat\ del2.pat\ del3.pat\ del4.pat\ empty.pat\ gpgcrypt.pat\ gpgsign.pat\ gpgse.pat\ interface.in.in\ mime1.pat\ mime2.pat\ mod-body.pat\ mod-header.pat\ mult.pat\ net.rc\ no-backref.pat\ paolo.in\ paolo.pat\ remail.pat\ rot-13.pat\ std.pin\ target.in.in\ tlsoneway.pat\ trigger.pat\ add.in\ cond.in\ del.in\ empty.in\ entire.in\ gpg.in\ mod-body.in\ mod-header.in\ no-backref.in\ remail.in\ std.in\ simple.in\ tlsoneway.in\ trigger.in RCFILES = \ add.rc\ cond.rc\ del.rc\ empty.rc\ entire.rc\ gpg.rc\ interface.in.rc\ mod-body.rc\ mod-header.rc\ no-backref.rc\ paolo.rc\ remail.rc\ simple.rc\ std.rc\ target.in.rc\ tlsoneway.rc\ trigger.rc noinst_DATA = $(RCFILES) std.pat CLEANFILES = $(RCFILES) std.pat DISTCLEANFILES = *.log target.rc interface.rc anubis.pid anubis.trace *.tmp anubis.out user.rc $(RCFILES) std.pat: Makefile cond.rc: cond.in del.rc: del.in empty.rc: empty.in entire.rc: entire.in interface.in.rc: interface.in.in gpg.rc: gpg.in mod-body.rc: mod-body.in mod-header.rc: mod-header.in simple.rc: simple.in std.rc: std.in target.in.rc: target.in.in trigger.rc: trigger.in paolo.rc: paolo.in std.pat: std.pin SUFFIXES=.in .rc .pin .pat .in.rc: m4 -DTOP_SRCDIR=`cd $(top_srcdir); pwd` \ -DTESTDIR=`cd ..; pwd` @M4_DEFS@ $< > $@ .pin.pat: m4 -DTOP_SRCDIR=`cd $(top_srcdir); pwd` \ -DTESTDIR=`cd ..; pwd` \ @M4_DEFS@ $< > $@ anubis-4.1.1+dfsg1/testsuite/etc/mime2.pat0000600000175000017500000000521711121752642016071 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Process a MIME encoded message (read-entire-body is set) :MODE SPAWN :OPTIONS --stdio :RCFILE entire.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 Received: from Mirddin.farlep.net (localhost [127.0.0.1]) by Mirddin.farlep.net with ESMTP id g6CLhIb05086 for ; Sat, 13 Jul 2002 00:43:18 +0300 Message-Id: <200207122143.g6CLhIb05086@Mirddin.farlep.net> To: Foo Bar Subject: Simple MIME MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0" Content-ID: <5082.1026510189.0@Mirddin.farlep.net> Date: Sat, 13 Jul 2002 00:43:18 +0300 From: Sergey Poznyakoff ------- =_aaaaaaaaaa0 Content-Type: text/plain; name="msg.1"; charset="us-ascii" Content-ID: <5082.1026510189.1@Mirddin.farlep.net> Content-Description: How doth How doth the little crocodile Improve his shining tail, And pour the waters of the Nile On every golden scale! `How cheerfully he seems to grin, How neatly spread his claws, And welcome little fishes in With gently smiling jaws! ------- =_aaaaaaaaaa0 Content-Type: application/octet-stream; name="msg.21" Content-ID: <5082.1026510189.2@Mirddin.farlep.net> Content-Description: Father William Part I Content-Transfer-Encoding: base64 YFlvdSBhcmUgb2xkLCBGYXRoZXIgV2lsbGlhbSwnIHRoZSB5b3VuZyBtYW4gc2FpZCwKYEFuZCB5 b3VyIGhhaXIgaGFzIGJlY29tZSB2ZXJ5IHdoaXRlOwpBbmQgeWV0IHlvdSBpbmNlc3NhbnRseSBz dGFuZCBvbiB5b3VyIGhlYWQtLQpEbyB5b3UgdGhpbmssIGF0IHlvdXIgYWdlLCBpdCBpcyByaWdo dD8nCgpgSW4gbXkgeW91dGgsJyBGYXRoZXIgV2lsbGlhbSByZXBsaWVkIHRvIGhpcyBzb24sCmBJ IGZlYXJlZCBpdCBtaWdodCBpbmp1cmUgdGhlIGJyYWluOwpCdXQsIG5vdyB0aGF0IEknbSBwZXJm ZWN0bHkgc3VyZSBJIGhhdmUgbm9uZSwKV2h5LCBJIGRvIGl0IGFnYWluIGFuZCBhZ2Fpbi4nCgo= ------- =_aaaaaaaaaa0-- . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/add3.pat0000600000175000017500000000634511121752642015676 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Adding header to one from several messages :MODE SPAWN :OPTIONS --stdio :RCFILE simple.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Tao of Programming, Chapter I A manager went to his programmers and told them: "As regards to your work hours: you are going to have to come in at nine in the morning and leave at five in the afternoon." At this, all of them became angry and several resigned on the spot. So the manager said: "All right, in that case you may set your own working hours, as long as you finish your projects on schedule." The programmers, now satisfied, began to come in a noon and work to the wee hours of the morning. . :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Tao of Programming, Part II :ADD X-Part-Number: II A master was explaining the nature of the Tao to one of his novices, "The Tao is embodied in all software -- regardless of how insignificant," said the master. "Is the Tao in a hand-held calculator?" asked the novice. "It is," came the reply. "Is the Tao in a video game?" continued the novice. "It is even in a video game," said the master. "And is the Tao in the DOS for a personal computer?" The master coughed and shifted his position slightly. "The lesson is over for today," he said. . :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Tao of Programming, Section III A novice asked the Master: "Here is a programmer that never designs, documents, or tests his programs. Yet all who know him consider him one of the best programmers in the world. Why is this?" The Master replies: "That programmer has mastered the Tao. He has gone beyond the need for design; he does not become angry when the system crashes, but accepts the universe without concern. He has gone beyond the need for documentation; he no longer cares if anyone else sees his code. He has gone beyond the need for testing; each of his programs are perfect within themselves, serene and elegant, their purpose self-evident. Truly, he has entered the mystery of the Tao." . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/remail.pat0000600000175000017500000000263711121752642016334 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Remailer support :MODE SPAWN :OPTIONS --stdio :RCFILE remail.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL Subject: Testing remailer support@@remail:comp.os.unix/2:00 :ADD Subject: Testing remailer support :ADD :: :ADD Anon-To: gray@localhost :ADD Anon-Post-To: comp.os.unix :ADD Latent-Time: +2:00 :ADD ## :ADD X-Processed-By: GNU Anubis & Remailer-I :ADD USENET would be a better laboratory is there were more labor and less oratory. . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/del4.pat0000600000175000017500000000324311121752642015705 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Removing all headers :MODE SPAWN :OPTIONS --stdio :RCFILE del.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 :DEL X-From: :DEL X-To: :DEL X-Subject: The Tao of Programming, Part I :DEL X-Part-Number: I :DEL X-Mailer: DejaGNU A manager went to his programmers and told them: "As regards to your work hours: you are going to have to come in at nine in the morning and leave at five in the afternoon." At this, all of them became angry and several resigned on the spot. So the manager said: "All right, in that case you may set your own working hours, as long as you finish your projects on schedule." The programmers, now satisfied, began to come in a noon and work to the wee hours of the morning. . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/target.in.in0000600000175000017500000000301011121752642016562 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA BEGIN CONTROL mode auth bind @ANUBIS_PORT@ local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log ifdef(`WITH_GNUTLS',`\ -c TOP_SRCDIR/testsuite/data/anubis.pem \ -k TOP_SRCDIR/testsuite/data/anubis.pem') termlevel debug # Make sure root won't receive any spurious messages via syslog. If # make check is run by root, the following directive is ignored. logfile TESTDIR/etc/target.log loglevel all tracefile TESTDIR/etc/anubis.trace ifdef(`WITH_GNUTLS',`ssl yes ssl-key TOP_SRCDIR/testsuite/data/anubis.pem ssl-cert TOP_SRCDIR/testsuite/data/anubis.pem') END BEGIN AUTH sasl-password-db text://TESTDIR/data/text.db sasl-allowed-mech CRAM-MD5 smtp-greeting-message "Hej, sloneczko" smtp-help-message "Czlowieku, dopomoz sobie sam!" END anubis-4.1.1+dfsg1/testsuite/etc/tlsoneway.in0000600000175000017500000000175711121752642016734 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---BEGIN CONTROL--- logfile TESTDIR/etc/anubis.log local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log -c TOP_SRCDIR/testsuite/data/anubis.pem -k TOP_SRCDIR/testsuite/data/anubis.pem ssl-oneway yes ---END--- anubis-4.1.1+dfsg1/testsuite/etc/tlsoneway.pat0000600000175000017500000000325611121752642017106 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST One-way TLS encryption :MODE SPAWN :OPTIONS --stdio :RCFILE tlsoneway.rc :RETCODE 0 :PATTERN :EXPECT 220 EHLO localhost :ADD STARTTLS :ADD EHLO localhost :EXPECT 250-pleased to meet you :EXPECT 250 HELP MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Tao of Programming, Part I A manager went to his programmers and told them: "As regards to your work hours: you are going to have to come in at nine in the morning and leave at five in the afternoon." At this, all of them became angry and several resigned on the spot. So the manager said: "All right, in that case you may set your own working hours, as long as you finish your projects on schedule." The programmers, now satisfied, began to come in a noon and work to the wee hours of the morning. . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/trigger.pat0000600000175000017500000000346511121752642016526 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Trigger mechanism :MODE SPAWN :OPTIONS --stdio :RCFILE trigger.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL Subject: COME AS YOU ARE@@trigger1 :ADD Subject: COME AS YOU ARE :ADD X-Trigger-Test: is the true path to nirvana... Come as you are, as you were As I want you to to be. As a friend, as a friend As an old enemy Take your time Hurry up, the choice is yours Don't be late. Take a rest, as a friend As an old memoria... . :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL Subject: YOU KNOW YOU'RE RIGHT@@trigger2 TEEN SPIRIT :ADD Subject: YOU KNOW YOU'RE RIGHT :ADD X-Trigger-Test: SMELLS LIKE TEEN SPIRIT With the lights out, it's less dangerous Here we are now, entertain us I feel stupid, and contagious Here we are now, entertain us . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/mult.pat0000600000175000017500000000631111121752642016035 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Sending several messages in a single connection :MODE SPAWN :OPTIONS --stdio :RCFILE empty.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Tao of Programming, Part I A manger went to his programmers and told them: "As regards to your work hours: you are going to have to come in at nine in the morning and leave at five in the afternoon." At this, all of them became angry and several resigned on the spot. So the manager said: "All right, in that case you may set your own working hours, as long as you finish your projects on schedule." The programmers, now satisfied, began to come in a noon and work to the wee hours of the morning. . :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Tao of Programming, Part II A master was explaining the nature of the Tao to one of his novices, "The Tao is embodied in all software -- regardless of how insignificant," said the master. "Is the Tao in a hand-held calculator?" asked the novice. "It is," came the reply. "Is the Tao in a video game?" continued the novice. "It is even in a video game," said the master. "And is the Tao in the DOS for a personal computer?" The master coughed and shifted his position slightly. "The lesson is over for today," he said. . :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Tao of Programming, Part III A novice asked the Master: "Here is a programmer that never designs, documents, or tests his programs. Yet all who know him consider him one of the best programmers in the world. Why is this?" The Master replies: "That programmer has mastered the Tao. He has gone beyond the need for design; he does not become angry when the system crashes, but accepts the universe without concern. He has gone beyond the need for documentation; he no longer cares if anyone else sees his code. He has gone beyond the need for testing; each of his programs are perfect within themselves, serene and elegant, their purpose self-evident. Truly, he has entered the mystery of the Tao." . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/del1.pat0000600000175000017500000000326011121752642015701 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Removing header :MODE SPAWN :OPTIONS --stdio :RCFILE del.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL X-Subject: Test of header removal Subject: The Tao of Programming, Part I :DEL X-Part-Number: I :DEL X-Mailer: DejaGNU A manager went to his programmers and told them: "As regards to your work hours: you are going to have to come in at nine in the morning and leave at five in the afternoon." At this, all of them became angry and several resigned on the spot. So the manager said: "All right, in that case you may set your own working hours, as long as you finish your projects on schedule." The programmers, now satisfied, began to come in a noon and work to the wee hours of the morning. . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/remail.in0000600000175000017500000000273011121752642016150 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---BEGIN CONTROL--- logfile TESTDIR/etc/anubis.log local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log ---END--- BEGIN GUILE guile-output TESTDIR/etc/anubis.out guile-debug yes guile-load-path-append TOP_SRCDIR/examples guile-load-path-append TOP_SRCDIR/guile guile-load-program rot-13.scm guile-load-program remailer.scm END ---BEGIN RULE--- trigger "remail:(.*)/(.*)" guile-process remailer-I #:rrt gray@localhost \ #:post \1 \ #:latent \2 \ #:header "X-Processed-By: GNU Anubis & Remailer-I" done trigger "rot-13.*body" guile-process rot-13 #:body done trigger "rot-13.*subj" guile-process rot-13 #:subject done ---END--- anubis-4.1.1+dfsg1/testsuite/etc/add-body-file.pat0000600000175000017500000000272511121752642017461 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Appending a text file to the message body :MODE SPAWN :OPTIONS --stdio :RCFILE add.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Show Must Go On X-Order: Append file Empty spaces -- what are we living for Abandoned places -- I guess we know the score On and on, does anybody know what we are looking for... Another hero, another mindless crime :ADD Behind the curtain, in the pantomime :ADD Hold the line, does anybody want to take it anymore :ADD The show must go on, :ADD The show must go on... . QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/paolo.in0000600000175000017500000000202011121752642016001 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2005 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---BEGIN CONTROL--- logfile TESTDIR/etc/anubis.log local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log ---END--- ---BEGIN RULE--- modify body :extended ["[[:blank:]]*X-Anomy:.*"] "" modify body :extended ["X-Paren\\([^)]*\\)"] "" ---END--- anubis-4.1.1+dfsg1/testsuite/etc/del3.pat0000600000175000017500000000641211121752642015705 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Removing headers from several messages :MODE SPAWN :OPTIONS --stdio :RCFILE del.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Tao of Programming, Part I A manager went to his programmers and told them: "As regards to your work hours: you are going to have to come in at nine in the morning and leave at five in the afternoon." At this, all of them became angry and several resigned on the spot. So the manager said: "All right, in that case you may set your own working hours, as long as you finish your projects on schedule." The programmers, now satisfied, began to come in a noon and work to the wee hours of the morning. . :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL X-Subject: Test of header removal. Message 2. Subject: The Tao of Programming, Part II :DEL X-Part-Number: II A master was explaining the nature of the Tao to one of his novices, "The Tao is embodied in all software -- regardless of how insignificant," said the master. "Is the Tao in a hand-held calculator?" asked the novice. "It is," came the reply. "Is the Tao in a video game?" continued the novice. "It is even in a video game," said the master. "And is the Tao in the DOS for a personal computer?" The master coughed and shifted his position slightly. "The lesson is over for today," he said. . :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Tao of Programming, Part III A novice asked the Master: "Here is a programmer that never designs, documents, or tests his programs. Yet all who know him consider him one of the best programmers in the world. Why is this?" The Master replies: "That programmer has mastered the Tao. He has gone beyond the need for design; he does not become angry when the system crashes, but accepts the universe without concern. He has gone beyond the need for documentation; he no longer cares if anyone else sees his code. He has gone beyond the need for testing; each of his programs are perfect within themselves, serene and elegant, their purpose self-evident. Truly, he has entered the mystery of the Tao." . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/mod-body.in0000600000175000017500000000215411121752642016411 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---BEGIN CONTROL--- logfile TESTDIR/etc/anubis.log local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log ---END--- ---BEGIN RULE--- modify body :re ["a very \(old\)"] "the new" modify body :re ["Xanadu"] "/users3" modify body :re ["\(Alph\)"] "/bin" modify body :re ["caverns"] "Test Suites" modify body :re ["\(sea\)"] "C" ---END--- anubis-4.1.1+dfsg1/testsuite/etc/entire.in0000600000175000017500000000164511121752642016171 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---BEGIN CONTROL--- logfile TESTDIR/etc/anubis.log local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log read-entire-body yes ---END--- anubis-4.1.1+dfsg1/testsuite/etc/add2.pat0000600000175000017500000000640311121752642015670 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Adding header to several messages :MODE SPAWN :OPTIONS --stdio :RCFILE simple.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Tao of Programming, Part I :ADD X-Part-Number: I A manager went to his programmers and told them: "As regards to your work hours: you are going to have to come in at nine in the morning and leave at five in the afternoon." At this, all of them became angry and several resigned on the spot. So the manager said: "All right, in that case you may set your own working hours, as long as you finish your projects on schedule." The programmers, now satisfied, began to come in a noon and work to the wee hours of the morning. . :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Tao of Programming, Part II :ADD X-Part-Number: II A master was explaining the nature of the Tao to one of his novices, "The Tao is embodied in all software -- regardless of how insignificant," said the master. "Is the Tao in a hand-held calculator?" asked the novice. "It is," came the reply. "Is the Tao in a video game?" continued the novice. "It is even in a video game," said the master. "And is the Tao in the DOS for a personal computer?" The master coughed and shifted his position slightly. "The lesson is over for today," he said. . :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Tao of Programming, Part III :ADD X-Part-Number: III A novice asked the Master: "Here is a programmer that never designs, documents, or tests his programs. Yet all who know him consider him one of the best programmers in the world. Why is this?" The Master replies: "That programmer has mastered the Tao. He has gone beyond the need for design; he does not become angry when the system crashes, but accepts the universe without concern. He has gone beyond the need for documentation; he no longer cares if anyone else sees his code. He has gone beyond the need for testing; each of his programs are perfect within themselves, serene and elegant, their purpose self-evident. Truly, he has entered the mystery of the Tao." . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/no-backref.pat0000600000175000017500000000300511121752642017060 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Use of regular expressions without reference groups used to cause # segmentation fault unless the reference itself was a simple string # (without any macro-characters). # Reported by: Paolo # References: <20041018203449.GA26021@pp>,<20041027225812.GA19951@pp> # http://lists.gnu.org/archive/html/bug-anubis/2004-10/msg00001.html :TEST Working regexp w/o reference groups :MODE SPAWN :OPTIONS --stdio :RCFILE no-backref.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: Regexp coredump :DEL foo :ADD bar :DEL a foobar :ADD bar . QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/mime1.pat0000600000175000017500000000516411121752642016071 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Process a MIME encoded message :MODE SPAWN :OPTIONS --stdio :RCFILE empty.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 Received: from Mirddin.farlep.net (localhost [127.0.0.1]) by Mirddin.farlep.net with ESMTP id g6CLhIb05086 for ; Sat, 13 Jul 2002 00:43:18 +0300 Message-Id: <200207122143.g6CLhIb05086@Mirddin.farlep.net> To: Foo Bar Subject: Simple MIME MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0" Content-ID: <5082.1026510189.0@Mirddin.farlep.net> Date: Sat, 13 Jul 2002 00:43:18 +0300 From: Sergey Poznyakoff ------- =_aaaaaaaaaa0 Content-Type: text/plain; name="msg.1"; charset="us-ascii" Content-ID: <5082.1026510189.1@Mirddin.farlep.net> Content-Description: How doth How doth the little crocodile Improve his shining tail, And pour the waters of the Nile On every golden scale! `How cheerfully he seems to grin, How neatly spread his claws, And welcome little fishes in With gently smiling jaws! ------- =_aaaaaaaaaa0 Content-Type: application/octet-stream; name="msg.21" Content-ID: <5082.1026510189.2@Mirddin.farlep.net> Content-Description: Father William Part I Content-Transfer-Encoding: base64 YFlvdSBhcmUgb2xkLCBGYXRoZXIgV2lsbGlhbSwnIHRoZSB5b3VuZyBtYW4gc2FpZCwKYEFuZCB5 b3VyIGhhaXIgaGFzIGJlY29tZSB2ZXJ5IHdoaXRlOwpBbmQgeWV0IHlvdSBpbmNlc3NhbnRseSBz dGFuZCBvbiB5b3VyIGhlYWQtLQpEbyB5b3UgdGhpbmssIGF0IHlvdXIgYWdlLCBpdCBpcyByaWdo dD8nCgpgSW4gbXkgeW91dGgsJyBGYXRoZXIgV2lsbGlhbSByZXBsaWVkIHRvIGhpcyBzb24sCmBJ IGZlYXJlZCBpdCBtaWdodCBpbmp1cmUgdGhlIGJyYWluOwpCdXQsIG5vdyB0aGF0IEknbSBwZXJm ZWN0bHkgc3VyZSBJIGhhdmUgbm9uZSwKV2h5LCBJIGRvIGl0IGFnYWluIGFuZCBhZ2Fpbi4nCgo= ------- =_aaaaaaaaaa0-- . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/del.in0000600000175000017500000000170411121752642015443 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---BEGIN CONTROL--- logfile TESTDIR/etc/anubis.log local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log ---END--- ---BEGIN RULE--- remove :re ["^X-.*"] ---END--- anubis-4.1.1+dfsg1/testsuite/etc/add1.pat0000600000175000017500000000316311121752642015667 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Adding header :MODE SPAWN :OPTIONS --stdio :RCFILE simple.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: The Tao of Programming, Part I :ADD X-Part-Number: I A manager went to his programmers and told them: "As regards to your work hours: you are going to have to come in at nine in the morning and leave at five in the afternoon." At this, all of them became angry and several resigned on the spot. So the manager said: "All right, in that case you may set your own working hours, as long as you finish your projects on schedule." The programmers, now satisfied, began to come in a noon and work to the wee hours of the morning. . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/gpgse.pat0000600000175000017500000000345711121752642016171 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST GPG Signing & Encryption :MODE SPAWN :OPTIONS --stdio :RCFILE gpg.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL Subject: gpg-se test@@se:anubis:anubis :ADD Subject: gpg-se test :ADD X-GPG-Comment1: Encrypted for anubis :ADD X-GPG-Comment2: Signed by anubis :DEL If you can read this, then it is working. :ADD -re -----BEGIN PGP MESSAGE-----.*-----END PGP MESSAGE----- . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST :TEST :MODE CAT :OPTIONS $gpg_prog --homedir $ANUBIS_DATA_DIR --decrypt :PATTERN -re .*encrypted with 1024-bit ELG-E key, ID E793A998, created 2003-02-20.*"GNU Anubis Team \(Anubis\) ".*If you can read this, then it is working..*Signature made .* using DSA key ID DCE73402.*gpg: Good signature from "GNU Anubis Team \(Anubis\) ".*Primary key fingerprint: 9D80 A493 F6C8 B63C FD84 E882 0DD5 03FB DCE7 3402 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/simple.in0000600000175000017500000000175611121752642016177 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---BEGIN CONTROL--- logfile TESTDIR/etc/anubis.log local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log ---END--- ---BEGIN RULE--- if header[Subject] = ".*Part (.*)" add [X-Part-Number] "\1" fi ---END--- anubis-4.1.1+dfsg1/testsuite/etc/no-backref.in0000600000175000017500000000171611121752642016711 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---BEGIN CONTROL--- logfile TESTDIR/etc/anubis.log local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log ---END--- ---BEGIN RULE--- modify body :re [".*foo.*"] "bar" ---END--- anubis-4.1.1+dfsg1/testsuite/etc/cond.pat0000600000175000017500000000302711121752642016000 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2004 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Testing conditional statements :MODE SPAWN :OPTIONS --stdio :RCFILE cond.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: Be like water :ADD X-Processed-By: Anubis :ADD X-Comment1: Rule1 OK :ADD X-Comment2: Rule2 OK :ADD X-Comment3: Rule3 OK "Empty your mind, be formless. Shapeless, like water. If you put water into a cup, it becomes the cup. You put water into a bottle and it becomes the bottle. You put it in a teapot it becomes the teapot. Now, water can flow or it can crash. Be water my friend." -- Bruce Lee . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/empty.in0000600000175000017500000000162011121752642016032 0ustar kbkb# -*- anubis -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---BEGIN CONTROL--- logfile TESTDIR/etc/anubis.log local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log ---END--- anubis-4.1.1+dfsg1/testsuite/etc/gpgsign.pat0000600000175000017500000000323311121752642016512 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST GPG Clear Signing :MODE SPAWN :OPTIONS --stdio :RCFILE gpg.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL Subject: Signing messages@@sign:anubis :ADD Subject: Signing messages :ADD X-GPG-Comment: Signed by anubis :ADD -----BEGIN PGP SIGNED MESSAGE----- :ADD Hash: SHA1 :ADD If you can read this, then it is working. :ADD -re -----BEGIN PGP SIGNATURE-----.*-----END PGP SIGNATURE----- . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST :TEST :MODE CAT :OPTIONS $gpg_prog --homedir $ANUBIS_DATA_DIR --verify :PATTERN -re .*Signature made .* using DSA key ID DCE73402.*gpg: Good signature from "GNU Anubis Team \(Anubis\) ".*Primary key fingerprint: 9D80 A493 F6C8 B63C FD84 E882 0DD5 03FB DCE7 3402 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/paolo.pat0000600000175000017500000000322511121752642016167 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2005 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Anubis coredumped on `modify body' statements that shrunk the input # strings. # Reference: Reported by Paolo . Messages # causing coredump and relevant configuration files were sent privately # to on 2 Jan 2005 under message ID # <20050101214820.GC6075@pp> :TEST Removing substrings from the body :MODE SPAWN :OPTIONS --stdio :RCFILE paolo.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: Subject: Removing substrings from the body :DEL X-Anomy: This string is removed entirely :ADD This line is left untouched :DEL This X-Paren(garbage)lineX-Paren(text) has some garX-Paren(or more)bage removed :ADD This line has some garbage removed Regards, Sergey . QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/etc/del2.pat0000600000175000017500000000663211121752642015710 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Anubis; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA :TEST Removing headers from all messages :MODE SPAWN :OPTIONS --stdio :RCFILE del.rc :RETCODE 0 :PATTERN :EXPECT 220 HELO localhost :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL X-Subject: Test of header removal. Message 1. Subject: The Tao of Programming, Part I :DEL X-Part-Number: I A manager went to his programmers and told them: "As regards to your work hours: you are going to have to come in at nine in the morning and leave at five in the afternoon." At this, all of them became angry and several resigned on the spot. So the manager said: "All right, in that case you may set your own working hours, as long as you finish your projects on schedule." The programmers, now satisfied, began to come in a noon and work to the wee hours of the morning. . :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL X-Subject: Test of header removal. Message 2. Subject: The Tao of Programming, Part II :DEL X-Part-Number: II A master was explaining the nature of the Tao to one of his novices, "The Tao is embodied in all software -- regardless of how insignificant," said the master. "Is the Tao in a hand-held calculator?" asked the novice. "It is," came the reply. "Is the Tao in a video game?" continued the novice. "It is even in a video game," said the master. "And is the Tao in the DOS for a personal computer?" The master coughed and shifted his position slightly. "The lesson is over for today," he said. . :EXPECT 250 MAIL FROM: :EXPECT 250 RCPT TO: :EXPECT 250 DATA :EXPECT 354 From: To: :DEL X-Subject: Test of header removal. Message 3. Subject: The Tao of Programming, Part III :DEL X-Part-Number: III A novice asked the Master: "Here is a programmer that never designs, documents, or tests his programs. Yet all who know him consider him one of the best programmers in the world. Why is this?" The Master replies: "That programmer has mastered the Tao. He has gone beyond the need for design; he does not become angry when the system crashes, but accepts the universe without concern. He has gone beyond the need for documentation; he no longer cares if anyone else sees his code. He has gone beyond the need for testing; each of his programs are perfect within themselves, serene and elegant, their purpose self-evident. Truly, he has entered the mystery of the Tao." . :EXPECT 250 QUIT :EXPECT 221 :END PATTERN :END TEST anubis-4.1.1+dfsg1/testsuite/anubis/0000700000175000017500000000000011123153366015051 5ustar kbkbanubis-4.1.1+dfsg1/testsuite/anubis/base.exp0000600000175000017500000000311511121752642016503 0ustar kbkb# -*- tcl -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003, 2004 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free # Software Foundation; either version 3 of the License, or (at your option) # any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with GNU Anubis. If not, see . anubis_init # Basic tests # Send a message without modifications anubis_pat empty.pat # Send multiple messages without modifications anubis_pat mult.pat # Add a header field to the message anubis_pat add1.pat # Add a header field to several messages anubis_pat add2.pat # Add a header field to one message from the several ones anubis_pat add3.pat # Append a text to the body anubis_pat add-body.pat # Append a text file to the body anubis_pat add-body-file.pat # More conditional tests anubis_pat cond.pat # Modify the header anubis_pat mod-header.pat # Modify the body anubis_pat mod-body.pat # Delete headers anubis_pat del1.pat # Delete headers from all messages anubis_pat del2.pat # Delete headers from some messages anubis_pat del3.pat # Delete all headers from a message anubis_pat del4.pat # Test the Trigger mechanism anubis_pat trigger.pat # End of parse.exp anubis-4.1.1+dfsg1/testsuite/anubis/guile.exp0000600000175000017500000000153111121752642016676 0ustar kbkb# -*- tcl -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free # Software Foundation; either version 3 of the License, or (at your option) # any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with GNU Anubis. If not, see . anubis_init default_anubis_version if [anubis_check_capability GUILE] { anubis_pat "rot-13.pat" anubis_pat remail.pat } anubis-4.1.1+dfsg1/testsuite/anubis/mime.exp0000600000175000017500000000144311121752642016522 0ustar kbkb# -*- tcl -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free # Software Foundation; either version 3 of the License, or (at your option) # any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with GNU Anubis. If not, see . anubis_init anubis_pat mime1.pat anubis_pat mime2.pat # End of mime.exp anubis-4.1.1+dfsg1/testsuite/anubis/gpg.exp0000600000175000017500000000156211121752642016352 0ustar kbkb# -*- tcl -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free # Software Foundation; either version 3 of the License, or (at your option) # any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with GNU Anubis. If not, see . anubis_init default_anubis_version if [anubis_check_capability GPG] { anubis_pat gpgcrypt.pat anubis_pat gpgsign.pat anubis_pat gpgse.pat } anubis-4.1.1+dfsg1/testsuite/anubis/DISTFILES0000600000175000017500000000010511121752642016320 0ustar kbkbabase.exp base.exp gpg.exp guile.exp mime.exp no-backref.exp tls.exp anubis-4.1.1+dfsg1/testsuite/anubis/no-backref.exp0000600000175000017500000000221111121752642017574 0ustar kbkb# -*- tcl -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003, 2004 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free # Software Foundation; either version 3 of the License, or (at your option) # any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with GNU Anubis. If not, see . # Use of regular expressions without reference groups used to cause # segmentation fault unless the reference itself was a simple string # (without any macro-characters). # Reported by: Paolo # References: <20041018203449.GA26021@pp>,<20041027225812.GA19951@pp> # http://lists.gnu.org/archive/html/bug-anubis/2004-10/msg00001.html anubis_init anubis_pat no-backref.pat # End of no-backref.exp anubis-4.1.1+dfsg1/testsuite/anubis/abase.exp0000600000175000017500000000146511121752642016652 0ustar kbkb# -*- tcl -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003, 2004 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free # Software Foundation; either version 3 of the License, or (at your option) # any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with GNU Anubis. If not, see . anubis_init # Parse standard configuration file anubis_pat "${ANUBIS_RC_DIR}/std.pat" anubis-4.1.1+dfsg1/testsuite/anubis/tls.exp0000600000175000017500000000150111121752642016370 0ustar kbkb# -*- tcl -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free # Software Foundation; either version 3 of the License, or (at your option) # any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with GNU Anubis. If not, see . anubis_init default_anubis_version if [anubis_check_capability GNUTLS] { anubis_pat tlsoneway.pat } anubis-4.1.1+dfsg1/testsuite/Makefile.am0000600000175000017500000000720511121752642015632 0ustar kbkb## ## This file is part of GNU Anubis. ## Copyright (C) 2003, 2007 The Anubis Team. ## ## GNU Anubis is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by the ## Free Software Foundation; either version 3 of the License, or (at your ## option) any later version. ## ## GNU Anubis is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License along ## with GNU Anubis. If not, see . ## AUTOMAKE_OPTIONS = dejagnu DEJATOOL = anubis RUNTESTFLAGS = CLEANFILES = *.log test_dirs = lib anubis anubis.authmode noinst_PROGRAMS = mta findport SUBDIRS = . etc data mta_LDADD = @LIBGNUTLS_LIBS@ INCLUDES = @LIBGNUTLS_CFLAGS@ dist-hook: here=`cd $(top_builddir)/$(subdir) && pwd`; \ srcdir=`cd $(srcdir) && pwd`; \ distdir=`cd $(distdir) && pwd`; \ for dir in $(test_dirs); \ do \ cd $$srcdir;\ mkdir $$distdir/$$dir;\ cd $$dir;\ for file in DISTFILES `cat DISTFILES`; do \ d=$$srcdir/$$dir; \ if test -d $$d/$$file; then \ cp -pr $$d/$$file $$distdir/$$dir/$$file; \ else \ test -f $$distdir/$$dir/$$file \ || cp -p $$d/$$file $$distdir/$$dir/$$file || exit; \ fi; \ done;\ done;\ cd $$here site.exp: Makefile remote.exp @echo 'Making a new site.exp file...' @test ! -f site.bak || rm -f site.bak @echo '## these variables are automatically generated by make ##' > $@-t @echo '# Do not edit here. If you wish to override these values' >> $@-t @echo '# edit the last section' >> $@-t @echo 'set tool $(DEJATOOL)' >> $@-t @echo "set top_srcdir `cd $(top_srcdir); pwd`" >> $@-t @echo "set top_builddir `cd $(top_builddir); pwd`" >> $@-t @echo "set srcdir `cd $(srcdir); pwd`" >> $@-t @echo 'set objdir' `pwd` >> $@-t @echo 'set host_alias "$(host_alias)"' >> $@-t @echo 'set host_triplet $(host_triplet)' >> $@-t @echo 'set target_alias "$(target_alias)"' >> $@-t @echo 'set target_triplet $(target_triplet)' >> $@-t @echo 'set build_alias "$(build_alias)"' >> $@-t @echo 'set build_triplet $(build_triplet)' >> $@-t @echo 'set gpg_prog "$(GPG)"' >> $@-t @echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t @test ! -f site.exp || sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t @test ! -f site.exp || mv site.exp site.bak @mv $@-t site.exp remote.exp:; @echo 'Making a new remote.exp file...' @test ! -f remote.bak || rm -f remote.bak @echo '## These variables are used to set up for the remote testing.' >> $@-t @echo '## Please, read file README in this directory for instructions' >> $@-t @echo '## on how to use this file' >> $@-t @echo "set host_board `hostname`" >> $@-t @echo 'set board_info($$host_board,connect) rlogin' >> $@-t @echo 'set board_info($$host_board,shell_prompt) "\\$$ "' >> $@-t @echo "set board_info(\$$host_board,top_srcdir) `cd $(top_srcdir); pwd`" >> $@-t @echo "set board_info(\$$host_board,srcdir) `cd $(srcdir); pwd`" >> $@-t @echo "set board_info(\$$host_board,objdir) `pwd`" >> $@-t @echo "set board_info(\$$host_board,top_srcdir) `cd $(top_srcdir); pwd`" >> $@-t @echo "set board_info(\$$host_board,top_builddir) `cd $(top_builddir); pwd`" >> $@-t @echo "set board_info(\$$host_board,gpg_prog) '$(GPG)'" >> $@-t @test ! -f remote.exp || mv remote.exp remote.bak @mv $@-t remote.exp DISTCLEANFILES=*.exp *.log *.sum anubis-4.1.1+dfsg1/testsuite/data/0000700000175000017500000000000011123153366014501 5ustar kbkbanubis-4.1.1+dfsg1/testsuite/data/Makefile.in0000600000175000017500000005571311122764064016565 0ustar kbkb# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = testsuite/data DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/am/anubis.m4 \ $(top_srcdir)/am/gpgme.m4 $(top_srcdir)/am/gsasl.m4 \ $(top_srcdir)/am/guile.m4 $(top_srcdir)/am/libgnutls.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fseeko.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpass.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/onceonly.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd_h.m4 \ $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(lispdir)" lispLISP_INSTALL = $(INSTALL_DATA) LISP = $(lisp_LISP) DATA = $(noinst_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ANUBIS_BIN_ADM = @ANUBIS_BIN_ADM@ ANUBIS_DEFINES = @ANUBIS_DEFINES@ ANUBIS_GPGFILES = @ANUBIS_GPGFILES@ ANUBIS_LIBOBJS = @ANUBIS_LIBOBJS@ ANUBIS_SBIN_ADM = @ANUBIS_SBIN_ADM@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMACS = @EMACS@ EMACSLOADPATH = @EMACSLOADPATH@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GPG = @GPG@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GREP = @GREP@ GSASL_LIBS = @GSASL_LIBS@ GUILE_BINDIR = @GUILE_BINDIR@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_INCLUDES = @GUILE_INCLUDES@ GUILE_LIBS = @GUILE_LIBS@ GUILE_SCRIPTS = @GUILE_SCRIPTS@ GUILE_SNARF_VERSION = @GUILE_SNARF_VERSION@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTOB = @HAVE_WCTOB@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ INCLUDES = @INCLUDES@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBANUBIS_LIBDEPS = @LIBANUBIS_LIBDEPS@ LIBANUBIS_LTLIBDEPS = @LIBANUBIS_LTLIBDEPS@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_CONFIG = @LIBGNUTLS_CONFIG@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4_DEFS = @M4_DEFS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYSEXITS_H = @SYSEXITS_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ idecrypt_path = @idecrypt_path@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ lisp_LISP = @lisp_LISP@ lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ GPGFILES = secring.gpg pubring.gpg noinst_DATA = @ANUBIS_GPGFILES@ text.db EXTRA_DIST = pubring.asc secring.asc anubis.pem append.txt users CLEANFILES = *.gpg random_seed *~ text.db all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits testsuite/data/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnits testsuite/data/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh elc-stamp: $(LISP) @echo 'WARNING: Warnings can be ignored. :-)' @rm -f elc-temp && touch elc-temp if test "$(EMACS)" != no; then \ set x; \ list='$(LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ set x "$$@" "$$d$$p"; shift; \ done; \ shift; \ EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \ else : ; fi @mv -f elc-temp $@ $(am__ELCFILES): elc-stamp @if test "$(EMACS)" != no && test ! -f $@; then \ trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \ if mkdir elc-lock 2>/dev/null; then \ rm -f elc-stamp; \ $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \ rmdir elc-lock; \ else \ while test -d elc-lock; do sleep 1; done; \ test -f elc-stamp; exit $$?; \ fi; \ else : ; fi install-lispLISP: $(lisp_LISP) $(ELCFILES) @$(NORMAL_INSTALL) @if test "$(EMACS)" != no; then \ test -z "$(lispdir)" || $(MKDIR_P) "$(DESTDIR)$(lispdir)"; \ list='$(lisp_LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(lispLISP_INSTALL) '$$d$$p' '$(DESTDIR)$(lispdir)/$$f'"; \ $(lispLISP_INSTALL) "$$d$$p" "$(DESTDIR)$(lispdir)/$$f"; \ if test -f $${p}c; then \ echo " $(lispLISP_INSTALL) '$${p}c' '$(DESTDIR)$(lispdir)/$${f}c'"; \ $(lispLISP_INSTALL) "$${p}c" "$(DESTDIR)$(lispdir)/$${f}c"; \ else : ; fi; \ done; \ else : ; fi uninstall-lispLISP: @$(NORMAL_UNINSTALL) @if test "$(EMACS)" != no; then \ list='$(lisp_LISP)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(lispdir)/$$f' '$(DESTDIR)$(lispdir)/$${f}c'"; \ rm -f "$(DESTDIR)$(lispdir)/$$f" "$(DESTDIR)$(lispdir)/$${f}c"; \ done; \ else : ; fi clean-lisp: -rm -f elc-stamp $(ELCFILES) tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LISP) $(DATA) installdirs: for dir in "$(DESTDIR)$(lispdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-lisp mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-lispLISP install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-lispLISP .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-lisp \ distclean distclean-generic distdir dvi dvi-am html html-am \ info info-am install install-am install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-lispLISP install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am uninstall-lispLISP pubring.gpg secring.gpg: $(srcdir)/pubring.asc $(srcdir)/secring.asc $(GPG) --homedir . --import < $(srcdir)/pubring.asc $(GPG) --homedir . --allow-secret-key-import --import < $(srcdir)/secring.asc text.db: $(srcdir)/users sed -e "`../findport -fs^USER^%u^`;s^ETCDIR^`cd ../etc;pwd`^" $(srcdir)/users > text.db # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: anubis-4.1.1+dfsg1/testsuite/data/anubis.pem0000600000175000017500000000350511121752642016472 0ustar kbkb-----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQCthRyoC0V96eFNPy/ccg55CwuT1Gyd7x6WE/OXxYWfj+QLjs0z BMjCEPF4GC776Qylh+SYSRCyOV5acCZSrNYIQB5pI5fCTLFd3GH5YPgnF32mnIJh oXqtc5q1r8sQdZivu5zJ/sfowPxyAKPd1WlzgEddjYCt/YVlYRaXiJjl9wIDAQAB AoGASIL23baQHLUu5LQCETJMoAKgnO9JUJqLgpXl1sfBNlPQLZBIagiWyJqB/fjF MZpLIaVvPsBRzNiyeEKjkSsO6YVIGHkQWHQP8yGJY1xzRxmnzQnQz8klisJmbXvK u8dNf2H71mzBPIa+jnX3m6H1PMjivqb6lYwrFcv+lnQ7ZCkCQQDfQObWVJRFe8tY 57gww0iON5vdZx+mVtAU6tOZcKAQ4KvM4/zVZf1NO8k1yjxDbJB9l6sokzrWw9Yk sH/oLgn9AkEAxvi7MG+5o3yCOcbqGWIf7pUuR6pfJ6skg6UzNlQ8furSbHP7NhRe yCQbAS1Z4QWtAkK/J/rIpVyw4t1mTABoAwJAAy6Dm65c5pibD0tOHrPJxu0X9ZHQ q6g1Evc9yMQII/VvvV3KbqgjcgRWG8QkE7nqXT/aGpvujL0BwkgZqo9taQJAFyGl iW0DtOjtrs/cOVU6Bx+awMQiydbQqOlUudUzL0IXcnpNUy0tE7F23j0qfMmPInsm A/zYxLiw6773fJBzhwJBALDAf2JhHTT0rLg4a/PrrDf1XCk8d1EQafjAbHBJkTd8 X0KAasxNfYtgiWaTmuKhMNyOodLerwsE3vmV9RyhuJo= -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- MIICoDCCAgmgAwIBAgIBADANBgkqhkiG9w0BAQQFADBFMQswCQYDVQQGEwJBVTET MBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQ dHkgTHRkMB4XDTAzMDUyNzEyMTIxMFoXDTA0MDUyNjEyMTIxMFowRTELMAkGA1UE BhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNVBAoTGEludGVybmV0IFdp ZGdpdHMgUHR5IEx0ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArYUcqAtF fenhTT8v3HIOeQsLk9Rsne8elhPzl8WFn4/kC47NMwTIwhDxeBgu++kMpYfkmEkQ sjleWnAmUqzWCEAeaSOXwkyxXdxh+WD4Jxd9ppyCYaF6rXOata/LEHWYr7ucyf7H 6MD8cgCj3dVpc4BHXY2Arf2FZWEWl4iY5fcCAwEAAaOBnzCBnDAdBgNVHQ4EFgQU 1tnjQvF594SgLA9hrWKO41YxvJEwbQYDVR0jBGYwZIAU1tnjQvF594SgLA9hrWKO 41YxvJGhSaRHMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEw HwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGSCAQAwDAYDVR0TBAUwAwEB /zANBgkqhkiG9w0BAQQFAAOBgQBGkdousv5fOlKYk3xS6jFDYfVXaizVz0dC5zLJ cLYAhBWxEU9KgygoYKVm564R7vnbvLeisdXh6DiCNqsGB3qD5870y9/3hCPZZvV8 BwjrNZBp2Lc1O48oTHUft+XRst0coBRdZ2z5/6IpPf5P6HjM9q21zluUclsYfEPo MNnk9g== -----END CERTIFICATE----- anubis-4.1.1+dfsg1/testsuite/data/users0000600000175000017500000000026611121752642015573 0ustar kbkb# This file is part of GNU Anubis testsuite. # Copyright (C) 2004 The Anubis Team. # # This file is public domain. Do with it whatever you like to. anubis:guessme:USER:ETCDIR/user.rcanubis-4.1.1+dfsg1/testsuite/data/append.txt0000600000175000017500000000020511121752642016510 0ustar kbkbBehind the curtain, in the pantomime Hold the line, does anybody want to take it anymore The show must go on, The show must go on... anubis-4.1.1+dfsg1/testsuite/data/pubring.asc0000600000175000017500000000247011121752642016644 0ustar kbkb-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.1 (GNU/Linux) mQGiBD5UuPARBACg3NGeg59gl9q+EIVDnyFbjmyC9esqSBPuYxJ4icKYO7nudyL5 wL2kM88l7/COCPoNdTjSY61Tw9dp8QTYMa9T/J6ytPG1hLPGxFDij5wVRLC+syEm aVw102Poq+jyxOdlL3fLKZp087pHim80QcCs/0rvXnMsd5EbGAR3lRyfIwCgsPjq bc7Brdl+TtwD/wu4ckMRvWED/RAm36KoJBp2vQ+8vep1dIRQxdBYgzISxMxDTnwl BC3FACyoZA9Y33o7zrVoQ6UvSXSAc6+8ZDZqBR1sMi97Lo+xArno1cZconhmaijB rtt/bqP+DYwa5aaYgLPEtCqKB4uBfSaAOtiGGYKUy6/wOpQmc2HDxrEEBfNy90wX Ee1kA/4ycoQnz0IMcuBpCSbZBL8XfXsrecw8fVXniuiO+AUXuxiUTbnNKdWB9FD4 ZEhrioyPMAWjXu0PbHr1dMBMemOAWqKg9BT2+tL0wVLp3qGHL8TWTNIjwmxiDSAm 4+IuPQKISq2Gzm7CSB9QT6NaJDYLtXIRGU2t4AgHKJwmsSKU8bQtR05VIEFudWJp cyBUZWFtIChBbnViaXMpIDxhbnViaXMtZGV2QGdudS5vcmc+iFkEExECABkFAj5U uPAECwcDAgMVAgMDFgIBAh4BAheAAAoJEA3VA/vc5zQCjLQAoKsI76RMLWx/LpmI 10tKhV3WOOLjAJ0TlcWsRZvYZVqmziy7s6VrZuH5vbkBDQQ+VLj1EAQAmv6LQWMP iMUhuhy4wVPvR9c6vzoVUuVC+JOKEylsMBy76fwk4Bcqa8R8CgGhjqn/N1X2zR9a 3LcvqwCdijNKIHf4jnuu2h6SMu+LUVbQepnBYXbucDIVaxvr27kbPw76H84O1z1h mSsK5gMEzD4zgUgVbZq2E58sFmKuKFwsAU8AAwUD+wTCWupnZLns13OUc7sKNPYa x2mYpg25wqKwQU0SfJ4bB+YK/6bIwgAhoXDFtHWIvLrZulQi1rR28Rpwj+Jda7lv 5IwxseNlOFH5ZARLPDZA6796sg2GA/ESKBygj8JctcitOX0S4lIOs4CYIdj1yHsM KGSxQL7XAi7hvx4X/9D+iEYEGBECAAYFAj5UuPUACgkQDdUD+9znNAJ52gCfeEkR 6+y2WNHgCapDNOO70D9VfPcAniukAqZEdyqgWPXq536agavncFiv =h3F4 -----END PGP PUBLIC KEY BLOCK----- anubis-4.1.1+dfsg1/testsuite/data/Makefile.am0000600000175000017500000000231711121752642016542 0ustar kbkb## ## This file is part of GNU Anubis. ## Copyright (C) 2003, 2007 The Anubis Team. ## ## GNU Anubis is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by the ## Free Software Foundation; either version 3 of the License, or (at your ## option) any later version. ## ## GNU Anubis is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License along ## with GNU Anubis. If not, see . ## GPGFILES = secring.gpg pubring.gpg noinst_DATA = @ANUBIS_GPGFILES@ text.db EXTRA_DIST = pubring.asc secring.asc anubis.pem append.txt users CLEANFILES = *.gpg random_seed *~ text.db pubring.gpg secring.gpg: $(srcdir)/pubring.asc $(srcdir)/secring.asc $(GPG) --homedir . --import < $(srcdir)/pubring.asc $(GPG) --homedir . --allow-secret-key-import --import < $(srcdir)/secring.asc text.db: $(srcdir)/users sed -e "`../findport -fs^USER^%u^`;s^ETCDIR^`cd ../etc;pwd`^" $(srcdir)/users > text.db anubis-4.1.1+dfsg1/testsuite/data/secring.asc0000600000175000017500000000262011121752642016625 0ustar kbkb-----BEGIN PGP PRIVATE KEY BLOCK----- Version: GnuPG v1.2.1 (GNU/Linux) lQG7BD5UuPARBACg3NGeg59gl9q+EIVDnyFbjmyC9esqSBPuYxJ4icKYO7nudyL5 wL2kM88l7/COCPoNdTjSY61Tw9dp8QTYMa9T/J6ytPG1hLPGxFDij5wVRLC+syEm aVw102Poq+jyxOdlL3fLKZp087pHim80QcCs/0rvXnMsd5EbGAR3lRyfIwCgsPjq bc7Brdl+TtwD/wu4ckMRvWED/RAm36KoJBp2vQ+8vep1dIRQxdBYgzISxMxDTnwl BC3FACyoZA9Y33o7zrVoQ6UvSXSAc6+8ZDZqBR1sMi97Lo+xArno1cZconhmaijB rtt/bqP+DYwa5aaYgLPEtCqKB4uBfSaAOtiGGYKUy6/wOpQmc2HDxrEEBfNy90wX Ee1kA/4ycoQnz0IMcuBpCSbZBL8XfXsrecw8fVXniuiO+AUXuxiUTbnNKdWB9FD4 ZEhrioyPMAWjXu0PbHr1dMBMemOAWqKg9BT2+tL0wVLp3qGHL8TWTNIjwmxiDSAm 4+IuPQKISq2Gzm7CSB9QT6NaJDYLtXIRGU2t4AgHKJwmsSKU8QAAoJk3d595pjWp UWyhu7ZGhXqJOSGgChq0LUdOVSBBbnViaXMgVGVhbSAoQW51YmlzKSA8YW51Ymlz LWRldkBnbnUub3JnPohZBBMRAgAZBQI+VLjwBAsHAwIDFQIDAxYCAQIeAQIXgAAK CRAN1QP73Oc0Aoy0AJ0aspaHhddBUK4efDWPlM2PyHs++wCeKgA/0EM80KeY8IKm BTbT3huADlidATEEPlS49RAEAJr+i0FjD4jFIbocuMFT70fXOr86FVLlQviTihMp bDAcu+n8JOAXKmvEfAoBoY6p/zdV9s0fWty3L6sAnYozSiB3+I57rtoekjLvi1FW 0HqZwWF27nAyFWsb69u5Gz8O+h/ODtc9YZkrCuYDBMw+M4FIFW2athOfLBZirihc LAFPAAMFA/sEwlrqZ2S57NdzlHO7CjT2GsdpmKYNucKisEFNEnyeGwfmCv+myMIA IaFwxbR1iLy62bpUIta0dvEacI/iXWu5b+SMMbHjZThR+WQESzw2QOu/erINhgPx EigcoI/CXLXIrTl9EuJSDrOAmCHY9ch7DChksUC+1wIu4b8eF//Q/gAA+Mvw9VpR EfeAk+1pXvC00uM/0u5Kui3NFN/SCfszuAsTN4hGBBgRAgAGBQI+VLj1AAoJEA3V A/vc5zQCedoAoKjzmJpPPTK2pxf5O9WHeHuxAFYCAJwMRlPMmJq6NPNluvqT4TOd A5+8vA== =sjC/ -----END PGP PRIVATE KEY BLOCK----- anubis-4.1.1+dfsg1/testsuite/findport.c0000600000175000017500000001444511121752642015573 0ustar kbkb/* This file is part of GNU Anubis. Copyright (C) 2001, 2003, 2007 Free Software Foundation, Inc. Written by Sergey Poznyakoff GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ /* * This program is a part of test suite. It determines first N available * UDP ports to be used. * usage: findport [-c N][-s P][-m P][-f F] * Options are: * -c N Find first N not-used ports (default 1) * -s P Start from port P+1 (default 1024) * -m P Finish when port P is reached (default 65535) * -f F Use format string F for output. * Any subsequent occurence of characters %d in format string is replaced * with the found port number. Usual C backslash sequences are recognized. * All other characters encountered in format string are reproduced * verbatim. * If no format string is specified, the port numbers are printed one per * line of output. * Return value: 0 if OK, 1 on error. * Bugs: No check is made to ensure that the number of %d markers in format * string coincides with number N. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include #include #include #include char *format = NULL; char * who_am_i() { struct passwd *pw = getpwuid(getuid()); if (pw) return pw->pw_name; return "nobody"; } void output(int port) { if (!format) { if (port) printf("%d\n", port); return; } while (*format) { if (port && format[0] == '%' && format[1] == 'd') { printf("%d", port); format += 2; break; } else if (format[0] == '%' && format[1] == 'u') { printf("%s", who_am_i()); format += 2; } else if (format[0] == '\\' && format[1]) { switch (format[1]) { case 'a': putchar('\a'); break; case 'b': putchar('\b'); break; case 'n': putchar('\n'); break; case 't': putchar('\t'); break; case 'v': putchar('\v'); break; case '\\': putchar('\\'); break; default: putchar(format[0]); putchar(format[2]); break; } format += 2; } else putchar(*format++); } } int main(int argc, char **argv) { char *progname = argv[0]; int local_port, max_port, num_ports; struct sockaddr salocal; struct sockaddr_in *sin; int fd; /* Process command line */ local_port = 1024; max_port = 65535; num_ports = 1; #define OPTARG (*argv)[2] ? *argv+2 : *++argv while (*++argv) { if (**argv == '-') { switch ((*argv)[1]) { case 's': local_port = atoi(OPTARG); break; case 'm': max_port = atoi(OPTARG); break; case 'c': num_ports = atoi(OPTARG); break; case 'f': format = OPTARG; break; default: fprintf(stderr, "%s: unknown switch: %s\n", progname, *argv); return 1; } } else { fprintf(stderr, "%s: stray argument %s\n", progname, *argv); return 1; } } while (num_ports--) { int true = 1; fd = socket(AF_INET, SOCK_STREAM, 0); if (fd < 0) { fprintf(stderr, "%s: can't open socket: %d\n", progname, errno); return 1; } setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, &true, sizeof (true)); sin = (struct sockaddr_in *) &salocal; memset(sin, 0, sizeof (salocal)); sin->sin_family = AF_INET; sin->sin_addr.s_addr = INADDR_ANY; do { if (++local_port > max_port) { fprintf(stderr, "%s: can't bind socket\n", progname); return 1; } sin->sin_port = htons((u_short)local_port); } while ((bind(fd, &salocal, sizeof(struct sockaddr_in)) < 0) && local_port < max_port); output(local_port); close(fd); } output(0); return 0; } anubis-4.1.1+dfsg1/testsuite/lib/0000700000175000017500000000000011123153366014336 5ustar kbkbanubis-4.1.1+dfsg1/testsuite/lib/anubis.exp0000600000175000017500000005564211121752642016353 0ustar kbkb# -*- tcl -*- # This file is part of GNU Anubis testsuite. # Copyright (C) 2003, 2007 The Anubis Team. # # GNU Anubis is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free # Software Foundation; either version 3 of the License, or (at your option) # any later version. # # GNU Anubis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with GNU Anubis. If not, see . # Authmode support proc repl_port {file port} { global ANUBIS_RC_DIR set chan [open $ANUBIS_RC_DIR/$file.in.rc r] set outchan [open $ANUBIS_RC_DIR/$file.rc w] for {gets $chan line} {![eof $chan]} {gets $chan line} { regsub -all "@ANUBIS_PORT@" $line "$port" tmp puts $outchan $tmp } close $chan close $outchan } proc anubis_authmode {} { global ANUBIS_PID if ![info exists ANUBIS_PID] { return 0 } verbose "AUTHMODE" return $ANUBIS_PID } proc start_daemon {} { global ANUBIS_TESTDIR global ANUBIS_RC_DIR global ANUBIS_TOOL global ANUBIS_PORT global ANUBIS_PID set port [remote_exec host $ANUBIS_TESTDIR/findport "-c1 -s1024 -f%d"] set ANUBIS_PORT [lindex $port 1] repl_port "target" $ANUBIS_PORT repl_port "interface" $ANUBIS_PORT set pidfile $ANUBIS_RC_DIR/anubis.pid file delete $pidfile remote_exec host "$ANUBIS_TOOL" \ "--relax-perm-check \ --pid-file $pidfile \ --altrc $ANUBIS_RC_DIR/target.rc" set attempt 0 while {![file exists $pidfile]} { incr attempt if {$attempt > 10} { fail "Cannot start anubis daemon" exit 1 } sleep 1 } set chan [open $pidfile r] gets $chan ANUBIS_PID verbose "Daemon PID $ANUBIS_PID" close $chan } proc kill_daemon {} { global ANUBIS_PID if {![info exists ANUBIS_PID]} { return } # Tcl has no kill primitive. The following Ruby Goldberg trick is # borrowed from DejaGNU (see remote.exp) verbose "Killing anubis daemon $ANUBIS_PID" exec sh -c "exec > /dev/null 2>&1 && \ (kill -2 $ANUBIS_PID || kill -2 $ANUBIS_PID) && \ sleep 5 && (kill -15 $ANUBIS_PID || kill $ANUBIS_PID) && \ sleep 5 && (kill -9 $ANUBIS_PID || kill -9 $ANUBIS_PID)" &; } proc update_config {name} { global ANUBIS_PORT global ANUBIS_USR global ANUBIS_DATA_DIR global ANUBIS_RC_DIR global ANUBIS_ETC_DIR global verbose set rcname $ANUBIS_RC_DIR/$name set chan [open $rcname r] set outchan [open $rcname.tmp w] for {gets $chan line} {![eof $chan]} {gets $chan line} { switch -regexp -- "$line" { "^ *local-mta" { } ".*" { puts $outchan "$line" } } } close $outchan close $chan if {$verbose > 2} { set vopt "-vvv" } else { set vopt "" } set res [remote_exec host "$ANUBIS_USR" \ "$vopt --netrc $ANUBIS_ETC_DIR/net.rc \ --file $rcname.tmp localhost:$ANUBIS_PORT"] verbose -log "ANUBISUSR RESULT: $res" if {[llength $res] < 1} { return -1 } return [lindex $res 0] } # Run given test script ($name) in authmode. proc run_in_authmode {name} { if [anubis_check_capability "GSASL"] { if [anubis_check_capability "GNUTLS"] { clone_output "Running $name in authmode over TLS." } start_daemon source $name kill_daemon } else { unsupported "$name in authmode" } } proc anubis_init {args} { global TOOL_EXECUTABLE global ANUBIS_TOOL global ANUBIS_RC_DIR global ANUBIS_ETC_DIR global ANUBIS_TOOL_FLAGS global ANUBIS_DATA_DIR global ANUBIS_TESTDIR global ANUBIS_SRCDIR global ANUBIS_TOP_SRCDIR global ANUBIS_USR global ANUBIS_ADM global ANUBIS_AUTHMODE global tool global base_dir global top_srcdir global objdir global host_board global srcdir if [info exists TOOL_EXECUTABLE] { set ANUBIS_TOOL $TOOL_EXECUTABLE } if {$args == "-authmode"} { set ANUBIS_AUTHMODE 1 } if ![info exists ANUBIS_TOOL] { if ![is_remote host] { set ANUBIS_ADM [findfile $base_dir/../src/anubisadm "$base_dir/../src/anubisadm" [transform anubisadm]] set ANUBIS_USR [findfile $base_dir/../src/anubisusr "$base_dir/../src/anubisusr" [transform anubisusr]] set ANUBIS_TOOL [findfile $base_dir/../src/$tool "$base_dir/../src/$tool" [transform $tool]] set ANUBIS_SRCDIR "$srcdir" set ANUBIS_TOP_SRCDIR "$top_srcdir" set ANUBIS_TESTDIR "$objdir" set ANUBIS_DATA_DIR "$objdir/data" set ANUBIS_ETC_DIR "$top_srcdir/testsuite/etc" set ANUBIS_RC_DIR "$objdir/etc" } else { if [info exists host_board] { if [board_info $host_board exists top_builddir] { append ANUBIS_TOOL "[board_info $host_board top_builddir]/$tool/$tool" } elseif [board_info $host_board exists top_srcdir] { append ANUBIS_TOOL "[board_info $host_board top_srcdir]/$tool/$tool" } } if ![info exists ANUBIS_TOOL] { perror "The test suite is not set up for the remote testing" perror "Please, read file README in $tool/testsuite subdirectory" perror "for instructions on how to set up it." exit 1 } set ANUBIS_SRCDIR "[board_info $host_board srcdir]" set ANUBIS_TOP_SRCDIR "[board_info $host_board top_srcdir]" set ANUBIS_TESTDIR "[board_info $host_board objdir]" set ANUBIS_ETC_DIR "[board_info $host_board top_srcdir]/testsuite/etc" set ANUBIS_DATA_DIR "[board_info $host_board objdir]/data" set ANUBIS_RC_DIR "[board_info $host_board objdir]/etc" } set ANUBIS_TOOL_FLAGS "--norc --relax-perm-check" } if {[info exists ANUBIS_AUTHMODE] && $ANUBIS_AUTHMODE} { start_daemon } } proc default_anubis_start {args} { global verbose global ANUBIS_TOOL global ANUBIS_TOOL_FLAGS global expect_out global anubis_spawn_id if [info exists ANUBIS_TOOL_FLAGS] { set sw $ANUBIS_TOOL_FLAGS } else { set sw "" } verbose "SW $sw" verbose "ARGS $args" if [llength $args] { append sw " " $args } set cmd "$ANUBIS_TOOL $sw" verbose "Spawning $cmd" set anubis_spawn_id [remote_spawn host $cmd] if { $anubis_spawn_id < 0 || $anubis_spawn_id == "" } { perror "Spawning $cmd failed." return 1; } return 0 } # anubis_exec [-retcode N][-message S][-default (FAIL | XFAIL)][-arg S...] # [-pattern PATTERN-LIST][PATTERN...] # # Executes $ANUBIS_TOOL and checks whether it returns with the given exit # status and its output matches supplied PATTERN. # Switches: # -retcode N Expect program to finish with exit code N instead of the # default 0 (search for word 'Pity' below, though). # -arg S Supply additional arguments to the program. # -message S Set message to output when printing results of the test. # -default Supply the expected testcase result proc anubis_exec {args} { global verbose global ANUBIS_TOOL global ANUBIS_TOOL_FLAGS global expect_out if [info exists ANUBIS_TOOL_FLAGS] { set sw $ANUBIS_TOOL_FLAGS } else { set sw "" } default_anubis_version set default 0 set message "" set result 0 set retcode 0 for {set i 0} {$i < [llength $args]} {incr i} { set opt [lindex $args $i] if {"$opt" == "-retcode"} { incr i set retcode [lindex $args $i] verbose "RETCODE $retcode" 1 } elseif {"$opt" == "-message"} { incr i set message [lindex $args $i] } elseif {"$opt" == "-default"} { incr i set default [lindex $args $i] } elseif {"$opt" == "-arg"} { incr i append sw " [lindex $args $i]" } elseif {"$opt" == "-arg-list"} { incr i set s [lindex $args $i] for {set j 0} {$j < [llength $s]} {incr j} { append sw " [lindex $s $j]" } } elseif {"$opt" == "-pattern"} { incr i set pattern [lindex $args $i] } else { break } } if [info exists pattern] { set args [concat $pattern [lrange $args $i end]] } else { set args [lrange $args $i end] } # Pity, dejagnu provides no way to retrieve exit status of the process. # This ugly construction is used to work around this. Hopefully, it # should execute on any decent platform... set cmd "sh -c \"$ANUBIS_TOOL $sw\; echo \$?\"" verbose "Executing $cmd" set res [remote_exec host $cmd] lappend args "$retcode" set output [lindex $res 1] if {[llength $args] == 0 && [string length $output] != 0} { verbose "Expected \"[lindex $args 1]\" but founf EOF" 1 set result 1 } for {set i 0} {$result == 0 && $i < [llength $args]} {incr i} { if {[string length $output] == 0} { verbose "Not enough output from $cmd" 1 verbose "Stopped waiting for \"[lindex $args $i]\"" 1 set result 1 break } set regexp 0 switch -exact -- "[lindex $args $i]" { -re { set regexp 1; incr i } -ex - -- { incr i } } set pattern [lindex $args $i] verbose "PATTERN $pattern" if {$regexp} { verbose "does \"$output\" match regular expression \"$pattern\"?" 1 if {![regexp -- "${pattern}(.*)" "$output" dummy output]} { set result 1 } } else { verbose "does \"$output\" match exact string \"$pattern\"?" 1 if {"$pattern" != ""} { if {[string first "$pattern" "$output"] != 0} { set result 1 } set output [string range $output [string length $pattern] end] } } if {![regexp -- "\[ \t]*\r\n(.*)" "$output" dummy output]} { set result 1 } if {$result} { verbose "NO" 1 } else { verbose "yes" 1 } } if {$result == 0} { pass "$message" } elseif {$result == 1} { if { "$default" == "" || "$default" != "FAIL" } { fail "$message" } else { xfail "$message" set result 0 } } elseif {$result == -2} { fail "$message (timeout)" } elseif {$result == -3} { fail "$message (eof)" } else { fail "$message" } return $result } proc default_anubis_version {} { global ANUBIS_TOOL global ANUBIS_TOOL_FLAGS global ANUBIS_TOOL_VERSION global ANUBIS_CAPABILITY if [info exists ANUBIS_TOOL_VERSION] { return } set output [remote_exec host "$ANUBIS_TOOL --show-config-options"] set flg [split [lindex $output 1]] for {set i 0} {$i < [llength $flg]} {incr i} { if [regexp "(.*)=(.*)$" [lindex $flg $i] var name value] { set ANUBIS_CAPABILITY($name) $value } elseif {[lindex $flg $i] != ""} { set ANUBIS_CAPABILITY([lindex $flg $i]) 1 } } if [info exists ANUBIS_CAPABILITY(VERSION)] { set ANUBIS_TOOL_VERSION $ANUBIS_CAPABILITY(VERSION) } else { set ANUBIS_TOOL_VERSION "UNKNOWN" } } proc anubis_version {} { default_anubis_version } proc anubis_check_capability {args} { global ANUBIS_CAPABILITY set name [lindex $args 0] if {![info exists ANUBIS_CAPABILITY]} { anubis_init default_anubis_version } if {![info exists ANUBIS_CAPABILITY] || \ ![info exists ANUBIS_CAPABILITY($name)]} { return 0 } else { return $ANUBIS_CAPABILITY($name) } } proc anubis_send { string } { global suppress_flag; if {[info exists suppress_flag] && $suppress_flag} { return "suppressed"; } return [remote_send host "$string"] } proc anubis_command { cmd } { set res [anubis_send "$cmd\n"] anubis_expect 30 { -ex "\r\n" { } default { perror "anubis_command for target failed"; return -1 } } verbose "RESULT: $res" 2 return $res } proc default_anubis_stop {} { global anubis_spawn_id verbose -log "STOPPING ANUBIS" if {[info exists anubis_spawn_id] && $anubis_spawn_id > 0} { remote_close host unset anubis_spawn_id } } proc anubis_exit {} { default_anubis_stop } proc anubis_expect { args } { global env if { [lindex $args 0] == "-notransfer" } { set notransfer -notransfer; set args [lrange $args 1 end]; } else { set notransfer ""; } if { [llength $args] == 2 && [lindex $args 0] != "-re" } { set gtimeout [lindex $args 0]; set expcode [list [lindex $args 1]]; } else { upvar timeout timeout; set expcode $args; if [target_info exists anubis,timeout] { if [info exists timeout] { if { $timeout < [target_info anubis,timeout] } { set gtimeout [target_info anubis,timeout]; } else { set gtimeout $timeout; } } else { set gtimeout [target_info anubis,timeout]; } } if ![info exists gtimeout] { global timeout; if [info exists timeout] { set gtimeout $timeout; } else { # Eeeeew. set gtimeout 60; } } } global suppress_flag; global remote_suppress_flag; global verbose if [info exists remote_suppress_flag] { set old_val $remote_suppress_flag; } if [info exists suppress_flag] { if { $suppress_flag } { set remote_suppress_flag 1; } } verbose "EXPCODE is $expcode" 4 verbose "RUNNING remote_expect host $gtimeout $notransfer" 2 set code [catch \ {uplevel remote_expect host $gtimeout $notransfer $expcode} string]; if [info exists old_val] { set remote_suppress_flag $old_val; } else { if [info exists remote_suppress_flag] { unset remote_suppress_flag; } } if {$code == 1} { global errorInfo errorCode; return -code error -errorinfo $errorInfo -errorcode $errorCode $string } elseif {$code == 2} { return -code return $string } elseif {$code == 3} { return } elseif {$code > 4} { return -code $code $string } } proc anubis_expect_list {args} { set tmt [lindex $args 0] set pattern [lindex $args 1] set result 0 for {set i 0} {$i < [llength $pattern]} {incr i} { set regexp 0 switch -exact -- "[lindex ${pattern} $i]" { -re { set regexp 1; incr i } -- { incr i } } regsub "\[ \t\]*$" [lindex ${pattern} $i] "" pat verbose "i=$i, pat=$pat, regexp=$regexp" 2 if {$regexp} { verbose "REGEX for $pat / [llength $pat] " 3 anubis_expect $tmt { -re $pat { } default { set result 1 break } timeout { set result -2 break } eof { set result -3 break } } } else { anubis_expect $tmt { -ex "$pat" { if { $expect_out(buffer) != $expect_out(0,string) } { verbose "Got \"$expect_out(buffer)\"" 2 verbose "instead of expected \"$pat\\r\\n\"" 2 set result 1 break } } default { set result 1 break } timeout { set result -2 break } eof { set result -3 break } } } if {$result == 0} { anubis_expect $tmt { -re "^\[ \t]*\r\n" { } default { set result 1 } timeout { set result -2 } eof { set result -3 } } } } return $result } # anubis_test COMMAND PATTERN # COMMAND - Command to send to the program # PATTERN - A list of strings to expect in return # Return value: # -3 - eof # -2 - timeout # -1 - generic failure # 1 - test fails # 0 - test succeeds proc anubis_test { args } { global verbose global suppress_flag upvar timeout timeout set command [lindex $args 0] set pattern [lindex $args 1] if { [info exists suppress_flag] && $suppress_flag } { set do_suppress 1 } else { set do_suppress 0 } if $verbose>2 then { send_user "Command: \"$command\"\n" send_user "Pattern: \"$pattern\"\n" } set result -1 if { "${command}" != "" } { set res [anubis_command "${command}"] if { $res != "" } { if { ! $do_suppress } { perror "Couldn't send \"$command\": $res."; } return $result; } } if [info exists timeout] { set tmt $timeout; } else { global timeout; if [info exists timeout] { set tmt $timeout; } else { set tmt 60; } } set result 0 for {set i 0} {$result == 0 && $i < [llength $pattern]} {incr i} { verbose "NEXT ($i)" set regexp 0 switch -exact -- "[lindex ${pattern} $i]" { -re { set regexp 1; incr i } -- { incr i } } regsub "\[ \t\]*$" [lindex ${pattern} $i] "" pat verbose "i=$i, pat=$pat, regexp=$regexp" 2 if {$regexp} { anubis_expect $tmt { -re "$pat\[ \r\t\]*\r\n" { } default { set result 1 break } timeout { set result -2 break } eof { set result -3 break } } } else { anubis_expect $tmt { -ex "$pat" { if { $expect_out(buffer) != $expect_out(0,string) } { verbose "Got \"$expect_out(buffer)\"" 2 verbose "instead of expected \"$pat\\r\\n\"" 2 set result 1 break } } default { set result 1 break } timeout { set result -2 break } eof { set result -3 break } } if {$result == 0} { anubis_expect $tmt { -re "^\[ \t]*\r\n" { } default { set result 1 } timeout { set result -2 } eof { set result -3 } } } } } return $result } proc anubis_test_file {args} { global verbose set default "" set message "" set catprog "/bin/cat" for {set i 0} {$i < [llength $args]} {incr i} { set a [lindex $args $i] if {"$a" == "-default"} { incr i set default [lindex $args $i] } elseif {"$a" == "-pattern"} { incr i set pattern [lindex $args $i] } elseif {"$a" == "-message"} { incr i set message [lindex $args $i] } elseif {"$a" == "-catprog"} { incr i set catprog [lindex $args $i] } else { set args [lrange $args $i end] break } } if {"$message" == ""} { set message "Contents of [lindex $args 0]" } if $verbose>2 then { send_user "Message is \"$message\"\n" } set filename [lindex $args 0] if ![info exists pattern] { set pattern [lrange $args 1 end] } set res [remote_spawn host "$catprog $filename"] if { $res < 0 || $res == "" } { perror "Reading $filename failed." return 1; } set result [anubis_test "" $pattern] if {$result == 0} { pass "$message" } elseif {$result == 1} { if { "$default" == "" || "$default" != "FAIL" } { fail "$message" } else { xfail "$message" set result 0 } } elseif {$result == -2} { fail "$message (timeout)" } elseif {$result == -3} { fail "$message (eof)" } else { fail "$message" } remote_close host return $result } # State map: # 0 -- command # 1 -- pattern proc anubis_pat {patname} { global ANUBIS_DATA_DIR global ANUBIS_ETC_DIR global ANUBIS_RC_DIR global gpg_prog verbose "ANUBIS_PAT $patname" 1 if ![regexp "^/.*" $patname x y] { set patname "$ANUBIS_ETC_DIR/$patname" } set chan [open $patname r] set state 0 set options "" set testname "" set mode "" set retcode 0 set rcfile "" for {gets $chan line} {![eof $chan]} {gets $chan line} { verbose "LINE $line" 1 if { $state == 0 } { switch -regexp -- "$line" { "^#.*" { } "^:TEST" { regexp "^:TEST (.*)" $line dummy testname } "^:MODE" { regexp "^:MODE (.*)" $line dummy mode } "^:OPTIONS" { regexp "^:OPTIONS (.*)" $line dummy opt set x [split $opt] for {set n 0} {$n < [llength $x]} {incr n} { set opt [lindex $x $n] switch -re -- "$opt" { "^\\$.*" { lappend options [expr $opt] } default { if {$opt != ""} { lappend options $opt } } } } } "^:RCFILE" { regexp "^:RCFILE (.*)" $line dummy rcfile if [anubis_authmode] { # If we're acting in authmode, update the user's # config and use the interface configuration if [update_config $rcfile] { fail $testname return } set rcfile "interface.rc" } } "^:RETCODE" { regexp "^:RETCODE (.*)" $line dummy retcode } "^:PATTERN" { set state 1 } "^:END" { verbose "MODE $mode" if {$mode == "EXEC"} { set inv anubis_exec if {$options != ""} { lappend inv -arg $options } if {$rcfile != ""} { lappend inv -arg "--altrc $ANUBIS_RC_DIR/$rcfile" } if {$retcode != 0} { lappend inv -retcode $retcode } if {$testname != ""} { lappend inv -message $testname } eval $inv $pattern } elseif {$mode == "SPAWN"} { set inv default_anubis_start if {$options != ""} { lappend inv $options } if {$rcfile != ""} { lappend inv --altrc "$ANUBIS_RC_DIR/$rcfile" } verbose "RUN $inv" eval $inv set file_pattern "" for {set pat $pattern} \ {[llength $pat] > 0} \ {set pat [lrange $pat 1 end]} { set line [lindex $pat 0] if [regexp "^:EXPECT (\[0-9\]\[0-9\]*)" $line dummy expect] { anubis_expect {-re "$expect \[^\n\]*\n"} } elseif [regexp "^:EXPECT (.*)" $line dummy expect] { anubis_expect {-re "$expect\[^\n\]*\n"} } elseif [regexp "^:ADD (.*)" $line dummy expect] { if [regexp "^-- (.*)" $expect dummy str] { lappend file_pattern "--" set expect $str } elseif [regexp "^-re (.*)" $expect dummy str] { lappend file_pattern "-re" set expect $str } lappend file_pattern "$expect" } elseif [regexp "^:DEL (.*)" $line dummy expect] { verbose "DEL:: $expect" anubis_command "$expect" } else { anubis_command "$line" lappend file_pattern $line } } default_anubis_stop set inv anubis_test_file if {$testname != ""} { lappend inv -message $testname } lappend inv "$ANUBIS_RC_DIR/mta.log" eval $inv $file_pattern } elseif {$mode == "CAT"} { verbose "OPT $options" set inv anubis_test_file lappend inv -catprog [concat $options] lappend inv "$ANUBIS_RC_DIR/mta.log" eval $inv $pattern } ## Reset all variables set pattern "" set file_pattern "" set options "" set testname "" set mode "" set retcode 0 set rcfile "" } } } else { switch -regexp -- "$line" { "^HELO" { if {[anubis_authmode]} { regexp "^HELO *(\[^ \t\]*)" $line dummy rest verbose "REST $rest" lappend pattern "EHLO $rest" if [anubis_check_capability "GNUTLS"] { lappend pattern ":ADD STARTTLS" lappend pattern ":ADD EHLO $rest" } verbose "PATTERN $pattern" } else { lappend pattern $line } } "^:END" { set state 0 } "^-- (.*)" { regexp "^-- (.*)" $line dummy str lappend pattern "--" $str } "^-re (.*)" { regexp "^-re (.*)" $line dummy str lappend pattern "-re" $str } default { lappend pattern $line } } } } } # End of anubis.exp anubis-4.1.1+dfsg1/testsuite/lib/DISTFILES0000600000175000017500000000001211121752642015602 0ustar kbkbanubis.expanubis-4.1.1+dfsg1/aclocal.m40000600000175000017500000010667611122764054013422 0ustar kbkb# generated automatically by aclocal 1.10.1 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(AC_AUTOCONF_VERSION, [2.61],, [m4_warning([this file was generated for autoconf 2.61. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 13 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_PROG_LEX # ----------- # Autoconf leaves LEX=: if lex or flex can't be found. Change that to a # "missing" invocation, for better error output. AC_DEFUN([AM_PROG_LEX], [AC_PREREQ(2.50)dnl AC_REQUIRE([AM_MISSING_HAS_RUN])dnl AC_REQUIRE([AC_PROG_LEX])dnl if test "$LEX" = :; then LEX=${am_missing_run}flex fi]) # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, # 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 10 # AM_PATH_LISPDIR # --------------- AC_DEFUN([AM_PATH_LISPDIR], [AC_PREREQ([2.60])dnl # If set to t, that means we are running in a shell under Emacs. # If you have an Emacs named "t", then use the full path. test x"$EMACS" = xt && EMACS= AC_CHECK_PROGS([EMACS], [emacs xemacs], [no]) AC_ARG_VAR([EMACS], [the Emacs editor command]) AC_ARG_VAR([EMACSLOADPATH], [the Emacs library search path]) AC_ARG_WITH([lispdir], [ --with-lispdir override the default lisp directory], [ lispdir="$withval" AC_MSG_CHECKING([where .elc files should go]) AC_MSG_RESULT([$lispdir])], [ AC_CACHE_CHECK([where .elc files should go], [am_cv_lispdir], [ if test $EMACS != "no"; then if test x${lispdir+set} != xset; then # If $EMACS isn't GNU Emacs or XEmacs, this can blow up pretty badly # Some emacsen will start up in interactive mode, requiring C-x C-c to exit, # which is non-obvious for non-emacs users. # Redirecting /dev/null should help a bit; pity we can't detect "broken" # emacsen earlier and avoid running this altogether. AC_RUN_LOG([$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' conftest.out]) am_cv_lispdir=`sed -n \ -e 's,/$,,' \ -e '/.*\/lib\/x*emacs\/site-lisp$/{s,.*/lib/\(x*emacs/site-lisp\)$,${libdir}/\1,;p;q;}' \ -e '/.*\/share\/x*emacs\/site-lisp$/{s,.*/share/\(x*emacs/site-lisp\),${datarootdir}/\1,;p;q;}' \ conftest.out` rm conftest.out fi fi test -z "$am_cv_lispdir" && am_cv_lispdir='${datadir}/emacs/site-lisp' ]) lispdir="$am_cv_lispdir" ]) AC_SUBST([lispdir]) ])# AM_PATH_LISPDIR AU_DEFUN([ud_PATH_LISPDIR], [AM_PATH_LISPDIR]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([am/anubis.m4]) m4_include([am/gpgme.m4]) m4_include([am/gsasl.m4]) m4_include([am/guile.m4]) m4_include([am/libgnutls.m4]) m4_include([m4/alloca.m4]) m4_include([m4/eealloc.m4]) m4_include([m4/environ.m4]) m4_include([m4/errno_h.m4]) m4_include([m4/error.m4]) m4_include([m4/exitfail.m4]) m4_include([m4/extensions.m4]) m4_include([m4/fseeko.m4]) m4_include([m4/getdelim.m4]) m4_include([m4/getline.m4]) m4_include([m4/getopt.m4]) m4_include([m4/getpass.m4]) m4_include([m4/gettext.m4]) m4_include([m4/gnulib-common.m4]) m4_include([m4/gnulib-comp.m4]) m4_include([m4/iconv.m4]) m4_include([m4/include_next.m4]) m4_include([m4/inline.m4]) m4_include([m4/intlmacosx.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/longlong.m4]) m4_include([m4/lseek.m4]) m4_include([m4/malloc.m4]) m4_include([m4/malloca.m4]) m4_include([m4/nls.m4]) m4_include([m4/onceonly.m4]) m4_include([m4/po.m4]) m4_include([m4/progtest.m4]) m4_include([m4/realloc.m4]) m4_include([m4/setenv.m4]) m4_include([m4/stdbool.m4]) m4_include([m4/stdint.m4]) m4_include([m4/stdio_h.m4]) m4_include([m4/stdlib_h.m4]) m4_include([m4/strdup.m4]) m4_include([m4/strerror.m4]) m4_include([m4/string_h.m4]) m4_include([m4/sysexits.m4]) m4_include([m4/ulonglong.m4]) m4_include([m4/unistd_h.m4]) m4_include([m4/wchar.m4]) m4_include([m4/wint_t.m4]) m4_include([m4/xalloc.m4]) anubis-4.1.1+dfsg1/elisp/0000700000175000017500000000000011123153366012653 5ustar kbkbanubis-4.1.1+dfsg1/elisp/anubis-mode.el0000600000175000017500000004401311121752642015404 0ustar kbkb;;; anubis-mode.el --- major mode for editing GNU Anubis configuration files ;; Authors: 2003 Sergey Poznyakoff ;; Version: 1.0 ;; Keywords: anubis ;; $Id$ ;; This file is part of GNU Anubis. ;; Copyright (C) 2003, 2004 The Anubis Team. ;; GNU Anubis is free software; you can redistribute it and/or modify it ;; under the terms of the GNU General Public License as published by the ;; Free Software Foundation; either version 3, or (at your option) any ;; later version. ;; GNU Anubis is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License along ;; with GNU Anubis. If not, see . ;; Installation. ;; Usually the normal installation is performed by make install. ;; However, if you wish or have to install this module manually, ;; please notice the following: ;; ;; You may wish to use precompiled version of the module. To create it ;; run: ;; emacs -batch -f batch-byte-compile anubis-mode.el ;; Install files anubis-mode.el and anubis-mode.elc to any directory in ;; Emacs's load-path. ;; Customization: ;; To your .emacs or site-start add: ;; (autoload 'anubis-mode "anubis-mode") ;; (setq auto-mode-alist (append auto-mode-alist ;; '(("/.anubisrc$" . anubis-mode) ;; ("/anubisrc$" . anubis-mode)))) ;; You may also wish to modify the following variables: ;; anubis-section-body-indent -- Indent level for a section body. Defaults ;; to 0. ;; anubis-level-indent -- Amount of indentation per block nesting ;; level. Defaults to 2. (eval-when-compile ;; We use functions from these modules (mapcar 'require '(info compile font-lock))) (defvar anubis-mode-syntax-table nil "Syntax table used in anubis-mode buffers.") (unless anubis-mode-syntax-table (setq anubis-mode-syntax-table (make-syntax-table)) (modify-syntax-entry ?\# "<" anubis-mode-syntax-table) (modify-syntax-entry ?\n ">" anubis-mode-syntax-table) (modify-syntax-entry ?\t "-" anubis-mode-syntax-table) (modify-syntax-entry ?- "w" anubis-mode-syntax-table) (modify-syntax-entry ?_ "w" anubis-mode-syntax-table)) (defvar anubis-mode-abbrev-table nil "Abbrev table in use in anubis-mode buffers.") (define-abbrev-table 'anubis-mode-abbrev-table '(("BE" "BEGIN " nil 0) ("EN" "END" nil 0) ("ru" "rule " nil 0) ("tri" "trigger " nil 0) ("hea" "header " nil 0))) (defvar anubis-mode-map () "Keymap used in anubis-mode buffers.") (unless anubis-mode-map (setq anubis-mode-map (make-sparse-keymap)) (define-key anubis-mode-map "\t" 'anubis-complete-or-indent) (define-key anubis-mode-map "\e\t" 'anubis-indent-line) (define-key anubis-mode-map "\e?" 'anubis-describe-keywords) (define-key anubis-mode-map "\C-c\C-c" 'anubis-check-syntax) (define-key anubis-mode-map [menu-bar] (make-sparse-keymap)) (define-key anubis-mode-map [menu-bar Anubis] (cons "Anubis" anubis-mode-map)) (define-key anubis-mode-map [anubis-check-syntax] '("Check syntax" . anubis-check-syntax))) (defvar anubis-path nil "Path to the anubis executable") (defvar anubis-section-body-indent 0 "Indent of a section body in an Anubis rc file") (defvar anubis-level-indent 2 "Amount of additional indentation per nesting level of statements") ;; Font lock stuff (defconst anubis-font-lock-keywords (eval-when-compile (list (list "\\(BEGIN\\)[ \t]+\\(\\sw+\\)" '(1 font-lock-keyword-face) '(2 font-lock-function-name-face)) (cons "^\\s *\\(---\\)?\\s *END\\s *\\(---\\)?" font-lock-keyword-face) (cons (regexp-opt '("if" "else" "fi" "rule" "trigger" "done") 'words) font-lock-keyword-face) (cons (regexp-opt '("stop" "call" "add" "remove" "modify" "regexp") 'words) font-lock-keyword-face) (cons (regexp-opt '("and" "or" "not") 'words) font-lock-keyword-face) (cons (regexp-opt '("header" "body" "command") 'words) font-lock-type-face) (cons (regexp-opt '("bind" "rule-priority" "control-priority" "termlevel" "allow-local-mta" "user-notprivileged" "drop-unknown-user" "loglevel" "logfile" "tracefile" "remote-mta" "local-mta" "esmtp-allowed-mech" "esmtp-require-encryption" "esmtp-auth-id" "esmtp-authz-id" "esmtp-password" "esmtp-auth" "esmtp-service" "esmtp-hostname" "esmtp-generic-service" "esmtp-passcode" "esmtp-realm" "esmtp-anonymous-token" "mode" "smtp-greeting-message" "smtp-help-message" "sasl-password-db" "sasl-allowed-mech" "socks-proxy" "socks-v4" "socks-auth" "read-entire-body" "ssl" "ssl-oneway" "ssl-cert" "ssl-key" "ssl-cafile" "signature-file-append" "body-append" "body-clear-append" "body-clear" "external-body-processor" "gpg-passphrase" "gpg-encrypt" "gpg-sign" "gpg-sign-encrypt" "gpg-se" "gpg-home" "guile-output" "guile-debug" "guile-load-path-append" "guile-load-program" "guile-debug" "guile-load-path-append" "guile-load-program" "guile-rewrite-line" "guile-process") 'words) font-lock-keyword-face) (list (concat ":" (regexp-opt '("re" "regex" "perl" "perlre" "ex" "exact" "scase" "icase" "basic" "extended") t)) ; FIXME: 'words does not work 1 font-lock-builtin-face) (list "#:\\(\\sw+\\)" 1 font-lock-constant-face 'prepend) (cons "\\[\\sw+\\]" font-lock-string-face) ) ) "Expressions to highlight in Anubis mode.") ;; A list of keywords allowed in each section (defconst anubis-keyword-dict ;; section Keyword-list '((nil BEGIN) (CONTROL END bind (termlevel normal verbose debug silent) (allow-local-mta yes no) user-notprivileged (loglevel none fails all) logfile tracefile remote-mta local-mta esmtp-allowed-mech esmtp-require-encryption esmtp-auth-id esmtp-authz-id esmtp-password esmtp-auth esmtp-service esmtp-hostname esmtp-generic-service esmtp-passcode esmtp-realm esmtp-anonymous-token (mode transparent auth) socks-proxy (socks-v4 yes no) socks-auth read-entire-body (drop-unknown-user yes no) (rule-priority system user system-only user-only) (control-priority yes no) (ssl yes no) (ssl-oneway yes no) (ssl-cert yes no) (ssl-key yes no) (ssl-cafile yes no)) (AUTH END smtp-greeting-message smtp-help-message sasl-password-db sasl-allowed-mech) (TRANSLATION END translate) (GUILE END guile-output (guile-debug yes no) guile-load-path-append guile-load-program) (RULE END if else fi trigger done add remove modify call stop regex (signature-file-append yes no) body-append (body-clear yes no) body-clear-append gpg-passphrase gpg-encrypt gpg-sign gpg-sign-encrypt gpg-se external-body-processor guile-process))) (defconst anubis-keyword-nodes ;; Block kwd Info node Opt. Info file '(("CONTROL" "CONTROL Section") ("AUTH" "AUTH Section") ("TRANSLATION" "TRANSLATION Section") ("translate" "TRANSLATION Section") ("GUILE" "GUILE Section") ("RULE" "Rule System") ("bind" "Basic Settings") ("remote-mta" "Basic Settings") ("local-mta" "Basic Settings") ("mode" "Basic Settings") ("smtp-greeting-message" "AUTH Section") ("smtp-help-message" "AUTH Section") ("sasl-password-db" "AUTH Section") ("sasl-allowed-mech" "AUTH Section") ("termlevel" "Output Settings") ("logfile" "Output Settings") ("loglevel" "Output Settings") ("tracefile" "Output Settings") ("socks-proxy" "Proxy Settings") ("socks-v4" "Proxy Settings") ("socks-auth" "Proxy Settings") ("esmtp-allowed-mech" "ESMTP Authentication Settings") ("esmtp-require-encryption" "ESMTP Authentication Settings") ("esmtp-auth-id" "ESMTP Authentication Settings") ("esmtp-authz-id" "ESMTP Authentication Settings") ("esmtp-password" "ESMTP Authentication Settings") ("esmtp-auth" "ESMTP Authentication Settings") ("esmtp-service" "ESMTP Authentication Settings") ("esmtp-hostname" "ESMTP Authentication Settings") ("esmtp-generic-service" "ESMTP Authentication Settings") ("esmtp-passcode" "ESMTP Authentication Settings") ("esmtp-realm" "ESMTP Authentication Settings") ("esmtp-anonymous-token" "ESMTP Authentication Settings") ("ssl" "Encryption Settings") ("ssl-oneway" "Encryption Settings") ("ssl-cert" "Encryption Settings") ("ssl-key" "Encryption Settings") ("ssl-cafile" "Encryption Settings") ("allow-local-mta" "Security Settings") ("drop-unknown-user" "Security Settings") ("user-notprivileged" "Security Settings") ("rule-priority" "Security Settings") ("control-priority" "Security Settings") ("stop" "Stop Action") ("call" "Call Action") ("add" "Adding Headers or Text") ("remove" "Removing Headers") ("modify" "Modifying Messages") ("signature-file-append" "Inserting Files") ("body-append" "Inserting Files") ("body-clear" "Inserting Files") ("body-clear-append" "Inserting Files") ("gpg-passphrase" "Mail Encryption") ("gpg-encrypt" "Mail Encryption") ("gpg-sign" "Mail Encryption") ("gpg-sign-encrypt" "Mail Encryption") ("gpg-se" "Mail Encryption") ("external-body-processor" "External Processor") ("guile-process" "Invoking Guile Actions") ("guile-output" "GUILE Section") ("guile-debug" "GUILE Section") ("guile-load-path-append" "GUILE Section") ("guile-load-program" "GUILE Section") ("if" "Conditional Statements") ("fi" "Conditional Statements") ("else" "Conditional Statements") ("trigger" "Triggers") ("rule" "Triggers") (":regex" "Regular Expressions") (":re" "Regular Expressions") (":perl" "Regular Expressions") (":perlre" "Regular Expressions") (":exact" "Regular Expressions") (":ex" "Regular Expressions") (":scase" "Regular Expressions") (":icase" "Regular Expressions") (":basic" "Regular Expressions") (":extended" "Regular Expressions") ("regex" "Regular Expressions"))) (defun anubis-describe-keywords () "Depending on the context invoke the appropriate info page" (interactive) (let* ((word (thing-at-point 'word)) (elt (assoc word anubis-keyword-nodes)) (file (if (= (length elt) 3) (nth 2 elt) "anubis")) (node (cadr elt))) (Info-goto-node (concat "(" file ")" node)) (if (get-buffer "*info*") (switch-to-buffer "*info*")))) (defconst anubis-block-dict '((if . fi) (trigger . done) (rule . done))) (defun anubis-locate-context (&optional keywords) (save-excursion (let ((rev-keywords (and keywords (mapcar (lambda (x) (cons (cdr x) (car x))) keywords))) (cntl-stack nil) (keylist nil) (stop nil)) (beginning-of-line) (if (and keywords (looking-at "^\\s *\\(\\w+\\).*$")) (let* ((word (intern (buffer-substring (match-beginning 1) (match-end 1)))) (blk (assoc word rev-keywords))) (if blk (push (cdr blk) cntl-stack)))) (while (and (not stop) (not (bobp))) (forward-line -1) (cond ((looking-at "^\\s *#.*$")) ; skip comments ((looking-at "^\\s *---\\s *BEGIN\\s *\\(\\w+\\)\\s *---") (let ((sect (intern (buffer-substring (match-beginning 1) (match-end 1))))) (setq keylist (append (list sect) keylist) stop t))) ((looking-at "^\\s *BEGIN\\s *\\(\\w+\\)") (let ((sect (intern (buffer-substring (match-beginning 1) (match-end 1))))) (setq keylist (append (list sect) keylist) stop t))) ((looking-at "^\\s *\\(---\\s *\\)?END\\(\\s *---\\)?") (setq stop (point))) ((and keywords (looking-at "^\\s *\\(\\w+\\).*$")) (let* ((word (intern (buffer-substring (match-beginning 1) (match-end 1)))) (blk (assoc word rev-keywords))) (cond (blk (push (cdr blk) cntl-stack)) ((assoc word keywords) (if (and cntl-stack (equal (car cntl-stack) word)) (pop cntl-stack) (setq keylist (append (list word) keylist))))))))) (cons stop keylist)))) ;; Complete a given keyword (defun anubis-complete-keyword (word &optional prompt require-match) (let ((dict anubis-keyword-dict) (ctx (anubis-locate-context anubis-block-dict))) (if (not (car ctx)) nil (let ((dict (assoc (cadr ctx) dict))) (if dict (let ((compl (completing-read (or prompt "what? ") (mapcar (lambda (x) (cons (symbol-name (if (listp x) (car x) x)) nil)) (cdr dict)) nil require-match word nil))) (or compl word))))))) (defun anubis-shift-amount () (let ((keylist (anubis-locate-context anubis-block-dict)) (nesting-level (function (lambda (klist) (let ((len (length klist))) (if (and klist (equal (car klist) 'if) (save-excursion (beginning-of-line) (looking-at "\\s *else"))) (1- len) len)))))) (cond ((or (not keylist) (numberp (car keylist))) 0) ((car keylist) (+ anubis-section-body-indent (* (funcall nesting-level (cddr keylist)) anubis-level-indent))) (t (* (funcall nesting-level (cdr keylist)) anubis-level-indent))))) (defun anubis-indent-line () (let* ((start-of-line (save-excursion (beginning-of-line) (skip-syntax-forward "\\s *") (point))) (off (- (point) start-of-line)) (shift-amt (anubis-shift-amount))) (if (null shift-amt) () (beginning-of-line) (delete-region (point) start-of-line) (indent-to shift-amt)) (goto-char (+ (point) off)))) (defun anubis-complete-or-indent (arg) "Complete the keyword the point stays on or indent the current line" (interactive "p") (let* ((here (point)) (off 0) (bound (save-excursion (beginning-of-line) (point)))) (if (and (or (eolp) (looking-at "\\s ")) (search-backward-regexp "^\\s *\\(\\w+\\)" bound t)) (let* ((from (match-beginning 1)) (to (match-end 1)) (word (buffer-substring from to))) (if (= to here) ;; Process a keyword (let ((compl (anubis-complete-keyword word "keyword: "))) (cond ((and compl (not (string-equal compl word))) (delete-region from to) (goto-char from) (insert compl) (setq off (- (point) here))))) ;; FIXME: Process the argument ) (goto-char (+ here off)) ) (anubis-indent-line) ))) (defun anubis-check-syntax (arg) "Checks the syntax of the current Anubis RC buffer. Optional argument specifies the detail level (from 0 to 3)." (interactive "p") (compile (concat (if anubis-path anubis-path "anubis") " --check=" (number-to-string (or current-prefix-arg 0)) " --norc --relax --altrc " (buffer-file-name)))) ;;;###autoload (defun anubis-mode () "Major mode for editing GNU Anubis configuration files. Key bindings: \\{anubis-mode-map} " (interactive) (kill-all-local-variables) (set-syntax-table anubis-mode-syntax-table) (make-local-variable 'indent-line-function) (set (make-local-variable 'compile-command) "") (setq major-mode 'anubis-mode mode-name "Anubis-Config" local-abbrev-table anubis-mode-abbrev-table indent-line-function 'anubis-indent-line completion-ignore-case t) (use-local-map anubis-mode-map) (make-local-variable 'font-lock-defaults) (setq font-lock-defaults '((anubis-font-lock-keywords) nil t (("+-*/.<>=!?$%_&~^:" . "w")) beginning-of-defun (font-lock-mark-block-function . mark-defun))) ) (require 'info) (provide 'anubis-mode) ;;; anubis-mode ends anubis-4.1.1+dfsg1/elisp/Makefile.in0000600000175000017500000005512711122764063014735 0ustar kbkb# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = elisp DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/am/anubis.m4 \ $(top_srcdir)/am/gpgme.m4 $(top_srcdir)/am/gsasl.m4 \ $(top_srcdir)/am/guile.m4 $(top_srcdir)/am/libgnutls.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fseeko.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpass.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/onceonly.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd_h.m4 \ $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(lispdir)" lispLISP_INSTALL = $(INSTALL_DATA) LISP = $(lisp_LISP) am__ELFILES = anubis-mode.el am__ELCFILES = $(am__ELFILES:.el=.elc) ELCFILES = $(LISP:.el=.elc) elisp_comp = $(top_srcdir)/build/elisp-comp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ANUBIS_BIN_ADM = @ANUBIS_BIN_ADM@ ANUBIS_DEFINES = @ANUBIS_DEFINES@ ANUBIS_GPGFILES = @ANUBIS_GPGFILES@ ANUBIS_LIBOBJS = @ANUBIS_LIBOBJS@ ANUBIS_SBIN_ADM = @ANUBIS_SBIN_ADM@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMACS = @EMACS@ EMACSLOADPATH = @EMACSLOADPATH@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GPG = @GPG@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GREP = @GREP@ GSASL_LIBS = @GSASL_LIBS@ GUILE_BINDIR = @GUILE_BINDIR@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_INCLUDES = @GUILE_INCLUDES@ GUILE_LIBS = @GUILE_LIBS@ GUILE_SCRIPTS = @GUILE_SCRIPTS@ GUILE_SNARF_VERSION = @GUILE_SNARF_VERSION@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTOB = @HAVE_WCTOB@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ INCLUDES = @INCLUDES@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBANUBIS_LIBDEPS = @LIBANUBIS_LIBDEPS@ LIBANUBIS_LTLIBDEPS = @LIBANUBIS_LTLIBDEPS@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_CONFIG = @LIBGNUTLS_CONFIG@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4_DEFS = @M4_DEFS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYSEXITS_H = @SYSEXITS_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ idecrypt_path = @idecrypt_path@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ lisp_LISP = @lisp_LISP@ lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ LISPSRC = anubis-mode.el EXTRA_LISP = anubis-mode.el EXTRA_DIST = anubis-mode.el all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits elisp/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnits elisp/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh elc-stamp: $(LISP) @echo 'WARNING: Warnings can be ignored. :-)' @rm -f elc-temp && touch elc-temp if test "$(EMACS)" != no; then \ set x; \ list='$(LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ set x "$$@" "$$d$$p"; shift; \ done; \ shift; \ EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \ else : ; fi @mv -f elc-temp $@ $(am__ELCFILES): elc-stamp @if test "$(EMACS)" != no && test ! -f $@; then \ trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \ if mkdir elc-lock 2>/dev/null; then \ rm -f elc-stamp; \ $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \ rmdir elc-lock; \ else \ while test -d elc-lock; do sleep 1; done; \ test -f elc-stamp; exit $$?; \ fi; \ else : ; fi install-lispLISP: $(lisp_LISP) $(ELCFILES) @$(NORMAL_INSTALL) @if test "$(EMACS)" != no; then \ test -z "$(lispdir)" || $(MKDIR_P) "$(DESTDIR)$(lispdir)"; \ list='$(lisp_LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(lispLISP_INSTALL) '$$d$$p' '$(DESTDIR)$(lispdir)/$$f'"; \ $(lispLISP_INSTALL) "$$d$$p" "$(DESTDIR)$(lispdir)/$$f"; \ if test -f $${p}c; then \ echo " $(lispLISP_INSTALL) '$${p}c' '$(DESTDIR)$(lispdir)/$${f}c'"; \ $(lispLISP_INSTALL) "$${p}c" "$(DESTDIR)$(lispdir)/$${f}c"; \ else : ; fi; \ done; \ else : ; fi uninstall-lispLISP: @$(NORMAL_UNINSTALL) @if test "$(EMACS)" != no; then \ list='$(lisp_LISP)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(lispdir)/$$f' '$(DESTDIR)$(lispdir)/$${f}c'"; \ rm -f "$(DESTDIR)$(lispdir)/$$f" "$(DESTDIR)$(lispdir)/$${f}c"; \ done; \ else : ; fi clean-lisp: -rm -f elc-stamp $(ELCFILES) tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LISP) $(ELCFILES) installdirs: for dir in "$(DESTDIR)$(lispdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-lisp mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-lispLISP install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-lispLISP .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-lisp \ distclean distclean-generic distdir dvi dvi-am html html-am \ info info-am install install-am install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-lispLISP install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am uninstall-lispLISP # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: anubis-4.1.1+dfsg1/elisp/Makefile.am0000600000175000017500000000147611121752642014721 0ustar kbkb## ## This file is part of GNU Anubis. ## Copyright (C) 2003, 2007 The Anubis Team. ## ## GNU Anubis is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by the ## Free Software Foundation; either version 3 of the License, or (at your ## option) any later version. ## ## GNU Anubis is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License along ## with GNU Anubis. If not, see . ## LISPSRC=anubis-mode.el lisp_LISP=@lisp_LISP@ EXTRA_LISP=anubis-mode.el EXTRA_DIST=anubis-mode.el anubis-4.1.1+dfsg1/src/0000700000175000017500000000000011123153364012324 5ustar kbkbanubis-4.1.1+dfsg1/src/rcfile.c0000600000175000017500000005227511121752642013753 0ustar kbkb/* rcfile.c This file is part of GNU Anubis. Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" #include "rcfile.h" #define setbool(a, b, c) \ do {\ if (strcasecmp("yes", a) == 0) \ (b) |= (c); \ else if (strcasecmp("no", a) == 0) \ (b) &= ~(c); \ else \ return RC_KW_ERROR; \ } while (0) #define if_empty_set(a, b, c) \ do {\ if (strlen(a) == 0) { \ (b) &= ~(c); \ } else { \ (b) |= (c); \ }\ } while (0) #define MAX_SECTIONS 10 static RC_SECTION *parse_tree; static time_t global_mtime; static struct rc_secdef anubis_rc_sections[MAX_SECTIONS]; static int anubis_rc_numsections; struct rc_secdef * anubis_add_section (char *name) { int i; if (anubis_rc_numsections >= MAX_SECTIONS) abort (); /*FIXME*/ for (i = 0; i < anubis_rc_numsections; i++) if (strcmp (anubis_rc_sections[i].name, name) == 0) return &anubis_rc_sections[i]; anubis_rc_sections[anubis_rc_numsections].name = name; anubis_rc_sections[anubis_rc_numsections].allow_prog = 0; anubis_rc_sections[anubis_rc_numsections].prio = prio_user_only; anubis_rc_sections[anubis_rc_numsections].child = NULL; return &anubis_rc_sections[anubis_rc_numsections++]; } struct rc_secdef * anubis_find_section (char *name) { int i; for (i = 0; i < anubis_rc_numsections; i++) if (strcmp (anubis_rc_sections[i].name, name) == 0) return &anubis_rc_sections[i]; return NULL; } void anubis_section_set_prio (char *name, enum section_prio prio) { struct rc_secdef *p = anubis_find_section (name); if (p) p->prio = prio; } /* A structure uniquely identifying a file */ struct file_id { dev_t dev; /* Device number */ ino_t ino; /* I-node number */ }; /* A list of struct file_id used to prevent duplicate parsing of the same file */ static ANUBIS_LIST *file_id_list; /* Comparator for two struct file_id */ static int cmp_fid (void *a, void *b) { struct file_id *fid_a = a, *fid_b = b; return !(fid_a->dev == fid_b->dev && fid_a->ino == fid_b->ino); } /* Adds the `filename' to file_id_list. Returns 0 if the operation passed successfully, 1 -- if the file is already present in the list, and -1 on error */ static int file_id_add (char *filename) { struct stat st; struct file_id *fid; if (stat (filename, &st)) { anubis_error (0, errno, _("cannot stat file `%s'"), filename); return -1; } fid = xmalloc (sizeof (*fid)); fid->dev = st.st_dev; fid->ino = st.st_ino; if (list_locate (file_id_list, fid, cmp_fid)) { free (fid); if (options.termlevel == DEBUG) fprintf (stderr, _("File `%s' has already been read.\n"), filename); return 1; } if (!file_id_list) file_id_list = list_create (); list_append (file_id_list, fid); return 0; } static void file_id_destroy () { list_destroy (&file_id_list, anubis_free_list_item, NULL); } void auth_tunnel (void) /* FIXME: Change to a proper name */ { info (NORMAL, _("Welcome user %s !"), session.clientname); open_rcfile (CF_CLIENT); process_rcfile (CF_CLIENT); } void open_rcfile (int method) { char homedir[MAXPATHLEN + 1]; char *rcfile = 0; RC_SECTION *sec; switch (method) { case CF_INIT: case CF_SUPERVISOR: if (topt & T_ALTRC) { rcfile = strdup (options.altrc); } else if (check_superuser ()) rcfile = strdup (DEFAULT_GLOBAL_RCFILE); else { get_homedir (session.supervisor, homedir, sizeof (homedir)); rcfile = xmalloc (strlen (homedir) + strlen (DEFAULT_LOCAL_RCFILE) + 2); sprintf (rcfile, "%s/%s", homedir, DEFAULT_LOCAL_RCFILE); } if (check_filename (rcfile, &global_mtime) == 0) { free (rcfile); return; } rc_section_list_destroy (&parse_tree); file_id_destroy (); info (VERBOSE, _("Reading system configuration file %s..."), rcfile); break; case CF_CLIENT: if ((topt & (T_ALTRC | T_NORC)) == (T_ALTRC | T_NORC)) { rcfile = strdup (options.altrc); } else { rcfile = user_rcfile_name (); } info (VERBOSE, _("Reading user configuration file %s..."), rcfile); } if ((topt & T_RELAX_PERM_CHECK) == 0 && check_filemode (rcfile) == 0) { /* Wrong permissions... */ free (rcfile); return; } if (file_id_add (rcfile) == 0) { sec = rc_parse (rcfile); if (sec) rc_section_link (&parse_tree, sec); } free (rcfile); } void process_rcfile (int method) { rcfile_process_section (method, "CONTROL", NULL, NULL); #ifdef WITH_GUILE rcfile_process_section (method, "GUILE", NULL, NULL); #endif #if defined(WITH_GSASL) rcfile_process_section (method, "AUTH", NULL, NULL); #endif } /* ************************** The CONTROL Section ************************* */ #define KW_BIND 0 #define KW_TERMLEVEL 1 #define KW_LOGLEVEL 2 #define KW_LOGFILE 3 #define KW_TRACEFILE 4 #define KW_REMOTE_MTA 5 #define KW_LOCAL_MTA 6 #define KW_RULE_PRIORITY 7 #define KW_CONTROL_PRIORITY 8 #define KW_ESMTP_AUTH 9 #define KW_DROP_UNKNOWN_USER 10 #define KW_USER_NOTPRIVILEGED 11 #define KW_ALLOW_LOCAL_MTA 12 #define KW_SOCKS_PROXY 13 #define KW_SOCKS_V4 14 #define KW_SOCKS_AUTH 15 #define KW_READ_ENTIRE_BODY 16 #define KW_LOCAL_DOMAIN 17 #define KW_MODE 18 #define KW_ESMTP_ANONYMOUS_TOKEN 19 #define KW_ESMTP_AUTH_ID 20 #define KW_ESMTP_AUTHZ_ID 21 #define KW_ESMTP_PASSWORD 22 #define KW_ESMTP_SERVICE 23 #define KW_ESMTP_HOSTNAME 24 #define KW_ESMTP_GENERIC_SERVICE 25 #define KW_ESMTP_PASSCODE 26 #define KW_ESMTP_REALM 27 #define KW_ESMTP_ALLOWED_MECH 28 #define KW_ESMTP_REQUIRE_ENCRYPTION 29 #define KW_INCOMING_MAIL_RULE 30 #define KW_OUTGOING_MAIL_RULE 31 #define KW_HANG 32 #define KW_ALLOW_HANG 33 char ** list_to_argv (ANUBIS_LIST * list) { int i, argc; char **argv, *p; ITERATOR *itr; argc = list_count (list); argv = xmalloc ((argc + 1) * sizeof (argv[0])); itr = iterator_create (list); for (i = 0, p = iterator_first (itr); p; i++, p = iterator_next (itr)) argv[i] = strdup (p); iterator_destroy (&itr); argv[i] = NULL; return argv; } /* When HANG=NUMBER is set in CONTROL section, `_anubis_hang' is set and Anubis will sleep for one second intervals, decrementing `_anubis_hang' until it's zero. Thus you can force the program to continue by attaching a debugger and setting it to 0 yourself. */ static volatile unsigned long _anubis_hang; /* List of users who are allowed to use HANG in their profiles */ ANUBIS_LIST *allow_hang_users; int control_parser (int method, int key, ANUBIS_LIST * arglist, void *inv_data, void *func_data, MESSAGE * msg) { char *arg = list_item (arglist, 0); switch (key) { case KW_BIND: parse_mtahost (arg, &session.anubis, &session.anubis_port); if (session.anubis && strlen (session.anubis) != 0) topt |= T_NAMES; break; case KW_RULE_PRIORITY: if (strcasecmp (arg, "user") == 0) anubis_section_set_prio ("RULE", prio_user); else if (strcasecmp (arg, "user-only") == 0) anubis_section_set_prio ("RULE", prio_user_only); else if (strcasecmp (arg, "system") == 0) anubis_section_set_prio ("RULE", prio_system); else if (strcasecmp (arg, "system-only") == 0) anubis_section_set_prio ("RULE", prio_system_only); else return RC_KW_ERROR; break; case KW_CONTROL_PRIORITY: if (strcasecmp (arg, "user") == 0) anubis_section_set_prio ("CONTROL", prio_user); else if (strcasecmp (arg, "system") == 0) anubis_section_set_prio ("CONTROL", prio_system); else return RC_KW_ERROR; break; case KW_TERMLEVEL: if (strcasecmp ("silent", arg) == 0) options.termlevel = SILENT; else if (strcasecmp ("normal", arg) == 0) options.termlevel = NORMAL; else if (strcasecmp ("verbose", arg) == 0) options.termlevel = VERBOSE; else if (strcasecmp ("debug", arg) == 0) options.termlevel = DEBUG; else return RC_KW_ERROR; break; case KW_ALLOW_LOCAL_MTA: setbool (arg, topt, T_ALLOW_LOCAL_MTA); break; case KW_USER_NOTPRIVILEGED: assign_string (&session.notprivileged, arg); topt |= T_USER_NOTPRIVIL; break; case KW_LOGFILE: if (method == CF_CLIENT) { xfree (options.ulogfile); options.ulogfile = xstrdup (arg); } else if (getpid () == 0) anubis_warning (0, _("`logfile' directive is ignored in main configuration file")); else { topt |= T_DISABLE_SYSLOG; xfree (options.ulogfile); options.ulogfile = xstrdup (arg); } break; case KW_LOGLEVEL: if (strcasecmp ("none", arg) == 0) options.uloglevel = NONE; else if (strcasecmp ("all", arg) == 0) options.uloglevel = ALL; else if (strcasecmp ("fails", arg) == 0) options.uloglevel = FAILS; else return RC_KW_ERROR; break; case KW_TRACEFILE: if (method & (CF_SUPERVISOR | CF_INIT)) setbool (arg, topt, T_TRACEFILE_SYS); else if (method == CF_CLIENT) { if (strcasecmp ("no", arg) == 0) topt &= ~T_TRACEFILE_USR; else { xfree (options.tracefile); if (strcasecmp ("yes", arg) == 0) { if (options.ulogfile) { options.tracefile = strdup (options.ulogfile); topt |= T_TRACEFILE_USR; } else topt &= ~T_TRACEFILE_USR; } else { options.tracefile = xstrdup (arg); topt |= T_TRACEFILE_USR; } } } break; case KW_REMOTE_MTA: parse_mtaport (arg, &session.mta, &session.mta_port); break; case KW_LOCAL_MTA: if (!(topt & T_LOCAL_MTA)) /* Command line option overrides config */ /* FIXME: generally speaking *all* command line options should */ { xfree (session.execpath); argcv_free (-1, session.execargs); session.execpath = strdup (arg); session.execargs = list_to_argv (arglist); topt |= T_LOCAL_MTA; } break; #if defined (WITH_GSASL) case KW_ESMTP_AUTH: { char *p = strchr (arg, ':'); if (p) { *p++ = 0; auth_password = strdup (p); authentication_id = strdup (arg); authorization_id = strdup (arg); topt |= T_ESMTP_AUTH; } } break; case KW_ESMTP_ANONYMOUS_TOKEN: anon_token = strdup (arg); topt |= T_ESMTP_AUTH; break; case KW_ESMTP_AUTH_ID: authentication_id = strdup (arg); topt |= T_ESMTP_AUTH; break; case KW_ESMTP_AUTHZ_ID: authorization_id = strdup (arg); topt |= T_ESMTP_AUTH; break; case KW_ESMTP_PASSWORD: auth_password = strdup (arg); topt |= T_ESMTP_AUTH; break; case KW_ESMTP_SERVICE: auth_service = strdup (arg); topt |= T_ESMTP_AUTH; break; case KW_ESMTP_HOSTNAME: auth_hostname = strdup (arg); topt |= T_ESMTP_AUTH; break; case KW_ESMTP_GENERIC_SERVICE: generic_service_name = strdup (arg); topt |= T_ESMTP_AUTH; break; case KW_ESMTP_PASSCODE: auth_passcode = strdup (arg); topt |= T_ESMTP_AUTH; break; case KW_ESMTP_REALM: auth_realm = strdup (arg); topt |= T_ESMTP_AUTH; break; case KW_ESMTP_ALLOWED_MECH: anubis_set_client_mech_list (arglist); topt |= T_ESMTP_AUTH; break; case KW_ESMTP_REQUIRE_ENCRYPTION: anubis_set_encryption_mech_list (arglist); break; #endif case KW_LOCAL_DOMAIN: anubis_domain = strdup (arg); break; #ifdef USE_SOCKS_PROXY case KW_SOCKS_PROXY: parse_mtaport (arg, &session.socks, &session.socks_port); if_empty_set (session.socks, topt, T_SOCKS); break; case KW_SOCKS_V4: setbool (arg, topt, T_SOCKS_V4); break; case KW_SOCKS_AUTH: { char *p = 0; p = strchr (arg, ':'); if (p) { *p++ = 0; assign_string (&session.socks_password, p); assign_string (session.socks_username, arg); topt |= T_SOCKS_AUTH; } break; } #endif /* USE_SOCKS_PROXY */ case KW_READ_ENTIRE_BODY: setbool (arg, topt, T_ENTIRE_BODY); break; case KW_DROP_UNKNOWN_USER: setbool (arg, topt, T_DROP_UNKNOWN_USER); break; #ifdef WITH_GSASL case KW_MODE: if (anubis_mode != anubis_mda) /* Special case. See comment to KW_LOCAL_MAILER directive, though */ { if (list_count (arglist) != 1) return RC_KW_ERROR; if (anubis_set_mode (arg)) return RC_KW_ERROR; } break; #endif /* WITH_GSASL */ case KW_INCOMING_MAIL_RULE: incoming_mail_rule = strdup (arg); break; case KW_OUTGOING_MAIL_RULE: outgoing_mail_rule = strdup (arg); break; case KW_ALLOW_HANG: { char *p; ITERATOR *itr = iterator_create (arglist); allow_hang_users = list_create (); for (p = iterator_first (itr); p; p = iterator_next (itr)) list_append (allow_hang_users, strdup (p)); } break; case KW_HANG: if (list_locate (allow_hang_users, session.clientname, anubis_name_cmp)) { int keep_termlevel = options.termlevel; _anubis_hang = atoi (arg ? arg : "3600"); options.termlevel = DEBUG; anubis_warning (0, ngettext ("Child process suspended for %lu second", "Child process suspended for %lu seconds", _anubis_hang), _anubis_hang); options.termlevel = keep_termlevel; while (_anubis_hang-- > 0) sleep (1); } else anubis_warning (0, _("Command HANG is not allowed for user `%s'"), session.clientname); break; default: return RC_KW_UNKNOWN; } return RC_KW_HANDLED; } static struct rc_kwdef init_kw[] = { { "bind", KW_BIND }, { "local-domain", KW_LOCAL_DOMAIN }, { "mode", KW_MODE }, { "incoming-mail-rule", KW_INCOMING_MAIL_RULE }, { "outgoing-mail-rule", KW_OUTGOING_MAIL_RULE }, { "ALLOW-HANG", KW_ALLOW_HANG }, { NULL }, }; static struct rc_secdef_child init_sect_child = { NULL, CF_INIT, init_kw, control_parser, NULL }; static struct rc_kwdef init_supervisor_kw[] = { { "termlevel", KW_TERMLEVEL }, { "allow-local-mta", KW_ALLOW_LOCAL_MTA }, { "user-notprivileged", KW_USER_NOTPRIVILEGED }, { "drop-unknown-user", KW_DROP_UNKNOWN_USER }, { "rule-priority", KW_RULE_PRIORITY }, { "control-priority", KW_CONTROL_PRIORITY }, { "logfile", KW_LOGFILE }, { "loglevel", KW_LOGLEVEL }, { NULL } }; static struct rc_secdef_child init_supervisor_sect_child = { NULL, CF_INIT | CF_SUPERVISOR, init_supervisor_kw, control_parser, NULL }; struct rc_kwdef client_kw[] = { { "logfile", KW_LOGFILE }, { "loglevel", KW_LOGLEVEL }, { "HANG", KW_HANG }, { NULL }, }; static struct rc_secdef_child client_sect_child = { NULL, CF_CLIENT, client_kw, control_parser, NULL }; struct rc_kwdef control_kw[] = { { "remote-mta", KW_REMOTE_MTA }, { "local-mta", KW_LOCAL_MTA }, { "tracefile", KW_TRACEFILE }, { "esmtp-auth", KW_ESMTP_AUTH, KWF_HIDDEN }, { "esmtp-anonymous-token", KW_ESMTP_ANONYMOUS_TOKEN, KWF_HIDDEN }, { "esmtp-auth-id", KW_ESMTP_AUTH_ID, KWF_HIDDEN }, { "esmtp-authz-id", KW_ESMTP_AUTHZ_ID, KWF_HIDDEN }, { "esmtp-password", KW_ESMTP_PASSWORD, KWF_HIDDEN }, { "esmtp-service", KW_ESMTP_SERVICE, KWF_HIDDEN }, { "esmtp-hostname", KW_ESMTP_HOSTNAME, KWF_HIDDEN }, { "esmtp-generic-service", KW_ESMTP_SERVICE, KWF_HIDDEN }, { "esmtp-passcode", KW_ESMTP_PASSCODE, KWF_HIDDEN }, { "esmtp-realm", KW_ESMTP_REALM, KWF_HIDDEN }, { "esmtp-allowed-mech", KW_ESMTP_ALLOWED_MECH }, { "esmtp-require-encryption", KW_ESMTP_REQUIRE_ENCRYPTION }, #ifdef USE_SOCKS_PROXY { "socks-proxy", KW_SOCKS_PROXY }, { "socks-v4", KW_SOCKS_V4 }, { "socks-auth", KW_SOCKS_AUTH }, #endif /* USE_SOCKS_PROXY */ { "read-entire-body", KW_READ_ENTIRE_BODY }, { NULL }, }; static struct rc_secdef_child control_sect_child = { NULL, CF_ALL, control_kw, control_parser, NULL }; /* FIXME: This belongs to another file */ #if defined(HAVE_TLS) || defined(HAVE_SSL) #define KW_SSL 1 #define KW_SSL_ONEWAY 2 #define KW_SSL_CERT 3 #define KW_SSL_KEY 4 #define KW_SSL_CAFILE 5 int tls_parser (int method, int key, ANUBIS_LIST * arglist, void *inv_data, void *func_data, MESSAGE * msg) { char *arg = list_item (arglist, 0); switch (key) { case KW_SSL: setbool (arg, topt, T_SSL); break; case KW_SSL_ONEWAY: setbool (arg, topt, T_SSL_ONEWAY); break; case KW_SSL_CERT: xfree (secure.cert); secure.cert = xstrdup (arg); break; case KW_SSL_KEY: xfree (secure.key); secure.key = xstrdup (arg); if (method == CF_CLIENT) topt |= T_SSL_CKCLIENT; break; case KW_SSL_CAFILE: xfree (secure.cafile); secure.cafile = xstrdup (arg); break; default: return RC_KW_UNKNOWN; } return RC_KW_HANDLED; } static struct rc_kwdef tls_kw[] = { { "ssl", KW_SSL }, { "ssl-oneway", KW_SSL_ONEWAY }, { "ssl-cert", KW_SSL_CERT }, { "ssl-key", KW_SSL_KEY }, { "ssl-cafile", KW_SSL_CAFILE }, { NULL } }; static struct rc_secdef_child tls_sect_child = { NULL, CF_ALL, tls_kw, tls_parser, NULL }; #endif /* HAVE_TLS or HAVE_SSL */ void control_section_init (void) { struct rc_secdef *sp = anubis_add_section ("CONTROL"); sp->prio = prio_system; rc_secdef_add_child (sp, &init_sect_child); rc_secdef_add_child (sp, &init_supervisor_sect_child); rc_secdef_add_child (sp, &client_sect_child); rc_secdef_add_child (sp, &control_sect_child); #if defined(HAVE_TLS) || defined(HAVE_SSL) rc_secdef_add_child (sp, &tls_sect_child); #endif } /* ************************** The RULE Section *************************** */ #define KW_SIGNATURE_FILE_APPEND 1 #define KW_BODY_APPEND 2 #define KW_BODY_CLEAR_APPEND 3 #define KW_EXTERNAL_BODY_PROCESSOR 4 #define KW_BODY_CLEAR 5 int rule_parser (int method, int key, ANUBIS_LIST * arglist, void *inv_data, void *func_data, MESSAGE * msg) { char *arg = list_item (arglist, 0); char **argv; switch (key) { case KW_SIGNATURE_FILE_APPEND: if (strcasecmp ("no", arg)) message_append_signature_file (msg); break; case KW_BODY_APPEND: message_append_text_file (msg, arg); break; case KW_BODY_CLEAR: xfree (msg->body); msg->body = strdup (""); break; case KW_BODY_CLEAR_APPEND: xfree (msg->body); msg->body = strdup (""); message_append_text_file (msg, arg); break; case KW_EXTERNAL_BODY_PROCESSOR: argv = list_to_argv (arglist); message_external_proc (msg, argv); argcv_free (-1, argv); break; default: return RC_KW_UNKNOWN; } return RC_KW_HANDLED; } struct rc_kwdef rule_kw[] = { { "signature-file-append", KW_SIGNATURE_FILE_APPEND }, { "body-append", KW_BODY_APPEND }, { "body-clear-append", KW_BODY_CLEAR_APPEND }, { "body-clear", KW_BODY_CLEAR }, { "external-body-processor", KW_EXTERNAL_BODY_PROCESSOR }, { NULL } }; static struct rc_secdef_child rule_sect_child = { NULL, CF_CLIENT, rule_kw, rule_parser, NULL }; void rule_section_init (void) { struct rc_secdef *sp = anubis_add_section ("RULE"); sp->allow_prog = 1; sp->prio = prio_system; rc_secdef_add_child (sp, &rule_sect_child); } void rc_system_init (void) { control_section_init (); translate_section_init (); rule_section_init (); #ifdef WITH_GUILE guile_section_init (); #endif #ifdef HAVE_GPG gpg_section_init (); #endif #ifdef WITH_GSASL authmode_section_init (); #endif } void rcfile_process_section (int method, char *name, void *data, MESSAGE * msg) { RC_SECTION *sec; for (sec = rc_section_lookup (parse_tree, name); sec; sec = rc_section_lookup (sec->next, name)) rc_run_section (method, sec, anubis_rc_sections, data, msg); } void rcfile_call_section (int method, char *name, void *data, MESSAGE * msg) { RC_SECTION *sec = rc_section_lookup (parse_tree, name); if (!sec) anubis_error (0, 0, _("No such section: %s"), name); rc_call_section (method, sec, anubis_rc_sections, data, msg); } char * user_rcfile_name (void) { if (session.rcfile_name) { return strdup (session.rcfile_name); } else { char homedir[MAXPATHLEN + 1]; char *buf; size_t len; get_homedir (session.clientname, homedir, sizeof (homedir)); len = strlen (homedir) + 1 + sizeof DEFAULT_LOCAL_RCFILE; buf = xmalloc (len); strcpy (buf, homedir); strcat (buf, "/"); strcat (buf, DEFAULT_LOCAL_RCFILE); return buf; } } /* EOF */ anubis-4.1.1+dfsg1/src/message.c0000600000175000017500000001226311121752642014124 0ustar kbkb/* message.c This file is part of GNU Anubis. Copyright (C) 2003, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" #define obstack_chunk_alloc malloc #define obstack_chunk_free free #include void message_add_header (MESSAGE * msg, char *hdr, char *value) { ASSOC *asc = xmalloc (sizeof (*asc)); asc->key = strdup (hdr); asc->value = strdup (value); list_append (msg->header, asc); } void message_add_body (MESSAGE * msg, char *key, char *value) { if (!key) { msg->body = xrealloc (msg->body, strlen (msg->body) + strlen (value) + 1); strcat (msg->body, value); } else { /*FIXME*/ } } void message_remove_headers (MESSAGE * msg, RC_REGEX * regex) { ASSOC *asc; ITERATOR *itr; itr = iterator_create (msg->header); for (asc = iterator_first (itr); asc; asc = iterator_next (itr)) { char **rv; int rc; if (anubis_regex_match (regex, asc->key, &rc, &rv)) { list_remove (msg->header, asc, NULL); assoc_free (asc); } if (rc) argcv_free (-1, rv); } iterator_destroy (&itr); } void message_modify_body (MESSAGE * msg, RC_REGEX * regex, char *value) { if (!value) value = ""; if (!regex) { int len = strlen (value); xfree (msg->body); if (len > 0 && value[len - 1] != '\n') { msg->body = xmalloc (len + 2); strcpy (msg->body, value); msg->body[len] = '\n'; msg->body[len + 1] = 0; } else msg->body = strdup (value); } else { char *start, *end; int stack_level = 0; struct obstack stack; start = msg->body; while (start && *start) { int len; char *newp; end = strchr (start, '\n'); if (end) *end = 0; newp = anubis_regex_replace (regex, start, value); if (newp) { if (!stack_level) { obstack_init (&stack); stack_level = start - msg->body; if (stack_level > 0) { obstack_grow (&stack, msg->body, stack_level); } stack_level++; } len = strlen (newp); obstack_grow (&stack, newp, len); obstack_1grow (&stack, '\n'); xfree (newp); stack_level += len + 1; } else if (stack_level) { len = strlen (start); obstack_grow (&stack, start, len); obstack_1grow (&stack, '\n'); stack_level += len + 1; } if (end) *end++ = '\n'; start = end; } if (stack_level) { char *p = obstack_finish (&stack); msg->body = xrealloc (msg->body, stack_level + 1); memcpy (msg->body, p, stack_level - 1); msg->body[stack_level - 1] = 0; obstack_free (&stack, NULL); } } } static char * expand_ampersand (char *value, char *old_value) { char *p; p = strchr (value, '&'); if (!p) { free (old_value); p = strdup (value); } else { struct obstack stk; int old_length = strlen (old_value); obstack_init (&stk); for (; *value; value++) { switch (*value) { case '\\': value++; if (*value != '&') obstack_1grow (&stk, '\\'); obstack_1grow (&stk, *value); break; case '&': obstack_grow (&stk, old_value, old_length); break; default: obstack_1grow (&stk, *value); } } obstack_1grow (&stk, 0); p = strdup (obstack_finish (&stk)); obstack_free (&stk, NULL); } return p; } void message_modify_headers (MESSAGE * msg, RC_REGEX * regex, char *key2, char *value) { ASSOC *asc; ITERATOR *itr; itr = iterator_create (msg->header); for (asc = iterator_first (itr); asc; asc = iterator_next (itr)) { char **rv; int rc; if (asc->key && anubis_regex_match (regex, asc->key, &rc, &rv)) { if (key2) { free (asc->key); if (rc) asc->key = substitute (key2, rv); else asc->key = strdup (key2); } if (value) { asc->value = expand_ampersand (value, asc->value); } } if (rc) argcv_free (-1, rv); } iterator_destroy (&itr); } void message_external_proc (MESSAGE * msg, char **argv) { int rc = 0; char *extbuf = 0; extbuf = exec_argv (&rc, NULL, argv, msg->body, 0, 0); if (rc != -1 && extbuf) { xfree (msg->body); msg->body = extbuf; } } void message_init (MESSAGE * msg) { memset (msg, 0, sizeof (*msg)); msg->header = list_create (); msg->commands = list_create (); } void message_free (MESSAGE * msg) { destroy_assoc_list (&msg->commands); destroy_assoc_list (&msg->header); destroy_string_list (&msg->mime_hdr); xfree (msg->body); xfree (msg->boundary); } /* EOF */ anubis-4.1.1+dfsg1/src/anubisusr.c0000600000175000017500000005406011122500604014502 0ustar kbkb/* anubisusr.c Copyright (C) 2004, 2005, 2007, 2008 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include #ifdef HAVE_TLS char *tls_cafile; int enable_tls = 1; #endif /* HAVE_TLS */ char *progname; char *smtp_host = "localhost"; int smtp_port = 24; char *rcfile_name = NULL; char *netrc_name = NULL; struct obstack input_stk; int verbose; #define VDETAIL(n,s) do { if (verbose>=(n)) printf s; } while(0) struct smtp_reply { int code; /* Reply code */ char *base; /* Pointer to the start of the reply string */ int argc; /* Number of arguments in the parsed reply */ char **argv; /* Parsed reply */ }; struct smtp_reply smtp_capa; void error (const char *, ...); int send_line (char *buf); int smtp_get_reply (struct smtp_reply *repl); void smtp_free_reply (struct smtp_reply *repl); static void smtp_quit (void); #define R_CONT 0x8000 #define R_CODEMASK 0xfff void error (const char *fmt, ...) { va_list ap; va_start (ap, fmt); fprintf (stderr, "%s: ", progname); vfprintf (stderr, fmt, ap); fprintf (stderr, "\n"); va_end (ap); } /* Basic I/O */ NET_STREAM iostream; #ifdef HAVE_TLS void info (int mode, const char *fmt, ...) { va_list ap; if (verbose == 0) return; va_start (ap, fmt); vfprintf (stderr, fmt, ap); va_end (ap); fprintf (stderr, "\n"); } void anubis_error (int exit_code, int error_code, const char *fmt, ...) { va_list ap; va_start (ap, fmt); fprintf (stderr, "%s: ", progname); vfprintf (stderr, fmt, ap); if (error_code) fprintf (stderr, ": %s", strerror (error_code)); fprintf (stderr, "\n"); va_end (ap); } void starttls (void) { struct smtp_reply reply; VDETAIL (1, (_("Starting TLS negotiation\n"))); send_line ("STARTTLS"); smtp_get_reply (&reply); if (reply.code != 220) { error (_("Server rejected TLS negotiation")); exit (1); } iostream = start_ssl_client (iostream, tls_cafile, verbose > 2); if (!iostream) { error (_("TLS negotiation failed")); smtp_quit (); exit (1); } } #endif /* HAVE_TLS */ /* Auxiliary functions */ char * skipws (char *str) { while (*str && isspace (*(u_char *) str)) str++; return str; } char * skipword (char *str) { while (*str && !isspace (*(u_char *) str)) str++; return str; } /* FIXME: Move to the library and unify with hostname_error() */ const char * h_error_string (int ec) { static struct h_err_tab { int code; char *descr; } *ep, h_err_tab[] = { { HOST_NOT_FOUND, N_("No such host is known in the database.") }, { TRY_AGAIN, N_("Temporary error. Try again later.") }, { NO_RECOVERY, N_("Non-recoverable error") }, { NO_ADDRESS, N_("No Internet address is associated with the name") }, { 0, 0 } }; for (ep = h_err_tab; ep->descr; ep++) if (ep->code == ec) return gettext (ep->descr); return gettext ("Unknown error"); }; /* FIXME: move to the library. Modify connect_directly_to() to use it */ int parse_host (char *host, int port, struct sockaddr_in *addr) { struct hostent *hp = gethostbyname (host); if (!hp) { error (_("Cannot resolve %s: %s"), host, h_error_string (h_errno)); return -1; } addr->sin_family = AF_INET; addr->sin_port = htons (port); if (hp->h_length != sizeof addr->sin_addr.s_addr) { error (_("Cannot resolve %s: received illegal address length (%d)"), host, hp->h_length); return -1; } memcpy (&addr->sin_addr.s_addr, hp->h_addr, sizeof addr->sin_addr.s_addr); return 0; } /* GSASL mechanisms */ static ANUBIS_LIST *auth_mech_list; void add_mech (char *arg) { if (!auth_mech_list) auth_mech_list = list_create (); list_append (auth_mech_list, arg); } /* Capability handling */ int find_capa (struct smtp_reply *repl, const char *name, const char *value) { int i; for (i = 0; i < repl->argc; i++) { char *p = skipword (repl->argv[i]); if (strncmp (name, repl->argv[i], p - repl->argv[i]) == 0) { if (value) { int j, argc; char **argv; int rc = 0; if ((rc = argcv_get (repl->argv[i], "", NULL, &argc, &argv))) { error (_("argcv_get failed: %s"), strerror (rc)); return 1; } rc = 1; for (j = 0; rc == 1 && j < argc; j++) if (strcmp (argv[j], value) == 0) rc = 0; argcv_free (argc, argv); return rc; } return 0; } } return 1; } static int name_cmp (void *item, void *data) { return strcmp (item, data); } char * find_capa_v (struct smtp_reply *repl, const char *name, ANUBIS_LIST * list) { int i; for (i = 0; i < repl->argc; i++) { char *p = skipword (repl->argv[i]); if (strncmp (name, repl->argv[i], p - repl->argv[i]) == 0) { int rc, j, argc; char **argv; char *rv = NULL; if ((rc = argcv_get (repl->argv[i], "", NULL, &argc, &argv))) { error (_("argcv_get failed: %s"), strerror (rc)); return NULL; } if (!list) { if (argv[1]) rv = strdup (argv[1]); } else { for (j = 0; !rv && j < argc; j++) rv = list_locate (list, argv[j], name_cmp); } argcv_free (argc, argv); return rv; } } return NULL; } /* I/O functions */ int send_line (char *buf) { size_t size = strlen (buf); size_t n; int rc; VDETAIL (2, ("C: %s\n", buf)); rc = stream_write (iostream, buf, size, &n); if (rc) { error (_("write failed: %s"), stream_strerror (iostream, rc)); return rc; } rc = stream_write (iostream, CRLF, 2, &n); if (rc) error (_("write failed: %s"), stream_strerror (iostream, rc)); return rc; } int smtp_get_reply (struct smtp_reply *repl) { char *buf = NULL; size_t bufsize = 0; char *p; int i; int cont = 0; memset (repl, 0, sizeof *repl); do { size_t n; int rc = stream_getline (iostream, &buf, &bufsize, &n); if (rc) { error (_("read failed: %s"), stream_strerror (iostream, rc)); exit (1); } VDETAIL (2, ("S: %*.*s", (int) n, (int) n, buf)); if (!cont) { int code; if (n < 4) break; code = strtoul (buf, &p, 0); if (p - buf != 3 || (*p != '-' && *p != ' ')) { error (_("Unexpected reply from server: %s"), buf); abort (); } if (repl->code == 0) repl->code = code; else if (repl->code != code) { error (_("Unexpected reply code from server: %d"), code); abort (); } } if (buf[n - 1] == '\n') { cont = 0; n--; if (buf[n - 1] == '\r') n--; buf[n++] = 0; if (n - 4 && buf[4]) obstack_grow (&input_stk, buf + 4, n - 4); else obstack_grow (&input_stk, "\r", 2); repl->argc++; } else { cont = 1; obstack_grow (&input_stk, buf, n); } } while (cont || *p == '-'); free (buf); obstack_1grow (&input_stk, 0); repl->base = obstack_finish (&input_stk); repl->argv = xmalloc ((repl->argc + 1) * sizeof (repl->argv[0])); for (i = 0, p = repl->base; p[0]; p += strlen (p) + 1, i++) { if (p[0] == '\r') p[0] = 0; repl->argv[i] = p; } repl->argv[i] = NULL; return 0; } void smtp_free_reply (struct smtp_reply *repl) { obstack_free (&input_stk, repl->base); memset (repl, 0, sizeof *repl); } void smtp_print_reply (FILE * fp, struct smtp_reply *repl) { int i; for (i = 0; i < repl->argc; i++) fprintf (fp, "%s\n", repl->argv[i]); fflush (fp); } void smtp_ehlo (int xelo) { struct smtp_reply repl; send_line (xelo ? "XELO localhost" : "EHLO localhost"); smtp_get_reply (&repl); if (repl.code != 250) { error (_("Server refused handshake")); smtp_print_reply (stderr, &repl); exit (1); } smtp_capa = repl; } struct auth_args { char *anon_token; char *authorization_id; char *authentication_id; char *password; char *service; char *hostname; char *service_name; char *passcode; char *qop; char *realm; }; struct auth_args auth_args; void assign_string (char **pstring, const char *value) { if (*pstring) free (*pstring); *pstring = strdup (value); } /* Compare two hostnames. Return 0 if they have the same address type, address length *and* at least one of the addresses of A matches B */ int hostcmp (const char *a, const char *b) { struct hostent *hp = gethostbyname (a); char **addrlist; char *dptr; char **addr; size_t i, count; size_t entry_length; int entry_type; if (!hp) return 1; for (count = 1, addr = hp->h_addr_list; *addr; addr++) count++; addrlist = xmalloc (count * (sizeof *addrlist + hp->h_length) - hp->h_length); dptr = (char *) (addrlist + count); for (i = 0; i < count - 1; i++) { memcpy (dptr, hp->h_addr_list[i], hp->h_length); addrlist[i] = dptr; dptr += hp->h_length; } addrlist[i] = NULL; entry_length = hp->h_length; entry_type = hp->h_addrtype; hp = gethostbyname (b); if (!hp || entry_length != hp->h_length || entry_type != hp->h_addrtype) { free (addrlist); return 1; } for (addr = addrlist; *addr; addr++) { char **p; for (p = hp->h_addr_list; *p; p++) { if (memcmp (*addr, *p, entry_length) == 0) { free (addrlist); return 0; } } } free (addrlist); return 1; } /* Parse traditional .netrc file. Set up auth_args fields in accordance with it. */ void parse_netrc (const char *filename) { FILE *fp; char *buf = NULL; size_t n = 0; int def_argc = 0; char **def_argv = NULL; char **p_argv = NULL; int line = 0; fp = fopen (filename, "r"); if (!fp) { if (errno != ENOENT) { error (_("Cannot open configuration file %s: %s"), filename, strerror (errno)); } return; } else VDETAIL (1, (_("Opening configuration file %s...\n"), filename)); while (getline (&buf, &n, fp) > 0 && n > 0) { int rc; char *p; size_t len; int argc; char **argv; line++; len = strlen (buf); if (len > 1 && buf[len - 1] == '\n') buf[len - 1] = 0; p = skipws (buf); if (*p == 0 || *p == '#') continue; if ((rc = argcv_get (buf, "", "#", &argc, &argv))) { error (_("argcv_get failed: %s"), strerror (rc)); return; } if (strcmp (argv[0], "machine") == 0) { if (hostcmp (argv[1], smtp_host) == 0) { VDETAIL (1, (_("Found matching line %d\n"), line)); if (def_argc) argcv_free (def_argc, def_argv); def_argc = argc; def_argv = argv; p_argv = argv + 2; break; } } else if (strcmp (argv[0], "default") == 0) { VDETAIL (1, (_("Found default line %d\n"), line)); if (def_argc) argcv_free (def_argc, def_argv); def_argc = argc; def_argv = argv; p_argv = argv + 1; } else { VDETAIL (1, (_("Ignoring unrecognized line %d\n"), line)); argcv_free (argc, argv); } } fclose (fp); free (buf); if (!p_argv) VDETAIL (1, (_("No matching line found\n"))); else { while (*p_argv) { if (!p_argv[1]) { error (_("%s:%d: incomplete sentence"), filename, line); break; } if (strcmp (*p_argv, "login") == 0) { assign_string (&auth_args.authentication_id, p_argv[1]); assign_string (&auth_args.authorization_id, p_argv[1]); } else if (strcmp (*p_argv, "password") == 0) assign_string (&auth_args.password, p_argv[1]); p_argv += 2; } argcv_free (def_argc, def_argv); } } char * get_input (const char *prompt) { char *buf = NULL; size_t n; printf ("%s", prompt); fflush (stdout); getline (&buf, &n, stdin); n = strlen (buf); if (n > 1 && buf[n - 1] == '\n') buf[n - 1] = 0; return buf; } static int callback (Gsasl *ctx, Gsasl_session *sctx, Gsasl_property prop) { int rc = GSASL_OK; switch (prop) { case GSASL_PASSWORD: if (auth_args.password == NULL) auth_args.password = getpass (_("Password: ")); if (auth_args.password == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, auth_args.password); break; case GSASL_SERVICE: if (auth_args.service == NULL) auth_args.service = get_input (_("GSSAPI service name: ")); if (auth_args.service == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, auth_args.service); break; case GSASL_REALM: if (auth_args.realm == NULL) auth_args.realm = get_input (_("Client realm: ")); if (auth_args.realm == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, auth_args.realm); break; case GSASL_HOSTNAME: if (auth_args.hostname == NULL) auth_args.hostname = get_input (_("Hostname of server: ")); if (auth_args.hostname == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, auth_args.hostname); break; case GSASL_ANONYMOUS_TOKEN: if (auth_args.anon_token == NULL) auth_args.anon_token = get_input (_("Anonymous token: ")); if (auth_args.anon_token == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, auth_args.anon_token); break; case GSASL_AUTHID: if (auth_args.authentication_id == NULL) auth_args.authentication_id = get_input (_("Authentication ID: ")); if (auth_args.authentication_id == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, auth_args.authentication_id); break; case GSASL_AUTHZID: if (auth_args.authorization_id == NULL) auth_args.authorization_id = get_input (_("Authorization ID: ")); if (auth_args.authorization_id == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, auth_args.authorization_id); break; case GSASL_PASSCODE: if (auth_args.passcode == NULL) auth_args.passcode = getpass (_("Passcode: ")); if (auth_args.passcode == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, auth_args.passcode); break; default: rc = GSASL_NO_CALLBACK; error (_("Unsupported callback property %d"), prop); break; } return rc; } void smtp_quit (void) { struct smtp_reply repl; send_line ("QUIT"); smtp_get_reply (&repl); smtp_free_reply (&repl); /* There's no use checking */ } /* GSASL Authentication */ int do_gsasl_auth (Gsasl *ctx, char *mech) { char *output; int rc; Gsasl_session *sess_ctx = NULL; struct smtp_reply repl; char buf[LINEBUFFER + 1]; snprintf (buf, sizeof buf, "AUTH %s", mech); send_line (buf); rc = gsasl_client_start (ctx, mech, &sess_ctx); if (rc != GSASL_OK) { error (_("SASL gsasl_client_start: %s"), gsasl_strerror (rc)); exit (1); } output = NULL; memset (&repl, 0, sizeof repl); smtp_get_reply (&repl); if (repl.code != 334) { error (_("GSASL handshake aborted")); smtp_print_reply (stderr, &repl); exit (1); } do { rc = gsasl_step64 (sess_ctx, repl.base, &output); if (rc != GSASL_NEEDS_MORE && rc != GSASL_OK) break; send_line (output); if (rc == GSASL_OK) break; smtp_free_reply (&repl); smtp_get_reply (&repl); if (repl.code != 334) { error (_("GSASL handshake aborted")); smtp_print_reply (stderr, &repl); exit (1); } } while (rc == GSASL_NEEDS_MORE); free (output); if (rc != GSASL_OK) { error (_("GSASL error: %s"), gsasl_strerror (rc)); exit (1); } smtp_free_reply (&repl); smtp_get_reply (&repl); if (repl.code == 334) { /* Additional data. Do we need it? */ smtp_free_reply (&repl); smtp_get_reply (&repl); } if (repl.code != 235) { error (_("Authentication failed")); smtp_print_reply (stderr, &repl); smtp_quit (); exit (1); } VDETAIL (1, (_("Authentication successful\n"))); if (sess_ctx) install_gsasl_stream (sess_ctx, &iostream); return 0; } void smtp_auth (void) { Gsasl *ctx; char *mech; int rc; mech = find_capa_v (&smtp_capa, "AUTH", auth_mech_list); if (!mech) { error (_("No suitable authentication mechanism found")); smtp_quit (); exit (1); } VDETAIL (1, (_("Selected authentication mechanism: %s\n"), mech)); rc = gsasl_init (&ctx); if (rc != GSASL_OK) { error (_("cannot initialize libgsasl: %s"), gsasl_strerror (rc)); smtp_quit (); exit (1); } gsasl_callback_set (ctx, callback); do_gsasl_auth (ctx, mech); } const char * get_home_dir (void) { static char *home; if (!home) { struct passwd *pwd = getpwuid (getuid ()); if (pwd) home = pwd->pw_dir; else home = getenv ("HOME"); if (!home) { error (_("What is your home directory?")); exit (1); } } return home; } /* Auxiliary functions */ char * rc_name (void) { char *rc; const char *home; if (rcfile_name) return rcfile_name; home = get_home_dir (); rc = xmalloc (strlen (home) + 1 + sizeof DEFAULT_LOCAL_RCFILE); strcpy (rc, home); strcat (rc, "/"); strcat (rc, DEFAULT_LOCAL_RCFILE); return rc; } #define CMP_UNCHANGED 0 #define CMP_CHANGED 1 #define CMP_ERROR 2 int diff (char *file, struct smtp_reply *repl) { unsigned char sample[MD5_DIGEST_BYTES]; unsigned char digest[MD5_DIGEST_BYTES]; int len; int fd = open (file, O_RDONLY); if (fd == -1) { error (_("Cannot open file %s: %s"), file, strerror (errno)); return CMP_ERROR; } anubis_md5_file (digest, fd); close (fd); len = strlen (repl->argv[0]); if (len != sizeof digest * 2) { error (_("Invalid MD5 digest: %s"), repl->argv[0]); return CMP_ERROR; } string_hex_to_bin (sample, repl->argv[0], len); return memcmp (digest, sample, sizeof digest) == 0 ? CMP_UNCHANGED : CMP_CHANGED; } void smtp_upload (char *rcname) { FILE *fp; struct smtp_reply repl; char *buf = NULL; size_t n; fp = fopen (rcname, "r"); if (!fp) { error (_("Cannot open file %s: %s"), rcname, strerror (errno)); return; } VDETAIL (1, (_("Uploading %s\n"), rcname)); send_line ("XDATABASE UPLOAD"); smtp_get_reply (&repl); if (repl.code != 354) { error (_("UPLOAD failed")); smtp_print_reply (stderr, &repl); fclose (fp); return; } smtp_free_reply (&repl); while (getline (&buf, &n, fp) > 0 && n > 0) { size_t len = strlen (buf); if (len && buf[len - 1] == '\n') buf[len - 1] = 0; send_line (buf); } send_line ("."); fclose (fp); smtp_get_reply (&repl); if (repl.code != 250) { smtp_print_reply (stderr, &repl); return; } smtp_free_reply (&repl); } /* Main entry points */ int synch (void) { int fd; int rc; struct sockaddr_in addr; struct smtp_reply repl; char *rcname; obstack_init (&input_stk); #ifdef HAVE_TLS init_ssl_libs (); #endif VDETAIL (1, (_("Using remote SMTP %s:%d\n"), smtp_host, smtp_port)); if (parse_host (smtp_host, smtp_port, &addr)) return 1; if ((fd = socket (AF_INET, SOCK_STREAM, 0)) == -1) { error (_("Cannot create socket: %s"), strerror (errno)); return 1; } if (connect (fd, (struct sockaddr *) &addr, sizeof (addr)) == -1) { error (_("Could not connect to %s:%u: %s."), smtp_host, smtp_port, strerror (errno)); return -1; } stream_create (&iostream); stream_set_io (iostream, (void *) fd, NULL, NULL, NULL, NULL, NULL); smtp_get_reply (&repl); if (repl.code != 220) { error (_("Server refused connection")); smtp_print_reply (stderr, &repl); return 1; } smtp_free_reply (&repl); smtp_ehlo (1); #ifdef HAVE_TLS if (enable_tls && find_capa (&smtp_capa, "STARTTLS", NULL) == 0) { starttls (); smtp_ehlo (0); } #endif smtp_auth (); /* Get the capabilities */ smtp_ehlo (0); if (find_capa (&smtp_capa, "XDATABASE", NULL)) { error (_("Remote party does not reveal XDATABASE capability")); smtp_quit (); return 1; } send_line ("XDATABASE EXAMINE"); smtp_get_reply (&repl); switch (repl.code) { case 300: rcname = rc_name (); rc = CMP_CHANGED; break; case 250: rcname = rc_name (); rc = diff (rcname, &repl); break; default: error (_("EXAMINE failed")); smtp_print_reply (stderr, &repl); smtp_quit (); return 1; } if (rc == CMP_CHANGED) { VDETAIL (1, (_("File changed\n"))); smtp_upload (rcname); } else VDETAIL (1, (_("File NOT changed\n"))); smtp_quit (); return 0; } #define NETRC_NAME ".netrc" void read_netrc (void) { if (netrc_name) parse_netrc (netrc_name); else { const char *home = get_home_dir (); char *netrc = xmalloc (strlen (home) + 1 + sizeof NETRC_NAME); strcpy (netrc, home); strcat (netrc, "/"); strcat (netrc, NETRC_NAME); parse_netrc (netrc); free (netrc); } } void xalloc_die () { error ("%s", _("Not enough memory")); exit (1); } int main (int argc, char **argv) { int index; progname = strrchr (argv[0], '/'); if (!progname) progname = argv[0]; else progname++; usr_get_options (argc, argv, &index); argc -= optind; argv += optind; if (argc > 1) { error (_("Too many arguments. Try anubisusr --help for more info.")); exit (1); } if (argc == 1) { char *p; smtp_host = argv[0]; p = strchr (smtp_host, ':'); if (p) { unsigned long n; *p++ = 0; n = strtoul (p, &p, 0); if (n > USHRT_MAX) { error (_("Port value too big")); exit (1); } smtp_port = n; } } read_netrc (); return synch (); } /* EOF */ anubis-4.1.1+dfsg1/src/usr.c0000600000175000017500000003272411122500624013305 0ustar kbkb/* -*- buffer-read-only: t -*- vi: set ro: THIS FILE IS GENERATED AUTOMATICALLY. PLEASE DO NOT EDIT. */ #line 1 "usr.opt" /* -*- c -*- This file is part of GNU Anubis. Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include #line 20 "usr.opt" #line 20 void print_help(void); #line 20 void print_usage(void); #line 64 "usr.opt" #line 64 /* Option codes */ #line 64 enum { #line 64 _OPTION_INIT=255, #line 64 #line 64 "usr.opt" #line 64 OPTION_USAGE, #line 64 "usr.opt" #line 64 OPTION_VERSION, #line 64 "usr.opt" MAX_OPTION #line 64 }; #line 64 static struct option long_options[] = { #line 64 #line 24 "usr.opt" #line 24 { "disable-tls", no_argument, 0, 'd' }, #line 32 "usr.opt" #line 32 { "tls-cafile", required_argument, 0, 'C' }, #line 40 "usr.opt" #line 40 { "file", required_argument, 0, 'f' }, #line 46 "usr.opt" #line 46 { "mechanism", required_argument, 0, 'm' }, #line 52 "usr.opt" #line 52 { "netrc", required_argument, 0, 'n' }, #line 58 "usr.opt" #line 58 { "verbose", no_argument, 0, 'v' }, #line 64 "usr.opt" #line 64 { "help", no_argument, 0, 'h' }, #line 64 "usr.opt" #line 64 { "usage", no_argument, 0, OPTION_USAGE }, #line 64 "usr.opt" #line 64 { "version", no_argument, 0, OPTION_VERSION }, #line 64 "usr.opt" {0, 0, 0, 0} #line 64 }; #line 64 static struct opthelp { #line 64 const char *opt; #line 64 const char *arg; #line 64 int is_optional; #line 64 const char *descr; #line 64 } opthelp[] = { #line 64 #line 26 "usr.opt" #line 26 { "-d, --disable-tls", NULL, 0, N_("Disable TLS encryption.") }, #line 34 "usr.opt" #line 34 { "-C, --tls-cafile", N_("FILE"), 0, N_("Use given CA file.") }, #line 42 "usr.opt" #line 42 { "-f, --file", N_("FILE"), 0, N_("Set user configuration file name.") }, #line 48 "usr.opt" #line 48 { "-m, --mechanism", N_("MECH"), 0, N_("Restrict allowed SASL mechanisms.") }, #line 54 "usr.opt" #line 54 { "-n, --netrc", N_("FILE"), 0, N_("Set .netrc file name.") }, #line 60 "usr.opt" #line 60 { "-v, --verbose", NULL, 0, N_("Verbose output. Multiple options increase the verbosity. Maximum is 3.") }, #line 64 "usr.opt" #line 64 { NULL, NULL, 0, N_("Other options") }, #line 64 "usr.opt" #line 64 { "-h, --help", NULL, 0, N_("Give this help list") }, #line 64 "usr.opt" #line 64 { "--usage", NULL, 0, N_("Give a short usage message") }, #line 64 "usr.opt" #line 64 { "--version", NULL, 0, N_("Print program version") }, #line 64 "usr.opt" }; #line 20 "usr.opt" #line 20 const char *program_version = "anubisusr" " (" PACKAGE_STRING ")"; #line 20 static char doc[] = N_("Synchronize local and remote copies of the user's RC file."); #line 20 static char args_doc[] = N_("[URL]"); #line 20 static char *after_desc = NULL; #line 20 const char *program_bug_address = "<" PACKAGE_BUGREPORT ">"; #line 20 #line 20 #define DESCRCOLUMN 30 #line 20 #define RMARGIN 79 #line 20 #define GROUPCOLUMN 2 #line 20 #define USAGECOLUMN 13 #line 20 #line 20 static void #line 20 indent (size_t start, size_t col) #line 20 { #line 20 for (; start < col; start++) #line 20 putchar (' '); #line 20 } #line 20 #line 20 static void #line 20 print_option_descr (const char *descr, size_t lmargin, size_t rmargin) #line 20 { #line 20 while (*descr) #line 20 { #line 20 size_t s = 0; #line 20 size_t i; #line 20 size_t width = rmargin - lmargin; #line 20 #line 20 while (*descr && (*descr == ' ' || *descr == '\t')) #line 20 descr++; #line 20 for (i = 0; ; i++) #line 20 { #line 20 if (descr[i] == '\n') #line 20 { #line 20 s = i; #line 20 break; #line 20 } #line 20 if (descr[i] == 0 || (descr[i] == ' ' || descr[i] == '\t')) #line 20 { #line 20 if (i > width) #line 20 break; #line 20 s = i; #line 20 if (descr[i] == 0) #line 20 break; #line 20 } #line 20 } #line 20 if (s > width) #line 20 while (!(descr[s] == ' ' || descr[s] == '\t')) #line 20 s--; #line 20 printf ("%*.*s\n", s, s, descr); #line 20 descr += s; #line 20 if (*descr) #line 20 { #line 20 indent (0, lmargin); #line 20 descr++; #line 20 } #line 20 } #line 20 } #line 20 #line 20 void #line 20 print_help(void) #line 20 { #line 20 unsigned i; #line 20 #line 20 printf ("%s %s [%s]... %s\n", _("Usage:"), "anubisusr", _("OPTION"), #line 20 gettext (args_doc)); #line 20 if (doc && doc[0]) #line 20 print_option_descr(gettext (doc), 0, RMARGIN); #line 20 putchar ('\n'); #line 20 #line 20 for (i = 0; i < sizeof (opthelp) / sizeof (opthelp[0]); i++) #line 20 { #line 20 unsigned n; #line 20 if (opthelp[i].opt) #line 20 { #line 20 n = printf (" %s", opthelp[i].opt); #line 20 if (opthelp[i].arg) #line 20 { #line 20 char *cb, *ce; #line 20 if (strlen (opthelp[i].opt) == 2) #line 20 { #line 20 if (!opthelp[i].is_optional) #line 20 { #line 20 putchar (' '); #line 20 n++; #line 20 } #line 20 } #line 20 else #line 20 { #line 20 putchar ('='); #line 20 n++; #line 20 } #line 20 if (opthelp[i].is_optional) #line 20 { #line 20 cb = "["; #line 20 ce = "]"; #line 20 } #line 20 else #line 20 cb = ce = ""; #line 20 n += printf ("%s%s%s", cb, gettext (opthelp[i].arg), ce); #line 20 } #line 20 if (n >= DESCRCOLUMN) #line 20 { #line 20 putchar ('\n'); #line 20 n = 0; #line 20 } #line 20 indent (n, DESCRCOLUMN); #line 20 print_option_descr (gettext (opthelp[i].descr), DESCRCOLUMN, RMARGIN); #line 20 } #line 20 else #line 20 { #line 20 if (i) #line 20 putchar ('\n'); #line 20 indent (0, GROUPCOLUMN); #line 20 print_option_descr (gettext (opthelp[i].descr), #line 20 GROUPCOLUMN, RMARGIN); #line 20 putchar ('\n'); #line 20 } #line 20 } #line 20 #line 20 putchar ('\n'); #line 20 print_option_descr (_("Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options."), 0, RMARGIN); #line 20 putchar ('\n'); #line 20 #line 20 if (after_desc) #line 20 { #line 20 print_option_descr (gettext (after_desc), 0, RMARGIN); #line 20 } #line 20 printf (_("Report bugs to %s.\n"), program_bug_address); #line 20 } #line 20 #line 20 void #line 20 print_usage(void) #line 20 { #line 20 unsigned i; #line 20 int f = 0; #line 20 unsigned n; #line 20 char buf[RMARGIN+1]; #line 20 #line 20 #define FLUSH do { buf[n] = 0; printf ("%s\n", buf); n = USAGECOLUMN; memset (buf, ' ', n); } while (0) #line 20 #define ADDC(c) do { if (n == RMARGIN) FLUSH; buf[n++] = c; } while (0) #line 20 #line 20 n = snprintf (buf, sizeof buf, "%s %s ", _("Usage:"), "anubisusr"); #line 20 #line 20 /* Print a list of short options without arguments. */ #line 20 for (i = 0; i < sizeof (opthelp) / sizeof (opthelp[0]); i++) #line 20 { #line 20 if (opthelp[i].opt && opthelp[i].descr && opthelp[i].opt[1] != '-' #line 20 && opthelp[i].arg == NULL) #line 20 { #line 20 if (f == 0) #line 20 { #line 20 ADDC('['); #line 20 ADDC('-'); #line 20 f = 1; #line 20 } #line 20 ADDC(opthelp[i].opt[1]); #line 20 } #line 20 } #line 20 if (f) #line 20 ADDC(']'); #line 20 #line 20 /* Print a list of short options with arguments. */ #line 20 for (i = 0; i < sizeof (opthelp) / sizeof (opthelp[0]); i++) #line 20 { #line 20 if (opthelp[i].opt && opthelp[i].descr && opthelp[i].opt[1] != '-' #line 20 && opthelp[i].arg) #line 20 { #line 20 size_t len = 5 #line 20 + strlen (opthelp[i].arg) #line 20 + (opthelp[i].is_optional ? 2 : 1); #line 20 if (n + len > RMARGIN) FLUSH; #line 20 buf[n++] = ' '; #line 20 buf[n++] = '['; #line 20 buf[n++] = '-'; #line 20 buf[n++] = opthelp[i].opt[1]; #line 20 if (opthelp[i].is_optional) #line 20 { #line 20 buf[n++] = '['; #line 20 strcpy (&buf[n], opthelp[i].arg); #line 20 n += strlen (opthelp[i].arg); #line 20 buf[n++] = ']'; #line 20 } #line 20 else #line 20 { #line 20 buf[n++] = ' '; #line 20 strcpy (&buf[n], opthelp[i].arg); #line 20 n += strlen (opthelp[i].arg); #line 20 } #line 20 buf[n++] = ']'; #line 20 } #line 20 } #line 20 #line 20 /* Print a list of long options */ #line 20 for (i = 0; i < sizeof (opthelp) / sizeof (opthelp[0]); i++) #line 20 { #line 20 if (opthelp[i].opt && opthelp[i].descr) #line 20 { #line 20 size_t len; #line 20 const char *longopt; #line 20 #line 20 if (opthelp[i].opt[1] == '-') #line 20 longopt = opthelp[i].opt; #line 20 else if (opthelp[i].opt[2] == ',') #line 20 longopt = opthelp[i].opt + 4; #line 20 else #line 20 continue; #line 20 #line 20 len = 3 + strlen (longopt) #line 20 + (opthelp[i].arg ? 1 + strlen (opthelp[i].arg) #line 20 + (opthelp[i].is_optional ? 2 : 0) : 0); #line 20 if (n + len > RMARGIN) FLUSH; #line 20 buf[n++] = ' '; #line 20 buf[n++] = '['; #line 20 strcpy (&buf[n], longopt); #line 20 n += strlen (longopt); #line 20 if (opthelp[i].arg) #line 20 { #line 20 buf[n++] = '='; #line 20 if (opthelp[i].is_optional) #line 20 { #line 20 buf[n++] = '['; #line 20 strcpy (&buf[n], opthelp[i].arg); #line 20 n += strlen (opthelp[i].arg); #line 20 buf[n++] = ']'; #line 20 } #line 20 else #line 20 { #line 20 strcpy (&buf[n], opthelp[i].arg); #line 20 n += strlen (opthelp[i].arg); #line 20 } #line 20 } #line 20 buf[n++] = ']'; #line 20 } #line 20 } #line 20 FLUSH; #line 20 #line 20 } #line 20 #line 20 const char version_etc_copyright[] = #line 20 /* Do *not* mark this string for translation. %s is a copyright symbol suitable for this locale. */ #line 20 "Copyright %s 2001, 2002, 2003, 2004, 2005, 2007, 2008 The Anubis Team."; #line 20 #line 20 void #line 20 print_version_only(const char *program_version, FILE *stream) #line 20 { #line 20 fprintf (stream, "%s\n", program_version); #line 20 /* TRANSLATORS: Translate "(C)" to the copyright symbol (C-in-a-circle), if this symbol is available in the user's locale. Otherwise, do not translate "(C)"; leave it as-is. */ #line 20 fprintf (stream, version_etc_copyright, _("(C)")); #line 20 fputc ('\n', stream); #line 20 } #line 20 #line 20 void #line 20 print_version(const char *program_version, FILE *stream) #line 20 { #line 20 print_version_only(program_version, stream); #line 20 #line 20 fputs (_("License GPLv3+: GNU GPL version 3 or later \nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.\n\n"), #line 20 stream); #line 20 } #line 20 #line 64 "usr.opt" #line 64 void usr_get_options (int argc, char *argv[], int *index) { #line 69 { #line 69 int c; #line 69 #line 69 while ((c = getopt_long(argc, argv, "dC:f:m:n:vh", #line 69 long_options, NULL)) != EOF) #line 69 { #line 69 switch (c) #line 69 { #line 69 default: #line 69 exit(1); #line 69 #line 26 "usr.opt" case 'd': #line 26 { #line 26 #ifdef HAVE_TLS enable_tls = 0; #endif #line 30 break; #line 30 } #line 34 "usr.opt" case 'C': #line 34 { #line 34 #ifdef HAVE_TLS tls_cafile = optarg; #endif #line 38 break; #line 38 } #line 42 "usr.opt" case 'f': #line 42 { #line 42 rcfile_name = optarg; #line 44 break; #line 44 } #line 48 "usr.opt" case 'm': #line 48 { #line 48 add_mech (optarg); #line 50 break; #line 50 } #line 54 "usr.opt" case 'n': #line 54 { #line 54 netrc_name = optarg; #line 56 break; #line 56 } #line 60 "usr.opt" case 'v': #line 60 { #line 60 verbose++; #line 62 break; #line 62 } #line 64 "usr.opt" case 'h': #line 64 { #line 64 #line 64 print_help (); #line 64 exit (0); #line 64 #line 64 break; #line 64 } #line 64 "usr.opt" case OPTION_USAGE: #line 64 { #line 64 #line 64 print_usage (); #line 64 exit (0); #line 64 #line 64 break; #line 64 } #line 64 "usr.opt" case OPTION_VERSION: #line 64 { #line 64 #line 64 /* Give version */ #line 64 print_version(program_version, stdout); #line 64 exit (0); #line 64 #line 64 break; #line 64 } #line 69 "usr.opt" } #line 69 } #line 69 *index = optind; #line 69 } #line 69 ; } anubis-4.1.1+dfsg1/src/regex.c0000600000175000017500000002326011121752642013611 0ustar kbkb/* regex.c This file is part of GNU Anubis. Copyright (C) 2001, 2002, 2003, 2005, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" #include "rcfile.h" #include #ifdef HAVE_PCRE # ifdef HAVE_PCRE_H # include # elif defined (HAVE_PCRE_PCRE_H) # include # endif #endif /* HAVE_PCRE */ /**************************** Regular Expressions support *****************************/ typedef int (*_match_fp) (RC_REGEX *, char *, int *, char ***, int *, int *); typedef int (*_refcnt_fp) (RC_REGEX *); typedef int (*_compile_fp) (RC_REGEX *, char *, int); typedef void (*_free_fp) (RC_REGEX *); struct regex_vtab { int mask; _match_fp match; _refcnt_fp refcnt; _compile_fp compile; _free_fp free; }; static int exact_compile (RC_REGEX *, char *, int); static void exact_free (RC_REGEX *); static int exact_match (RC_REGEX *, char *, int *, char ***, int *, int *); static int exact_refcnt (RC_REGEX *); static int posix_compile (RC_REGEX *, char *, int); static void posix_free (RC_REGEX *); static int posix_match (RC_REGEX *, char *, int *, char ***, int *, int *); static int posix_refcnt (RC_REGEX *); #ifdef HAVE_PCRE static int perl_compile (RC_REGEX *, char *, int); static void perl_free (RC_REGEX *); static int perl_match (RC_REGEX *, char *, int *, char ***, int *, int *); static int perl_refcnt (RC_REGEX *); #endif /* HAVE_PCRE */ static struct regex_vtab vtab[] = { {R_EXACT, exact_match, exact_refcnt, exact_compile, exact_free}, #ifdef HAVE_PCRE {R_PERLRE, perl_match, perl_refcnt, perl_compile, perl_free}, #endif {R_POSIX, posix_match, posix_refcnt, posix_compile, posix_free}, {0} }; struct rc_regex { /* Regular expression */ char *src; /* Raw-text representation */ int flags; /* Compilation flags */ union { regex_t re; /* POSIX regex */ #ifdef HAVE_PCRE pcre *pre; /* Perl */ #endif } v; }; static struct regex_vtab * regex_vtab_lookup (int flags) { struct regex_vtab *p; for (p = vtab; p->mask; p++) if (p->mask & flags) break; if (p->mask == 0) return NULL; return p; } /* ************************** Interface Functions ************************** */ #define ASSERT_RE(re,vp) \ if (!(re) || (vp = regex_vtab_lookup((re)->flags)) == NULL) {\ anubis_error(EXIT_ABORT, 0,\ _("INTERNAL ERROR at %s:%d: missing or invalid regex"),\ __FILE__, __LINE__);\ } void regex_print_flags (int flags) { printf (":"); if (flags & R_EXACT) printf ("exact"); else if (flags & R_POSIX) printf ("posix"); else if (flags & R_PERLRE) printf ("perl"); if (flags & R_SCASE) printf (" :scase"); if (flags & R_BASIC) printf (" :basic"); } void anubis_regex_print (RC_REGEX * re) { regex_print_flags (re->flags); printf (" [%s]", anubis_regex_source (re)); } int anubis_regex_match (RC_REGEX * re, char *line, int *refc, char ***refv) { int so, eo; struct regex_vtab *vp; ASSERT_RE (re, vp); return vp->match (re, line, refc, refv, &so, &eo) == 0; } char * anubis_regex_replace (RC_REGEX * re, char *line, char *repl) { int so, eo; int refc; char **refv; char *newstr = NULL; char *savep = NULL; int newlen; int off = 0; int alloc = 0; struct regex_vtab *vp; ASSERT_RE (re, vp); while (vp->match (re, line + off, &refc, &refv, &so, &eo) == 0) { char *p; int plen; if (so == -1) { char *q; q = strstr (line + off, anubis_regex_source (re)); if (q) { alloc = 0; p = repl; so = (q - (line + off)); eo = so + strlen (anubis_regex_source (re)); } else { char *x[2]; x[0] = line + off; x[1] = NULL; alloc = 1; p = substitute (repl, x); so = 0; eo = strlen (line + off); } } else { alloc = 1; p = substitute (repl, refv); argcv_free (-1, refv); } plen = strlen (p); savep = newstr; newlen = strlen (line) - (eo - so) + plen + 1; newstr = xmalloc (newlen); memcpy (newstr, line, off + so); memcpy (newstr + off + so, p, plen); strcpy (newstr + off + so + plen, line + off + eo); if (alloc) xfree (p); if (savep) xfree (savep); line = newstr; off += so; } return newstr; } int anubis_regex_refcnt (RC_REGEX * re) { struct regex_vtab *vp; ASSERT_RE (re, vp); return vp->refcnt (re); } RC_REGEX * anubis_regex_compile (char *line, int opt) { struct regex_vtab *vp = regex_vtab_lookup (opt); RC_REGEX *p; if (!vp) return 0; p = xmalloc (sizeof (*p)); if (vp->compile (p, line, opt)) { xfree (p); } else { p->src = strdup (line); p->flags = opt; } return p; } void anubis_regex_free (RC_REGEX ** pre) { struct regex_vtab *vp; if (!*pre) return; ASSERT_RE (*pre, vp); free ((*pre)->src); vp->free (*pre); xfree (*pre); } char * anubis_regex_source (RC_REGEX * re) { if (!re) return NULL; return re->src; } /* **************************** Exact strings ***************************** */ static int exact_compile (RC_REGEX * regex, char *line, int opt) { return 0; } static void exact_free (RC_REGEX * regex) { /* nothing */ } static int exact_match (RC_REGEX * regex, char *line, int *refc, char ***refv, int *so, int *eo) { int code; *eo = *so = -1; *refc = 0; *refv = NULL; if (regex->flags & R_SCASE) code = strcmp (line, regex->src); else code = strcasecmp (line, regex->src); return code; } static int exact_refcnt (RC_REGEX * regex) { return 0; } /* ********************* POSIX Regular Expressions ************************ */ static int posix_compile (RC_REGEX * regex, char *line, int opt) { int rc; int cflags = 0; if (!(opt & R_SCASE)) cflags |= REG_ICASE; if (!(opt & R_BASIC)) cflags |= REG_EXTENDED; rc = regcomp (®ex->v.re, line, cflags); if (rc) { char errbuf[512]; regerror (rc, ®ex->v.re, errbuf, sizeof (errbuf)); anubis_error (0, 0, _("regcomp() failed at %s: %s."), line, errbuf); } return rc; } static void posix_free (RC_REGEX * regex) { regfree (®ex->v.re); } static int posix_match (RC_REGEX * regex, char *line, int *refc, char ***refv, int *so, int *eo) { regmatch_t *rmp; int rc; regex_t *re = ®ex->v.re; rmp = xmalloc ((re->re_nsub + 1) * sizeof (*rmp)); rc = regexec (re, line, re->re_nsub + 1, rmp, 0); if (rc == 0) { int i; *refv = xmalloc ((re->re_nsub + 2) * sizeof (**refv)); *eo = rmp[0].rm_eo; *so = rmp[0].rm_so; for (i = 0; i <= re->re_nsub; i++) { if (rmp[i].rm_so != -1) { size_t matchlen = rmp[i].rm_eo - rmp[i].rm_so; (*refv)[i] = xmalloc (matchlen + 1); memcpy ((*refv)[i], line + rmp[i].rm_so, matchlen); (*refv)[i][matchlen] = 0; remcrlf ((*refv)[i]); } else (*refv)[i] = strdup (""); } (*refv)[i] = NULL; *refc = re->re_nsub; } else { *eo = *so = -1; *refc = 0; } xfree (rmp); return rc; } static int posix_refcnt (RC_REGEX * regex) { return regex->v.re.re_nsub; } /* ********************* PERL Regular Expressions ************************ */ #ifdef HAVE_PCRE static int perl_compile (RC_REGEX * regex, char *line, int opt) { const char *error; int error_offset; int cflags = 0; if (!(opt & R_SCASE)) cflags |= PCRE_CASELESS; regex->v.pre = pcre_compile (line, cflags, &error, &error_offset, 0); if (regex->v.pre == 0) { anubis_error (0, 0, _("pcre_compile() failed at offset %d: %s."), error_offset, error); return 1; } return 0; } static void perl_free (RC_REGEX * regex) { pcre_free (regex->v.pre); } static int perl_match (RC_REGEX * regex, char *line, int *refc, char ***refv, int *so, int *eo) { int rc; int ovsize, count; int *ovector; pcre *re = regex->v.pre; rc = pcre_fullinfo (re, NULL, PCRE_INFO_CAPTURECOUNT, &count); if (rc) { anubis_error (0, 0, _("pcre_fullinfo() failed: %d."), rc); return rc; } /* According to pcre docs: */ ovsize = (count + 1) * 3; ovector = xmalloc (ovsize * sizeof (*ovector)); rc = pcre_exec (re, 0, line, strlen (line), 0, 0, ovector, ovsize); if (rc == 0) { /* shouldn't happen, but still ... */ anubis_error (0, 0, _("Matched, but too many substrings.")); *so = *eo = -1; *refc = 0; } else if (rc > 0) { /* Collect captured substrings */ int i; *refv = xmalloc ((rc + 1) * sizeof (**refv)); for (i = 0; i < rc; i++) { int c = pcre_get_substring (line, ovector, ovsize, i, (const char **) &(*refv)[i]); if (c < 0) anubis_error (0, 0, _("Get substring %d failed (%d)."), i, c); } (*refv)[i] = NULL; *refc = count; *so = ovector[0]; *eo = ovector[1]; } else { *so = *eo = -1; *refc = 0; } xfree (ovector); return rc < 0; } static int perl_refcnt (RC_REGEX * regex) { int count = 0; pcre_fullinfo (regex->v.pre, NULL, PCRE_INFO_CAPTURECOUNT, &count); return count; } #endif /* HAVE_PCRE */ /* EOF */ anubis-4.1.1+dfsg1/src/gdbm.c0000600000175000017500000001154411121752642013412 0ustar kbkb/* gdbm.c This file is part of GNU Anubis. Copyright (C) 2003, 2004, 2007, 2008 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #ifdef HAVE_LIBGDBM #include /* Format of an GDBM record: char *key Username char *value The colon-separated list of the following values: password,username,rc-file The last two items are optional */ static int gdbm_db_open (void **dp, ANUBIS_URL * url, enum anubis_db_mode mode, char **errp) { GDBM_FILE dbf; int flags; char *path; switch (mode) { case anubis_db_rdonly: flags = GDBM_READER; break; case anubis_db_rdwr: flags = GDBM_WRCREAT; break; default: flags = 0; } path = anubis_url_full_path (url); dbf = gdbm_open (path, 0, flags, 0644, NULL); free (path); if (!dbf) { *errp = gdbm_strerror (gdbm_errno); return ANUBIS_DB_FAIL; } *dp = dbf; return ANUBIS_DB_SUCCESS; } static int gdbm_db_close (void *d) { gdbm_close (d); return ANUBIS_DB_SUCCESS; } static void gdbm_content_to_record (char *keystr, datum content, ANUBIS_USER * rec) { char *p; char *text = xmalloc (content.dsize + 1); memcpy (text, content.dptr, content.dsize); text[content.dsize] = 0; rec->smtp_authid = strdup (keystr); p = strtok (text, ","); if (p) { rec->smtp_passwd = strdup (p); p = strtok (NULL, ","); if (p) { rec->username = strdup (p); p = strtok (NULL, ","); if (p) rec->rcfile_name = strdup (p); } free (text); } else rec->smtp_passwd = text; } static int gdbm_db_get (void *d, const char *keystr, ANUBIS_USER * rec, int *errp) { datum key, content; key.dptr = (char *) keystr; key.dsize = strlen (keystr); content = gdbm_fetch ((GDBM_FILE) d, key); if (content.dptr == NULL) return ANUBIS_DB_NOT_FOUND; memset (rec, 0, sizeof *rec); gdbm_content_to_record ((char *) keystr, content, rec); free (content.dptr); return ANUBIS_DB_SUCCESS; } static int gdbm_db_list (void *d, ANUBIS_LIST * list, int *ecode) { datum key, content; key = gdbm_firstkey ((GDBM_FILE) d); while (key.dptr) { datum nextkey; content = gdbm_fetch ((GDBM_FILE) d, key); if (content.dptr) { ANUBIS_USER *rec = xmalloc (sizeof (*rec)); char *keyval = xmalloc (key.dsize + 1); memcpy (keyval, key.dptr, key.dsize); keyval[key.dsize] = 0; gdbm_content_to_record (keyval, content, rec); free (keyval); list_append (list, rec); } nextkey = gdbm_nextkey ((GDBM_FILE) d, key); free (key.dptr); key = nextkey; } return ANUBIS_DB_SUCCESS; } static int gdbm_db_put (void *d, const char *keystr, ANUBIS_USER * rec, int *errp) { size_t size, n; char *text; datum key, content; int rc; size = strlen (rec->smtp_passwd) + 1; if (rec->username) size += strlen (rec->username) + 1; if (rec->rcfile_name) { size += strlen (rec->rcfile_name); if (!rec->username) size += strlen (rec->smtp_authid) + 1; } text = xmalloc (size + 1); n = sprintf (text, "%s", rec->smtp_passwd); if (rec->username) n += sprintf (text + n, ",%s", rec->username); if (rec->rcfile_name) { if (!rec->username) n += sprintf (text + n, ",%s", rec->smtp_authid); n += sprintf (text + n, ",%s", rec->rcfile_name); } key.dptr = (char *) keystr; key.dsize = strlen (keystr); content.dptr = text; content.dsize = size; if (gdbm_store ((GDBM_FILE) d, key, content, GDBM_REPLACE)) { *errp = gdbm_errno; rc = ANUBIS_DB_FAIL; } else rc = ANUBIS_DB_SUCCESS; free (text); return rc; } static int gdbm_db_delete (void *d, const char *keystr, int *ecode) { int rc; datum key; key.dptr = (char *) keystr; key.dsize = strlen (keystr); if (gdbm_delete ((GDBM_FILE) d, key)) { *ecode = gdbm_errno; rc = ANUBIS_DB_FAIL; } else rc = ANUBIS_DB_SUCCESS; return rc; } const char * gdbm_db_strerror (void *d, int rc) { return gdbm_strerror (rc); } void gdbm_db_init (void) { anubis_db_register ("gdbm", gdbm_db_open, gdbm_db_close, gdbm_db_get, gdbm_db_put, gdbm_db_delete, gdbm_db_list, gdbm_db_strerror); } #endif /* HAVE_LIBGDBM */ /* EOF */ anubis-4.1.1+dfsg1/src/esmtp.c0000600000175000017500000001630011122500604013612 0ustar kbkb/* esmtp.c This file is part of GNU Anubis. Copyright (C) 2001, 2002, 2003, 2004, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" #if defined(WITH_GSASL) ANUBIS_LIST *anubis_client_mech_list; /* List of auth methods allowed by the client */ ANUBIS_LIST *anubis_encryption_mech_list; /* List of auth methods that require using encrypted channel */ char *anon_token; /* Anonymous token */ char *authorization_id; char *authentication_id; char *auth_password; char *auth_service; char *auth_hostname; /* FIXME: Not used: */ char *generic_service_name; char *auth_passcode; char *auth_realm; void anubis_set_client_mech_list (ANUBIS_LIST *list) { anubis_set_mech_list (&anubis_client_mech_list, list); } void anubis_set_encryption_mech_list (ANUBIS_LIST *list) { anubis_set_mech_list (&anubis_encryption_mech_list, list); } static int callback (Gsasl *ctx, Gsasl_session *sctx, Gsasl_property prop) { int rc = GSASL_OK; switch (prop) { case GSASL_AUTHID: if (authentication_id == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, authentication_id); break; case GSASL_AUTHZID: if (authorization_id == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, authorization_id); break; case GSASL_PASSWORD: if (auth_password == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, auth_password); break; case GSASL_ANONYMOUS_TOKEN: if (anon_token == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, anon_token); break; case GSASL_SERVICE: if (auth_service == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, auth_service); break; case GSASL_HOSTNAME: if (auth_hostname == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, auth_hostname); break; case GSASL_PASSCODE: if (auth_passcode == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, auth_passcode); break; case GSASL_REALM: if (auth_realm == NULL) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, prop, auth_realm); break; default: rc = GSASL_NO_CALLBACK; anubis_error (0, 0, _("Unsupported callback property %d"), prop); break; } return rc; } static char * get_reply (NET_STREAM str, int *code, char **buf, size_t *psize) { char *p; get_response_smtp (CLIENT, str, buf, psize); remcrlf (*buf); *code = strtoul (*buf, &p, 10); if (*p == 0 || *p == '\r') return p; if (!isspace (*p)) { anubis_error (1, 0, _("Malformed or unexpected reply")); } while (*p && isspace (*p)) p++; return p; } int do_gsasl_auth (NET_STREAM *pstr, Gsasl *ctx, char *mech) { char *output; int rc; Gsasl_session *sess_ctx = NULL; char sbuf[LINEBUFFER + 1]; char *buf = NULL; size_t size = 0; char *p; int code; snprintf (sbuf, sizeof sbuf, "AUTH %s" CRLF, mech); swrite (CLIENT, *pstr, sbuf); rc = gsasl_client_start (ctx, mech, &sess_ctx); if (rc != GSASL_OK) { anubis_error (1, 0, _("SASL gsasl_client_start: %s"), gsasl_strerror (rc)); } output = NULL; p = get_reply (*pstr, &code, &buf, &size); if (code != 334) { anubis_error (0, 0, _("GSASL handshake aborted: %d %s"), code, p); free (buf); return 1; } do { rc = gsasl_step64 (sess_ctx, p, &output); if (rc != GSASL_NEEDS_MORE && rc != GSASL_OK) break; swrite (CLIENT, *pstr, output); swrite (CLIENT, *pstr, CRLF); if (rc == GSASL_OK) break; p = get_reply (*pstr, &code, &buf, &size); if (code != 334) { anubis_error (0, 0, _("GSASL handshake aborted: %d %s"), code, p); free (output); free (buf); return 1; } } while (rc == GSASL_NEEDS_MORE); free (output); if (rc != GSASL_OK) { anubis_error (0, 0, _("GSASL error: %s"), gsasl_strerror (rc)); exit (1); } p = get_reply (*pstr, &code, &buf, &size); if (code == 334) { /* Additional data. Do we need it? */ p = get_reply (*pstr, &code, &buf, &size); } if (code != 235) { anubis_error (1, 0, _("Authentication failed: %d %s"), code, p); } info (VERBOSE, _("Authentication successful.")); if (sess_ctx) install_gsasl_stream (sess_ctx, pstr); free (buf); return 0; } int esmtp_auth (NET_STREAM *pstr, char *input) { Gsasl *ctx; int rc; ANUBIS_LIST *isect; ANUBIS_LIST *mech_list = auth_method_list (input); char *mech; if (list_count (mech_list) == 0) { anubis_warning (0, _("Got empty list of authentication methods")); list_destroy (&mech_list, anubis_free_list_item, NULL); return 1; } /* Provide reasonable defaults */ if (!anubis_client_mech_list) { char *p = strdup ("CRAM-MD5 LOGIN PLAIN"); anubis_client_mech_list = auth_method_list (p); free (p); } if (!anubis_encryption_mech_list) { char *p = strdup ("LOGIN PLAIN"); anubis_encryption_mech_list = auth_method_list (p); free (p); } /* End of backward compatibility hack */ isect = list_intersect (anubis_client_mech_list, mech_list, anubis_name_cmp); if (list_count (isect) == 0) { anubis_warning (0, _("Server did not offer any feasible authentication mechanism")); list_destroy (&isect, NULL, NULL); list_destroy (&mech_list, anubis_free_list_item, NULL); return 1; } mech = list_item (isect, 0); if (!mech) /* Just in case...*/ { anubis_error(1, 0, "%s %s:%d", _("INTERNAL ERROR"), __FILE__, __LINE__); } if (list_locate (anubis_encryption_mech_list, mech, anubis_name_cmp)) { if (!(topt & T_SSL_FINISHED)) { anubis_warning (0, _("Selected authentication mechanism %s requires TLS encryption. Not using ESMTP authentication"), mech); list_destroy (&mech_list, anubis_free_list_item, NULL); return 1; } } info (VERBOSE, _("Selected authentication mechanism %s"), mech); rc = gsasl_init (&ctx); if (rc != GSASL_OK) { anubis_error (0, 0, _("Cannot initialize libgsasl: %s"), gsasl_strerror (rc)); return 1; } gsasl_callback_set (ctx, callback); rc = do_gsasl_auth (pstr, ctx, mech); list_destroy (&mech_list, anubis_free_list_item, NULL); return rc; } #else int esmtp_auth (NET_STREAM *pstr, char *input) { anubis_warning (0, _("ESMTP AUTH is not supported")); return 1; } #endif anubis-4.1.1+dfsg1/src/Makefile.in0000600000175000017500000011125111122764064014400 0ustar kbkb# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ sbin_PROGRAMS = anubis$(EXEEXT) @ANUBIS_SBIN_ADM@ EXTRA_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) subdir = src DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/am/anubis.m4 \ $(top_srcdir)/am/gpgme.m4 $(top_srcdir)/am/gsasl.m4 \ $(top_srcdir)/am/guile.m4 $(top_srcdir)/am/libgnutls.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fseeko.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpass.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/onceonly.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd_h.m4 \ $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru libanubisdb_a_AR = $(AR) $(ARFLAGS) libanubisdb_a_LIBADD = am_libanubisdb_a_OBJECTS = anubisdb.$(OBJEXT) dbtext.$(OBJEXT) \ gdbm.$(OBJEXT) gsasl.$(OBJEXT) list.$(OBJEXT) md5.$(OBJEXT) \ mysql.$(OBJEXT) pgsql.$(OBJEXT) sql.$(OBJEXT) stream.$(OBJEXT) \ tls.$(OBJEXT) url.$(OBJEXT) libanubisdb_a_OBJECTS = $(am_libanubisdb_a_OBJECTS) am__EXEEXT_1 = anubisusr$(EXEEXT) am__EXEEXT_2 = anubisadm$(EXEEXT) am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" \ "$(DESTDIR)$(lispdir)" binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) $(sbin_PROGRAMS) am_anubis_OBJECTS = authmode.$(OBJEXT) daemon.$(OBJEXT) env.$(OBJEXT) \ errs.$(OBJEXT) esmtp.$(OBJEXT) exec.$(OBJEXT) gpg.$(OBJEXT) \ gsasl_srv.$(OBJEXT) guile.$(OBJEXT) help.$(OBJEXT) \ ident.$(OBJEXT) log.$(OBJEXT) main.$(OBJEXT) map.$(OBJEXT) \ mda.$(OBJEXT) message.$(OBJEXT) mime.$(OBJEXT) misc.$(OBJEXT) \ net.$(OBJEXT) proclist.$(OBJEXT) quit.$(OBJEXT) \ rcfile.$(OBJEXT) rcfile-gram.$(OBJEXT) rcfile-lex.$(OBJEXT) \ regex.$(OBJEXT) socks.$(OBJEXT) transmode.$(OBJEXT) \ tunnel.$(OBJEXT) xdatabase.$(OBJEXT) anubis_OBJECTS = $(am_anubis_OBJECTS) am__DEPENDENCIES_1 = anubis_DEPENDENCIES = ./libanubisdb.a $(top_builddir)/lib/libanubis.a \ $(am__DEPENDENCIES_1) am_anubisadm_OBJECTS = anubisadm.$(OBJEXT) adm.$(OBJEXT) anubisadm_OBJECTS = $(am_anubisadm_OBJECTS) anubisadm_DEPENDENCIES = ./libanubisdb.a \ $(top_builddir)/lib/libanubis.a am_anubisusr_OBJECTS = anubisusr.$(OBJEXT) usr.$(OBJEXT) anubisusr_OBJECTS = $(am_anubisusr_OBJECTS) anubisusr_DEPENDENCIES = ./libanubisdb.a \ $(top_builddir)/lib/libanubis.a DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libanubisdb_a_SOURCES) $(anubis_SOURCES) \ $(anubisadm_SOURCES) $(anubisusr_SOURCES) DIST_SOURCES = $(libanubisdb_a_SOURCES) $(anubis_SOURCES) \ $(anubisadm_SOURCES) $(anubisusr_SOURCES) am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; lispLISP_INSTALL = $(INSTALL_DATA) LISP = $(lisp_LISP) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ANUBIS_BIN_ADM = @ANUBIS_BIN_ADM@ ANUBIS_DEFINES = @ANUBIS_DEFINES@ ANUBIS_GPGFILES = @ANUBIS_GPGFILES@ ANUBIS_LIBOBJS = @ANUBIS_LIBOBJS@ ANUBIS_SBIN_ADM = @ANUBIS_SBIN_ADM@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ -DLOCALEDIR=\"$(localedir)\" DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMACS = @EMACS@ EMACSLOADPATH = @EMACSLOADPATH@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GPG = @GPG@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GREP = @GREP@ GSASL_LIBS = @GSASL_LIBS@ GUILE_BINDIR = @GUILE_BINDIR@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_INCLUDES = @GUILE_INCLUDES@ GUILE_LIBS = @GUILE_LIBS@ GUILE_SCRIPTS = @GUILE_SCRIPTS@ GUILE_SNARF_VERSION = @GUILE_SNARF_VERSION@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTOB = @HAVE_WCTOB@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ INCLUDES = @INCLUDES@ @LIBGNUTLS_CFLAGS@ -I$(top_srcdir)/lib \ -I$(top_srcdir)/intl INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBANUBIS_LIBDEPS = @LIBANUBIS_LIBDEPS@ LIBANUBIS_LTLIBDEPS = @LIBANUBIS_LTLIBDEPS@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_CONFIG = @LIBGNUTLS_CONFIG@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4_DEFS = @M4_DEFS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYSEXITS_H = @SYSEXITS_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ idecrypt_path = @idecrypt_path@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ lisp_LISP = @lisp_LISP@ lispdir = @lispdir@ localedir = $(datadir)/locale localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ adm_sbin_programs = anubisadm adm_bin_programs = anubisusr bin_PROGRAMS = @ANUBIS_BIN_ADM@ noinst_LIBRARIES = libanubisdb.a anubis_LDADD = ./libanubisdb.a $(top_builddir)/lib/libanubis.a\ @LIBINTL@ $(GUILE_LIBS) @LIBGNUTLS_LIBS@ @GSASL_LIBS@ anubis_SOURCES = \ authmode.c \ daemon.c \ env.c \ errs.c \ esmtp.c \ exec.c \ extern.h \ gpg.c \ gsasl_srv.c \ guile.c \ headers.h \ help.c \ ident.c \ log.c \ main.c \ map.c \ mda.c \ message.c \ mime.c \ misc.c \ net.c \ proclist.c \ quit.c \ rcfile.c \ rcfile.h \ rcfile-gram.c \ rcfile-gram.h \ rcfile-lex.c \ regex.c \ socks.c \ transmode.c \ tunnel.c \ xdatabase.c anubisadm_SOURCES = anubisadm.c anubisadm.h adm.c anubisadm_LDADD = ./libanubisdb.a $(top_builddir)/lib/libanubis.a @LIBINTL@ anubisusr_SOURCES = anubisusr.c anubisusr.h usr.c anubisusr_LDADD = ./libanubisdb.a $(top_builddir)/lib/libanubis.a @LIBINTL@ @LIBGNUTLS_LIBS@ @GSASL_LIBS@ libanubisdb_a_SOURCES = \ anubisdb.c \ dbtext.c \ gdbm.c \ gsasl.c \ list.c \ list.h \ md5.c \ mysql.c \ pgsql.c \ sql.h \ sql.c \ stream.c \ tls.c \ url.c YLWRAP = $(SHELL) $(top_srcdir)/build/ylwrap AM_YFLAGS = -dtv EXTRA_DIST = rcfile.y rcfile.l getopt.m4 env.opt BUILT_SOURCES = \ rcfile-gram.c rcfile-gram.h \ rcfile-lex.c env.c SUFFIXES = .opt .c FLOWCHART_FILES = $(anubis_SOURCES) $(libanubisdb_a_SOURCES) all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .opt .c .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnits src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libanubisdb.a: $(libanubisdb_a_OBJECTS) $(libanubisdb_a_DEPENDENCIES) -rm -f libanubisdb.a $(libanubisdb_a_AR) libanubisdb.a $(libanubisdb_a_OBJECTS) $(libanubisdb_a_LIBADD) $(RANLIB) libanubisdb.a install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ rm -f "$(DESTDIR)$(bindir)/$$f"; \ done clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) installcheck-binPROGRAMS: $(bin_PROGRAMS) bad=0; pid=$$$$; list="$(bin_PROGRAMS)"; for p in $$list; do \ case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \ *" $$p "* | *" $(srcdir)/$$p "*) continue;; \ esac; \ f=`echo "$$p" | \ sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ for opt in --help --version; do \ if "$(DESTDIR)$(bindir)/$$f" $$opt >c$${pid}_.out \ 2>c$${pid}_.err &2; bad=1; fi; \ done; \ done; rm -f c$${pid}_.???; exit $$bad install-sbinPROGRAMS: $(sbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)" @list='$(sbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(sbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(sbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(sbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(sbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-sbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(sbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(sbindir)/$$f'"; \ rm -f "$(DESTDIR)$(sbindir)/$$f"; \ done clean-sbinPROGRAMS: -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) installcheck-sbinPROGRAMS: $(sbin_PROGRAMS) bad=0; pid=$$$$; list="$(sbin_PROGRAMS)"; for p in $$list; do \ case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \ *" $$p "* | *" $(srcdir)/$$p "*) continue;; \ esac; \ f=`echo "$$p" | \ sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ for opt in --help --version; do \ if "$(DESTDIR)$(sbindir)/$$f" $$opt >c$${pid}_.out \ 2>c$${pid}_.err &2; bad=1; fi; \ done; \ done; rm -f c$${pid}_.???; exit $$bad anubis$(EXEEXT): $(anubis_OBJECTS) $(anubis_DEPENDENCIES) @rm -f anubis$(EXEEXT) $(LINK) $(anubis_OBJECTS) $(anubis_LDADD) $(LIBS) anubisadm$(EXEEXT): $(anubisadm_OBJECTS) $(anubisadm_DEPENDENCIES) @rm -f anubisadm$(EXEEXT) $(LINK) $(anubisadm_OBJECTS) $(anubisadm_LDADD) $(LIBS) anubisusr$(EXEEXT): $(anubisusr_OBJECTS) $(anubisusr_DEPENDENCIES) @rm -f anubisusr$(EXEEXT) $(LINK) $(anubisusr_OBJECTS) $(anubisusr_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/anubisadm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/anubisdb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/anubisusr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/authmode.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/daemon.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbtext.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/env.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/errs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/esmtp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdbm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsasl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsasl_srv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/guile.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/help.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ident.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/map.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mda.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/message.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mysql.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgsql.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proclist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rcfile-gram.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rcfile-lex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rcfile.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/socks.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sql.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/transmode.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tunnel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/url.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xdatabase.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` elc-stamp: $(LISP) @echo 'WARNING: Warnings can be ignored. :-)' @rm -f elc-temp && touch elc-temp if test "$(EMACS)" != no; then \ set x; \ list='$(LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ set x "$$@" "$$d$$p"; shift; \ done; \ shift; \ EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \ else : ; fi @mv -f elc-temp $@ $(am__ELCFILES): elc-stamp @if test "$(EMACS)" != no && test ! -f $@; then \ trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \ if mkdir elc-lock 2>/dev/null; then \ rm -f elc-stamp; \ $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \ rmdir elc-lock; \ else \ while test -d elc-lock; do sleep 1; done; \ test -f elc-stamp; exit $$?; \ fi; \ else : ; fi install-lispLISP: $(lisp_LISP) $(ELCFILES) @$(NORMAL_INSTALL) @if test "$(EMACS)" != no; then \ test -z "$(lispdir)" || $(MKDIR_P) "$(DESTDIR)$(lispdir)"; \ list='$(lisp_LISP)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(lispLISP_INSTALL) '$$d$$p' '$(DESTDIR)$(lispdir)/$$f'"; \ $(lispLISP_INSTALL) "$$d$$p" "$(DESTDIR)$(lispdir)/$$f"; \ if test -f $${p}c; then \ echo " $(lispLISP_INSTALL) '$${p}c' '$(DESTDIR)$(lispdir)/$${f}c'"; \ $(lispLISP_INSTALL) "$${p}c" "$(DESTDIR)$(lispdir)/$${f}c"; \ else : ; fi; \ done; \ else : ; fi uninstall-lispLISP: @$(NORMAL_UNINSTALL) @if test "$(EMACS)" != no; then \ list='$(lisp_LISP)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(lispdir)/$$f' '$(DESTDIR)$(lispdir)/$${f}c'"; \ rm -f "$(DESTDIR)$(lispdir)/$$f" "$(DESTDIR)$(lispdir)/$${f}c"; \ done; \ else : ; fi clean-lisp: -rm -f elc-stamp $(ELCFILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(LISP) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(lispdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-lisp \ clean-noinstLIBRARIES clean-sbinPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-lispLISP install-dvi: install-dvi-am install-exec-am: install-binPROGRAMS install-sbinPROGRAMS install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: installcheck-binPROGRAMS installcheck-sbinPROGRAMS maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-lispLISP \ uninstall-sbinPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-lisp clean-noinstLIBRARIES \ clean-sbinPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-lispLISP install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-sbinPROGRAMS install-strip installcheck \ installcheck-am installcheck-binPROGRAMS \ installcheck-sbinPROGRAMS installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-binPROGRAMS uninstall-lispLISP \ uninstall-sbinPROGRAMS rcfile-lex.c: $(srcdir)/rcfile.l rcfile-gram.h $(YLWRAP) "$(LEX) $(AM_LEXFLAGS) $(LEXFLAGS)" \ $(srcdir)/rcfile.l lex.yy.c rcfile-lex.c \ -- -yy rc_yy rcfile-gram.c rcfile-gram.h: $(srcdir)/rcfile.y $(YLWRAP) "$(YACC) $(AM_YFLAGS) $(YFLAGS)" $(srcdir)/rcfile.y \ y.tab.c rcfile-gram.c y.tab.h rcfile-gram.h \ y.output y.output \ -- -yy rc_yy .opt.c: m4 -s $(top_srcdir)/src/getopt.m4 $< | sed '1d' > $@ flowchart: anubis.cflow anubis.cflow: $(FLOWCHART_FILES) CFLOWRC=$(top_srcdir)/build/cflow.rc \ cflow -o$@ --brief -i^s $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) `echo $(FLOWCHART_FILES)|sed 's/[^ ]*\.h //g'` # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: anubis-4.1.1+dfsg1/src/map.c0000600000175000017500000001137311121752642013256 0ustar kbkb/* map.c This file is part of GNU Anubis. Copyright (C) 2001, 2002, 2003, 2005, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" #include "rcfile.h" /*************************** The translation map parser ****************************/ char * parse_line_option (char *ptr) { while (isspace (*(u_char *) ptr)) ptr++; remcrlf (ptr); return ptr; } struct translate_env { int stop; int cs; char *extuser; char *extaddr; char translate[65]; char into[65]; }; void parse_transmap (int *cs, char *extuser, char *extaddr, char **dst) { struct translate_env env; env.stop = 0; env.cs = -1; /* failed by default: unmatched */ env.extuser = extuser; env.extaddr = extaddr; rcfile_process_section (CF_SUPERVISOR, "TRANSLATION", &env, NULL); *cs = env.cs; if (*cs == 1) { /* success */ if (check_username (env.into)) { info (NORMAL, _("%s remapped to %s@localhost."), env.translate, env.into); assign_string (dst, env.into); } else *cs = 0; /* failed: invalid user name */ } } /* ******************** Configuration file settings ********************** */ #define KW_TRANSLATE 1 struct rc_kwdef translate_kw[] = { {"translate", KW_TRANSLATE}, {NULL} }; int translate_parser (int method, int key, ANUBIS_LIST * arglist, void *inv_data, void *func_data, MESSAGE * msg) { struct translate_env *env = func_data; char *p = 0; int cu = 0; /* check a user name */ char a1[65]; char a2[65]; char user[65]; char address[65]; unsigned long inaddr; struct sockaddr_in addr; size_t argc; if (!env || env->stop) return RC_KW_HANDLED; switch (key) { case KW_TRANSLATE: /* translate [=] [USER@]ADDRESS into [=] USERNAME argv[0] = [USER@]ADDRESS argv[1] = "into" argv[2] = USERNAME */ safe_strcpy (a1, env->extaddr); memset (&addr, 0, sizeof (addr)); argc = list_count (arglist); if (argc < 3 || argc > 4 || strcmp (list_item (arglist, 1), "into")) { info (VERBOSE, _("Translation map: incorrect syntax.")); break; } safe_strcpy (env->translate, list_item (arglist, 0)); p = list_item (arglist, 2); if (p[0] == '=') p = list_item (arglist, 3); safe_strcpy (env->into, p); if (strchr (env->translate, '@')) { if (env->extuser == 0) break; /* failed */ safe_strcpy (user, env->translate); p = strchr (user, '@'); *p++ = '\0'; safe_strcpy (address, p); cu = 1; } else safe_strcpy (address, env->translate); inaddr = inet_addr (address); if (inaddr != INADDR_NONE) memcpy (&addr.sin_addr, &inaddr, sizeof (inaddr)); else { struct hostent *hp = 0; hp = gethostbyname (address); if (hp == 0) { cu = 0; hostname_error (address); break; /* failed */ } else { if (hp->h_length != 4 && hp->h_length != 8) { anubis_error (0, 0, _("Illegal address length received for host %s"), address); cu = 0; break; /* failed */ } else { memcpy (&addr.sin_addr.s_addr, hp->h_addr, hp->h_length); } } } safe_strcpy (a2, inet_ntoa (addr.sin_addr)); if (cu) { if (strcmp (env->extuser, user) == 0) { /* a temporary solution */ if (strcmp (a2, "0.0.0.0") == 0) { env->cs = 1; /* success */ env->stop = 1; break; } if (strcmp (a1, a2) == 0) { env->cs = 1; /* success */ env->stop = 1; break; } } } else if (cu == 0) { /* a temporary solution */ if (strcmp (a2, "0.0.0.0") == 0) { env->cs = 1; /* success */ env->stop = 1; break; } if (strcmp (a1, a2) == 0) { env->cs = 1; /* success */ env->stop = 1; break; } } break; default: return RC_KW_UNKNOWN; } return RC_KW_HANDLED; } static struct rc_secdef_child translate_secdef_child = { NULL, CF_SUPERVISOR, translate_kw, translate_parser, NULL }; void translate_section_init (void) { struct rc_secdef *sp = anubis_add_section ("TRANSLATION"); rc_secdef_add_child (sp, &translate_secdef_child); } /* EOF */ anubis-4.1.1+dfsg1/src/help.c0000600000175000017500000000315511121752642013430 0ustar kbkb/* help.c This file is part of GNU Anubis. Copyright (C) 2001, 2002, 2003, 2004, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" static char *config_opts[] = { #ifdef HAVE_REGEX "REGEX", #endif /* HAVE_REGEX */ #ifdef HAVE_PCRE "PCRE", #endif /* HAVE_PCRE */ #ifdef WITH_GSASL "GSASL", #endif /* WITH_GSASL */ #ifdef WITH_MYSQL "MYSQL", #endif /* WITH_MYSQL */ #ifdef WITH_PGSQL "POSTGRES", #endif /* WITH_PGSQL */ #ifdef WITH_GUILE "GUILE", #endif /* WITH_GUILE */ #ifdef HAVE_TLS "GNUTLS", #endif /* HAVE_TLS */ #ifdef HAVE_GPG "GPG", #endif /* HAVE_GPG */ #ifdef HAVE_PAM "PAM", #endif /* HAVE_PAM */ #ifdef USE_LIBWRAP "LIBWRAP", #endif /* USE_LIBWRAP */ #ifdef USE_SOCKS_PROXY "SOCKS", #endif /* USE_SOCKS_PROXY */ #ifdef ENABLE_NLS "NLS", #endif /* ENABLE_NLS */ NULL }; void print_config_options (void) { int i; for (i = 0; config_opts[i]; i++) puts (config_opts[i]); exit (0); } /* EOF */ anubis-4.1.1+dfsg1/src/transmode.c0000600000175000017500000000702111121752642014470 0ustar kbkb/* transmode.c This file is part of GNU Anubis. Copyright (C) 2003, 2004, 2005, 2007, 2008 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" static unsigned long string_to_ipaddr (const char *str) { unsigned long inaddr; struct sockaddr_in ad; memset (&ad, 0, sizeof (ad)); inaddr = inet_addr (str); if (inaddr != INADDR_NONE) memcpy (&ad.sin_addr, &inaddr, sizeof (inaddr)); else { struct hostent *hp = 0; hp = gethostbyname (str); if (hp == 0) hostname_error (str); else { if (hp->h_length != 4 && hp->h_length != 8) { anubis_error (EXIT_FAILURE, 0, _("Illegal address length received for host %s"), str); } else memcpy ((char *) &ad.sin_addr.s_addr, hp->h_addr, hp->h_length); } } return inaddr; } void session_prologue () { if (!(topt & T_LOCAL_MTA) && !session.mta) anubis_error (EXIT_FAILURE, 0, _("The MTA has not been specified. " "Set the REMOTE-MTA or LOCAL-MTA.")); if (!(topt & T_LOCAL_MTA) && string_to_ipaddr (session.mta) == string_to_ipaddr (session.anubis) && session.anubis_port == session.mta_port) anubis_error (EXIT_FAILURE, 0, _("remote-mta loops back to Anubis")); alarm (300); if (topt & T_LOCAL_MTA) { remote_server = make_local_connection (session.execpath, session.execargs); if (!remote_server) { service_unavailable (&remote_client); return; } } else { remote_server = make_remote_connection (session.mta, session.mta_port); if (!remote_server) service_unavailable (&remote_client); } alarm (900); } int anubis_transparent_mode (struct sockaddr_in *addr) { int rs = 0; int cs = 0; rs = auth_ident (addr, &session.clientname); if ((topt & T_DROP_UNKNOWN_USER) && !rs) { service_unavailable (&remote_client); return 0; } parse_transmap (&cs, rs ? session.clientname : 0, inet_ntoa (addr->sin_addr), &session.clientname); if (cs == 1) { anubis_changeowner (session.clientname); } else if (rs && cs == -1 && ntohl (addr->sin_addr.s_addr) == INADDR_LOOPBACK) { if (check_username (session.clientname)) anubis_changeowner (session.clientname); else set_unprivileged_user (); } else set_unprivileged_user (); auth_tunnel (); session_prologue (); smtp_session_transparent (); alarm (0); net_close_stream (&remote_server); net_close_stream (&remote_client); info (NORMAL, _("Connection closed successfully.")); #ifdef HAVE_PAM if (pamh) { int pam_retval = pam_close_session (pamh, 0); if (pam_retval == PAM_SUCCESS) info (VERBOSE, _("PAM: Session closed.")); if (pam_end (pamh, pam_retval) != PAM_SUCCESS) { pamh = NULL; info (NORMAL, _("PAM: failed to release authenticator.")); return EXIT_FAILURE; } } #endif /* HAVE_PAM */ return 0; } /* EOF */ anubis-4.1.1+dfsg1/src/anubisdb.c0000600000175000017500000001104711121752642014266 0ustar kbkb/* anubisdb.c This file is part of GNU Anubis. Copyright (C) 2003, 2004, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #ifdef WITH_GSASL struct anubis_db_type { char *db_id; anubis_db_open_t db_open; anubis_db_close_t db_close; anubis_db_io_t db_get_record; anubis_db_io_t db_put_record; anubis_db_delete_t db_delete; anubis_db_get_list_t db_list; anubis_db_strerror_t db_strerror; }; struct anubis_db_instance { struct anubis_db_type *db_type; enum anubis_db_mode mode; int error_code; void *db_handle; }; static ANUBIS_LIST /* of anubis_db_type */ * dbtab; static int dbid_cmp (void *item, void *data) { struct anubis_db_type *type = item; return strcmp (type->db_id, data); } static struct anubis_db_type * anubis_db_locate (char *name) { return list_locate (dbtab, name, dbid_cmp); } int anubis_db_register (const char *dbid, anubis_db_open_t _db_open, anubis_db_close_t _db_close, anubis_db_io_t _db_get, anubis_db_io_t _db_put, anubis_db_delete_t _db_delete, anubis_db_get_list_t _db_list, anubis_db_strerror_t _db_strerror) { struct anubis_db_type *dbt = xmalloc (sizeof *dbt); dbt->db_id = strdup (dbid); dbt->db_open = _db_open; dbt->db_close = _db_close; dbt->db_get_record = _db_get; dbt->db_put_record = _db_put; dbt->db_delete = _db_delete; dbt->db_list = _db_list; dbt->db_strerror = _db_strerror; if (!dbtab) dbtab = list_create (); list_append (dbtab, dbt); return 0; } int anubis_db_open (char *arg, enum anubis_db_mode mode, void **dptr, char **err) { struct anubis_db_instance *inst; ANUBIS_URL *url; struct anubis_db_type *dbt; int rc; if (anubis_url_parse (&url, arg)) { *err = _("Cannot parse database URL"); return EINVAL; } dbt = anubis_db_locate (url->method); if (!dbt) { *err = _("Requested database URL is unknown or unsupported"); return ENOENT; } inst = xmalloc (sizeof *inst); inst->db_type = dbt; inst->mode = mode; inst->error_code = 0; inst->db_handle = NULL; *dptr = inst; rc = dbt->db_open (&inst->db_handle, url, mode, err); anubis_url_destroy (&url); return rc; } int anubis_db_close (void **dptr) { struct anubis_db_instance *inst = *dptr; int rc; if (!inst) return EINVAL; rc = inst->db_type->db_close (inst->db_handle); free (inst); *dptr = NULL; return rc; } int anubis_db_get_record (void *dptr, const char *key, ANUBIS_USER * rec) { struct anubis_db_instance *inst = dptr; return inst->db_type->db_get_record (inst->db_handle, key, rec, &inst->error_code); } int anubis_db_put_record (void *dptr, const char *key, ANUBIS_USER * rec) { struct anubis_db_instance *inst = dptr; if (inst->mode == anubis_db_rdonly) { inst->error_code = 0; errno = EACCES; return 1; } return inst->db_type->db_put_record (inst->db_handle, key, rec, &inst->error_code); } int anubis_db_delete_record (void *dptr, const char *key) { struct anubis_db_instance *inst = dptr; if (inst->mode == anubis_db_rdonly) { inst->error_code = 0; errno = EACCES; return 1; } return inst->db_type->db_delete (inst->db_handle, key, &inst->error_code); } int anubis_db_get_list (void *dptr, ANUBIS_LIST ** list) { struct anubis_db_instance *inst = dptr; *list = list_create (); return inst->db_type->db_list (inst->db_handle, *list, &inst->error_code); } const char * anubis_db_strerror (void *dptr) { struct anubis_db_instance *inst = dptr; if (inst->error_code) { int ec = inst->error_code; inst->error_code = 0; if (inst->db_type->db_strerror) return inst->db_type->db_strerror (inst->db_handle, ec); } return strerror (errno); } void anubis_db_free_record (ANUBIS_USER * rec) { free (rec->smtp_authid); free (rec->smtp_passwd); free (rec->username); free (rec->rcfile_name); memset (rec, 0, sizeof *rec); } #endif /* WITH_GSASL */ /* EOF */ anubis-4.1.1+dfsg1/src/list.c0000600000175000017500000001332011121752642013446 0ustar kbkb/* list.c This file is part of GNU Anubis. Copyright (C) 2003, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" struct list_entry { struct list_entry *next; void *data; }; struct list { size_t count; struct list_entry *head, *tail; struct iterator *itr; }; struct iterator { struct iterator *next; ANUBIS_LIST *list; struct list_entry *cur; int advanced; }; struct list * list_create () { struct list *p = xmalloc (sizeof (*p)); p->head = p->tail = NULL; p->itr = NULL; p->count = 0; return p; } void list_destroy (struct list **plist, list_iterator_t user_free, void *data) { struct list_entry *p; if (!*plist) return; p = (*plist)->head; while (p) { struct list_entry *next = p->next; if (user_free) user_free (p->data, data); xfree (p); p = next; } xfree (*plist); /* zeroes *plist as well */ } void * iterator_current (ITERATOR *ip) { if (!ip) return NULL; return ip->cur ? ip->cur->data : NULL; } static void _iterator_attach (ANUBIS_LIST *list, ITERATOR *itr) { itr->list = list; itr->cur = NULL; itr->next = list->itr; itr->advanced = 0; list->itr = itr; } static int _iterator_detach (ITERATOR *ip) { ITERATOR *itr, *prev; if (!ip) return 1; for (itr = ip->list->itr, prev = NULL; itr; prev = itr, itr = itr->next) if (ip == itr) break; if (itr) { if (prev) prev->next = itr->next; else itr->list->itr = itr->next; return 0; } return 1; } ITERATOR * iterator_create (ANUBIS_LIST *list) { ITERATOR *itr; if (!list) return NULL; itr = xzalloc (sizeof (*itr)); _iterator_attach (list, itr); return itr; } void iterator_destroy (ITERATOR **ip) { if (!ip || !*ip) return; if (_iterator_detach (*ip) == 0) { xfree (*ip); *ip = NULL; } } void * iterator_first (ITERATOR *ip) { if (!ip) return NULL; ip->cur = ip->list->head; ip->advanced = 0; return iterator_current (ip); } void * iterator_next (ITERATOR *ip) { if (!ip || !ip->cur) return NULL; if (!ip->advanced) ip->cur = ip->cur->next; ip->advanced = 0; return iterator_current (ip); } static void _iterator_advance (ITERATOR *ip, struct list_entry *e) { for (; ip; ip = ip->next) { if (ip->cur == e) { ip->cur = e->next; ip->advanced++; } } } void * list_item (struct list *list, size_t n) { struct list_entry *p; if (n > list->count) return NULL; for (p = list->head; n > 0 && p; p = p->next, n--) ; return p->data; } size_t list_count (struct list * list) { if (!list) return 0; return list->count; } void list_append (struct list *list, void *data) { struct list_entry *ep; if (!list) return; ep = xmalloc (sizeof (*ep)); ep->next = NULL; ep->data = data; if (list->tail) list->tail->next = ep; else list->head = ep; list->tail = ep; list->count++; } void list_prepend (struct list *list, void *data) { struct list_entry *ep; if (!list) return; ep = xmalloc (sizeof (*ep)); ep->data = data; ep->next = list->head; list->head = ep; if (!list->tail) list->tail = list->head; list->count++; } static int cmp_ptr (void *a, void *b) { return a != b; } void * list_remove (struct list *list, void *data, list_comp_t cmp) { struct list_entry *p, *prev; if (!list) return NULL; if (!list->head) return NULL; if (!cmp) cmp = cmp_ptr; for (p = list->head, prev = NULL; p; prev = p, p = p->next) if (cmp (p->data, data) == 0) break; if (!p) return 0; _iterator_advance (list->itr, p); if (p == list->head) { list->head = list->head->next; if (!list->head) list->tail = NULL; } else prev->next = p->next; if (p == list->tail) list->tail = prev; data = p->data; /* make sure we return actual data, not the one supplied at the invocation */ xfree (p); list->count--; return data; } void list_iterate (struct list *list, list_iterator_t func, void *data) { ITERATOR itr; void *p; if (!list) return; _iterator_attach (list, &itr); for (p = iterator_first (&itr); p; p = iterator_next (&itr)) { if (func (p, data)) break; } _iterator_detach (&itr); } void * list_locate (struct list *list, void *data, list_comp_t cmp) { struct list_entry *cur; if (!list) return NULL; if (!cmp) cmp = cmp_ptr; for (cur = list->head; cur; cur = cur->next) if (cmp (cur->data, data) == 0) break; return cur ? cur->data : NULL; } /* Computes an intersection of the two lists. The resulting list contains elements from the list A that are also encountered in the list B. Elements are compared using function CMP. The resulting list preserves the ordering of A. */ ANUBIS_LIST * list_intersect (ANUBIS_LIST *a, ANUBIS_LIST *b, list_comp_t cmp) { ANUBIS_LIST *res; ITERATOR *itr = iterator_create (a); void *p; if (!itr) return NULL; res = list_create (); for (p = iterator_first (itr); p; p = iterator_next (itr)) { if (list_locate (b, p, cmp)) list_append (res, p); } iterator_destroy (&itr); return res; } /* EOF */ anubis-4.1.1+dfsg1/src/adm.c0000600000175000017500000003626211122500642013236 0ustar kbkb/* -*- buffer-read-only: t -*- vi: set ro: THIS FILE IS GENERATED AUTOMATICALLY. PLEASE DO NOT EDIT. */ #line 1 "adm.opt" /* -*- c -*- This file is part of GNU Anubis. Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include #line 20 "adm.opt" #line 20 void print_help(void); #line 20 void print_usage(void); #line 99 "adm.opt" #line 99 /* Option codes */ #line 99 enum { #line 99 _OPTION_INIT=255, #line 99 #line 99 "adm.opt" #line 99 OPTION_USAGE, #line 99 "adm.opt" #line 99 OPTION_VERSION, #line 99 "adm.opt" MAX_OPTION #line 99 }; #line 99 static struct option long_options[] = { #line 99 #line 38 "adm.opt" #line 38 { "create", no_argument, 0, 'c' }, #line 44 "adm.opt" #line 44 { "list", no_argument, 0, 'l' }, #line 50 "adm.opt" #line 50 { "add", no_argument, 0, 'a' }, #line 56 "adm.opt" #line 56 { "modify", no_argument, 0, 'm' }, #line 62 "adm.opt" #line 62 { "remove", no_argument, 0, 'r' }, #line 70 "adm.opt" #line 70 { "authid", required_argument, 0, 'i' }, #line 78 "adm.opt" #line 78 { "password", required_argument, 0, 'p' }, #line 85 "adm.opt" #line 85 { "user", required_argument, 0, 'u' }, #line 92 "adm.opt" #line 92 { "rcfile", required_argument, 0, 'f' }, #line 99 "adm.opt" #line 99 { "help", no_argument, 0, 'h' }, #line 99 "adm.opt" #line 99 { "usage", no_argument, 0, OPTION_USAGE }, #line 99 "adm.opt" #line 99 { "version", no_argument, 0, OPTION_VERSION }, #line 99 "adm.opt" {0, 0, 0, 0} #line 99 }; #line 99 static struct opthelp { #line 99 const char *opt; #line 99 const char *arg; #line 99 int is_optional; #line 99 const char *descr; #line 99 } opthelp[] = { #line 99 #line 37 "adm.opt" #line 37 { NULL, NULL, 0, N_("Administration commands:") }, #line 40 "adm.opt" #line 40 { "-c, --create", NULL, 0, N_("Creates the database.") }, #line 46 "adm.opt" #line 46 { "-l, --list", NULL, 0, N_("List contents of existing database.") }, #line 52 "adm.opt" #line 52 { "-a, --add", NULL, 0, N_("Add a new record.") }, #line 58 "adm.opt" #line 58 { "-m, --modify", NULL, 0, N_("Modify existing record.") }, #line 64 "adm.opt" #line 64 { "-r, --remove", NULL, 0, N_("Remove existing record.") }, #line 68 "adm.opt" #line 68 { NULL, NULL, 0, N_("Options:") }, #line 74 "adm.opt" #line 74 { "-i, --authid", N_("STRING"), 0, N_("Specify the authid to operate upon. This option is mandatory with --add, --modify and --remove. It is optional when used with --list.") }, #line 81 "adm.opt" #line 81 { "-p, --password", N_("STRING"), 0, N_("Specify the password for the authid. Mandatory with --add, --modify and --remove.") }, #line 88 "adm.opt" #line 88 { "-u, --user", N_("STRING"), 0, N_("Specify the system user name corresponding to the given authid. Optional for --add, --modify and --remove.") }, #line 95 "adm.opt" #line 95 { "-f, --rcfile", N_("STRING"), 0, N_("Specify the rc file to be used for this authid. Optional for --add, --modify and --remove.") }, #line 99 "adm.opt" #line 99 { NULL, NULL, 0, N_("Other options") }, #line 99 "adm.opt" #line 99 { "-h, --help", NULL, 0, N_("Give this help list") }, #line 99 "adm.opt" #line 99 { "--usage", NULL, 0, N_("Give a short usage message") }, #line 99 "adm.opt" #line 99 { "--version", NULL, 0, N_("Print program version") }, #line 99 "adm.opt" }; #line 20 "adm.opt" #line 20 const char *program_version = "anubisadm" " (" PACKAGE_STRING ")"; #line 20 static char doc[] = N_("Interface for GNU Anubis database administration."); #line 20 static char args_doc[] = N_("URL"); #line 20 static char *after_desc = N_("EXAMPLES:\n\n 1. Create the GDBM database from a plaintext file:\n\n example$ anubisadm --create gdbm:/etc/anubis.db < plaintext\n\n 2. Add SMTP authid \"test\" with password \"guessme\" and map it to the system account \"gray\":\n\n example$ anubisadm --add --authid test --password guessme --user gray gdbm:/etc/anubis.db\n\n 3. List the database:\n\n example$ anubisadm --list gdbm:/etc/anubis.db\n\n 4. List only the record with authid \"test\":\n\n example$ anubisadm --list --authid test gdbm:/etc/anubis.db \n\n"); #line 20 const char *program_bug_address = "<" PACKAGE_BUGREPORT ">"; #line 20 #line 20 #define DESCRCOLUMN 30 #line 20 #define RMARGIN 79 #line 20 #define GROUPCOLUMN 2 #line 20 #define USAGECOLUMN 13 #line 20 #line 20 static void #line 20 indent (size_t start, size_t col) #line 20 { #line 20 for (; start < col; start++) #line 20 putchar (' '); #line 20 } #line 20 #line 20 static void #line 20 print_option_descr (const char *descr, size_t lmargin, size_t rmargin) #line 20 { #line 20 while (*descr) #line 20 { #line 20 size_t s = 0; #line 20 size_t i; #line 20 size_t width = rmargin - lmargin; #line 20 #line 20 while (*descr && (*descr == ' ' || *descr == '\t')) #line 20 descr++; #line 20 for (i = 0; ; i++) #line 20 { #line 20 if (descr[i] == '\n') #line 20 { #line 20 s = i; #line 20 break; #line 20 } #line 20 if (descr[i] == 0 || (descr[i] == ' ' || descr[i] == '\t')) #line 20 { #line 20 if (i > width) #line 20 break; #line 20 s = i; #line 20 if (descr[i] == 0) #line 20 break; #line 20 } #line 20 } #line 20 if (s > width) #line 20 while (!(descr[s] == ' ' || descr[s] == '\t')) #line 20 s--; #line 20 printf ("%*.*s\n", s, s, descr); #line 20 descr += s; #line 20 if (*descr) #line 20 { #line 20 indent (0, lmargin); #line 20 descr++; #line 20 } #line 20 } #line 20 } #line 20 #line 20 void #line 20 print_help(void) #line 20 { #line 20 unsigned i; #line 20 #line 20 printf ("%s %s [%s]... %s\n", _("Usage:"), "anubisadm", _("OPTION"), #line 20 gettext (args_doc)); #line 20 if (doc && doc[0]) #line 20 print_option_descr(gettext (doc), 0, RMARGIN); #line 20 putchar ('\n'); #line 20 #line 20 for (i = 0; i < sizeof (opthelp) / sizeof (opthelp[0]); i++) #line 20 { #line 20 unsigned n; #line 20 if (opthelp[i].opt) #line 20 { #line 20 n = printf (" %s", opthelp[i].opt); #line 20 if (opthelp[i].arg) #line 20 { #line 20 char *cb, *ce; #line 20 if (strlen (opthelp[i].opt) == 2) #line 20 { #line 20 if (!opthelp[i].is_optional) #line 20 { #line 20 putchar (' '); #line 20 n++; #line 20 } #line 20 } #line 20 else #line 20 { #line 20 putchar ('='); #line 20 n++; #line 20 } #line 20 if (opthelp[i].is_optional) #line 20 { #line 20 cb = "["; #line 20 ce = "]"; #line 20 } #line 20 else #line 20 cb = ce = ""; #line 20 n += printf ("%s%s%s", cb, gettext (opthelp[i].arg), ce); #line 20 } #line 20 if (n >= DESCRCOLUMN) #line 20 { #line 20 putchar ('\n'); #line 20 n = 0; #line 20 } #line 20 indent (n, DESCRCOLUMN); #line 20 print_option_descr (gettext (opthelp[i].descr), DESCRCOLUMN, RMARGIN); #line 20 } #line 20 else #line 20 { #line 20 if (i) #line 20 putchar ('\n'); #line 20 indent (0, GROUPCOLUMN); #line 20 print_option_descr (gettext (opthelp[i].descr), #line 20 GROUPCOLUMN, RMARGIN); #line 20 putchar ('\n'); #line 20 } #line 20 } #line 20 #line 20 putchar ('\n'); #line 20 print_option_descr (_("Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options."), 0, RMARGIN); #line 20 putchar ('\n'); #line 20 #line 20 if (after_desc) #line 20 { #line 20 print_option_descr (gettext (after_desc), 0, RMARGIN); #line 20 } #line 20 printf (_("Report bugs to %s.\n"), program_bug_address); #line 20 } #line 20 #line 20 void #line 20 print_usage(void) #line 20 { #line 20 unsigned i; #line 20 int f = 0; #line 20 unsigned n; #line 20 char buf[RMARGIN+1]; #line 20 #line 20 #define FLUSH do { buf[n] = 0; printf ("%s\n", buf); n = USAGECOLUMN; memset (buf, ' ', n); } while (0) #line 20 #define ADDC(c) do { if (n == RMARGIN) FLUSH; buf[n++] = c; } while (0) #line 20 #line 20 n = snprintf (buf, sizeof buf, "%s %s ", _("Usage:"), "anubisadm"); #line 20 #line 20 /* Print a list of short options without arguments. */ #line 20 for (i = 0; i < sizeof (opthelp) / sizeof (opthelp[0]); i++) #line 20 { #line 20 if (opthelp[i].opt && opthelp[i].descr && opthelp[i].opt[1] != '-' #line 20 && opthelp[i].arg == NULL) #line 20 { #line 20 if (f == 0) #line 20 { #line 20 ADDC('['); #line 20 ADDC('-'); #line 20 f = 1; #line 20 } #line 20 ADDC(opthelp[i].opt[1]); #line 20 } #line 20 } #line 20 if (f) #line 20 ADDC(']'); #line 20 #line 20 /* Print a list of short options with arguments. */ #line 20 for (i = 0; i < sizeof (opthelp) / sizeof (opthelp[0]); i++) #line 20 { #line 20 if (opthelp[i].opt && opthelp[i].descr && opthelp[i].opt[1] != '-' #line 20 && opthelp[i].arg) #line 20 { #line 20 size_t len = 5 #line 20 + strlen (opthelp[i].arg) #line 20 + (opthelp[i].is_optional ? 2 : 1); #line 20 if (n + len > RMARGIN) FLUSH; #line 20 buf[n++] = ' '; #line 20 buf[n++] = '['; #line 20 buf[n++] = '-'; #line 20 buf[n++] = opthelp[i].opt[1]; #line 20 if (opthelp[i].is_optional) #line 20 { #line 20 buf[n++] = '['; #line 20 strcpy (&buf[n], opthelp[i].arg); #line 20 n += strlen (opthelp[i].arg); #line 20 buf[n++] = ']'; #line 20 } #line 20 else #line 20 { #line 20 buf[n++] = ' '; #line 20 strcpy (&buf[n], opthelp[i].arg); #line 20 n += strlen (opthelp[i].arg); #line 20 } #line 20 buf[n++] = ']'; #line 20 } #line 20 } #line 20 #line 20 /* Print a list of long options */ #line 20 for (i = 0; i < sizeof (opthelp) / sizeof (opthelp[0]); i++) #line 20 { #line 20 if (opthelp[i].opt && opthelp[i].descr) #line 20 { #line 20 size_t len; #line 20 const char *longopt; #line 20 #line 20 if (opthelp[i].opt[1] == '-') #line 20 longopt = opthelp[i].opt; #line 20 else if (opthelp[i].opt[2] == ',') #line 20 longopt = opthelp[i].opt + 4; #line 20 else #line 20 continue; #line 20 #line 20 len = 3 + strlen (longopt) #line 20 + (opthelp[i].arg ? 1 + strlen (opthelp[i].arg) #line 20 + (opthelp[i].is_optional ? 2 : 0) : 0); #line 20 if (n + len > RMARGIN) FLUSH; #line 20 buf[n++] = ' '; #line 20 buf[n++] = '['; #line 20 strcpy (&buf[n], longopt); #line 20 n += strlen (longopt); #line 20 if (opthelp[i].arg) #line 20 { #line 20 buf[n++] = '='; #line 20 if (opthelp[i].is_optional) #line 20 { #line 20 buf[n++] = '['; #line 20 strcpy (&buf[n], opthelp[i].arg); #line 20 n += strlen (opthelp[i].arg); #line 20 buf[n++] = ']'; #line 20 } #line 20 else #line 20 { #line 20 strcpy (&buf[n], opthelp[i].arg); #line 20 n += strlen (opthelp[i].arg); #line 20 } #line 20 } #line 20 buf[n++] = ']'; #line 20 } #line 20 } #line 20 FLUSH; #line 20 #line 20 } #line 20 #line 20 const char version_etc_copyright[] = #line 20 /* Do *not* mark this string for translation. %s is a copyright symbol suitable for this locale. */ #line 20 "Copyright %s 2001, 2002, 2003, 2004, 2005, 2007, 2008 The Anubis Team."; #line 20 #line 20 void #line 20 print_version_only(const char *program_version, FILE *stream) #line 20 { #line 20 fprintf (stream, "%s\n", program_version); #line 20 /* TRANSLATORS: Translate "(C)" to the copyright symbol (C-in-a-circle), if this symbol is available in the user's locale. Otherwise, do not translate "(C)"; leave it as-is. */ #line 20 fprintf (stream, version_etc_copyright, _("(C)")); #line 20 fputc ('\n', stream); #line 20 } #line 20 #line 20 void #line 20 print_version(const char *program_version, FILE *stream) #line 20 { #line 20 print_version_only(program_version, stream); #line 20 #line 20 fputs (_("License GPLv3+: GNU GPL version 3 or later \nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.\n\n"), #line 20 stream); #line 20 } #line 20 #line 99 "adm.opt" #line 99 void adm_get_options (int argc, char *argv[], operation_fp *operation, int *index) { #line 104 { #line 104 int c; #line 104 #line 104 while ((c = getopt_long(argc, argv, "clamri:p:u:f:h", #line 104 long_options, NULL)) != EOF) #line 104 { #line 104 switch (c) #line 104 { #line 104 default: #line 104 exit(1); #line 104 #line 40 "adm.opt" case 'c': #line 40 { #line 40 *operation = op_create; #line 42 break; #line 42 } #line 46 "adm.opt" case 'l': #line 46 { #line 46 *operation = op_list; #line 48 break; #line 48 } #line 52 "adm.opt" case 'a': #line 52 { #line 52 *operation = op_add; #line 54 break; #line 54 } #line 58 "adm.opt" case 'm': #line 58 { #line 58 *operation = op_modify; #line 60 break; #line 60 } #line 64 "adm.opt" case 'r': #line 64 { #line 64 rcfile = optarg; #line 66 break; #line 66 } #line 74 "adm.opt" case 'i': #line 74 { #line 74 authid = optarg; #line 76 break; #line 76 } #line 81 "adm.opt" case 'p': #line 81 { #line 81 password = optarg; #line 83 break; #line 83 } #line 88 "adm.opt" case 'u': #line 88 { #line 88 username = optarg; #line 90 break; #line 90 } #line 95 "adm.opt" case 'f': #line 95 { #line 95 rcfile = optarg; #line 97 break; #line 97 } #line 99 "adm.opt" case 'h': #line 99 { #line 99 #line 99 print_help (); #line 99 exit (0); #line 99 #line 99 break; #line 99 } #line 99 "adm.opt" case OPTION_USAGE: #line 99 { #line 99 #line 99 print_usage (); #line 99 exit (0); #line 99 #line 99 break; #line 99 } #line 99 "adm.opt" case OPTION_VERSION: #line 99 { #line 99 #line 99 /* Give version */ #line 99 print_version(program_version, stdout); #line 99 exit (0); #line 99 #line 99 break; #line 99 } #line 104 "adm.opt" } #line 104 } #line 104 *index = optind; #line 104 } #line 104 ; } anubis-4.1.1+dfsg1/src/rcfile.h0000600000175000017500000001422011121752642013744 0ustar kbkb/* rcfile.h This file is part of GNU Anubis. Copyright (C) 2003, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ /* Types describing the basic syntax of an anubis rc file */ typedef struct rc_section RC_SECTION; typedef struct rc_stmt RC_STMT; typedef struct rc_rule RC_RULE; typedef struct rc_cond RC_COND; typedef struct rc_asgn RC_ASGN; typedef struct rc_node RC_NODE; typedef struct rc_bool RC_BOOL; typedef struct rc_expr RC_EXPR; typedef struct rc_inst RC_INST; typedef struct rc_loc RC_LOC; struct rc_loc { char *file; size_t line; }; struct rc_section { /* RC Section */ RC_LOC loc; /* Location in the config file */ RC_SECTION *next; /* Link to the next section */ char *name; /* Section name */ RC_STMT *stmt; /* List of parsed statements */ }; enum rc_stmt_type { /* Statement type: */ rc_stmt_asgn, /* Assignment */ rc_stmt_rule, /* Rule definition */ rc_stmt_cond, /* Conditional expression */ rc_stmt_inst /* Instruction */ }; struct rc_asgn { /* Assignment */ char *lhs; /* Left-hand side: A keyword */ ANUBIS_LIST *rhs; /* Right-hand side: A list of character strings */ int flags; /* Flags control various aspects of assignment functionality */ }; enum bool_op { /* Boolean operator */ bool_not, bool_and, bool_or }; struct rc_bool { /* Boolean expression */ enum bool_op op; /* Opcode */ RC_NODE *left; /* Left operand */ RC_NODE *right; /* Right operand (NULL for bool_not) */ }; enum rc_node_type { /* Executable node type */ rc_node_bool, /* Boolean instruction */ rc_node_expr /* Regular expression */ }; struct rc_expr { int part; /* HEADER, COMMAND or BODY */ char *sep; /* If not-null, concatenate all values of a same key, using this string as a separator before matching */ char *key; RC_REGEX *re; }; struct rc_node { /* Executable node */ RC_LOC loc; /* Location in the config file */ enum rc_node_type type; /* Node type */ union { RC_EXPR expr; RC_BOOL bool; } v; }; struct rc_cond { /* Conditional expression */ RC_NODE *node; /* Condition node */ RC_STMT *iftrue; /* Branch to follow when the condition is true */ RC_STMT *iffalse; /* Branch to follow when the condition is false */ }; struct rc_rule { /* Rule definition */ RC_NODE *node; /* Compiled regular expression */ RC_STMT *stmt; /* Body of the rule */ }; enum rc_inst_opcode { /* Operation code */ inst_add, inst_remove, inst_modify, inst_stop, inst_call }; struct rc_inst { /* Instruction definition */ enum rc_inst_opcode opcode; int part; /* Message part to operate upon */ RC_REGEX *key; /* Key */ char *key2; /* New key value (for modify) */ char *arg; /* Argument */ }; struct rc_stmt { /* General statement representation */ RC_LOC loc; /* Location in the config file */ RC_STMT *next; /* Link to the next statement */ enum rc_stmt_type type; /* Statement type */ union { /* Actual data */ RC_ASGN asgn; /* type == rc_stmt_asgn */ RC_RULE rule; /* type == rc_stmt_rule */ RC_COND cond; /* type == rc_stmt_cond */ RC_INST inst; /* type == rc_stmt_inst */ } v; }; /* Semantic handler tables */ #define RC_KW_HANDLED 0 #define RC_KW_UNKNOWN 1 #define RC_KW_ERROR 2 typedef int (*rc_kw_parser_t) (int method, int key, ANUBIS_LIST * arg, void *inv_data, void *func_data, MESSAGE * msg); /* Keyword flags */ #define KWF_HIDDEN 0x0001 /* Replace RHS with stars in debugging output */ struct rc_kwdef { char *name; /* Keyword name */ int tok; /* Assigned token number */ int flags; /* Flags controlling debugging output, etc. */ }; struct rc_secdef_child { struct rc_secdef_child *next; int method; struct rc_kwdef *kwdef; rc_kw_parser_t parser; void *data; }; /* Section priorities affect linking the user-defined sections to the parse tree left from parsing the system configuration file. */ enum section_prio { prio_user_only, /* Only user-defined section is taken into account */ prio_system_only, /* Only system-defined section */ prio_system, /* System-defined section first, user-defined next */ prio_user /* User-defined section first, system-defined next */ }; struct rc_secdef { char *name; /* Section name */ enum section_prio prio; /* Execution priority */ int allow_prog; /* Are rules allowed in this section? */ struct rc_secdef_child *child; }; typedef void (*RC_ERROR_PRINTER) (void *data, const char *filename, int line, const char *fmt, va_list ap); /* Global data */ extern int cfg_line_num; extern char *cfg_file; /* Function declarations */ void verbatim (void); void lex_clear_state (void); int error_sync_begin (); RC_SECTION *rc_section_lookup (RC_SECTION *, char *); void rc_section_link (RC_SECTION **, RC_SECTION *); void rc_secdef_add_child (struct rc_secdef *, struct rc_secdef_child *); RC_SECTION *rc_parse (char *); RC_SECTION *rc_parse_ep (char *name, RC_ERROR_PRINTER errprn, void *data); void rc_section_list_destroy (RC_SECTION **); int rc_run_cond (char *, int, char *); void rc_run_section_list (int, RC_SECTION *, struct rc_secdef *); void rc_run_section (int, RC_SECTION *, struct rc_secdef *, void *, MESSAGE *); void rc_call_section (int, RC_SECTION *, struct rc_secdef *, void *, MESSAGE *); void rc_set_debug_level (char *); int rc_open (char *); struct rc_secdef *anubis_add_section (char *); struct rc_secdef *anubis_find_section (char *); void parse_error (const char *fmt, ...); void tracefile (RC_LOC *, const char *fmt, ...); /* EOF */ anubis-4.1.1+dfsg1/src/gsasl_srv.c0000600000175000017500000001731511122500604014474 0ustar kbkb/* gsasl_srv.c This file is part of GNU Anubis. Copyright (C) 2003, 2004, 2007, 2008 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" #define ANUBIS_SERVICE "anubis" char *anubis_sasl_service; char *anubis_sasl_realm; char *anubis_sasl_hostname; #if defined(WITH_GSASL) static Gsasl *ctx; static ANUBIS_LIST *anubis_mech_list; /* Converts the auth method list from a textual representation to a ANUBIS_LIST of string values */ ANUBIS_LIST * auth_method_list (char *input) { char *p; ANUBIS_LIST *list = list_create (); for (p = strtok (input, " \t"); p; p = strtok (NULL, " \t")) list_append (list, strdup (p)); return list; } /* Converts the authentication method ANUBIS_LIST to its textual representation. */ static void auth_list_to_string (ANUBIS_LIST * list, char *buf, size_t bufsize) { ITERATOR *itr = iterator_create (list); char *p; if (!itr) return; for (p = iterator_first (itr); p; p = iterator_next (itr)) { size_t len = strlen (p); if (len + 1 >= bufsize) break; strcpy (buf, p); buf += len; *buf++ = ' '; bufsize -= len + 1; } iterator_destroy (&itr); *buf = 0; } /* Sets the list of allowed authentication mechanisms from its argument */ void anubis_set_mech_list (ANUBIS_LIST **out, ANUBIS_LIST *list) { ITERATOR *itr = iterator_create (list); char *p; if (!itr) return; *out = list_create (); for (p = iterator_first (itr); p; p = iterator_next (itr)) list_append (*out, make_uppercase (strdup (p))); iterator_destroy (&itr); } void anubis_set_server_mech_list (ANUBIS_LIST *list) { anubis_set_mech_list (&anubis_mech_list, list); } /* Capability list handling */ static void auth_gsasl_capa_init () { int rc; char *listmech; rc = gsasl_server_mechlist (ctx, &listmech); if (rc != GSASL_OK) { anubis_error (0, 0, "%s", gsasl_strerror (rc)); return; } if (anubis_mech_list) { size_t size = strlen (listmech); ANUBIS_LIST *mech = auth_method_list (listmech); /* Compute intersection of both lists. Make sure we compute (anubis_mech_list X mech), not (mech X anubis_mech_list), so that the resulting list preserves the ordering of anubis_mech_list */ ANUBIS_LIST *p = list_intersect (anubis_mech_list, mech, anubis_name_cmp); auth_list_to_string (p, listmech, size); list_destroy (&p, NULL, NULL); list_destroy (&mech, anubis_free_list_item, NULL); } if (listmech[0]) asmtp_capa_add_prefix ("AUTH", listmech); free (listmech); } /* GSASL Authentication */ #define SP(x) ((x)?(x):"NULL") int anubis_auth_gsasl (char *auth_type, char *arg, ANUBIS_USER * usr) { char *input = NULL; size_t input_size = 0; char *output; int rc; Gsasl_session *sess_ctx = NULL; if (options.termlevel == DEBUG) fprintf (stderr, "SASL mech=%s, inp=%s\n", SP(auth_type), SP(arg)); memset (usr, 0, sizeof (*usr)); rc = gsasl_server_start (ctx, auth_type, &sess_ctx); if (rc != GSASL_OK) { info (NORMAL, _("SASL gsasl_server_start: %s"), gsasl_strerror (rc)); asmtp_reply (504, "%s", gsasl_strerror (rc)); return 1; } gsasl_callback_hook_set (ctx, usr); output = NULL; /* RFC 2554 4.: Unlike a zero-length client answer to a 334 reply, a zero- length initial response is sent as a single equals sign */ if (arg) { if (strcmp (arg, "=") == 0) arg = ""; input = xstrdup (arg); input_size = strlen (input) + 1; } while ((rc = gsasl_step64 (sess_ctx, input, &output)) == GSASL_NEEDS_MORE) { asmtp_reply (334, "%s", output); recvline (SERVER, remote_client, &input, &input_size); remcrlf (input); if (strcmp (input, "*") == 0) { asmtp_reply (501, "AUTH aborted"); free (input); return 1; } } free (input); if (rc != GSASL_OK) { info (NORMAL, _("GSASL error: %s"), gsasl_strerror (rc)); free (output); asmtp_reply (501, "Authentication failed"); return 1; } /* Some SASL mechanisms output data when GSASL_OK is returned */ if (output[0]) asmtp_reply (334, "%s", output); free (output); if (usr->smtp_authid == NULL) { info (NORMAL, _("GSASL %s: cannot get username"), auth_type); asmtp_reply (535, "Authentication failed"); /* FIXME */ return 1; } info (NORMAL, "Authentication passed. User name %s, Local user %s. Welcome!", usr->smtp_authid, usr->username ? usr->username : "NONE"); if (sess_ctx) install_gsasl_stream (sess_ctx, &remote_client); asmtp_reply (235, "Authentication successful."); return 0; } static int retrieve_password (Gsasl *ctx, Gsasl_session *sctx) { ANUBIS_USER *usr = gsasl_callback_hook_get (ctx); const char *authid = gsasl_property_get (sctx, GSASL_AUTHID); if (usr->smtp_authid == NULL && anubis_get_db_record (authid, usr) != ANUBIS_DB_SUCCESS) return GSASL_AUTHENTICATION_ERROR; gsasl_property_set (sctx, GSASL_PASSWORD, usr->smtp_passwd); return GSASL_OK; } static int cb_validate (Gsasl *ctx, Gsasl_session *sctx) { ANUBIS_USER *usr = gsasl_callback_hook_get (ctx); const char *authid = gsasl_property_get (sctx, GSASL_AUTHID); const char *pass = gsasl_property_get (sctx, GSASL_PASSWORD); if (!authid) return GSASL_NO_AUTHID; if (!pass) return GSASL_NO_PASSWORD; if (usr->smtp_authid == NULL || strcmp (usr->smtp_authid, authentication_id) || strcmp (usr->smtp_passwd, pass)) return GSASL_AUTHENTICATION_ERROR; return GSASL_OK; } static int callback (Gsasl *ctx, Gsasl_session *sctx, Gsasl_property prop) { int rc = GSASL_OK; switch (prop) { case GSASL_PASSWORD: rc = retrieve_password (ctx, sctx); break; case GSASL_SERVICE: gsasl_property_set (sctx, prop, anubis_sasl_service ? anubis_sasl_service : ANUBIS_SERVICE); break; case GSASL_REALM: gsasl_property_set (sctx, prop, anubis_sasl_realm ? anubis_sasl_realm : get_localdomain ()); break; case GSASL_HOSTNAME: gsasl_property_set (sctx, prop, anubis_sasl_hostname ? anubis_sasl_hostname : get_localname ()); break; #if 0 FIXME: case GSASL_VALIDATE_EXTERNAL: case GSASL_VALIDATE_SECURID: #endif case GSASL_VALIDATE_SIMPLE: rc = cb_validate (ctx, sctx); break; case GSASL_VALIDATE_ANONYMOUS: /* FIXME: */ info (NORMAL, _("Anonymous access not supported")); rc = GSASL_AUTHENTICATION_ERROR; break; case GSASL_VALIDATE_GSSAPI: { ANUBIS_USER *usr = gsasl_callback_hook_get (ctx); /* FIXME: Free? */ usr->smtp_authid = strdup (gsasl_property_get(sctx, GSASL_AUTHZID)); break; } default: rc = GSASL_NO_CALLBACK; anubis_error (0, 0, _("Unsupported callback property %d"), prop); break; } return rc; } /* Initialization function */ void auth_gsasl_init () { int rc; rc = gsasl_init (&ctx); if (rc != GSASL_OK) { info (NORMAL, _("cannot initialize libgsasl: %s"), gsasl_strerror (rc)); } gsasl_callback_set (ctx, callback); auth_gsasl_capa_init (); } #endif anubis-4.1.1+dfsg1/src/log.c0000600000175000017500000000555111121752642013263 0ustar kbkb/* log.c This file is part of GNU Anubis. Copyright (C) 2001, 2002, 2003, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" #include "rcfile.h" void mprintf (const char *fmt, ...) { va_list arglist; if (options.termlevel == SILENT) return; va_start (arglist, fmt); vfprintf (stderr, fmt, arglist); va_end (arglist); fputc ('\n', stderr); } void info (int mode, const char *fmt, ...) { va_list arglist; char msg[LINEBUFFER + 1]; if (mode > options.termlevel) return; va_start (arglist, fmt); vsnprintf (msg, LINEBUFFER, fmt, arglist); va_end (arglist); #ifdef HAVE_SYSLOG if ((topt & T_DAEMON) && !(topt & T_FOREGROUND)) { if (!(topt & T_DISABLE_SYSLOG)) syslog (LOG_INFO | LOG_MAIL, "%s", msg); if (options.ulogfile && options.uloglevel >= ALL) filelog (options.ulogfile, msg); } else #endif /* HAVE_SYSLOG */ if (topt & T_FOREGROUND) mprintf ("> [%d] %s", (int) getpid (), msg); else mprintf ("> %s", msg); } void filelog (char *logfile, char *msg) { FILE *fplog; fplog = fopen (logfile, "a"); if (fplog == NULL) return; else { time_t tp; struct tm *timeptr; char timebuf[65]; memset (timebuf, 0, sizeof (timebuf)); time (&tp); timeptr = localtime (&tp); strftime (timebuf, sizeof (timebuf) - 1, "%a, %d %b %Y %H:%M:%S", timeptr); fprintf (fplog, "%s [%d] %s\n", timebuf, (int) getpid (), msg); fclose (fplog); } } void tracefile (RC_LOC * loc, const char *fmt, ...) { va_list ap; int n = 0; char msg[LINEBUFFER + 1]; if (!(topt & (T_TRACEFILE_SYS | T_TRACEFILE_USR))) return; if (loc) n = snprintf (msg, LINEBUFFER, "%s:%lu: ", loc->file, (unsigned long) loc->line); va_start (ap, fmt); vsnprintf (msg + n, LINEBUFFER - n, fmt, ap); va_end (ap); if ((topt & T_TRACEFILE_SYS) && options.termlevel != SILENT) { #ifdef HAVE_SYSLOG if ((topt & T_DAEMON) && !(topt & T_FOREGROUND)) syslog (LOG_INFO | LOG_MAIL, "%s", msg); else #endif /* HAVE_SYSLOG */ if (topt & T_FOREGROUND) mprintf ("> [%d] %s", (int) getpid (), msg); else mprintf ("> %s", msg); } if (topt & T_TRACEFILE_USR) filelog (options.tracefile, msg); } /* EOF */ anubis-4.1.1+dfsg1/src/md5.c0000600000175000017500000002562411121752642013172 0ustar kbkb/* * This code implements the MD5 message-digest algorithm. * The algorithm is due to Ron Rivest. This code was * written by Colin Plumb in 1993, no copyright is claimed. * This code is in the public domain; do with it what you wish. * * Equivalent code is available from RSA Data Security, Inc. * This code has been tested against that, and is equivalent, * except that you don't need to include two pages of legalese * with every copy. * * To compute the message digest of a chunk of bytes, declare an * MD5Context structure, pass it to MD5Init, call MD5Update as * needed on buffers full of bytes, and then call MD5Final, which * will fill a supplied 16-byte array with the digest. */ /* * Modified (2001-01-31) to work on Sparks */ #if defined(HAVE_CONFIG_H) # include #endif #include /* for memcpy() */ #include /* FIXME: should be configurable */ typedef unsigned long anubis_uint32_t; struct MD5Context { anubis_uint32_t buf[4]; anubis_uint32_t bits[2]; unsigned char in[64]; }; static void anubis_MD5Init(struct MD5Context *context); static void anubis_MD5Update(struct MD5Context *context, unsigned char const *buf, unsigned len); static void anubis_MD5Final(unsigned char digest[16], struct MD5Context *context); static void anubis_MD5Transform(anubis_uint32_t buf[4], anubis_uint32_t const in[16]); static void bytes_encode(unsigned char *output, anubis_uint32_t *input, unsigned int len) { unsigned int i, j; for (i = 0, j = 0; j < len; i++, j += 4) { output[j] = (unsigned char)(input[i] & 0xff); output[j+1] = (unsigned char)((input[i] >> 8) & 0xff); output[j+2] = (unsigned char)((input[i] >> 16) & 0xff); output[j+3] = (unsigned char)((input[i] >> 24) & 0xff); } } static void bytes_decode(anubis_uint32_t *output, unsigned char *input, unsigned int len) { unsigned int i, j; for (i = 0, j = 0; j < len; i++, j += 4) output[i] = ((anubis_uint32_t)input[j]) | (((anubis_uint32_t)input[j+1]) << 8) | (((anubis_uint32_t)input[j+2]) << 16) | (((anubis_uint32_t)input[j+3]) << 24); } /* * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious * initialization constants. */ static void anubis_MD5Init(struct MD5Context *ctx) { ctx->buf[0] = 0x67452301; ctx->buf[1] = 0xefcdab89; ctx->buf[2] = 0x98badcfe; ctx->buf[3] = 0x10325476; ctx->bits[0] = 0; ctx->bits[1] = 0; } /* * Update context to reflect the concatenation of another buffer full * of bytes. */ static void anubis_MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len) { anubis_uint32_t t; /* Update bitcount */ t = ctx->bits[0]; if ((ctx->bits[0] = t + ((anubis_uint32_t) len << 3)) < t) ctx->bits[1]++; /* Carry from low to high */ ctx->bits[1] += len >> 29; t = (t >> 3) & 0x3f; /* Bytes already in shsInfo->data */ /* Handle any leading odd-sized chunks */ if (t) { unsigned char *p = (unsigned char *) ctx->in + t; t = 64 - t; if (len < t) { memcpy(p, buf, len); return; } memcpy(p, buf, t); anubis_MD5Transform(ctx->buf, (anubis_uint32_t *) ctx->in); buf += t; len -= t; } /* Process data in 64-byte chunks */ while (len >= 64) { memcpy(ctx->in, buf, 64); anubis_MD5Transform(ctx->buf, (anubis_uint32_t const *) buf); buf += 64; len -= 64; } /* Handle any remaining bytes of data. */ memcpy(ctx->in, buf, len); } /* * Final wrapup - pad to 64-byte boundary with the bit pattern * 1 0* (64-bit count of bits processed, MSB-first) */ static void anubis_MD5Final(unsigned char digest[16], struct MD5Context *ctx) { unsigned count; unsigned char *p; /* Compute number of bytes mod 64 */ count = (ctx->bits[0] >> 3) & 0x3F; /* Set the first char of padding to 0x80. This is safe since there is always at least one byte free */ p = ctx->in + count; *p++ = 0x80; /* Bytes of padding needed to make 64 bytes */ count = 64 - 1 - count; /* Pad out to 56 mod 64 */ if (count < 8) { /* Two lots of padding: Pad the first block to 64 bytes */ memset(p, 0, count); anubis_MD5Transform(ctx->buf, (anubis_uint32_t *) ctx->in); /* Now fill the next block with 56 bytes */ memset(ctx->in, 0, 56); } else { /* Pad block to 56 bytes */ memset(p, 0, count - 8); } /* Append length in bits and transform */ bytes_encode((unsigned char*)((anubis_uint32_t *) ctx->in + 14), ctx->bits, 8); anubis_MD5Transform(ctx->buf, (anubis_uint32_t *) ctx->in); bytes_encode(digest,ctx->buf,16); memset((char *) ctx, 0, sizeof(ctx)); /* In case it's sensitive */ } /* The four core functions - F1 is optimized somewhat */ #define F1(x, y, z) (x & y | ~x & z) /*#define F1(x, y, z) (z ^ (x & (y ^ z))) */ #define F2(x, y, z) F1(z, x, y) #define F3(x, y, z) (x ^ y ^ z) #define F4(x, y, z) (y ^ (x | ~z)) /* This is the central step in the MD5 algorithm. */ #define MD5STEP(f, w, x, y, z, data, s) \ ( w += f(x, y, z) + data, w = w<>(32-s), w += x ); #if 0 dump(char *label,unsigned char *p, int len) { int i; return; printf("dump: %s\n", label); for (i=0; i> 4]; output[(i << 1) + 1] = xlet[input[i] & 0x0f]; } } anubis-4.1.1+dfsg1/src/anubisusr.h0000600000175000017500000000244611121752642014522 0ustar kbkb/* anubisusr.h Copyright (C) 2004, 2005, 2007, 2008 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include "headers.h" #include "extern.h" #include "rcfile.h" #include #include "getopt.h" #define obstack_chunk_alloc malloc #define obstack_chunk_free free #include #if defined(USE_GNUTLS) && defined(HAVE_GNUTLS_GNUTLS_H) # include # define HAVE_TLS #endif /* USE_GNUTLS and HAVE_GNUTLS_GNUTLS_H */ extern char *tls_cafile; extern int enable_tls; extern char *rcfile_name; extern char *netrc_name; extern int verbose; void add_mech (char *arg); void usr_get_options (int argc, char *argv[], int *index); anubis-4.1.1+dfsg1/src/headers.h0000600000175000017500000004236511121752642014126 0ustar kbkb/* headers.h This file is part of GNU Anubis. Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #ifdef HAVE_CONFIG_H #include #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) # define __attribute__(x) #endif #ifndef ANUBIS_PRINTFLIKE # define ANUBIS_PRINTFLIKE(fmt,narg) \ __attribute__ ((__format__ (__printf__, fmt, narg))) #endif #ifndef ANUBIS_NORETURN # define ANUBIS_NORETURN __attribute__((__noreturn__)) #endif # if defined(HAVE_GNUTLS_GNUTLS_H) # define HAVE_GNUTLS # endif /* HAVE_GNUTLS_GNUTLS_H */ # if defined(HAVE_LIBGPGME) && defined(HAVE_GPGME_H) && !defined(NOGPG) # define HAVE_GPG # endif /* HAVE_LIBGPGME and HAVE_GPGME_H and not NOGPG */ # if defined(HAVE_LIBPCRE) # if defined(HAVE_PCRE_H) || defined(HAVE_PCRE_PCRE_H) # define HAVE_PCRE # endif /* HAVE_PCRE_H or HAVE_PCRE_PCRE_H */ # endif /* HAVE_LIBPCRE */ # if defined(HAVE_REGEX_H) && defined(HAVE_REGCOMP) # define HAVE_REGEX # else # error POSIX Regular Expressions are required! # endif /* HAVE_REGEX_H and HAVE_REGCOMP */ # if defined(HAVE_LIBPAM) && defined(HAVE_LIBPAM_MISC) # if defined(HAVE_SECURITY_PAM_APPL_H) && defined(HAVE_SECURITY_PAM_MISC_H) # define HAVE_PAM # endif /* HAVE_SECURITY_PAM_APPL_H and HAVE_SECURITY_PAM_MISC_H */ # endif /* HAVE_LIBPAM and HAVE_LIBPAM_MISC */ # if defined(HAVE_LIBWRAP) && defined(HAVE_TCPD_H) # define USE_LIBWRAP # endif /* HAVE_LIBWRAP and HAVE_TCPD_H */ #endif /* HAVE_CONFIG_H */ #include #ifdef STDC_HEADERS # include # include #endif /* STDC_HEADERS */ #ifdef HAVE_STRING_H # include #endif /* HAVE_STRING_H */ #ifdef HAVE_UNISTD_H # include #endif /* HAVE_UNISTD_H */ #ifdef HAVE_MEMORY_H # include #endif /* HAVE_MEMORY_H */ #include #include #include #include #include #include #ifdef HAVE_SYS_TYPES_H # include #endif /* HAVE_SYS_TYPES_H */ #ifdef HAVE_SYS_STAT_H # include #endif /* HAVE_SYS_STAT_H */ #include #include #include #include #include #include #include #include #if defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT) # include #endif /* HAVE_GETRLIMIT and HAVE_SETRLIMIT */ #ifdef HAVE_ARPA_INET_H # include #endif /* HAVE_ARPA_INET_H */ #if defined(HAVE_SYSLOG) && defined(HAVE_SYSLOG_H) # include #endif /* HAVE_SYSLOG and HAVE_SYSLOG_H */ #if defined(USE_GNUTLS) && defined(HAVE_GNUTLS) # include # include # define HAVE_TLS #endif /* USE_GNUTLS and HAVE_GNUTLS */ #if defined(HAVE_TLS) || defined(HAVE_SSL) # define USE_SSL #else # undef USE_SSL #endif /* HAVE_TLS or HAVE_SSL */ #ifdef HAVE_PAM # include # include #endif /* HAVE_PAM */ #if defined(WITH_GSASL) # include #endif #include "gettext.h" #ifdef ENABLE_NLS # define _(String) gettext(String) # ifdef HAVE_LOCALE_H # include # endif /* HAVE_LOCALE_H */ #else # define _(String) (String) #endif /* ENABLE_NLS */ #define N_(String) String #ifdef WITH_GUILE # include #endif /* WITH_GUILE */ #include "xalloc.h" #include #include "list.h" #include #ifndef INADDR_NONE # define INADDR_NONE (unsigned long)0xffffffff #endif /* not INADDR_NONE */ #ifndef INADDR_ANY # define INADDR_ANY (unsigned long)0x00000000 #endif /* not INADDR_ANY */ #ifndef INADDR_LOOPBACK # define INADDR_LOOPBACK (unsigned long)0x7f000001 #endif /* not INADDR_LOOPBACK */ #ifndef MAXPATHLEN # ifdef PATH_MAX # define MAXPATHLEN PATH_MAX # else # define MAXPATHLEN 1024 # endif /* PATH_MAX */ #endif /* not MAXPATHLEN */ #define MAXCLIENTS 50 #define LINEBUFFER 512 #define DATABUFFER 4096 #define DEFAULT_GLOBAL_RCFILE "/etc/anubisrc" #define DEFAULT_LOCAL_RCFILE ".anubisrc" #define DEFAULT_SSL_PEM "anubis.pem" #define DEFAULT_SIGFILE ".signature" #define DEFAULT_PIDFILE "anubis.pid" #define BEGIN_TRIGGER "@@" #define LF "\n" #define CRLF "\r\n" /* REGEX action methods */ #define NIL -1 #define COMMAND 0 #define HEADER 1 #define BODY 2 /* Tunnel methods */ #define CLIENT 0 #define SERVER 1 /* configuration file access */ #define CF_CLIENT 0x0001 #define CF_SUPERVISOR 0x0002 #define CF_INIT 0x0004 #define CF_ALL CF_INIT|CF_SUPERVISOR|CF_CLIENT /* output modes */ #define SILENT 0 #define NORMAL 1 #define VERBOSE 2 #define DEBUG 3 /* logging level */ #define NONE 0 #define FAILS 1 #define ALL 2 typedef enum anubis_mode { anubis_transparent, anubis_authenticate, anubis_mda } ANUBIS_MODE; /* bit values for topt */ #define T_DISABLE_SYSLOG 0x00000001 /* Used to be T_ERROR */ #define T_SOCKS 0x00000002 #define T_SOCKS_V4 0x00000004 #define T_SOCKS_AUTH 0x00000008 #define T_FOREGROUND_INIT 0x00000010 #define T_FOREGROUND 0x00000020 #define T_DAEMON 0x00000040 #define T_STDINOUT 0x00000080 #define T_SSL 0x00000100 #define T_SSL_FINISHED 0x00000200 #define T_SSL_ONEWAY 0x00000400 #define T_SSL_CKCLIENT 0x00000800 #define T_NAMES 0x00001000 #define T_LOCAL_MTA 0x00002000 #define T_ALLOW_LOCAL_MTA 0x00004000 #define T_TRANSLATION_MAP 0x00008000 #define T_DROP_UNKNOWN_USER 0x00010000 #define T_USER_NOTPRIVIL 0x00020000 #define T_STARTTLS 0x00040000 #define T_ESMTP_AUTH 0x00080000 #define T_NORC 0x00100000 #define T_ALTRC 0x00200000 #define T_CHECK_CONFIG 0x00400000 #define T_RELAX_PERM_CHECK 0x00800000 #define T_ENTIRE_BODY 0x01000000 #define T_SMTP_ERROR_CODES 0x02000000 #define T_TRACEFILE_SYS 0x04000000 #define T_TRACEFILE_USR 0x08000000 #define T_XELO 0x10000000 /* Regexp modifiers */ /* Basic types */ #define R_EXACT 0x00000001 #define R_POSIX 0x00000002 #define R_PERLRE 0x00000004 /* Other modifiers */ #define R_BASIC 0x00000010 #define R_SCASE 0x00000020 #define R_TYPEMASK 0x0000000f #define re_set_type(m,t) ((m) = ((m) & ~R_TYPEMASK) | ((t) & R_TYPEMASK)) #define re_typeof(m) ((m) & R_TYPEMASK) #define re_set_flag(m,f) ((m) |= (f)) #define re_clear_flag(m,f) ((m) &= ~(f)) /* A special header used by Anubis to implement rules. */ #define X_ANUBIS_RULE_HEADER "\nRULE\n" #define safe_strcpy(s, ct) \ (s[sizeof(s) - 1] = '\0', strncpy((char *)s, (char *)ct, sizeof(s) - 1)) typedef struct rc_regex RC_REGEX; typedef struct assoc ASSOC; typedef struct message_struct MESSAGE; #define xfree(p) do\ if (p) { \ free(p); \ p = NULL; \ }\ while (0) #define xfree_pptr(p) do\ if (p) { \ free_pptr(p); \ p = NULL; \ }\ while (0) /* stream.c */ typedef struct net_stream *NET_STREAM; typedef int (*stream_read_t) (void *, char *, size_t, size_t *); typedef int (*stream_write_t) (void *, const char *, size_t, size_t *); typedef int (*stream_close_t) (void *); typedef int (*stream_destroy_t) (void *); typedef const char *(*stream_strerror_t) (void *, int); void stream_create (NET_STREAM * str); int stream_set_io (NET_STREAM str, void *data, stream_read_t read, stream_write_t write, stream_close_t close, stream_destroy_t destroy, stream_strerror_t strerror); int stream_set_read (struct net_stream *str, stream_read_t read); int stream_set_write (struct net_stream *str, stream_write_t write); int stream_set_strerror (struct net_stream *str, stream_strerror_t strerr); int stream_close (NET_STREAM str); const char *stream_strerror (NET_STREAM str, int errcode); int stream_read (NET_STREAM str, char *buf, size_t size, size_t *nbytes); int stream_write (NET_STREAM str, const char *buf, size_t size, size_t *nbytes); int stream_readline (NET_STREAM str, char *buf, size_t size, size_t *nbytes); int stream_getline (NET_STREAM sd, char **vptr, size_t *maxlen, size_t *nread); int stream_destroy (NET_STREAM *); /* main.c */ void anubis (char *); /* setenv.c */ #if !defined(HAVE_SETENV) && defined(HAVE_PUTENV) int setenv (const char *, const char *, int); #endif /* env.c */ void get_options (int, char *[]); void get_homedir (char *, char *, int); void anubis_getlogin (char **); void anubis_changeowner (const char *); int anubis_set_mode (char *modename); int check_superuser (void); int check_username (char *); int check_filemode (char *); int check_filename (char *, time_t *); void write_pid_file (void); /* errs.c */ #define EXIT_ABORT 256 void anubis_error (int, int, const char *, ...) ANUBIS_PRINTFLIKE(3,4); void anubis_warning (int error_code, const char *fmt, ...) ANUBIS_PRINTFLIKE(2,3); void socket_error (const char *); void hostname_error (const char *); /* log.c */ void mprintf (const char *, ...); void info (int, const char *, ...); void filelog (char *, char *); /* net.c */ NET_STREAM make_remote_connection (char *, unsigned int); int bind_and_listen (char *, unsigned int); void swrite (int, NET_STREAM, char *); void send_eol (int method, NET_STREAM sd); int recvline (int method, NET_STREAM sd, char **vptr, size_t * maxlen); void get_response_smtp (int, NET_STREAM, char **, size_t *); void close_socket (int sd); void net_create_stream (NET_STREAM * str, int fd); void net_close_stream (NET_STREAM * sd); /* daemon.c */ void daemonize (void); void loop (int); void stdinout (void); void service_unavailable (NET_STREAM *); void set_unprivileged_user (void); void create_stdio_stream (NET_STREAM *s); /* auth.c */ int auth_ident (struct sockaddr_in *, char **); /* map.c */ void parse_transmap (int *, char *, char *, char **); void translate_section_init (void); /* tunnel.c */ void smtp_session (void); void smtp_session_transparent (void); void set_ehlo_domain (char *domain); void transfer_header (ANUBIS_LIST *); void transfer_body (MESSAGE *); void collect_headers (MESSAGE * msg, char *init_line); void collect_body (MESSAGE * msg); /* proclist.c */ void proclist_register (pid_t pid); size_t proclist_cleanup (void (*fun) (size_t, pid_t, int)); void proclist_init (void); size_t proclist_count (void); /* message.c */ void message_add_body (MESSAGE *, char *, char *); void message_add_header (MESSAGE *, char *, char *); void message_remove_headers (MESSAGE *, RC_REGEX *); void message_modify_headers (MESSAGE *, RC_REGEX *, char *, char *); void message_modify_body (MESSAGE *, RC_REGEX *, char *); void message_external_proc (MESSAGE *, char **); void message_init (MESSAGE *); void message_free (MESSAGE *); void message_copy (MESSAGE *dst, MESSAGE *src); /* exec.c */ char **gen_execargs (const char *); NET_STREAM make_local_connection (char *, char **); char *external_program (int *, char *, char *, char *, int); char *exec_argv (int *, char *, char **, char *, char *, int); void cleanup_children (void); /* esmtp.c */ int esmtp_auth (NET_STREAM *, char *); void anubis_set_client_mech_list (ANUBIS_LIST *list); void anubis_set_encryption_mech_list (ANUBIS_LIST *list); /* misc.c */ int anubis_free_list_item (void *item, void *data); void assoc_free (ASSOC *); ASSOC *header_assoc (char *); int anubis_assoc_cmp (void *item, void *data); void destroy_assoc_list (ANUBIS_LIST **); void destroy_string_list (ANUBIS_LIST **); void parse_mtaport (char *, char **, unsigned int *); void parse_mtahost (char *, char **, unsigned int *); void remline (char *, char *); void remcrlf (char *); char *substitute (char *, char **); char *make_uppercase (char *); char *make_lowercase (char *); char *get_localname (void); char *get_localdomain (void); void assign_string (char **pstr, const char *s); void assign_string_n (char **pstr, const char *s, size_t length); /* mime.c */ void message_append_text_file (MESSAGE *, char *); void message_append_signature_file (MESSAGE *); /* regex.c */ int anubis_regex_match (RC_REGEX *, char *, int *, char ***); RC_REGEX *anubis_regex_compile (char *, int); void anubis_regex_free (RC_REGEX **); char *anubis_regex_source (RC_REGEX *); int anubis_regex_refcnt (RC_REGEX *); char *anubis_regex_replace (RC_REGEX *, char *, char *); void anubis_regex_print (RC_REGEX *); /* rc.c */ void rc_system_init (void); void auth_tunnel (void); void open_rcfile (int); void process_rcfile (int); void rcfile_process_section (int, char *, void *, MESSAGE *); void rcfile_call_section (int, char *, void *, MESSAGE *); char *user_rcfile_name (void); /* help.c */ void print_config_options (void); /* quit.c */ RETSIGTYPE sig_exit (int); RETSIGTYPE sig_timeout (int); void free_mem (void); void quit (int); /* socks.c */ #ifdef USE_SOCKS_PROXY int check_socks_proxy (int, char *, unsigned int); #endif /* USE_SOCKS_PROXY */ /* tls.c */ #ifdef USE_SSL void init_ssl_libs (void); NET_STREAM start_ssl_client (NET_STREAM str, const char *cafile, int verbose); NET_STREAM start_ssl_server (NET_STREAM str, const char *cafile, const char *cert, const char *key, int verbose); #endif /* USE_SSL */ /* gpg.c */ #ifdef HAVE_GPG void gpg_free (void); void gpg_section_init (void); #endif /* HAVE_GPG */ /* guile.c */ #ifdef WITH_GUILE void anubis_boot (void *, int, char **); void guile_debug (int); void guile_section_init (void); #endif /* WITH_GUILE */ /* url.c */ typedef struct anubis_url { char *method; char *host; char *path; char *user; char *passwd; int argc; ASSOC *argv; } ANUBIS_URL; void anubis_url_destroy (ANUBIS_URL ** url); int anubis_url_parse (ANUBIS_URL ** url, char *str); char *anubis_url_full_path (ANUBIS_URL * url); const char *anubis_url_get_arg (ANUBIS_URL * url, const char *argname); /* anubisdb.c */ typedef struct anubis_user { char *smtp_authid; /* ESMTP authentication ID */ char *smtp_passwd; /* A corresponding password */ char *username; /* System user name to switch to */ char *rcfile_name; /* Optional configuration file. When NULL, defaults to ~username/.anubisrc */ } ANUBIS_USER; enum anubis_db_mode { anubis_db_rdonly, anubis_db_rdwr }; #define ANUBIS_DB_SUCCESS 0 /* Operations successful */ #define ANUBIS_DB_FAIL 1 /* Operation failed */ #define ANUBIS_DB_NOT_FOUND 2 /* Record not found (for db_get_record only) */ typedef int (*anubis_db_open_t) (void **d, ANUBIS_URL * url, enum anubis_db_mode mode, char **errp); typedef int (*anubis_db_close_t) (void *d); typedef int (*anubis_db_io_t) (void *d, const char *key, ANUBIS_USER * rec, int *ecode); typedef const char *(*anubis_db_strerror_t) (void *d, int rc); typedef int (*anubis_db_delete_t) (void *d, const char *key, int *ecode); typedef int (*anubis_db_get_list_t) (void *d, ANUBIS_LIST * list, int *ecode); int anubis_db_register (const char *dbid, anubis_db_open_t _db_open, anubis_db_close_t _db_close, anubis_db_io_t _db_get, anubis_db_io_t _db_put, anubis_db_delete_t _db_delete, anubis_db_get_list_t _db_list, anubis_db_strerror_t _db_strerror); int anubis_db_open (char *arg, enum anubis_db_mode mode, void **dptr, char **errp); int anubis_db_close (void **dptr); int anubis_db_get_record (void *dptr, const char *key, ANUBIS_USER * rec); int anubis_db_put_record (void *dptr, const char *key, ANUBIS_USER * rec); int anubis_db_delete_record (void *dptr, const char *key); int anubis_db_get_list (void *dptr, ANUBIS_LIST ** list); const char *anubis_db_strerror (void *dptr); void anubis_db_free_record (ANUBIS_USER * rec); /* dbtext.c */ void dbtext_init (void); /* gdbm.c */ void gdbm_db_init (void); /* mysql.c */ void mysql_db_init (void); /* pgsql.c */ void pgsql_db_init (void); /* transmode.c */ int anubis_transparent_mode (struct sockaddr_in *addr); void session_prologue (); /* authmode.c */ int anubis_authenticate_mode (struct sockaddr_in *addr); void anubis_set_password_db (char *arg); void asmtp_reply (int code, char *fmt, ...); void asmtp_capa_add_prefix (char *prefix, char *name); int anubis_get_db_record (const char *username, ANUBIS_USER * usr); void authmode_section_init (void); /* gsasl.c */ void auth_gsasl_init (void); int anubis_auth_gsasl (char *auth_type, char *arg, ANUBIS_USER * usr); #ifdef WITH_GSASL void install_gsasl_stream (Gsasl_session *sess_ctx, NET_STREAM * stream); #endif /* gsasl_srv.c */ int anubis_name_cmp (void *item, void *data); ANUBIS_LIST *auth_method_list (char *input); void anubis_set_mech_list (ANUBIS_LIST **out, ANUBIS_LIST *list); void anubis_set_server_mech_list (ANUBIS_LIST *list); /* xdatabase.c */ int xdatabase (char *command); void xdatabase_capability (char **preply, size_t *preply_size); void xdatabase_enable (void); /* md5.c */ int anubis_md5_file (unsigned char *digest, int fd); void string_bin_to_hex (unsigned char *output, unsigned char *input, int inlen); int string_hex_to_bin (unsigned char *output, unsigned char *input, int inlen); #define MD5_DIGEST_BYTES 16 /* mda.c */ void mda (void); /* EOF */ anubis-4.1.1+dfsg1/src/rcfile-gram.h0000600000175000017500000000635511122020505014665 0ustar kbkb/* A Bison parser, made by GNU Bison 2.3. */ /* Skeleton interface for Bison's Yacc-like parsers in C Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum rc_yytokentype { EOL = 258, T_BEGIN = 259, T_END = 260, AND = 261, OR = 262, NE = 263, IF = 264, FI = 265, ELSE = 266, RULE = 267, DONE = 268, CALL = 269, STOP = 270, ADD = 271, REMOVE = 272, MODIFY = 273, IDENT = 274, STRING = 275, REGEX = 276, D_BEGIN = 277, T_MSGPART = 278, NOT = 279 }; #endif /* Tokens. */ #define EOL 258 #define T_BEGIN 259 #define T_END 260 #define AND 261 #define OR 262 #define NE 263 #define IF 264 #define FI 265 #define ELSE 266 #define RULE 267 #define DONE 268 #define CALL 269 #define STOP 270 #define ADD 271 #define REMOVE 272 #define MODIFY 273 #define IDENT 274 #define STRING 275 #define REGEX 276 #define D_BEGIN 277 #define T_MSGPART 278 #define NOT 279 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE #line 62 "rcfile.y" { char *string; RC_SECTION *section; RC_STMT *stmt; struct { RC_STMT *head; RC_STMT *tail; } stmtlist; RC_COND cond; RC_RULE rule; RC_NODE *node; RC_REGEX *regex; int num; struct { int part; RC_REGEX *key; char *string; char *sep; } msgpart; RC_LOC loc; struct { size_t line; char *name; } begin_sec; ANUBIS_LIST *list; int eq; } /* Line 1489 of yacc.c. */ #line 125 "y.tab.h" YYSTYPE; # define rc_yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif extern YYSTYPE rc_yylval; anubis-4.1.1+dfsg1/src/quit.c0000600000175000017500000000272711121752642013466 0ustar kbkb/* quit.c This file is part of GNU Anubis. Copyright (C) 2001, 2002, 2003, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" RETSIGTYPE sig_exit (int code) { info (NORMAL, _("Signal Caught. Exiting Cleanly...")); quit (code); } RETSIGTYPE sig_timeout (int code) { info (NORMAL, _("Timeout! Exiting...")); quit (code); } void free_mem (void) { #ifdef USE_SSL xfree (secure.cafile); xfree (secure.cert); xfree (secure.key); #endif /* HAVE_TLS or HAVE_SSL */ #ifdef HAVE_GPG gpg_free (); #endif /* HAVE_GPG */ xfree (options.ulogfile); xfree (options.tracefile); xfree (session.execpath); argcv_free (-1, session.execargs); } void quit (int code) { #ifdef HAVE_SYSLOG if ((topt & T_DAEMON) && !(topt & T_FOREGROUND)) closelog (); #endif /* HAVE_SYSLOG */ free_mem (); exit (code); } /* EOF */ anubis-4.1.1+dfsg1/src/sql.c0000600000175000017500000001331511121752642013276 0ustar kbkb/* sql.c This file is part of GNU Anubis. Copyright (C) 2003, 2004, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" #ifdef WITH_SQL #include "sql.h" /* SQL URL: PROTO://user:password@host/dbname; table=STRING;authid=STRING;passwd=STRING[;account=STRING] [;rcfile=STRING][;port=NUMBER][;socket=STRING][;bufsize=NUMBER] Where PROTO is one of mysql MySQL database pgsql PostgreSQL database postgres Synonim for the above. */ static char *open_err_tab[] = { N_("Required parameters are missing"), /* ERR_MISS */ N_("Invalid buffer size"), /* ERR_BADBUFSIZE */ N_("Invalid port number"), /* ERR_BADPORT */ N_("Cannot connect to the database"), /* ERR_CANTCONNECT */ }; char * sql_open_error_text (int s) { return gettext (open_err_tab[s]); } static char * sql_escape_string (const char *ustr) { char *str, *q; const unsigned char *p; size_t len = strlen (ustr); for (p = (const unsigned char *) ustr; *p; p++) { if (strchr ("'\"", *p)) len++; } str = malloc (len + 1); if (!str) return NULL; for (p = (const unsigned char *) ustr, q = str; *p; p++) { if (strchr ("'\"", *p)) *q++ = '\\'; *q++ = *p; } *q = 0; return str; } static int sql_db_get (void *d, const char *key, ANUBIS_USER * rec, int *errp) { const char *p; struct anubis_sql_db *amp = d; char *escaped_key = sql_escape_string (key); if (!escaped_key) { *errp = ENOMEM; return ANUBIS_DB_FAIL; } snprintf (amp->buf, amp->bufsize, "SELECT %s,%s,%s,%s FROM %s WHERE %s='%s'", amp->authid, amp->passwd, amp->user, amp->rcfile, amp->table, amp->authid, escaped_key); free (escaped_key); *errp = amp->query (amp); if (*errp) return ANUBIS_DB_FAIL; if (amp->num_tuples (amp) == 0 || amp->num_columns (amp) < 2) { amp->release_result (amp); return ANUBIS_DB_NOT_FOUND; } if (amp->get_tuple (amp, 0)) { amp->release_result (amp); return ANUBIS_DB_NOT_FOUND; } rec->smtp_authid = strdup (amp->get_column (amp, 0)); rec->smtp_passwd = strdup (amp->get_column (amp, 1)); if ((p = amp->get_column (amp, 2))) rec->username = strdup (p); if ((p = amp->get_column (amp, 3))) rec->rcfile_name = strdup (p); amp->release_result (amp); return ANUBIS_DB_SUCCESS; } static int sql_db_list (void *d, ANUBIS_LIST * list, int *ecode) { struct anubis_sql_db *amp = d; size_t nrows, i; snprintf (amp->buf, amp->bufsize, "SELECT %s,%s,%s,%s FROM %s", amp->authid, amp->passwd, amp->user, amp->rcfile, amp->table); *ecode = amp->query (amp); if (*ecode) return ANUBIS_DB_FAIL; nrows = amp->num_tuples (amp); if (nrows == 0 || amp->num_columns (amp) < 2) { amp->release_result (amp); return ANUBIS_DB_NOT_FOUND; } for (i = 0; i < nrows; i++) { ANUBIS_USER *rec; const char *p; if (amp->get_tuple (amp, i)) break; rec = xzalloc (sizeof (*rec)); rec->smtp_authid = strdup (amp->get_column (amp, 0)); rec->smtp_passwd = strdup (amp->get_column (amp, 1)); if ((p = amp->get_column (amp, 2))) rec->username = strdup (p); if ((p = amp->get_column (amp, 3))) rec->rcfile_name = strdup (p); list_append (list, rec); } return ANUBIS_DB_SUCCESS; } static int sql_db_delete (void *d, const char *keystr, int *ecode) { struct anubis_sql_db *amp = d; char *escaped_key = sql_escape_string (keystr); if (!escaped_key) { *ecode = ENOMEM; return ANUBIS_DB_FAIL; } snprintf (amp->buf, amp->bufsize, "DELETE FROM %s WHERE %s='%s'", amp->table, amp->authid, escaped_key); free (escaped_key); *ecode = amp->query (amp); if (*ecode) return ANUBIS_DB_FAIL; return ANUBIS_DB_SUCCESS; } #define MSTR(s) ((s) ? (s) : "NULL") static int sql_db_put (void *d, const char *key, ANUBIS_USER * rec, int *errp) { struct anubis_sql_db *amp = d; char *smtp_authid, *smtp_passwd, *username, *rcfile_name; if (sql_db_delete (d, rec->smtp_authid, errp)) return 1; smtp_authid = sql_escape_string (rec->smtp_authid); smtp_passwd = sql_escape_string (rec->smtp_passwd); username = sql_escape_string (MSTR (rec->username)); rcfile_name = sql_escape_string (MSTR (rec->rcfile_name)); if (!smtp_authid || !smtp_passwd || !username || !rcfile_name) *errp = ENOMEM; else { snprintf (amp->buf, amp->bufsize, "INSERT INTO %s (%s,%s,%s,%s) VALUES ('%s','%s','%s','%s')", amp->table, amp->authid, amp->passwd, amp->user, amp->rcfile, smtp_authid, smtp_passwd, username, rcfile_name); *errp = amp->query (amp); } free (smtp_authid); free (smtp_passwd); free (username); free (rcfile_name); if (*errp) return ANUBIS_DB_FAIL; return ANUBIS_DB_SUCCESS; } void sql_db_init (const char *proto, anubis_db_open_t open, anubis_db_close_t close, anubis_db_strerror_t str_error) { anubis_db_register (proto, open, close, sql_db_get, sql_db_put, sql_db_delete, sql_db_list, str_error); } #endif /* WITH_SQL */ /* EOF */ anubis-4.1.1+dfsg1/src/tunnel.c0000600000175000017500000004450611122763005014006 0ustar kbkb/* tunnel.c This file is part of GNU Anubis. Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" #define obstack_chunk_alloc malloc #define obstack_chunk_free free #include static int transfer_command (MESSAGE *, char *); static int process_command (MESSAGE *, char *); static void process_data (MESSAGE *); static int handle_ehlo (char *, char **); static char *smtp_ehlo_domain_name = NULL; static char * get_ehlo_domain (void) { return smtp_ehlo_domain_name ? smtp_ehlo_domain_name : get_localname (); } /* Collect and send headers */ /* Headers spanning multiple lines are wrapped into a single line, preserving the newlines. When sending to the server they are split again at newlines and sent in multiline lines. */ static void get_boundary (MESSAGE * msg, char *line) { char boundary_buf[LINEBUFFER + 1], *p; if (strncmp (line, "Content-Type:", 13)) return; /* Downcase the string to help search for boundary */ safe_strcpy (boundary_buf, line); make_lowercase (boundary_buf); p = strstr (boundary_buf, "boundary="); if (!p) return; /* Now use the unaltered string. P still points past the `boundary=' */ safe_strcpy (boundary_buf, line); p += 9; if (*p == '"') { char *q = strchr (++p, '"'); if (*q) *q = 0; } msg->boundary = xmalloc (strlen (p) + 3); sprintf (msg->boundary, "--%s", p); } static void add_header (ANUBIS_LIST * list, char *line) { ASSOC *asc = header_assoc (line); list_append (list, asc); if (asc->key && strcasecmp (asc->key, "subject") == 0) { char *p = strstr (asc->value, BEGIN_TRIGGER); if (p) { asc = xmalloc (sizeof (*asc)); *p = 0; p += sizeof (BEGIN_TRIGGER) - 1; asc->key = strdup (X_ANUBIS_RULE_HEADER); asc->value = strdup (p); list_append (list, asc); } } } void collect_headers (MESSAGE * msg, char *line) { char *buf = NULL; size_t size = 0; while (recvline (SERVER, remote_client, &buf, &size)) { remcrlf (buf); if (isspace ((u_char) buf[0])) { if (!line) /* Something wrong, assume we've got no headers */ break; line = xrealloc (line, strlen (line) + strlen (buf) + 2); strcat (line, "\n"); strcat (line, buf); } else { if (line) { if (!(topt & T_ENTIRE_BODY) && msg->boundary == NULL) get_boundary (msg, line); add_header (msg->header, line); xfree (line); } if (buf[0] == 0) break; line = strdup (buf); } } } static void write_header_line (NET_STREAM sd_server, char *line) { char *p; p = strtok (line, "\r\n"); do { swrite (CLIENT, sd_server, p); send_eol (CLIENT, sd_server); } while ((p = strtok (NULL, "\r\n"))); } static void write_assoc (NET_STREAM sd_server, ASSOC * entry) { if (entry->key) { if (strcmp (entry->key, X_ANUBIS_RULE_HEADER) == 0) return; swrite (CLIENT, sd_server, entry->key); swrite (CLIENT, sd_server, ": "); } write_header_line (sd_server, entry->value); } void send_header (NET_STREAM sd_server, ANUBIS_LIST * list) { ASSOC *p; ITERATOR *itr = iterator_create (list); for (p = iterator_first (itr); p; p = iterator_next (itr)) write_assoc (sd_server, p); iterator_destroy (&itr); } void send_string_list (NET_STREAM sd_server, ANUBIS_LIST * list) { char *p; ITERATOR *itr = iterator_create (list); for (p = iterator_first (itr); p; p = iterator_next (itr)) write_header_line (sd_server, p); iterator_destroy (&itr); } /* Collect and sent the message body */ /* When read each CRLF is replaced by a single newline. When sent, the reverse procedure is performed. The handling of MIME encoded messages depends on the setting of T_ENTIRE_BODY bit in topt. If the bit is set, the entire body is read into memory. Otherwise, only the first part is read and processed, all the rest is passed to the server verbatim. */ #define ST_INIT 0 #define ST_HDR 1 #define ST_BODY 2 #define ST_DONE 3 void collect_body (MESSAGE * msg) { int nread; char *buf = NULL; size_t size = 0; struct obstack stk; int state = 0; int len; if (msg->boundary) { len = strlen (msg->boundary); msg->mime_hdr = list_create (); } obstack_init (&stk); while (state != ST_DONE && (nread = recvline (SERVER, remote_client, &buf, &size))) { remcrlf (buf); if (strcmp (buf, ".") == 0) /* EOM */ break; if (msg->boundary) { switch (state) { case ST_INIT: if (strcmp (buf, msg->boundary) == 0) state = ST_HDR; break; case ST_HDR: if (buf[0] == 0) state = ST_BODY; else list_append (msg->mime_hdr, strdup (buf)); break; case ST_BODY: if (strncmp (buf, msg->boundary, len) == 0) state = ST_DONE; else { obstack_grow (&stk, buf, strlen (buf)); obstack_1grow (&stk, '\n'); } } } else { obstack_grow (&stk, buf, strlen (buf)); obstack_1grow (&stk, '\n'); } } free (buf); obstack_1grow (&stk, 0); msg->body = strdup (obstack_finish (&stk)); obstack_free (&stk, NULL); } void send_body (MESSAGE * msg, NET_STREAM sd_server) { char *p; if (msg->boundary) { swrite (CLIENT, sd_server, msg->boundary); send_eol (CLIENT, sd_server); send_string_list (sd_server, msg->mime_hdr); send_eol (CLIENT, sd_server); } for (p = msg->body; *p;) { char *q = strchr (p, '\n'); if (q) *q++ = 0; else q = p + strlen (p); swrite (CLIENT, sd_server, p); send_eol (CLIENT, sd_server); p = q; } if (msg->boundary) { swrite (CLIENT, sd_server, msg->boundary); send_eol (CLIENT, sd_server); } } /****************** The Tunnel core *******************/ void smtp_session_transparent (void) { char *command = NULL; size_t size = 0; MESSAGE msg; /* First of all, transfer a welcome message. */ info (VERBOSE, _("Transferring messages...")); get_response_smtp (CLIENT, remote_server, &command, &size); if (command && strncmp (command, "220 ", 4) == 0 && strstr (command, version) == 0) { char *ptr = 0; char *banner_ptr = 0; char host[65]; char banner_backup[LINEBUFFER + 1]; safe_strcpy (banner_backup, command); if ((banner_ptr = strchr (banner_backup, ' '))) { banner_ptr++; safe_strcpy (host, banner_ptr); if ((ptr = strchr (host, ' '))) *ptr = '\0'; do { banner_ptr++; } while (*banner_ptr != ' '); banner_ptr++; command = xmalloc (4 + strlen (host) + 2 + strlen (version) + 2 + strlen (banner_ptr) + 1); sprintf (command, "220 %s (%s) %s", host, version, banner_ptr); } } swrite (SERVER, remote_client, command); /* Then process the commands... */ message_init (&msg); while (recvline (SERVER, remote_client, &command, &size)) { remcrlf (command); if (process_command (&msg, command)) continue; if (transfer_command (&msg, command) == 0) break; } free (command); message_free (&msg); } void smtp_begin (void) { char *command = NULL; size_t size; char *reply; /* first get an mta banner */ get_response_smtp (CLIENT, remote_server, &command, &size); /* now send the ehlo command */ swrite (CLIENT, remote_server, "EHLO "); swrite (CLIENT, remote_server, get_ehlo_domain ()); send_eol (CLIENT, remote_server); handle_ehlo (command, &reply); free (command); free (reply); } void smtp_session (void) { char *command = NULL; size_t size = 0; MESSAGE msg; info (VERBOSE, _("Starting SMTP session...")); smtp_begin (); info (VERBOSE, _("Transferring messages...")); message_init (&msg); while (recvline (SERVER, remote_client, &command, &size)) { remcrlf (command); if (process_command (&msg, command)) continue; if (transfer_command (&msg, command) == 0) break; } free (command); message_free (&msg); } /******************** THE MAIL COMMANDS *********************/ static void save_command (MESSAGE * msg, char *line) { int i; ASSOC *asc = xmalloc (sizeof (*asc)); for (i = 0; line[i] && !isspace ((u_char) line[i]); i++) ; if (i == 4) { char *expect = NULL; if (memcmp (line, "mail", 4) == 0) expect = " from:"; else if (memcmp (line, "rcpt", 4) == 0) expect = " to:"; if (expect) { int n = strlen (expect); if (strncmp (&line[i], expect, n) == 0) i += n; } } asc->key = xmalloc (i + 1); memcpy (asc->key, line, i); asc->key[i] = 0; for (; line[i] && isspace ((u_char) line[i]); i++) ; if (line[i]) asc->value = strdup (&line[i]); else asc->value = NULL; list_append (msg->commands, asc); } static int handle_starttls (char *command) { #ifdef USE_SSL NET_STREAM stream; if (topt & T_SSL_FINISHED) { if (topt & T_SSL_ONEWAY) swrite (SERVER, remote_client, "503 5.0.0 TLS (ONEWAY) already started" CRLF); else swrite (SERVER, remote_client, "503 5.0.0 TLS already started" CRLF); return 1; } else if (!(topt & T_STARTTLS) || !(topt & T_SSL)) { swrite (SERVER, remote_client, "503 5.5.0 TLS not available" CRLF); return 1; } /* Make the TLS/SSL connection with ESMTP server. */ info (NORMAL, _("Using the TLS/SSL encryption...")); if (!(topt & T_LOCAL_MTA)) { NET_STREAM stream; char *reply = NULL; size_t size = 0; swrite (CLIENT, remote_server, "STARTTLS" CRLF); get_response_smtp (CLIENT, remote_server, &reply, &size); if (!isdigit ((unsigned char) reply[0]) || (unsigned char) reply[0] > '3') { remcrlf (reply); info (VERBOSE, _("WARNING: %s"), reply); free (reply); anubis_error (0, 0, _("STARTTLS command failed.")); return 0; } free (reply); stream = start_ssl_client (remote_server, secure.cafile, options.termlevel > NORMAL); if (!stream) return 0; remote_server = stream; } /* Make the TLS/SSL connection with SMTP client (client connected with the Tunnel). */ if (!secure.cert) secure.cert = xstrdup (DEFAULT_SSL_PEM); if (!check_filename (secure.cert, NULL)) { swrite (SERVER, remote_client, "454 TLS not available due to temporary reason" CRLF); return 0; } if (!secure.key) secure.key = xstrdup (secure.cert); else if (!check_filename (secure.key, NULL)) { swrite (SERVER, remote_client, "454 TLS not available due to temporary reason" CRLF); return 0; } /* Check file permissions. Ignore if a client hasn't specified a private key or a certificate. */ if (topt & T_SSL_CKCLIENT) check_filemode (secure.key); swrite (SERVER, remote_client, "220 2.0.0 Ready to start TLS" CRLF); stream = start_ssl_server (remote_client, secure.cafile, secure.cert, secure.key, options.termlevel > NORMAL); if (!stream) { swrite (SERVER, remote_client, "454 4.3.3 TLS not available" CRLF); return 0; } remote_client = stream; topt |= T_SSL_FINISHED; #else swrite (SERVER, remote_client, "503 5.5.0 TLS not available" CRLF); #endif /* USE_SSL */ return 1; } static int process_command (MESSAGE * msg, char *command) { char buf[LINEBUFFER + 1]; safe_strcpy (buf, command); /* make a back-up */ make_lowercase (buf); save_command (msg, buf); if (!strncmp (buf, "starttls", 8)) return handle_starttls (buf); else if (!strncmp (buf, "xdatabase", 9)) return xdatabase (buf + 9); return 0; } void set_ehlo_domain (char *domain) { xfree (smtp_ehlo_domain_name); smtp_ehlo_domain_name = strdup (domain); } static void save_ehlo_domain (char *command) { char *p, *endp; for (p = command + 5 /* length of EHLO + initial space */; *p && isspace (*p); p++) ; for (endp = p + strlen (p) - 1; endp >= p && isspace(*endp); endp--) ; endp[1] = 0; set_ehlo_domain (p); } static int handle_ehlo (char *command, char **reply) { size_t reply_size = 0; *reply = NULL; if (!smtp_ehlo_domain_name) save_ehlo_domain (command); get_response_smtp (CLIENT, remote_server, reply, &reply_size); if (strstr (*reply, "STARTTLS")) topt |= T_STARTTLS; /* Yes, we can use the TLS/SSL encryption. */ xdatabase_capability (reply, &reply_size); #ifdef USE_SSL if ((topt & T_SSL_ONEWAY) && (topt & T_STARTTLS) && !(topt & T_SSL_FINISHED)) { NET_STREAM stream; char *newreply = NULL; size_t nsize = 0; /* The 'ONEWAY' method is used when your MUA doesn't support the TLS/SSL, but your MTA does. Make the TLS/SSL connection with ESMTP server. FIXME: The diagnostic message below is not correct in authmode. */ info (NORMAL, _("Using TLS/SSL encryption between Anubis and remote MTA only...")); swrite (CLIENT, remote_server, "STARTTLS" CRLF); get_response_smtp (CLIENT, remote_server, &newreply, &nsize); if (!isdigit ((unsigned char) newreply[0]) || (unsigned char) newreply[0] > '3') { remcrlf (newreply); info (VERBOSE, _("WARNING: %s"), newreply); free (newreply); anubis_error (0, 0, _("STARTTLS (ONEWAY) command failed.")); topt &= ~T_SSL_ONEWAY; swrite (SERVER, remote_client, *reply); return 1; } stream = start_ssl_client (remote_server, secure.cafile, options.termlevel > NORMAL); if (!stream) { topt &= ~T_SSL_ONEWAY; swrite (SERVER, remote_client, *reply); return 1; } remote_server = stream; topt |= T_SSL_FINISHED; /* Send the EHLO command (after the TLS/SSL negotiation). */ swrite (CLIENT, remote_server, "EHLO "); swrite (CLIENT, remote_server, get_ehlo_domain ()); send_eol (CLIENT, remote_server); get_response_smtp (CLIENT, remote_server, reply, &reply_size); } #endif /* USE_SSL */ /* Remove the STARTTLS command from the EHLO list if no SSL is specified, the SSL is not available, or we're using the 'ONEWAY' TLS/SSL encryption. */ if ((topt & T_STARTTLS) && (!(topt & T_SSL) || (topt & T_SSL_ONEWAY))) { char *starttls1 = "250-STARTTLS"; char *starttls2 = "STARTTLS"; if (strstr (*reply, starttls1)) remline (*reply, starttls1); else if (strstr (*reply, starttls2)) remline (*reply, starttls2); } /* Check whether we can use the ESMTP AUTH. */ if (topt & T_ESMTP_AUTH) { char *p = strstr (*reply, "AUTH "); if (p && (p[-1] == '-' || p[-1] == ' ') && memcmp (p-4, "250", 3) == 0) { char *q = strchr (p, '\r'); if (q) *q++ = 0; esmtp_auth (&remote_server, p + 5); if (q) memmove (p - 4, q + 1, strlen (q + 1) + 1); } } return 0; } #define CMD_MAIL_FROM "mail from:" #define CMD_RCPT_TO "rcpt to:" static void strip_inter_ws(char *buf, size_t len, size_t pfxlen) { if (isspace (buf[pfxlen])) { size_t i; for (i = pfxlen; i < len && isspace (buf[i]); i++) ; memmove (buf + pfxlen, buf + i, len - i + 1); } } static int is_prefix(char *buf, char *pfx) { while (*pfx) { int b = *buf++; int c = *pfx++; if (!b || toupper (c) != toupper (b)) return 0; } return 1; } static int transfer_command (MESSAGE * msg, char *command) { char *reply = NULL; size_t reply_size = 0; char *buf = NULL; int rc = 1; /* OK */ size_t len; assign_string (&buf, command); make_lowercase (buf); len = strlen (command); if (len > sizeof (CMD_MAIL_FROM) && is_prefix (command, CMD_MAIL_FROM)) strip_inter_ws (command, len, sizeof (CMD_MAIL_FROM) - 1); else if (len > sizeof (CMD_RCPT_TO) && is_prefix (command, CMD_RCPT_TO)) strip_inter_ws (command, len, sizeof (CMD_RCPT_TO) - 1); swrite (CLIENT, remote_server, command); swrite (CLIENT, remote_server, CRLF); if (!strncmp (buf, "ehlo", 4)) { if (handle_ehlo (command, &reply)) { free (reply); return 0; } } else get_response_smtp (CLIENT, remote_server, &reply, &reply_size); swrite (SERVER, remote_client, reply); if (isdigit ((unsigned char) reply[0]) && (unsigned char) reply[0] < '4') { if (strncmp (buf, "quit", 4) == 0) rc = 0; /* The QUIT command */ else if (strncmp (buf, "rset", 4) == 0) { message_free (msg); message_init (msg); } else if (strncmp (buf, "data", 4) == 0) { process_data (msg); } } free (buf); free (reply); return rc; } void process_data (MESSAGE * msg) { char *buf = NULL; size_t size = 0; alarm (1800); collect_headers (msg, NULL); collect_body (msg); rcfile_call_section (CF_CLIENT, outgoing_mail_rule, NULL, msg); transfer_header (msg->header); transfer_body (msg); if (recvline (CLIENT, remote_server, &buf, &size)) { remcrlf (buf); swrite (SERVER, remote_client, buf); send_eol (SERVER, remote_client); } free (buf); message_free (msg); message_init (msg); alarm (0); } void transfer_header (ANUBIS_LIST * header_buf) { send_header (remote_server, header_buf); send_eol (CLIENT, remote_server); } /*************** MESSAGE BODY ****************/ static void raw_transfer (void) { size_t size = 0; char *buf = NULL; while (recvline (SERVER, remote_client, &buf, &size) > 0) { remcrlf (buf); if (strcmp (buf, ".") == 0) /* EOM */ break; swrite (CLIENT, remote_server, buf); send_eol (CLIENT, remote_server); } free (buf); } void transfer_body (MESSAGE * msg) { if (msg->boundary) { send_body (msg, remote_server); /* Transfer everything else */ raw_transfer (); } else send_body (msg, remote_server); if (anubis_mode != anubis_mda) swrite (CLIENT, remote_server, "." CRLF); } /* EOF */ anubis-4.1.1+dfsg1/src/rcfile-lex.c0000600000175000017500000017761411122020506014532 0ustar kbkb #line 3 "lex.rc_yy.c" #define YY_INT_ALIGNED short int /* A lexical scanner generated by flex */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 #define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif /* First, we deal with platform-specific or compiler-specific issues. */ /* begin standard C headers. */ #include #include #include #include /* end standard C headers. */ /* flex integer type definitions */ #ifndef FLEXINT_H #define FLEXINT_H /* C99 systems have . Non-C99 systems may or may not. */ #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, * if you want the limit (max/min) macros for int types. */ #ifndef __STDC_LIMIT_MACROS #define __STDC_LIMIT_MACROS 1 #endif #include typedef int8_t flex_int8_t; typedef uint8_t flex_uint8_t; typedef int16_t flex_int16_t; typedef uint16_t flex_uint16_t; typedef int32_t flex_int32_t; typedef uint32_t flex_uint32_t; #else typedef signed char flex_int8_t; typedef short int flex_int16_t; typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; #endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN #define INT8_MIN (-128) #endif #ifndef INT16_MIN #define INT16_MIN (-32767-1) #endif #ifndef INT32_MIN #define INT32_MIN (-2147483647-1) #endif #ifndef INT8_MAX #define INT8_MAX (127) #endif #ifndef INT16_MAX #define INT16_MAX (32767) #endif #ifndef INT32_MAX #define INT32_MAX (2147483647) #endif #ifndef UINT8_MAX #define UINT8_MAX (255U) #endif #ifndef UINT16_MAX #define UINT16_MAX (65535U) #endif #ifndef UINT32_MAX #define UINT32_MAX (4294967295U) #endif #endif /* ! FLEXINT_H */ #ifdef __cplusplus /* The "const" storage-class-modifier is valid. */ #define YY_USE_CONST #else /* ! __cplusplus */ /* C99 requires __STDC__ to be defined as 1. */ #if defined (__STDC__) #define YY_USE_CONST #endif /* defined (__STDC__) */ #endif /* ! __cplusplus */ #ifdef YY_USE_CONST #define rc_yyconst const #else #define rc_yyconst #endif /* Returned upon end-of-file. */ #define YY_NULL 0 /* Promotes a possibly negative, possibly signed char to an unsigned * integer for use as an array index. If the signed char is negative, * we want to instead treat it as an 8-bit unsigned char, hence the * double cast. */ #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) /* Enter a start condition. This macro really ought to take a parameter, * but we do it the disgusting crufty way forced on us by the ()-less * definition of BEGIN. */ #define BEGIN (rc_yy_start) = 1 + 2 * /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START (((rc_yy_start) - 1) / 2) #define YYSTATE YY_START /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) /* Special action meaning "start processing a new file". */ #define YY_NEW_FILE rc_yyrestart(rc_yyin ) #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ #ifndef YY_BUF_SIZE #define YY_BUF_SIZE 16384 #endif /* The state buf must be large enough to hold one state per character in the main buffer. */ #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(rc_yy_state_type)) #ifndef YY_TYPEDEF_YY_BUFFER_STATE #define YY_TYPEDEF_YY_BUFFER_STATE typedef struct rc_yy_buffer_state *YY_BUFFER_STATE; #endif extern int rc_yyleng; extern FILE *rc_yyin, *rc_yyout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) /* Return all but the first "n" matched characters back to the input stream. */ #define rc_yyless(n) \ do \ { \ /* Undo effects of setting up rc_yytext. */ \ int rc_yyless_macro_arg = (n); \ YY_LESS_LINENO(rc_yyless_macro_arg);\ *rc_yy_cp = (rc_yy_hold_char); \ YY_RESTORE_YY_MORE_OFFSET \ (rc_yy_c_buf_p) = rc_yy_cp = rc_yy_bp + rc_yyless_macro_arg - YY_MORE_ADJ; \ YY_DO_BEFORE_ACTION; /* set up rc_yytext again */ \ } \ while ( 0 ) #define unput(c) rc_yyunput( c, (rc_yytext_ptr) ) #ifndef YY_TYPEDEF_YY_SIZE_T #define YY_TYPEDEF_YY_SIZE_T typedef size_t rc_yy_size_t; #endif #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct rc_yy_buffer_state { FILE *rc_yy_input_file; char *rc_yy_ch_buf; /* input buffer */ char *rc_yy_buf_pos; /* current position in input buffer */ /* Size of input buffer in bytes, not including room for EOB * characters. */ rc_yy_size_t rc_yy_buf_size; /* Number of characters read into rc_yy_ch_buf, not including EOB * characters. */ int rc_yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to * delete it. */ int rc_yy_is_our_buffer; /* Whether this is an "interactive" input source; if so, and * if we're using stdio for input, then we want to use getc() * instead of fread(), to make sure we stop fetching input after * each newline. */ int rc_yy_is_interactive; /* Whether we're considered to be at the beginning of a line. * If so, '^' rules will be active on the next match, otherwise * not. */ int rc_yy_at_bol; int rc_yy_bs_lineno; /**< The line count. */ int rc_yy_bs_column; /**< The column count. */ /* Whether to try to fill the input buffer when we reach the * end of it. */ int rc_yy_fill_buffer; int rc_yy_buffer_status; #define YY_BUFFER_NEW 0 #define YY_BUFFER_NORMAL 1 /* When an EOF's been seen but there's still some text to process * then we mark the buffer as YY_EOF_PENDING, to indicate that we * shouldn't try reading from the input source any more. We might * still have a bunch of tokens to match, though, because of * possible backing-up. * * When we actually see the EOF, we change the status to "new" * (via rc_yyrestart()), so that the user can continue scanning by * just pointing rc_yyin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 }; #endif /* !YY_STRUCT_YY_BUFFER_STATE */ /* Stack of input buffers. */ static size_t rc_yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t rc_yy_buffer_stack_max = 0; /**< capacity of stack. */ static YY_BUFFER_STATE * rc_yy_buffer_stack = 0; /**< Stack as an array. */ /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general * "scanner state". * * Returns the top of the stack, or NULL. */ #define YY_CURRENT_BUFFER ( (rc_yy_buffer_stack) \ ? (rc_yy_buffer_stack)[(rc_yy_buffer_stack_top)] \ : NULL) /* Same as previous macro, but useful when we know that the buffer stack is not * NULL or when we need an lvalue. For internal use only. */ #define YY_CURRENT_BUFFER_LVALUE (rc_yy_buffer_stack)[(rc_yy_buffer_stack_top)] /* rc_yy_hold_char holds the character lost when rc_yytext is formed. */ static char rc_yy_hold_char; static int rc_yy_n_chars; /* number of characters read into rc_yy_ch_buf */ int rc_yyleng; /* Points to current character in buffer. */ static char *rc_yy_c_buf_p = (char *) 0; static int rc_yy_init = 0; /* whether we need to initialize */ static int rc_yy_start = 0; /* start state number */ /* Flag which is used to allow rc_yywrap()'s to do buffer switches * instead of setting up a fresh rc_yyin. A bit of a hack ... */ static int rc_yy_did_buffer_switch_on_eof; void rc_yyrestart (FILE *input_file ); void rc_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); YY_BUFFER_STATE rc_yy_create_buffer (FILE *file,int size ); void rc_yy_delete_buffer (YY_BUFFER_STATE b ); void rc_yy_flush_buffer (YY_BUFFER_STATE b ); void rc_yypush_buffer_state (YY_BUFFER_STATE new_buffer ); void rc_yypop_buffer_state (void ); static void rc_yyensure_buffer_stack (void ); static void rc_yy_load_buffer_state (void ); static void rc_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); #define YY_FLUSH_BUFFER rc_yy_flush_buffer(YY_CURRENT_BUFFER ) YY_BUFFER_STATE rc_yy_scan_buffer (char *base,rc_yy_size_t size ); YY_BUFFER_STATE rc_yy_scan_string (rc_yyconst char *rc_yy_str ); YY_BUFFER_STATE rc_yy_scan_bytes (rc_yyconst char *bytes,int len ); void *rc_yyalloc (rc_yy_size_t ); void *rc_yyrealloc (void *,rc_yy_size_t ); void rc_yyfree (void * ); #define rc_yy_new_buffer rc_yy_create_buffer #define rc_yy_set_interactive(is_interactive) \ { \ if ( ! YY_CURRENT_BUFFER ){ \ rc_yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ rc_yy_create_buffer(rc_yyin,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->rc_yy_is_interactive = is_interactive; \ } #define rc_yy_set_bol(at_bol) \ { \ if ( ! YY_CURRENT_BUFFER ){\ rc_yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ rc_yy_create_buffer(rc_yyin,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->rc_yy_at_bol = at_bol; \ } #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->rc_yy_at_bol) /* Begin user sect3 */ typedef unsigned char YY_CHAR; FILE *rc_yyin = (FILE *) 0, *rc_yyout = (FILE *) 0; typedef int rc_yy_state_type; extern int rc_yylineno; int rc_yylineno = 1; extern char *rc_yytext; #define rc_yytext_ptr rc_yytext static rc_yy_state_type rc_yy_get_previous_state (void ); static rc_yy_state_type rc_yy_try_NUL_trans (rc_yy_state_type current_state ); static int rc_yy_get_next_buffer (void ); static void rc_yy_fatal_error (rc_yyconst char msg[] ); /* Done after the current pattern has been matched and before the * corresponding action - sets up rc_yytext. */ #define YY_DO_BEFORE_ACTION \ (rc_yytext_ptr) = rc_yy_bp; \ rc_yyleng = (size_t) (rc_yy_cp - rc_yy_bp); \ (rc_yy_hold_char) = *rc_yy_cp; \ *rc_yy_cp = '\0'; \ (rc_yy_c_buf_p) = rc_yy_cp; #define YY_NUM_RULES 46 #define YY_END_OF_BUFFER 47 /* This struct is not used in this scanner, but its presence is necessary. */ struct rc_yy_trans_info { flex_int32_t rc_yy_verify; flex_int32_t rc_yy_nxt; }; static rc_yyconst flex_int16_t rc_yy_accept[193] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 45, 40, 42, 45, 45, 2, 43, 25, 25, 45, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 45, 25, 25, 46, 46, 31, 46, 37, 38, 39, 37, 37, 37, 46, 34, 40, 44, 0, 26, 0, 2, 1, 25, 25, 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 16, 25, 15, 25, 25, 8, 25, 25, 25, 25, 41, 0, 31, 0, 30, 29, 37, 37, 38, 37, 26, 37, 37, 35, 0, 34, 28, 27, 25, 0, 0, 21, 7, 25, 25, 25, 25, 25, 25, 5, 25, 25, 9, 25, 25, 25, 25, 25, 36, 28, 27, 28, 37, 37, 0, 25, 25, 0, 32, 0, 25, 12, 14, 25, 20, 17, 25, 25, 25, 25, 18, 13, 25, 37, 0, 0, 25, 25, 0, 33, 3, 25, 25, 25, 24, 25, 25, 37, 37, 0, 0, 25, 25, 25, 10, 23, 22, 25, 33, 0, 0, 25, 0, 25, 11, 19, 0, 0, 25, 25, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0 } ; static rc_yyconst flex_int32_t rc_yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 4, 5, 6, 1, 1, 1, 1, 7, 7, 1, 1, 1, 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 7, 1, 11, 12, 1, 1, 1, 13, 14, 15, 16, 17, 18, 19, 20, 21, 9, 9, 22, 23, 24, 25, 26, 9, 27, 28, 29, 30, 31, 9, 32, 33, 9, 7, 34, 7, 1, 9, 1, 13, 35, 15, 36, 37, 18, 38, 20, 39, 9, 9, 22, 23, 40, 25, 26, 9, 27, 28, 29, 30, 31, 9, 32, 33, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; static rc_yyconst flex_int32_t rc_yy_meta[41] = { 0, 1, 2, 3, 1, 1, 1, 1, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 4, 4 } ; static rc_yyconst flex_int16_t rc_yy_base[211] = { 0, 0, 0, 38, 39, 43, 47, 332, 331, 333, 336, 330, 336, 319, 42, 327, 336, 321, 0, 317, 35, 36, 42, 302, 38, 35, 46, 308, 300, 299, 296, 48, 293, 294, 317, 294, 296, 52, 336, 336, 307, 282, 313, 336, 64, 53, 65, 311, 336, 311, 336, 74, 336, 302, 308, 336, 302, 0, 301, 54, 64, 289, 66, 285, 283, 64, 277, 288, 0, 290, 0, 73, 273, 0, 72, 279, 275, 72, 336, 79, 336, 289, 336, 336, 264, 89, 295, 92, 262, 104, 138, 336, 292, 336, 336, 336, 101, 114, 119, 0, 0, 273, 260, 270, 268, 95, 110, 0, 112, 80, 0, 114, 265, 116, 263, 86, 336, 254, 253, 126, 172, 0, 138, 269, 261, 155, 336, 281, 259, 0, 0, 269, 0, 0, 117, 263, 248, 248, 0, 0, 118, 133, 261, 253, 257, 259, 271, 336, 0, 140, 246, 239, 0, 145, 148, 166, 168, 252, 253, 237, 179, 150, 0, 0, 0, 230, 336, 229, 186, 218, 187, 230, 0, 0, 213, 226, 228, 214, 203, 196, 201, 0, 336, 161, 188, 189, 190, 151, 191, 133, 199, 336, 336, 207, 211, 215, 219, 223, 126, 227, 231, 235, 239, 243, 247, 92, 251, 255, 259, 263, 266 } ; static rc_yyconst flex_int16_t rc_yy_def[211] = { 0, 192, 1, 193, 193, 194, 194, 195, 195, 192, 192, 192, 192, 192, 196, 197, 192, 198, 198, 192, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 192, 198, 198, 199, 192, 192, 200, 201, 192, 192, 202, 201, 201, 203, 192, 192, 192, 196, 192, 204, 197, 192, 198, 198, 205, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 192, 199, 192, 200, 192, 192, 201, 201, 192, 202, 201, 206, 207, 192, 203, 192, 192, 192, 198, 205, 205, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 192, 201, 201, 201, 207, 120, 192, 198, 198, 192, 192, 208, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 209, 192, 192, 198, 198, 208, 192, 198, 198, 198, 198, 198, 198, 198, 209, 209, 192, 192, 198, 198, 198, 198, 198, 198, 198, 192, 192, 192, 198, 192, 198, 198, 198, 192, 192, 198, 198, 192, 192, 210, 198, 192, 210, 210, 192, 210, 192, 210, 192, 210, 192, 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192 } ; static rc_yyconst flex_int16_t rc_yy_nxt[377] = { 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 19, 16, 20, 21, 22, 23, 24, 25, 18, 26, 27, 18, 28, 29, 30, 18, 31, 32, 33, 18, 18, 18, 18, 34, 35, 23, 36, 18, 27, 29, 38, 38, 39, 39, 42, 43, 52, 44, 42, 43, 59, 44, 61, 45, 63, 68, 80, 45, 60, 66, 62, 67, 69, 90, 74, 51, 64, 91, 88, 99, 59, 40, 40, 68, 60, 53, 46, 75, 52, 100, 46, 102, 69, 80, 74, 81, 85, 105, 109, 99, 111, 116, 115, 51, 112, 98, 88, 89, 85, 100, 135, 102, 122, 105, 140, 94, 116, 53, 109, 111, 115, 132, 81, 118, 123, 125, 126, 124, 135, 127, 125, 126, 85, 140, 127, 89, 133, 134, 116, 57, 136, 132, 138, 150, 146, 147, 154, 119, 84, 122, 191, 84, 84, 84, 84, 120, 133, 134, 84, 84, 136, 142, 138, 150, 143, 154, 125, 126, 189, 85, 127, 164, 183, 161, 165, 172, 156, 146, 147, 146, 166, 85, 84, 125, 126, 84, 84, 141, 84, 161, 170, 164, 84, 84, 165, 172, 171, 170, 170, 185, 185, 185, 185, 175, 175, 186, 187, 188, 190, 156, 185, 156, 183, 182, 180, 85, 190, 37, 37, 37, 37, 41, 41, 41, 41, 47, 47, 47, 47, 51, 51, 181, 51, 54, 54, 54, 54, 79, 79, 180, 79, 82, 82, 179, 82, 84, 178, 177, 84, 87, 87, 176, 87, 92, 92, 92, 92, 94, 94, 174, 94, 117, 117, 117, 117, 121, 173, 169, 121, 146, 146, 146, 146, 155, 155, 155, 155, 184, 168, 184, 167, 163, 162, 147, 160, 159, 158, 157, 153, 152, 151, 149, 148, 147, 145, 144, 85, 85, 139, 137, 131, 130, 129, 128, 93, 85, 86, 85, 83, 114, 113, 110, 108, 107, 106, 104, 103, 101, 97, 96, 55, 95, 49, 93, 86, 85, 83, 66, 62, 78, 77, 76, 73, 72, 71, 70, 65, 58, 56, 55, 50, 49, 192, 48, 48, 9, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192 } ; static rc_yyconst flex_int16_t rc_yy_chk[377] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 3, 4, 5, 5, 14, 5, 6, 6, 20, 6, 21, 5, 22, 25, 37, 6, 20, 24, 21, 24, 26, 45, 31, 44, 22, 46, 44, 59, 20, 3, 4, 25, 20, 14, 5, 31, 51, 60, 6, 62, 26, 79, 31, 37, 45, 65, 71, 59, 74, 85, 77, 87, 74, 205, 87, 44, 46, 60, 109, 62, 96, 65, 115, 89, 89, 51, 71, 74, 77, 105, 79, 89, 96, 97, 97, 96, 109, 97, 98, 98, 85, 115, 98, 87, 106, 108, 119, 198, 111, 105, 113, 134, 141, 141, 140, 89, 90, 122, 189, 90, 90, 90, 90, 90, 106, 108, 90, 90, 111, 122, 113, 134, 122, 140, 125, 125, 187, 119, 125, 153, 183, 149, 154, 161, 141, 155, 155, 156, 156, 90, 120, 120, 120, 120, 120, 120, 120, 149, 160, 153, 120, 120, 154, 161, 160, 168, 170, 184, 185, 186, 188, 168, 170, 184, 185, 186, 188, 155, 190, 156, 180, 179, 178, 120, 190, 193, 193, 193, 193, 194, 194, 194, 194, 195, 195, 195, 195, 196, 196, 177, 196, 197, 197, 197, 197, 199, 199, 176, 199, 200, 200, 175, 200, 201, 174, 171, 201, 202, 202, 169, 202, 203, 203, 203, 203, 204, 204, 167, 204, 206, 206, 206, 206, 207, 165, 159, 207, 208, 208, 208, 208, 209, 209, 209, 209, 210, 158, 210, 157, 151, 150, 146, 145, 144, 143, 142, 137, 136, 135, 131, 128, 127, 124, 123, 118, 117, 114, 112, 104, 103, 102, 101, 92, 88, 86, 84, 81, 76, 75, 72, 69, 67, 66, 64, 63, 61, 58, 56, 54, 53, 49, 47, 42, 41, 40, 36, 35, 34, 33, 32, 30, 29, 28, 27, 23, 19, 17, 15, 13, 11, 9, 8, 7, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192 } ; static rc_yy_state_type rc_yy_last_accepting_state; static char *rc_yy_last_accepting_cpos; extern int rc_yy_flex_debug; int rc_yy_flex_debug = 0; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. */ #define REJECT reject_used_but_not_detected #define rc_yymore() rc_yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *rc_yytext; #line 1 "rcfile.l" #line 2 "rcfile.l" /* rcfile.l This file is part of GNU Anubis. Copyright (C) 2003, 2004, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include "headers.h" #include "extern.h" #include "rcfile.h" #include "rcfile-gram.h" struct string_list { struct string_list *next; char *str; int length; }; static int simple_string (void); static void string_begin (void); static void string_add (char *, int); static void string_add_char (int); static void string_finish (void); static int escape (int); char *trimws (char *); char *trimcpy (void); static void multiline_begin (void); static void multiline_add (char *); static void multiline_finish (void); static char *multiline_strip_tabs (char *); static int isemptystr (char *); static char *multiline_delimiter; static int strip_tabs; static struct string_list *str_head, *str_tail; int cfg_line_num; char *cfg_file; extern int rc_yydebug; #define DBG(t,s) do {\ if (rc_yydebug > 1) \ printf ("LEX %s:%d: %s %s\n", cfg_file, cfg_line_num, t, s);\ } while (0) #line 665 "lex.rc_yy.c" #define INITIAL 0 #define STR 1 #define LIT 2 #define ML 3 #ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way * down here because we want the user's section 1 to have been scanned first. * The user has a chance to override it with an option. */ #include #endif #ifndef YY_EXTRA_TYPE #define YY_EXTRA_TYPE void * #endif static int rc_yy_init_globals (void ); /* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */ int rc_yylex_destroy (void ); int rc_yyget_debug (void ); void rc_yyset_debug (int debug_flag ); YY_EXTRA_TYPE rc_yyget_extra (void ); void rc_yyset_extra (YY_EXTRA_TYPE user_defined ); FILE *rc_yyget_in (void ); void rc_yyset_in (FILE * in_str ); FILE *rc_yyget_out (void ); void rc_yyset_out (FILE * out_str ); int rc_yyget_leng (void ); char *rc_yyget_text (void ); int rc_yyget_lineno (void ); void rc_yyset_lineno (int line_number ); /* Macros after this point can all be overridden by user definitions in * section 1. */ #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus extern "C" int rc_yywrap (void ); #else extern int rc_yywrap (void ); #endif #endif static void rc_yyunput (int c,char *buf_ptr ); #ifndef rc_yytext_ptr static void rc_yy_flex_strncpy (char *,rc_yyconst char *,int ); #endif #ifdef YY_NEED_STRLEN static int rc_yy_flex_strlen (rc_yyconst char * ); #endif #ifndef YY_NO_INPUT #ifdef __cplusplus static int rc_yyinput (void ); #else static int input (void ); #endif #endif /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE #define YY_READ_BUF_SIZE 8192 #endif /* Copy whatever the last rule matched to the standard output. */ #ifndef ECHO /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ #define ECHO fwrite( rc_yytext, rc_yyleng, 1, rc_yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, * is returned in "result". */ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ if ( YY_CURRENT_BUFFER_LVALUE->rc_yy_is_interactive ) \ { \ int c = '*'; \ unsigned n; \ for ( n = 0; n < max_size && \ (c = getc( rc_yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ if ( c == EOF && ferror( rc_yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else \ { \ errno=0; \ while ( (result = fread(buf, 1, max_size, rc_yyin))==0 && ferror(rc_yyin)) \ { \ if( errno != EINTR) \ { \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ break; \ } \ errno=0; \ clearerr(rc_yyin); \ } \ }\ \ #endif /* No semi-colon after return; correct usage is to write "rc_yyterminate();" - * we don't want an extra ';' after the "return" because that will cause * some compilers to complain about unreachable statements. */ #ifndef rc_yyterminate #define rc_yyterminate() return YY_NULL #endif /* Number of entries by which start-condition stack grows. */ #ifndef YY_START_STACK_INCR #define YY_START_STACK_INCR 25 #endif /* Report a fatal error. */ #ifndef YY_FATAL_ERROR #define YY_FATAL_ERROR(msg) rc_yy_fatal_error( msg ) #endif /* end tables serialization structures and prototypes */ /* Default declaration of generated scanner - a define so the user can * easily add parameters. */ #ifndef YY_DECL #define YY_DECL_IS_OURS 1 extern int rc_yylex (void); #define YY_DECL int rc_yylex (void) #endif /* !YY_DECL */ /* Code executed at the beginning of each rule, after rc_yytext and rc_yyleng * have been set up. */ #ifndef YY_USER_ACTION #define YY_USER_ACTION #endif /* Code executed at the end of each rule. */ #ifndef YY_BREAK #define YY_BREAK break; #endif #define YY_RULE_SETUP \ YY_USER_ACTION /** The main scanner function which does all the work. */ YY_DECL { register rc_yy_state_type rc_yy_current_state; register char *rc_yy_cp, *rc_yy_bp; register int rc_yy_act; #line 77 "rcfile.l" /* End-of-line comments */ #line 853 "lex.rc_yy.c" if ( !(rc_yy_init) ) { (rc_yy_init) = 1; #ifdef YY_USER_INIT YY_USER_INIT; #endif if ( ! (rc_yy_start) ) (rc_yy_start) = 1; /* first start state */ if ( ! rc_yyin ) rc_yyin = stdin; if ( ! rc_yyout ) rc_yyout = stdout; if ( ! YY_CURRENT_BUFFER ) { rc_yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = rc_yy_create_buffer(rc_yyin,YY_BUF_SIZE ); } rc_yy_load_buffer_state( ); } while ( 1 ) /* loops until end-of-file is reached */ { rc_yy_cp = (rc_yy_c_buf_p); /* Support of rc_yytext. */ *rc_yy_cp = (rc_yy_hold_char); /* rc_yy_bp points to the position in rc_yy_ch_buf of the start of * the current run. */ rc_yy_bp = rc_yy_cp; rc_yy_current_state = (rc_yy_start); rc_yy_match: do { register YY_CHAR rc_yy_c = rc_yy_ec[YY_SC_TO_UI(*rc_yy_cp)]; if ( rc_yy_accept[rc_yy_current_state] ) { (rc_yy_last_accepting_state) = rc_yy_current_state; (rc_yy_last_accepting_cpos) = rc_yy_cp; } while ( rc_yy_chk[rc_yy_base[rc_yy_current_state] + rc_yy_c] != rc_yy_current_state ) { rc_yy_current_state = (int) rc_yy_def[rc_yy_current_state]; if ( rc_yy_current_state >= 193 ) rc_yy_c = rc_yy_meta[(unsigned int) rc_yy_c]; } rc_yy_current_state = rc_yy_nxt[rc_yy_base[rc_yy_current_state] + (unsigned int) rc_yy_c]; ++rc_yy_cp; } while ( rc_yy_base[rc_yy_current_state] != 336 ); rc_yy_find_action: rc_yy_act = rc_yy_accept[rc_yy_current_state]; if ( rc_yy_act == 0 ) { /* have to back up */ rc_yy_cp = (rc_yy_last_accepting_cpos); rc_yy_current_state = (rc_yy_last_accepting_state); rc_yy_act = rc_yy_accept[rc_yy_current_state]; } YY_DO_BEFORE_ACTION; do_action: /* This label is used only to access EOF actions. */ switch ( rc_yy_act ) { /* beginning of action switch */ case 0: /* must back up */ /* undo the effects of YY_DO_BEFORE_ACTION */ *rc_yy_cp = (rc_yy_hold_char); rc_yy_cp = (rc_yy_last_accepting_cpos); rc_yy_current_state = (rc_yy_last_accepting_state); goto rc_yy_find_action; case 1: /* rule 1 can match eol */ YY_RULE_SETUP #line 79 "rcfile.l" { cfg_line_num++; return EOL; } YY_BREAK case 2: YY_RULE_SETUP #line 80 "rcfile.l" /* end-of-file comment */; YY_BREAK /* Keywords */ case 3: YY_RULE_SETUP #line 82 "rcfile.l" return T_BEGIN; YY_BREAK case 4: YY_RULE_SETUP #line 83 "rcfile.l" { char *p = strstr (rc_yytext, "BEGIN") + 5; char *q; int len; for (; *p && isspace (*(u_char*)p); p++) ; for (q = rc_yytext + rc_yyleng - 4; q > p && isspace (*(u_char*)q); q--) ; len = q - p + 1; rc_yylval.string = xmalloc (len + 1); memcpy (rc_yylval.string, p, len); rc_yylval.string[len] = 0; DBG ("D_BEGIN", rc_yylval.string); return D_BEGIN; } YY_BREAK case 5: #line 99 "rcfile.l" case 6: YY_RULE_SETUP #line 99 "rcfile.l" return T_END; YY_BREAK case 7: YY_RULE_SETUP #line 100 "rcfile.l" return AND; YY_BREAK case 8: YY_RULE_SETUP #line 101 "rcfile.l" return OR; YY_BREAK case 9: YY_RULE_SETUP #line 102 "rcfile.l" return NOT; YY_BREAK case 10: YY_RULE_SETUP #line 103 "rcfile.l" { rc_yylval.num = HEADER; return T_MSGPART; } YY_BREAK case 11: YY_RULE_SETUP #line 104 "rcfile.l" { rc_yylval.num = COMMAND; return T_MSGPART; } YY_BREAK case 12: YY_RULE_SETUP #line 105 "rcfile.l" { rc_yylval.num = BODY; return T_MSGPART; } YY_BREAK case 13: YY_RULE_SETUP #line 106 "rcfile.l" return STOP; YY_BREAK case 14: YY_RULE_SETUP #line 107 "rcfile.l" return CALL; YY_BREAK case 15: YY_RULE_SETUP #line 108 "rcfile.l" return IF; YY_BREAK case 16: YY_RULE_SETUP #line 109 "rcfile.l" return FI; YY_BREAK case 17: YY_RULE_SETUP #line 110 "rcfile.l" return ELSE; YY_BREAK case 18: YY_RULE_SETUP #line 111 "rcfile.l" return RULE; YY_BREAK case 19: YY_RULE_SETUP #line 112 "rcfile.l" return RULE; YY_BREAK case 20: YY_RULE_SETUP #line 113 "rcfile.l" return DONE; YY_BREAK case 21: YY_RULE_SETUP #line 114 "rcfile.l" return ADD; YY_BREAK case 22: YY_RULE_SETUP #line 115 "rcfile.l" return REMOVE; YY_BREAK case 23: YY_RULE_SETUP #line 116 "rcfile.l" return MODIFY; YY_BREAK case 24: YY_RULE_SETUP #line 117 "rcfile.l" return REGEX; YY_BREAK /* Identifiers */ case 25: YY_RULE_SETUP #line 120 "rcfile.l" { rc_yylval.string = strdup (rc_yytext); DBG ("IDENT", rc_yytext); return IDENT; } YY_BREAK /* Quoted strings */ case 26: YY_RULE_SETUP #line 124 "rcfile.l" { return simple_string (); } YY_BREAK case 27: YY_RULE_SETUP #line 125 "rcfile.l" {BEGIN (STR); string_begin (); string_add (rc_yytext+1, rc_yyleng-1); } YY_BREAK case 28: YY_RULE_SETUP #line 129 "rcfile.l" { BEGIN (STR); string_begin (); string_add (rc_yytext+1, rc_yyleng-3); string_add_char (escape (rc_yytext[rc_yyleng-1])); } YY_BREAK case 29: YY_RULE_SETUP #line 133 "rcfile.l" { string_add (rc_yytext, rc_yyleng); } YY_BREAK case 30: YY_RULE_SETUP #line 134 "rcfile.l" { string_add (rc_yytext, rc_yyleng-2); string_add_char (escape (rc_yytext[rc_yyleng-1])); } YY_BREAK case 31: YY_RULE_SETUP #line 136 "rcfile.l" { BEGIN (INITIAL); string_add (rc_yytext, rc_yyleng-1); string_finish (); return STRING; } YY_BREAK /* "Here document" (multiline strings) */ case 32: /* rule 32 can match eol */ #line 142 "rcfile.l" case 33: /* rule 33 can match eol */ YY_RULE_SETUP #line 142 "rcfile.l" { BEGIN (ML); multiline_begin (); cfg_line_num++; } YY_BREAK case 34: /* rule 34 can match eol */ YY_RULE_SETUP #line 145 "rcfile.l" { char *p = multiline_strip_tabs (rc_yytext); cfg_line_num++; if (strncmp (p, multiline_delimiter, strlen (multiline_delimiter)) == 0 && isemptystr (p + strlen (multiline_delimiter))) { BEGIN (INITIAL); multiline_finish (); unput ('\n'); DBG ("STRING", rc_yylval.string); return STRING; } multiline_add (p); } YY_BREAK /* Literal */ case 35: /* rule 35 can match eol */ YY_RULE_SETUP #line 160 "rcfile.l" { cfg_line_num++; } YY_BREAK case 36: /* rule 36 can match eol */ YY_RULE_SETUP #line 161 "rcfile.l" { rc_yylval.string = malloc (rc_yyleng-1); memcpy (rc_yylval.string, rc_yytext, rc_yyleng-2); rc_yylval.string[rc_yyleng-2] = 0; DBG ("STRING", rc_yylval.string); cfg_line_num++; return STRING; } YY_BREAK case 37: YY_RULE_SETUP #line 167 "rcfile.l" { rc_yylval.string = trimcpy (); DBG ("STRING", rc_yylval.string); return STRING; } YY_BREAK case 38: YY_RULE_SETUP #line 170 "rcfile.l" ; YY_BREAK case 39: /* rule 39 can match eol */ YY_RULE_SETUP #line 171 "rcfile.l" { BEGIN (INITIAL); cfg_line_num++; return EOL; } YY_BREAK /* Other tokens */ case 40: YY_RULE_SETUP #line 173 "rcfile.l" ; YY_BREAK case 41: /* rule 41 can match eol */ YY_RULE_SETUP #line 174 "rcfile.l" { cfg_line_num++; } YY_BREAK case 42: /* rule 42 can match eol */ YY_RULE_SETUP #line 175 "rcfile.l" { cfg_line_num++; return EOL; } YY_BREAK case 43: YY_RULE_SETUP #line 176 "rcfile.l" return rc_yytext[0]; YY_BREAK case 44: YY_RULE_SETUP #line 177 "rcfile.l" return NE; YY_BREAK case 45: YY_RULE_SETUP #line 178 "rcfile.l" { parse_error (_("Stray character in config: \\%03o. Possibly missing quotes around the string"), rc_yytext[0]); } YY_BREAK case 46: YY_RULE_SETUP #line 180 "rcfile.l" ECHO; YY_BREAK #line 1223 "lex.rc_yy.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(STR): case YY_STATE_EOF(LIT): case YY_STATE_EOF(ML): rc_yyterminate(); case YY_END_OF_BUFFER: { /* Amount of text matched not including the EOB char. */ int rc_yy_amount_of_matched_text = (int) (rc_yy_cp - (rc_yytext_ptr)) - 1; /* Undo the effects of YY_DO_BEFORE_ACTION. */ *rc_yy_cp = (rc_yy_hold_char); YY_RESTORE_YY_MORE_OFFSET if ( YY_CURRENT_BUFFER_LVALUE->rc_yy_buffer_status == YY_BUFFER_NEW ) { /* We're scanning a new file or input source. It's * possible that this happened because the user * just pointed rc_yyin at a new source and called * rc_yylex(). If so, then we have to assure * consistency between YY_CURRENT_BUFFER and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ (rc_yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->rc_yy_n_chars; YY_CURRENT_BUFFER_LVALUE->rc_yy_input_file = rc_yyin; YY_CURRENT_BUFFER_LVALUE->rc_yy_buffer_status = YY_BUFFER_NORMAL; } /* Note that here we test for rc_yy_c_buf_p "<=" to the position * of the first EOB in the buffer, since rc_yy_c_buf_p will * already have been incremented past the NUL character * (since all states make transitions on EOB to the * end-of-buffer state). Contrast this with the test * in input(). */ if ( (rc_yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf[(rc_yy_n_chars)] ) { /* This was really a NUL. */ rc_yy_state_type rc_yy_next_state; (rc_yy_c_buf_p) = (rc_yytext_ptr) + rc_yy_amount_of_matched_text; rc_yy_current_state = rc_yy_get_previous_state( ); /* Okay, we're now positioned to make the NUL * transition. We couldn't have * rc_yy_get_previous_state() go ahead and do it * for us because it doesn't know how to deal * with the possibility of jamming (and we don't * want to build jamming into it because then it * will run more slowly). */ rc_yy_next_state = rc_yy_try_NUL_trans( rc_yy_current_state ); rc_yy_bp = (rc_yytext_ptr) + YY_MORE_ADJ; if ( rc_yy_next_state ) { /* Consume the NUL. */ rc_yy_cp = ++(rc_yy_c_buf_p); rc_yy_current_state = rc_yy_next_state; goto rc_yy_match; } else { rc_yy_cp = (rc_yy_c_buf_p); goto rc_yy_find_action; } } else switch ( rc_yy_get_next_buffer( ) ) { case EOB_ACT_END_OF_FILE: { (rc_yy_did_buffer_switch_on_eof) = 0; if ( rc_yywrap( ) ) { /* Note: because we've taken care in * rc_yy_get_next_buffer() to have set up * rc_yytext, we can now set up * rc_yy_c_buf_p so that if some total * hoser (like flex itself) wants to * call the scanner after we return the * YY_NULL, it'll still work - another * YY_NULL will get returned. */ (rc_yy_c_buf_p) = (rc_yytext_ptr) + YY_MORE_ADJ; rc_yy_act = YY_STATE_EOF(YY_START); goto do_action; } else { if ( ! (rc_yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; } break; } case EOB_ACT_CONTINUE_SCAN: (rc_yy_c_buf_p) = (rc_yytext_ptr) + rc_yy_amount_of_matched_text; rc_yy_current_state = rc_yy_get_previous_state( ); rc_yy_cp = (rc_yy_c_buf_p); rc_yy_bp = (rc_yytext_ptr) + YY_MORE_ADJ; goto rc_yy_match; case EOB_ACT_LAST_MATCH: (rc_yy_c_buf_p) = &YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf[(rc_yy_n_chars)]; rc_yy_current_state = rc_yy_get_previous_state( ); rc_yy_cp = (rc_yy_c_buf_p); rc_yy_bp = (rc_yytext_ptr) + YY_MORE_ADJ; goto rc_yy_find_action; } break; } default: YY_FATAL_ERROR( "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ } /* end of rc_yylex */ /* rc_yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: * EOB_ACT_LAST_MATCH - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position * EOB_ACT_END_OF_FILE - end of file */ static int rc_yy_get_next_buffer (void) { register char *dest = YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf; register char *source = (rc_yytext_ptr); register int number_to_move, i; int ret_val; if ( (rc_yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf[(rc_yy_n_chars) + 1] ) YY_FATAL_ERROR( "fatal flex scanner internal error--end of buffer missed" ); if ( YY_CURRENT_BUFFER_LVALUE->rc_yy_fill_buffer == 0 ) { /* Don't try to fill the buffer, so this is an EOF. */ if ( (rc_yy_c_buf_p) - (rc_yytext_ptr) - YY_MORE_ADJ == 1 ) { /* We matched a single character, the EOB, so * treat this as a final EOF. */ return EOB_ACT_END_OF_FILE; } else { /* We matched some text prior to the EOB, first * process it. */ return EOB_ACT_LAST_MATCH; } } /* Try to read more data. */ /* First move last chars to start of buffer. */ number_to_move = (int) ((rc_yy_c_buf_p) - (rc_yytext_ptr)) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); if ( YY_CURRENT_BUFFER_LVALUE->rc_yy_buffer_status == YY_BUFFER_EOF_PENDING ) /* don't do the read, it's not guaranteed to return an EOF, * just force an EOF */ YY_CURRENT_BUFFER_LVALUE->rc_yy_n_chars = (rc_yy_n_chars) = 0; else { int num_to_read = YY_CURRENT_BUFFER_LVALUE->rc_yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ YY_BUFFER_STATE b = YY_CURRENT_BUFFER; int rc_yy_c_buf_p_offset = (int) ((rc_yy_c_buf_p) - b->rc_yy_ch_buf); if ( b->rc_yy_is_our_buffer ) { int new_size = b->rc_yy_buf_size * 2; if ( new_size <= 0 ) b->rc_yy_buf_size += b->rc_yy_buf_size / 8; else b->rc_yy_buf_size *= 2; b->rc_yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ rc_yyrealloc((void *) b->rc_yy_ch_buf,b->rc_yy_buf_size + 2 ); } else /* Can't grow it, we don't own it. */ b->rc_yy_ch_buf = 0; if ( ! b->rc_yy_ch_buf ) YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" ); (rc_yy_c_buf_p) = &b->rc_yy_ch_buf[rc_yy_c_buf_p_offset]; num_to_read = YY_CURRENT_BUFFER_LVALUE->rc_yy_buf_size - number_to_move - 1; } if ( num_to_read > YY_READ_BUF_SIZE ) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf[number_to_move]), (rc_yy_n_chars), (size_t) num_to_read ); YY_CURRENT_BUFFER_LVALUE->rc_yy_n_chars = (rc_yy_n_chars); } if ( (rc_yy_n_chars) == 0 ) { if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; rc_yyrestart(rc_yyin ); } else { ret_val = EOB_ACT_LAST_MATCH; YY_CURRENT_BUFFER_LVALUE->rc_yy_buffer_status = YY_BUFFER_EOF_PENDING; } } else ret_val = EOB_ACT_CONTINUE_SCAN; if ((rc_yy_size_t) ((rc_yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->rc_yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ rc_yy_size_t new_size = (rc_yy_n_chars) + number_to_move + ((rc_yy_n_chars) >> 1); YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf = (char *) rc_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf,new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in rc_yy_get_next_buffer()" ); } (rc_yy_n_chars) += number_to_move; YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf[(rc_yy_n_chars)] = YY_END_OF_BUFFER_CHAR; YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf[(rc_yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; (rc_yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf[0]; return ret_val; } /* rc_yy_get_previous_state - get the state just before the EOB char was reached */ static rc_yy_state_type rc_yy_get_previous_state (void) { register rc_yy_state_type rc_yy_current_state; register char *rc_yy_cp; rc_yy_current_state = (rc_yy_start); for ( rc_yy_cp = (rc_yytext_ptr) + YY_MORE_ADJ; rc_yy_cp < (rc_yy_c_buf_p); ++rc_yy_cp ) { register YY_CHAR rc_yy_c = (*rc_yy_cp ? rc_yy_ec[YY_SC_TO_UI(*rc_yy_cp)] : 1); if ( rc_yy_accept[rc_yy_current_state] ) { (rc_yy_last_accepting_state) = rc_yy_current_state; (rc_yy_last_accepting_cpos) = rc_yy_cp; } while ( rc_yy_chk[rc_yy_base[rc_yy_current_state] + rc_yy_c] != rc_yy_current_state ) { rc_yy_current_state = (int) rc_yy_def[rc_yy_current_state]; if ( rc_yy_current_state >= 193 ) rc_yy_c = rc_yy_meta[(unsigned int) rc_yy_c]; } rc_yy_current_state = rc_yy_nxt[rc_yy_base[rc_yy_current_state] + (unsigned int) rc_yy_c]; } return rc_yy_current_state; } /* rc_yy_try_NUL_trans - try to make a transition on the NUL character * * synopsis * next_state = rc_yy_try_NUL_trans( current_state ); */ static rc_yy_state_type rc_yy_try_NUL_trans (rc_yy_state_type rc_yy_current_state ) { register int rc_yy_is_jam; register char *rc_yy_cp = (rc_yy_c_buf_p); register YY_CHAR rc_yy_c = 1; if ( rc_yy_accept[rc_yy_current_state] ) { (rc_yy_last_accepting_state) = rc_yy_current_state; (rc_yy_last_accepting_cpos) = rc_yy_cp; } while ( rc_yy_chk[rc_yy_base[rc_yy_current_state] + rc_yy_c] != rc_yy_current_state ) { rc_yy_current_state = (int) rc_yy_def[rc_yy_current_state]; if ( rc_yy_current_state >= 193 ) rc_yy_c = rc_yy_meta[(unsigned int) rc_yy_c]; } rc_yy_current_state = rc_yy_nxt[rc_yy_base[rc_yy_current_state] + (unsigned int) rc_yy_c]; rc_yy_is_jam = (rc_yy_current_state == 192); return rc_yy_is_jam ? 0 : rc_yy_current_state; } static void rc_yyunput (int c, register char * rc_yy_bp ) { register char *rc_yy_cp; rc_yy_cp = (rc_yy_c_buf_p); /* undo effects of setting up rc_yytext */ *rc_yy_cp = (rc_yy_hold_char); if ( rc_yy_cp < YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ register int number_to_move = (rc_yy_n_chars) + 2; register char *dest = &YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->rc_yy_buf_size + 2]; register char *source = &YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf[number_to_move]; while ( source > YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf ) *--dest = *--source; rc_yy_cp += (int) (dest - source); rc_yy_bp += (int) (dest - source); YY_CURRENT_BUFFER_LVALUE->rc_yy_n_chars = (rc_yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->rc_yy_buf_size; if ( rc_yy_cp < YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); } *--rc_yy_cp = (char) c; (rc_yytext_ptr) = rc_yy_bp; (rc_yy_hold_char) = *rc_yy_cp; (rc_yy_c_buf_p) = rc_yy_cp; } #ifndef YY_NO_INPUT #ifdef __cplusplus static int rc_yyinput (void) #else static int input (void) #endif { int c; *(rc_yy_c_buf_p) = (rc_yy_hold_char); if ( *(rc_yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) { /* rc_yy_c_buf_p now points to the character we want to return. * If this occurs *before* the EOB characters, then it's a * valid NUL; if not, then we've hit the end of the buffer. */ if ( (rc_yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->rc_yy_ch_buf[(rc_yy_n_chars)] ) /* This was really a NUL. */ *(rc_yy_c_buf_p) = '\0'; else { /* need more input */ int offset = (rc_yy_c_buf_p) - (rc_yytext_ptr); ++(rc_yy_c_buf_p); switch ( rc_yy_get_next_buffer( ) ) { case EOB_ACT_LAST_MATCH: /* This happens because rc_yy_g_n_b() * sees that we've accumulated a * token and flags that we need to * try matching the token before * proceeding. But for input(), * there's no matching to consider. * So convert the EOB_ACT_LAST_MATCH * to EOB_ACT_END_OF_FILE. */ /* Reset buffer status. */ rc_yyrestart(rc_yyin ); /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE: { if ( rc_yywrap( ) ) return EOF; if ( ! (rc_yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; #ifdef __cplusplus return rc_yyinput(); #else return input(); #endif } case EOB_ACT_CONTINUE_SCAN: (rc_yy_c_buf_p) = (rc_yytext_ptr) + offset; break; } } } c = *(unsigned char *) (rc_yy_c_buf_p); /* cast for 8-bit char's */ *(rc_yy_c_buf_p) = '\0'; /* preserve rc_yytext */ (rc_yy_hold_char) = *++(rc_yy_c_buf_p); return c; } #endif /* ifndef YY_NO_INPUT */ /** Immediately switch to a different input stream. * @param input_file A readable stream. * * @note This function does not reset the start condition to @c INITIAL . */ void rc_yyrestart (FILE * input_file ) { if ( ! YY_CURRENT_BUFFER ){ rc_yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = rc_yy_create_buffer(rc_yyin,YY_BUF_SIZE ); } rc_yy_init_buffer(YY_CURRENT_BUFFER,input_file ); rc_yy_load_buffer_state( ); } /** Switch to a different input buffer. * @param new_buffer The new input buffer. * */ void rc_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) { /* TODO. We should be able to replace this entire function body * with * rc_yypop_buffer_state(); * rc_yypush_buffer_state(new_buffer); */ rc_yyensure_buffer_stack (); if ( YY_CURRENT_BUFFER == new_buffer ) return; if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ *(rc_yy_c_buf_p) = (rc_yy_hold_char); YY_CURRENT_BUFFER_LVALUE->rc_yy_buf_pos = (rc_yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->rc_yy_n_chars = (rc_yy_n_chars); } YY_CURRENT_BUFFER_LVALUE = new_buffer; rc_yy_load_buffer_state( ); /* We don't actually know whether we did this switch during * EOF (rc_yywrap()) processing, but the only time this flag * is looked at is after rc_yywrap() is called, so it's safe * to go ahead and always set it. */ (rc_yy_did_buffer_switch_on_eof) = 1; } static void rc_yy_load_buffer_state (void) { (rc_yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->rc_yy_n_chars; (rc_yytext_ptr) = (rc_yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->rc_yy_buf_pos; rc_yyin = YY_CURRENT_BUFFER_LVALUE->rc_yy_input_file; (rc_yy_hold_char) = *(rc_yy_c_buf_p); } /** Allocate and initialize an input buffer state. * @param file A readable stream. * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. * * @return the allocated buffer state. */ YY_BUFFER_STATE rc_yy_create_buffer (FILE * file, int size ) { YY_BUFFER_STATE b; b = (YY_BUFFER_STATE) rc_yyalloc(sizeof( struct rc_yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in rc_yy_create_buffer()" ); b->rc_yy_buf_size = size; /* rc_yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ b->rc_yy_ch_buf = (char *) rc_yyalloc(b->rc_yy_buf_size + 2 ); if ( ! b->rc_yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in rc_yy_create_buffer()" ); b->rc_yy_is_our_buffer = 1; rc_yy_init_buffer(b,file ); return b; } /** Destroy the buffer. * @param b a buffer created with rc_yy_create_buffer() * */ void rc_yy_delete_buffer (YY_BUFFER_STATE b ) { if ( ! b ) return; if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; if ( b->rc_yy_is_our_buffer ) rc_yyfree((void *) b->rc_yy_ch_buf ); rc_yyfree((void *) b ); } #ifndef __cplusplus extern int isatty (int ); #endif /* __cplusplus */ /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a rc_yyrestart() or at EOF. */ static void rc_yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) { int oerrno = errno; rc_yy_flush_buffer(b ); b->rc_yy_input_file = file; b->rc_yy_fill_buffer = 1; /* If b is the current buffer, then rc_yy_init_buffer was _probably_ * called from rc_yyrestart() or through rc_yy_get_next_buffer. * In that case, we don't want to reset the lineno or column. */ if (b != YY_CURRENT_BUFFER){ b->rc_yy_bs_lineno = 1; b->rc_yy_bs_column = 0; } b->rc_yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; errno = oerrno; } /** Discard all buffered characters. On the next scan, YY_INPUT will be called. * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. * */ void rc_yy_flush_buffer (YY_BUFFER_STATE b ) { if ( ! b ) return; b->rc_yy_n_chars = 0; /* We always need two end-of-buffer characters. The first causes * a transition to the end-of-buffer state. The second causes * a jam in that state. */ b->rc_yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; b->rc_yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; b->rc_yy_buf_pos = &b->rc_yy_ch_buf[0]; b->rc_yy_at_bol = 1; b->rc_yy_buffer_status = YY_BUFFER_NEW; if ( b == YY_CURRENT_BUFFER ) rc_yy_load_buffer_state( ); } /** Pushes the new state onto the stack. The new state becomes * the current state. This function will allocate the stack * if necessary. * @param new_buffer The new state. * */ void rc_yypush_buffer_state (YY_BUFFER_STATE new_buffer ) { if (new_buffer == NULL) return; rc_yyensure_buffer_stack(); /* This block is copied from rc_yy_switch_to_buffer. */ if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ *(rc_yy_c_buf_p) = (rc_yy_hold_char); YY_CURRENT_BUFFER_LVALUE->rc_yy_buf_pos = (rc_yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->rc_yy_n_chars = (rc_yy_n_chars); } /* Only push if top exists. Otherwise, replace top. */ if (YY_CURRENT_BUFFER) (rc_yy_buffer_stack_top)++; YY_CURRENT_BUFFER_LVALUE = new_buffer; /* copied from rc_yy_switch_to_buffer. */ rc_yy_load_buffer_state( ); (rc_yy_did_buffer_switch_on_eof) = 1; } /** Removes and deletes the top of the stack, if present. * The next element becomes the new top. * */ void rc_yypop_buffer_state (void) { if (!YY_CURRENT_BUFFER) return; rc_yy_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; if ((rc_yy_buffer_stack_top) > 0) --(rc_yy_buffer_stack_top); if (YY_CURRENT_BUFFER) { rc_yy_load_buffer_state( ); (rc_yy_did_buffer_switch_on_eof) = 1; } } /* Allocates the stack if it does not exist. * Guarantees space for at least one push. */ static void rc_yyensure_buffer_stack (void) { int num_to_alloc; if (!(rc_yy_buffer_stack)) { /* First allocation is just for 2 elements, since we don't know if this * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ num_to_alloc = 1; (rc_yy_buffer_stack) = (struct rc_yy_buffer_state**)rc_yyalloc (num_to_alloc * sizeof(struct rc_yy_buffer_state*) ); if ( ! (rc_yy_buffer_stack) ) YY_FATAL_ERROR( "out of dynamic memory in rc_yyensure_buffer_stack()" ); memset((rc_yy_buffer_stack), 0, num_to_alloc * sizeof(struct rc_yy_buffer_state*)); (rc_yy_buffer_stack_max) = num_to_alloc; (rc_yy_buffer_stack_top) = 0; return; } if ((rc_yy_buffer_stack_top) >= ((rc_yy_buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ int grow_size = 8 /* arbitrary grow size */; num_to_alloc = (rc_yy_buffer_stack_max) + grow_size; (rc_yy_buffer_stack) = (struct rc_yy_buffer_state**)rc_yyrealloc ((rc_yy_buffer_stack), num_to_alloc * sizeof(struct rc_yy_buffer_state*) ); if ( ! (rc_yy_buffer_stack) ) YY_FATAL_ERROR( "out of dynamic memory in rc_yyensure_buffer_stack()" ); /* zero only the new slots.*/ memset((rc_yy_buffer_stack) + (rc_yy_buffer_stack_max), 0, grow_size * sizeof(struct rc_yy_buffer_state*)); (rc_yy_buffer_stack_max) = num_to_alloc; } } /** Setup the input buffer state to scan directly from a user-specified character buffer. * @param base the character buffer * @param size the size in bytes of the character buffer * * @return the newly allocated buffer state object. */ YY_BUFFER_STATE rc_yy_scan_buffer (char * base, rc_yy_size_t size ) { YY_BUFFER_STATE b; if ( size < 2 || base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ return 0; b = (YY_BUFFER_STATE) rc_yyalloc(sizeof( struct rc_yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in rc_yy_scan_buffer()" ); b->rc_yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->rc_yy_buf_pos = b->rc_yy_ch_buf = base; b->rc_yy_is_our_buffer = 0; b->rc_yy_input_file = 0; b->rc_yy_n_chars = b->rc_yy_buf_size; b->rc_yy_is_interactive = 0; b->rc_yy_at_bol = 1; b->rc_yy_fill_buffer = 0; b->rc_yy_buffer_status = YY_BUFFER_NEW; rc_yy_switch_to_buffer(b ); return b; } /** Setup the input buffer state to scan a string. The next call to rc_yylex() will * scan from a @e copy of @a str. * @param rc_yystr a NUL-terminated string to scan * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use * rc_yy_scan_bytes() instead. */ YY_BUFFER_STATE rc_yy_scan_string (rc_yyconst char * rc_yystr ) { return rc_yy_scan_bytes(rc_yystr,strlen(rc_yystr) ); } /** Setup the input buffer state to scan the given bytes. The next call to rc_yylex() will * scan from a @e copy of @a bytes. * @param bytes the byte buffer to scan * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ YY_BUFFER_STATE rc_yy_scan_bytes (rc_yyconst char * rc_yybytes, int _rc_yybytes_len ) { YY_BUFFER_STATE b; char *buf; rc_yy_size_t n; int i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _rc_yybytes_len + 2; buf = (char *) rc_yyalloc(n ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in rc_yy_scan_bytes()" ); for ( i = 0; i < _rc_yybytes_len; ++i ) buf[i] = rc_yybytes[i]; buf[_rc_yybytes_len] = buf[_rc_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; b = rc_yy_scan_buffer(buf,n ); if ( ! b ) YY_FATAL_ERROR( "bad buffer in rc_yy_scan_bytes()" ); /* It's okay to grow etc. this buffer, and we should throw it * away when we're done. */ b->rc_yy_is_our_buffer = 1; return b; } #ifndef YY_EXIT_FAILURE #define YY_EXIT_FAILURE 2 #endif static void rc_yy_fatal_error (rc_yyconst char* msg ) { (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* Redefine rc_yyless() so it works in section 3 code. */ #undef rc_yyless #define rc_yyless(n) \ do \ { \ /* Undo effects of setting up rc_yytext. */ \ int rc_yyless_macro_arg = (n); \ YY_LESS_LINENO(rc_yyless_macro_arg);\ rc_yytext[rc_yyleng] = (rc_yy_hold_char); \ (rc_yy_c_buf_p) = rc_yytext + rc_yyless_macro_arg; \ (rc_yy_hold_char) = *(rc_yy_c_buf_p); \ *(rc_yy_c_buf_p) = '\0'; \ rc_yyleng = rc_yyless_macro_arg; \ } \ while ( 0 ) /* Accessor methods (get/set functions) to struct members. */ /** Get the current line number. * */ int rc_yyget_lineno (void) { return rc_yylineno; } /** Get the input stream. * */ FILE *rc_yyget_in (void) { return rc_yyin; } /** Get the output stream. * */ FILE *rc_yyget_out (void) { return rc_yyout; } /** Get the length of the current token. * */ int rc_yyget_leng (void) { return rc_yyleng; } /** Get the current token. * */ char *rc_yyget_text (void) { return rc_yytext; } /** Set the current line number. * @param line_number * */ void rc_yyset_lineno (int line_number ) { rc_yylineno = line_number; } /** Set the input stream. This does not discard the current * input buffer. * @param in_str A readable stream. * * @see rc_yy_switch_to_buffer */ void rc_yyset_in (FILE * in_str ) { rc_yyin = in_str ; } void rc_yyset_out (FILE * out_str ) { rc_yyout = out_str ; } int rc_yyget_debug (void) { return rc_yy_flex_debug; } void rc_yyset_debug (int bdebug ) { rc_yy_flex_debug = bdebug ; } static int rc_yy_init_globals (void) { /* Initialization is the same as for the non-reentrant scanner. * This function is called from rc_yylex_destroy(), so don't allocate here. */ (rc_yy_buffer_stack) = 0; (rc_yy_buffer_stack_top) = 0; (rc_yy_buffer_stack_max) = 0; (rc_yy_c_buf_p) = (char *) 0; (rc_yy_init) = 0; (rc_yy_start) = 0; /* Defined in main.c */ #ifdef YY_STDINIT rc_yyin = stdin; rc_yyout = stdout; #else rc_yyin = (FILE *) 0; rc_yyout = (FILE *) 0; #endif /* For future reference: Set errno on error, since we are called by * rc_yylex_init() */ return 0; } /* rc_yylex_destroy is for both reentrant and non-reentrant scanners. */ int rc_yylex_destroy (void) { /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ rc_yy_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; rc_yypop_buffer_state(); } /* Destroy the stack itself. */ rc_yyfree((rc_yy_buffer_stack) ); (rc_yy_buffer_stack) = NULL; /* Reset the globals. This is important in a non-reentrant scanner so the next time * rc_yylex() is called, initialization will occur. */ rc_yy_init_globals( ); return 0; } /* * Internal utility routines. */ #ifndef rc_yytext_ptr static void rc_yy_flex_strncpy (char* s1, rc_yyconst char * s2, int n ) { register int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } #endif #ifdef YY_NEED_STRLEN static int rc_yy_flex_strlen (rc_yyconst char * s ) { register int n; for ( n = 0; s[n]; ++n ) ; return n; } #endif void *rc_yyalloc (rc_yy_size_t size ) { return (void *) malloc( size ); } void *rc_yyrealloc (void * ptr, rc_yy_size_t size ) { /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter * because both ANSI C and C++ allow castless assignment from * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ return (void *) realloc( (char *) ptr, size ); } void rc_yyfree (void * ptr ) { free( (char *) ptr ); /* see rc_yyrealloc() for (char *) cast */ } #define YYTABLES_NAME "rc_yytables" #line 180 "rcfile.l" int rc_yywrap () { if (rc_yyin) { fclose (rc_yyin); rc_yyin = NULL; } return 1; } void verbatim (void) { BEGIN (LIT); } void lex_clear_state (void) { BEGIN (INITIAL); } int simple_string (void) { rc_yylval.string = xmalloc (rc_yyleng - 1); memcpy (rc_yylval.string, rc_yytext + 1, rc_yyleng - 2); rc_yylval.string[rc_yyleng - 2] = 0; DBG ("STRING", rc_yylval.string); return STRING; } void string_begin (void) { str_head = str_tail = NULL; } void string_add (char *str, int len) { struct string_list *s = xmalloc (sizeof (*s) + len); s->next = NULL; s->str = (char*)(s+1); memcpy (s->str, str, len); s->length = len; if (str_tail) str_tail->next = s; else str_head = s; str_tail = s; } void string_add_char (int n) { char c = n; string_add (&c, 1); } void string_finish (void) { struct string_list *s; int len = 0; char *p; for (s = str_head; s; s = s->next) len += s->length; len++; rc_yylval.string = xmalloc (len); for (p = rc_yylval.string, s = str_head; s; ) { struct string_list *next = s->next; memcpy (p, s->str, s->length); p += s->length; xfree (s); s = next; } *p = 0; } void multiline_begin (void) { char *endp; int len; char *p = rc_yytext + 2; /* past the << marker */ if (*p == '-') { strip_tabs = 1; p++; } else strip_tabs = 0; /* Find the delimiter */ for (endp = p; *endp; endp++) if (isspace (*(u_char*)endp)) break; len = endp - p; multiline_delimiter = xmalloc (len + 1); memcpy (multiline_delimiter, p, len); multiline_delimiter[len] = 0; string_begin (); } void multiline_finish (void) { free (multiline_delimiter); multiline_delimiter = NULL; string_finish (); } int isemptystr (char *text) { for (; *text && isspace (*(u_char*)text); text++) ; return *text == 0; } char * multiline_strip_tabs (char *text) { if (strip_tabs) for (; *text == '\t'; text++) ; return text; } void multiline_add (char *p) { string_add (p, strlen (p)); } int escape (int c) { switch (c) { case 'a': return '\a'; case 'b': return '\b'; case 'f': return '\f'; case 'e': return '\e'; case 'n': return '\n'; case 'r': return '\t'; case 't': return '\t'; case 'v': return '\v'; default: break; } return c; } char * trimws (char *s) { int len; for (len = strlen (s) - 1; len > 0 && isspace ((u_char)s[len]); len--) ; if (len > 0) s[len+1] = 0; return s; } char * trimcpy (void) { char *string; int i, j, len; for (i = 0; i < rc_yyleng && isspace ((u_char)rc_yytext[i]); i++) ; for (j = rc_yyleng - 1; j > i && isspace ((u_char)rc_yytext[i]); j--) ; len = j - i + 1; string = xmalloc (len + 1); memcpy (string, rc_yytext + i, len); string[len] = 0; return string; } int rc_open (char *name) { rc_yyin = fopen (name, "r"); if (!rc_yyin) { if (options.termlevel == DEBUG) anubis_error (0, errno, _("Anubis RC file error")); return -1; } cfg_file = name; cfg_line_num = 1; return 0; } int error_sync_begin () { int c; while (rc_yyin && (c = rc_yylex ()) > 0) { if (c == T_BEGIN) { rc_yyless (0); break; } else if (c == D_BEGIN) { xfree (rc_yylval.string); rc_yyless (0); break; } } return c; } anubis-4.1.1+dfsg1/src/rcfile.l0000600000175000017500000002137611121752642013762 0ustar kbkb%{ /* rcfile.l This file is part of GNU Anubis. Copyright (C) 2003, 2004, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include "headers.h" #include "extern.h" #include "rcfile.h" #include "rcfile-gram.h" struct string_list { struct string_list *next; char *str; int length; }; static int simple_string (void); static void string_begin (void); static void string_add (char *, int); static void string_add_char (int); static void string_finish (void); static int escape (int); char *trimws (char *); char *trimcpy (void); static void multiline_begin (void); static void multiline_add (char *); static void multiline_finish (void); static char *multiline_strip_tabs (char *); static int isemptystr (char *); static char *multiline_delimiter; static int strip_tabs; static struct string_list *str_head, *str_tail; int cfg_line_num; char *cfg_file; extern int yydebug; #define DBG(t,s) do {\ if (yydebug > 1) \ printf ("LEX %s:%d: %s %s\n", cfg_file, cfg_line_num, t, s);\ } while (0) %} %x STR LIT ML WS [ \t][ \t]* IDENT [a-zA-Z0-9_./-]+ LDASHES ---[ \t]* RDASHES [ \t]*--- PUNCT [=:()\[\]] %% /* End-of-line comments */ #.*\n { cfg_line_num++; return EOL; } #.* /* end-of-file comment */; /* Keywords */ BEGIN return T_BEGIN; {LDASHES}BEGIN{WS}{IDENT}{RDASHES} { char *p = strstr (yytext, "BEGIN") + 5; char *q; int len; for (; *p && isspace (*(u_char*)p); p++) ; for (q = yytext + yyleng - 4; q > p && isspace (*(u_char*)q); q--) ; len = q - p + 1; yylval.string = xmalloc (len + 1); memcpy (yylval.string, p, len); yylval.string[len] = 0; DBG ("D_BEGIN", yylval.string); return D_BEGIN; } END | {LDASHES}END{RDASHES} return T_END; [aA][nN][dD] return AND; [oO][rR] return OR; [nN][oO][tT] return NOT; [hH][eE][aA][dD][eE][rR] { yylval.num = HEADER; return T_MSGPART; } [cC][oO][mM][mM][aA][nN][dD] { yylval.num = COMMAND; return T_MSGPART; } [bB][oO][dD][yY] { yylval.num = BODY; return T_MSGPART; } [sS][tT][oO][pP] return STOP; [cC][aA][lL][lL] return CALL; [iI][fF] return IF; [fF][iI] return FI; [eE][lL][sS][eE] return ELSE; [rR][uU][lL][eE] return RULE; [tT][rR][iI][gG][gG][eE][rR] return RULE; [dD][oO][nN][eE] return DONE; [aA][dD][dD] return ADD; [rR][eE][mM][oO][vV][eE] return REMOVE; [mM][oO][dD][iI][fF][yY] return MODIFY; [rR][eE][gG][eE][xX] return REGEX; /* Identifiers */ {IDENT} { yylval.string = strdup (yytext); DBG ("IDENT", yytext); return IDENT; } /* Quoted strings */ \"[^\\"\n]*\" { return simple_string (); } \"[^\\"\n]*\\[0-9] {BEGIN (STR); string_begin (); string_add (yytext+1, yyleng-1); } \"[^\\"\n]*\\. { BEGIN (STR); string_begin (); string_add (yytext+1, yyleng-3); string_add_char (escape (yytext[yyleng-1])); } [^\\"\n]*\\[0-9] { string_add (yytext, yyleng); } [^\\"\n]*\\. { string_add (yytext, yyleng-2); string_add_char (escape (yytext[yyleng-1])); } [^\\"\n]*\" { BEGIN (INITIAL); string_add (yytext, yyleng-1); string_finish (); return STRING; } /* "Here document" (multiline strings) */ "<<"-?{IDENT}[ \t]*\n | "<<"-?{IDENT}[ \t]*#.*\n { BEGIN (ML); multiline_begin (); cfg_line_num++; } .*\n { char *p = multiline_strip_tabs (yytext); cfg_line_num++; if (strncmp (p, multiline_delimiter, strlen (multiline_delimiter)) == 0 && isemptystr (p + strlen (multiline_delimiter))) { BEGIN (INITIAL); multiline_finish (); unput ('\n'); DBG ("STRING", yylval.string); return STRING; } multiline_add (p); } /* Literal */ \\\n { cfg_line_num++; } [^ \t\n]+\\\n { yylval.string = malloc (yyleng-1); memcpy (yylval.string, yytext, yyleng-2); yylval.string[yyleng-2] = 0; DBG ("STRING", yylval.string); cfg_line_num++; return STRING; } [^ \t\n]+ { yylval.string = trimcpy (); DBG ("STRING", yylval.string); return STRING; } {WS} ; \n { BEGIN (INITIAL); cfg_line_num++; return EOL; } /* Other tokens */ {WS} ; \\\n { cfg_line_num++; } \n { cfg_line_num++; return EOL; } {PUNCT} return yytext[0]; != return NE; . { parse_error (_("Stray character in config: \\%03o. Possibly missing quotes around the string"), yytext[0]); } %% int yywrap () { if (yyin) { fclose (yyin); yyin = NULL; } return 1; } void verbatim (void) { BEGIN (LIT); } void lex_clear_state (void) { BEGIN (INITIAL); } int simple_string (void) { yylval.string = xmalloc (yyleng - 1); memcpy (yylval.string, yytext + 1, yyleng - 2); yylval.string[yyleng - 2] = 0; DBG ("STRING", yylval.string); return STRING; } void string_begin (void) { str_head = str_tail = NULL; } void string_add (char *str, int len) { struct string_list *s = xmalloc (sizeof (*s) + len); s->next = NULL; s->str = (char*)(s+1); memcpy (s->str, str, len); s->length = len; if (str_tail) str_tail->next = s; else str_head = s; str_tail = s; } void string_add_char (int n) { char c = n; string_add (&c, 1); } void string_finish (void) { struct string_list *s; int len = 0; char *p; for (s = str_head; s; s = s->next) len += s->length; len++; yylval.string = xmalloc (len); for (p = yylval.string, s = str_head; s; ) { struct string_list *next = s->next; memcpy (p, s->str, s->length); p += s->length; xfree (s); s = next; } *p = 0; } void multiline_begin (void) { char *endp; int len; char *p = yytext + 2; /* past the << marker */ if (*p == '-') { strip_tabs = 1; p++; } else strip_tabs = 0; /* Find the delimiter */ for (endp = p; *endp; endp++) if (isspace (*(u_char*)endp)) break; len = endp - p; multiline_delimiter = xmalloc (len + 1); memcpy (multiline_delimiter, p, len); multiline_delimiter[len] = 0; string_begin (); } void multiline_finish (void) { free (multiline_delimiter); multiline_delimiter = NULL; string_finish (); } int isemptystr (char *text) { for (; *text && isspace (*(u_char*)text); text++) ; return *text == 0; } char * multiline_strip_tabs (char *text) { if (strip_tabs) for (; *text == '\t'; text++) ; return text; } void multiline_add (char *p) { string_add (p, strlen (p)); } int escape (int c) { switch (c) { case 'a': return '\a'; case 'b': return '\b'; case 'f': return '\f'; case 'e': return '\e'; case 'n': return '\n'; case 'r': return '\t'; case 't': return '\t'; case 'v': return '\v'; default: break; } return c; } char * trimws (char *s) { int len; for (len = strlen (s) - 1; len > 0 && isspace ((u_char)s[len]); len--) ; if (len > 0) s[len+1] = 0; return s; } char * trimcpy (void) { char *string; int i, j, len; for (i = 0; i < yyleng && isspace ((u_char)yytext[i]); i++) ; for (j = yyleng - 1; j > i && isspace ((u_char)yytext[i]); j--) ; len = j - i + 1; string = xmalloc (len + 1); memcpy (string, yytext + i, len); string[len] = 0; return string; } int rc_open (char *name) { yyin = fopen (name, "r"); if (!yyin) { if (options.termlevel == DEBUG) anubis_error (0, errno, _("Anubis RC file error")); return -1; } cfg_file = name; cfg_line_num = 1; return 0; } int error_sync_begin () { int c; while (yyin && (c = yylex ()) > 0) { if (c == T_BEGIN) { yyless (0); break; } else if (c == D_BEGIN) { xfree (yylval.string); yyless (0); break; } } return c; } anubis-4.1.1+dfsg1/src/mda.c0000600000175000017500000001550411121752642013242 0ustar kbkb/* mda.c This file is part of GNU Anubis. Copyright (C) 2005, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" #define obstack_chunk_alloc malloc #define obstack_chunk_free free #include char *from_address; /* Sender address */ /* Expand a meta-variable. Available meta-variables are: %sender Replace with the sender name %recipient Replace with the recipient name */ static void expand_meta_variable (char *start, size_t size, char **expansion, size_t *expansion_size) { size--; start++; if (strncmp ("sender", start, size) == 0) { *expansion = from_address; *expansion_size = strlen (*expansion); } else if (strncmp ("recipient", start, size) == 0) { *expansion = session.clientname; *expansion_size = strlen (*expansion); } else { *expansion = start; *expansion_size = size; } } /* Expand meta-notations in arguments. */ static void expand_arg (struct obstack *stk, char *arg) { char *meta = 0; for (; *arg; arg++) { if (!meta) { if (*arg != '%') obstack_1grow (stk, *arg); else meta = arg; } else /* In metacharacter */ { if (!(isalnum (*arg) || *arg == '_')) { char *repl; size_t size; expand_meta_variable (meta, arg - meta, &repl, &size); obstack_grow (stk, repl, size); obstack_1grow (stk, *arg); meta = NULL; } } } if (meta) { char *repl; size_t size; expand_meta_variable (meta, arg - meta, &repl, &size); obstack_grow (stk, repl, size); } obstack_1grow (stk, 0); } /* Deliver message to the recipient */ static void deliver (const char *recipient, MESSAGE *msg) { int status; pid_t pid; info (VERBOSE, _("Delivering to %s"), recipient); pid = fork (); if (pid == (pid_t)-1) anubis_error(EX_TEMPFAIL, errno, _("Cannot fork")); if (pid == 0) { /* Child */ int i; char **argv; char *p; struct obstack stk; assign_string (&session.clientname, recipient); /* Create argv vector. Argv will not be freed. It is no use, since we're going to exit anyway. */ obstack_init (&stk); for (i = 0; session.execargs[i]; i++) expand_arg (&stk, session.execargs[i]); obstack_1grow (&stk, 0); argv = xmalloc (sizeof *argv * (i + 1)); for (i = 0, p = obstack_finish (&stk); *p; p += strlen (p) + 1, i++) argv[i] = p; argv[i] = NULL; remote_server = make_local_connection (session.execpath, argv); if (!remote_server) { service_unavailable (&remote_client); exit (EXIT_FAILURE); } anubis_changeowner (recipient); /* FIXME: Contains PAM auth. Is it OK? */ open_rcfile (CF_CLIENT); process_rcfile (CF_CLIENT); rcfile_call_section (CF_CLIENT, incoming_mail_rule, NULL, msg); transfer_header (msg->header); transfer_body (msg); stream_close (remote_server); stream_destroy (&remote_server); /* Wait for the real MTA to exit. FIXME: We'd better wait for a specific pid */ pid = waitpid ((pid_t) -1, &status, 0); if (WIFEXITED (status)) { status = WEXITSTATUS (status); info (VERBOSE, _("MDA grandchild %lu exited with code %d"), (unsigned long)pid, status); exit (status); } else if (WIFSIGNALED (status)) { anubis_error (EX_SOFTWARE, 0, _("MDA grandchild %lu terminated on signal %d"), (unsigned long) pid, WTERMSIG (status)); } else { anubis_error (EX_SOFTWARE, 0, _("MDA grandchild %lu terminated"), (unsigned long) pid); } } else { /* Master */ info (VERBOSE, _("Started MDA child %lu"), (unsigned long)pid); waitpid (pid, &status, 0); if (WIFEXITED (status)) { status = WEXITSTATUS (status); info (VERBOSE, _("MDA child %lu exited with code %d"), (unsigned long)pid, status); if (status) exit (status); } else if (WIFSIGNALED (status)) { anubis_error (EX_SOFTWARE, 0, _("MDA child %lu terminated on signal %d"), (unsigned long) pid, WTERMSIG (status)); } else { anubis_error (EX_SOFTWARE, 0, _("MDA child %lu terminated"), (unsigned long) pid); } } } /* Extract sender e-mail from the UNIX 'From ' line and save it in from_address */ static void save_sender_address (char *from_line) { char *p; from_line += 5; p = strchr (from_line, ' '); if (p) assign_string_n (&from_address, from_line, p - from_line); else /* Should not happen, but anyway ... */ assign_string (&from_address, from_line); } #define DEFAULT_FROM_ADDRESS "" /* FIXME: a better value? postmaster@localhost? */ /* Ensure from_address is set. */ static void ensure_sender_address (MESSAGE *msg) { if (!from_address) { ASSOC *p = list_locate (msg->header, "From", anubis_assoc_cmp); if (p) { /* Find the email address itself. It is a rather simplified logic, but it seems to be sufficient for the purpose */ char *q = strchr (p->value, '@'); if (!q) assign_string (&from_address, p->value); else { char *start, *end; for (start = q; start > p->value; start--) { if (*start == '<' || isspace (*start)) { start++; break; } } for (end = q; *end; end++) { if (*end == '>' || isspace (*end)) { end--; break; } } assign_string_n (&from_address, start, end - start + 1); } } else assign_string (&from_address, DEFAULT_FROM_ADDRESS); } remcrlf (from_address); } /* Run in MDA mode */ void mda () { char **p; MESSAGE msg; char *buf = NULL; size_t size = 0; char *line = NULL; create_stdio_stream (&remote_client); message_init (&msg); /* Read eventual From line */ if (recvline (SERVER, remote_client, &buf, &size) == 0) exit (EX_OK); if (memcmp (buf, "From ", 5) == 0) save_sender_address (buf); else assign_string (&line, buf); collect_headers (&msg, line); free (buf); ensure_sender_address (&msg); collect_body (&msg); signal (SIGCHLD, SIG_DFL); for (p = x_argv; *p; p++) deliver (*p, &msg); message_free (&msg); exit (EX_OK); } anubis-4.1.1+dfsg1/src/dbtext.c0000600000175000017500000001214411121752642013770 0ustar kbkb/* dbtext.c This file is part of GNU Anubis. Copyright (C) 2003, 2004, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" #ifdef WITH_GSASL /* Open the plaintext database. ARG is the full pathname to the file */ static int dbtext_open (void **dp, ANUBIS_URL * url, enum anubis_db_mode mode, char **errp) { FILE *fp; char *tmode; char *path; switch (mode) { case anubis_db_rdonly: tmode = "r"; break; case anubis_db_rdwr: tmode = "a+"; break; default: *errp = strerror (EINVAL); return ANUBIS_DB_FAIL; } path = anubis_url_full_path (url); fp = fopen (path, tmode); free (path); if (!fp) { if (errp) *errp = strerror (errno); return ANUBIS_DB_FAIL; } *dp = fp; return ANUBIS_DB_SUCCESS; } static int dbtext_close (void *d) { fclose ((FILE *) d); return ANUBIS_DB_SUCCESS; } static char * next_field (const char *text, const char **endp) { const char *p; char *field; int length; int nescapes = 0; if (!text) return NULL; for (p = text; *p && *p != ':' && *p != '\n'; p++) if (*p == '\\' && p[1] == ':') { nescapes++; p++; } if (endp) *endp = p + 1; length = p - text - nescapes; if (length == 0) return NULL; field = xmalloc (length + 1); if (nescapes) { char *q; for (q = field, p = text; *p != ':'; ) { if (*p == '\\' && p[1] == ':') p++; *q++ = *p++; } *q = 0; } else { memcpy (field, text, length); field[length] = 0; } return field; } static void put_field (FILE *fp, const char *text) { if (!text) return; for (; *text; text++) { if (*text == ':') fputc ('\\', fp); fputc (*text, fp); } } int dbtext_to_record (const char *p, ANUBIS_USER *rec) { memset (rec, 0, sizeof *rec); while (*p && isspace (*p)) p++; if (*p == '#') return ANUBIS_DB_NOT_FOUND; rec->smtp_authid = next_field (p, &p); if (!rec->smtp_authid) return ANUBIS_DB_NOT_FOUND; rec->smtp_passwd = next_field (p, &p); if (!rec->smtp_passwd) { free (rec->smtp_authid); return ANUBIS_DB_FAIL; } rec->username = next_field (p, &p); rec->rcfile_name = next_field (p, &p); return ANUBIS_DB_SUCCESS; } static int dbtext_get (void *d, const char *key, ANUBIS_USER * rec, int *errp) { FILE *fp = d; char buf[512], *p; memset (rec, 0, sizeof *rec); fseek (fp, 0, SEEK_SET); while ((p = fgets (buf, sizeof buf, fp)) != NULL) { char *kp; while (*p && isspace (*p)) p++; if (*p == '#' || *p == 0) continue; kp = next_field (p, NULL); if (!kp || strcmp (kp, key)) { free (kp); continue; } free (kp); return dbtext_to_record (buf, rec); } return ferror (fp) ? ANUBIS_DB_FAIL : ANUBIS_DB_NOT_FOUND; } static int dbtext_put (void *d, const char *key, ANUBIS_USER *rec, int *errp) { FILE *fp = d; put_field (fp, rec->smtp_authid); fputc (':', fp); put_field (fp, rec->smtp_passwd); fputc (':', fp); put_field (fp, rec->username); fputc (':', fp); put_field (fp, rec->rcfile_name); fputc ('\n', fp); return ferror (fp) ? ANUBIS_DB_FAIL : ANUBIS_DB_SUCCESS; } static int dbtext_list (void *d, ANUBIS_LIST * list, int *ecode) { FILE *fp = d; char buf[512], *p; fseek (fp, 0, SEEK_SET); while ((p = fgets (buf, sizeof buf, fp)) != NULL) { ANUBIS_USER rec; if (dbtext_to_record (buf, &rec) == ANUBIS_DB_SUCCESS) { ANUBIS_USER *prec = xmalloc (sizeof (*prec)); memcpy (prec, &rec, sizeof (*prec)); list_append (list, prec); } } return ANUBIS_DB_SUCCESS; } static int dbtext_delete (void *d, const char *keystr, int *ecode) { FILE *fp = d; char buf[512], *p; int rc = ANUBIS_DB_FAIL; fseek (fp, 0, SEEK_SET); while ((p = fgets (buf, sizeof buf, fp)) != NULL) { size_t len; char *kp; while (*p && isspace (*p)) p++; if (*p == '#' || *p == 0) continue; kp = next_field (p, NULL); if (!kp || strcmp (kp, keystr)) { free (kp); continue; } free (kp); len = strlen (buf); memset (buf, '#', len - 1); buf[len - 1] = 0; fseek (fp, -(off_t) len, SEEK_CUR); fputs (buf, fp); rc = ANUBIS_DB_SUCCESS; break; } return rc; } void dbtext_init (void) { anubis_db_register ("text", dbtext_open, dbtext_close, dbtext_get, dbtext_put, dbtext_delete, dbtext_list, NULL); } #endif /* WITH_GSASL */ /* EOF */ anubis-4.1.1+dfsg1/src/Makefile.am0000600000175000017500000000613711121752642014373 0ustar kbkb## ## src/Makefile.am ## ## This file is part of GNU Anubis. ## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008 The Anubis Team. ## ## GNU Anubis is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by the ## Free Software Foundation; either version 3 of the License, or (at your ## option) any later version. ## ## GNU Anubis is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License along ## with GNU Anubis. If not, see . ## adm_sbin_programs = anubisadm adm_bin_programs = anubisusr sbin_PROGRAMS = anubis @ANUBIS_SBIN_ADM@ bin_PROGRAMS = @ANUBIS_BIN_ADM@ EXTRA_PROGRAMS = $(adm_bin_programs) $(adm_sbin_programs) noinst_LIBRARIES = libanubisdb.a anubis_LDADD = ./libanubisdb.a $(top_builddir)/lib/libanubis.a\ @LIBINTL@ $(GUILE_LIBS) @LIBGNUTLS_LIBS@ @GSASL_LIBS@ anubis_SOURCES = \ authmode.c \ daemon.c \ env.c \ errs.c \ esmtp.c \ exec.c \ extern.h \ gpg.c \ gsasl_srv.c \ guile.c \ headers.h \ help.c \ ident.c \ log.c \ main.c \ map.c \ mda.c \ message.c \ mime.c \ misc.c \ net.c \ proclist.c \ quit.c \ rcfile.c \ rcfile.h \ rcfile-gram.c \ rcfile-gram.h \ rcfile-lex.c \ regex.c \ socks.c \ transmode.c \ tunnel.c \ xdatabase.c anubisadm_SOURCES = anubisadm.c anubisadm.h adm.c anubisadm_LDADD = ./libanubisdb.a $(top_builddir)/lib/libanubis.a @LIBINTL@ anubisusr_SOURCES = anubisusr.c anubisusr.h usr.c anubisusr_LDADD = ./libanubisdb.a $(top_builddir)/lib/libanubis.a @LIBINTL@ @LIBGNUTLS_LIBS@ @GSASL_LIBS@ libanubisdb_a_SOURCES = \ anubisdb.c \ dbtext.c \ gdbm.c \ gsasl.c \ list.c \ list.h \ md5.c \ mysql.c \ pgsql.c \ sql.h \ sql.c \ stream.c \ tls.c \ url.c YLWRAP = $(SHELL) $(top_srcdir)/build/ylwrap AM_YFLAGS = -dtv EXTRA_DIST = rcfile.y rcfile.l getopt.m4 env.opt BUILT_SOURCES= \ rcfile-gram.c rcfile-gram.h \ rcfile-lex.c env.c rcfile-lex.c: $(srcdir)/rcfile.l rcfile-gram.h $(YLWRAP) "$(LEX) $(AM_LEXFLAGS) $(LEXFLAGS)" \ $(srcdir)/rcfile.l lex.yy.c rcfile-lex.c \ -- -yy rc_yy rcfile-gram.c rcfile-gram.h: $(srcdir)/rcfile.y $(YLWRAP) "$(YACC) $(AM_YFLAGS) $(YFLAGS)" $(srcdir)/rcfile.y \ y.tab.c rcfile-gram.c y.tab.h rcfile-gram.h \ y.output y.output \ -- -yy rc_yy localedir = $(datadir)/locale DEFS = @DEFS@ -DLOCALEDIR=\"$(localedir)\" INCLUDES = @INCLUDES@ @LIBGNUTLS_CFLAGS@ -I$(top_srcdir)/lib \ -I$(top_srcdir)/intl SUFFIXES=.opt .c .opt.c: m4 -s $(top_srcdir)/src/getopt.m4 $< | sed '1d' > $@ FLOWCHART_FILES=$(anubis_SOURCES) $(libanubisdb_a_SOURCES) flowchart: anubis.cflow anubis.cflow: $(FLOWCHART_FILES) CFLOWRC=$(top_srcdir)/build/cflow.rc \ cflow -o$@ --brief -i^s $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) `echo $(FLOWCHART_FILES)|sed 's/[^ ]*\.h //g'` ## EOF anubis-4.1.1+dfsg1/src/socks.c0000600000175000017500000002242711121752642013625 0ustar kbkb/* socks.c This file is part of GNU Anubis. Copyright (C) 2001, 2002, 2003, 2004, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" #ifdef USE_SOCKS_PROXY /* SOCKS proxy support. Based on RFC 1928 ("SOCKS Protocol Version 5"). */ #define SOCKS_VERSION 0x05 /* SOCKS PROTOCOL VERSION 5 */ #define SOCKS_PASS_VERSION 0x01 /* SOCKS PASS VERSION 5 */ #define SOCKS_NOAUTH 0x00 /* NO AUTHENTICATION REQUIRED */ #define SOCKS_USERPASS 0x02 /* USER NAME/PASSWORD */ #define SOCKS_NAM 0xFF /* NO ACCEPTABLE METHODS */ #define SOCKS_USERPASS_OK 0x00 /* USER NAME/PASSWORD is OK */ #define SOCKS_CMD_CONNECT 0x01 /* CONNECT COMMAND */ #define ATYP_IPv4 0x01 /* IPv4 */ #define ATYP_DOMAINNAME 0x03 /* DOMAIN NAME */ static int connect_through_socks_proxy (int, char *, unsigned int); int check_socks_proxy (int sd, char *host, unsigned int port) { if (!(topt & T_SOCKS)) return 0; info (VERBOSE, _("Using SOCKS Proxy...")); if (connect_through_socks_proxy (sd, host, port) == -1) return -1; return 0; } static int memcopy_offset (char *dst, char *what, int offset) { int i; for (i = offset; what[i - offset] != '\0'; i++) dst[i] = what[i - offset]; return i; } static void socks_error (const char *msg) { anubis_error (EXIT_FAILURE, 0, _("SOCKS proxy: %s"), msg); } static int connect_through_socks_proxy (int sd, char *host, unsigned int port) { unsigned char request[1024]; unsigned char reply[1024]; int i = 0; int ip = 0; int offset = 0; if (topt & T_SOCKS_V4) { /* SOCKS v4 */ /* Prepare a request. */ memset (request, 0, sizeof (request)); request[offset++] = 4; request[offset++] = 1; /* htons -- special edition for SOCKS v4 */ { unsigned char st, nd; st = port >> 8; nd = (port << 8) >> 8; request[offset++] = st; request[offset++] = nd; } for (i = 0; host[i] != '\0'; i++) { if (isdigit ((u_char) host[i]) || host[i] == '.') ip = 1; else ip = 0; } if (ip) { unsigned char ip[5]; unsigned char tmp[5]; int j = 0, z = 0; memset (ip, 0, sizeof (ip)); memset (tmp, 0, sizeof (tmp)); strcat (host, "."); for (i = 0; host[i] != '\0' && j < sizeof (tmp) - 1 && z < sizeof (ip) - 1; i++) { if (host[i] != '.') { tmp[j++] = host[i]; } else { j = 0; ip[z++] = atoi ((char *) tmp); memset (tmp, 0, sizeof (tmp)); } } z = 0; for (i = 0; i < 4; i++) request[offset++] = ip[z++]; } else { socks_error (_("Address must be an IP, not a domain name.")); return -1; } /* User name ended with... */ offset = memcopy_offset ((char *) request, session.socks_username, offset); request[offset++] = 0x00; /* null */ /* Send a request. */ if (send (sd, request, offset, 0) == -1) { socket_error (NULL); return -1; } /* Get a reply. */ sleep (1); memset (reply, 0, sizeof (reply)); recv (sd, reply, 8, 0); /* Process a reply. */ switch (reply[1]) { case 90: info (VERBOSE, _("SOCKS Proxy Connection: succeeded.")); break; case 91: socks_error (_("Request rejected or failed.")); return -1; case 92: socks_error (_("Request rejected.")); return -1; case 93: socks_error (_("Request rejected, because " "the client program and identd reported different User-IDs.")); return -1; default: socks_error (_("Server reply is not valid.")); return -1; } } else { /* SOCKS v5 */ /* Prepare an AUTH request. */ memset (request, 0, sizeof (request)); request[offset++] = SOCKS_VERSION; request[offset++] = 2; request[offset++] = SOCKS_NOAUTH; request[offset++] = SOCKS_USERPASS; /* Send an AUTH request. */ if (send (sd, request, offset, 0) == -1) { socket_error (NULL); return -1; } /* Get a reply. */ sleep (1); memset (reply, 0, sizeof (reply)); recv (sd, reply, 2, 0); /* Check a reply VERSION. */ if (reply[0] != SOCKS_VERSION) { socks_error (_("Possibly not a SOCKS proxy service.")); return -1; } /* Process an AUTH reply. */ switch (reply[1]) { case SOCKS_NOAUTH: info (VERBOSE, _("SOCKS Proxy AUTH method: NO AUTHENTICATION REQUIRED")); break; case SOCKS_USERPASS: info (VERBOSE, _("SOCKS Proxy AUTH method: USER NAME/PASSWORD")); if (!(topt & T_SOCKS_AUTH)) { socks_error (_("Cannot send null user name or password.")); return -1; } /* Prepare User/Pass request. */ memset (request, 0, sizeof (request)); offset = 0; request[offset++] = SOCKS_PASS_VERSION; request[offset++] = strlen (session.socks_username); offset = memcopy_offset ((char *) request, session.socks_username, offset); request[offset++] = strlen (session.socks_password); offset = memcopy_offset ((char *) request, session.socks_password, offset); /* Send User/Pass request. */ if (send (sd, request, offset, 0) == -1) { socket_error (NULL); return -1; } /* Get a reply. */ sleep (1); memset (reply, 0, sizeof (reply)); recv (sd, reply, 2, 0); /* Check a reply. */ if (reply[1] != SOCKS_USERPASS_OK) { socks_error (_("Bad user name or password.")); return -1; } else info (VERBOSE, _("SOCKS Proxy AUTH: succeeded.")); break; case SOCKS_NAM: socks_error (_("Server does not accept any method.")); return -1; default: socks_error (_("Server does not accept an AUTH method.")); return -1; } /* Prepare a connection request */ memset (request, 0, sizeof (request)); offset = 0; request[offset++] = SOCKS_VERSION; request[offset++] = SOCKS_CMD_CONNECT; request[offset++] = 0; for (i = 0; host[i] != '\0'; i++) { if (isdigit ((u_char) host[i]) || host[i] == '.') ip = 1; /* IPv4 */ else ip = 0; /* a domain name */ } if (ip == 1) { /* IPv4 */ unsigned char ip[5]; unsigned char tmp[5]; int j = 0, z = 0; memset (ip, 0, sizeof (ip)); memset (tmp, 0, sizeof (tmp)); request[offset++] = ATYP_IPv4; /* it's an IPv4 */ strcat (host, "."); for (i = 0; host[i] != '\0' && j < sizeof (tmp) - 1 && z < sizeof (ip) - 1; i++) { if (host[i] != '.') { tmp[j++] = host[i]; } else { j = 0; ip[z++] = atoi ((char *) tmp); memset (tmp, 0, sizeof (tmp)); } } z = 0; for (i = 0; i < 4; i++) request[offset++] = ip[z++]; } else { /* a domain name */ request[offset++] = ATYP_DOMAINNAME; request[offset++] = strlen (host); offset = memcopy_offset ((char *) request, host, offset); } /* htons -- special edition for v5 */ { unsigned char st, nd; st = port >> 8; nd = (port << 8) >> 8; request[offset++] = st; request[offset++] = nd; } /* Send a connection request. */ if (send (sd, request, offset, 0) == -1) { socket_error (NULL); return -1; } /* Get a reply. */ sleep (1); memset (reply, 0, sizeof (reply)); recv (sd, reply, 4, 0); /* We don't know how long is a reply. */ /* Process a connection reply. */ switch (reply[1]) { case 0x00: info (VERBOSE, _("SOCKS Proxy Connection: succeeded.")); break; case 0x01: socks_error (_("General SOCKS server failure.")); return -1; case 0x02: socks_error (_("Connection not allowed by a ruleset.")); return -1; case 0x03: socks_error (_("Network unreachable.")); return -1; case 0x04: socks_error (_("Host unreachable.")); return -1; case 0x05: socks_error (_("Connection refused.")); return -1; case 0x06: socks_error (_("TTL expired.")); return -1; case 0x07: socks_error (_("Command not supported.")); return -1; case 0x08: socks_error (_("Address type not supported.")); return -1; default: socks_error (_("Server reply is not valid.")); return -1; } switch (reply[3]) { case ATYP_IPv4: memset (reply, 0, sizeof (reply)); /* 6 = IPv4 (4) + port number (2) */ recv (sd, reply, 6, 0); break; case ATYP_DOMAINNAME: { int length = 0; memset (reply, 0, sizeof (reply)); recv (sd, reply, 1, 0); length = reply[1]; memset (reply, 0, sizeof (reply)); recv (sd, reply, length + 2, 0); } break; } } return 0; } #endif /* USE_SOCKS_PROXY */ /* EOF */ anubis-4.1.1+dfsg1/src/stream.c0000600000175000017500000001177211121752642013777 0ustar kbkb/* stream.c This file is part of GNU Anubis. Copyright (C) 2004, 2007, 2008 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" enum stream_state { state_open, state_closed }; struct net_stream { enum stream_state state; stream_read_t read; stream_write_t write; stream_strerror_t strerror; stream_close_t close; stream_destroy_t destroy; char buf[LINEBUFFER + 1]; /* Input buffer */ size_t level; /* Buffer fill level */ char *read_ptr; /* Current buffer pointer */ void *data; }; static const char * _def_strerror (void *data, int rc) { return strerror (rc); } static int _def_write (void *sd, const char *data, size_t size, size_t * nbytes) { int rc = send ((int) sd, data, size, 0); if (rc >= 0) { *nbytes = rc; return 0; } return errno; } static int _def_read (void *sd, char *data, size_t size, size_t * nbytes) { int rc = recv ((int) sd, data, size, 0); if (rc >= 0) { *nbytes = rc; return 0; } return errno; } static int _def_close (void *sd) { close ((int) sd); return 0; } void stream_create (struct net_stream **str) { *str = xzalloc (sizeof **str); } int stream_set_io (struct net_stream *str, void *data, stream_read_t read, stream_write_t write, stream_close_t close, stream_destroy_t destroy, stream_strerror_t strerror) { if (!str) return EINVAL; str->state = state_open; str->data = data; str->read = read ? read : _def_read; str->write = write ? write : _def_write; str->close = close ? close : _def_close; str->destroy = destroy; str->strerror = strerror ? strerror : _def_strerror; return 0; } int stream_set_read (struct net_stream *str, stream_read_t read) { if (!str) return EINVAL; str->read = read ? read : _def_read; return 0; } int stream_set_write (struct net_stream *str, stream_write_t write) { if (!str) return EINVAL; str->write = write ? write : _def_write; return 0; } int stream_set_strerror (struct net_stream *str, stream_strerror_t strerr) { if (!str) return EINVAL; str->strerror = strerr ? strerr : _def_strerror; return 0; } int stream_close (struct net_stream *str) { if (!str) return EINVAL; if (str->state != state_open) return 0; str->state = state_closed; return str->close (str->data); } int stream_destroy (struct net_stream **str) { if (!str || !*str) return EINVAL; if ((*str)->destroy) (*str)->destroy ((*str)->data); xfree (*str); return 0; } const char * stream_strerror (struct net_stream *str, int errcode) { if (!str) return strerror (EINVAL); return str->strerror (str->data, errcode); } int stream_read (struct net_stream *str, char *buf, size_t size, size_t * nbytes) { if (!str) return EINVAL; return str->read (str->data, buf, size, nbytes); } int stream_write (struct net_stream *str, const char *buf, size_t size, size_t *nbytes) { if (!str) return EINVAL; return str->write (str->data, buf, size, nbytes); } static int read_char (struct net_stream *str, char *ptr, size_t * pcount) { if (str->level <= 0) { int rc = str->read (str->data, str->buf, sizeof str->buf, &str->level); if (rc) return rc; if (str->level == 0) { *pcount = 0; return 0; } str->read_ptr = str->buf; } str->level--; *ptr = *str->read_ptr++; *pcount = 1; return 0; } int stream_readline (struct net_stream *str, char *buf, size_t size, size_t *nbytes) { int rc = 0; size_t n; char c, *ptr; if (!str) return EINVAL; ptr = buf; for (n = 1; n < size; n++) { size_t count; rc = read_char (str, &c, &count); if (rc) break; if (count == 1) { *ptr++ = c; if (c == '\n') break; } else /* if (count == 0) */ break; } *ptr = 0; *nbytes = ptr - buf; return rc; } #define INIT_GETLINE_SIZE 128 int stream_getline (NET_STREAM sd, char **vptr, size_t *maxlen, size_t *nread) { int rc; size_t off = 0; while (1) { size_t nbytes; if (*maxlen - off <= 1) { *maxlen += INIT_GETLINE_SIZE; *vptr = xrealloc (*vptr, *maxlen); } rc = stream_readline (sd, *vptr + off, *maxlen - off, &nbytes); if (rc) return rc; if (nbytes == 0) break; off += nbytes; if ((*vptr)[off - 1] == '\n') break; } (*vptr)[off] = 0; if (nread) *nread = off; return 0; } anubis-4.1.1+dfsg1/src/ident.c0000600000175000017500000001075111121752642013603 0ustar kbkb/* ident.c This file is part of GNU Anubis. Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" /*********************** IDENT protocol support ************************/ #define USERNAME_C "USERID :" /* If the reply matches sscanf expression "%*[^:]: USERID :%*[^:]:%s" and the length of "%s" part does not exceed size-1 bytes, copies this part to USERNAME and returns 0. Otherwise, returns 1 */ static int ident_extract_username (char *reply, char **pusername) { char *p; p = strchr (reply, ':'); if (!p) return 1; if (p[1] != ' ' || strncmp (p + 2, USERNAME_C, sizeof (USERNAME_C) - 1)) return 1; p += 2 + sizeof (USERNAME_C) - 1; p = strchr (p, ':'); if (!p) return 1; do p++; while (*p == ' '); assign_string (pusername, p); return 0; } /* If the reply matches sscanf expression "%*[^ ] %*[^ ] %*[^ ] %*[^ ] %*[^ ] %s" and the length of "%s" part does not exceed size-1 bytes, copies this part to USERNAME and returns 0. Otherwise, returns 1 */ static int crypt_extract_username (char *reply, char **pusername) { int i; char *p = reply; #define skip_word(c) while (*c && (*c) != ' ') c++ /* Skip five words */ for (i = 0; i < 5; i++) { skip_word (p); if (!*p++) return 1; } assign_string (pusername, p); return 0; } int auth_ident (struct sockaddr_in *addr, char **user) { struct servent *sp; struct sockaddr_in ident; char *buf = NULL; char inetd_buf[LINEBUFFER]; size_t size = 0; int sd = 0; int rc; NET_STREAM str; size_t nbytes; if ((sd = socket (AF_INET, SOCK_STREAM, 0)) < 0) { anubis_error (0, errno, _("IDENT: socket() failed")); return 0; } memcpy (&ident, addr, sizeof (ident)); sp = getservbyname ("auth", "tcp"); if (sp) ident.sin_port = sp->s_port; else ident.sin_port = htons (113); /* default IDENT port number */ if (connect (sd, (struct sockaddr *) &ident, sizeof (ident)) < 0) { anubis_error (0, errno, _("IDENT: connect() failed")); close_socket (sd); return 0; } net_create_stream (&str, sd); info (VERBOSE, _("IDENT: connected to %s:%u"), inet_ntoa (ident.sin_addr), ntohs (ident.sin_port)); snprintf (inetd_buf, sizeof inetd_buf, "%u , %u" CRLF, ntohs (addr->sin_port), session.anubis_port); if ((rc = stream_write (str, inetd_buf, strlen (inetd_buf), &nbytes))) { anubis_error (0, 0, _("IDENT: stream_write() failed: %s."), stream_strerror (str, rc)); net_close_stream (&str); return 0; } if (recvline (CLIENT, str, &buf, &size) == 0) { anubis_error (0, 0, _("IDENT: recvline() failed: %s."), stream_strerror (str, rc)); net_close_stream (&str); return 0; } net_close_stream (&str); remcrlf (buf); if (ident_extract_username (buf, user)) { info (VERBOSE, _("IDENT: incorrect data.")); free (buf); return 0; } free (buf); /****************************** IDENTD DES decryption support *******************************/ if (strstr (*user, "[") && strstr (*user, "]")) { int rs = 0; info (VERBOSE, _("IDENT: data probably encrypted with DES...")); external_program (&rs, IDECRYPT_PATH, *user, buf, LINEBUFFER); if (rs == -1) return 0; remcrlf (buf); if (crypt_extract_username (buf, user)) { info (VERBOSE, _("IDENT: incorrect data (DES deciphered).")); return 0; } else { /* UID deciphered */ if (ntohl (ident.sin_addr.s_addr) == INADDR_LOOPBACK) { struct passwd *pwd; int uid = atoi (*user); pwd = getpwuid (uid); if (pwd != 0) assign_string (user, pwd->pw_name); else return 0; } } } info (VERBOSE, _("IDENT: resolved remote user to %s."), *user); return 1; /* success */ } /* EOF */ anubis-4.1.1+dfsg1/src/main.c0000600000175000017500000001036011121752642013420 0ustar kbkb/* GNU Anubis -- an SMTP message submission daemon. Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" ANUBIS_MODE anubis_mode = anubis_transparent; const char version[] = "GNU Anubis v" VERSION; struct options_struct options; struct session_struct session; #if defined(HAVE_TLS) || defined(HAVE_SSL) struct secure_struct secure; #endif /* HAVE_TLS or HAVE_SSL */ unsigned long topt; NET_STREAM remote_client; NET_STREAM remote_server; char *anubis_domain; /* Local domain for EHLO in authentication mode */ char *incoming_mail_rule; /* Name of section for incoming mail processing */ char *outgoing_mail_rule; /* Name of section for outgoing mail processing */ #ifdef WITH_GUILE void anubis_core (void) { char *argv[] = { "anubis", NULL }; scm_boot_guile (1, argv, anubis_boot, NULL); } #else # define anubis_core() anubis(NULL) #endif /* WITH_GUILE */ void xalloc_die () { anubis_error (EXIT_FAILURE, 0, "%s", _("Not enough memory")); abort (); } int main (int argc, char *argv[]) { /* Signal handling. */ signal (SIGILL, sig_exit); signal (SIGINT, sig_exit); signal (SIGTERM, sig_exit); signal (SIGHUP, sig_exit); signal (SIGQUIT, sig_exit); signal (SIGPIPE, SIG_IGN); signal (SIGALRM, sig_timeout); /* Native Language Support */ #ifdef ENABLE_NLS /* Set locale via LC_ALL. */ #ifdef HAVE_SETLOCALE setlocale (LC_ALL, ""); #endif /* HAVE_SETLOCALE */ bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); #endif /* ENABLE_NLS */ /* default values */ options.termlevel = NORMAL; options.uloglevel = FAILS; session.anubis_port = 24; /* private mail system */ session.mta_port = 25; #ifdef USE_SOCKS_PROXY session.socks_port = 1080; #endif /* Process the command line options. */ SETVBUF (stderr, NULL, _IOLBF, 0); get_options (argc, argv); anubis_getlogin (&session.supervisor); assign_string (&incoming_mail_rule, "INCOMING"); assign_string (&outgoing_mail_rule, "RULE"); /* Initialize various database formats */ #ifdef WITH_GSASL dbtext_init (); # ifdef HAVE_LIBGDBM gdbm_db_init (); # endif # ifdef WITH_MYSQL mysql_db_init (); # endif # ifdef WITH_PGSQL pgsql_db_init (); # endif #endif /* WITH_GSASL */ /* Initialize the rc parsing subsystem. Read the system configuration file (SUPERVISOR). */ rc_system_init (); if (topt & T_CHECK_CONFIG) { open_rcfile (CF_SUPERVISOR); exit (0); } if (!(topt & T_NORC)) { open_rcfile (CF_SUPERVISOR); process_rcfile (CF_INIT); } /* DEBUG */ #if defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT) if (options.termlevel != DEBUG) { struct rlimit corelimit; if (getrlimit (RLIMIT_CORE, &corelimit) == 0) { corelimit.rlim_cur = 0; setrlimit (RLIMIT_CORE, &corelimit); } } #endif /* HAVE_GETRLIMIT and HAVE_SETRLIMIT */ info (VERBOSE, _("UID:%d (%s), GID:%d, EUID:%d, EGID:%d"), (int) getuid (), session.supervisor, (int) getgid (), (int) geteuid (), (int) getegid ()); /* Initialize GnuTLS and the PRNG. */ #ifdef USE_SSL init_ssl_libs (); #endif /* USE_SSL */ /* Enter the main core... */ anubis_core (); return 0; } void anubis (char *arg) { if (anubis_mode == anubis_mda) /* Mail Delivery Agent */ mda (); else if (topt & T_STDINOUT) /* stdin/stdout */ stdinout (); else { /* daemon */ int sd_bind; sd_bind = bind_and_listen (session.anubis, session.anubis_port); if (topt & T_FOREGROUND_INIT) topt |= T_FOREGROUND; else daemonize (); loop (sd_bind); } } /* EOF */ anubis-4.1.1+dfsg1/src/gpg.c0000600000175000017500000003270711121752642013262 0ustar kbkb/* gpg.c This file is part of GNU Anubis. Copyright (C) 2001, 2002, 2003, 2004, 2007, 2008 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include "extern.h" #include "rcfile.h" #ifdef HAVE_GPG #include #define obstack_chunk_alloc malloc #define obstack_chunk_free free #include struct gpg_struct { int inited; char *sign_keys; char *encryption_keys; char *passphrase; }; static struct gpg_struct gpg; static int gpgme_init (void); static char *gpg_sign (char *); static char *gpg_encrypt (char *); static char *gpg_sign_encrypt (char *); static void gpgme_debug_info (gpgme_ctx_t); #define EXTRA_GPG_BUF 4096 #define fail_if_err(code) do { \ int a = code;\ if (a) { \ anubis_error(EXIT_FAILURE, 0, _("GPGME: %s."), \ gpgme_strerror(a)); \ } \ } while(0) /* A replacement for the deprecated gpgme_data_rewind function. */ static gpgme_error_t rewind_gpgme_data (gpgme_data_t dh) { return (gpgme_data_seek (dh, 0, SEEK_SET) == -1) ? gpg_error_from_errno (errno) : 0; } static void gpgme_debug_info (gpgme_ctx_t ctx) { /* FIXME: Current version of GPGMe does not provide any ways for getting this info */ } static void print_engine_info (gpgme_engine_info_t info) { for (; info; info = info->next) { fprintf (stderr, "Protocol: %s\n", gpgme_get_protocol_name (info->protocol)); fprintf (stderr, "Executable: %s\n", info->file_name ? info->file_name : "none"); fprintf (stderr, "Version: %s\n", info->version ? info->version : "N/A"); fprintf (stderr, "Required Version: %s\n", info->req_version ? info->req_version : "N/A"); } } #define GPGME_REQ_VERSION "0.9.0" /* GPGME 0.9.0 or later */ static int gpgme_init (void) { gpgme_error_t err; if ((gpgme_check_version (GPGME_REQ_VERSION)) == 0) { anubis_error (0, 0, _("Install GPGME version %s or later."), GPGME_REQ_VERSION); return -1; } if ((err = gpgme_engine_check_version (GPGME_PROTOCOL_OpenPGP))) { anubis_error (0, 0, _("GPGME: failed. %s."), gpgme_strerror (err)); return -1; } gpg.inited = 1; if (options.termlevel == DEBUG) { gpgme_engine_info_t info; if (gpgme_get_engine_info (&info) == 0) print_engine_info (info); } return 0; } gpgme_error_t passphrase_cb (void *hook, const char *uid_hint, const char *passphrase_info, int prev_was_bad, int fd) { if (!passphrase_info) return 0; size_t len = strlen(gpg.passphrase); if (write (fd, gpg.passphrase, len) != len) return gpg_error(GPG_ERR_CANCELED); if (write (fd, "\n", 1) != 1) return gpg_error(GPG_ERR_CANCELED); return 0; } static int anubis_gpg_read (gpgme_data_t dh, size_t size, char **pdata) { char buf[256]; char *data; size_t pos; size_t nread; pos = 0; size += EXTRA_GPG_BUF; data = xmalloc (size); while ((nread = gpgme_data_read (dh, buf, sizeof (buf))) > 0) { if (size - pos < nread) { size += sizeof (buf); data = xrealloc (data, size); } memcpy (data + pos, buf, nread); pos += nread; } if (size - pos == 0) { size++; data = xrealloc (data, size); } data[pos] = 0; if (nread == -1) fail_if_err (errno); *pdata = data; return pos ; } static char * gpg_sign (char *gpg_data) { gpgme_ctx_t ctx; gpgme_error_t err = 0; gpgme_data_t in, out; gpgme_key_t key; char *p, *signed_data; fail_if_err (gpgme_new (&ctx)); if (gpg.sign_keys) { err = gpgme_op_keylist_start (ctx, gpg.sign_keys, 0); if (!err) { while ((err = gpgme_op_keylist_next (ctx, &key)) == 0) { err = gpgme_signers_add (ctx, key); gpgme_key_release (key); } } if (err && gpg_err_code (err) != GPG_ERR_EOF) { anubis_error (0, 0, _("GPGME: Cannot list keys: %s"), gpgme_strerror (err)); gpgme_release (ctx); return NULL; } } p = getenv ("GPG_AGENT_INFO"); if (!(p && strchr (p, ':'))) gpgme_set_passphrase_cb (ctx, passphrase_cb, 0); gpgme_set_textmode (ctx, 1); gpgme_set_armor (ctx, 1); fail_if_err (gpgme_data_new_from_mem (&in, gpg_data, strlen (gpg_data), 0)); fail_if_err (gpgme_data_new (&out)); fail_if_err (gpgme_op_sign (ctx, in, out, GPGME_SIG_MODE_CLEAR)); fail_if_err (rewind_gpgme_data (out)); if (options.termlevel == DEBUG) gpgme_debug_info (ctx); anubis_gpg_read (out, strlen (gpg_data), &signed_data); gpgme_data_release (in); gpgme_data_release (out); gpgme_release (ctx); return signed_data; } static gpgme_key_t * create_key_array(gpgme_ctx_t ctx, struct obstack *stk) { gpgme_key_t tmpkey; char *current_key; int i, j, len = strlen (gpg.encryption_keys); current_key = xmalloc (len+1); for (i = j = 0; i <= len; i++) { if (gpg.encryption_keys[i] == ',' || gpg.encryption_keys[i] == '\0') { gpgme_error_t err; current_key[j] = 0; err = gpgme_op_keylist_start (ctx, current_key, 0); while (!err) { err = gpgme_op_keylist_next (ctx, &tmpkey); if (err) break; gpgme_get_key (ctx, current_key, &tmpkey, 0); obstack_grow (stk, &tmpkey, sizeof (tmpkey)); if (options.termlevel == DEBUG) { gpgme_user_id_t uid; for (uid = tmpkey->uids; uid; uid = uid->next) fprintf (stderr, "Using key %s: %s <%s>\n", uid->uid, uid->name, uid->email); } } if (gpg_err_code (err) != GPG_ERR_EOF) { fprintf (stderr, "cannot list keys: %s\n", gpgme_strerror (err)); exit (1); } memset (current_key, 0, sizeof (current_key)); j = 0; } else current_key[j++] = gpg.encryption_keys[i]; } xfree (current_key); tmpkey = NULL; obstack_grow (stk, &tmpkey, sizeof (tmpkey)); return obstack_finish (stk); } static char * gpg_encrypt (char *gpg_data) { gpgme_ctx_t ctx; gpgme_data_t in, out; char *encrypted_data; gpgme_key_t *keyptr; struct obstack stk; gpgme_encrypt_result_t result; fail_if_err (gpgme_new (&ctx)); gpgme_set_armor (ctx, 1); fail_if_err (gpgme_data_new_from_mem (&in, gpg_data, strlen (gpg_data), 0)); fail_if_err (gpgme_data_new (&out)); obstack_init (&stk); keyptr = create_key_array (ctx, &stk); fail_if_err (gpgme_op_encrypt (ctx, keyptr, GPGME_ENCRYPT_ALWAYS_TRUST, in, out)); result = gpgme_op_encrypt_result (ctx); if (result->invalid_recipients) anubis_error(0, 0, _("GPGME: Invalid recipient encountered: %s"), result->invalid_recipients->fpr); fail_if_err (rewind_gpgme_data (out)); if (options.termlevel == DEBUG) gpgme_debug_info (ctx); anubis_gpg_read (out, strlen (gpg_data), &encrypted_data); for (; *keyptr; keyptr++) gpgme_key_unref (*keyptr); obstack_free (&stk, NULL); gpgme_data_release (in); gpgme_data_release (out); gpgme_release (ctx); return encrypted_data; } static int check_result (gpgme_sign_result_t result, gpgme_sig_mode_t type) { int errcnt = 0; if (result->invalid_signers) { anubis_error (0, 0, _("GPGME: Invalid signer found: %s"), result->invalid_signers->fpr); errcnt++; } if (!result->signatures || result->signatures->next) { anubis_error (0, 0, _("GPGME: Unexpected number of signatures created")); errcnt++; } if (result->signatures->type != type) { errcnt++; anubis_error (0, 0, _("GPGME: Wrong type of signature created")); } if (result->signatures->pubkey_algo != GPGME_PK_DSA) { anubis_error (0, 0, _("GPGME: Wrong pubkey algorithm reported: %i"), result->signatures->pubkey_algo); errcnt++; } if (result->signatures->hash_algo != GPGME_MD_SHA1) { anubis_error (0, 0, _("GPGME: Wrong hash algorithm reported: %i"), result->signatures->hash_algo); errcnt++; } if (result->signatures->sig_class != 0) { anubis_error (0, 0, _("GPGME: Wrong signature class reported: %u"), result->signatures->sig_class); errcnt++; } /* FIXME: fingerprint? */ return 0; } static char * gpg_sign_encrypt (char *gpg_data) { gpgme_ctx_t ctx; gpgme_error_t err = 0; gpgme_data_t in, out; gpgme_key_t *keyptr, key; char *p, *se_data; /* Signed-Encrypted Data */ gpgme_encrypt_result_t result; gpgme_sign_result_t sign_result; struct obstack stk; fail_if_err (gpgme_new (&ctx)); if (gpg.sign_keys) { err = gpgme_op_keylist_start (ctx, gpg.sign_keys, 0); if (!err) { while ((err = gpgme_op_keylist_next (ctx, &key)) == 0) { err = gpgme_signers_add (ctx, key); gpgme_key_release (key); } } if (err && gpg_err_code (err) != GPG_ERR_EOF) { anubis_error (0, 0, _("GPGME: Cannot list keys: %s"), gpgme_strerror (err)); gpgme_release (ctx); xfree (se_data); return NULL; } } p = getenv ("GPG_AGENT_INFO"); if (!(p && strchr (p, ':'))) gpgme_set_passphrase_cb (ctx, (gpgme_passphrase_cb_t) passphrase_cb, 0); gpgme_set_armor (ctx, 1); fail_if_err (gpgme_data_new_from_mem (&in, gpg_data, strlen (gpg_data), 0)); fail_if_err (gpgme_data_new (&out)); obstack_init (&stk); keyptr = create_key_array (ctx, &stk); fail_if_err (gpgme_op_encrypt_sign (ctx, keyptr, GPGME_ENCRYPT_ALWAYS_TRUST, in, out)); result = gpgme_op_encrypt_result (ctx); if (result->invalid_recipients) anubis_error(0, 0, _("GPGME: Invalid recipient encountered: %s"), result->invalid_recipients->fpr); sign_result = gpgme_op_sign_result (ctx); if (check_result (sign_result, GPGME_SIG_MODE_NORMAL) == 0) { fail_if_err (rewind_gpgme_data (out)); if (options.termlevel == DEBUG) gpgme_debug_info (ctx); anubis_gpg_read (out, strlen (gpg_data), &se_data); } else xfree (se_data); for (; *keyptr; keyptr++) gpgme_key_unref (*keyptr); obstack_free (&stk, NULL); gpgme_data_release (in); gpgme_data_release (out); gpgme_release (ctx); return se_data; } void gpg_proc (MESSAGE * msg, char *(*proc) (char *input)) { char *buf; #if defined(HAVE_SETENV) || defined(HAVE_PUTENV) char homedir_s[MAXPATHLEN + 1]; /* SUPERVISOR */ char homedir_c[MAXPATHLEN + 1]; /* CLIENT */ get_homedir (session.supervisor, homedir_s, sizeof (homedir_s)); get_homedir (session.clientname, homedir_c, sizeof (homedir_c)); setenv ("HOME", homedir_c, 1); #endif /* HAVE_SETENV or HAVE_PUTENV */ buf = proc (msg->body); xfree (msg->body); msg->body = buf; #if defined(HAVE_SETENV) || defined(HAVE_PUTENV) setenv ("HOME", homedir_s, 1); #endif /* HAVE_SETENV or HAVE_PUTENV */ } void gpg_free (void) { if (gpg.passphrase) { memset (gpg.passphrase, 0, strlen (gpg.passphrase)); xfree (gpg.passphrase); } xfree (gpg.sign_keys); xfree (gpg.encryption_keys); } #define KW_GPG_PASSPHRASE 1 #define KW_GPG_ENCRYPT 2 #define KW_GPG_SIGN 3 #define KW_GPG_SIGN_ENCRYPT 4 #define KW_GPG_HOME 5 int gpg_parser (int method, int key, ANUBIS_LIST * arglist, void *inv_data, void *func_data, MESSAGE * msg) { char *arg = list_item (arglist, 0); switch (key) { case KW_GPG_PASSPHRASE: if (gpg.passphrase) { memset (gpg.passphrase, 0, strlen (gpg.passphrase)); xfree (gpg.passphrase); } gpg.passphrase = strdup (arg); arg = NULL; break; case KW_GPG_ENCRYPT: xfree (gpg.encryption_keys); gpg.encryption_keys = xstrdup (arg); if (gpg.inited == 0 && gpgme_init ()) break; gpg_proc (msg, gpg_encrypt); break; case KW_GPG_SIGN: if (strcasecmp (arg, "no")) { xfree (gpg.sign_keys); if (strcasecmp (arg, "default") && strcasecmp (arg, "yes")) gpg.sign_keys = strdup (arg); if (gpg.inited == 0 && gpgme_init ()) break; gpg_proc (msg, gpg_sign); } break; case KW_GPG_SIGN_ENCRYPT: { char *p = strchr (arg, ':'); xfree (gpg.encryption_keys); if (p) { p++; if (strcasecmp (p, "default") && strcasecmp (p, "yes")) { xfree (gpg.sign_keys); gpg.sign_keys = xstrdup (p); } *--p = '\0'; gpg.encryption_keys = xstrdup (arg); } else gpg.encryption_keys = xstrdup (arg); if (gpg.inited == 0 && gpgme_init ()) break; gpg_proc (msg, gpg_sign_encrypt); } break; case KW_GPG_HOME: setenv ("GNUPGHOME", arg, 1); break; default: return RC_KW_UNKNOWN; } return RC_KW_HANDLED; } struct rc_kwdef gpg_kw[] = { {"gpg-passphrase", KW_GPG_PASSPHRASE, KWF_HIDDEN}, {"gpg-encrypt", KW_GPG_ENCRYPT}, {"gpg-sign", KW_GPG_SIGN}, {"gpg-sign-encrypt", KW_GPG_SIGN_ENCRYPT}, {"gpg-se", KW_GPG_SIGN_ENCRYPT}, {"gpg-home", KW_GPG_HOME}, {NULL}, }; static struct rc_secdef_child gpg_sect_child = { NULL, CF_CLIENT, gpg_kw, gpg_parser, NULL }; void gpg_section_init (void) { struct rc_secdef *sp = anubis_add_section ("RULE"); rc_secdef_add_child (sp, &gpg_sect_child); } #endif /* HAVE_GPG */ /* EOF */ anubis-4.1.1+dfsg1/src/env.opt0000600000175000017500000002523711121752642013655 0ustar kbkb/* -*- c -*- env.c This file is part of GNU Anubis. Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008 The Anubis Team. GNU Anubis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Anubis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Anubis. If not, see . */ #include "headers.h" #include #include #include "extern.h" #include "rcfile.h" #ifdef HAVE_PAM pam_handle_t *pamh; static struct pam_conv conv = { misc_conv, NULL }; #endif /* HAVE_PAM */ static char *pidfile; OPTIONS_BEGIN(gnu,"anubis",[]) OPTION(bind, b, [HOST:]PORT, []) BEGIN parse_mtahost (optarg, &session.anubis, &session.anubis_port); if (session.anubis && strlen (session.anubis) != 0) topt |= T_NAMES; END OPTION(remote-mta, r, [HOST:]PORT, Specify a remote SMTP host name or IP address; the default is 25) BEGIN parse_mtaport (optarg, &session.mta, &session.mta_port); END OPTION(local-mta, l, FILE, []) BEGIN int rc; int argc; if ((rc = argcv_get (optarg, "", "#", &argc, &session.execargs))) anubis_error (EX_SOFTWARE, rc, _("argcv_get failed")); session.execpath = strdup (session.execargs[0]); topt |= T_LOCAL_MTA; END OPTION(mode, m, MODE, [