0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2025-01-20 19:41:55 +01:00

Merge bugfix that also applied to 3.2.x.

This commit is contained in:
Jilles Tjoelker 2010-02-28 16:45:55 +01:00
commit 3d242eb30f
15 changed files with 152 additions and 180 deletions

195
configure vendored
View file

@ -1,14 +1,12 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.65 for charybdis 3.2.0. # Generated by GNU Autoconf 2.64 for charybdis 3.3.
# #
# $Id: configure.ac 3516 2007-06-10 16:14:03Z jilles $ # $Id: configure.ac 3516 2007-06-10 16:14:03Z jilles $
# #
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
# Inc. # Foundation, Inc.
#
# #
# This configure script is free software; the Free Software Foundation # This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it. # gives unlimited permission to copy, distribute and modify it.
@ -528,8 +526,7 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
test -n "$DJDIR" || exec 7<&0 </dev/null exec 7<&0 </dev/null 6>&1
exec 6>&1
# Name of the host. # Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
@ -551,8 +548,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='charybdis' PACKAGE_NAME='charybdis'
PACKAGE_TARNAME='charybdis' PACKAGE_TARNAME='charybdis'
PACKAGE_VERSION='3.2.0' PACKAGE_VERSION='3.3'
PACKAGE_STRING='charybdis 3.2.0' PACKAGE_STRING='charybdis 3.3'
PACKAGE_BUGREPORT='' PACKAGE_BUGREPORT=''
PACKAGE_URL='' PACKAGE_URL=''
@ -1265,7 +1262,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # 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. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures charybdis 3.2.0 to adapt to many kinds of systems. \`configure' configures charybdis 3.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1326,7 +1323,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of charybdis 3.2.0:";; short | recursive ) echo "Configuration of charybdis 3.3:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1369,7 +1366,7 @@ Some influential environment variables:
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir> nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library> LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir> you have headers in a nonstandard directory <include dir>
CPP C preprocessor CPP C preprocessor
YACC The `Yet Another C Compiler' implementation to use. Defaults to YACC The `Yet Another C Compiler' implementation to use. Defaults to
@ -1444,8 +1441,8 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
charybdis configure 3.2.0 charybdis configure 3.3
generated by GNU Autoconf 2.65 generated by GNU Autoconf 2.64
Copyright (C) 2009 Free Software Foundation, Inc. Copyright (C) 2009 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation This configure script is free software; the Free Software Foundation
@ -1494,7 +1491,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1 ac_retval=1
fi fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval return $ac_retval
} # ac_fn_c_try_compile } # ac_fn_c_try_compile
@ -1531,7 +1528,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1 ac_retval=1
fi fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval return $ac_retval
} # ac_fn_c_try_cpp } # ac_fn_c_try_cpp
@ -1660,7 +1657,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
fi fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval return $ac_retval
} # ac_fn_c_try_run } # ac_fn_c_try_run
@ -1737,7 +1734,7 @@ fi
# left behind by Apple's compiler. We do this before executing the actions. # left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval return $ac_retval
} # ac_fn_c_try_link } # ac_fn_c_try_link
@ -1969,7 +1966,7 @@ rm -f conftest.val
fi fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval return $ac_retval
} # ac_fn_c_compute_int } # ac_fn_c_compute_int
@ -2043,8 +2040,8 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by charybdis $as_me 3.2.0, which was It was created by charybdis $as_me 3.3, which was
generated by GNU Autoconf 2.65. Invocation command line was generated by GNU Autoconf 2.64. Invocation command line was
$ $0 $@ $ $0 $@
@ -2297,7 +2294,7 @@ fi
for ac_site_file in "$ac_site_file1" "$ac_site_file2" for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do do
test "x$ac_site_file" = xNONE && continue test "x$ac_site_file" = xNONE && continue
if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then if test -r "$ac_site_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;} $as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5 sed 's/^/| /' "$ac_site_file" >&5
@ -2306,9 +2303,9 @@ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
done done
if test -r "$cache_file"; then if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special files # Some versions of bash will fail to source /dev/null (special
# actually), so we avoid doing that. DJGPP emulates it as a regular file. # files actually), so we avoid doing that.
if test /dev/null != "$cache_file" && test -f "$cache_file"; then if test -f "$cache_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;} $as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in case $cache_file in
@ -2718,30 +2715,32 @@ $as_echo "$ac_try_echo"; } >&5
... rest of stderr output deleted ... ... rest of stderr output deleted ...
10q' conftest.err >conftest.er1 10q' conftest.err >conftest.er1
cat conftest.er1 >&5 cat conftest.er1 >&5
rm -f conftest.er1 conftest.err
fi fi
rm -f conftest.er1 conftest.err
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } test $ac_status = 0; }
done done
cat confdefs.h - <<_ACEOF >conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */ /* end confdefs.h. */
#include <stdio.h>
int int
main () main ()
{ {
FILE *f = fopen ("conftest.out", "w");
return ferror (f) || fclose (f) != 0;
; ;
return 0; return 0;
} }
_ACEOF _ACEOF
ac_clean_files_save=$ac_clean_files ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
# Try to create an executable without -o first, disregard a.out. # Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition # It will help us diagnose broken compilers, and finding out an intuition
# of exeext. # of exeext.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
$as_echo_n "checking whether the C compiler works... " >&6; } $as_echo_n "checking for C compiler default output file name... " >&6; }
ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
# The possible output files: # The possible output files:
@ -2803,10 +2802,10 @@ test "$ac_cv_exeext" = no && ac_cv_exeext=
else else
ac_file='' ac_file=''
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
$as_echo "$ac_file" >&6; }
if test -z "$ac_file"; then : if test -z "$ac_file"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "$as_me: failed program was:" >&5
$as_echo "no" >&6; }
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5 sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
@ -2814,18 +2813,51 @@ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ as_fn_set_status 77 { as_fn_set_status 77
as_fn_error "C compiler cannot create executables as_fn_error "C compiler cannot create executables
See \`config.log' for more details." "$LINENO" 5; }; } See \`config.log' for more details." "$LINENO" 5; }; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
$as_echo_n "checking for C compiler default output file name... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
$as_echo "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext ac_exeext=$ac_cv_exeext
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out # Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
$as_echo_n "checking whether the C compiler works... " >&6; }
# 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 ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." "$LINENO" 5; }
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
ac_clean_files=$ac_clean_files_save 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.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
$as_echo_n "checking whether we are cross compiling... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
$as_echo "$cross_compiling" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
$as_echo_n "checking for suffix of executables... " >&6; } $as_echo_n "checking for suffix of executables... " >&6; }
if { { ac_try="$ac_link" if { { ac_try="$ac_link"
@ -2858,72 +2890,13 @@ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error "cannot compute suffix of executables: cannot compile and link as_fn_error "cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." "$LINENO" 5; } See \`config.log' for more details." "$LINENO" 5; }
fi fi
rm -f conftest conftest$ac_cv_exeext rm -f conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
$as_echo "$ac_cv_exeext" >&6; } $as_echo "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT ac_exeext=$EXEEXT
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
int
main ()
{
FILE *f = fopen ("conftest.out", "w");
return ferror (f) || fclose (f) != 0;
;
return 0;
}
_ACEOF
ac_clean_files="$ac_clean_files conftest.out"
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
$as_echo_n "checking whether we are cross compiling... " >&6; }
if test "$cross_compiling" != yes; then
{ { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
if { ac_try='./conftest$ac_cv_exeext'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." "$LINENO" 5; }
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
$as_echo "$cross_compiling" >&6; }
rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; } $as_echo_n "checking for suffix of object files... " >&6; }
if test "${ac_cv_objext+set}" = set; then : if test "${ac_cv_objext+set}" = set; then :
@ -3972,8 +3945,8 @@ $as_echo "$ac_try_echo"; } >&5
... rest of stderr output deleted ... ... rest of stderr output deleted ...
10q' conftest.err >conftest.er1 10q' conftest.err >conftest.er1
cat conftest.er1 >&5 cat conftest.er1 >&5
rm -f conftest.er1 conftest.err
fi fi
rm -f conftest.er1 conftest.err
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } test $ac_status = 0; }
done done
@ -9969,8 +9942,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by charybdis $as_me 3.2.0, which was This file was extended by charybdis $as_me 3.3, which was
generated by GNU Autoconf 2.65. Invocation command line was generated by GNU Autoconf 2.64. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_HEADERS = $CONFIG_HEADERS
@ -10009,7 +9982,6 @@ Usage: $0 [OPTION]... [TAG]...
-h, --help print this help, then exit -h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit -V, --version print version number and configuration settings, then exit
--config print configuration, then exit
-q, --quiet, --silent -q, --quiet, --silent
do not print progress messages do not print progress messages
-d, --debug don't remove temporary files -d, --debug don't remove temporary files
@ -10029,11 +10001,10 @@ Report bugs to the package provider."
_ACEOF _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
charybdis config.status 3.2.0 charybdis config.status 3.3
configured by $0, generated by GNU Autoconf 2.65, configured by $0, generated by GNU Autoconf 2.64,
with options \\"\$ac_cs_config\\" with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
Copyright (C) 2009 Free Software Foundation, Inc. Copyright (C) 2009 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation This config.status script is free software; the Free Software Foundation
@ -10069,8 +10040,6 @@ do
ac_cs_recheck=: ;; ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V ) --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
$as_echo "$ac_cs_version"; exit ;; $as_echo "$ac_cs_version"; exit ;;
--config | --confi | --conf | --con | --co | --c )
$as_echo "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d ) --debug | --debu | --deb | --de | --d | -d )
debug=: ;; debug=: ;;
--file | --fil | --fi | --f ) --file | --fil | --fi | --f )
@ -10260,7 +10229,7 @@ s/'"$ac_delim"'$//
t delim t delim
:nl :nl
h h
s/\(.\{148\}\)..*/\1/ s/\(.\{148\}\).*/\1/
t more1 t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p p
@ -10274,7 +10243,7 @@ s/.\{148\}//
t nl t nl
:delim :delim
h h
s/\(.\{148\}\)..*/\1/ s/\(.\{148\}\).*/\1/
t more2 t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/ s/["\\]/\\&/g; s/^/"/; s/$/"/
p p

View file

@ -10,7 +10,7 @@ AC_PREREQ(2.57)
dnl Sneaky way to get an Id tag into the configure script dnl Sneaky way to get an Id tag into the configure script
AC_COPYRIGHT([$Id: configure.ac 3516 2007-06-10 16:14:03Z jilles $]) AC_COPYRIGHT([$Id: configure.ac 3516 2007-06-10 16:14:03Z jilles $])
AC_INIT([charybdis],[3.2.0]) AC_INIT([charybdis],[3.3])
AC_CONFIG_HEADER(include/setup.h) AC_CONFIG_HEADER(include/setup.h)

View file

@ -61,7 +61,7 @@ extern void inotice(const char *fmt, ...) AFP(1, 2);
extern void iwarn(const char *fmt, ...) AFP(1, 2); extern void iwarn(const char *fmt, ...) AFP(1, 2);
extern void ierror(const char *fmt, ...) AFP(1, 2); extern void ierror(const char *fmt, ...) AFP(1, 2);
extern void report_operspy(struct Client *, const char *, const char *); extern void report_operspy(struct Client *, const char *, const char *);
extern const char *smalldate(void); extern const char *smalldate(time_t);
extern void ilog_error(const char *); extern void ilog_error(const char *);
#endif #endif

View file

@ -349,6 +349,9 @@ extern const char *form_str(int);
#define RPL_NOTESTLINE 726 #define RPL_NOTESTLINE 726
#define RPL_TESTMASKGECOS 727 #define RPL_TESTMASKGECOS 727
#define RPL_QUIETLIST 728
#define RPL_ENDOFQUIETLIST 729
#define RPL_MONONLINE 730 #define RPL_MONONLINE 730
#define RPL_MONOFFLINE 731 #define RPL_MONOFFLINE 731
#define RPL_MONLIST 732 #define RPL_MONLIST 732

View file

@ -67,6 +67,7 @@ struct ConfItem
char *user; /* user part of user@host */ char *user; /* user part of user@host */
int port; int port;
time_t hold; /* Hold action until this time (calendar time) */ time_t hold; /* Hold action until this time (calendar time) */
time_t created; /* Creation time (for klines etc) */
char *className; /* Name of class */ char *className; /* Name of class */
struct Class *c_class; /* Class of connection */ struct Class *c_class; /* Class of connection */
rb_patricia_node_t *pnode; /* Our patricia node */ rb_patricia_node_t *pnode; /* Our patricia node */
@ -324,6 +325,7 @@ extern struct ConfItem *find_tkline(const char *, const char *, struct sockaddr
extern char *show_iline_prefix(struct Client *, struct ConfItem *, char *); extern char *show_iline_prefix(struct Client *, struct ConfItem *, char *);
extern void get_printable_conf(struct ConfItem *, extern void get_printable_conf(struct ConfItem *,
char **, char **, char **, char **, int *, char **); char **, char **, char **, char **, int *, char **);
extern char *get_user_ban_reason(struct ConfItem *aconf);
extern void get_printable_kline(struct Client *, struct ConfItem *, extern void get_printable_kline(struct Client *, struct ConfItem *,
char **, char **, char **, char **); char **, char **, char **, char **);

View file

@ -213,8 +213,6 @@ apply_dline(struct Client *source_p, const char *dlhost, int tdline_time, char *
{ {
struct ConfItem *aconf; struct ConfItem *aconf;
char *oper_reason; char *oper_reason;
char dlbuffer[IRCD_BUFSIZE];
const char *current_date;
struct rb_sockaddr_storage daddr; struct rb_sockaddr_storage daddr;
int t = AF_INET, ty, b; int t = AF_INET, ty, b;
const char *creason; const char *creason;
@ -285,11 +283,12 @@ apply_dline(struct Client *source_p, const char *dlhost, int tdline_time, char *
} }
rb_set_time(); rb_set_time();
current_date = smalldate();
aconf = make_conf(); aconf = make_conf();
aconf->status = CONF_DLINE; aconf->status = CONF_DLINE;
aconf->created = rb_current_time();
aconf->host = rb_strdup(dlhost); aconf->host = rb_strdup(dlhost);
aconf->passwd = rb_strdup(reason);
/* Look for an oper reason */ /* Look for an oper reason */
if((oper_reason = strchr(reason, '|')) != NULL) if((oper_reason = strchr(reason, '|')) != NULL)
@ -303,10 +302,6 @@ apply_dline(struct Client *source_p, const char *dlhost, int tdline_time, char *
if(tdline_time > 0) if(tdline_time > 0)
{ {
rb_snprintf(dlbuffer, sizeof(dlbuffer),
"Temporary D-line %d min. - %s (%s)",
(int) (tdline_time / 60), reason, current_date);
aconf->passwd = rb_strdup(dlbuffer);
aconf->hold = rb_current_time() + tdline_time; aconf->hold = rb_current_time() + tdline_time;
add_temp_dline(aconf); add_temp_dline(aconf);
@ -335,8 +330,6 @@ apply_dline(struct Client *source_p, const char *dlhost, int tdline_time, char *
} }
else else
{ {
rb_snprintf(dlbuffer, sizeof(dlbuffer), "%s (%s)", reason, current_date);
aconf->passwd = rb_strdup(dlbuffer);
add_conf_by_address(aconf->host, CONF_DLINE, NULL, NULL, aconf); add_conf_by_address(aconf->host, CONF_DLINE, NULL, NULL, aconf);
bandb_add(BANDB_DLINE, source_p, aconf->host, NULL, bandb_add(BANDB_DLINE, source_p, aconf->host, NULL,

View file

@ -75,9 +75,9 @@ static int valid_wild_card(struct Client *source_p, const char *user, const char
static void handle_remote_kline(struct Client *source_p, int tkline_time, static void handle_remote_kline(struct Client *source_p, int tkline_time,
const char *user, const char *host, const char *reason); const char *user, const char *host, const char *reason);
static void apply_kline(struct Client *source_p, struct ConfItem *aconf, static void apply_kline(struct Client *source_p, struct ConfItem *aconf,
const char *reason, const char *oper_reason, const char *current_date); const char *reason, const char *oper_reason);
static void apply_tkline(struct Client *source_p, struct ConfItem *aconf, static void apply_tkline(struct Client *source_p, struct ConfItem *aconf,
const char *, const char *, const char *, int); const char *, const char *, int);
static int already_placed_kline(struct Client *, const char *, const char *, int); static int already_placed_kline(struct Client *, const char *, const char *, int);
static void handle_remote_unkline(struct Client *source_p, const char *user, const char *host); static void handle_remote_unkline(struct Client *source_p, const char *user, const char *host);
@ -98,10 +98,8 @@ mo_kline(struct Client *client_p, struct Client *source_p, int parc, const char
char def[] = "No Reason"; char def[] = "No Reason";
char user[USERLEN + 2]; char user[USERLEN + 2];
char host[HOSTLEN + 2]; char host[HOSTLEN + 2];
char buffer[IRCD_BUFSIZE];
char *reason = def; char *reason = def;
char *oper_reason; char *oper_reason;
const char *current_date;
const char *target_server = NULL; const char *target_server = NULL;
struct ConfItem *aconf; struct ConfItem *aconf;
int tkline_time = 0; int tkline_time = 0;
@ -169,12 +167,13 @@ mo_kline(struct Client *client_p, struct Client *source_p, int parc, const char
return 0; return 0;
rb_set_time(); rb_set_time();
current_date = smalldate();
aconf = make_conf(); aconf = make_conf();
aconf->status = CONF_KILL; aconf->status = CONF_KILL;
aconf->created = rb_current_time();
aconf->host = rb_strdup(host); aconf->host = rb_strdup(host);
aconf->user = rb_strdup(user); aconf->user = rb_strdup(user);
aconf->port = 0; aconf->port = 0;
aconf->passwd = rb_strdup(reason);
/* Look for an oper reason */ /* Look for an oper reason */
if((oper_reason = strchr(reason, '|')) != NULL) if((oper_reason = strchr(reason, '|')) != NULL)
@ -187,19 +186,9 @@ mo_kline(struct Client *client_p, struct Client *source_p, int parc, const char
} }
if(tkline_time > 0) if(tkline_time > 0)
{ apply_tkline(source_p, aconf, reason, oper_reason, tkline_time);
rb_snprintf(buffer, sizeof(buffer),
"Temporary K-line %d min. - %s (%s)",
(int) (tkline_time / 60), reason, current_date);
aconf->passwd = rb_strdup(buffer);
apply_tkline(source_p, aconf, reason, oper_reason, current_date, tkline_time);
}
else else
{ apply_kline(source_p, aconf, reason, oper_reason);
rb_snprintf(buffer, sizeof(buffer), "%s (%s)", reason, current_date);
aconf->passwd = rb_strdup(buffer);
apply_kline(source_p, aconf, reason, oper_reason, current_date);
}
if(ConfigFileEntry.kline_delay) if(ConfigFileEntry.kline_delay)
{ {
@ -264,8 +253,6 @@ static void
handle_remote_kline(struct Client *source_p, int tkline_time, handle_remote_kline(struct Client *source_p, int tkline_time,
const char *user, const char *host, const char *kreason) const char *user, const char *host, const char *kreason)
{ {
char buffer[BUFSIZE];
const char *current_date;
char *reason = LOCAL_COPY(kreason); char *reason = LOCAL_COPY(kreason);
struct ConfItem *aconf = NULL; struct ConfItem *aconf = NULL;
char *oper_reason; char *oper_reason;
@ -285,8 +272,10 @@ handle_remote_kline(struct Client *source_p, int tkline_time,
aconf = make_conf(); aconf = make_conf();
aconf->status = CONF_KILL; aconf->status = CONF_KILL;
aconf->created = rb_current_time();
aconf->user = rb_strdup(user); aconf->user = rb_strdup(user);
aconf->host = rb_strdup(host); aconf->host = rb_strdup(host);
aconf->passwd = rb_strdup(reason);
/* Look for an oper reason */ /* Look for an oper reason */
if((oper_reason = strchr(reason, '|')) != NULL) if((oper_reason = strchr(reason, '|')) != NULL)
@ -298,22 +287,10 @@ handle_remote_kline(struct Client *source_p, int tkline_time,
aconf->spasswd = rb_strdup(oper_reason); aconf->spasswd = rb_strdup(oper_reason);
} }
current_date = smalldate();
if(tkline_time > 0) if(tkline_time > 0)
{ apply_tkline(source_p, aconf, reason, oper_reason, tkline_time);
rb_snprintf(buffer, sizeof(buffer),
"Temporary K-line %d min. - %s (%s)",
(int) (tkline_time / 60), reason, current_date);
aconf->passwd = rb_strdup(buffer);
apply_tkline(source_p, aconf, reason, oper_reason, current_date, tkline_time);
}
else else
{ apply_kline(source_p, aconf, reason, oper_reason);
rb_snprintf(buffer, sizeof(buffer), "%s (%s)", reason, current_date);
aconf->passwd = rb_strdup(buffer);
apply_kline(source_p, aconf, reason, oper_reason, current_date);
}
if(ConfigFileEntry.kline_delay) if(ConfigFileEntry.kline_delay)
{ {
@ -480,7 +457,7 @@ handle_remote_unkline(struct Client *source_p, const char *user, const char *hos
*/ */
static void static void
apply_kline(struct Client *source_p, struct ConfItem *aconf, apply_kline(struct Client *source_p, struct ConfItem *aconf,
const char *reason, const char *oper_reason, const char *current_date) const char *reason, const char *oper_reason)
{ {
add_conf_by_address(aconf->host, CONF_KILL, aconf->user, NULL, aconf); add_conf_by_address(aconf->host, CONF_KILL, aconf->user, NULL, aconf);
bandb_add(BANDB_KLINE, source_p, aconf->user, aconf->host, bandb_add(BANDB_KLINE, source_p, aconf->user, aconf->host,
@ -517,7 +494,7 @@ apply_kline(struct Client *source_p, struct ConfItem *aconf,
*/ */
static void static void
apply_tkline(struct Client *source_p, struct ConfItem *aconf, apply_tkline(struct Client *source_p, struct ConfItem *aconf,
const char *reason, const char *oper_reason, const char *current_date, int tkline_time) const char *reason, const char *oper_reason, int tkline_time)
{ {
aconf->hold = rb_current_time() + tkline_time; aconf->hold = rb_current_time() + tkline_time;
add_temp_kline(aconf); add_temp_kline(aconf);

View file

@ -218,6 +218,7 @@ parse_resv(struct Client *source_p, const char *name, const char *reason, int te
aconf = make_conf(); aconf = make_conf();
aconf->status = CONF_RESV_CHANNEL; aconf->status = CONF_RESV_CHANNEL;
aconf->port = 0; aconf->port = 0;
aconf->created = rb_current_time();
aconf->host = rb_strdup(name); aconf->host = rb_strdup(name);
aconf->passwd = rb_strdup(reason); aconf->passwd = rb_strdup(reason);
add_to_resv_hash(aconf->host, aconf); add_to_resv_hash(aconf->host, aconf);
@ -281,6 +282,7 @@ parse_resv(struct Client *source_p, const char *name, const char *reason, int te
aconf = make_conf(); aconf = make_conf();
aconf->status = CONF_RESV_NICK; aconf->status = CONF_RESV_NICK;
aconf->port = 0; aconf->port = 0;
aconf->created = rb_current_time();
aconf->host = rb_strdup(name); aconf->host = rb_strdup(name);
aconf->passwd = rb_strdup(reason); aconf->passwd = rb_strdup(reason);
rb_dlinkAddAlloc(aconf, &resv_conf_list); rb_dlinkAddAlloc(aconf, &resv_conf_list);

View file

@ -275,6 +275,7 @@ apply_xline(struct Client *source_p, const char *name, const char *reason, int t
aconf = make_conf(); aconf = make_conf();
aconf->status = CONF_XLINE; aconf->status = CONF_XLINE;
aconf->created = rb_current_time();
aconf->host = rb_strdup(name); aconf->host = rb_strdup(name);
aconf->passwd = rb_strdup(reason); aconf->passwd = rb_strdup(reason);
collapse(aconf->host); collapse(aconf->host);

View file

@ -687,8 +687,8 @@ chm_ban(struct Client *source_p, struct Channel *chptr,
case CHFL_QUIET: case CHFL_QUIET:
list = &chptr->quietlist; list = &chptr->quietlist;
errorval = SM_ERR_RPL_Q; errorval = SM_ERR_RPL_Q;
rpl_list = RPL_BANLIST; rpl_list = RPL_QUIETLIST;
rpl_endlist = RPL_ENDOFBANLIST; rpl_endlist = RPL_ENDOFQUIETLIST;
mems = ALL_MEMBERS; mems = ALL_MEMBERS;
caps = 0; caps = 0;
break; break;
@ -723,10 +723,7 @@ chm_ban(struct Client *source_p, struct Channel *chptr,
me.name, source_p->name, chptr->chname, me.name, source_p->name, chptr->chname,
banptr->banstr, banptr->who, banptr->when); banptr->banstr, banptr->who, banptr->when);
} }
if (mode_type == CHFL_QUIET) sendto_one(source_p, form_str(rpl_endlist), me.name, source_p->name, chptr->chname);
sendto_one(source_p, ":%s %d %s %s :End of Channel Quiet List", me.name, rpl_endlist, source_p->name, chptr->chname);
else
sendto_one(source_p, form_str(rpl_endlist), me.name, source_p->name, chptr->chname);
return; return;
} }

View file

@ -418,10 +418,10 @@ notify_banned_client(struct Client *client_p, struct ConfItem *aconf, int ban)
const char *reason = NULL; const char *reason = NULL;
const char *exit_reason = conn_closed; const char *exit_reason = conn_closed;
if(ConfigFileEntry.kline_with_reason && !EmptyString(aconf->passwd)) if(ConfigFileEntry.kline_with_reason)
{ {
reason = aconf->passwd; reason = get_user_ban_reason(aconf);
exit_reason = aconf->passwd; exit_reason = reason;
} }
else else
{ {

View file

@ -480,6 +480,7 @@ accept_precallback(rb_fde_t *F, struct sockaddr *addr, rb_socklen_t addrlen, voi
char buf[BUFSIZE]; char buf[BUFSIZE];
struct ConfItem *aconf; struct ConfItem *aconf;
static time_t last_oper_notice = 0; static time_t last_oper_notice = 0;
int len;
if(listener->ssl && (!ssl_ok || !get_ssld_count())) if(listener->ssl && (!ssl_ok || !get_ssld_count()))
{ {
@ -519,7 +520,8 @@ accept_precallback(rb_fde_t *F, struct sockaddr *addr, rb_socklen_t addrlen, voi
if(ConfigFileEntry.dline_with_reason) if(ConfigFileEntry.dline_with_reason)
{ {
if (rb_snprintf(buf, sizeof(buf), "ERROR :*** Banned: %s\r\n", aconf->passwd) >= (int)(sizeof(buf)-1)) len = rb_snprintf(buf, sizeof(buf), "ERROR :*** Banned: %s\r\n", get_user_ban_reason(aconf));
if (len >= (int)(sizeof(buf)-1))
{ {
buf[sizeof(buf) - 3] = '\r'; buf[sizeof(buf) - 3] = '\r';
buf[sizeof(buf) - 2] = '\n'; buf[sizeof(buf) - 2] = '\n';

View file

@ -180,7 +180,8 @@ ilog(ilogfile dest, const char *format, ...)
rb_vsnprintf(buf, sizeof(buf), format, args); rb_vsnprintf(buf, sizeof(buf), format, args);
va_end(args); va_end(args);
rb_snprintf(buf2, sizeof(buf2), "%s %s\n", smalldate(), buf); rb_snprintf(buf2, sizeof(buf2), "%s %s\n",
smalldate(rb_current_time()), buf);
if(fputs(buf2, logfile) < 0) if(fputs(buf2, logfile) < 0)
{ {
@ -266,11 +267,10 @@ report_operspy(struct Client *source_p, const char *token, const char *arg)
} }
const char * const char *
smalldate(void) smalldate(time_t ltime)
{ {
static char buf[MAX_DATE_STRING]; static char buf[MAX_DATE_STRING];
struct tm *lt; struct tm *lt;
time_t ltime = rb_current_time();
lt = localtime(&ltime); lt = localtime(&ltime);

View file

@ -749,8 +749,8 @@ static const char * replies[] = {
/* 725 RPL_TESTLINE */ ":%s 725 %s %c %ld %s :%s", /* 725 RPL_TESTLINE */ ":%s 725 %s %c %ld %s :%s",
/* 726 RPL_NOTESTLINE */ ":%s 726 %s %s :No matches", /* 726 RPL_NOTESTLINE */ ":%s 726 %s %s :No matches",
/* 727 RPL_TESTMASKGECOS */ ":%s 727 %s %d %d %s!%s@%s %s :Local/remote clients match", /* 727 RPL_TESTMASKGECOS */ ":%s 727 %s %d %d %s!%s@%s %s :Local/remote clients match",
/* 728 */ NULL, /* 728 RPL_QUIETLIST */ ":%s 728 %s %s q %s %s %lu",
/* 729 */ NULL, /* 729 RPL_ENDOFQUIETLIST */ ":%s 729 %s %s q :End of Channel Quiet List",
/* 730 RPL_MONONLINE */ ":%s 730 %s :%s", /* 730 RPL_MONONLINE */ ":%s 730 %s :%s",
/* 731 RPL_MONOFFLINE */ ":%s 731 %s :%s", /* 731 RPL_MONOFFLINE */ ":%s 731 %s :%s",
/* 732 RPL_MONLIST */ ":%s 732 %s :%s", /* 732 RPL_MONLIST */ ":%s 732 %s :%s",
@ -761,8 +761,8 @@ static const char * replies[] = {
/* 737 */ NULL, /* 737 */ NULL,
/* 738 */ NULL, /* 738 */ NULL,
/* 739 */ NULL, /* 739 */ NULL,
/* 740 */ ":%s 740 %s :%s", /* 740 RPL_RSACHALLENGE2*/ ":%s 740 %s :%s",
/* 741 */ ":%s 741 %s :End of CHALLENGE", /* 741 RPL_ENDOFRSACHALLENGE2*/ ":%s 741 %s :End of CHALLENGE",
/* 742 */ NULL, /* 742 */ NULL,
/* 743 */ NULL, /* 743 */ NULL,
/* 744 */ NULL, /* 744 */ NULL,

View file

@ -374,11 +374,10 @@ verify_access(struct Client *client_p, const char *username)
else if(aconf->status & CONF_KILL) else if(aconf->status & CONF_KILL)
{ {
if(ConfigFileEntry.kline_with_reason) if(ConfigFileEntry.kline_with_reason)
{
sendto_one(client_p, sendto_one(client_p,
form_str(ERR_YOUREBANNEDCREEP), form_str(ERR_YOUREBANNEDCREEP),
me.name, client_p->name, aconf->passwd); me.name, client_p->name,
} get_user_ban_reason(aconf));
add_reject(client_p, aconf->user, aconf->host); add_reject(client_p, aconf->user, aconf->host);
return (BANNED_CLIENT); return (BANNED_CLIENT);
} }
@ -1055,6 +1054,33 @@ get_printable_conf(struct ConfItem *aconf, char **name, char **host,
*port = (int) aconf->port; *port = (int) aconf->port;
} }
char *
get_user_ban_reason(struct ConfItem *aconf)
{
static char reasonbuf[BUFSIZE];
if (aconf->flags & CONF_FLAGS_TEMPORARY &&
(aconf->status == CONF_KILL || aconf->status == CONF_DLINE))
rb_snprintf(reasonbuf, sizeof reasonbuf,
"Temporary %c-line %d min. - ",
aconf->status == CONF_DLINE ? 'D' : 'K',
(aconf->hold - aconf->created) / 60);
else
reasonbuf[0] = '\0';
if (aconf->passwd)
rb_strlcat(reasonbuf, aconf->passwd, sizeof reasonbuf);
else
rb_strlcat(reasonbuf, "No Reason", sizeof reasonbuf);
if (aconf->created)
{
rb_strlcat(reasonbuf, " (", sizeof reasonbuf);
rb_strlcat(reasonbuf, smalldate(aconf->created),
sizeof reasonbuf);
rb_strlcat(reasonbuf, ")", sizeof reasonbuf);
}
return reasonbuf;
}
void void
get_printable_kline(struct Client *source_p, struct ConfItem *aconf, get_printable_kline(struct Client *source_p, struct ConfItem *aconf,
char **host, char **reason, char **host, char **reason,
@ -1063,8 +1089,8 @@ get_printable_kline(struct Client *source_p, struct ConfItem *aconf,
static char null[] = "<NULL>"; static char null[] = "<NULL>";
*host = EmptyString(aconf->host) ? null : aconf->host; *host = EmptyString(aconf->host) ? null : aconf->host;
*reason = EmptyString(aconf->passwd) ? null : aconf->passwd;
*user = EmptyString(aconf->user) ? null : aconf->user; *user = EmptyString(aconf->user) ? null : aconf->user;
*reason = get_user_ban_reason(aconf);
if(EmptyString(aconf->spasswd) || !IsOper(source_p)) if(EmptyString(aconf->spasswd) || !IsOper(source_p))
*oper_reason = NULL; *oper_reason = NULL;