diff -Nru cyrus-imapd-2.4-2.4.9/autom4te.cache/output.0 cyrus-imapd-2.4-2.4.12/autom4te.cache/output.0
--- cyrus-imapd-2.4-2.4.9/autom4te.cache/output.0 2011-06-21 19:51:33.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/autom4te.cache/output.0 2011-10-04 20:03:33.000000000 +0000
@@ -1,6 +1,6 @@
@%:@! /bin/sh
@%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.67.
+@%:@ Generated by GNU Autoconf 2.68.
@%:@
@%:@
@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -89,6 +89,7 @@
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
case $0 in @%:@((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -214,11 +215,18 @@
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
+ # Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+ case $- in @%:@ ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+ esac
+ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
fi
if test x$as_have_required = xno; then :
@@ -1196,7 +1204,7 @@
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
esac
@@ -1477,8 +1485,9 @@
CPPFLAGS (Objective) C/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'.
+ YACC The `Yet Another Compiler 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 @S|@YACC.
This script will default YFLAGS to the empty string to avoid a
default value of `-d' given by some make applications.
@@ -1550,7 +1559,7 @@
if $ac_init_version; then
cat <<\_ACEOF
configure
-generated by GNU Autoconf 2.67
+generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
@@ -1596,7 +1605,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} @%:@ ac_fn_c_try_compile
@@ -1633,7 +1642,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} @%:@ ac_fn_c_try_cpp
@@ -1646,10 +1655,10 @@
ac_fn_c_check_header_mongrel ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval "test \"\${$3+set}\"" = set; then :
+ if eval \${$3+:} false; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
fi
eval ac_res=\$$3
@@ -1712,7 +1721,7 @@
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
eval "$3=\$ac_header_compiler"
@@ -1721,7 +1730,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} @%:@ ac_fn_c_check_header_mongrel
@@ -1762,7 +1771,7 @@
ac_retval=$ac_status
fi
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; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} @%:@ ac_fn_c_try_run
@@ -1776,7 +1785,7 @@
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1794,7 +1803,7 @@
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} @%:@ ac_fn_c_check_header_compile
@@ -1839,7 +1848,7 @@
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
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; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} @%:@ ac_fn_c_try_link
@@ -2017,7 +2026,7 @@
rm -f conftest.val
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} @%:@ ac_fn_c_compute_int
@@ -2030,7 +2039,7 @@
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2085,7 +2094,7 @@
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} @%:@ ac_fn_c_check_func
@@ -2098,7 +2107,7 @@
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
$as_echo_n "checking for $2.$3... " >&6; }
-if eval "test \"\${$4+set}\"" = set; then :
+if eval \${$4+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2142,7 +2151,7 @@
eval ac_res=\$$4
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} @%:@ ac_fn_c_check_member
@@ -2157,7 +2166,7 @@
as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2188,7 +2197,7 @@
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} @%:@ ac_fn_c_check_decl
cat >config.log <<_ACEOF
@@ -2196,7 +2205,7 @@
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.67. Invocation command line was
+generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2454,7 +2463,7 @@
|| { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
done
@@ -2530,7 +2539,7 @@
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
@@ -2563,7 +2572,7 @@
fi
done
if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
fi
# These three variables are undocumented and unsupported,
@@ -2577,27 +2586,27 @@
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
$as_echo_n "(cached) " >&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 &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
@@ -2615,14 +2624,14 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
$as_echo_n "(cached) " >&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` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
fi
fi
@@ -2630,7 +2639,7 @@
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
@@ -2648,14 +2657,14 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
$as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "x$target_alias" = x; then
ac_cv_target=$ac_cv_host
else
ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
fi
fi
@@ -2663,7 +2672,7 @@
$as_echo "$ac_cv_target" >&6; }
case $ac_cv_target in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
esac
target=$ac_cv_target
ac_save_IFS=$IFS; IFS='-'
@@ -2702,7 +2711,7 @@
set dummy makedepend; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKEDEPEND+set}" = set; then :
+if ${ac_cv_prog_MAKEDEPEND+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$MAKEDEPEND"; then
@@ -2745,7 +2754,7 @@
@%:@ Check whether --with-login was given.
if test "${with_login+set}" = set; then :
withval=$with_login; as_fn_error $? "--with-login is no longer supported.
-Configure SASL appropriately instead." "$LINENO" 5
+Configure SASL appropriately instead." "$LINENO" 5
fi
@@ -2820,7 +2829,7 @@
set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -2860,7 +2869,7 @@
set dummy gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
@@ -2913,7 +2922,7 @@
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -2953,7 +2962,7 @@
set dummy cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -3012,7 +3021,7 @@
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -3056,7 +3065,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
@@ -3111,7 +3120,7 @@
test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -3226,7 +3235,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "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; }
@@ -3269,7 +3278,7 @@
{ { $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 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
rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
@@ -3328,7 +3337,7 @@
$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 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
fi
fi
@@ -3339,7 +3348,7 @@
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3380,7 +3389,7 @@
{ { $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 compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
@@ -3390,7 +3399,7 @@
ac_objext=$OBJEXT
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3427,7 +3436,7 @@
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
@@ -3505,7 +3514,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
@@ -3605,7 +3614,7 @@
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$RANLIB"; then
@@ -3645,7 +3654,7 @@
set dummy ranlib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_RANLIB"; then
@@ -3696,7 +3705,7 @@
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
$as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
@@ -3740,7 +3749,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3829,7 +3838,7 @@
CPP=
fi
if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then :
+ if ${ac_cv_prog_CPP+:} false; then :
$as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
@@ -3945,7 +3954,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
ac_ext=c
@@ -3957,7 +3966,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$GREP"; then
@@ -4006,7 +4015,7 @@
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_GREP=$GREP
@@ -4020,7 +4029,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -4072,7 +4081,7 @@
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_EGREP=$EGREP
@@ -4087,7 +4096,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4216,7 +4225,7 @@
ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
MINIX=yes
else
MINIX=
@@ -4238,7 +4247,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4278,7 +4287,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
$as_echo_n "checking for library containing strerror... " >&6; }
-if test "${ac_cv_search_strerror+set}" = set; then :
+if ${ac_cv_search_strerror+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -4312,11 +4321,11 @@
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_strerror+set}" = set; then :
+ if ${ac_cv_search_strerror+:} false; then :
break
fi
done
-if test "${ac_cv_search_strerror+set}" = set; then :
+if ${ac_cv_search_strerror+:} false; then :
else
ac_cv_search_strerror=no
@@ -4338,7 +4347,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
@@ -4376,7 +4385,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then :
+if ${ac_cv_c_const+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4456,7 +4465,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long file names" >&5
$as_echo_n "checking for long file names... " >&6; }
-if test "${ac_cv_sys_long_file_names+set}" = set; then :
+if ${ac_cv_sys_long_file_names+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_sys_long_file_names=yes
@@ -4495,11 +4504,11 @@
fi
if test $ac_cv_sys_long_file_names = no; then
- as_fn_error $? "The Cyrus IMAPD requires support for long file names" "$LINENO" 5
+ as_fn_error $? "The Cyrus IMAPD requires support for long file names" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
$as_echo_n "checking for inline... " >&6; }
-if test "${ac_cv_c_inline+set}" = set; then :
+if ${ac_cv_c_inline+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_c_inline=no
@@ -4546,7 +4555,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
$as_echo_n "checking size of int... " >&6; }
-if test "${ac_cv_sizeof_int+set}" = set; then :
+if ${ac_cv_sizeof_int+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
@@ -4556,7 +4565,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (int)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_int=0
fi
@@ -4579,7 +4588,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
$as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
+if ${ac_cv_sizeof_long+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
@@ -4589,7 +4598,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (long)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long=0
fi
@@ -4612,7 +4621,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
$as_echo_n "checking size of size_t... " >&6; }
-if test "${ac_cv_sizeof_size_t+set}" = set; then :
+if ${ac_cv_sizeof_size_t+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default"; then :
@@ -4622,7 +4631,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (size_t)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_size_t=0
fi
@@ -4645,7 +4654,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
$as_echo_n "checking size of off_t... " >&6; }
-if test "${ac_cv_sizeof_off_t+set}" = set; then :
+if ${ac_cv_sizeof_off_t+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t" "$ac_includes_default"; then :
@@ -4655,7 +4664,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (off_t)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_off_t=0
fi
@@ -4679,7 +4688,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long int" >&5
$as_echo_n "checking size of long long int... " >&6; }
-if test "${ac_cv_sizeof_long_long_int+set}" = set; then :
+if ${ac_cv_sizeof_long_long_int+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long int))" "ac_cv_sizeof_long_long_int" "$ac_includes_default"; then :
@@ -4689,7 +4698,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (long long int)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long_long_int=0
fi
@@ -4712,7 +4721,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long long int" >&5
$as_echo_n "checking size of unsigned long long int... " >&6; }
-if test "${ac_cv_sizeof_unsigned_long_long_int+set}" = set; then :
+if ${ac_cv_sizeof_unsigned_long_long_int+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long long int))" "ac_cv_sizeof_unsigned_long_long_int" "$ac_includes_default"; then :
@@ -4722,7 +4731,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (unsigned long long int)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_unsigned_long_long_int=0
fi
@@ -4746,7 +4755,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_c_bigendian=unknown
@@ -4965,7 +4974,7 @@
;; #(
*)
as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
esac
fi
@@ -4973,7 +4982,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__" >&5
$as_echo_n "checking for __attribute__... " >&6; }
-if test "${ac_cv___attribute__+set}" = set; then :
+if ${ac_cv___attribute__+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -5017,7 +5026,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports -fPIC" >&5
$as_echo_n "checking if compiler supports -fPIC... " >&6; }
-if test "${ac_cv_fpic+set}" = set; then :
+if ${ac_cv_fpic+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -5065,7 +5074,7 @@
# CMU GUESS RUNPATH SWITCH
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for runpath switch" >&5
$as_echo_n "checking for runpath switch... " >&6; }
-if test "${andrew_cv_runpath_switch+set}" = set; then :
+if ${andrew_cv_runpath_switch+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -5130,7 +5139,7 @@
done
ac_fn_c_check_func "$LINENO" "memmove" "ac_cv_func_memmove"
-if test "x$ac_cv_func_memmove" = x""yes; then :
+if test "x$ac_cv_func_memmove" = xyes; then :
$as_echo "@%:@define HAVE_MEMMOVE 1" >>confdefs.h
else
@@ -5143,7 +5152,7 @@
fi
ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp"
-if test "x$ac_cv_func_strcasecmp" = x""yes; then :
+if test "x$ac_cv_func_strcasecmp" = xyes; then :
$as_echo "@%:@define HAVE_STRCASECMP 1" >>confdefs.h
else
@@ -5156,7 +5165,7 @@
fi
ac_fn_c_check_func "$LINENO" "ftruncate" "ac_cv_func_ftruncate"
-if test "x$ac_cv_func_ftruncate" = x""yes; then :
+if test "x$ac_cv_func_ftruncate" = xyes; then :
$as_echo "@%:@define HAVE_FTRUNCATE 1" >>confdefs.h
else
@@ -5169,7 +5178,7 @@
fi
ac_fn_c_check_func "$LINENO" "strerror" "ac_cv_func_strerror"
-if test "x$ac_cv_func_strerror" = x""yes; then :
+if test "x$ac_cv_func_strerror" = xyes; then :
$as_echo "@%:@define HAVE_STRERROR 1" >>confdefs.h
else
@@ -5199,7 +5208,7 @@
as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-if eval "test \"\${$as_ac_Header+set}\"" = set; then :
+if eval \${$as_ac_Header+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5239,7 +5248,7 @@
if test $ac_header_dirent = dirent.h; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
$as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -5273,11 +5282,11 @@
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_opendir+set}" = set; then :
+ if ${ac_cv_search_opendir+:} false; then :
break
fi
done
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
else
ac_cv_search_opendir=no
@@ -5296,7 +5305,7 @@
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
$as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -5330,11 +5339,11 @@
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_opendir+set}" = set; then :
+ if ${ac_cv_search_opendir+:} false; then :
break
fi
done
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
else
ac_cv_search_opendir=no
@@ -5356,7 +5365,7 @@
for ac_header in stdlib.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = x""yes; then :
+if test "x$ac_cv_header_stdlib_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_STDLIB_H 1
_ACEOF
@@ -5368,7 +5377,7 @@
for ac_func in getpassphrase
do :
ac_fn_c_check_func "$LINENO" "getpassphrase" "ac_cv_func_getpassphrase"
-if test "x$ac_cv_func_getpassphrase" = x""yes; then :
+if test "x$ac_cv_func_getpassphrase" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_GETPASSPHRASE 1
_ACEOF
@@ -5381,12 +5390,12 @@
save_LIBS="$LIBS"
LIB_SOCKET=""
ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
-if test "x$ac_cv_func_connect" = x""yes; then :
+if test "x$ac_cv_func_connect" = xyes; then :
:
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5420,13 +5429,13 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
LIB_SOCKET="-lnsl $LIB_SOCKET"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
$as_echo_n "checking for connect in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_connect+set}" = set; then :
+if ${ac_cv_lib_socket_connect+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5460,7 +5469,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
$as_echo "$ac_cv_lib_socket_connect" >&6; }
-if test "x$ac_cv_lib_socket_connect" = x""yes; then :
+if test "x$ac_cv_lib_socket_connect" = xyes; then :
LIB_SOCKET="-lsocket $LIB_SOCKET"
fi
@@ -5469,7 +5478,7 @@
LIBS="$LIB_SOCKET $save_LIBS"
ac_fn_c_check_func "$LINENO" "res_search" "ac_cv_func_res_search"
-if test "x$ac_cv_func_res_search" = x""yes; then :
+if test "x$ac_cv_func_res_search" = xyes; then :
:
else
LIBS="-lresolv $LIB_SOCKET $save_LIBS"
@@ -5525,14 +5534,14 @@
cyrus_cv_getaddrinfo=yes
ac_fn_c_check_func "$LINENO" "getaddrinfo" "ac_cv_func_getaddrinfo"
-if test "x$ac_cv_func_getaddrinfo" = x""yes; then :
+if test "x$ac_cv_func_getaddrinfo" = xyes; then :
ac_cv_lib_socket_getaddrinfo=no
ac_cv_lib_inet6_getaddrinfo=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo in -lsocket" >&5
$as_echo_n "checking for getaddrinfo in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_getaddrinfo+set}" = set; then :
+if ${ac_cv_lib_socket_getaddrinfo+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5566,14 +5575,14 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_getaddrinfo" >&5
$as_echo "$ac_cv_lib_socket_getaddrinfo" >&6; }
-if test "x$ac_cv_lib_socket_getaddrinfo" = x""yes; then :
+if test "x$ac_cv_lib_socket_getaddrinfo" = xyes; then :
LIBS="$LIBS -lsocket"
ac_cv_lib_inet6_getaddrinfo=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether your system has IPv6 directory" >&5
$as_echo_n "checking whether your system has IPv6 directory... " >&6; }
- if test "${ipv6_cv_dir+set}" = set; then :
+ if ${ipv6_cv_dir+:} false; then :
$as_echo_n "(cached) " >&6
else
for ipv6_cv_dir in /usr/local/v6 /usr/inet6 no; do
@@ -5594,7 +5603,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo in -linet6" >&5
$as_echo_n "checking for getaddrinfo in -linet6... " >&6; }
-if test "${ac_cv_lib_inet6_getaddrinfo+set}" = set; then :
+if ${ac_cv_lib_inet6_getaddrinfo+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5628,7 +5637,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet6_getaddrinfo" >&5
$as_echo "$ac_cv_lib_inet6_getaddrinfo" >&6; }
-if test "x$ac_cv_lib_inet6_getaddrinfo" = x""yes; then :
+if test "x$ac_cv_lib_inet6_getaddrinfo" = xyes; then :
if test $ipv6_libinet6 = no; then
ipv6_libinet6=yes
LIBS="$LIBS -linet6"
@@ -5679,14 +5688,14 @@
if test $ipv6_cv_getaddrinfo = yes; then
ac_fn_c_check_func "$LINENO" "gai_strerror" "ac_cv_func_gai_strerror"
-if test "x$ac_cv_func_gai_strerror" = x""yes; then :
+if test "x$ac_cv_func_gai_strerror" = xyes; then :
ac_cv_lib_socket_gai_strerror=no
ac_cv_lib_inet6_gai_strerror=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gai_strerror in -lsocket" >&5
$as_echo_n "checking for gai_strerror in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_gai_strerror+set}" = set; then :
+if ${ac_cv_lib_socket_gai_strerror+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5720,14 +5729,14 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_gai_strerror" >&5
$as_echo "$ac_cv_lib_socket_gai_strerror" >&6; }
-if test "x$ac_cv_lib_socket_gai_strerror" = x""yes; then :
+if test "x$ac_cv_lib_socket_gai_strerror" = xyes; then :
LIBS="$LIBS -lsocket"
ac_cv_lib_inet6_gai_strerror=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether your system has IPv6 directory" >&5
$as_echo_n "checking whether your system has IPv6 directory... " >&6; }
- if test "${ipv6_cv_dir+set}" = set; then :
+ if ${ipv6_cv_dir+:} false; then :
$as_echo_n "(cached) " >&6
else
for ipv6_cv_dir in /usr/local/v6 /usr/inet6 no; do
@@ -5748,7 +5757,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gai_strerror in -linet6" >&5
$as_echo_n "checking for gai_strerror in -linet6... " >&6; }
-if test "${ac_cv_lib_inet6_gai_strerror+set}" = set; then :
+if ${ac_cv_lib_inet6_gai_strerror+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5782,7 +5791,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet6_gai_strerror" >&5
$as_echo "$ac_cv_lib_inet6_gai_strerror" >&6; }
-if test "x$ac_cv_lib_inet6_gai_strerror" = x""yes; then :
+if test "x$ac_cv_lib_inet6_gai_strerror" = xyes; then :
if test $ipv6_libinet6 = no; then
ipv6_libinet6=yes
LIBS="$LIBS -linet6"
@@ -5848,14 +5857,14 @@
cyrus_cv_getnameinfo=yes
ac_fn_c_check_func "$LINENO" "getnameinfo" "ac_cv_func_getnameinfo"
-if test "x$ac_cv_func_getnameinfo" = x""yes; then :
+if test "x$ac_cv_func_getnameinfo" = xyes; then :
ac_cv_lib_socket_getnameinfo=no
ac_cv_lib_inet6_getnameinfo=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getnameinfo in -lsocket" >&5
$as_echo_n "checking for getnameinfo in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_getnameinfo+set}" = set; then :
+if ${ac_cv_lib_socket_getnameinfo+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5889,14 +5898,14 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_getnameinfo" >&5
$as_echo "$ac_cv_lib_socket_getnameinfo" >&6; }
-if test "x$ac_cv_lib_socket_getnameinfo" = x""yes; then :
+if test "x$ac_cv_lib_socket_getnameinfo" = xyes; then :
LIBS="$LIBS -lsocket"
ac_cv_lib_inet6_getnameinfo=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether your system has IPv6 directory" >&5
$as_echo_n "checking whether your system has IPv6 directory... " >&6; }
- if test "${ipv6_cv_dir+set}" = set; then :
+ if ${ipv6_cv_dir+:} false; then :
$as_echo_n "(cached) " >&6
else
for ipv6_cv_dir in /usr/local/v6 /usr/inet6 no; do
@@ -5917,7 +5926,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getnameinfo in -linet6" >&5
$as_echo_n "checking for getnameinfo in -linet6... " >&6; }
-if test "${ac_cv_lib_inet6_getnameinfo+set}" = set; then :
+if ${ac_cv_lib_inet6_getnameinfo+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5951,7 +5960,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet6_getnameinfo" >&5
$as_echo "$ac_cv_lib_inet6_getnameinfo" >&6; }
-if test "x$ac_cv_lib_inet6_getnameinfo" = x""yes; then :
+if test "x$ac_cv_lib_inet6_getnameinfo" = xyes; then :
if test $ipv6_libinet6 = no; then
ipv6_libinet6=yes
LIBS="$LIBS -linet6"
@@ -6014,7 +6023,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether you have ss_family in struct sockaddr_storage" >&5
$as_echo_n "checking whether you have ss_family in struct sockaddr_storage... " >&6; }
-if test "${ipv6_cv_ss_family+set}" = set; then :
+if ${ipv6_cv_ss_family+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6048,7 +6057,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether you have sa_len in struct sockaddr" >&5
$as_echo_n "checking whether you have sa_len in struct sockaddr... " >&6; }
-if test "${ipv6_cv_sa_len+set}" = set; then :
+if ${ipv6_cv_sa_len+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6085,7 +6094,7 @@
for ac_header in sys/time.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_time_h" = x""yes; then :
+if test "x$ac_cv_header_sys_time_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_SYS_TIME_H 1
_ACEOF
@@ -6096,7 +6105,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-if test "${ac_cv_header_time+set}" = set; then :
+if ${ac_cv_header_time+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6131,7 +6140,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5
$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; }
-if test "${ac_cv_struct_tm+set}" = set; then :
+if ${ac_cv_struct_tm+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6168,7 +6177,7 @@
#include <$ac_cv_struct_tm>
"
-if test "x$ac_cv_member_struct_tm_tm_zone" = x""yes; then :
+if test "x$ac_cv_member_struct_tm_tm_zone" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_STRUCT_TM_TM_ZONE 1
@@ -6184,7 +6193,7 @@
else
ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include
"
-if test "x$ac_cv_have_decl_tzname" = x""yes; then :
+if test "x$ac_cv_have_decl_tzname" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -6196,7 +6205,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5
$as_echo_n "checking for tzname... " >&6; }
-if test "${ac_cv_var_tzname+set}" = set; then :
+if ${ac_cv_var_tzname+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6240,13 +6249,13 @@
for ac_func in vprintf
do :
ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf"
-if test "x$ac_cv_func_vprintf" = x""yes; then :
+if test "x$ac_cv_func_vprintf" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_VPRINTF 1
_ACEOF
ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt"
-if test "x$ac_cv_func__doprnt" = x""yes; then :
+if test "x$ac_cv_func__doprnt" = xyes; then :
$as_echo "@%:@define HAVE_DOPRNT 1" >>confdefs.h
@@ -6326,7 +6335,7 @@
fi
ac_fn_c_check_header_mongrel "$LINENO" "db.h" "ac_cv_header_db_h" "$ac_includes_default"
-if test "x$ac_cv_header_db_h" = x""yes; then :
+if test "x$ac_cv_header_db_h" = xyes; then :
BDB_SAVE_LDFLAGS=$LDFLAGS
@@ -6427,7 +6436,7 @@
if test "$dblib" = "no"; then
as_fn_error $? "Berkeley DB 3.x or later was not found. You may need to
- supply the --with-bdb-libdir or --with-bdb-incdir configure options." "$LINENO" 5
+ supply the --with-bdb-libdir or --with-bdb-incdir configure options." "$LINENO" 5
fi
if test "$with_bdb_lib" != "none"; then
@@ -6518,7 +6527,7 @@
fi
ac_fn_c_check_header_mongrel "$LINENO" "mysql.h" "ac_cv_header_mysql_h" "$ac_includes_default"
-if test "x$ac_cv_header_mysql_h" = x""yes; then :
+if test "x$ac_cv_header_mysql_h" = xyes; then :
MYSQL_SAVE_LDFLAGS=$LDFLAGS
@@ -6583,7 +6592,7 @@
if test "$mysqllib" = "no"; then
as_fn_error $? "MySQL was not found. You may need to supply the
- --with-mysql-libdir or --with-mysql-incdir configure options." "$LINENO" 5
+ --with-mysql-libdir or --with-mysql-incdir configure options." "$LINENO" 5
else
HAVE_SQL=1
fi
@@ -6667,7 +6676,7 @@
fi
ac_fn_c_check_header_mongrel "$LINENO" "libpq-fe.h" "ac_cv_header_libpq_fe_h" "$ac_includes_default"
-if test "x$ac_cv_header_libpq_fe_h" = x""yes; then :
+if test "x$ac_cv_header_libpq_fe_h" = xyes; then :
PGSQL_SAVE_LDFLAGS=$LDFLAGS
@@ -6732,7 +6741,7 @@
if test "$pgsqllib" = "no"; then
as_fn_error $? "PgSQL was not found. You may need to supply the
- --with-pgsql-libdir or --with-pgsql-incdir configure options." "$LINENO" 5
+ --with-pgsql-libdir or --with-pgsql-incdir configure options." "$LINENO" 5
else
HAVE_SQL=1
fi
@@ -6816,7 +6825,7 @@
fi
ac_fn_c_check_header_mongrel "$LINENO" "sqlite3.h" "ac_cv_header_sqlite3_h" "$ac_includes_default"
-if test "x$ac_cv_header_sqlite3_h" = x""yes; then :
+if test "x$ac_cv_header_sqlite3_h" = xyes; then :
SQLITE_SAVE_LDFLAGS=$LDFLAGS
@@ -6881,7 +6890,7 @@
if test "$sqlitelib" = "no"; then
as_fn_error $? "Sqlite was not found. You may need to supply the
- --with-sqlite-libdir or --with-sqlite-incdir configure options." "$LINENO" 5
+ --with-sqlite-libdir or --with-sqlite-incdir configure options." "$LINENO" 5
else
HAVE_SQL=1
fi
@@ -6950,7 +6959,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_YACC+set}" = set; then :
+if ${ac_cv_prog_YACC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$YACC"; then
@@ -6993,7 +7002,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LEX+set}" = set; then :
+if ${ac_cv_prog_LEX+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$LEX"; then
@@ -7063,7 +7072,7 @@
test $ac_status = 0; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex output file root" >&5
$as_echo_n "checking lex output file root... " >&6; }
-if test "${ac_cv_prog_lex_root+set}" = set; then :
+if ${ac_cv_prog_lex_root+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -7072,7 +7081,7 @@
elif test -f lexyy.c; then
ac_cv_prog_lex_root=lexyy
else
- as_fn_error $? "cannot find output from $LEX; giving up" "$LINENO" 5
+ as_fn_error $? "cannot find output from $LEX; giving up" "$LINENO" 5
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5
@@ -7082,7 +7091,7 @@
if test -z "${LEXLIB+set}"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex library" >&5
$as_echo_n "checking lex library... " >&6; }
-if test "${ac_cv_lib_lex+set}" = set; then :
+if ${ac_cv_lib_lex+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -7112,7 +7121,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5
$as_echo_n "checking whether yytext is a pointer... " >&6; }
-if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then :
+if ${ac_cv_prog_lex_yytext_pointer+:} false; then :
$as_echo_n "(cached) " >&6
else
# POSIX says lex can declare yytext either as a pointer or an array; the
@@ -7123,7 +7132,8 @@
LIBS="$LEXLIB $ac_save_LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#define YYTEXT_POINTER 1
+
+ #define YYTEXT_POINTER 1
`cat $LEX_OUTPUT_ROOT.c`
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -7146,7 +7156,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lfl" >&5
$as_echo_n "checking for main in -lfl... " >&6; }
-if test "${ac_cv_lib_fl_main+set}" = set; then :
+if ${ac_cv_lib_fl_main+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7174,7 +7184,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fl_main" >&5
$as_echo "$ac_cv_lib_fl_main" >&6; }
-if test "x$ac_cv_lib_fl_main" = x""yes; then :
+if test "x$ac_cv_lib_fl_main" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_LIBFL 1
_ACEOF
@@ -7186,15 +7196,15 @@
if test "$testpcre" != "no"; then
ac_fn_c_check_header_mongrel "$LINENO" "pcreposix.h" "ac_cv_header_pcreposix_h" "$ac_includes_default"
-if test "x$ac_cv_header_pcreposix_h" = x""yes; then :
+if test "x$ac_cv_header_pcreposix_h" = xyes; then :
fi
- if test "$ac_cv_header_pcreposix_h" == "yes"; then
+ if test "$ac_cv_header_pcreposix_h" = "yes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for utf8 enabled pcre" >&5
$as_echo_n "checking for utf8 enabled pcre... " >&6; }
- if test "${cyrus_cv_pcre_utf8+set}" = set; then :
+ if ${cyrus_cv_pcre_utf8+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7219,7 +7229,7 @@
fi
fi
- if test "$cyrus_cv_pcre_utf8" == "yes"; then
+ if test "$cyrus_cv_pcre_utf8" = "yes"; then
LIBS="$LIBS -lpcre -lpcreposix";
$as_echo "@%:@define ENABLE_REGEX /**/" >>confdefs.h
@@ -7231,7 +7241,7 @@
for ac_header in rxposix.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "rxposix.h" "ac_cv_header_rxposix_h" "$ac_includes_default"
-if test "x$ac_cv_header_rxposix_h" = x""yes; then :
+if test "x$ac_cv_header_rxposix_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_RXPOSIX_H 1
_ACEOF
@@ -7240,7 +7250,7 @@
done
- if test "$ac_cv_header_rxposix_h" == "yes"; then
+ if test "$ac_cv_header_rxposix_h" = "yes"; then
LIBS="$LIBS -lrx"
$as_echo "@%:@define ENABLE_REGEX /**/" >>confdefs.h
@@ -7248,7 +7258,7 @@
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing regcomp" >&5
$as_echo_n "checking for library containing regcomp... " >&6; }
-if test "${ac_cv_search_regcomp+set}" = set; then :
+if ${ac_cv_search_regcomp+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -7282,11 +7292,11 @@
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_regcomp+set}" = set; then :
+ if ${ac_cv_search_regcomp+:} false; then :
break
fi
done
-if test "${ac_cv_search_regcomp+set}" = set; then :
+if ${ac_cv_search_regcomp+:} false; then :
else
ac_cv_search_regcomp=no
@@ -7314,7 +7324,7 @@
ac_fn_c_check_func "$LINENO" "strerror" "ac_cv_func_strerror"
-if test "x$ac_cv_func_strerror" = x""yes; then :
+if test "x$ac_cv_func_strerror" = xyes; then :
$as_echo "@%:@define HAS_STRERROR /**/" >>confdefs.h
@@ -7328,7 +7338,7 @@
for ac_header in sys/resource.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "sys/resource.h" "ac_cv_header_sys_resource_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_resource_h" = x""yes; then :
+if test "x$ac_cv_header_sys_resource_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_SYS_RESOURCE_H 1
_ACEOF
@@ -7340,7 +7350,7 @@
for ac_func in setrlimit
do :
ac_fn_c_check_func "$LINENO" "setrlimit" "ac_cv_func_setrlimit"
-if test "x$ac_cv_func_setrlimit" = x""yes; then :
+if test "x$ac_cv_func_setrlimit" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_SETRLIMIT 1
_ACEOF
@@ -7351,7 +7361,7 @@
for ac_func in getrlimit
do :
ac_fn_c_check_func "$LINENO" "getrlimit" "ac_cv_func_getrlimit"
-if test "x$ac_cv_func_getrlimit" = x""yes; then :
+if test "x$ac_cv_func_getrlimit" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_GETRLIMIT 1
_ACEOF
@@ -7376,7 +7386,7 @@
for ac_func in shutdown
do :
ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown"
-if test "x$ac_cv_func_shutdown" = x""yes; then :
+if test "x$ac_cv_func_shutdown" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_SHUTDOWN 1
_ACEOF
@@ -7427,14 +7437,14 @@
spt_type=""
ac_fn_c_check_func "$LINENO" "setproctitle" "ac_cv_func_setproctitle"
-if test "x$ac_cv_func_setproctitle" = x""yes; then :
+if test "x$ac_cv_func_setproctitle" = xyes; then :
spt_type=SPT_BUILTIN
fi
if test "$spt_type" = ""; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for setproctitle in -lutil" >&5
$as_echo_n "checking for setproctitle in -lutil... " >&6; }
-if test "${ac_cv_lib_util_setproctitle+set}" = set; then :
+if ${ac_cv_lib_util_setproctitle+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7468,7 +7478,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_setproctitle" >&5
$as_echo "$ac_cv_lib_util_setproctitle" >&6; }
-if test "x$ac_cv_lib_util_setproctitle" = x""yes; then :
+if test "x$ac_cv_lib_util_setproctitle" = xyes; then :
spt_type=SPT_BUILTIN
LIBS="${LIBS} -lutil"
fi
@@ -7476,7 +7486,7 @@
fi
if test "$spt_type" = ""; then
ac_fn_c_check_header_mongrel "$LINENO" "sys/pstat.h" "ac_cv_header_sys_pstat_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_pstat_h" = x""yes; then :
+if test "x$ac_cv_header_sys_pstat_h" = xyes; then :
spt_type=SPT_PSTAT
fi
@@ -7484,7 +7494,7 @@
fi
if test "$spt_type" = ""; then
ac_fn_c_check_header_mongrel "$LINENO" "sys/sysnews.h" "ac_cv_header_sys_sysnews_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_sysnews_h" = x""yes; then :
+if test "x$ac_cv_header_sys_sysnews_h" = xyes; then :
spt_type=SPT_SYSMIPS
fi
@@ -7493,7 +7503,7 @@
if test "$spt_type" = ""; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PS_STRINGS" >&5
$as_echo_n "checking for PS_STRINGS... " >&6; }
- if test "${cyrus_cv_sys_psstrings+set}" = set; then :
+ if ${cyrus_cv_sys_psstrings+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7522,7 +7532,7 @@
if test "$spt_type" = ""; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SCO" >&5
$as_echo_n "checking for SCO... " >&6; }
- if test "${cyrus_cv_sys_sco+set}" = set; then :
+ if ${cyrus_cv_sys_sco+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7549,7 +7559,7 @@
if test "$spt_type" = ""; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for setproctitle usability" >&5
$as_echo_n "checking for setproctitle usability... " >&6; }
- if test "${cyrus_cv_sys_setproctitle+set}" = set; then :
+ if ${cyrus_cv_sys_setproctitle+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7583,7 +7593,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking nonblocking method" >&5
$as_echo_n "checking nonblocking method... " >&6; }
-if test "${cyrus_cv_sys_nonblock+set}" = set; then :
+if ${cyrus_cv_sys_nonblock+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7618,7 +7628,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking timezone GMT offset method" >&5
$as_echo_n "checking timezone GMT offset method... " >&6; }
-if test "${cyrus_cv_struct_sys_gmtoff+set}" = set; then :
+if ${cyrus_cv_struct_sys_gmtoff+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7649,7 +7659,7 @@
$as_echo "$WITH_GMTOFF" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared mmap" >&5
$as_echo_n "checking for shared mmap... " >&6; }
-if test "${cyrus_cv_func_mmap_shared+set}" = set; then :
+if ${cyrus_cv_func_mmap_shared+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
@@ -7701,7 +7711,7 @@
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stupid shared mmap" >&5
$as_echo_n "checking for stupid shared mmap... " >&6; }
-if test "${cyrus_cv_func_mmap_stupidshared+set}" = set; then :
+if ${cyrus_cv_func_mmap_stupidshared+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
@@ -7768,16 +7778,16 @@
else
ac_fn_c_check_func "$LINENO" "fcntl" "ac_cv_func_fcntl"
-if test "x$ac_cv_func_fcntl" = x""yes; then :
+if test "x$ac_cv_func_fcntl" = xyes; then :
WITH_LOCK="fcntl"
else
ac_fn_c_check_func "$LINENO" "flock" "ac_cv_func_flock"
-if test "x$ac_cv_func_flock" = x""yes; then :
+if test "x$ac_cv_func_flock" = xyes; then :
WITH_LOCK="flock"
else
- as_fn_error $? "unable to detect locking method" "$LINENO" 5
+ as_fn_error $? "unable to detect locking method" "$LINENO" 5
fi
@@ -7792,7 +7802,7 @@
LIB_RT=""
ac_fn_c_check_func "$LINENO" "fdatasync" "ac_cv_func_fdatasync"
-if test "x$ac_cv_func_fdatasync" = x""yes; then :
+if test "x$ac_cv_func_fdatasync" = xyes; then :
$as_echo "@%:@define HAVE_FDATASYNC /**/" >>confdefs.h
@@ -7800,7 +7810,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fdatasync in -lrt" >&5
$as_echo_n "checking for fdatasync in -lrt... " >&6; }
-if test "${ac_cv_lib_rt_fdatasync+set}" = set; then :
+if ${ac_cv_lib_rt_fdatasync+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7834,7 +7844,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_fdatasync" >&5
$as_echo "$ac_cv_lib_rt_fdatasync" >&6; }
-if test "x$ac_cv_lib_rt_fdatasync" = x""yes; then :
+if test "x$ac_cv_lib_rt_fdatasync" = xyes; then :
LIB_RT="-lrt"
@@ -7848,12 +7858,12 @@
cant_find_sigvec=no
-if test "${cyrus_cv_sigveclib+set}" = set; then :
+if ${cyrus_cv_sigveclib+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_fn_c_check_func "$LINENO" "sigvec" "ac_cv_func_sigvec"
-if test "x$ac_cv_func_sigvec" = x""yes; then :
+if test "x$ac_cv_func_sigvec" = xyes; then :
cyrus_cv_sigveclib=""
@@ -7861,7 +7871,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigvec in -lBSD" >&5
$as_echo_n "checking for sigvec in -lBSD... " >&6; }
-if test "${ac_cv_lib_BSD_sigvec+set}" = set; then :
+if ${ac_cv_lib_BSD_sigvec+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7895,7 +7905,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_BSD_sigvec" >&5
$as_echo "$ac_cv_lib_BSD_sigvec" >&6; }
-if test "x$ac_cv_lib_BSD_sigvec" = x""yes; then :
+if test "x$ac_cv_lib_BSD_sigvec" = xyes; then :
cyrus_cv_sigveclib="-lBSD"
else
@@ -7903,7 +7913,7 @@
LDFLAGS="-L/usr/ucblib -R/usr/ucblib $LDFLAGS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigvec in -lucb" >&5
$as_echo_n "checking for sigvec in -lucb... " >&6; }
-if test "${ac_cv_lib_ucb_sigvec+set}" = set; then :
+if ${ac_cv_lib_ucb_sigvec+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7937,7 +7947,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ucb_sigvec" >&5
$as_echo "$ac_cv_lib_ucb_sigvec" >&6; }
-if test "x$ac_cv_lib_ucb_sigvec" = x""yes; then :
+if test "x$ac_cv_lib_ucb_sigvec" = xyes; then :
cyrus_cv_sigveclib="-lc -L/usr/ucblib -R/usr/ucblib -lucb"
else
@@ -8029,7 +8039,7 @@
AFS_LIBS="$AFS_LIBS -ldes"
fi
- if test "${cyrus_cv_afs_sigvec+set}" = set; then :
+ if ${cyrus_cv_afs_sigvec+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -8109,7 +8119,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_initialize in -lldap" >&5
$as_echo_n "checking for ldap_initialize in -lldap... " >&6; }
-if test "${ac_cv_lib_ldap_ldap_initialize+set}" = set; then :
+if ${ac_cv_lib_ldap_ldap_initialize+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8143,7 +8153,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_initialize" >&5
$as_echo "$ac_cv_lib_ldap_ldap_initialize" >&6; }
-if test "x$ac_cv_lib_ldap_ldap_initialize" = x""yes; then :
+if test "x$ac_cv_lib_ldap_ldap_initialize" = xyes; then :
$as_echo "@%:@define HAVE_LDAP /**/" >>confdefs.h
@@ -8159,7 +8169,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_initialize in -lldap" >&5
$as_echo_n "checking for ldap_initialize in -lldap... " >&6; }
-if test "${ac_cv_lib_ldap_ldap_initialize+set}" = set; then :
+if ${ac_cv_lib_ldap_ldap_initialize+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8193,7 +8203,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_initialize" >&5
$as_echo "$ac_cv_lib_ldap_ldap_initialize" >&6; }
-if test "x$ac_cv_lib_ldap_ldap_initialize" = x""yes; then :
+if test "x$ac_cv_lib_ldap_ldap_initialize" = xyes; then :
$as_echo "@%:@define HAVE_LDAP /**/" >>confdefs.h
@@ -8259,7 +8269,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_search in -lresolv" >&5
$as_echo_n "checking for res_search in -lresolv... " >&6; }
-if test "${ac_cv_lib_resolv_res_search+set}" = set; then :
+if ${ac_cv_lib_resolv_res_search+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8293,7 +8303,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_search" >&5
$as_echo "$ac_cv_lib_resolv_res_search" >&6; }
-if test "x$ac_cv_lib_resolv_res_search" = x""yes; then :
+if test "x$ac_cv_lib_resolv_res_search" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_LIBRESOLV 1
_ACEOF
@@ -8304,7 +8314,7 @@
if test "$with_statickrb" = "yes" -a ! -d "$with_krb"; then
- as_fn_error $? "--enable-statickrb specified but --with-krb did not specify a valid directory" "$LINENO" 5
+ as_fn_error $? "--enable-statickrb specified but --with-krb did not specify a valid directory" "$LINENO" 5
fi
if test "$with_krb" != "no"; then
@@ -8319,7 +8329,7 @@
if test "$with_krbdes" = "yes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for des_ecb_encrypt in -ldes" >&5
$as_echo_n "checking for des_ecb_encrypt in -ldes... " >&6; }
-if test "${ac_cv_lib_des_des_ecb_encrypt+set}" = set; then :
+if ${ac_cv_lib_des_des_ecb_encrypt+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8353,14 +8363,14 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_des_des_ecb_encrypt" >&5
$as_echo "$ac_cv_lib_des_des_ecb_encrypt" >&6; }
-if test "x$ac_cv_lib_des_des_ecb_encrypt" = x""yes; then :
+if test "x$ac_cv_lib_des_des_ecb_encrypt" = xyes; then :
if test "$with_statickrb" = "yes"; then
KRB_LIBS="$with_krb/lib/libdes.a"
else
KRB_LIBS="-ldes"
fi
else
- as_fn_error $? "The Kerberos DES library is required for Kerberos support. You might want --with-auth=unix." "$LINENO" 5
+ as_fn_error $? "The Kerberos DES library is required for Kerberos support. You might want --with-auth=unix." "$LINENO" 5
fi
fi
@@ -8369,7 +8379,7 @@
if test -d ${with_krb}; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Kerberos includes" >&5
$as_echo_n "checking for Kerberos includes... " >&6; }
-if test "${cyrus_cv_krbinclude+set}" = set; then :
+if ${cyrus_cv_krbinclude+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -8406,11 +8416,11 @@
if test "$with_des" != no; then
ac_fn_c_check_header_mongrel "$LINENO" "krb.h" "ac_cv_header_krb_h" "$ac_includes_default"
-if test "x$ac_cv_header_krb_h" = x""yes; then :
+if test "x$ac_cv_header_krb_h" = xyes; then :
as_ac_Lib=`$as_echo "ac_cv_lib_${KRBLIB}''_krb_mk_priv" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb_mk_priv in -l${KRBLIB}" >&5
$as_echo_n "checking for krb_mk_priv in -l${KRBLIB}... " >&6; }
-if eval "test \"\${$as_ac_Lib+set}\"" = set; then :
+if eval \${$as_ac_Lib+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8495,7 +8505,7 @@
LIB_RSAREF=""
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for RSAPublicEncrypt in -lrsaref" >&5
$as_echo_n "checking for RSAPublicEncrypt in -lrsaref... " >&6; }
-if test "${ac_cv_lib_rsaref_RSAPublicEncrypt+set}" = set; then :
+if ${ac_cv_lib_rsaref_RSAPublicEncrypt+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8529,7 +8539,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rsaref_RSAPublicEncrypt" >&5
$as_echo "$ac_cv_lib_rsaref_RSAPublicEncrypt" >&6; }
-if test "x$ac_cv_lib_rsaref_RSAPublicEncrypt" = x""yes; then :
+if test "x$ac_cv_lib_rsaref_RSAPublicEncrypt" = xyes; then :
LIB_RSAREF="-lRSAglue -lrsaref"; cmu_have_rsaref=yes
else
cmu_have_rsaref=no
@@ -8539,7 +8549,7 @@
with_openssl="yes"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BIO_accept in -lcrypto" >&5
$as_echo_n "checking for BIO_accept in -lcrypto... " >&6; }
-if test "${ac_cv_lib_crypto_BIO_accept+set}" = set; then :
+if ${ac_cv_lib_crypto_BIO_accept+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8573,7 +8583,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_BIO_accept" >&5
$as_echo "$ac_cv_lib_crypto_BIO_accept" >&6; }
-if test "x$ac_cv_lib_crypto_BIO_accept" = x""yes; then :
+if test "x$ac_cv_lib_crypto_BIO_accept" = xyes; then :
LIBS="-lcrypto $LIB_RSAREF ${LIBS}"
else
with_openssl="no"
@@ -8581,7 +8591,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL_CTX_new in -lssl" >&5
$as_echo_n "checking for SSL_CTX_new in -lssl... " >&6; }
-if test "${ac_cv_lib_ssl_SSL_CTX_new+set}" = set; then :
+if ${ac_cv_lib_ssl_SSL_CTX_new+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8615,7 +8625,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ssl_SSL_CTX_new" >&5
$as_echo "$ac_cv_lib_ssl_SSL_CTX_new" >&6; }
-if test "x$ac_cv_lib_ssl_SSL_CTX_new" = x""yes; then :
+if test "x$ac_cv_lib_ssl_SSL_CTX_new" = xyes; then :
LIBS="-lssl ${LIBS}"
else
with_openssl="no"
@@ -8695,7 +8705,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
$as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
+if ${ac_cv_sizeof_long+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
@@ -8705,7 +8715,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (long)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long=0
fi
@@ -8724,7 +8734,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what directory libraries are found in" >&5
$as_echo_n "checking what directory libraries are found in... " >&6; }
-if test "${ac_cv_cmu_lib_subdir+set}" = set; then :
+if ${ac_cv_cmu_lib_subdir+:} false; then :
$as_echo_n "(cached) " >&6
else
test "X$with_lib_subdir" = "Xyes" && with_lib_subdir=
@@ -8778,11 +8788,11 @@
with_zlib="no";;
*)
ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_zlib_h" = x""yes; then :
+if test "x$ac_cv_header_zlib_h" = xyes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflate in -lz" >&5
$as_echo_n "checking for deflate in -lz... " >&6; }
-if test "${ac_cv_lib_z_deflate+set}" = set; then :
+if ${ac_cv_lib_z_deflate+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8816,7 +8826,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflate" >&5
$as_echo "$ac_cv_lib_z_deflate" >&6; }
-if test "x$ac_cv_lib_z_deflate" = x""yes; then :
+if test "x$ac_cv_lib_z_deflate" = xyes; then :
LIBS="${LIBS} -lz"; with_zlib="yes"
else
with_zlib="no"
@@ -8865,7 +8875,7 @@
no) true;;
""|yes) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZInitialize in -lzephyr" >&5
$as_echo_n "checking for ZInitialize in -lzephyr... " >&6; }
-if test "${ac_cv_lib_zephyr_ZInitialize+set}" = set; then :
+if ${ac_cv_lib_zephyr_ZInitialize+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8899,7 +8909,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zephyr_ZInitialize" >&5
$as_echo "$ac_cv_lib_zephyr_ZInitialize" >&6; }
-if test "x$ac_cv_lib_zephyr_ZInitialize" = x""yes; then :
+if test "x$ac_cv_lib_zephyr_ZInitialize" = xyes; then :
ZEPHYR_LIBS="-lzephyr"
else
with_zephyr="no"
@@ -8966,7 +8976,7 @@
for ac_header in sys/sockio.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "sys/sockio.h" "ac_cv_header_sys_sockio_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_sockio_h" = x""yes; then :
+if test "x$ac_cv_header_sys_sockio_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_SYS_SOCKIO_H 1
_ACEOF
@@ -8999,7 +9009,7 @@
# no value supplied
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for com_err in -lcom_err" >&5
$as_echo_n "checking for com_err in -lcom_err... " >&6; }
-if test "${ac_cv_lib_com_err_com_err+set}" = set; then :
+if ${ac_cv_lib_com_err_com_err+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9033,23 +9043,23 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_com_err_com_err" >&5
$as_echo "$ac_cv_lib_com_err_com_err" >&6; }
-if test "x$ac_cv_lib_com_err_com_err" = x""yes; then :
+if test "x$ac_cv_lib_com_err_com_err" = xyes; then :
# com_err is already in library path
# guess we're okay
# can use system com_err
with_com_err=""
ac_fn_c_check_header_mongrel "$LINENO" "et/com_err.h" "ac_cv_header_et_com_err_h" "$ac_includes_default"
-if test "x$ac_cv_header_et_com_err_h" = x""yes; then :
+if test "x$ac_cv_header_et_com_err_h" = xyes; then :
$as_echo "@%:@define HAVE_ET_COM_ERR_H /**/" >>confdefs.h
else
ac_fn_c_check_header_mongrel "$LINENO" "com_err.h" "ac_cv_header_com_err_h" "$ac_includes_default"
-if test "x$ac_cv_header_com_err_h" = x""yes; then :
+if test "x$ac_cv_header_com_err_h" = xyes; then :
else
- as_fn_error $? "cannot locate com_err.h" "$LINENO" 5
+ as_fn_error $? "cannot locate com_err.h" "$LINENO" 5
fi
@@ -9060,7 +9070,7 @@
set dummy compile_et; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_COMPILE_ET+set}" = set; then :
+if ${ac_cv_path_COMPILE_ET+:} false; then :
$as_echo_n "(cached) " >&6
else
case $COMPILE_ET in
@@ -9106,7 +9116,7 @@
set dummy /usr/local/bin/compile_et; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_COMPILE_ET+set}" = set; then :
+if ${ac_cv_path_COMPILE_ET+:} false; then :
$as_echo_n "(cached) " >&6
else
case $COMPILE_ET in
@@ -9149,7 +9159,7 @@
set dummy /usr/bin/compile_et; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_COMPILE_ET+set}" = set; then :
+if ${ac_cv_path_COMPILE_ET+:} false; then :
$as_echo_n "(cached) " >&6
else
case $COMPILE_ET in
@@ -9242,7 +9252,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for modern syslog" >&5
$as_echo_n "checking for modern syslog... " >&6; }
-if test "${cyrus_cv_lib_syslog+set}" = set; then :
+if ${cyrus_cv_lib_syslog+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9289,7 +9299,7 @@
$as_echo "$SYSLOG_FACILITY" >&6; }
ac_fn_c_check_func "$LINENO" "getdtablesize" "ac_cv_func_getdtablesize"
-if test "x$ac_cv_func_getdtablesize" = x""yes; then :
+if test "x$ac_cv_func_getdtablesize" = xyes; then :
$as_echo "@%:@define HAVE_GETDTABLESIZE 1" >>confdefs.h
else
@@ -9342,12 +9352,12 @@
ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9381,7 +9391,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_LIBDL 1
_ACEOF
@@ -9393,12 +9403,12 @@
fi
ac_fn_c_check_func "$LINENO" "crypt" "ac_cv_func_crypt"
-if test "x$ac_cv_func_crypt" = x""yes; then :
+if test "x$ac_cv_func_crypt" = xyes; then :
cmu_have_crypt=yes
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
$as_echo_n "checking for crypt in -lcrypt... " >&6; }
-if test "${ac_cv_lib_crypt_crypt+set}" = set; then :
+if ${ac_cv_lib_crypt_crypt+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9432,7 +9442,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
-if test "x$ac_cv_lib_crypt_crypt" = x""yes; then :
+if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
LIB_CRYPT="-lcrypt"; cmu_have_crypt=yes
else
cmu_have_crypt=no
@@ -9484,7 +9494,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: The system type is not recognized. If you believe that CyberSafe GSSAPI works on this platform, please update the configure script" >&5
$as_echo "$as_me: WARNING: The system type is not recognized. If you believe that CyberSafe GSSAPI works on this platform, please update the configure script" >&2;}
if test "$gss_impl" = "cybersafe"; then
- as_fn_error $? "CyberSafe was forced, cannot continue as platform is not supported" "$LINENO" 5
+ as_fn_error $? "CyberSafe was forced, cannot continue as platform is not supported" "$LINENO" 5
fi
;;
esac
@@ -9509,11 +9519,11 @@
fi
fi
ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
-if test "x$ac_cv_header_gssapi_h" = x""yes; then :
+if test "x$ac_cv_header_gssapi_h" = xyes; then :
else
ac_fn_c_check_header_mongrel "$LINENO" "gssapi/gssapi.h" "ac_cv_header_gssapi_gssapi_h" "$ac_includes_default"
-if test "x$ac_cv_header_gssapi_gssapi_h" = x""yes; then :
+if test "x$ac_cv_header_gssapi_gssapi_h" = xyes; then :
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling GSSAPI - no include files found" >&5
@@ -9546,7 +9556,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_search in -lresolv" >&5
$as_echo_n "checking for res_search in -lresolv... " >&6; }
-if test "${ac_cv_lib_resolv_res_search+set}" = set; then :
+if ${ac_cv_lib_resolv_res_search+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9580,7 +9590,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_search" >&5
$as_echo "$ac_cv_lib_resolv_res_search" >&6; }
-if test "x$ac_cv_lib_resolv_res_search" = x""yes; then :
+if test "x$ac_cv_lib_resolv_res_search" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_LIBRESOLV 1
_ACEOF
@@ -9608,7 +9618,7 @@
gss_failed=0
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_unwrap in -lgssapi" >&5
$as_echo_n "checking for gss_unwrap in -lgssapi... " >&6; }
-if test "${ac_cv_lib_gssapi_gss_unwrap+set}" = set; then :
+if ${ac_cv_lib_gssapi_gss_unwrap+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9642,7 +9652,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_gss_unwrap" >&5
$as_echo "$ac_cv_lib_gssapi_gss_unwrap" >&6; }
-if test "x$ac_cv_lib_gssapi_gss_unwrap" = x""yes; then :
+if test "x$ac_cv_lib_gssapi_gss_unwrap" = xyes; then :
gss_impl="heimdal"
else
gss_failed=1
@@ -9657,7 +9667,7 @@
# check for libkrb5support first
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb5int_getspecific in -lkrb5support" >&5
$as_echo_n "checking for krb5int_getspecific in -lkrb5support... " >&6; }
-if test "${ac_cv_lib_krb5support_krb5int_getspecific+set}" = set; then :
+if ${ac_cv_lib_krb5support_krb5int_getspecific+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9691,7 +9701,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_krb5support_krb5int_getspecific" >&5
$as_echo "$ac_cv_lib_krb5support_krb5int_getspecific" >&6; }
-if test "x$ac_cv_lib_krb5support_krb5int_getspecific" = x""yes; then :
+if test "x$ac_cv_lib_krb5support_krb5int_getspecific" = xyes; then :
K5SUP=-lkrb5support K5SUPSTATIC=$gssapi_dir/libkrb5support.a
fi
@@ -9699,7 +9709,7 @@
gss_failed=0
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_unwrap in -lgssapi_krb5" >&5
$as_echo_n "checking for gss_unwrap in -lgssapi_krb5... " >&6; }
-if test "${ac_cv_lib_gssapi_krb5_gss_unwrap+set}" = set; then :
+if ${ac_cv_lib_gssapi_krb5_gss_unwrap+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9733,7 +9743,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_krb5_gss_unwrap" >&5
$as_echo "$ac_cv_lib_gssapi_krb5_gss_unwrap" >&6; }
-if test "x$ac_cv_lib_gssapi_krb5_gss_unwrap" = x""yes; then :
+if test "x$ac_cv_lib_gssapi_krb5_gss_unwrap" = xyes; then :
gss_impl="mit"
else
gss_failed=1
@@ -9766,7 +9776,7 @@
unset ac_cv_lib_gss_csf_gss_acq_user
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for csf_gss_acq_user in -lgss" >&5
$as_echo_n "checking for csf_gss_acq_user in -lgss... " >&6; }
-if test "${ac_cv_lib_gss_csf_gss_acq_user+set}" = set; then :
+if ${ac_cv_lib_gss_csf_gss_acq_user+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9800,13 +9810,13 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gss_csf_gss_acq_user" >&5
$as_echo "$ac_cv_lib_gss_csf_gss_acq_user" >&6; }
-if test "x$ac_cv_lib_gss_csf_gss_acq_user" = x""yes; then :
+if test "x$ac_cv_lib_gss_csf_gss_acq_user" = xyes; then :
gss_impl="cybersafe03"
else
unset ac_cv_lib_gss_csf_gss_acq_user;
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for csf_gss_acq_user in -lgss" >&5
$as_echo_n "checking for csf_gss_acq_user in -lgss... " >&6; }
-if test "${ac_cv_lib_gss_csf_gss_acq_user+set}" = set; then :
+if ${ac_cv_lib_gss_csf_gss_acq_user+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9840,7 +9850,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gss_csf_gss_acq_user" >&5
$as_echo "$ac_cv_lib_gss_csf_gss_acq_user" >&6; }
-if test "x$ac_cv_lib_gss_csf_gss_acq_user" = x""yes; then :
+if test "x$ac_cv_lib_gss_csf_gss_acq_user" = xyes; then :
gss_impl="cybersafe"
else
gss_failed=1
@@ -9864,7 +9874,7 @@
gss_failed=0
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_unwrap in -lgss" >&5
$as_echo_n "checking for gss_unwrap in -lgss... " >&6; }
-if test "${ac_cv_lib_gss_gss_unwrap+set}" = set; then :
+if ${ac_cv_lib_gss_gss_unwrap+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9898,7 +9908,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gss_gss_unwrap" >&5
$as_echo "$ac_cv_lib_gss_gss_unwrap" >&6; }
-if test "x$ac_cv_lib_gss_gss_unwrap" = x""yes; then :
+if test "x$ac_cv_lib_gss_gss_unwrap" = xyes; then :
gss_impl="seam"
else
gss_failed=1
@@ -10059,7 +10069,7 @@
$as_echo "with implementation ${gss_impl}" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_search in -lresolv" >&5
$as_echo_n "checking for res_search in -lresolv... " >&6; }
-if test "${ac_cv_lib_resolv_res_search+set}" = set; then :
+if ${ac_cv_lib_resolv_res_search+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10093,7 +10103,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_search" >&5
$as_echo "$ac_cv_lib_resolv_res_search" >&6; }
-if test "x$ac_cv_lib_resolv_res_search" = x""yes; then :
+if test "x$ac_cv_lib_resolv_res_search" = xyes; then :
GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lresolv"
fi
@@ -10106,7 +10116,7 @@
for ac_func in gsskrb5_register_acceptor_identity
do :
ac_fn_c_check_func "$LINENO" "gsskrb5_register_acceptor_identity" "ac_cv_func_gsskrb5_register_acceptor_identity"
-if test "x$ac_cv_func_gsskrb5_register_acceptor_identity" = x""yes; then :
+if test "x$ac_cv_func_gsskrb5_register_acceptor_identity" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY 1
_ACEOF
@@ -10171,9 +10181,9 @@
fi
ac_fn_c_check_header_mongrel "$LINENO" "sasl/sasl.h" "ac_cv_header_sasl_sasl_h" "$ac_includes_default"
-if test "x$ac_cv_header_sasl_sasl_h" = x""yes; then :
+if test "x$ac_cv_header_sasl_sasl_h" = xyes; then :
ac_fn_c_check_header_mongrel "$LINENO" "sasl/saslutil.h" "ac_cv_header_sasl_saslutil_h" "$ac_includes_default"
-if test "x$ac_cv_header_sasl_saslutil_h" = x""yes; then :
+if test "x$ac_cv_header_sasl_saslutil_h" = xyes; then :
for i42 in lib64 lib; do
if test -r ${with_staticsasl}/$i42/libsasl2.a; then
ac_cv_found_sasl=yes
@@ -10185,7 +10195,7 @@
if test ! "$ac_cv_found_sasl" = "yes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for static libsasl" >&5
$as_echo_n "checking for static libsasl... " >&6; }
- as_fn_error $? "Could not find ${with_staticsasl}/lib*/libsasl2.a" "$LINENO" 5
+ as_fn_error $? "Could not find ${with_staticsasl}/lib*/libsasl2.a" "$LINENO" 5
fi
fi
@@ -10227,12 +10237,12 @@
# be sure to check for a SASLv2 specific function
ac_fn_c_check_header_mongrel "$LINENO" "sasl/sasl.h" "ac_cv_header_sasl_sasl_h" "$ac_includes_default"
-if test "x$ac_cv_header_sasl_sasl_h" = x""yes; then :
+if test "x$ac_cv_header_sasl_sasl_h" = xyes; then :
ac_fn_c_check_header_mongrel "$LINENO" "sasl/saslutil.h" "ac_cv_header_sasl_saslutil_h" "$ac_includes_default"
-if test "x$ac_cv_header_sasl_saslutil_h" = x""yes; then :
+if test "x$ac_cv_header_sasl_saslutil_h" = xyes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for prop_get in -lsasl2" >&5
$as_echo_n "checking for prop_get in -lsasl2... " >&6; }
-if test "${ac_cv_lib_sasl2_prop_get+set}" = set; then :
+if ${ac_cv_lib_sasl2_prop_get+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10266,7 +10276,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sasl2_prop_get" >&5
$as_echo "$ac_cv_lib_sasl2_prop_get" >&6; }
-if test "x$ac_cv_lib_sasl2_prop_get" = x""yes; then :
+if test "x$ac_cv_lib_sasl2_prop_get" = xyes; then :
ac_cv_found_sasl=yes
else
ac_cv_found_sasl=no
@@ -10322,7 +10332,7 @@
if test "$ac_cv_found_sasl" != "yes"; then
as_fn_error $? "Cannot continue without libsasl2.
-Get it from ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/." "$LINENO" 5
+Get it from ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/." "$LINENO" 5
fi
@@ -10352,7 +10362,7 @@
if ac_fn_c_try_cpp "$LINENO"; then :
else
- as_fn_error $? "Incorrect SASL headers found. This package requires SASL 2.1.7 or newer." "$LINENO" 5
+ as_fn_error $? "Incorrect SASL headers found. This package requires SASL 2.1.7 or newer." "$LINENO" 5
fi
rm -f conftest.err conftest.i conftest.$ac_ext
@@ -10366,7 +10376,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sasl_checkapop in -lsasl2" >&5
$as_echo_n "checking for sasl_checkapop in -lsasl2... " >&6; }
-if test "${ac_cv_lib_sasl2_sasl_checkapop+set}" = set; then :
+if ${ac_cv_lib_sasl2_sasl_checkapop+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10400,12 +10410,12 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sasl2_sasl_checkapop" >&5
$as_echo "$ac_cv_lib_sasl2_sasl_checkapop" >&6; }
-if test "x$ac_cv_lib_sasl2_sasl_checkapop" = x""yes; then :
+if test "x$ac_cv_lib_sasl2_sasl_checkapop" = xyes; then :
$as_echo "@%:@define HAVE_APOP /**/" >>confdefs.h
else
- as_fn_error $? "libsasl2 without working sasl_checkapop. Cannot continue." "$LINENO" 5
+ as_fn_error $? "libsasl2 without working sasl_checkapop. Cannot continue." "$LINENO" 5
fi
@@ -10436,7 +10446,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_PERL+set}" = set; then :
+if ${ac_cv_prog_PERL+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$PERL"; then
@@ -10483,7 +10493,7 @@
PERL_SUBDIRS="imap"
PERL="${with_perl}"
case "${target_os}" in
- linux*|netbsd*)
+ linux*|netbsd*|freebsd*|dragonfly*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl cccdlflags needed on \"${target_os}\"" >&5
$as_echo_n "checking for perl cccdlflags needed on \"${target_os}\"... " >&6; }
eval `${PERL} -V:cccdlflags`
@@ -10531,7 +10541,7 @@
cmu_save_LIBS="$LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for request_init in -lwrap" >&5
$as_echo_n "checking for request_init in -lwrap... " >&6; }
-if test "${ac_cv_lib_wrap_request_init+set}" = set; then :
+if ${ac_cv_lib_wrap_request_init+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10565,10 +10575,10 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_wrap_request_init" >&5
$as_echo "$ac_cv_lib_wrap_request_init" >&6; }
-if test "x$ac_cv_lib_wrap_request_init" = x""yes; then :
+if test "x$ac_cv_lib_wrap_request_init" = xyes; then :
ac_fn_c_check_header_mongrel "$LINENO" "tcpd.h" "ac_cv_header_tcpd_h" "$ac_includes_default"
-if test "x$ac_cv_header_tcpd_h" = x""yes; then :
+if test "x$ac_cv_header_tcpd_h" = xyes; then :
else
with_libwrap=no
@@ -10593,7 +10603,7 @@
LIB_WRAP="-lwrap"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for yp_get_default_domain in -lnsl" >&5
$as_echo_n "checking for yp_get_default_domain in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_yp_get_default_domain+set}" = set; then :
+if ${ac_cv_lib_nsl_yp_get_default_domain+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10627,7 +10637,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_yp_get_default_domain" >&5
$as_echo "$ac_cv_lib_nsl_yp_get_default_domain" >&6; }
-if test "x$ac_cv_lib_nsl_yp_get_default_domain" = x""yes; then :
+if test "x$ac_cv_lib_nsl_yp_get_default_domain" = xyes; then :
LIB_WRAP="${LIB_WRAP} -lnsl"
fi
@@ -10660,7 +10670,7 @@
set dummy net-snmp-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_SNMP_CONFIG+set}" = set; then :
+if ${ac_cv_path_SNMP_CONFIG+:} false; then :
$as_echo_n "(cached) " >&6
else
case $SNMP_CONFIG in
@@ -10720,7 +10730,7 @@
for ac_header in net-snmp/agent/agent_module_config.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "net-snmp/agent/agent_module_config.h" "ac_cv_header_net_snmp_agent_agent_module_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_net_snmp_agent_agent_module_config_h" = x""yes; then :
+if test "x$ac_cv_header_net_snmp_agent_agent_module_config_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_NET_SNMP_AGENT_AGENT_MODULE_CONFIG_H 1
_ACEOF
@@ -10744,7 +10754,7 @@
cmu_save_LIBS="$LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sprint_objid in -lsnmp" >&5
$as_echo_n "checking for sprint_objid in -lsnmp... " >&6; }
-if test "${ac_cv_lib_snmp_sprint_objid+set}" = set; then :
+if ${ac_cv_lib_snmp_sprint_objid+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10778,10 +10788,10 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_snmp_sprint_objid" >&5
$as_echo "$ac_cv_lib_snmp_sprint_objid" >&6; }
-if test "x$ac_cv_lib_snmp_sprint_objid" = x""yes; then :
+if test "x$ac_cv_lib_snmp_sprint_objid" = xyes; then :
ac_fn_c_check_header_mongrel "$LINENO" "ucd-snmp/version.h" "ac_cv_header_ucd_snmp_version_h" "$ac_includes_default"
-if test "x$ac_cv_header_ucd_snmp_version_h" = x""yes; then :
+if test "x$ac_cv_header_ucd_snmp_version_h" = xyes; then :
else
with_snmp=no
@@ -10806,7 +10816,7 @@
LIB_UCDSNMP="-lucdagent -lucdmibs -lsnmp"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rpmdbOpen in -lrpm" >&5
$as_echo_n "checking for rpmdbOpen in -lrpm... " >&6; }
-if test "${ac_cv_lib_rpm_rpmdbOpen+set}" = set; then :
+if ${ac_cv_lib_rpm_rpmdbOpen+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10840,7 +10850,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rpm_rpmdbOpen" >&5
$as_echo "$ac_cv_lib_rpm_rpmdbOpen" >&6; }
-if test "x$ac_cv_lib_rpm_rpmdbOpen" = x""yes; then :
+if test "x$ac_cv_lib_rpm_rpmdbOpen" = xyes; then :
LIB_UCDSNMP="${LIB_UCDSNMP} -lrpm -lpopt"
fi
@@ -10962,10 +10972,21 @@
: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" &&
+ if test "x$cache_file" != "x/dev/null"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
- cat confcache >$cache_file
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -10998,7 +11019,7 @@
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -11099,6 +11120,7 @@
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
case $0 in @%:@((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -11406,7 +11428,7 @@
# values after options handling.
ac_log="
This file was extended by $as_me, which was
-generated by GNU Autoconf 2.67. Invocation command line was
+generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -11468,7 +11490,7 @@
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.67,
+configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -11601,7 +11623,7 @@
"$EXTRA_OUTPUT") CONFIG_FILES="$CONFIG_FILES $EXTRA_OUTPUT" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
done
@@ -11623,9 +11645,10 @@
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- tmp=
+ tmp= ac_tmp=
trap 'exit_status=$?
- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
' 0
trap 'as_fn_exit 1' 1 2 13 15
}
@@ -11633,12 +11656,13 @@
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
+ test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
@@ -11660,7 +11684,7 @@
ac_cs_awk_cr=$ac_cr
fi
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF
@@ -11669,18 +11693,18 @@
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF"
} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
. ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
@@ -11688,7 +11712,7 @@
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
@@ -11736,7 +11760,7 @@
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1
FS = ""
@@ -11768,8 +11792,8 @@
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
@@ -11802,7 +11826,7 @@
# No need to generate them if there are no CONFIG_HEADERS.
# This happens for instance with `./config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
BEGIN {
_ACEOF
@@ -11814,11 +11838,11 @@
# handling of long lines.
ac_delim='%!_!# '
for ac_last_try in false false :; do
- ac_t=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_t"; then
+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
break
elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
@@ -11903,7 +11927,7 @@
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
fi # test -n "$CONFIG_HEADERS"
@@ -11916,7 +11940,7 @@
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
@@ -11935,7 +11959,7 @@
for ac_f
do
case $ac_f in
- -) ac_f="$tmp/stdin";;
+ -) ac_f="$ac_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 `:'.
@@ -11944,7 +11968,7 @@
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
@@ -11970,8 +11994,8 @@
esac
case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
@@ -12101,23 +12125,24 @@
s&@INSTALL@&$ac_INSTALL&;t t
$ac_datarootdir_hack
"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
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"; } &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&5
$as_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"
+ rm -f "$ac_tmp/stdin"
case $ac_file in
- -) cat "$tmp/out" && rm -f "$tmp/out";;
- *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
:H)
#
@@ -12126,21 +12151,21 @@
if test x"$ac_file" != x-; then
{
$as_echo "/* $configure_input */" \
- && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
- } >"$tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
rm -f "$ac_file"
- mv "$tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ mv "$ac_tmp/config.h" "$ac_file" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
fi
else
$as_echo "/* $configure_input */" \
- && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+ || as_fn_error $? "could not create -" "$LINENO" 5
fi
;;
@@ -12155,7 +12180,7 @@
ac_clean_files=$ac_clean_files_save
test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
# configure is writing to config.log, and then calls config.status.
diff -Nru cyrus-imapd-2.4-2.4.9/autom4te.cache/output.1 cyrus-imapd-2.4-2.4.12/autom4te.cache/output.1
--- cyrus-imapd-2.4-2.4.9/autom4te.cache/output.1 2011-06-21 19:51:33.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/autom4te.cache/output.1 2011-10-04 20:03:48.000000000 +0000
@@ -1,6 +1,6 @@
@%:@! /bin/sh
@%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.67.
+@%:@ Generated by GNU Autoconf 2.68.
@%:@
@%:@
@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -89,6 +89,7 @@
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
case $0 in @%:@((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -214,11 +215,18 @@
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
+ # Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+ case $- in @%:@ ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+ esac
+ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
fi
if test x$as_have_required = xno; then :
@@ -1196,7 +1204,7 @@
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
esac
@@ -1477,8 +1485,9 @@
CPPFLAGS (Objective) C/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'.
+ YACC The `Yet Another Compiler 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 @S|@YACC.
This script will default YFLAGS to the empty string to avoid a
default value of `-d' given by some make applications.
@@ -1550,7 +1559,7 @@
if $ac_init_version; then
cat <<\_ACEOF
configure
-generated by GNU Autoconf 2.67
+generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
@@ -1596,7 +1605,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} @%:@ ac_fn_c_try_compile
@@ -1633,7 +1642,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} @%:@ ac_fn_c_try_cpp
@@ -1646,10 +1655,10 @@
ac_fn_c_check_header_mongrel ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval "test \"\${$3+set}\"" = set; then :
+ if eval \${$3+:} false; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
fi
eval ac_res=\$$3
@@ -1712,7 +1721,7 @@
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
eval "$3=\$ac_header_compiler"
@@ -1721,7 +1730,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} @%:@ ac_fn_c_check_header_mongrel
@@ -1762,7 +1771,7 @@
ac_retval=$ac_status
fi
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; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} @%:@ ac_fn_c_try_run
@@ -1776,7 +1785,7 @@
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1794,7 +1803,7 @@
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} @%:@ ac_fn_c_check_header_compile
@@ -1839,7 +1848,7 @@
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
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; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} @%:@ ac_fn_c_try_link
@@ -2017,7 +2026,7 @@
rm -f conftest.val
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} @%:@ ac_fn_c_compute_int
@@ -2030,7 +2039,7 @@
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2085,7 +2094,7 @@
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} @%:@ ac_fn_c_check_func
@@ -2098,7 +2107,7 @@
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
$as_echo_n "checking for $2.$3... " >&6; }
-if eval "test \"\${$4+set}\"" = set; then :
+if eval \${$4+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2142,7 +2151,7 @@
eval ac_res=\$$4
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} @%:@ ac_fn_c_check_member
@@ -2157,7 +2166,7 @@
as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2188,7 +2197,7 @@
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} @%:@ ac_fn_c_check_decl
cat >config.log <<_ACEOF
@@ -2196,7 +2205,7 @@
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.67. Invocation command line was
+generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2454,7 +2463,7 @@
|| { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
done
@@ -2530,7 +2539,7 @@
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
@@ -2563,7 +2572,7 @@
fi
done
if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
fi
# These three variables are undocumented and unsupported,
@@ -2577,27 +2586,27 @@
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
$as_echo_n "(cached) " >&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 &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
@@ -2615,14 +2624,14 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
$as_echo_n "(cached) " >&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` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
fi
fi
@@ -2630,7 +2639,7 @@
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
@@ -2648,14 +2657,14 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
$as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "x$target_alias" = x; then
ac_cv_target=$ac_cv_host
else
ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
fi
fi
@@ -2663,7 +2672,7 @@
$as_echo "$ac_cv_target" >&6; }
case $ac_cv_target in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
esac
target=$ac_cv_target
ac_save_IFS=$IFS; IFS='-'
@@ -2702,7 +2711,7 @@
set dummy makedepend; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKEDEPEND+set}" = set; then :
+if ${ac_cv_prog_MAKEDEPEND+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$MAKEDEPEND"; then
@@ -2745,7 +2754,7 @@
@%:@ Check whether --with-login was given.
if test "${with_login+set}" = set; then :
withval=$with_login; as_fn_error $? "--with-login is no longer supported.
-Configure SASL appropriately instead." "$LINENO" 5
+Configure SASL appropriately instead." "$LINENO" 5
fi
@@ -2820,7 +2829,7 @@
set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -2860,7 +2869,7 @@
set dummy gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
@@ -2913,7 +2922,7 @@
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -2953,7 +2962,7 @@
set dummy cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -3012,7 +3021,7 @@
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -3056,7 +3065,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
@@ -3111,7 +3120,7 @@
test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -3226,7 +3235,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "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; }
@@ -3269,7 +3278,7 @@
{ { $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 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
rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
@@ -3328,7 +3337,7 @@
$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 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
fi
fi
@@ -3339,7 +3348,7 @@
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3380,7 +3389,7 @@
{ { $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 compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
@@ -3390,7 +3399,7 @@
ac_objext=$OBJEXT
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3427,7 +3436,7 @@
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
@@ -3505,7 +3514,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
@@ -3605,7 +3614,7 @@
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$RANLIB"; then
@@ -3645,7 +3654,7 @@
set dummy ranlib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_RANLIB"; then
@@ -3696,7 +3705,7 @@
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
$as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
@@ -3740,7 +3749,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3829,7 +3838,7 @@
CPP=
fi
if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then :
+ if ${ac_cv_prog_CPP+:} false; then :
$as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
@@ -3945,7 +3954,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
ac_ext=c
@@ -3957,7 +3966,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$GREP"; then
@@ -4006,7 +4015,7 @@
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_GREP=$GREP
@@ -4020,7 +4029,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -4072,7 +4081,7 @@
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_EGREP=$EGREP
@@ -4087,7 +4096,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4216,7 +4225,7 @@
ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
MINIX=yes
else
MINIX=
@@ -4238,7 +4247,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4278,7 +4287,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
$as_echo_n "checking for library containing strerror... " >&6; }
-if test "${ac_cv_search_strerror+set}" = set; then :
+if ${ac_cv_search_strerror+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -4312,11 +4321,11 @@
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_strerror+set}" = set; then :
+ if ${ac_cv_search_strerror+:} false; then :
break
fi
done
-if test "${ac_cv_search_strerror+set}" = set; then :
+if ${ac_cv_search_strerror+:} false; then :
else
ac_cv_search_strerror=no
@@ -4338,7 +4347,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
@@ -4376,7 +4385,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then :
+if ${ac_cv_c_const+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4456,7 +4465,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long file names" >&5
$as_echo_n "checking for long file names... " >&6; }
-if test "${ac_cv_sys_long_file_names+set}" = set; then :
+if ${ac_cv_sys_long_file_names+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_sys_long_file_names=yes
@@ -4495,11 +4504,11 @@
fi
if test $ac_cv_sys_long_file_names = no; then
- as_fn_error $? "The Cyrus IMAPD requires support for long file names" "$LINENO" 5
+ as_fn_error $? "The Cyrus IMAPD requires support for long file names" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
$as_echo_n "checking for inline... " >&6; }
-if test "${ac_cv_c_inline+set}" = set; then :
+if ${ac_cv_c_inline+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_c_inline=no
@@ -4546,7 +4555,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
$as_echo_n "checking size of int... " >&6; }
-if test "${ac_cv_sizeof_int+set}" = set; then :
+if ${ac_cv_sizeof_int+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
@@ -4556,7 +4565,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (int)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_int=0
fi
@@ -4579,7 +4588,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
$as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
+if ${ac_cv_sizeof_long+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
@@ -4589,7 +4598,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (long)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long=0
fi
@@ -4612,7 +4621,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
$as_echo_n "checking size of size_t... " >&6; }
-if test "${ac_cv_sizeof_size_t+set}" = set; then :
+if ${ac_cv_sizeof_size_t+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default"; then :
@@ -4622,7 +4631,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (size_t)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_size_t=0
fi
@@ -4645,7 +4654,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
$as_echo_n "checking size of off_t... " >&6; }
-if test "${ac_cv_sizeof_off_t+set}" = set; then :
+if ${ac_cv_sizeof_off_t+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t" "$ac_includes_default"; then :
@@ -4655,7 +4664,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (off_t)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_off_t=0
fi
@@ -4679,7 +4688,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long int" >&5
$as_echo_n "checking size of long long int... " >&6; }
-if test "${ac_cv_sizeof_long_long_int+set}" = set; then :
+if ${ac_cv_sizeof_long_long_int+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long int))" "ac_cv_sizeof_long_long_int" "$ac_includes_default"; then :
@@ -4689,7 +4698,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (long long int)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long_long_int=0
fi
@@ -4712,7 +4721,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long long int" >&5
$as_echo_n "checking size of unsigned long long int... " >&6; }
-if test "${ac_cv_sizeof_unsigned_long_long_int+set}" = set; then :
+if ${ac_cv_sizeof_unsigned_long_long_int+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long long int))" "ac_cv_sizeof_unsigned_long_long_int" "$ac_includes_default"; then :
@@ -4722,7 +4731,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (unsigned long long int)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_unsigned_long_long_int=0
fi
@@ -4746,7 +4755,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_c_bigendian=unknown
@@ -4965,7 +4974,7 @@
;; #(
*)
as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
esac
fi
@@ -4973,7 +4982,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__" >&5
$as_echo_n "checking for __attribute__... " >&6; }
-if test "${ac_cv___attribute__+set}" = set; then :
+if ${ac_cv___attribute__+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -5017,7 +5026,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports -fPIC" >&5
$as_echo_n "checking if compiler supports -fPIC... " >&6; }
-if test "${ac_cv_fpic+set}" = set; then :
+if ${ac_cv_fpic+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -5065,7 +5074,7 @@
# CMU GUESS RUNPATH SWITCH
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for runpath switch" >&5
$as_echo_n "checking for runpath switch... " >&6; }
-if test "${andrew_cv_runpath_switch+set}" = set; then :
+if ${andrew_cv_runpath_switch+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -5130,7 +5139,7 @@
done
ac_fn_c_check_func "$LINENO" "memmove" "ac_cv_func_memmove"
-if test "x$ac_cv_func_memmove" = x""yes; then :
+if test "x$ac_cv_func_memmove" = xyes; then :
$as_echo "@%:@define HAVE_MEMMOVE 1" >>confdefs.h
else
@@ -5143,7 +5152,7 @@
fi
ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp"
-if test "x$ac_cv_func_strcasecmp" = x""yes; then :
+if test "x$ac_cv_func_strcasecmp" = xyes; then :
$as_echo "@%:@define HAVE_STRCASECMP 1" >>confdefs.h
else
@@ -5156,7 +5165,7 @@
fi
ac_fn_c_check_func "$LINENO" "ftruncate" "ac_cv_func_ftruncate"
-if test "x$ac_cv_func_ftruncate" = x""yes; then :
+if test "x$ac_cv_func_ftruncate" = xyes; then :
$as_echo "@%:@define HAVE_FTRUNCATE 1" >>confdefs.h
else
@@ -5169,7 +5178,7 @@
fi
ac_fn_c_check_func "$LINENO" "strerror" "ac_cv_func_strerror"
-if test "x$ac_cv_func_strerror" = x""yes; then :
+if test "x$ac_cv_func_strerror" = xyes; then :
$as_echo "@%:@define HAVE_STRERROR 1" >>confdefs.h
else
@@ -5199,7 +5208,7 @@
as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-if eval "test \"\${$as_ac_Header+set}\"" = set; then :
+if eval \${$as_ac_Header+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5239,7 +5248,7 @@
if test $ac_header_dirent = dirent.h; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
$as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -5273,11 +5282,11 @@
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_opendir+set}" = set; then :
+ if ${ac_cv_search_opendir+:} false; then :
break
fi
done
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
else
ac_cv_search_opendir=no
@@ -5296,7 +5305,7 @@
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
$as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -5330,11 +5339,11 @@
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_opendir+set}" = set; then :
+ if ${ac_cv_search_opendir+:} false; then :
break
fi
done
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
else
ac_cv_search_opendir=no
@@ -5356,7 +5365,7 @@
for ac_header in stdlib.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = x""yes; then :
+if test "x$ac_cv_header_stdlib_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_STDLIB_H 1
_ACEOF
@@ -5368,7 +5377,7 @@
for ac_func in getpassphrase
do :
ac_fn_c_check_func "$LINENO" "getpassphrase" "ac_cv_func_getpassphrase"
-if test "x$ac_cv_func_getpassphrase" = x""yes; then :
+if test "x$ac_cv_func_getpassphrase" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_GETPASSPHRASE 1
_ACEOF
@@ -5381,12 +5390,12 @@
save_LIBS="$LIBS"
LIB_SOCKET=""
ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
-if test "x$ac_cv_func_connect" = x""yes; then :
+if test "x$ac_cv_func_connect" = xyes; then :
:
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5420,13 +5429,13 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
LIB_SOCKET="-lnsl $LIB_SOCKET"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
$as_echo_n "checking for connect in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_connect+set}" = set; then :
+if ${ac_cv_lib_socket_connect+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5460,7 +5469,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
$as_echo "$ac_cv_lib_socket_connect" >&6; }
-if test "x$ac_cv_lib_socket_connect" = x""yes; then :
+if test "x$ac_cv_lib_socket_connect" = xyes; then :
LIB_SOCKET="-lsocket $LIB_SOCKET"
fi
@@ -5469,7 +5478,7 @@
LIBS="$LIB_SOCKET $save_LIBS"
ac_fn_c_check_func "$LINENO" "res_search" "ac_cv_func_res_search"
-if test "x$ac_cv_func_res_search" = x""yes; then :
+if test "x$ac_cv_func_res_search" = xyes; then :
:
else
LIBS="-lresolv $LIB_SOCKET $save_LIBS"
@@ -5525,14 +5534,14 @@
cyrus_cv_getaddrinfo=yes
ac_fn_c_check_func "$LINENO" "getaddrinfo" "ac_cv_func_getaddrinfo"
-if test "x$ac_cv_func_getaddrinfo" = x""yes; then :
+if test "x$ac_cv_func_getaddrinfo" = xyes; then :
ac_cv_lib_socket_getaddrinfo=no
ac_cv_lib_inet6_getaddrinfo=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo in -lsocket" >&5
$as_echo_n "checking for getaddrinfo in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_getaddrinfo+set}" = set; then :
+if ${ac_cv_lib_socket_getaddrinfo+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5566,14 +5575,14 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_getaddrinfo" >&5
$as_echo "$ac_cv_lib_socket_getaddrinfo" >&6; }
-if test "x$ac_cv_lib_socket_getaddrinfo" = x""yes; then :
+if test "x$ac_cv_lib_socket_getaddrinfo" = xyes; then :
LIBS="$LIBS -lsocket"
ac_cv_lib_inet6_getaddrinfo=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether your system has IPv6 directory" >&5
$as_echo_n "checking whether your system has IPv6 directory... " >&6; }
- if test "${ipv6_cv_dir+set}" = set; then :
+ if ${ipv6_cv_dir+:} false; then :
$as_echo_n "(cached) " >&6
else
for ipv6_cv_dir in /usr/local/v6 /usr/inet6 no; do
@@ -5594,7 +5603,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo in -linet6" >&5
$as_echo_n "checking for getaddrinfo in -linet6... " >&6; }
-if test "${ac_cv_lib_inet6_getaddrinfo+set}" = set; then :
+if ${ac_cv_lib_inet6_getaddrinfo+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5628,7 +5637,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet6_getaddrinfo" >&5
$as_echo "$ac_cv_lib_inet6_getaddrinfo" >&6; }
-if test "x$ac_cv_lib_inet6_getaddrinfo" = x""yes; then :
+if test "x$ac_cv_lib_inet6_getaddrinfo" = xyes; then :
if test $ipv6_libinet6 = no; then
ipv6_libinet6=yes
LIBS="$LIBS -linet6"
@@ -5679,14 +5688,14 @@
if test $ipv6_cv_getaddrinfo = yes; then
ac_fn_c_check_func "$LINENO" "gai_strerror" "ac_cv_func_gai_strerror"
-if test "x$ac_cv_func_gai_strerror" = x""yes; then :
+if test "x$ac_cv_func_gai_strerror" = xyes; then :
ac_cv_lib_socket_gai_strerror=no
ac_cv_lib_inet6_gai_strerror=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gai_strerror in -lsocket" >&5
$as_echo_n "checking for gai_strerror in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_gai_strerror+set}" = set; then :
+if ${ac_cv_lib_socket_gai_strerror+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5720,14 +5729,14 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_gai_strerror" >&5
$as_echo "$ac_cv_lib_socket_gai_strerror" >&6; }
-if test "x$ac_cv_lib_socket_gai_strerror" = x""yes; then :
+if test "x$ac_cv_lib_socket_gai_strerror" = xyes; then :
LIBS="$LIBS -lsocket"
ac_cv_lib_inet6_gai_strerror=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether your system has IPv6 directory" >&5
$as_echo_n "checking whether your system has IPv6 directory... " >&6; }
- if test "${ipv6_cv_dir+set}" = set; then :
+ if ${ipv6_cv_dir+:} false; then :
$as_echo_n "(cached) " >&6
else
for ipv6_cv_dir in /usr/local/v6 /usr/inet6 no; do
@@ -5748,7 +5757,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gai_strerror in -linet6" >&5
$as_echo_n "checking for gai_strerror in -linet6... " >&6; }
-if test "${ac_cv_lib_inet6_gai_strerror+set}" = set; then :
+if ${ac_cv_lib_inet6_gai_strerror+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5782,7 +5791,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet6_gai_strerror" >&5
$as_echo "$ac_cv_lib_inet6_gai_strerror" >&6; }
-if test "x$ac_cv_lib_inet6_gai_strerror" = x""yes; then :
+if test "x$ac_cv_lib_inet6_gai_strerror" = xyes; then :
if test $ipv6_libinet6 = no; then
ipv6_libinet6=yes
LIBS="$LIBS -linet6"
@@ -5848,14 +5857,14 @@
cyrus_cv_getnameinfo=yes
ac_fn_c_check_func "$LINENO" "getnameinfo" "ac_cv_func_getnameinfo"
-if test "x$ac_cv_func_getnameinfo" = x""yes; then :
+if test "x$ac_cv_func_getnameinfo" = xyes; then :
ac_cv_lib_socket_getnameinfo=no
ac_cv_lib_inet6_getnameinfo=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getnameinfo in -lsocket" >&5
$as_echo_n "checking for getnameinfo in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_getnameinfo+set}" = set; then :
+if ${ac_cv_lib_socket_getnameinfo+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5889,14 +5898,14 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_getnameinfo" >&5
$as_echo "$ac_cv_lib_socket_getnameinfo" >&6; }
-if test "x$ac_cv_lib_socket_getnameinfo" = x""yes; then :
+if test "x$ac_cv_lib_socket_getnameinfo" = xyes; then :
LIBS="$LIBS -lsocket"
ac_cv_lib_inet6_getnameinfo=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether your system has IPv6 directory" >&5
$as_echo_n "checking whether your system has IPv6 directory... " >&6; }
- if test "${ipv6_cv_dir+set}" = set; then :
+ if ${ipv6_cv_dir+:} false; then :
$as_echo_n "(cached) " >&6
else
for ipv6_cv_dir in /usr/local/v6 /usr/inet6 no; do
@@ -5917,7 +5926,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getnameinfo in -linet6" >&5
$as_echo_n "checking for getnameinfo in -linet6... " >&6; }
-if test "${ac_cv_lib_inet6_getnameinfo+set}" = set; then :
+if ${ac_cv_lib_inet6_getnameinfo+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5951,7 +5960,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet6_getnameinfo" >&5
$as_echo "$ac_cv_lib_inet6_getnameinfo" >&6; }
-if test "x$ac_cv_lib_inet6_getnameinfo" = x""yes; then :
+if test "x$ac_cv_lib_inet6_getnameinfo" = xyes; then :
if test $ipv6_libinet6 = no; then
ipv6_libinet6=yes
LIBS="$LIBS -linet6"
@@ -6014,7 +6023,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether you have ss_family in struct sockaddr_storage" >&5
$as_echo_n "checking whether you have ss_family in struct sockaddr_storage... " >&6; }
-if test "${ipv6_cv_ss_family+set}" = set; then :
+if ${ipv6_cv_ss_family+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6048,7 +6057,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether you have sa_len in struct sockaddr" >&5
$as_echo_n "checking whether you have sa_len in struct sockaddr... " >&6; }
-if test "${ipv6_cv_sa_len+set}" = set; then :
+if ${ipv6_cv_sa_len+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6085,7 +6094,7 @@
for ac_header in sys/time.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_time_h" = x""yes; then :
+if test "x$ac_cv_header_sys_time_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_SYS_TIME_H 1
_ACEOF
@@ -6096,7 +6105,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-if test "${ac_cv_header_time+set}" = set; then :
+if ${ac_cv_header_time+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6131,7 +6140,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5
$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; }
-if test "${ac_cv_struct_tm+set}" = set; then :
+if ${ac_cv_struct_tm+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6168,7 +6177,7 @@
#include <$ac_cv_struct_tm>
"
-if test "x$ac_cv_member_struct_tm_tm_zone" = x""yes; then :
+if test "x$ac_cv_member_struct_tm_tm_zone" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_STRUCT_TM_TM_ZONE 1
@@ -6184,7 +6193,7 @@
else
ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include
"
-if test "x$ac_cv_have_decl_tzname" = x""yes; then :
+if test "x$ac_cv_have_decl_tzname" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -6196,7 +6205,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5
$as_echo_n "checking for tzname... " >&6; }
-if test "${ac_cv_var_tzname+set}" = set; then :
+if ${ac_cv_var_tzname+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6240,13 +6249,13 @@
for ac_func in vprintf
do :
ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf"
-if test "x$ac_cv_func_vprintf" = x""yes; then :
+if test "x$ac_cv_func_vprintf" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_VPRINTF 1
_ACEOF
ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt"
-if test "x$ac_cv_func__doprnt" = x""yes; then :
+if test "x$ac_cv_func__doprnt" = xyes; then :
$as_echo "@%:@define HAVE_DOPRNT 1" >>confdefs.h
@@ -6326,7 +6335,7 @@
fi
ac_fn_c_check_header_mongrel "$LINENO" "db.h" "ac_cv_header_db_h" "$ac_includes_default"
-if test "x$ac_cv_header_db_h" = x""yes; then :
+if test "x$ac_cv_header_db_h" = xyes; then :
BDB_SAVE_LDFLAGS=$LDFLAGS
@@ -6427,7 +6436,7 @@
if test "$dblib" = "no"; then
as_fn_error $? "Berkeley DB 3.x or later was not found. You may need to
- supply the --with-bdb-libdir or --with-bdb-incdir configure options." "$LINENO" 5
+ supply the --with-bdb-libdir or --with-bdb-incdir configure options." "$LINENO" 5
fi
if test "$with_bdb_lib" != "none"; then
@@ -6518,7 +6527,7 @@
fi
ac_fn_c_check_header_mongrel "$LINENO" "mysql.h" "ac_cv_header_mysql_h" "$ac_includes_default"
-if test "x$ac_cv_header_mysql_h" = x""yes; then :
+if test "x$ac_cv_header_mysql_h" = xyes; then :
MYSQL_SAVE_LDFLAGS=$LDFLAGS
@@ -6583,7 +6592,7 @@
if test "$mysqllib" = "no"; then
as_fn_error $? "MySQL was not found. You may need to supply the
- --with-mysql-libdir or --with-mysql-incdir configure options." "$LINENO" 5
+ --with-mysql-libdir or --with-mysql-incdir configure options." "$LINENO" 5
else
HAVE_SQL=1
fi
@@ -6667,7 +6676,7 @@
fi
ac_fn_c_check_header_mongrel "$LINENO" "libpq-fe.h" "ac_cv_header_libpq_fe_h" "$ac_includes_default"
-if test "x$ac_cv_header_libpq_fe_h" = x""yes; then :
+if test "x$ac_cv_header_libpq_fe_h" = xyes; then :
PGSQL_SAVE_LDFLAGS=$LDFLAGS
@@ -6732,7 +6741,7 @@
if test "$pgsqllib" = "no"; then
as_fn_error $? "PgSQL was not found. You may need to supply the
- --with-pgsql-libdir or --with-pgsql-incdir configure options." "$LINENO" 5
+ --with-pgsql-libdir or --with-pgsql-incdir configure options." "$LINENO" 5
else
HAVE_SQL=1
fi
@@ -6816,7 +6825,7 @@
fi
ac_fn_c_check_header_mongrel "$LINENO" "sqlite3.h" "ac_cv_header_sqlite3_h" "$ac_includes_default"
-if test "x$ac_cv_header_sqlite3_h" = x""yes; then :
+if test "x$ac_cv_header_sqlite3_h" = xyes; then :
SQLITE_SAVE_LDFLAGS=$LDFLAGS
@@ -6881,7 +6890,7 @@
if test "$sqlitelib" = "no"; then
as_fn_error $? "Sqlite was not found. You may need to supply the
- --with-sqlite-libdir or --with-sqlite-incdir configure options." "$LINENO" 5
+ --with-sqlite-libdir or --with-sqlite-incdir configure options." "$LINENO" 5
else
HAVE_SQL=1
fi
@@ -6950,7 +6959,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_YACC+set}" = set; then :
+if ${ac_cv_prog_YACC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$YACC"; then
@@ -6993,7 +7002,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LEX+set}" = set; then :
+if ${ac_cv_prog_LEX+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$LEX"; then
@@ -7063,7 +7072,7 @@
test $ac_status = 0; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex output file root" >&5
$as_echo_n "checking lex output file root... " >&6; }
-if test "${ac_cv_prog_lex_root+set}" = set; then :
+if ${ac_cv_prog_lex_root+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -7072,7 +7081,7 @@
elif test -f lexyy.c; then
ac_cv_prog_lex_root=lexyy
else
- as_fn_error $? "cannot find output from $LEX; giving up" "$LINENO" 5
+ as_fn_error $? "cannot find output from $LEX; giving up" "$LINENO" 5
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5
@@ -7082,7 +7091,7 @@
if test -z "${LEXLIB+set}"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex library" >&5
$as_echo_n "checking lex library... " >&6; }
-if test "${ac_cv_lib_lex+set}" = set; then :
+if ${ac_cv_lib_lex+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -7112,7 +7121,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5
$as_echo_n "checking whether yytext is a pointer... " >&6; }
-if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then :
+if ${ac_cv_prog_lex_yytext_pointer+:} false; then :
$as_echo_n "(cached) " >&6
else
# POSIX says lex can declare yytext either as a pointer or an array; the
@@ -7123,7 +7132,8 @@
LIBS="$LEXLIB $ac_save_LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#define YYTEXT_POINTER 1
+
+ #define YYTEXT_POINTER 1
`cat $LEX_OUTPUT_ROOT.c`
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -7146,7 +7156,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lfl" >&5
$as_echo_n "checking for main in -lfl... " >&6; }
-if test "${ac_cv_lib_fl_main+set}" = set; then :
+if ${ac_cv_lib_fl_main+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7174,7 +7184,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fl_main" >&5
$as_echo "$ac_cv_lib_fl_main" >&6; }
-if test "x$ac_cv_lib_fl_main" = x""yes; then :
+if test "x$ac_cv_lib_fl_main" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_LIBFL 1
_ACEOF
@@ -7186,15 +7196,15 @@
if test "$testpcre" != "no"; then
ac_fn_c_check_header_mongrel "$LINENO" "pcreposix.h" "ac_cv_header_pcreposix_h" "$ac_includes_default"
-if test "x$ac_cv_header_pcreposix_h" = x""yes; then :
+if test "x$ac_cv_header_pcreposix_h" = xyes; then :
fi
- if test "$ac_cv_header_pcreposix_h" == "yes"; then
+ if test "$ac_cv_header_pcreposix_h" = "yes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for utf8 enabled pcre" >&5
$as_echo_n "checking for utf8 enabled pcre... " >&6; }
- if test "${cyrus_cv_pcre_utf8+set}" = set; then :
+ if ${cyrus_cv_pcre_utf8+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7219,7 +7229,7 @@
fi
fi
- if test "$cyrus_cv_pcre_utf8" == "yes"; then
+ if test "$cyrus_cv_pcre_utf8" = "yes"; then
LIBS="$LIBS -lpcre -lpcreposix";
$as_echo "@%:@define ENABLE_REGEX /**/" >>confdefs.h
@@ -7231,7 +7241,7 @@
for ac_header in rxposix.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "rxposix.h" "ac_cv_header_rxposix_h" "$ac_includes_default"
-if test "x$ac_cv_header_rxposix_h" = x""yes; then :
+if test "x$ac_cv_header_rxposix_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_RXPOSIX_H 1
_ACEOF
@@ -7240,7 +7250,7 @@
done
- if test "$ac_cv_header_rxposix_h" == "yes"; then
+ if test "$ac_cv_header_rxposix_h" = "yes"; then
LIBS="$LIBS -lrx"
$as_echo "@%:@define ENABLE_REGEX /**/" >>confdefs.h
@@ -7248,7 +7258,7 @@
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing regcomp" >&5
$as_echo_n "checking for library containing regcomp... " >&6; }
-if test "${ac_cv_search_regcomp+set}" = set; then :
+if ${ac_cv_search_regcomp+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -7282,11 +7292,11 @@
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_regcomp+set}" = set; then :
+ if ${ac_cv_search_regcomp+:} false; then :
break
fi
done
-if test "${ac_cv_search_regcomp+set}" = set; then :
+if ${ac_cv_search_regcomp+:} false; then :
else
ac_cv_search_regcomp=no
@@ -7314,7 +7324,7 @@
ac_fn_c_check_func "$LINENO" "strerror" "ac_cv_func_strerror"
-if test "x$ac_cv_func_strerror" = x""yes; then :
+if test "x$ac_cv_func_strerror" = xyes; then :
$as_echo "@%:@define HAS_STRERROR /**/" >>confdefs.h
@@ -7328,7 +7338,7 @@
for ac_header in sys/resource.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "sys/resource.h" "ac_cv_header_sys_resource_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_resource_h" = x""yes; then :
+if test "x$ac_cv_header_sys_resource_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_SYS_RESOURCE_H 1
_ACEOF
@@ -7340,7 +7350,7 @@
for ac_func in setrlimit
do :
ac_fn_c_check_func "$LINENO" "setrlimit" "ac_cv_func_setrlimit"
-if test "x$ac_cv_func_setrlimit" = x""yes; then :
+if test "x$ac_cv_func_setrlimit" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_SETRLIMIT 1
_ACEOF
@@ -7351,7 +7361,7 @@
for ac_func in getrlimit
do :
ac_fn_c_check_func "$LINENO" "getrlimit" "ac_cv_func_getrlimit"
-if test "x$ac_cv_func_getrlimit" = x""yes; then :
+if test "x$ac_cv_func_getrlimit" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_GETRLIMIT 1
_ACEOF
@@ -7376,7 +7386,7 @@
for ac_func in shutdown
do :
ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown"
-if test "x$ac_cv_func_shutdown" = x""yes; then :
+if test "x$ac_cv_func_shutdown" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_SHUTDOWN 1
_ACEOF
@@ -7427,14 +7437,14 @@
spt_type=""
ac_fn_c_check_func "$LINENO" "setproctitle" "ac_cv_func_setproctitle"
-if test "x$ac_cv_func_setproctitle" = x""yes; then :
+if test "x$ac_cv_func_setproctitle" = xyes; then :
spt_type=SPT_BUILTIN
fi
if test "$spt_type" = ""; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for setproctitle in -lutil" >&5
$as_echo_n "checking for setproctitle in -lutil... " >&6; }
-if test "${ac_cv_lib_util_setproctitle+set}" = set; then :
+if ${ac_cv_lib_util_setproctitle+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7468,7 +7478,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_setproctitle" >&5
$as_echo "$ac_cv_lib_util_setproctitle" >&6; }
-if test "x$ac_cv_lib_util_setproctitle" = x""yes; then :
+if test "x$ac_cv_lib_util_setproctitle" = xyes; then :
spt_type=SPT_BUILTIN
LIBS="${LIBS} -lutil"
fi
@@ -7476,7 +7486,7 @@
fi
if test "$spt_type" = ""; then
ac_fn_c_check_header_mongrel "$LINENO" "sys/pstat.h" "ac_cv_header_sys_pstat_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_pstat_h" = x""yes; then :
+if test "x$ac_cv_header_sys_pstat_h" = xyes; then :
spt_type=SPT_PSTAT
fi
@@ -7484,7 +7494,7 @@
fi
if test "$spt_type" = ""; then
ac_fn_c_check_header_mongrel "$LINENO" "sys/sysnews.h" "ac_cv_header_sys_sysnews_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_sysnews_h" = x""yes; then :
+if test "x$ac_cv_header_sys_sysnews_h" = xyes; then :
spt_type=SPT_SYSMIPS
fi
@@ -7493,7 +7503,7 @@
if test "$spt_type" = ""; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PS_STRINGS" >&5
$as_echo_n "checking for PS_STRINGS... " >&6; }
- if test "${cyrus_cv_sys_psstrings+set}" = set; then :
+ if ${cyrus_cv_sys_psstrings+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7522,7 +7532,7 @@
if test "$spt_type" = ""; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SCO" >&5
$as_echo_n "checking for SCO... " >&6; }
- if test "${cyrus_cv_sys_sco+set}" = set; then :
+ if ${cyrus_cv_sys_sco+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7549,7 +7559,7 @@
if test "$spt_type" = ""; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for setproctitle usability" >&5
$as_echo_n "checking for setproctitle usability... " >&6; }
- if test "${cyrus_cv_sys_setproctitle+set}" = set; then :
+ if ${cyrus_cv_sys_setproctitle+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7583,7 +7593,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking nonblocking method" >&5
$as_echo_n "checking nonblocking method... " >&6; }
-if test "${cyrus_cv_sys_nonblock+set}" = set; then :
+if ${cyrus_cv_sys_nonblock+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7618,7 +7628,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking timezone GMT offset method" >&5
$as_echo_n "checking timezone GMT offset method... " >&6; }
-if test "${cyrus_cv_struct_sys_gmtoff+set}" = set; then :
+if ${cyrus_cv_struct_sys_gmtoff+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7649,7 +7659,7 @@
$as_echo "$WITH_GMTOFF" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared mmap" >&5
$as_echo_n "checking for shared mmap... " >&6; }
-if test "${cyrus_cv_func_mmap_shared+set}" = set; then :
+if ${cyrus_cv_func_mmap_shared+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
@@ -7701,7 +7711,7 @@
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stupid shared mmap" >&5
$as_echo_n "checking for stupid shared mmap... " >&6; }
-if test "${cyrus_cv_func_mmap_stupidshared+set}" = set; then :
+if ${cyrus_cv_func_mmap_stupidshared+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
@@ -7768,16 +7778,16 @@
else
ac_fn_c_check_func "$LINENO" "fcntl" "ac_cv_func_fcntl"
-if test "x$ac_cv_func_fcntl" = x""yes; then :
+if test "x$ac_cv_func_fcntl" = xyes; then :
WITH_LOCK="fcntl"
else
ac_fn_c_check_func "$LINENO" "flock" "ac_cv_func_flock"
-if test "x$ac_cv_func_flock" = x""yes; then :
+if test "x$ac_cv_func_flock" = xyes; then :
WITH_LOCK="flock"
else
- as_fn_error $? "unable to detect locking method" "$LINENO" 5
+ as_fn_error $? "unable to detect locking method" "$LINENO" 5
fi
@@ -7792,7 +7802,7 @@
LIB_RT=""
ac_fn_c_check_func "$LINENO" "fdatasync" "ac_cv_func_fdatasync"
-if test "x$ac_cv_func_fdatasync" = x""yes; then :
+if test "x$ac_cv_func_fdatasync" = xyes; then :
$as_echo "@%:@define HAVE_FDATASYNC /**/" >>confdefs.h
@@ -7800,7 +7810,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fdatasync in -lrt" >&5
$as_echo_n "checking for fdatasync in -lrt... " >&6; }
-if test "${ac_cv_lib_rt_fdatasync+set}" = set; then :
+if ${ac_cv_lib_rt_fdatasync+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7834,7 +7844,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_fdatasync" >&5
$as_echo "$ac_cv_lib_rt_fdatasync" >&6; }
-if test "x$ac_cv_lib_rt_fdatasync" = x""yes; then :
+if test "x$ac_cv_lib_rt_fdatasync" = xyes; then :
LIB_RT="-lrt"
@@ -7848,12 +7858,12 @@
cant_find_sigvec=no
-if test "${cyrus_cv_sigveclib+set}" = set; then :
+if ${cyrus_cv_sigveclib+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_fn_c_check_func "$LINENO" "sigvec" "ac_cv_func_sigvec"
-if test "x$ac_cv_func_sigvec" = x""yes; then :
+if test "x$ac_cv_func_sigvec" = xyes; then :
cyrus_cv_sigveclib=""
@@ -7861,7 +7871,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigvec in -lBSD" >&5
$as_echo_n "checking for sigvec in -lBSD... " >&6; }
-if test "${ac_cv_lib_BSD_sigvec+set}" = set; then :
+if ${ac_cv_lib_BSD_sigvec+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7895,7 +7905,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_BSD_sigvec" >&5
$as_echo "$ac_cv_lib_BSD_sigvec" >&6; }
-if test "x$ac_cv_lib_BSD_sigvec" = x""yes; then :
+if test "x$ac_cv_lib_BSD_sigvec" = xyes; then :
cyrus_cv_sigveclib="-lBSD"
else
@@ -7903,7 +7913,7 @@
LDFLAGS="-L/usr/ucblib -R/usr/ucblib $LDFLAGS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigvec in -lucb" >&5
$as_echo_n "checking for sigvec in -lucb... " >&6; }
-if test "${ac_cv_lib_ucb_sigvec+set}" = set; then :
+if ${ac_cv_lib_ucb_sigvec+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7937,7 +7947,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ucb_sigvec" >&5
$as_echo "$ac_cv_lib_ucb_sigvec" >&6; }
-if test "x$ac_cv_lib_ucb_sigvec" = x""yes; then :
+if test "x$ac_cv_lib_ucb_sigvec" = xyes; then :
cyrus_cv_sigveclib="-lc -L/usr/ucblib -R/usr/ucblib -lucb"
else
@@ -8029,7 +8039,7 @@
AFS_LIBS="$AFS_LIBS -ldes"
fi
- if test "${cyrus_cv_afs_sigvec+set}" = set; then :
+ if ${cyrus_cv_afs_sigvec+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -8109,7 +8119,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_initialize in -lldap" >&5
$as_echo_n "checking for ldap_initialize in -lldap... " >&6; }
-if test "${ac_cv_lib_ldap_ldap_initialize+set}" = set; then :
+if ${ac_cv_lib_ldap_ldap_initialize+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8143,7 +8153,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_initialize" >&5
$as_echo "$ac_cv_lib_ldap_ldap_initialize" >&6; }
-if test "x$ac_cv_lib_ldap_ldap_initialize" = x""yes; then :
+if test "x$ac_cv_lib_ldap_ldap_initialize" = xyes; then :
$as_echo "@%:@define HAVE_LDAP /**/" >>confdefs.h
@@ -8159,7 +8169,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_initialize in -lldap" >&5
$as_echo_n "checking for ldap_initialize in -lldap... " >&6; }
-if test "${ac_cv_lib_ldap_ldap_initialize+set}" = set; then :
+if ${ac_cv_lib_ldap_ldap_initialize+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8193,7 +8203,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_initialize" >&5
$as_echo "$ac_cv_lib_ldap_ldap_initialize" >&6; }
-if test "x$ac_cv_lib_ldap_ldap_initialize" = x""yes; then :
+if test "x$ac_cv_lib_ldap_ldap_initialize" = xyes; then :
$as_echo "@%:@define HAVE_LDAP /**/" >>confdefs.h
@@ -8259,7 +8269,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_search in -lresolv" >&5
$as_echo_n "checking for res_search in -lresolv... " >&6; }
-if test "${ac_cv_lib_resolv_res_search+set}" = set; then :
+if ${ac_cv_lib_resolv_res_search+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8293,7 +8303,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_search" >&5
$as_echo "$ac_cv_lib_resolv_res_search" >&6; }
-if test "x$ac_cv_lib_resolv_res_search" = x""yes; then :
+if test "x$ac_cv_lib_resolv_res_search" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_LIBRESOLV 1
_ACEOF
@@ -8304,7 +8314,7 @@
if test "$with_statickrb" = "yes" -a ! -d "$with_krb"; then
- as_fn_error $? "--enable-statickrb specified but --with-krb did not specify a valid directory" "$LINENO" 5
+ as_fn_error $? "--enable-statickrb specified but --with-krb did not specify a valid directory" "$LINENO" 5
fi
if test "$with_krb" != "no"; then
@@ -8319,7 +8329,7 @@
if test "$with_krbdes" = "yes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for des_ecb_encrypt in -ldes" >&5
$as_echo_n "checking for des_ecb_encrypt in -ldes... " >&6; }
-if test "${ac_cv_lib_des_des_ecb_encrypt+set}" = set; then :
+if ${ac_cv_lib_des_des_ecb_encrypt+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8353,14 +8363,14 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_des_des_ecb_encrypt" >&5
$as_echo "$ac_cv_lib_des_des_ecb_encrypt" >&6; }
-if test "x$ac_cv_lib_des_des_ecb_encrypt" = x""yes; then :
+if test "x$ac_cv_lib_des_des_ecb_encrypt" = xyes; then :
if test "$with_statickrb" = "yes"; then
KRB_LIBS="$with_krb/lib/libdes.a"
else
KRB_LIBS="-ldes"
fi
else
- as_fn_error $? "The Kerberos DES library is required for Kerberos support. You might want --with-auth=unix." "$LINENO" 5
+ as_fn_error $? "The Kerberos DES library is required for Kerberos support. You might want --with-auth=unix." "$LINENO" 5
fi
fi
@@ -8369,7 +8379,7 @@
if test -d ${with_krb}; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Kerberos includes" >&5
$as_echo_n "checking for Kerberos includes... " >&6; }
-if test "${cyrus_cv_krbinclude+set}" = set; then :
+if ${cyrus_cv_krbinclude+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -8406,11 +8416,11 @@
if test "$with_des" != no; then
ac_fn_c_check_header_mongrel "$LINENO" "krb.h" "ac_cv_header_krb_h" "$ac_includes_default"
-if test "x$ac_cv_header_krb_h" = x""yes; then :
+if test "x$ac_cv_header_krb_h" = xyes; then :
as_ac_Lib=`$as_echo "ac_cv_lib_${KRBLIB}''_krb_mk_priv" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb_mk_priv in -l${KRBLIB}" >&5
$as_echo_n "checking for krb_mk_priv in -l${KRBLIB}... " >&6; }
-if eval "test \"\${$as_ac_Lib+set}\"" = set; then :
+if eval \${$as_ac_Lib+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8495,7 +8505,7 @@
LIB_RSAREF=""
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for RSAPublicEncrypt in -lrsaref" >&5
$as_echo_n "checking for RSAPublicEncrypt in -lrsaref... " >&6; }
-if test "${ac_cv_lib_rsaref_RSAPublicEncrypt+set}" = set; then :
+if ${ac_cv_lib_rsaref_RSAPublicEncrypt+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8529,7 +8539,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rsaref_RSAPublicEncrypt" >&5
$as_echo "$ac_cv_lib_rsaref_RSAPublicEncrypt" >&6; }
-if test "x$ac_cv_lib_rsaref_RSAPublicEncrypt" = x""yes; then :
+if test "x$ac_cv_lib_rsaref_RSAPublicEncrypt" = xyes; then :
LIB_RSAREF="-lRSAglue -lrsaref"; cmu_have_rsaref=yes
else
cmu_have_rsaref=no
@@ -8539,7 +8549,7 @@
with_openssl="yes"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BIO_accept in -lcrypto" >&5
$as_echo_n "checking for BIO_accept in -lcrypto... " >&6; }
-if test "${ac_cv_lib_crypto_BIO_accept+set}" = set; then :
+if ${ac_cv_lib_crypto_BIO_accept+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8573,7 +8583,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_BIO_accept" >&5
$as_echo "$ac_cv_lib_crypto_BIO_accept" >&6; }
-if test "x$ac_cv_lib_crypto_BIO_accept" = x""yes; then :
+if test "x$ac_cv_lib_crypto_BIO_accept" = xyes; then :
LIBS="-lcrypto $LIB_RSAREF ${LIBS}"
else
with_openssl="no"
@@ -8581,7 +8591,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL_CTX_new in -lssl" >&5
$as_echo_n "checking for SSL_CTX_new in -lssl... " >&6; }
-if test "${ac_cv_lib_ssl_SSL_CTX_new+set}" = set; then :
+if ${ac_cv_lib_ssl_SSL_CTX_new+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8615,7 +8625,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ssl_SSL_CTX_new" >&5
$as_echo "$ac_cv_lib_ssl_SSL_CTX_new" >&6; }
-if test "x$ac_cv_lib_ssl_SSL_CTX_new" = x""yes; then :
+if test "x$ac_cv_lib_ssl_SSL_CTX_new" = xyes; then :
LIBS="-lssl ${LIBS}"
else
with_openssl="no"
@@ -8695,7 +8705,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
$as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
+if ${ac_cv_sizeof_long+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
@@ -8705,7 +8715,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (long)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long=0
fi
@@ -8724,7 +8734,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what directory libraries are found in" >&5
$as_echo_n "checking what directory libraries are found in... " >&6; }
-if test "${ac_cv_cmu_lib_subdir+set}" = set; then :
+if ${ac_cv_cmu_lib_subdir+:} false; then :
$as_echo_n "(cached) " >&6
else
test "X$with_lib_subdir" = "Xyes" && with_lib_subdir=
@@ -8778,11 +8788,11 @@
with_zlib="no";;
*)
ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_zlib_h" = x""yes; then :
+if test "x$ac_cv_header_zlib_h" = xyes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflate in -lz" >&5
$as_echo_n "checking for deflate in -lz... " >&6; }
-if test "${ac_cv_lib_z_deflate+set}" = set; then :
+if ${ac_cv_lib_z_deflate+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8816,7 +8826,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflate" >&5
$as_echo "$ac_cv_lib_z_deflate" >&6; }
-if test "x$ac_cv_lib_z_deflate" = x""yes; then :
+if test "x$ac_cv_lib_z_deflate" = xyes; then :
LIBS="${LIBS} -lz"; with_zlib="yes"
else
with_zlib="no"
@@ -8865,7 +8875,7 @@
no) true;;
""|yes) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZInitialize in -lzephyr" >&5
$as_echo_n "checking for ZInitialize in -lzephyr... " >&6; }
-if test "${ac_cv_lib_zephyr_ZInitialize+set}" = set; then :
+if ${ac_cv_lib_zephyr_ZInitialize+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8899,7 +8909,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zephyr_ZInitialize" >&5
$as_echo "$ac_cv_lib_zephyr_ZInitialize" >&6; }
-if test "x$ac_cv_lib_zephyr_ZInitialize" = x""yes; then :
+if test "x$ac_cv_lib_zephyr_ZInitialize" = xyes; then :
ZEPHYR_LIBS="-lzephyr"
else
with_zephyr="no"
@@ -8966,7 +8976,7 @@
for ac_header in sys/sockio.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "sys/sockio.h" "ac_cv_header_sys_sockio_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_sockio_h" = x""yes; then :
+if test "x$ac_cv_header_sys_sockio_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_SYS_SOCKIO_H 1
_ACEOF
@@ -8999,7 +9009,7 @@
# no value supplied
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for com_err in -lcom_err" >&5
$as_echo_n "checking for com_err in -lcom_err... " >&6; }
-if test "${ac_cv_lib_com_err_com_err+set}" = set; then :
+if ${ac_cv_lib_com_err_com_err+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9033,23 +9043,23 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_com_err_com_err" >&5
$as_echo "$ac_cv_lib_com_err_com_err" >&6; }
-if test "x$ac_cv_lib_com_err_com_err" = x""yes; then :
+if test "x$ac_cv_lib_com_err_com_err" = xyes; then :
# com_err is already in library path
# guess we're okay
# can use system com_err
with_com_err=""
ac_fn_c_check_header_mongrel "$LINENO" "et/com_err.h" "ac_cv_header_et_com_err_h" "$ac_includes_default"
-if test "x$ac_cv_header_et_com_err_h" = x""yes; then :
+if test "x$ac_cv_header_et_com_err_h" = xyes; then :
$as_echo "@%:@define HAVE_ET_COM_ERR_H /**/" >>confdefs.h
else
ac_fn_c_check_header_mongrel "$LINENO" "com_err.h" "ac_cv_header_com_err_h" "$ac_includes_default"
-if test "x$ac_cv_header_com_err_h" = x""yes; then :
+if test "x$ac_cv_header_com_err_h" = xyes; then :
else
- as_fn_error $? "cannot locate com_err.h" "$LINENO" 5
+ as_fn_error $? "cannot locate com_err.h" "$LINENO" 5
fi
@@ -9060,7 +9070,7 @@
set dummy compile_et; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_COMPILE_ET+set}" = set; then :
+if ${ac_cv_path_COMPILE_ET+:} false; then :
$as_echo_n "(cached) " >&6
else
case $COMPILE_ET in
@@ -9106,7 +9116,7 @@
set dummy /usr/local/bin/compile_et; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_COMPILE_ET+set}" = set; then :
+if ${ac_cv_path_COMPILE_ET+:} false; then :
$as_echo_n "(cached) " >&6
else
case $COMPILE_ET in
@@ -9149,7 +9159,7 @@
set dummy /usr/bin/compile_et; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_COMPILE_ET+set}" = set; then :
+if ${ac_cv_path_COMPILE_ET+:} false; then :
$as_echo_n "(cached) " >&6
else
case $COMPILE_ET in
@@ -9242,7 +9252,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for modern syslog" >&5
$as_echo_n "checking for modern syslog... " >&6; }
-if test "${cyrus_cv_lib_syslog+set}" = set; then :
+if ${cyrus_cv_lib_syslog+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9289,7 +9299,7 @@
$as_echo "$SYSLOG_FACILITY" >&6; }
ac_fn_c_check_func "$LINENO" "getdtablesize" "ac_cv_func_getdtablesize"
-if test "x$ac_cv_func_getdtablesize" = x""yes; then :
+if test "x$ac_cv_func_getdtablesize" = xyes; then :
$as_echo "@%:@define HAVE_GETDTABLESIZE 1" >>confdefs.h
else
@@ -9342,12 +9352,12 @@
ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9381,7 +9391,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_LIBDL 1
_ACEOF
@@ -9393,12 +9403,12 @@
fi
ac_fn_c_check_func "$LINENO" "crypt" "ac_cv_func_crypt"
-if test "x$ac_cv_func_crypt" = x""yes; then :
+if test "x$ac_cv_func_crypt" = xyes; then :
cmu_have_crypt=yes
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
$as_echo_n "checking for crypt in -lcrypt... " >&6; }
-if test "${ac_cv_lib_crypt_crypt+set}" = set; then :
+if ${ac_cv_lib_crypt_crypt+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9432,7 +9442,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
-if test "x$ac_cv_lib_crypt_crypt" = x""yes; then :
+if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
LIB_CRYPT="-lcrypt"; cmu_have_crypt=yes
else
cmu_have_crypt=no
@@ -9484,7 +9494,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: The system type is not recognized. If you believe that CyberSafe GSSAPI works on this platform, please update the configure script" >&5
$as_echo "$as_me: WARNING: The system type is not recognized. If you believe that CyberSafe GSSAPI works on this platform, please update the configure script" >&2;}
if test "$gss_impl" = "cybersafe"; then
- as_fn_error $? "CyberSafe was forced, cannot continue as platform is not supported" "$LINENO" 5
+ as_fn_error $? "CyberSafe was forced, cannot continue as platform is not supported" "$LINENO" 5
fi
;;
esac
@@ -9509,11 +9519,11 @@
fi
fi
ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
-if test "x$ac_cv_header_gssapi_h" = x""yes; then :
+if test "x$ac_cv_header_gssapi_h" = xyes; then :
else
ac_fn_c_check_header_mongrel "$LINENO" "gssapi/gssapi.h" "ac_cv_header_gssapi_gssapi_h" "$ac_includes_default"
-if test "x$ac_cv_header_gssapi_gssapi_h" = x""yes; then :
+if test "x$ac_cv_header_gssapi_gssapi_h" = xyes; then :
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling GSSAPI - no include files found" >&5
@@ -9546,7 +9556,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_search in -lresolv" >&5
$as_echo_n "checking for res_search in -lresolv... " >&6; }
-if test "${ac_cv_lib_resolv_res_search+set}" = set; then :
+if ${ac_cv_lib_resolv_res_search+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9580,7 +9590,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_search" >&5
$as_echo "$ac_cv_lib_resolv_res_search" >&6; }
-if test "x$ac_cv_lib_resolv_res_search" = x""yes; then :
+if test "x$ac_cv_lib_resolv_res_search" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_LIBRESOLV 1
_ACEOF
@@ -9608,7 +9618,7 @@
gss_failed=0
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_unwrap in -lgssapi" >&5
$as_echo_n "checking for gss_unwrap in -lgssapi... " >&6; }
-if test "${ac_cv_lib_gssapi_gss_unwrap+set}" = set; then :
+if ${ac_cv_lib_gssapi_gss_unwrap+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9642,7 +9652,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_gss_unwrap" >&5
$as_echo "$ac_cv_lib_gssapi_gss_unwrap" >&6; }
-if test "x$ac_cv_lib_gssapi_gss_unwrap" = x""yes; then :
+if test "x$ac_cv_lib_gssapi_gss_unwrap" = xyes; then :
gss_impl="heimdal"
else
gss_failed=1
@@ -9657,7 +9667,7 @@
# check for libkrb5support first
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb5int_getspecific in -lkrb5support" >&5
$as_echo_n "checking for krb5int_getspecific in -lkrb5support... " >&6; }
-if test "${ac_cv_lib_krb5support_krb5int_getspecific+set}" = set; then :
+if ${ac_cv_lib_krb5support_krb5int_getspecific+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9691,7 +9701,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_krb5support_krb5int_getspecific" >&5
$as_echo "$ac_cv_lib_krb5support_krb5int_getspecific" >&6; }
-if test "x$ac_cv_lib_krb5support_krb5int_getspecific" = x""yes; then :
+if test "x$ac_cv_lib_krb5support_krb5int_getspecific" = xyes; then :
K5SUP=-lkrb5support K5SUPSTATIC=$gssapi_dir/libkrb5support.a
fi
@@ -9699,7 +9709,7 @@
gss_failed=0
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_unwrap in -lgssapi_krb5" >&5
$as_echo_n "checking for gss_unwrap in -lgssapi_krb5... " >&6; }
-if test "${ac_cv_lib_gssapi_krb5_gss_unwrap+set}" = set; then :
+if ${ac_cv_lib_gssapi_krb5_gss_unwrap+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9733,7 +9743,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_krb5_gss_unwrap" >&5
$as_echo "$ac_cv_lib_gssapi_krb5_gss_unwrap" >&6; }
-if test "x$ac_cv_lib_gssapi_krb5_gss_unwrap" = x""yes; then :
+if test "x$ac_cv_lib_gssapi_krb5_gss_unwrap" = xyes; then :
gss_impl="mit"
else
gss_failed=1
@@ -9766,7 +9776,7 @@
unset ac_cv_lib_gss_csf_gss_acq_user
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for csf_gss_acq_user in -lgss" >&5
$as_echo_n "checking for csf_gss_acq_user in -lgss... " >&6; }
-if test "${ac_cv_lib_gss_csf_gss_acq_user+set}" = set; then :
+if ${ac_cv_lib_gss_csf_gss_acq_user+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9800,13 +9810,13 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gss_csf_gss_acq_user" >&5
$as_echo "$ac_cv_lib_gss_csf_gss_acq_user" >&6; }
-if test "x$ac_cv_lib_gss_csf_gss_acq_user" = x""yes; then :
+if test "x$ac_cv_lib_gss_csf_gss_acq_user" = xyes; then :
gss_impl="cybersafe03"
else
unset ac_cv_lib_gss_csf_gss_acq_user;
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for csf_gss_acq_user in -lgss" >&5
$as_echo_n "checking for csf_gss_acq_user in -lgss... " >&6; }
-if test "${ac_cv_lib_gss_csf_gss_acq_user+set}" = set; then :
+if ${ac_cv_lib_gss_csf_gss_acq_user+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9840,7 +9850,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gss_csf_gss_acq_user" >&5
$as_echo "$ac_cv_lib_gss_csf_gss_acq_user" >&6; }
-if test "x$ac_cv_lib_gss_csf_gss_acq_user" = x""yes; then :
+if test "x$ac_cv_lib_gss_csf_gss_acq_user" = xyes; then :
gss_impl="cybersafe"
else
gss_failed=1
@@ -9864,7 +9874,7 @@
gss_failed=0
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_unwrap in -lgss" >&5
$as_echo_n "checking for gss_unwrap in -lgss... " >&6; }
-if test "${ac_cv_lib_gss_gss_unwrap+set}" = set; then :
+if ${ac_cv_lib_gss_gss_unwrap+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9898,7 +9908,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gss_gss_unwrap" >&5
$as_echo "$ac_cv_lib_gss_gss_unwrap" >&6; }
-if test "x$ac_cv_lib_gss_gss_unwrap" = x""yes; then :
+if test "x$ac_cv_lib_gss_gss_unwrap" = xyes; then :
gss_impl="seam"
else
gss_failed=1
@@ -10059,7 +10069,7 @@
$as_echo "with implementation ${gss_impl}" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_search in -lresolv" >&5
$as_echo_n "checking for res_search in -lresolv... " >&6; }
-if test "${ac_cv_lib_resolv_res_search+set}" = set; then :
+if ${ac_cv_lib_resolv_res_search+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10093,7 +10103,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_search" >&5
$as_echo "$ac_cv_lib_resolv_res_search" >&6; }
-if test "x$ac_cv_lib_resolv_res_search" = x""yes; then :
+if test "x$ac_cv_lib_resolv_res_search" = xyes; then :
GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lresolv"
fi
@@ -10106,7 +10116,7 @@
for ac_func in gsskrb5_register_acceptor_identity
do :
ac_fn_c_check_func "$LINENO" "gsskrb5_register_acceptor_identity" "ac_cv_func_gsskrb5_register_acceptor_identity"
-if test "x$ac_cv_func_gsskrb5_register_acceptor_identity" = x""yes; then :
+if test "x$ac_cv_func_gsskrb5_register_acceptor_identity" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY 1
_ACEOF
@@ -10171,9 +10181,9 @@
fi
ac_fn_c_check_header_mongrel "$LINENO" "sasl/sasl.h" "ac_cv_header_sasl_sasl_h" "$ac_includes_default"
-if test "x$ac_cv_header_sasl_sasl_h" = x""yes; then :
+if test "x$ac_cv_header_sasl_sasl_h" = xyes; then :
ac_fn_c_check_header_mongrel "$LINENO" "sasl/saslutil.h" "ac_cv_header_sasl_saslutil_h" "$ac_includes_default"
-if test "x$ac_cv_header_sasl_saslutil_h" = x""yes; then :
+if test "x$ac_cv_header_sasl_saslutil_h" = xyes; then :
for i42 in lib64 lib; do
if test -r ${with_staticsasl}/$i42/libsasl2.a; then
ac_cv_found_sasl=yes
@@ -10185,7 +10195,7 @@
if test ! "$ac_cv_found_sasl" = "yes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for static libsasl" >&5
$as_echo_n "checking for static libsasl... " >&6; }
- as_fn_error $? "Could not find ${with_staticsasl}/lib*/libsasl2.a" "$LINENO" 5
+ as_fn_error $? "Could not find ${with_staticsasl}/lib*/libsasl2.a" "$LINENO" 5
fi
fi
@@ -10227,12 +10237,12 @@
# be sure to check for a SASLv2 specific function
ac_fn_c_check_header_mongrel "$LINENO" "sasl/sasl.h" "ac_cv_header_sasl_sasl_h" "$ac_includes_default"
-if test "x$ac_cv_header_sasl_sasl_h" = x""yes; then :
+if test "x$ac_cv_header_sasl_sasl_h" = xyes; then :
ac_fn_c_check_header_mongrel "$LINENO" "sasl/saslutil.h" "ac_cv_header_sasl_saslutil_h" "$ac_includes_default"
-if test "x$ac_cv_header_sasl_saslutil_h" = x""yes; then :
+if test "x$ac_cv_header_sasl_saslutil_h" = xyes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for prop_get in -lsasl2" >&5
$as_echo_n "checking for prop_get in -lsasl2... " >&6; }
-if test "${ac_cv_lib_sasl2_prop_get+set}" = set; then :
+if ${ac_cv_lib_sasl2_prop_get+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10266,7 +10276,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sasl2_prop_get" >&5
$as_echo "$ac_cv_lib_sasl2_prop_get" >&6; }
-if test "x$ac_cv_lib_sasl2_prop_get" = x""yes; then :
+if test "x$ac_cv_lib_sasl2_prop_get" = xyes; then :
ac_cv_found_sasl=yes
else
ac_cv_found_sasl=no
@@ -10322,7 +10332,7 @@
if test "$ac_cv_found_sasl" != "yes"; then
as_fn_error $? "Cannot continue without libsasl2.
-Get it from ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/." "$LINENO" 5
+Get it from ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/." "$LINENO" 5
fi
@@ -10352,7 +10362,7 @@
if ac_fn_c_try_cpp "$LINENO"; then :
else
- as_fn_error $? "Incorrect SASL headers found. This package requires SASL 2.1.7 or newer." "$LINENO" 5
+ as_fn_error $? "Incorrect SASL headers found. This package requires SASL 2.1.7 or newer." "$LINENO" 5
fi
rm -f conftest.err conftest.i conftest.$ac_ext
@@ -10366,7 +10376,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sasl_checkapop in -lsasl2" >&5
$as_echo_n "checking for sasl_checkapop in -lsasl2... " >&6; }
-if test "${ac_cv_lib_sasl2_sasl_checkapop+set}" = set; then :
+if ${ac_cv_lib_sasl2_sasl_checkapop+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10400,12 +10410,12 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sasl2_sasl_checkapop" >&5
$as_echo "$ac_cv_lib_sasl2_sasl_checkapop" >&6; }
-if test "x$ac_cv_lib_sasl2_sasl_checkapop" = x""yes; then :
+if test "x$ac_cv_lib_sasl2_sasl_checkapop" = xyes; then :
$as_echo "@%:@define HAVE_APOP /**/" >>confdefs.h
else
- as_fn_error $? "libsasl2 without working sasl_checkapop. Cannot continue." "$LINENO" 5
+ as_fn_error $? "libsasl2 without working sasl_checkapop. Cannot continue." "$LINENO" 5
fi
@@ -10436,7 +10446,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_PERL+set}" = set; then :
+if ${ac_cv_prog_PERL+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$PERL"; then
@@ -10483,7 +10493,7 @@
PERL_SUBDIRS="imap"
PERL="${with_perl}"
case "${target_os}" in
- linux*|netbsd*)
+ linux*|netbsd*|freebsd*|dragonfly*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl cccdlflags needed on \"${target_os}\"" >&5
$as_echo_n "checking for perl cccdlflags needed on \"${target_os}\"... " >&6; }
eval `${PERL} -V:cccdlflags`
@@ -10531,7 +10541,7 @@
cmu_save_LIBS="$LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for request_init in -lwrap" >&5
$as_echo_n "checking for request_init in -lwrap... " >&6; }
-if test "${ac_cv_lib_wrap_request_init+set}" = set; then :
+if ${ac_cv_lib_wrap_request_init+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10565,10 +10575,10 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_wrap_request_init" >&5
$as_echo "$ac_cv_lib_wrap_request_init" >&6; }
-if test "x$ac_cv_lib_wrap_request_init" = x""yes; then :
+if test "x$ac_cv_lib_wrap_request_init" = xyes; then :
ac_fn_c_check_header_mongrel "$LINENO" "tcpd.h" "ac_cv_header_tcpd_h" "$ac_includes_default"
-if test "x$ac_cv_header_tcpd_h" = x""yes; then :
+if test "x$ac_cv_header_tcpd_h" = xyes; then :
else
with_libwrap=no
@@ -10593,7 +10603,7 @@
LIB_WRAP="-lwrap"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for yp_get_default_domain in -lnsl" >&5
$as_echo_n "checking for yp_get_default_domain in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_yp_get_default_domain+set}" = set; then :
+if ${ac_cv_lib_nsl_yp_get_default_domain+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10627,7 +10637,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_yp_get_default_domain" >&5
$as_echo "$ac_cv_lib_nsl_yp_get_default_domain" >&6; }
-if test "x$ac_cv_lib_nsl_yp_get_default_domain" = x""yes; then :
+if test "x$ac_cv_lib_nsl_yp_get_default_domain" = xyes; then :
LIB_WRAP="${LIB_WRAP} -lnsl"
fi
@@ -10660,7 +10670,7 @@
set dummy net-snmp-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_SNMP_CONFIG+set}" = set; then :
+if ${ac_cv_path_SNMP_CONFIG+:} false; then :
$as_echo_n "(cached) " >&6
else
case $SNMP_CONFIG in
@@ -10720,7 +10730,7 @@
for ac_header in net-snmp/agent/agent_module_config.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "net-snmp/agent/agent_module_config.h" "ac_cv_header_net_snmp_agent_agent_module_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_net_snmp_agent_agent_module_config_h" = x""yes; then :
+if test "x$ac_cv_header_net_snmp_agent_agent_module_config_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
@%:@define HAVE_NET_SNMP_AGENT_AGENT_MODULE_CONFIG_H 1
_ACEOF
@@ -10744,7 +10754,7 @@
cmu_save_LIBS="$LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sprint_objid in -lsnmp" >&5
$as_echo_n "checking for sprint_objid in -lsnmp... " >&6; }
-if test "${ac_cv_lib_snmp_sprint_objid+set}" = set; then :
+if ${ac_cv_lib_snmp_sprint_objid+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10778,10 +10788,10 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_snmp_sprint_objid" >&5
$as_echo "$ac_cv_lib_snmp_sprint_objid" >&6; }
-if test "x$ac_cv_lib_snmp_sprint_objid" = x""yes; then :
+if test "x$ac_cv_lib_snmp_sprint_objid" = xyes; then :
ac_fn_c_check_header_mongrel "$LINENO" "ucd-snmp/version.h" "ac_cv_header_ucd_snmp_version_h" "$ac_includes_default"
-if test "x$ac_cv_header_ucd_snmp_version_h" = x""yes; then :
+if test "x$ac_cv_header_ucd_snmp_version_h" = xyes; then :
else
with_snmp=no
@@ -10806,7 +10816,7 @@
LIB_UCDSNMP="-lucdagent -lucdmibs -lsnmp"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rpmdbOpen in -lrpm" >&5
$as_echo_n "checking for rpmdbOpen in -lrpm... " >&6; }
-if test "${ac_cv_lib_rpm_rpmdbOpen+set}" = set; then :
+if ${ac_cv_lib_rpm_rpmdbOpen+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10840,7 +10850,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rpm_rpmdbOpen" >&5
$as_echo "$ac_cv_lib_rpm_rpmdbOpen" >&6; }
-if test "x$ac_cv_lib_rpm_rpmdbOpen" = x""yes; then :
+if test "x$ac_cv_lib_rpm_rpmdbOpen" = xyes; then :
LIB_UCDSNMP="${LIB_UCDSNMP} -lrpm -lpopt"
fi
@@ -10962,10 +10972,21 @@
: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" &&
+ if test "x$cache_file" != "x/dev/null"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
- cat confcache >$cache_file
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -10998,7 +11019,7 @@
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -11099,6 +11120,7 @@
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
case $0 in @%:@((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -11406,7 +11428,7 @@
# values after options handling.
ac_log="
This file was extended by $as_me, which was
-generated by GNU Autoconf 2.67. Invocation command line was
+generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -11468,7 +11490,7 @@
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.67,
+configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -11601,7 +11623,7 @@
"$EXTRA_OUTPUT") CONFIG_FILES="$CONFIG_FILES $EXTRA_OUTPUT" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
done
@@ -11623,9 +11645,10 @@
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- tmp=
+ tmp= ac_tmp=
trap 'exit_status=$?
- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
' 0
trap 'as_fn_exit 1' 1 2 13 15
}
@@ -11633,12 +11656,13 @@
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
+ test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
@@ -11660,7 +11684,7 @@
ac_cs_awk_cr=$ac_cr
fi
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF
@@ -11669,18 +11693,18 @@
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF"
} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
. ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
@@ -11688,7 +11712,7 @@
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
@@ -11736,7 +11760,7 @@
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1
FS = ""
@@ -11768,8 +11792,8 @@
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
@@ -11802,7 +11826,7 @@
# No need to generate them if there are no CONFIG_HEADERS.
# This happens for instance with `./config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
BEGIN {
_ACEOF
@@ -11814,11 +11838,11 @@
# handling of long lines.
ac_delim='%!_!# '
for ac_last_try in false false :; do
- ac_t=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_t"; then
+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
break
elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
@@ -11903,7 +11927,7 @@
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
fi # test -n "$CONFIG_HEADERS"
@@ -11916,7 +11940,7 @@
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
@@ -11935,7 +11959,7 @@
for ac_f
do
case $ac_f in
- -) ac_f="$tmp/stdin";;
+ -) ac_f="$ac_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 `:'.
@@ -11944,7 +11968,7 @@
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
@@ -11970,8 +11994,8 @@
esac
case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
@@ -12101,23 +12125,24 @@
s&@INSTALL@&$ac_INSTALL&;t t
$ac_datarootdir_hack
"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
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"; } &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&5
$as_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"
+ rm -f "$ac_tmp/stdin"
case $ac_file in
- -) cat "$tmp/out" && rm -f "$tmp/out";;
- *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
:H)
#
@@ -12126,21 +12151,21 @@
if test x"$ac_file" != x-; then
{
$as_echo "/* $configure_input */" \
- && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
- } >"$tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
rm -f "$ac_file"
- mv "$tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ mv "$ac_tmp/config.h" "$ac_file" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
fi
else
$as_echo "/* $configure_input */" \
- && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+ || as_fn_error $? "could not create -" "$LINENO" 5
fi
;;
@@ -12155,7 +12180,7 @@
ac_clean_files=$ac_clean_files_save
test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
# configure is writing to config.log, and then calls config.status.
diff -Nru cyrus-imapd-2.4-2.4.9/autom4te.cache/requests cyrus-imapd-2.4-2.4.12/autom4te.cache/requests
--- cyrus-imapd-2.4-2.4.9/autom4te.cache/requests 2011-06-21 19:51:34.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/autom4te.cache/requests 2011-10-04 20:03:49.000000000 +0000
@@ -1,4 +1,4 @@
-# This file was generated by Autom4te Thu Aug 5 21:29:16 UTC 2010.
+# This file was generated by Autom4te Sun May 1 09:53:53 UTC 2011.
# It contains the lists of macros which have been traced.
# It can be safely removed.
@@ -30,8 +30,8 @@
],
{
'CMU_KRB_RD_REQ_PROTO' => 1,
- 'm4_pattern_forbid' => 1,
'CMU_USE_DB' => 1,
+ 'm4_pattern_forbid' => 1,
'CMU_DB_LIB_WHERE' => 1,
'CMU_FIND_LIB_SUBDIR' => 1,
'AC_DEFUN' => 1,
@@ -46,8 +46,8 @@
'CMU_LIBSSL_LIB_WHERE' => 1,
'CMU_SASL2_REQUIRED' => 1,
'CYRUS_BERKELEY_DB_CHK_LIB' => 1,
- 'CYRUS_PGSQL_OPTS' => 1,
'CMU_HAVE_ZLIB' => 1,
+ 'CYRUS_PGSQL_OPTS' => 1,
'CMU_TEST_LIBPATH' => 1,
'CMU_SASL2_REQUIRE_VER' => 1,
'CMU_KRB_INC_WHERE' => 1,
@@ -62,8 +62,8 @@
'CMU_GUESS_RUNPATH_SWITCH' => 1,
'CMU_KRB_INC_WHERE1' => 1,
'CYRUS_MYSQL_CHK' => 1,
- 'CYRUS_BERKELEY_DB_OPTS' => 1,
'AU_DEFUN' => 1,
+ 'CYRUS_BERKELEY_DB_OPTS' => 1,
'IPv6_CHECK_SOCKLEN_T' => 1,
'CMU_AFS' => 1,
'CMU_LIBSSL' => 1,
@@ -92,13 +92,13 @@
'CMU_TEST_INCPATH' => 1,
'CMU_ADD_LIBPATH' => 1,
'CMU_KRB4' => 1,
- 'SASL_GSSAPI_CHK' => 1,
'CMU_CHECK_HEADER_NOCACHE' => 1,
+ 'SASL_GSSAPI_CHK' => 1,
'CYRUS_BERKELEY_DB_CHK' => 1,
'CYRUS_PGSQL_CHK' => 1,
'm4_include' => 1,
- 'CMU_NEEDS_AFS' => 1,
- 'CYRUS_SQLITE_CHK_LIB' => 1
+ 'CYRUS_SQLITE_CHK_LIB' => 1,
+ 'CMU_NEEDS_AFS' => 1
}
], 'Autom4te::Request' ),
bless( [
@@ -126,6 +126,7 @@
'AC_PROG_LIBTOOL' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_CONFIG_SUBDIRS' => 1,
+ 'AM_PATH_GUILE' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
'AC_CONFIG_LINKS' => 1,
@@ -133,16 +134,21 @@
'LT_SUPPORTED_TAG' => 1,
'm4_sinclude' => 1,
'AM_MAINTAINER_MODE' => 1,
+ 'AM_NLS' => 1,
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
'_m4_warn' => 1,
+ 'AM_MAKEFILE_INCLUDE' => 1,
'AM_PROG_CXX_C_O' => 1,
+ '_AM_MAKEFILE_INCLUDE' => 1,
'_AM_COND_ENDIF' => 1,
'AM_ENABLE_MULTILIB' => 1,
'AM_SILENT_RULES' => 1,
+ 'AM_PROG_MOC' => 1,
'AC_CONFIG_FILES' => 1,
- 'include' => 1,
'LT_INIT' => 1,
+ 'include' => 1,
'AM_GNU_GETTEXT' => 1,
+ 'AM_PROG_AR' => 1,
'AC_LIBSOURCE' => 1,
'AC_CANONICAL_BUILD' => 1,
'AM_PROG_FC_C_O' => 1,
@@ -155,8 +161,10 @@
'sinclude' => 1,
'AM_CONDITIONAL' => 1,
'AC_CANONICAL_SYSTEM' => 1,
+ 'AM_XGETTEXT_OPTION' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
+ 'AM_POT_TOOLS' => 1,
'm4_include' => 1,
'_AM_COND_ELSE' => 1,
'AC_SUBST_TRACE' => 1
diff -Nru cyrus-imapd-2.4-2.4.9/autom4te.cache/traces.0 cyrus-imapd-2.4-2.4.12/autom4te.cache/traces.0
--- cyrus-imapd-2.4-2.4.9/autom4te.cache/traces.0 2011-06-21 19:51:33.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/autom4te.cache/traces.0 2011-10-04 20:03:33.000000000 +0000
@@ -2062,36 +2062,36 @@
m4trace:configure.in:115: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$])
m4trace:configure.in:118: -1- CMU_C___ATTRIBUTE__
m4trace:configure.in:118: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2602: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
cmulocal/c-attribute.m4:9: CMU_C___ATTRIBUTE__ is expanded from...
configure.in:118: the top level])
m4trace:configure.in:118: -1- m4_pattern_allow([^HAVE___ATTRIBUTE__$])
m4trace:configure.in:119: -1- CMU_C_FPIC
m4trace:configure.in:119: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2602: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
cmulocal/c-fpic.m4:9: CMU_C_FPIC is expanded from...
configure.in:119: the top level])
m4trace:configure.in:122: -1- CMU_GUESS_RUNPATH_SWITCH
m4trace:configure.in:122: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2040: AC_CACHE_CHECK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
cmulocal/cyrus.m4:33: CMU_GUESS_RUNPATH_SWITCH is expanded from...
configure.in:122: the top level])
m4trace:configure.in:122: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2649: _AC_LINK_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2666: AC_LINK_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2040: AC_CACHE_CHECK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2662: _AC_LINK_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2679: AC_LINK_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
cmulocal/cyrus.m4:33: CMU_GUESS_RUNPATH_SWITCH is expanded from...
configure.in:122: the top level])
m4trace:configure.in:125: -1- m4_pattern_allow([^HAVE_MEMMOVE$])
@@ -2106,8 +2106,8 @@
m4trace:configure.in:131: -1- m4_pattern_allow([^HAVE_GETPASSPHRASE$])
m4trace:configure.in:134: -1- CMU_SOCKETS
m4trace:configure.in:134: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
cmulocal/bsd_sockets.m4:9: CMU_SOCKETS is expanded from...
configure.in:134: the top level])
@@ -2128,17 +2128,17 @@
m4trace:configure.in:148: -1- m4_pattern_allow([^HAVE_GETADDRINFO$])
m4trace:configure.in:156: -1- IPv6_CHECK_SS_FAMILY([])
m4trace:configure.in:156: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2602: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
cmulocal/ipv6.m4:66: IPv6_CHECK_SS_FAMILY is expanded from...
configure.in:156: the top level])
m4trace:configure.in:156: -2- m4_pattern_allow([^HAVE_SS_FAMILY$])
m4trace:configure.in:157: -1- IPv6_CHECK_SA_LEN([])
m4trace:configure.in:157: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2602: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
cmulocal/ipv6.m4:82: IPv6_CHECK_SA_LEN is expanded from...
configure.in:157: the top level])
m4trace:configure.in:157: -2- m4_pattern_allow([^HAVE_SOCKADDR_SA_LEN$])
@@ -2163,17 +2163,17 @@
m4trace:configure.in:205: -1- CMU_ADD_LIBPATH_TO([$with_bdb_lib], [LDFLAGS])
m4trace:configure.in:205: -1- CMU_ADD_LIBPATH_TO([$with_bdb_lib], [BDB_LIBADD])
m4trace:configure.in:205: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
cmulocal/berkdb.m4:204: CYRUS_BERKELEY_DB_CHK_LIB is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
cmulocal/berkdb.m4:265: CYRUS_BERKELEY_DB_CHK is expanded from...
configure.in:205: the top level])
m4trace:configure.in:205: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
cmulocal/berkdb.m4:204: CYRUS_BERKELEY_DB_CHK_LIB is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
cmulocal/berkdb.m4:265: CYRUS_BERKELEY_DB_CHK is expanded from...
@@ -2191,9 +2191,9 @@
m4trace:configure.in:257: -1- CMU_ADD_LIBPATH_TO([$with_mysql_lib], [LDFLAGS])
m4trace:configure.in:257: -1- CMU_ADD_LIBPATH_TO([$with_mysql_lib], [MYSQL_LIBADD])
m4trace:configure.in:257: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
cmulocal/sql.m4:16: CYRUS_MYSQL_CHK_LIB is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
cmulocal/sql.m4:55: CYRUS_MYSQL_CHK is expanded from...
@@ -2209,9 +2209,9 @@
m4trace:configure.in:301: -1- CMU_ADD_LIBPATH_TO([$with_pgsql_lib], [LDFLAGS])
m4trace:configure.in:301: -1- CMU_ADD_LIBPATH_TO([$with_pgsql_lib], [PGSQL_LIBADD])
m4trace:configure.in:301: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
cmulocal/sql.m4:90: CYRUS_PGSQL_CHK_LIB is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
cmulocal/sql.m4:129: CYRUS_PGSQL_CHK is expanded from...
@@ -2227,9 +2227,9 @@
m4trace:configure.in:345: -1- CMU_ADD_LIBPATH_TO([$with_sqlite_lib], [LDFLAGS])
m4trace:configure.in:345: -1- CMU_ADD_LIBPATH_TO([$with_sqlite_lib], [SQLITE_LIBADD])
m4trace:configure.in:345: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
cmulocal/sql.m4:164: CYRUS_SQLITE_CHK_LIB is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
cmulocal/sql.m4:203: CYRUS_SQLITE_CHK is expanded from...
@@ -2253,7 +2253,7 @@
m4trace:configure.in:401: -1- m4_pattern_allow([^YYTEXT_POINTER$])
m4trace:configure.in:402: -1- m4_pattern_allow([^HAVE_LIBFL$])
m4trace:configure.in:408: -2- _m4_warn([obsolete], [The macro `AC_TRY_CPP' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2517: AC_TRY_CPP is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2530: AC_TRY_CPP is expanded from...
configure.in:408: the top level])
m4trace:configure.in:420: -1- m4_pattern_allow([^ENABLE_REGEX$])
m4trace:configure.in:421: -1- m4_pattern_allow([^HAVE_PCREPOSIX_H$])
@@ -2264,7 +2264,7 @@
m4trace:configure.in:442: -2- m4_pattern_allow([^HAS_STRERROR$])
m4trace:configure.in:443: -2- m4_pattern_allow([^NEED_SYS_ERRLIST$])
m4trace:configure.in:442: -1- _m4_warn([obsolete], [The macro `AC_FUNC_CHECK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/functions.m4:149: AC_FUNC_CHECK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/functions.m4:156: AC_FUNC_CHECK is expanded from...
configure.in:442: the top level])
m4trace:configure.in:446: -1- m4_pattern_allow([^HAVE_SYS_RESOURCE_H$])
m4trace:configure.in:447: -1- m4_pattern_allow([^HAVE_SETRLIMIT$])
@@ -2274,37 +2274,37 @@
m4trace:configure.in:458: -2- m4_pattern_allow([^HAVE_STRUCT_SOCKADDR_STORAGE$])
m4trace:configure.in:459: -2- m4_pattern_allow([^HAVE_RLIM_T$])
m4trace:configure.in:477: -2- _m4_warn([obsolete], [The macro `AC_TRY_CPP' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2517: AC_TRY_CPP is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2530: AC_TRY_CPP is expanded from...
configure.in:477: the top level])
m4trace:configure.in:490: -2- _m4_warn([obsolete], [The macro `AC_TRY_CPP' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2517: AC_TRY_CPP is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2530: AC_TRY_CPP is expanded from...
configure.in:490: the top level])
m4trace:configure.in:501: -2- _m4_warn([obsolete], [The macro `AC_TRY_CPP' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2517: AC_TRY_CPP is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2530: AC_TRY_CPP is expanded from...
configure.in:501: the top level])
m4trace:configure.in:511: -1- m4_pattern_allow([^SPT_TYPE$])
m4trace:configure.in:515: -2- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
configure.in:515: the top level])
m4trace:configure.in:523: -1- m4_pattern_allow([^WITH_NONBLOCK$])
m4trace:configure.in:527: -2- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2602: AC_TRY_COMPILE is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
configure.in:527: the top level])
m4trace:configure.in:532: -1- m4_pattern_allow([^WITH_GMTOFF$])
m4trace:configure.in:535: -2- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2752: AC_TRY_RUN is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2765: AC_TRY_RUN is expanded from...
configure.in:535: the top level])
m4trace:configure.in:566: -2- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2752: AC_TRY_RUN is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2765: AC_TRY_RUN is expanded from...
configure.in:566: the top level])
m4trace:configure.in:603: -1- m4_pattern_allow([^WITH_MAP$])
m4trace:configure.in:604: -1- _m4_warn([obsolete], [The macro `AC_ERROR' is obsolete.
You should run autoupdate.], [../../lib/autoconf/oldnames.m4:34: AC_ERROR is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:1482: AC_ARG_WITH is expanded from...
configure.in:604: the top level])
m4trace:configure.in:614: -1- m4_pattern_allow([^WITH_LOCK$])
@@ -2315,9 +2315,9 @@
m4trace:configure.in:665: -1- m4_pattern_allow([^AFSPTS_USE_KRB5$])
m4trace:configure.in:675: -1- CMU_ADD_LIBPATH_TO([/usr/ucblib], [AFS_LDFLAGS])
m4trace:configure.in:684: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
configure.in:684: the top level])
m4trace:configure.in:707: -1- m4_pattern_allow([^AFS_LIBS$])
m4trace:configure.in:708: -1- m4_pattern_allow([^AFS_LDFLAGS$])
@@ -2377,13 +2377,13 @@
m4trace:configure.in:1029: -1- m4_pattern_allow([^HAVE_ET_COM_ERR_H$])
m4trace:configure.in:1029: -1- _m4_warn([obsolete], [The macro `AC_ERROR' is obsolete.
You should run autoupdate.], [../../lib/autoconf/oldnames.m4:34: AC_ERROR is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/libs.m4:100: AC_CHECK_LIB is expanded from...
configure.in:1029: the top level])
m4trace:configure.in:1029: -1- m4_pattern_allow([^COMPILE_ET$])
@@ -2394,7 +2394,7 @@
m4trace:configure.in:1092: -1- m4_pattern_allow([^COM_ERR_LDFLAGS$])
m4trace:configure.in:1093: -1- m4_pattern_allow([^COM_ERR_CPPFLAGS$])
m4trace:configure.in:1096: -2- _m4_warn([obsolete], [The macro `AC_TRY_CPP' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2517: AC_TRY_CPP is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2530: AC_TRY_CPP is expanded from...
configure.in:1096: the top level])
m4trace:configure.in:1114: -1- m4_pattern_allow([^SYSLOG_FACILITY$])
m4trace:configure.in:1118: -1- m4_pattern_allow([^HAVE_GETDTABLESIZE$])
@@ -2440,10 +2440,10 @@
configure.in:1145: the top level])
m4trace:configure.in:1145: -1- _m4_warn([obsolete], [The macro `AC_WARN' is obsolete.
You should run autoupdate.], [../../lib/autoconf/oldnames.m4:33: AC_WARN is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
cmulocal/sasl2.m4:7: SASL_GSSAPI_CHK is expanded from...
@@ -2470,8 +2470,8 @@
m4trace:configure.in:1145: -1- m4_pattern_allow([^HAVE_GSS_C_NT_HOSTBASED_SERVICE$])
m4trace:configure.in:1145: -1- _m4_warn([obsolete], [The macro `AC_WARN' is obsolete.
You should run autoupdate.], [../../lib/autoconf/oldnames.m4:33: AC_WARN is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2526: AC_EGREP_CPP is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2539: AC_EGREP_CPP is expanded from...
cmulocal/sasl2.m4:7: SASL_GSSAPI_CHK is expanded from...
cmulocal/sasl2.m4:289: CMU_SASL2 is expanded from...
cmulocal/sasl2.m4:410: CMU_SASL2_REQUIRED is expanded from...
@@ -2482,8 +2482,8 @@
m4trace:configure.in:1145: -1- m4_pattern_allow([^HAVE_GSS_C_NT_USER_NAME$])
m4trace:configure.in:1145: -1- _m4_warn([obsolete], [The macro `AC_WARN' is obsolete.
You should run autoupdate.], [../../lib/autoconf/oldnames.m4:33: AC_WARN is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2526: AC_EGREP_CPP is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2539: AC_EGREP_CPP is expanded from...
cmulocal/sasl2.m4:7: SASL_GSSAPI_CHK is expanded from...
cmulocal/sasl2.m4:289: CMU_SASL2 is expanded from...
cmulocal/sasl2.m4:410: CMU_SASL2_REQUIRED is expanded from...
@@ -2510,10 +2510,10 @@
configure.in:1145: the top level])
m4trace:configure.in:1145: -1- _m4_warn([obsolete], [The macro `AC_ERROR' is obsolete.
You should run autoupdate.], [../../lib/autoconf/oldnames.m4:34: AC_ERROR is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
cmulocal/sasl2.m4:289: CMU_SASL2 is expanded from...
@@ -2532,15 +2532,15 @@
cmulocal/sasl2.m4:420: CMU_SASL2_REQUIRE_VER is expanded from...
configure.in:1145: the top level])
m4trace:configure.in:1145: -1- _m4_warn([obsolete], [The macro `AC_TRY_CPP' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2517: AC_TRY_CPP is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2530: AC_TRY_CPP is expanded from...
cmulocal/sasl2.m4:420: CMU_SASL2_REQUIRE_VER is expanded from...
configure.in:1145: the top level])
m4trace:configure.in:1145: -1- _m4_warn([obsolete], [The macro `AC_ERROR' is obsolete.
You should run autoupdate.], [../../lib/autoconf/oldnames.m4:34: AC_ERROR is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2491: _AC_PREPROC_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2506: AC_PREPROC_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2517: AC_TRY_CPP is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2504: _AC_PREPROC_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2519: AC_PREPROC_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2530: AC_TRY_CPP is expanded from...
cmulocal/sasl2.m4:420: CMU_SASL2_REQUIRE_VER is expanded from...
configure.in:1145: the top level])
m4trace:configure.in:1146: -1- CMU_SASL2_CHECKAPOP_REQUIRED
diff -Nru cyrus-imapd-2.4-2.4.9/autom4te.cache/traces.1 cyrus-imapd-2.4-2.4.12/autom4te.cache/traces.1
--- cyrus-imapd-2.4-2.4.9/autom4te.cache/traces.1 2011-06-21 19:51:33.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/autom4te.cache/traces.1 2011-10-04 20:03:48.000000000 +0000
@@ -443,9 +443,9 @@
m4trace:configure.in:115: -1- AH_OUTPUT([AC_APPLE_UNIVERSAL_BUILD], [/* Define if building universal (internal helper macro) */
@%:@undef AC_APPLE_UNIVERSAL_BUILD])
m4trace:configure.in:118: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2602: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
cmulocal/c-attribute.m4:9: CMU_C___ATTRIBUTE__ is expanded from...
configure.in:118: the top level])
m4trace:configure.in:118: -1- AC_DEFINE_TRACE_LITERAL([HAVE___ATTRIBUTE__])
@@ -453,27 +453,27 @@
m4trace:configure.in:118: -1- AH_OUTPUT([HAVE___ATTRIBUTE__], [/* define if your compiler has __attribute__ */
@%:@undef HAVE___ATTRIBUTE__])
m4trace:configure.in:119: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2602: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
cmulocal/c-fpic.m4:9: CMU_C_FPIC is expanded from...
configure.in:119: the top level])
m4trace:configure.in:122: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2040: AC_CACHE_CHECK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
cmulocal/cyrus.m4:33: CMU_GUESS_RUNPATH_SWITCH is expanded from...
configure.in:122: the top level])
m4trace:configure.in:122: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2649: _AC_LINK_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2666: AC_LINK_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2040: AC_CACHE_CHECK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2662: _AC_LINK_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2679: AC_LINK_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
cmulocal/cyrus.m4:33: CMU_GUESS_RUNPATH_SWITCH is expanded from...
configure.in:122: the top level])
m4trace:configure.in:124: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */
@@ -488,34 +488,34 @@
@%:@undef HAVE_MEMMOVE])
m4trace:configure.in:125: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MEMMOVE])
m4trace:configure.in:125: -1- m4_pattern_allow([^HAVE_MEMMOVE$])
-m4trace:configure.in:125: -1- AC_LIBSOURCE([memmove.c])
m4trace:configure.in:125: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS memmove.$ac_objext"])
m4trace:configure.in:125: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.in:125: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:125: -1- AC_LIBSOURCE([memmove.c])
m4trace:configure.in:125: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
@%:@undef HAVE_STRCASECMP])
m4trace:configure.in:125: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCASECMP])
m4trace:configure.in:125: -1- m4_pattern_allow([^HAVE_STRCASECMP$])
-m4trace:configure.in:125: -1- AC_LIBSOURCE([strcasecmp.c])
m4trace:configure.in:125: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strcasecmp.$ac_objext"])
m4trace:configure.in:125: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.in:125: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:125: -1- AC_LIBSOURCE([strcasecmp.c])
m4trace:configure.in:125: -1- AH_OUTPUT([HAVE_FTRUNCATE], [/* Define to 1 if you have the `ftruncate\' function. */
@%:@undef HAVE_FTRUNCATE])
m4trace:configure.in:125: -1- AC_DEFINE_TRACE_LITERAL([HAVE_FTRUNCATE])
m4trace:configure.in:125: -1- m4_pattern_allow([^HAVE_FTRUNCATE$])
-m4trace:configure.in:125: -1- AC_LIBSOURCE([ftruncate.c])
m4trace:configure.in:125: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS ftruncate.$ac_objext"])
m4trace:configure.in:125: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.in:125: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:125: -1- AC_LIBSOURCE([ftruncate.c])
m4trace:configure.in:125: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
@%:@undef HAVE_STRERROR])
m4trace:configure.in:125: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRERROR])
m4trace:configure.in:125: -1- m4_pattern_allow([^HAVE_STRERROR$])
-m4trace:configure.in:125: -1- AC_LIBSOURCE([strerror.c])
m4trace:configure.in:125: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strerror.$ac_objext"])
m4trace:configure.in:125: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.in:125: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:125: -1- AC_LIBSOURCE([strerror.c])
m4trace:configure.in:126: -1- AH_OUTPUT([HAVE_STRLCAT], [/* Define to 1 if you have the `strlcat\' function. */
@%:@undef HAVE_STRLCAT])
m4trace:configure.in:126: -1- AH_OUTPUT([HAVE_STRLCPY], [/* Define to 1 if you have the `strlcpy\' function. */
@@ -542,8 +542,8 @@
m4trace:configure.in:131: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPASSPHRASE])
m4trace:configure.in:131: -1- m4_pattern_allow([^HAVE_GETPASSPHRASE$])
m4trace:configure.in:134: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
cmulocal/bsd_sockets.m4:9: CMU_SOCKETS is expanded from...
configure.in:134: the top level])
@@ -575,9 +575,9 @@
m4trace:configure.in:148: -1- AH_OUTPUT([HAVE_GETADDRINFO], [/* Do we have a getaddrinfo? */
@%:@undef HAVE_GETADDRINFO])
m4trace:configure.in:156: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2602: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
cmulocal/ipv6.m4:66: IPv6_CHECK_SS_FAMILY is expanded from...
configure.in:156: the top level])
m4trace:configure.in:156: -2- AC_DEFINE_TRACE_LITERAL([HAVE_SS_FAMILY])
@@ -585,9 +585,9 @@
m4trace:configure.in:156: -2- AH_OUTPUT([HAVE_SS_FAMILY], [/* Is there an ss_family in sockaddr_storage? */
@%:@undef HAVE_SS_FAMILY])
m4trace:configure.in:157: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2602: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
cmulocal/ipv6.m4:82: IPv6_CHECK_SA_LEN is expanded from...
configure.in:157: the top level])
m4trace:configure.in:157: -2- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKADDR_SA_LEN])
@@ -652,17 +652,17 @@
m4trace:configure.in:172: -1- AH_OUTPUT([HAVE_DOPRNT], [/* Define to 1 if you don\'t have `vprintf\' but do have `_doprnt.\' */
@%:@undef HAVE_DOPRNT])
m4trace:configure.in:205: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
cmulocal/berkdb.m4:204: CYRUS_BERKELEY_DB_CHK_LIB is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
cmulocal/berkdb.m4:265: CYRUS_BERKELEY_DB_CHK is expanded from...
configure.in:205: the top level])
m4trace:configure.in:205: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
cmulocal/berkdb.m4:204: CYRUS_BERKELEY_DB_CHK_LIB is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
cmulocal/berkdb.m4:265: CYRUS_BERKELEY_DB_CHK is expanded from...
@@ -681,9 +681,9 @@
m4trace:configure.in:225: -1- AH_OUTPUT([HAVE_BDB], [/* Build in Berkeley DB support? */
@%:@undef HAVE_BDB])
m4trace:configure.in:257: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
cmulocal/sql.m4:16: CYRUS_MYSQL_CHK_LIB is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
cmulocal/sql.m4:55: CYRUS_MYSQL_CHK is expanded from...
@@ -696,9 +696,9 @@
m4trace:configure.in:273: -1- AH_OUTPUT([HAVE_MYSQL], [/* Build in MySQL support? */
@%:@undef HAVE_MYSQL])
m4trace:configure.in:301: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
cmulocal/sql.m4:90: CYRUS_PGSQL_CHK_LIB is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
cmulocal/sql.m4:129: CYRUS_PGSQL_CHK is expanded from...
@@ -711,9 +711,9 @@
m4trace:configure.in:317: -1- AH_OUTPUT([HAVE_PGSQL], [/* Build in PgSQL support? */
@%:@undef HAVE_PGSQL])
m4trace:configure.in:345: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
cmulocal/sql.m4:164: CYRUS_SQLITE_CHK_LIB is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
cmulocal/sql.m4:203: CYRUS_SQLITE_CHK is expanded from...
@@ -769,7 +769,7 @@
m4trace:configure.in:402: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBFL])
m4trace:configure.in:402: -1- m4_pattern_allow([^HAVE_LIBFL$])
m4trace:configure.in:408: -2- _m4_warn([obsolete], [The macro `AC_TRY_CPP' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2517: AC_TRY_CPP is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2530: AC_TRY_CPP is expanded from...
configure.in:408: the top level])
m4trace:configure.in:420: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_REGEX])
m4trace:configure.in:420: -1- m4_pattern_allow([^ENABLE_REGEX$])
@@ -803,7 +803,7 @@
m4trace:configure.in:443: -2- AH_OUTPUT([NEED_SYS_ERRLIST], [/* Do we have a sys_errlist? */
@%:@undef NEED_SYS_ERRLIST])
m4trace:configure.in:442: -1- _m4_warn([obsolete], [The macro `AC_FUNC_CHECK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/functions.m4:149: AC_FUNC_CHECK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/functions.m4:156: AC_FUNC_CHECK is expanded from...
configure.in:442: the top level])
m4trace:configure.in:446: -1- AH_OUTPUT([HAVE_SYS_RESOURCE_H], [/* Define to 1 if you have the header file. */
@%:@undef HAVE_SYS_RESOURCE_H])
@@ -838,46 +838,46 @@
m4trace:configure.in:459: -2- AH_OUTPUT([HAVE_RLIM_T], [/* Do we have an rlim_t? */
@%:@undef HAVE_RLIM_T])
m4trace:configure.in:477: -2- _m4_warn([obsolete], [The macro `AC_TRY_CPP' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2517: AC_TRY_CPP is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2530: AC_TRY_CPP is expanded from...
configure.in:477: the top level])
m4trace:configure.in:490: -2- _m4_warn([obsolete], [The macro `AC_TRY_CPP' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2517: AC_TRY_CPP is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2530: AC_TRY_CPP is expanded from...
configure.in:490: the top level])
m4trace:configure.in:501: -2- _m4_warn([obsolete], [The macro `AC_TRY_CPP' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2517: AC_TRY_CPP is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2530: AC_TRY_CPP is expanded from...
configure.in:501: the top level])
m4trace:configure.in:511: -1- AC_DEFINE_TRACE_LITERAL([SPT_TYPE])
m4trace:configure.in:511: -1- m4_pattern_allow([^SPT_TYPE$])
m4trace:configure.in:511: -1- AH_OUTPUT([SPT_TYPE], [/* Do we already have setproctitle? */
@%:@undef SPT_TYPE])
m4trace:configure.in:515: -2- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
configure.in:515: the top level])
m4trace:configure.in:523: -1- AC_SUBST([WITH_NONBLOCK])
m4trace:configure.in:523: -1- AC_SUBST_TRACE([WITH_NONBLOCK])
m4trace:configure.in:523: -1- m4_pattern_allow([^WITH_NONBLOCK$])
m4trace:configure.in:527: -2- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2602: AC_TRY_COMPILE is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
configure.in:527: the top level])
m4trace:configure.in:532: -1- AC_SUBST([WITH_GMTOFF])
m4trace:configure.in:532: -1- AC_SUBST_TRACE([WITH_GMTOFF])
m4trace:configure.in:532: -1- m4_pattern_allow([^WITH_GMTOFF$])
m4trace:configure.in:535: -2- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2752: AC_TRY_RUN is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2765: AC_TRY_RUN is expanded from...
configure.in:535: the top level])
m4trace:configure.in:566: -2- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2752: AC_TRY_RUN is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2765: AC_TRY_RUN is expanded from...
configure.in:566: the top level])
m4trace:configure.in:603: -1- AC_SUBST([WITH_MAP])
m4trace:configure.in:603: -1- AC_SUBST_TRACE([WITH_MAP])
m4trace:configure.in:603: -1- m4_pattern_allow([^WITH_MAP$])
m4trace:configure.in:604: -1- _m4_warn([obsolete], [The macro `AC_ERROR' is obsolete.
You should run autoupdate.], [../../lib/autoconf/oldnames.m4:34: AC_ERROR is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:1482: AC_ARG_WITH is expanded from...
configure.in:604: the top level])
m4trace:configure.in:614: -1- AC_SUBST([WITH_LOCK])
@@ -899,9 +899,9 @@
m4trace:configure.in:665: -1- AH_OUTPUT([AFSPTS_USE_KRB5], [/* Should the AFS PTS plugin use krb5? */
@%:@undef AFSPTS_USE_KRB5])
m4trace:configure.in:684: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2675: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
configure.in:684: the top level])
m4trace:configure.in:707: -1- AC_SUBST([AFS_LIBS])
m4trace:configure.in:707: -1- AC_SUBST_TRACE([AFS_LIBS])
@@ -1041,13 +1041,13 @@
@%:@undef HAVE_ET_COM_ERR_H])
m4trace:configure.in:1029: -1- _m4_warn([obsolete], [The macro `AC_ERROR' is obsolete.
You should run autoupdate.], [../../lib/autoconf/oldnames.m4:34: AC_ERROR is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/libs.m4:100: AC_CHECK_LIB is expanded from...
configure.in:1029: the top level])
m4trace:configure.in:1029: -1- AC_SUBST([COMPILE_ET])
@@ -1072,7 +1072,7 @@
m4trace:configure.in:1093: -1- AC_SUBST_TRACE([COM_ERR_CPPFLAGS])
m4trace:configure.in:1093: -1- m4_pattern_allow([^COM_ERR_CPPFLAGS$])
m4trace:configure.in:1096: -2- _m4_warn([obsolete], [The macro `AC_TRY_CPP' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2517: AC_TRY_CPP is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2530: AC_TRY_CPP is expanded from...
configure.in:1096: the top level])
m4trace:configure.in:1114: -1- AC_DEFINE_TRACE_LITERAL([SYSLOG_FACILITY])
m4trace:configure.in:1114: -1- m4_pattern_allow([^SYSLOG_FACILITY$])
@@ -1082,10 +1082,10 @@
@%:@undef HAVE_GETDTABLESIZE])
m4trace:configure.in:1118: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETDTABLESIZE])
m4trace:configure.in:1118: -1- m4_pattern_allow([^HAVE_GETDTABLESIZE$])
-m4trace:configure.in:1118: -1- AC_LIBSOURCE([getdtablesize.c])
m4trace:configure.in:1118: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getdtablesize.$ac_objext"])
m4trace:configure.in:1118: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.in:1118: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:1118: -1- AC_LIBSOURCE([getdtablesize.c])
m4trace:configure.in:1131: -2- AC_DEFINE_TRACE_LITERAL([OLD_SIEVE_SERVICE_NAME])
m4trace:configure.in:1131: -2- m4_pattern_allow([^OLD_SIEVE_SERVICE_NAME$])
m4trace:configure.in:1131: -2- AH_OUTPUT([OLD_SIEVE_SERVICE_NAME], [/* Use "imap" as sieve service name? */
@@ -1133,10 +1133,10 @@
configure.in:1145: the top level])
m4trace:configure.in:1145: -1- _m4_warn([obsolete], [The macro `AC_WARN' is obsolete.
You should run autoupdate.], [../../lib/autoconf/oldnames.m4:33: AC_WARN is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
cmulocal/sasl2.m4:7: SASL_GSSAPI_CHK is expanded from...
@@ -1172,8 +1172,8 @@
@%:@undef HAVE_GSS_C_NT_HOSTBASED_SERVICE])
m4trace:configure.in:1145: -1- _m4_warn([obsolete], [The macro `AC_WARN' is obsolete.
You should run autoupdate.], [../../lib/autoconf/oldnames.m4:33: AC_WARN is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2526: AC_EGREP_CPP is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2539: AC_EGREP_CPP is expanded from...
cmulocal/sasl2.m4:7: SASL_GSSAPI_CHK is expanded from...
cmulocal/sasl2.m4:289: CMU_SASL2 is expanded from...
cmulocal/sasl2.m4:410: CMU_SASL2_REQUIRED is expanded from...
@@ -1193,8 +1193,8 @@
@%:@undef HAVE_GSS_C_NT_USER_NAME])
m4trace:configure.in:1145: -1- _m4_warn([obsolete], [The macro `AC_WARN' is obsolete.
You should run autoupdate.], [../../lib/autoconf/oldnames.m4:33: AC_WARN is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2526: AC_EGREP_CPP is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2539: AC_EGREP_CPP is expanded from...
cmulocal/sasl2.m4:7: SASL_GSSAPI_CHK is expanded from...
cmulocal/sasl2.m4:289: CMU_SASL2 is expanded from...
cmulocal/sasl2.m4:410: CMU_SASL2_REQUIRED is expanded from...
@@ -1235,10 +1235,10 @@
configure.in:1145: the top level])
m4trace:configure.in:1145: -1- _m4_warn([obsolete], [The macro `AC_ERROR' is obsolete.
You should run autoupdate.], [../../lib/autoconf/oldnames.m4:34: AC_ERROR is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
cmulocal/sasl2.m4:289: CMU_SASL2 is expanded from...
@@ -1263,15 +1263,15 @@
cmulocal/sasl2.m4:420: CMU_SASL2_REQUIRE_VER is expanded from...
configure.in:1145: the top level])
m4trace:configure.in:1145: -1- _m4_warn([obsolete], [The macro `AC_TRY_CPP' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2517: AC_TRY_CPP is expanded from...
+You should run autoupdate.], [../../lib/autoconf/general.m4:2530: AC_TRY_CPP is expanded from...
cmulocal/sasl2.m4:420: CMU_SASL2_REQUIRE_VER is expanded from...
configure.in:1145: the top level])
m4trace:configure.in:1145: -1- _m4_warn([obsolete], [The macro `AC_ERROR' is obsolete.
You should run autoupdate.], [../../lib/autoconf/oldnames.m4:34: AC_ERROR is expanded from...
-../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2491: _AC_PREPROC_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2506: AC_PREPROC_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2517: AC_TRY_CPP is expanded from...
+../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2504: _AC_PREPROC_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2519: AC_PREPROC_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2530: AC_TRY_CPP is expanded from...
cmulocal/sasl2.m4:420: CMU_SASL2_REQUIRE_VER is expanded from...
configure.in:1145: the top level])
m4trace:configure.in:1146: -1- AC_DEFINE_TRACE_LITERAL([HAVE_APOP])
diff -Nru cyrus-imapd-2.4-2.4.9/configure cyrus-imapd-2.4-2.4.12/configure
--- cyrus-imapd-2.4-2.4.9/configure 2011-06-21 19:51:34.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/configure 2011-10-04 20:03:49.000000000 +0000
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67.
+# Generated by GNU Autoconf 2.68.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -89,6 +89,7 @@
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -214,11 +215,18 @@
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
+ # Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+ case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+ esac
+ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
fi
if test x$as_have_required = xno; then :
@@ -1196,7 +1204,7 @@
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
esac
@@ -1477,8 +1485,9 @@
CPPFLAGS (Objective) C/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'.
+ YACC The `Yet Another Compiler 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.
@@ -1550,7 +1559,7 @@
if $ac_init_version; then
cat <<\_ACEOF
configure
-generated by GNU Autoconf 2.67
+generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
@@ -1596,7 +1605,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
@@ -1633,7 +1642,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_cpp
@@ -1646,10 +1655,10 @@
ac_fn_c_check_header_mongrel ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval "test \"\${$3+set}\"" = set; then :
+ if eval \${$3+:} false; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
fi
eval ac_res=\$$3
@@ -1712,7 +1721,7 @@
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
eval "$3=\$ac_header_compiler"
@@ -1721,7 +1730,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_mongrel
@@ -1762,7 +1771,7 @@
ac_retval=$ac_status
fi
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; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_run
@@ -1776,7 +1785,7 @@
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1794,7 +1803,7 @@
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_compile
@@ -1839,7 +1848,7 @@
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
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; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_link
@@ -2017,7 +2026,7 @@
rm -f conftest.val
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_compute_int
@@ -2030,7 +2039,7 @@
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2085,7 +2094,7 @@
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_func
@@ -2098,7 +2107,7 @@
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
$as_echo_n "checking for $2.$3... " >&6; }
-if eval "test \"\${$4+set}\"" = set; then :
+if eval \${$4+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2142,7 +2151,7 @@
eval ac_res=\$$4
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_member
@@ -2157,7 +2166,7 @@
as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2188,7 +2197,7 @@
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_decl
cat >config.log <<_ACEOF
@@ -2196,7 +2205,7 @@
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.67. Invocation command line was
+generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2454,7 +2463,7 @@
|| { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
done
@@ -2581,7 +2590,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
@@ -2597,7 +2606,7 @@
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
@@ -2615,7 +2624,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
@@ -2630,7 +2639,7 @@
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
@@ -2648,7 +2657,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
$as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "x$target_alias" = x; then
@@ -2663,7 +2672,7 @@
$as_echo "$ac_cv_target" >&6; }
case $ac_cv_target in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
esac
target=$ac_cv_target
ac_save_IFS=$IFS; IFS='-'
@@ -2702,7 +2711,7 @@
set dummy makedepend; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKEDEPEND+set}" = set; then :
+if ${ac_cv_prog_MAKEDEPEND+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$MAKEDEPEND"; then
@@ -2820,7 +2829,7 @@
set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -2860,7 +2869,7 @@
set dummy gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
@@ -2913,7 +2922,7 @@
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -2953,7 +2962,7 @@
set dummy cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -3012,7 +3021,7 @@
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -3056,7 +3065,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
@@ -3111,7 +3120,7 @@
test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -3226,7 +3235,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "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; }
@@ -3269,7 +3278,7 @@
{ { $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 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
rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
@@ -3328,7 +3337,7 @@
$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 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
fi
fi
@@ -3339,7 +3348,7 @@
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3380,7 +3389,7 @@
{ { $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 compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
@@ -3390,7 +3399,7 @@
ac_objext=$OBJEXT
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3427,7 +3436,7 @@
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
@@ -3505,7 +3514,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
@@ -3605,7 +3614,7 @@
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$RANLIB"; then
@@ -3645,7 +3654,7 @@
set dummy ranlib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_RANLIB"; then
@@ -3696,7 +3705,7 @@
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
$as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
@@ -3740,7 +3749,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3829,7 +3838,7 @@
CPP=
fi
if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then :
+ if ${ac_cv_prog_CPP+:} false; then :
$as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
@@ -3945,7 +3954,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
ac_ext=c
@@ -3957,7 +3966,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$GREP"; then
@@ -4020,7 +4029,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -4087,7 +4096,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4216,7 +4225,7 @@
ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
MINIX=yes
else
MINIX=
@@ -4238,7 +4247,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4278,7 +4287,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
$as_echo_n "checking for library containing strerror... " >&6; }
-if test "${ac_cv_search_strerror+set}" = set; then :
+if ${ac_cv_search_strerror+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -4312,11 +4321,11 @@
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_strerror+set}" = set; then :
+ if ${ac_cv_search_strerror+:} false; then :
break
fi
done
-if test "${ac_cv_search_strerror+set}" = set; then :
+if ${ac_cv_search_strerror+:} false; then :
else
ac_cv_search_strerror=no
@@ -4338,7 +4347,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
@@ -4376,7 +4385,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then :
+if ${ac_cv_c_const+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4456,7 +4465,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long file names" >&5
$as_echo_n "checking for long file names... " >&6; }
-if test "${ac_cv_sys_long_file_names+set}" = set; then :
+if ${ac_cv_sys_long_file_names+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_sys_long_file_names=yes
@@ -4499,7 +4508,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
$as_echo_n "checking for inline... " >&6; }
-if test "${ac_cv_c_inline+set}" = set; then :
+if ${ac_cv_c_inline+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_c_inline=no
@@ -4546,7 +4555,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
$as_echo_n "checking size of int... " >&6; }
-if test "${ac_cv_sizeof_int+set}" = set; then :
+if ${ac_cv_sizeof_int+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
@@ -4556,7 +4565,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (int)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_int=0
fi
@@ -4579,7 +4588,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
$as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
+if ${ac_cv_sizeof_long+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
@@ -4589,7 +4598,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (long)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long=0
fi
@@ -4612,7 +4621,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
$as_echo_n "checking size of size_t... " >&6; }
-if test "${ac_cv_sizeof_size_t+set}" = set; then :
+if ${ac_cv_sizeof_size_t+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default"; then :
@@ -4622,7 +4631,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (size_t)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_size_t=0
fi
@@ -4645,7 +4654,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
$as_echo_n "checking size of off_t... " >&6; }
-if test "${ac_cv_sizeof_off_t+set}" = set; then :
+if ${ac_cv_sizeof_off_t+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t" "$ac_includes_default"; then :
@@ -4655,7 +4664,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (off_t)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_off_t=0
fi
@@ -4679,7 +4688,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long int" >&5
$as_echo_n "checking size of long long int... " >&6; }
-if test "${ac_cv_sizeof_long_long_int+set}" = set; then :
+if ${ac_cv_sizeof_long_long_int+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long int))" "ac_cv_sizeof_long_long_int" "$ac_includes_default"; then :
@@ -4689,7 +4698,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (long long int)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long_long_int=0
fi
@@ -4712,7 +4721,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long long int" >&5
$as_echo_n "checking size of unsigned long long int... " >&6; }
-if test "${ac_cv_sizeof_unsigned_long_long_int+set}" = set; then :
+if ${ac_cv_sizeof_unsigned_long_long_int+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long long int))" "ac_cv_sizeof_unsigned_long_long_int" "$ac_includes_default"; then :
@@ -4722,7 +4731,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (unsigned long long int)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_unsigned_long_long_int=0
fi
@@ -4746,7 +4755,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_c_bigendian=unknown
@@ -4965,7 +4974,7 @@
;; #(
*)
as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
esac
fi
@@ -4973,7 +4982,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__" >&5
$as_echo_n "checking for __attribute__... " >&6; }
-if test "${ac_cv___attribute__+set}" = set; then :
+if ${ac_cv___attribute__+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -5017,7 +5026,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports -fPIC" >&5
$as_echo_n "checking if compiler supports -fPIC... " >&6; }
-if test "${ac_cv_fpic+set}" = set; then :
+if ${ac_cv_fpic+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -5065,7 +5074,7 @@
# CMU GUESS RUNPATH SWITCH
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for runpath switch" >&5
$as_echo_n "checking for runpath switch... " >&6; }
-if test "${andrew_cv_runpath_switch+set}" = set; then :
+if ${andrew_cv_runpath_switch+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -5130,7 +5139,7 @@
done
ac_fn_c_check_func "$LINENO" "memmove" "ac_cv_func_memmove"
-if test "x$ac_cv_func_memmove" = x""yes; then :
+if test "x$ac_cv_func_memmove" = xyes; then :
$as_echo "#define HAVE_MEMMOVE 1" >>confdefs.h
else
@@ -5143,7 +5152,7 @@
fi
ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp"
-if test "x$ac_cv_func_strcasecmp" = x""yes; then :
+if test "x$ac_cv_func_strcasecmp" = xyes; then :
$as_echo "#define HAVE_STRCASECMP 1" >>confdefs.h
else
@@ -5156,7 +5165,7 @@
fi
ac_fn_c_check_func "$LINENO" "ftruncate" "ac_cv_func_ftruncate"
-if test "x$ac_cv_func_ftruncate" = x""yes; then :
+if test "x$ac_cv_func_ftruncate" = xyes; then :
$as_echo "#define HAVE_FTRUNCATE 1" >>confdefs.h
else
@@ -5169,7 +5178,7 @@
fi
ac_fn_c_check_func "$LINENO" "strerror" "ac_cv_func_strerror"
-if test "x$ac_cv_func_strerror" = x""yes; then :
+if test "x$ac_cv_func_strerror" = xyes; then :
$as_echo "#define HAVE_STRERROR 1" >>confdefs.h
else
@@ -5199,7 +5208,7 @@
as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-if eval "test \"\${$as_ac_Header+set}\"" = set; then :
+if eval \${$as_ac_Header+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5239,7 +5248,7 @@
if test $ac_header_dirent = dirent.h; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
$as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -5273,11 +5282,11 @@
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_opendir+set}" = set; then :
+ if ${ac_cv_search_opendir+:} false; then :
break
fi
done
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
else
ac_cv_search_opendir=no
@@ -5296,7 +5305,7 @@
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
$as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -5330,11 +5339,11 @@
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_opendir+set}" = set; then :
+ if ${ac_cv_search_opendir+:} false; then :
break
fi
done
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
else
ac_cv_search_opendir=no
@@ -5356,7 +5365,7 @@
for ac_header in stdlib.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = x""yes; then :
+if test "x$ac_cv_header_stdlib_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_STDLIB_H 1
_ACEOF
@@ -5368,7 +5377,7 @@
for ac_func in getpassphrase
do :
ac_fn_c_check_func "$LINENO" "getpassphrase" "ac_cv_func_getpassphrase"
-if test "x$ac_cv_func_getpassphrase" = x""yes; then :
+if test "x$ac_cv_func_getpassphrase" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_GETPASSPHRASE 1
_ACEOF
@@ -5381,12 +5390,12 @@
save_LIBS="$LIBS"
LIB_SOCKET=""
ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
-if test "x$ac_cv_func_connect" = x""yes; then :
+if test "x$ac_cv_func_connect" = xyes; then :
:
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5420,13 +5429,13 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
LIB_SOCKET="-lnsl $LIB_SOCKET"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
$as_echo_n "checking for connect in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_connect+set}" = set; then :
+if ${ac_cv_lib_socket_connect+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5460,7 +5469,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
$as_echo "$ac_cv_lib_socket_connect" >&6; }
-if test "x$ac_cv_lib_socket_connect" = x""yes; then :
+if test "x$ac_cv_lib_socket_connect" = xyes; then :
LIB_SOCKET="-lsocket $LIB_SOCKET"
fi
@@ -5469,7 +5478,7 @@
LIBS="$LIB_SOCKET $save_LIBS"
ac_fn_c_check_func "$LINENO" "res_search" "ac_cv_func_res_search"
-if test "x$ac_cv_func_res_search" = x""yes; then :
+if test "x$ac_cv_func_res_search" = xyes; then :
:
else
LIBS="-lresolv $LIB_SOCKET $save_LIBS"
@@ -5525,14 +5534,14 @@
cyrus_cv_getaddrinfo=yes
ac_fn_c_check_func "$LINENO" "getaddrinfo" "ac_cv_func_getaddrinfo"
-if test "x$ac_cv_func_getaddrinfo" = x""yes; then :
+if test "x$ac_cv_func_getaddrinfo" = xyes; then :
ac_cv_lib_socket_getaddrinfo=no
ac_cv_lib_inet6_getaddrinfo=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo in -lsocket" >&5
$as_echo_n "checking for getaddrinfo in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_getaddrinfo+set}" = set; then :
+if ${ac_cv_lib_socket_getaddrinfo+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5566,14 +5575,14 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_getaddrinfo" >&5
$as_echo "$ac_cv_lib_socket_getaddrinfo" >&6; }
-if test "x$ac_cv_lib_socket_getaddrinfo" = x""yes; then :
+if test "x$ac_cv_lib_socket_getaddrinfo" = xyes; then :
LIBS="$LIBS -lsocket"
ac_cv_lib_inet6_getaddrinfo=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether your system has IPv6 directory" >&5
$as_echo_n "checking whether your system has IPv6 directory... " >&6; }
- if test "${ipv6_cv_dir+set}" = set; then :
+ if ${ipv6_cv_dir+:} false; then :
$as_echo_n "(cached) " >&6
else
for ipv6_cv_dir in /usr/local/v6 /usr/inet6 no; do
@@ -5594,7 +5603,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo in -linet6" >&5
$as_echo_n "checking for getaddrinfo in -linet6... " >&6; }
-if test "${ac_cv_lib_inet6_getaddrinfo+set}" = set; then :
+if ${ac_cv_lib_inet6_getaddrinfo+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5628,7 +5637,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet6_getaddrinfo" >&5
$as_echo "$ac_cv_lib_inet6_getaddrinfo" >&6; }
-if test "x$ac_cv_lib_inet6_getaddrinfo" = x""yes; then :
+if test "x$ac_cv_lib_inet6_getaddrinfo" = xyes; then :
if test $ipv6_libinet6 = no; then
ipv6_libinet6=yes
LIBS="$LIBS -linet6"
@@ -5679,14 +5688,14 @@
if test $ipv6_cv_getaddrinfo = yes; then
ac_fn_c_check_func "$LINENO" "gai_strerror" "ac_cv_func_gai_strerror"
-if test "x$ac_cv_func_gai_strerror" = x""yes; then :
+if test "x$ac_cv_func_gai_strerror" = xyes; then :
ac_cv_lib_socket_gai_strerror=no
ac_cv_lib_inet6_gai_strerror=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gai_strerror in -lsocket" >&5
$as_echo_n "checking for gai_strerror in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_gai_strerror+set}" = set; then :
+if ${ac_cv_lib_socket_gai_strerror+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5720,14 +5729,14 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_gai_strerror" >&5
$as_echo "$ac_cv_lib_socket_gai_strerror" >&6; }
-if test "x$ac_cv_lib_socket_gai_strerror" = x""yes; then :
+if test "x$ac_cv_lib_socket_gai_strerror" = xyes; then :
LIBS="$LIBS -lsocket"
ac_cv_lib_inet6_gai_strerror=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether your system has IPv6 directory" >&5
$as_echo_n "checking whether your system has IPv6 directory... " >&6; }
- if test "${ipv6_cv_dir+set}" = set; then :
+ if ${ipv6_cv_dir+:} false; then :
$as_echo_n "(cached) " >&6
else
for ipv6_cv_dir in /usr/local/v6 /usr/inet6 no; do
@@ -5748,7 +5757,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gai_strerror in -linet6" >&5
$as_echo_n "checking for gai_strerror in -linet6... " >&6; }
-if test "${ac_cv_lib_inet6_gai_strerror+set}" = set; then :
+if ${ac_cv_lib_inet6_gai_strerror+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5782,7 +5791,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet6_gai_strerror" >&5
$as_echo "$ac_cv_lib_inet6_gai_strerror" >&6; }
-if test "x$ac_cv_lib_inet6_gai_strerror" = x""yes; then :
+if test "x$ac_cv_lib_inet6_gai_strerror" = xyes; then :
if test $ipv6_libinet6 = no; then
ipv6_libinet6=yes
LIBS="$LIBS -linet6"
@@ -5848,14 +5857,14 @@
cyrus_cv_getnameinfo=yes
ac_fn_c_check_func "$LINENO" "getnameinfo" "ac_cv_func_getnameinfo"
-if test "x$ac_cv_func_getnameinfo" = x""yes; then :
+if test "x$ac_cv_func_getnameinfo" = xyes; then :
ac_cv_lib_socket_getnameinfo=no
ac_cv_lib_inet6_getnameinfo=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getnameinfo in -lsocket" >&5
$as_echo_n "checking for getnameinfo in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_getnameinfo+set}" = set; then :
+if ${ac_cv_lib_socket_getnameinfo+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5889,14 +5898,14 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_getnameinfo" >&5
$as_echo "$ac_cv_lib_socket_getnameinfo" >&6; }
-if test "x$ac_cv_lib_socket_getnameinfo" = x""yes; then :
+if test "x$ac_cv_lib_socket_getnameinfo" = xyes; then :
LIBS="$LIBS -lsocket"
ac_cv_lib_inet6_getnameinfo=no
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether your system has IPv6 directory" >&5
$as_echo_n "checking whether your system has IPv6 directory... " >&6; }
- if test "${ipv6_cv_dir+set}" = set; then :
+ if ${ipv6_cv_dir+:} false; then :
$as_echo_n "(cached) " >&6
else
for ipv6_cv_dir in /usr/local/v6 /usr/inet6 no; do
@@ -5917,7 +5926,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getnameinfo in -linet6" >&5
$as_echo_n "checking for getnameinfo in -linet6... " >&6; }
-if test "${ac_cv_lib_inet6_getnameinfo+set}" = set; then :
+if ${ac_cv_lib_inet6_getnameinfo+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -5951,7 +5960,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet6_getnameinfo" >&5
$as_echo "$ac_cv_lib_inet6_getnameinfo" >&6; }
-if test "x$ac_cv_lib_inet6_getnameinfo" = x""yes; then :
+if test "x$ac_cv_lib_inet6_getnameinfo" = xyes; then :
if test $ipv6_libinet6 = no; then
ipv6_libinet6=yes
LIBS="$LIBS -linet6"
@@ -6014,7 +6023,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether you have ss_family in struct sockaddr_storage" >&5
$as_echo_n "checking whether you have ss_family in struct sockaddr_storage... " >&6; }
-if test "${ipv6_cv_ss_family+set}" = set; then :
+if ${ipv6_cv_ss_family+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6048,7 +6057,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether you have sa_len in struct sockaddr" >&5
$as_echo_n "checking whether you have sa_len in struct sockaddr... " >&6; }
-if test "${ipv6_cv_sa_len+set}" = set; then :
+if ${ipv6_cv_sa_len+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6085,7 +6094,7 @@
for ac_header in sys/time.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_time_h" = x""yes; then :
+if test "x$ac_cv_header_sys_time_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_SYS_TIME_H 1
_ACEOF
@@ -6096,7 +6105,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-if test "${ac_cv_header_time+set}" = set; then :
+if ${ac_cv_header_time+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6131,7 +6140,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5
$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; }
-if test "${ac_cv_struct_tm+set}" = set; then :
+if ${ac_cv_struct_tm+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6168,7 +6177,7 @@
#include <$ac_cv_struct_tm>
"
-if test "x$ac_cv_member_struct_tm_tm_zone" = x""yes; then :
+if test "x$ac_cv_member_struct_tm_tm_zone" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_STRUCT_TM_TM_ZONE 1
@@ -6184,7 +6193,7 @@
else
ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include
"
-if test "x$ac_cv_have_decl_tzname" = x""yes; then :
+if test "x$ac_cv_have_decl_tzname" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -6196,7 +6205,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5
$as_echo_n "checking for tzname... " >&6; }
-if test "${ac_cv_var_tzname+set}" = set; then :
+if ${ac_cv_var_tzname+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6240,13 +6249,13 @@
for ac_func in vprintf
do :
ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf"
-if test "x$ac_cv_func_vprintf" = x""yes; then :
+if test "x$ac_cv_func_vprintf" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_VPRINTF 1
_ACEOF
ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt"
-if test "x$ac_cv_func__doprnt" = x""yes; then :
+if test "x$ac_cv_func__doprnt" = xyes; then :
$as_echo "#define HAVE_DOPRNT 1" >>confdefs.h
@@ -6326,7 +6335,7 @@
fi
ac_fn_c_check_header_mongrel "$LINENO" "db.h" "ac_cv_header_db_h" "$ac_includes_default"
-if test "x$ac_cv_header_db_h" = x""yes; then :
+if test "x$ac_cv_header_db_h" = xyes; then :
BDB_SAVE_LDFLAGS=$LDFLAGS
@@ -6518,7 +6527,7 @@
fi
ac_fn_c_check_header_mongrel "$LINENO" "mysql.h" "ac_cv_header_mysql_h" "$ac_includes_default"
-if test "x$ac_cv_header_mysql_h" = x""yes; then :
+if test "x$ac_cv_header_mysql_h" = xyes; then :
MYSQL_SAVE_LDFLAGS=$LDFLAGS
@@ -6667,7 +6676,7 @@
fi
ac_fn_c_check_header_mongrel "$LINENO" "libpq-fe.h" "ac_cv_header_libpq_fe_h" "$ac_includes_default"
-if test "x$ac_cv_header_libpq_fe_h" = x""yes; then :
+if test "x$ac_cv_header_libpq_fe_h" = xyes; then :
PGSQL_SAVE_LDFLAGS=$LDFLAGS
@@ -6816,7 +6825,7 @@
fi
ac_fn_c_check_header_mongrel "$LINENO" "sqlite3.h" "ac_cv_header_sqlite3_h" "$ac_includes_default"
-if test "x$ac_cv_header_sqlite3_h" = x""yes; then :
+if test "x$ac_cv_header_sqlite3_h" = xyes; then :
SQLITE_SAVE_LDFLAGS=$LDFLAGS
@@ -6950,7 +6959,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_YACC+set}" = set; then :
+if ${ac_cv_prog_YACC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$YACC"; then
@@ -6993,7 +7002,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LEX+set}" = set; then :
+if ${ac_cv_prog_LEX+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$LEX"; then
@@ -7063,7 +7072,7 @@
test $ac_status = 0; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex output file root" >&5
$as_echo_n "checking lex output file root... " >&6; }
-if test "${ac_cv_prog_lex_root+set}" = set; then :
+if ${ac_cv_prog_lex_root+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -7082,7 +7091,7 @@
if test -z "${LEXLIB+set}"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex library" >&5
$as_echo_n "checking lex library... " >&6; }
-if test "${ac_cv_lib_lex+set}" = set; then :
+if ${ac_cv_lib_lex+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -7112,7 +7121,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5
$as_echo_n "checking whether yytext is a pointer... " >&6; }
-if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then :
+if ${ac_cv_prog_lex_yytext_pointer+:} false; then :
$as_echo_n "(cached) " >&6
else
# POSIX says lex can declare yytext either as a pointer or an array; the
@@ -7123,7 +7132,8 @@
LIBS="$LEXLIB $ac_save_LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#define YYTEXT_POINTER 1
+
+ #define YYTEXT_POINTER 1
`cat $LEX_OUTPUT_ROOT.c`
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -7146,7 +7156,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lfl" >&5
$as_echo_n "checking for main in -lfl... " >&6; }
-if test "${ac_cv_lib_fl_main+set}" = set; then :
+if ${ac_cv_lib_fl_main+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7174,7 +7184,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fl_main" >&5
$as_echo "$ac_cv_lib_fl_main" >&6; }
-if test "x$ac_cv_lib_fl_main" = x""yes; then :
+if test "x$ac_cv_lib_fl_main" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBFL 1
_ACEOF
@@ -7186,15 +7196,15 @@
if test "$testpcre" != "no"; then
ac_fn_c_check_header_mongrel "$LINENO" "pcreposix.h" "ac_cv_header_pcreposix_h" "$ac_includes_default"
-if test "x$ac_cv_header_pcreposix_h" = x""yes; then :
+if test "x$ac_cv_header_pcreposix_h" = xyes; then :
fi
- if test "$ac_cv_header_pcreposix_h" == "yes"; then
+ if test "$ac_cv_header_pcreposix_h" = "yes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for utf8 enabled pcre" >&5
$as_echo_n "checking for utf8 enabled pcre... " >&6; }
- if test "${cyrus_cv_pcre_utf8+set}" = set; then :
+ if ${cyrus_cv_pcre_utf8+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7219,7 +7229,7 @@
fi
fi
- if test "$cyrus_cv_pcre_utf8" == "yes"; then
+ if test "$cyrus_cv_pcre_utf8" = "yes"; then
LIBS="$LIBS -lpcre -lpcreposix";
$as_echo "#define ENABLE_REGEX /**/" >>confdefs.h
@@ -7231,7 +7241,7 @@
for ac_header in rxposix.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "rxposix.h" "ac_cv_header_rxposix_h" "$ac_includes_default"
-if test "x$ac_cv_header_rxposix_h" = x""yes; then :
+if test "x$ac_cv_header_rxposix_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_RXPOSIX_H 1
_ACEOF
@@ -7240,7 +7250,7 @@
done
- if test "$ac_cv_header_rxposix_h" == "yes"; then
+ if test "$ac_cv_header_rxposix_h" = "yes"; then
LIBS="$LIBS -lrx"
$as_echo "#define ENABLE_REGEX /**/" >>confdefs.h
@@ -7248,7 +7258,7 @@
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing regcomp" >&5
$as_echo_n "checking for library containing regcomp... " >&6; }
-if test "${ac_cv_search_regcomp+set}" = set; then :
+if ${ac_cv_search_regcomp+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -7282,11 +7292,11 @@
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_regcomp+set}" = set; then :
+ if ${ac_cv_search_regcomp+:} false; then :
break
fi
done
-if test "${ac_cv_search_regcomp+set}" = set; then :
+if ${ac_cv_search_regcomp+:} false; then :
else
ac_cv_search_regcomp=no
@@ -7314,7 +7324,7 @@
ac_fn_c_check_func "$LINENO" "strerror" "ac_cv_func_strerror"
-if test "x$ac_cv_func_strerror" = x""yes; then :
+if test "x$ac_cv_func_strerror" = xyes; then :
$as_echo "#define HAS_STRERROR /**/" >>confdefs.h
@@ -7328,7 +7338,7 @@
for ac_header in sys/resource.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "sys/resource.h" "ac_cv_header_sys_resource_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_resource_h" = x""yes; then :
+if test "x$ac_cv_header_sys_resource_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_SYS_RESOURCE_H 1
_ACEOF
@@ -7340,7 +7350,7 @@
for ac_func in setrlimit
do :
ac_fn_c_check_func "$LINENO" "setrlimit" "ac_cv_func_setrlimit"
-if test "x$ac_cv_func_setrlimit" = x""yes; then :
+if test "x$ac_cv_func_setrlimit" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_SETRLIMIT 1
_ACEOF
@@ -7351,7 +7361,7 @@
for ac_func in getrlimit
do :
ac_fn_c_check_func "$LINENO" "getrlimit" "ac_cv_func_getrlimit"
-if test "x$ac_cv_func_getrlimit" = x""yes; then :
+if test "x$ac_cv_func_getrlimit" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_GETRLIMIT 1
_ACEOF
@@ -7376,7 +7386,7 @@
for ac_func in shutdown
do :
ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown"
-if test "x$ac_cv_func_shutdown" = x""yes; then :
+if test "x$ac_cv_func_shutdown" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_SHUTDOWN 1
_ACEOF
@@ -7427,14 +7437,14 @@
spt_type=""
ac_fn_c_check_func "$LINENO" "setproctitle" "ac_cv_func_setproctitle"
-if test "x$ac_cv_func_setproctitle" = x""yes; then :
+if test "x$ac_cv_func_setproctitle" = xyes; then :
spt_type=SPT_BUILTIN
fi
if test "$spt_type" = ""; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for setproctitle in -lutil" >&5
$as_echo_n "checking for setproctitle in -lutil... " >&6; }
-if test "${ac_cv_lib_util_setproctitle+set}" = set; then :
+if ${ac_cv_lib_util_setproctitle+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7468,7 +7478,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_setproctitle" >&5
$as_echo "$ac_cv_lib_util_setproctitle" >&6; }
-if test "x$ac_cv_lib_util_setproctitle" = x""yes; then :
+if test "x$ac_cv_lib_util_setproctitle" = xyes; then :
spt_type=SPT_BUILTIN
LIBS="${LIBS} -lutil"
fi
@@ -7476,7 +7486,7 @@
fi
if test "$spt_type" = ""; then
ac_fn_c_check_header_mongrel "$LINENO" "sys/pstat.h" "ac_cv_header_sys_pstat_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_pstat_h" = x""yes; then :
+if test "x$ac_cv_header_sys_pstat_h" = xyes; then :
spt_type=SPT_PSTAT
fi
@@ -7484,7 +7494,7 @@
fi
if test "$spt_type" = ""; then
ac_fn_c_check_header_mongrel "$LINENO" "sys/sysnews.h" "ac_cv_header_sys_sysnews_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_sysnews_h" = x""yes; then :
+if test "x$ac_cv_header_sys_sysnews_h" = xyes; then :
spt_type=SPT_SYSMIPS
fi
@@ -7493,7 +7503,7 @@
if test "$spt_type" = ""; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PS_STRINGS" >&5
$as_echo_n "checking for PS_STRINGS... " >&6; }
- if test "${cyrus_cv_sys_psstrings+set}" = set; then :
+ if ${cyrus_cv_sys_psstrings+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7522,7 +7532,7 @@
if test "$spt_type" = ""; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SCO" >&5
$as_echo_n "checking for SCO... " >&6; }
- if test "${cyrus_cv_sys_sco+set}" = set; then :
+ if ${cyrus_cv_sys_sco+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7549,7 +7559,7 @@
if test "$spt_type" = ""; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for setproctitle usability" >&5
$as_echo_n "checking for setproctitle usability... " >&6; }
- if test "${cyrus_cv_sys_setproctitle+set}" = set; then :
+ if ${cyrus_cv_sys_setproctitle+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7583,7 +7593,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking nonblocking method" >&5
$as_echo_n "checking nonblocking method... " >&6; }
-if test "${cyrus_cv_sys_nonblock+set}" = set; then :
+if ${cyrus_cv_sys_nonblock+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7618,7 +7628,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking timezone GMT offset method" >&5
$as_echo_n "checking timezone GMT offset method... " >&6; }
-if test "${cyrus_cv_struct_sys_gmtoff+set}" = set; then :
+if ${cyrus_cv_struct_sys_gmtoff+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7649,7 +7659,7 @@
$as_echo "$WITH_GMTOFF" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared mmap" >&5
$as_echo_n "checking for shared mmap... " >&6; }
-if test "${cyrus_cv_func_mmap_shared+set}" = set; then :
+if ${cyrus_cv_func_mmap_shared+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
@@ -7701,7 +7711,7 @@
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stupid shared mmap" >&5
$as_echo_n "checking for stupid shared mmap... " >&6; }
-if test "${cyrus_cv_func_mmap_stupidshared+set}" = set; then :
+if ${cyrus_cv_func_mmap_stupidshared+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
@@ -7768,12 +7778,12 @@
else
ac_fn_c_check_func "$LINENO" "fcntl" "ac_cv_func_fcntl"
-if test "x$ac_cv_func_fcntl" = x""yes; then :
+if test "x$ac_cv_func_fcntl" = xyes; then :
WITH_LOCK="fcntl"
else
ac_fn_c_check_func "$LINENO" "flock" "ac_cv_func_flock"
-if test "x$ac_cv_func_flock" = x""yes; then :
+if test "x$ac_cv_func_flock" = xyes; then :
WITH_LOCK="flock"
else
@@ -7792,7 +7802,7 @@
LIB_RT=""
ac_fn_c_check_func "$LINENO" "fdatasync" "ac_cv_func_fdatasync"
-if test "x$ac_cv_func_fdatasync" = x""yes; then :
+if test "x$ac_cv_func_fdatasync" = xyes; then :
$as_echo "#define HAVE_FDATASYNC /**/" >>confdefs.h
@@ -7800,7 +7810,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fdatasync in -lrt" >&5
$as_echo_n "checking for fdatasync in -lrt... " >&6; }
-if test "${ac_cv_lib_rt_fdatasync+set}" = set; then :
+if ${ac_cv_lib_rt_fdatasync+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7834,7 +7844,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_fdatasync" >&5
$as_echo "$ac_cv_lib_rt_fdatasync" >&6; }
-if test "x$ac_cv_lib_rt_fdatasync" = x""yes; then :
+if test "x$ac_cv_lib_rt_fdatasync" = xyes; then :
LIB_RT="-lrt"
@@ -7848,12 +7858,12 @@
cant_find_sigvec=no
-if test "${cyrus_cv_sigveclib+set}" = set; then :
+if ${cyrus_cv_sigveclib+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_fn_c_check_func "$LINENO" "sigvec" "ac_cv_func_sigvec"
-if test "x$ac_cv_func_sigvec" = x""yes; then :
+if test "x$ac_cv_func_sigvec" = xyes; then :
cyrus_cv_sigveclib=""
@@ -7861,7 +7871,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigvec in -lBSD" >&5
$as_echo_n "checking for sigvec in -lBSD... " >&6; }
-if test "${ac_cv_lib_BSD_sigvec+set}" = set; then :
+if ${ac_cv_lib_BSD_sigvec+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7895,7 +7905,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_BSD_sigvec" >&5
$as_echo "$ac_cv_lib_BSD_sigvec" >&6; }
-if test "x$ac_cv_lib_BSD_sigvec" = x""yes; then :
+if test "x$ac_cv_lib_BSD_sigvec" = xyes; then :
cyrus_cv_sigveclib="-lBSD"
else
@@ -7903,7 +7913,7 @@
LDFLAGS="-L/usr/ucblib -R/usr/ucblib $LDFLAGS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigvec in -lucb" >&5
$as_echo_n "checking for sigvec in -lucb... " >&6; }
-if test "${ac_cv_lib_ucb_sigvec+set}" = set; then :
+if ${ac_cv_lib_ucb_sigvec+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7937,7 +7947,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ucb_sigvec" >&5
$as_echo "$ac_cv_lib_ucb_sigvec" >&6; }
-if test "x$ac_cv_lib_ucb_sigvec" = x""yes; then :
+if test "x$ac_cv_lib_ucb_sigvec" = xyes; then :
cyrus_cv_sigveclib="-lc -L/usr/ucblib -R/usr/ucblib -lucb"
else
@@ -8029,7 +8039,7 @@
AFS_LIBS="$AFS_LIBS -ldes"
fi
- if test "${cyrus_cv_afs_sigvec+set}" = set; then :
+ if ${cyrus_cv_afs_sigvec+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -8109,7 +8119,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_initialize in -lldap" >&5
$as_echo_n "checking for ldap_initialize in -lldap... " >&6; }
-if test "${ac_cv_lib_ldap_ldap_initialize+set}" = set; then :
+if ${ac_cv_lib_ldap_ldap_initialize+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8143,7 +8153,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_initialize" >&5
$as_echo "$ac_cv_lib_ldap_ldap_initialize" >&6; }
-if test "x$ac_cv_lib_ldap_ldap_initialize" = x""yes; then :
+if test "x$ac_cv_lib_ldap_ldap_initialize" = xyes; then :
$as_echo "#define HAVE_LDAP /**/" >>confdefs.h
@@ -8159,7 +8169,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_initialize in -lldap" >&5
$as_echo_n "checking for ldap_initialize in -lldap... " >&6; }
-if test "${ac_cv_lib_ldap_ldap_initialize+set}" = set; then :
+if ${ac_cv_lib_ldap_ldap_initialize+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8193,7 +8203,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_initialize" >&5
$as_echo "$ac_cv_lib_ldap_ldap_initialize" >&6; }
-if test "x$ac_cv_lib_ldap_ldap_initialize" = x""yes; then :
+if test "x$ac_cv_lib_ldap_ldap_initialize" = xyes; then :
$as_echo "#define HAVE_LDAP /**/" >>confdefs.h
@@ -8259,7 +8269,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_search in -lresolv" >&5
$as_echo_n "checking for res_search in -lresolv... " >&6; }
-if test "${ac_cv_lib_resolv_res_search+set}" = set; then :
+if ${ac_cv_lib_resolv_res_search+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8293,7 +8303,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_search" >&5
$as_echo "$ac_cv_lib_resolv_res_search" >&6; }
-if test "x$ac_cv_lib_resolv_res_search" = x""yes; then :
+if test "x$ac_cv_lib_resolv_res_search" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBRESOLV 1
_ACEOF
@@ -8319,7 +8329,7 @@
if test "$with_krbdes" = "yes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for des_ecb_encrypt in -ldes" >&5
$as_echo_n "checking for des_ecb_encrypt in -ldes... " >&6; }
-if test "${ac_cv_lib_des_des_ecb_encrypt+set}" = set; then :
+if ${ac_cv_lib_des_des_ecb_encrypt+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8353,7 +8363,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_des_des_ecb_encrypt" >&5
$as_echo "$ac_cv_lib_des_des_ecb_encrypt" >&6; }
-if test "x$ac_cv_lib_des_des_ecb_encrypt" = x""yes; then :
+if test "x$ac_cv_lib_des_des_ecb_encrypt" = xyes; then :
if test "$with_statickrb" = "yes"; then
KRB_LIBS="$with_krb/lib/libdes.a"
else
@@ -8369,7 +8379,7 @@
if test -d ${with_krb}; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Kerberos includes" >&5
$as_echo_n "checking for Kerberos includes... " >&6; }
-if test "${cyrus_cv_krbinclude+set}" = set; then :
+if ${cyrus_cv_krbinclude+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -8406,11 +8416,11 @@
if test "$with_des" != no; then
ac_fn_c_check_header_mongrel "$LINENO" "krb.h" "ac_cv_header_krb_h" "$ac_includes_default"
-if test "x$ac_cv_header_krb_h" = x""yes; then :
+if test "x$ac_cv_header_krb_h" = xyes; then :
as_ac_Lib=`$as_echo "ac_cv_lib_${KRBLIB}''_krb_mk_priv" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb_mk_priv in -l${KRBLIB}" >&5
$as_echo_n "checking for krb_mk_priv in -l${KRBLIB}... " >&6; }
-if eval "test \"\${$as_ac_Lib+set}\"" = set; then :
+if eval \${$as_ac_Lib+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8495,7 +8505,7 @@
LIB_RSAREF=""
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for RSAPublicEncrypt in -lrsaref" >&5
$as_echo_n "checking for RSAPublicEncrypt in -lrsaref... " >&6; }
-if test "${ac_cv_lib_rsaref_RSAPublicEncrypt+set}" = set; then :
+if ${ac_cv_lib_rsaref_RSAPublicEncrypt+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8529,7 +8539,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rsaref_RSAPublicEncrypt" >&5
$as_echo "$ac_cv_lib_rsaref_RSAPublicEncrypt" >&6; }
-if test "x$ac_cv_lib_rsaref_RSAPublicEncrypt" = x""yes; then :
+if test "x$ac_cv_lib_rsaref_RSAPublicEncrypt" = xyes; then :
LIB_RSAREF="-lRSAglue -lrsaref"; cmu_have_rsaref=yes
else
cmu_have_rsaref=no
@@ -8539,7 +8549,7 @@
with_openssl="yes"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BIO_accept in -lcrypto" >&5
$as_echo_n "checking for BIO_accept in -lcrypto... " >&6; }
-if test "${ac_cv_lib_crypto_BIO_accept+set}" = set; then :
+if ${ac_cv_lib_crypto_BIO_accept+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8573,7 +8583,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_BIO_accept" >&5
$as_echo "$ac_cv_lib_crypto_BIO_accept" >&6; }
-if test "x$ac_cv_lib_crypto_BIO_accept" = x""yes; then :
+if test "x$ac_cv_lib_crypto_BIO_accept" = xyes; then :
LIBS="-lcrypto $LIB_RSAREF ${LIBS}"
else
with_openssl="no"
@@ -8581,7 +8591,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL_CTX_new in -lssl" >&5
$as_echo_n "checking for SSL_CTX_new in -lssl... " >&6; }
-if test "${ac_cv_lib_ssl_SSL_CTX_new+set}" = set; then :
+if ${ac_cv_lib_ssl_SSL_CTX_new+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8615,7 +8625,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ssl_SSL_CTX_new" >&5
$as_echo "$ac_cv_lib_ssl_SSL_CTX_new" >&6; }
-if test "x$ac_cv_lib_ssl_SSL_CTX_new" = x""yes; then :
+if test "x$ac_cv_lib_ssl_SSL_CTX_new" = xyes; then :
LIBS="-lssl ${LIBS}"
else
with_openssl="no"
@@ -8695,7 +8705,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
$as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
+if ${ac_cv_sizeof_long+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
@@ -8705,7 +8715,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (long)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long=0
fi
@@ -8724,7 +8734,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what directory libraries are found in" >&5
$as_echo_n "checking what directory libraries are found in... " >&6; }
-if test "${ac_cv_cmu_lib_subdir+set}" = set; then :
+if ${ac_cv_cmu_lib_subdir+:} false; then :
$as_echo_n "(cached) " >&6
else
test "X$with_lib_subdir" = "Xyes" && with_lib_subdir=
@@ -8778,11 +8788,11 @@
with_zlib="no";;
*)
ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_zlib_h" = x""yes; then :
+if test "x$ac_cv_header_zlib_h" = xyes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflate in -lz" >&5
$as_echo_n "checking for deflate in -lz... " >&6; }
-if test "${ac_cv_lib_z_deflate+set}" = set; then :
+if ${ac_cv_lib_z_deflate+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8816,7 +8826,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflate" >&5
$as_echo "$ac_cv_lib_z_deflate" >&6; }
-if test "x$ac_cv_lib_z_deflate" = x""yes; then :
+if test "x$ac_cv_lib_z_deflate" = xyes; then :
LIBS="${LIBS} -lz"; with_zlib="yes"
else
with_zlib="no"
@@ -8865,7 +8875,7 @@
no) true;;
""|yes) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZInitialize in -lzephyr" >&5
$as_echo_n "checking for ZInitialize in -lzephyr... " >&6; }
-if test "${ac_cv_lib_zephyr_ZInitialize+set}" = set; then :
+if ${ac_cv_lib_zephyr_ZInitialize+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8899,7 +8909,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zephyr_ZInitialize" >&5
$as_echo "$ac_cv_lib_zephyr_ZInitialize" >&6; }
-if test "x$ac_cv_lib_zephyr_ZInitialize" = x""yes; then :
+if test "x$ac_cv_lib_zephyr_ZInitialize" = xyes; then :
ZEPHYR_LIBS="-lzephyr"
else
with_zephyr="no"
@@ -8966,7 +8976,7 @@
for ac_header in sys/sockio.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "sys/sockio.h" "ac_cv_header_sys_sockio_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_sockio_h" = x""yes; then :
+if test "x$ac_cv_header_sys_sockio_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_SYS_SOCKIO_H 1
_ACEOF
@@ -8999,7 +9009,7 @@
# no value supplied
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for com_err in -lcom_err" >&5
$as_echo_n "checking for com_err in -lcom_err... " >&6; }
-if test "${ac_cv_lib_com_err_com_err+set}" = set; then :
+if ${ac_cv_lib_com_err_com_err+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9033,20 +9043,20 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_com_err_com_err" >&5
$as_echo "$ac_cv_lib_com_err_com_err" >&6; }
-if test "x$ac_cv_lib_com_err_com_err" = x""yes; then :
+if test "x$ac_cv_lib_com_err_com_err" = xyes; then :
# com_err is already in library path
# guess we're okay
# can use system com_err
with_com_err=""
ac_fn_c_check_header_mongrel "$LINENO" "et/com_err.h" "ac_cv_header_et_com_err_h" "$ac_includes_default"
-if test "x$ac_cv_header_et_com_err_h" = x""yes; then :
+if test "x$ac_cv_header_et_com_err_h" = xyes; then :
$as_echo "#define HAVE_ET_COM_ERR_H /**/" >>confdefs.h
else
ac_fn_c_check_header_mongrel "$LINENO" "com_err.h" "ac_cv_header_com_err_h" "$ac_includes_default"
-if test "x$ac_cv_header_com_err_h" = x""yes; then :
+if test "x$ac_cv_header_com_err_h" = xyes; then :
else
as_fn_error $? "cannot locate com_err.h" "$LINENO" 5
@@ -9060,7 +9070,7 @@
set dummy compile_et; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_COMPILE_ET+set}" = set; then :
+if ${ac_cv_path_COMPILE_ET+:} false; then :
$as_echo_n "(cached) " >&6
else
case $COMPILE_ET in
@@ -9106,7 +9116,7 @@
set dummy /usr/local/bin/compile_et; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_COMPILE_ET+set}" = set; then :
+if ${ac_cv_path_COMPILE_ET+:} false; then :
$as_echo_n "(cached) " >&6
else
case $COMPILE_ET in
@@ -9149,7 +9159,7 @@
set dummy /usr/bin/compile_et; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_COMPILE_ET+set}" = set; then :
+if ${ac_cv_path_COMPILE_ET+:} false; then :
$as_echo_n "(cached) " >&6
else
case $COMPILE_ET in
@@ -9242,7 +9252,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for modern syslog" >&5
$as_echo_n "checking for modern syslog... " >&6; }
-if test "${cyrus_cv_lib_syslog+set}" = set; then :
+if ${cyrus_cv_lib_syslog+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9289,7 +9299,7 @@
$as_echo "$SYSLOG_FACILITY" >&6; }
ac_fn_c_check_func "$LINENO" "getdtablesize" "ac_cv_func_getdtablesize"
-if test "x$ac_cv_func_getdtablesize" = x""yes; then :
+if test "x$ac_cv_func_getdtablesize" = xyes; then :
$as_echo "#define HAVE_GETDTABLESIZE 1" >>confdefs.h
else
@@ -9342,12 +9352,12 @@
ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9381,7 +9391,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBDL 1
_ACEOF
@@ -9393,12 +9403,12 @@
fi
ac_fn_c_check_func "$LINENO" "crypt" "ac_cv_func_crypt"
-if test "x$ac_cv_func_crypt" = x""yes; then :
+if test "x$ac_cv_func_crypt" = xyes; then :
cmu_have_crypt=yes
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
$as_echo_n "checking for crypt in -lcrypt... " >&6; }
-if test "${ac_cv_lib_crypt_crypt+set}" = set; then :
+if ${ac_cv_lib_crypt_crypt+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9432,7 +9442,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
-if test "x$ac_cv_lib_crypt_crypt" = x""yes; then :
+if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
LIB_CRYPT="-lcrypt"; cmu_have_crypt=yes
else
cmu_have_crypt=no
@@ -9509,11 +9519,11 @@
fi
fi
ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
-if test "x$ac_cv_header_gssapi_h" = x""yes; then :
+if test "x$ac_cv_header_gssapi_h" = xyes; then :
else
ac_fn_c_check_header_mongrel "$LINENO" "gssapi/gssapi.h" "ac_cv_header_gssapi_gssapi_h" "$ac_includes_default"
-if test "x$ac_cv_header_gssapi_gssapi_h" = x""yes; then :
+if test "x$ac_cv_header_gssapi_gssapi_h" = xyes; then :
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling GSSAPI - no include files found" >&5
@@ -9546,7 +9556,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_search in -lresolv" >&5
$as_echo_n "checking for res_search in -lresolv... " >&6; }
-if test "${ac_cv_lib_resolv_res_search+set}" = set; then :
+if ${ac_cv_lib_resolv_res_search+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9580,7 +9590,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_search" >&5
$as_echo "$ac_cv_lib_resolv_res_search" >&6; }
-if test "x$ac_cv_lib_resolv_res_search" = x""yes; then :
+if test "x$ac_cv_lib_resolv_res_search" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBRESOLV 1
_ACEOF
@@ -9608,7 +9618,7 @@
gss_failed=0
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_unwrap in -lgssapi" >&5
$as_echo_n "checking for gss_unwrap in -lgssapi... " >&6; }
-if test "${ac_cv_lib_gssapi_gss_unwrap+set}" = set; then :
+if ${ac_cv_lib_gssapi_gss_unwrap+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9642,7 +9652,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_gss_unwrap" >&5
$as_echo "$ac_cv_lib_gssapi_gss_unwrap" >&6; }
-if test "x$ac_cv_lib_gssapi_gss_unwrap" = x""yes; then :
+if test "x$ac_cv_lib_gssapi_gss_unwrap" = xyes; then :
gss_impl="heimdal"
else
gss_failed=1
@@ -9657,7 +9667,7 @@
# check for libkrb5support first
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb5int_getspecific in -lkrb5support" >&5
$as_echo_n "checking for krb5int_getspecific in -lkrb5support... " >&6; }
-if test "${ac_cv_lib_krb5support_krb5int_getspecific+set}" = set; then :
+if ${ac_cv_lib_krb5support_krb5int_getspecific+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9691,7 +9701,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_krb5support_krb5int_getspecific" >&5
$as_echo "$ac_cv_lib_krb5support_krb5int_getspecific" >&6; }
-if test "x$ac_cv_lib_krb5support_krb5int_getspecific" = x""yes; then :
+if test "x$ac_cv_lib_krb5support_krb5int_getspecific" = xyes; then :
K5SUP=-lkrb5support K5SUPSTATIC=$gssapi_dir/libkrb5support.a
fi
@@ -9699,7 +9709,7 @@
gss_failed=0
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_unwrap in -lgssapi_krb5" >&5
$as_echo_n "checking for gss_unwrap in -lgssapi_krb5... " >&6; }
-if test "${ac_cv_lib_gssapi_krb5_gss_unwrap+set}" = set; then :
+if ${ac_cv_lib_gssapi_krb5_gss_unwrap+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9733,7 +9743,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_krb5_gss_unwrap" >&5
$as_echo "$ac_cv_lib_gssapi_krb5_gss_unwrap" >&6; }
-if test "x$ac_cv_lib_gssapi_krb5_gss_unwrap" = x""yes; then :
+if test "x$ac_cv_lib_gssapi_krb5_gss_unwrap" = xyes; then :
gss_impl="mit"
else
gss_failed=1
@@ -9766,7 +9776,7 @@
unset ac_cv_lib_gss_csf_gss_acq_user
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for csf_gss_acq_user in -lgss" >&5
$as_echo_n "checking for csf_gss_acq_user in -lgss... " >&6; }
-if test "${ac_cv_lib_gss_csf_gss_acq_user+set}" = set; then :
+if ${ac_cv_lib_gss_csf_gss_acq_user+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9800,13 +9810,13 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gss_csf_gss_acq_user" >&5
$as_echo "$ac_cv_lib_gss_csf_gss_acq_user" >&6; }
-if test "x$ac_cv_lib_gss_csf_gss_acq_user" = x""yes; then :
+if test "x$ac_cv_lib_gss_csf_gss_acq_user" = xyes; then :
gss_impl="cybersafe03"
else
unset ac_cv_lib_gss_csf_gss_acq_user;
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for csf_gss_acq_user in -lgss" >&5
$as_echo_n "checking for csf_gss_acq_user in -lgss... " >&6; }
-if test "${ac_cv_lib_gss_csf_gss_acq_user+set}" = set; then :
+if ${ac_cv_lib_gss_csf_gss_acq_user+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9840,7 +9850,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gss_csf_gss_acq_user" >&5
$as_echo "$ac_cv_lib_gss_csf_gss_acq_user" >&6; }
-if test "x$ac_cv_lib_gss_csf_gss_acq_user" = x""yes; then :
+if test "x$ac_cv_lib_gss_csf_gss_acq_user" = xyes; then :
gss_impl="cybersafe"
else
gss_failed=1
@@ -9864,7 +9874,7 @@
gss_failed=0
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_unwrap in -lgss" >&5
$as_echo_n "checking for gss_unwrap in -lgss... " >&6; }
-if test "${ac_cv_lib_gss_gss_unwrap+set}" = set; then :
+if ${ac_cv_lib_gss_gss_unwrap+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9898,7 +9908,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gss_gss_unwrap" >&5
$as_echo "$ac_cv_lib_gss_gss_unwrap" >&6; }
-if test "x$ac_cv_lib_gss_gss_unwrap" = x""yes; then :
+if test "x$ac_cv_lib_gss_gss_unwrap" = xyes; then :
gss_impl="seam"
else
gss_failed=1
@@ -10059,7 +10069,7 @@
$as_echo "with implementation ${gss_impl}" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_search in -lresolv" >&5
$as_echo_n "checking for res_search in -lresolv... " >&6; }
-if test "${ac_cv_lib_resolv_res_search+set}" = set; then :
+if ${ac_cv_lib_resolv_res_search+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10093,7 +10103,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_search" >&5
$as_echo "$ac_cv_lib_resolv_res_search" >&6; }
-if test "x$ac_cv_lib_resolv_res_search" = x""yes; then :
+if test "x$ac_cv_lib_resolv_res_search" = xyes; then :
GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lresolv"
fi
@@ -10106,7 +10116,7 @@
for ac_func in gsskrb5_register_acceptor_identity
do :
ac_fn_c_check_func "$LINENO" "gsskrb5_register_acceptor_identity" "ac_cv_func_gsskrb5_register_acceptor_identity"
-if test "x$ac_cv_func_gsskrb5_register_acceptor_identity" = x""yes; then :
+if test "x$ac_cv_func_gsskrb5_register_acceptor_identity" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY 1
_ACEOF
@@ -10171,9 +10181,9 @@
fi
ac_fn_c_check_header_mongrel "$LINENO" "sasl/sasl.h" "ac_cv_header_sasl_sasl_h" "$ac_includes_default"
-if test "x$ac_cv_header_sasl_sasl_h" = x""yes; then :
+if test "x$ac_cv_header_sasl_sasl_h" = xyes; then :
ac_fn_c_check_header_mongrel "$LINENO" "sasl/saslutil.h" "ac_cv_header_sasl_saslutil_h" "$ac_includes_default"
-if test "x$ac_cv_header_sasl_saslutil_h" = x""yes; then :
+if test "x$ac_cv_header_sasl_saslutil_h" = xyes; then :
for i42 in lib64 lib; do
if test -r ${with_staticsasl}/$i42/libsasl2.a; then
ac_cv_found_sasl=yes
@@ -10227,12 +10237,12 @@
# be sure to check for a SASLv2 specific function
ac_fn_c_check_header_mongrel "$LINENO" "sasl/sasl.h" "ac_cv_header_sasl_sasl_h" "$ac_includes_default"
-if test "x$ac_cv_header_sasl_sasl_h" = x""yes; then :
+if test "x$ac_cv_header_sasl_sasl_h" = xyes; then :
ac_fn_c_check_header_mongrel "$LINENO" "sasl/saslutil.h" "ac_cv_header_sasl_saslutil_h" "$ac_includes_default"
-if test "x$ac_cv_header_sasl_saslutil_h" = x""yes; then :
+if test "x$ac_cv_header_sasl_saslutil_h" = xyes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for prop_get in -lsasl2" >&5
$as_echo_n "checking for prop_get in -lsasl2... " >&6; }
-if test "${ac_cv_lib_sasl2_prop_get+set}" = set; then :
+if ${ac_cv_lib_sasl2_prop_get+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10266,7 +10276,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sasl2_prop_get" >&5
$as_echo "$ac_cv_lib_sasl2_prop_get" >&6; }
-if test "x$ac_cv_lib_sasl2_prop_get" = x""yes; then :
+if test "x$ac_cv_lib_sasl2_prop_get" = xyes; then :
ac_cv_found_sasl=yes
else
ac_cv_found_sasl=no
@@ -10366,7 +10376,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sasl_checkapop in -lsasl2" >&5
$as_echo_n "checking for sasl_checkapop in -lsasl2... " >&6; }
-if test "${ac_cv_lib_sasl2_sasl_checkapop+set}" = set; then :
+if ${ac_cv_lib_sasl2_sasl_checkapop+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10400,7 +10410,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sasl2_sasl_checkapop" >&5
$as_echo "$ac_cv_lib_sasl2_sasl_checkapop" >&6; }
-if test "x$ac_cv_lib_sasl2_sasl_checkapop" = x""yes; then :
+if test "x$ac_cv_lib_sasl2_sasl_checkapop" = xyes; then :
$as_echo "#define HAVE_APOP /**/" >>confdefs.h
@@ -10436,7 +10446,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_PERL+set}" = set; then :
+if ${ac_cv_prog_PERL+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$PERL"; then
@@ -10483,7 +10493,7 @@
PERL_SUBDIRS="imap"
PERL="${with_perl}"
case "${target_os}" in
- linux*|netbsd*)
+ linux*|netbsd*|freebsd*|dragonfly*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl cccdlflags needed on \"${target_os}\"" >&5
$as_echo_n "checking for perl cccdlflags needed on \"${target_os}\"... " >&6; }
eval `${PERL} -V:cccdlflags`
@@ -10531,7 +10541,7 @@
cmu_save_LIBS="$LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for request_init in -lwrap" >&5
$as_echo_n "checking for request_init in -lwrap... " >&6; }
-if test "${ac_cv_lib_wrap_request_init+set}" = set; then :
+if ${ac_cv_lib_wrap_request_init+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10565,10 +10575,10 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_wrap_request_init" >&5
$as_echo "$ac_cv_lib_wrap_request_init" >&6; }
-if test "x$ac_cv_lib_wrap_request_init" = x""yes; then :
+if test "x$ac_cv_lib_wrap_request_init" = xyes; then :
ac_fn_c_check_header_mongrel "$LINENO" "tcpd.h" "ac_cv_header_tcpd_h" "$ac_includes_default"
-if test "x$ac_cv_header_tcpd_h" = x""yes; then :
+if test "x$ac_cv_header_tcpd_h" = xyes; then :
else
with_libwrap=no
@@ -10593,7 +10603,7 @@
LIB_WRAP="-lwrap"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for yp_get_default_domain in -lnsl" >&5
$as_echo_n "checking for yp_get_default_domain in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_yp_get_default_domain+set}" = set; then :
+if ${ac_cv_lib_nsl_yp_get_default_domain+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10627,7 +10637,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_yp_get_default_domain" >&5
$as_echo "$ac_cv_lib_nsl_yp_get_default_domain" >&6; }
-if test "x$ac_cv_lib_nsl_yp_get_default_domain" = x""yes; then :
+if test "x$ac_cv_lib_nsl_yp_get_default_domain" = xyes; then :
LIB_WRAP="${LIB_WRAP} -lnsl"
fi
@@ -10660,7 +10670,7 @@
set dummy net-snmp-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_SNMP_CONFIG+set}" = set; then :
+if ${ac_cv_path_SNMP_CONFIG+:} false; then :
$as_echo_n "(cached) " >&6
else
case $SNMP_CONFIG in
@@ -10720,7 +10730,7 @@
for ac_header in net-snmp/agent/agent_module_config.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "net-snmp/agent/agent_module_config.h" "ac_cv_header_net_snmp_agent_agent_module_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_net_snmp_agent_agent_module_config_h" = x""yes; then :
+if test "x$ac_cv_header_net_snmp_agent_agent_module_config_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_NET_SNMP_AGENT_AGENT_MODULE_CONFIG_H 1
_ACEOF
@@ -10744,7 +10754,7 @@
cmu_save_LIBS="$LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sprint_objid in -lsnmp" >&5
$as_echo_n "checking for sprint_objid in -lsnmp... " >&6; }
-if test "${ac_cv_lib_snmp_sprint_objid+set}" = set; then :
+if ${ac_cv_lib_snmp_sprint_objid+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10778,10 +10788,10 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_snmp_sprint_objid" >&5
$as_echo "$ac_cv_lib_snmp_sprint_objid" >&6; }
-if test "x$ac_cv_lib_snmp_sprint_objid" = x""yes; then :
+if test "x$ac_cv_lib_snmp_sprint_objid" = xyes; then :
ac_fn_c_check_header_mongrel "$LINENO" "ucd-snmp/version.h" "ac_cv_header_ucd_snmp_version_h" "$ac_includes_default"
-if test "x$ac_cv_header_ucd_snmp_version_h" = x""yes; then :
+if test "x$ac_cv_header_ucd_snmp_version_h" = xyes; then :
else
with_snmp=no
@@ -10806,7 +10816,7 @@
LIB_UCDSNMP="-lucdagent -lucdmibs -lsnmp"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rpmdbOpen in -lrpm" >&5
$as_echo_n "checking for rpmdbOpen in -lrpm... " >&6; }
-if test "${ac_cv_lib_rpm_rpmdbOpen+set}" = set; then :
+if ${ac_cv_lib_rpm_rpmdbOpen+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -10840,7 +10850,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rpm_rpmdbOpen" >&5
$as_echo "$ac_cv_lib_rpm_rpmdbOpen" >&6; }
-if test "x$ac_cv_lib_rpm_rpmdbOpen" = x""yes; then :
+if test "x$ac_cv_lib_rpm_rpmdbOpen" = xyes; then :
LIB_UCDSNMP="${LIB_UCDSNMP} -lrpm -lpopt"
fi
@@ -10962,10 +10972,21 @@
: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" &&
+ if test "x$cache_file" != "x/dev/null"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
- cat confcache >$cache_file
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -10998,7 +11019,7 @@
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -11099,6 +11120,7 @@
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -11406,7 +11428,7 @@
# values after options handling.
ac_log="
This file was extended by $as_me, which was
-generated by GNU Autoconf 2.67. Invocation command line was
+generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -11468,7 +11490,7 @@
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.67,
+configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -11601,7 +11623,7 @@
"$EXTRA_OUTPUT") CONFIG_FILES="$CONFIG_FILES $EXTRA_OUTPUT" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
done
@@ -11623,9 +11645,10 @@
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- tmp=
+ tmp= ac_tmp=
trap 'exit_status=$?
- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
' 0
trap 'as_fn_exit 1' 1 2 13 15
}
@@ -11633,12 +11656,13 @@
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
+ test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
@@ -11660,7 +11684,7 @@
ac_cs_awk_cr=$ac_cr
fi
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF
@@ -11688,7 +11712,7 @@
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
@@ -11736,7 +11760,7 @@
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1
FS = ""
@@ -11768,7 +11792,7 @@
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
@@ -11802,7 +11826,7 @@
# No need to generate them if there are no CONFIG_HEADERS.
# This happens for instance with `./config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
BEGIN {
_ACEOF
@@ -11814,8 +11838,8 @@
# handling of long lines.
ac_delim='%!_!# '
for ac_last_try in false false :; do
- ac_t=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_t"; then
+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
break
elif $ac_last_try; then
as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
@@ -11916,7 +11940,7 @@
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
@@ -11935,7 +11959,7 @@
for ac_f
do
case $ac_f in
- -) ac_f="$tmp/stdin";;
+ -) ac_f="$ac_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 `:'.
@@ -11944,7 +11968,7 @@
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
@@ -11970,8 +11994,8 @@
esac
case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
@@ -12101,21 +12125,22 @@
s&@INSTALL@&$ac_INSTALL&;t t
$ac_datarootdir_hack
"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
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"; } &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&5
$as_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"
+ rm -f "$ac_tmp/stdin"
case $ac_file in
- -) cat "$tmp/out" && rm -f "$tmp/out";;
- *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
esac \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
@@ -12126,20 +12151,20 @@
if test x"$ac_file" != x-; then
{
$as_echo "/* $configure_input */" \
- && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
- } >"$tmp/config.h" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
rm -f "$ac_file"
- mv "$tmp/config.h" "$ac_file" \
+ mv "$ac_tmp/config.h" "$ac_file" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
fi
else
$as_echo "/* $configure_input */" \
- && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
|| as_fn_error $? "could not create -" "$LINENO" 5
fi
;;
diff -Nru cyrus-imapd-2.4-2.4.9/configure.in cyrus-imapd-2.4-2.4.12/configure.in
--- cyrus-imapd-2.4-2.4.9/configure.in 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/configure.in 2011-10-04 19:53:03.000000000 +0000
@@ -403,7 +403,7 @@
if test "$testpcre" != "no"; then
AC_CHECK_HEADER(pcreposix.h)
- if test "$ac_cv_header_pcreposix_h" == "yes"; then
+ if test "$ac_cv_header_pcreposix_h" = "yes"; then
AC_MSG_CHECKING(for utf8 enabled pcre)
AC_CACHE_VAL(cyrus_cv_pcre_utf8, AC_TRY_CPP([#include
#ifndef REG_UTF8
@@ -415,13 +415,13 @@
fi
fi
- if test "$cyrus_cv_pcre_utf8" == "yes"; then
+ if test "$cyrus_cv_pcre_utf8" = "yes"; then
LIBS="$LIBS -lpcre -lpcreposix";
AC_DEFINE(ENABLE_REGEX, [], [Do we have a regex library?])
AC_DEFINE(HAVE_PCREPOSIX_H, [], [Do we have usable pcre library?])
else
AC_CHECK_HEADERS(rxposix.h)
- if test "$ac_cv_header_rxposix_h" == "yes"; then
+ if test "$ac_cv_header_rxposix_h" = "yes"; then
LIBS="$LIBS -lrx"
AC_DEFINE(ENABLE_REGEX, [],
[Do we have a regex library?])
@@ -1171,7 +1171,7 @@
dnl libraries will be compiled as PIC if perl requires PIC objects
dnl -- this is needed on NetBSD and Linux, but seems to cause problems on atleast Solaris --
case "${target_os}" in
- linux*|netbsd*)
+ linux*|netbsd*|freebsd*|dragonfly*)
AC_MSG_CHECKING(for perl cccdlflags needed on "${target_os}")
eval `${PERL} -V:cccdlflags`
PERL_CCCDLFLAGS="$cccdlflags"
diff -Nru cyrus-imapd-2.4-2.4.9/debian/changelog cyrus-imapd-2.4-2.4.12/debian/changelog
--- cyrus-imapd-2.4-2.4.9/debian/changelog 2011-06-22 07:14:09.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/debian/changelog 2011-10-06 19:53:48.000000000 +0000
@@ -1,3 +1,30 @@
+cyrus-imapd-2.4 (2.4.12-2) unstable; urgency=low
+
+ * Add versioned conflicts with *-2.2 (Closes: 644503)
+
+ -- Ondřej Surý Thu, 06 Oct 2011 21:53:28 +0200
+
+cyrus-imapd-2.4 (2.4.12-1) unstable; urgency=low
+
+ * Optimize cyrus-makedirs finds that chown incorrect permissions in
+ the spool
+ * Imported Upstream version 2.4.12
+
+ -- Ondřej Surý Wed, 05 Oct 2011 09:39:35 +0200
+
+cyrus-imapd-2.4 (2.4.11-1) unstable; urgency=low
+
+ * Imported Upstream version 2.4.11
+ * Adapt patches to the new release
+ * Fix Vcs-* Links
+ * Use kfreebsd-any (Closes: #634693)
+ * Move proc and lock directories to /run and clean them on restart
+ (Closes: #629609)
+ * Obsolete cyrus-imapd-2.2; it's no longer maintained upstream
+ * Install docs for transitional packages
+
+ -- Ondřej Surý Mon, 26 Sep 2011 10:43:13 +0200
+
cyrus-imapd-2.4 (2.4.9-1) unstable; urgency=low
* Imported Upstream version 2.4.9
diff -Nru cyrus-imapd-2.4-2.4.9/debian/control cyrus-imapd-2.4-2.4.12/debian/control
--- cyrus-imapd-2.4-2.4.9/debian/control 2011-06-22 07:14:09.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/debian/control 2011-10-06 19:53:48.000000000 +0000
@@ -20,7 +20,7 @@
groff,
hardening-wrapper,
libdb-dev,
- libkvm-dev [kfreebsd-i386 kfreebsd-amd64],
+ libkvm-dev [kfreebsd-any],
libldap2-dev,
libpam0g-dev,
libsasl2-dev (>= 2.1.9),
@@ -34,8 +34,8 @@
quilt (>> 0.46-7~),
transfig,
xutils-dev
-Vcs-Git: git://git.debian.org/pkg-cyrus-imapd/pkg-cyrus-imapd-2.4.git
-Vcs-Browser: http://git.debian.org/?p=pkg-cyrus-imapd/pkg-cyrus-imapd-2.4.git
+Vcs-Git: git://git.debian.org/pkg-cyrus-imapd/cyrus-imapd-2.4.git
+Vcs-Browser: http://git.debian.org/?p=pkg-cyrus-imapd/cyrus-imapd-2.4.git
Homepage: http://www.cyrusimap.org/
Package: cyrus-common-2.4
@@ -45,8 +45,8 @@
Recommends: cyrus-imapd-2.4 | cyrus-pop3d-2.4 | cyrus-murder-2.4 | cyrus-nntpd-2.4 | cyrus-admin-2.4
Suggests: cyrus-clients-2.4, cyrus-admin-2.4, cyrus-imapd-2.4, cyrus-pop3d-2.4, cyrus-murder-2.4, cyrus-replication-2.4, cyrus-nntpd-2.4, cyrus-doc-2.4, sasl2-bin, apt-listchanges (>= 2.35)
Provides: cyrus-common-2.2, cyrus-common-2.3
-Conflicts: cyrus-common (<< ${source:Version}), suidmanager (<< 0.50), cyrus-common-2.2, cyrus-common-2.3
-Replaces: cyrus-common-2.2, cyrus-common-2.3
+Conflicts: cyrus-common (<< ${source:Version}), suidmanager (<< 0.50), cyrus-common-2.2 (<< 2.4), cyrus-common-2.3
+Replaces: cyrus-common-2.2 (<< 2.4), cyrus-common-2.3
Description: Cyrus mail system - common files
Cyrus is an IMAP server designed to handle massive quantities of mail,
with a number of features not found in other IMAP implementations,
@@ -76,8 +76,8 @@
Section: doc
Depends: ${misc:Depends}
Provides: cyrus-doc, cyrus-doc-2.2, cyrus-doc-2.3
-Conflicts: cyrus-doc (<< ${source:Version}), cyrus-doc-2.2, cyrus-doc-2.3
-Replaces: cyrus-doc (<< ${source:Version}), cyrus-doc-2.2, cyrus-doc-2.3
+Conflicts: cyrus-doc (<< ${source:Version}), cyrus-doc-2.2 (<< 2.4), cyrus-doc-2.3
+Replaces: cyrus-doc (<< ${source:Version}), cyrus-doc-2.2 (<< 2.4), cyrus-doc-2.3
Description: Cyrus mail system - documentation files
Cyrus is an IMAP server designed to handle massive quantities of mail,
with a number of features not found in other IMAP implementations,
@@ -101,8 +101,8 @@
Section: mail
Depends: cyrus-common-2.4 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Provides: cyrus-imapd, imap-server, cyrus-imapd-2.2, cyrus-imapd-2.3
-Conflicts: cyrus-imapd (<< ${source:Version}), imap-server, cyrus-imapd-2.2, cyrus-imapd-2.3
-Replaces: cyrus-imapd (<< ${source:Version}), cyrus-imapd-2.2, cyrus-imapd-2.3, cyrus-common-2.4 (<< 2.4.8-6)
+Conflicts: cyrus-imapd (<< ${source:Version}), imap-server, cyrus-imapd-2.2 (<< 2.4), cyrus-imapd-2.3
+Replaces: cyrus-imapd (<< ${source:Version}), cyrus-imapd-2.2 (<< 2.4), cyrus-imapd-2.3, cyrus-common-2.4 (<< 2.4.8-6)
Breaks: cyrus-common (<< 2.4.8-6)
Description: Cyrus mail system - IMAP support
Cyrus is an IMAP server designed to handle massive quantities of mail,
@@ -128,8 +128,8 @@
Section: mail
Depends: cyrus-common-2.4 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Provides: cyrus-pop3d, pop3-server, cyrus-pop3d-2.2, cyrus-pop3d-2.3
-Conflicts: cyrus-pop3d (<< ${source:Version}), pop3-server, cyrus-pop3d-2.2, cyrus-pop3d-2.3
-Replaces: cyrus-pop3d (<< ${source:Version}), cyrus-pop3d-2.2, cyrus-pop3d-2.3
+Conflicts: cyrus-pop3d (<< ${source:Version}), pop3-server, cyrus-pop3d-2.2 (<< 2.4), cyrus-pop3d-2.3
+Replaces: cyrus-pop3d (<< ${source:Version}), cyrus-pop3d-2.2 (<< 2.4), cyrus-pop3d-2.3
Description: Cyrus mail system - POP3 support
Cyrus is an IMAP server designed to handle massive quantities of mail,
with a number of features not found in other IMAP implementations,
@@ -155,8 +155,8 @@
Depends: libcyrus-imap-perl24 (>= ${binary:Version}), ${misc:Depends}
Suggests: sasl2-bin
Provides: cyrus-admin, cyrus-admin-2.2, cyrus-admin-2.3
-Conflicts: cyrus-admin (<< ${source:Version}), cyrus-admin-2.2, cyrus-admin-2.3
-Replaces: cyrus-admin (<< ${source:Version}), cyrus-admin-2.2, cyrus-admin-2.3
+Conflicts: cyrus-admin (<< ${source:Version}), cyrus-admin-2.2 (<< 2.4), cyrus-admin-2.3
+Replaces: cyrus-admin (<< ${source:Version}), cyrus-admin-2.2 (<< 2.4), cyrus-admin-2.3
Description: Cyrus mail system - administration tools
This package provides the administrative tools for the Cyrus IMAPd suite.
It contains the cyradm tool which can be used to administer
@@ -172,8 +172,8 @@
Depends: cyrus-common-2.4 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Recommends: cyrus-imapd-2.4 (= ${binary:Version}), cyrus-pop3d-2.4 (= ${binary:Version})
Provides: cyrus-murder, cyrus21-murder, cyrus22-murder, cyrus-murder-2.2, cyrus-murder-2.3
-Conflicts: cyrus-murder (<< ${source:Version}), cyrus-murder-2.2, cyrus-murder-2.3
-Replaces: cyrus-murder (<< ${source:Version}), cyrus-murder-2.2, cyrus-murder-2.3
+Conflicts: cyrus-murder (<< ${source:Version}), cyrus-murder-2.2 (<< 2.4), cyrus-murder-2.3
+Replaces: cyrus-murder (<< ${source:Version}), cyrus-murder-2.2 (<< 2.4), cyrus-murder-2.3
Description: Cyrus mail system - proxies and aggregator
This package contains the Cyrus IMAPd suite murder aggregator system,
i.e. IMAP, POP3 and LMTP proxies, and the mupdate mailbox master daemon.
@@ -201,8 +201,8 @@
Section: mail
Depends: cyrus-common-2.4 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Provides: cyrus-nntpd, news-transport-system, cyrus-nntpd-2.2, cyrus-nntpd-2.3
-Conflicts: cyrus-nntpd (<< ${source:Version}), news-transport-system, cyrus-nntpd-2.2, cyrus-nntpd-2.3
-Replaces: cyrus-nntpd (<< ${source:Version}), cyrus-nntpd-2.2, cyrus-nntpd-2.3
+Conflicts: cyrus-nntpd (<< ${source:Version}), news-transport-system, cyrus-nntpd-2.2 (<< 2.4), cyrus-nntpd-2.3
+Replaces: cyrus-nntpd (<< ${source:Version}), cyrus-nntpd-2.2 (<< 2.4), cyrus-nntpd-2.3
Description: Cyrus mail system - NNTP support
This package contains the NNTP (Network News Transfer Protocol) portion of
the Cyrus IMAPd suite.
@@ -214,8 +214,8 @@
Section: mail
Depends: ${shlibs:Depends}, ${misc:Depends}
Provides: cyrus-clients, cyrus-clients-2.2, cyrus-clients-2.3
-Conflicts: cyrus-clients (<< ${source:Version}), cyrus-clients-2.2, cyrus-clients-2.3
-Replaces: cyrus-clients (<< ${source:Version}), cyrus-clients-2.2, cyrus-clients-2.3
+Conflicts: cyrus-clients (<< ${source:Version}), cyrus-clients-2.2 (<< 2.4), cyrus-clients-2.3
+Replaces: cyrus-clients (<< ${source:Version}), cyrus-clients-2.2 (<< 2.4), cyrus-clients-2.3
Description: Cyrus mail system - test clients
This package contains client tools to test the Cyrus IMAPd suite.
It contains the mupdatetest, sivtest, smtptest, lmtptest,
@@ -230,8 +230,8 @@
Section: devel
Depends: libcyrus-imap-perl24 (>= ${binary:Version}), cyrus-common-2.4 (= ${binary:Version}), libsasl2-dev (>= 2.1.9), ${misc:Depends}
Provides: cyrus-dev, cyrus-dev-2.2, cyrus-dev-2.3
-Conflicts: cyrus-dev (<< ${source:Version}), cyrus-dev-2.2, cyrus-dev-2.3, libdb3-dev (<< 3.2.9-15), libdb2-dev (<< 2.7.7.0-6), libdb4.2-dev (<<4.2.52)
-Replaces: cyrus-dev (<< ${source:Version}), cyrus-dev-2.2, cyrus-dev-2.3
+Conflicts: cyrus-dev (<< ${source:Version}), cyrus-dev-2.2 (<< 2.4), cyrus-dev-2.3, libdb3-dev (<< 3.2.9-15), libdb2-dev (<< 2.7.7.0-6), libdb4.2-dev (<<4.2.52)
+Replaces: cyrus-dev (<< ${source:Version}), cyrus-dev-2.2 (<< 2.4), cyrus-dev-2.3
Description: Cyrus mail system - developer files
This package contains header files and the static library needed
to develop IMAP applications that interface with the Cyrus IMAPd suite.
@@ -408,3 +408,84 @@
consider to be in the best shape.
.
For more information, please see the cyrus-common-2.4 package.
+
+Package: cyrus-common-2.2
+Architecture: all
+Section: mail
+Depends: ${misc:Depends}, cyrus-common-2.4
+Description: Transitional package for cyrus-common-2.4
+ This is a transitional package to ease upgrades to the cyrus-common-2.4
+ package. It can safely be removed.
+
+Package: cyrus-doc-2.2
+Architecture: all
+Section: doc
+Depends: ${misc:Depends}, cyrus-doc-2.4
+Description: Transitional package for cyrus-doc-2.4
+ This is a transitional package to ease upgrades to the cyrus-doc-2.4
+ package. It can safely be removed.
+
+Package: cyrus-imapd-2.2
+Architecture: all
+Section: mail
+Depends: ${misc:Depends}, cyrus-imapd-2.4
+Description: Transitional package for cyrus-imapd-2.4
+ This is a transitional package to ease upgrades to the cyrus-imapd-2.4
+ package. It can safely be removed.
+
+Package: cyrus-pop3d-2.2
+Architecture: all
+Section: mail
+Depends: ${misc:Depends}, cyrus-pop3d-2.4
+Description: Transitional package for cyrus-pop3d-2.4
+ This is a transitional package to ease upgrades to the cyrus-pop3d-2.4
+ package. It can safely be removed.
+
+Package: cyrus-admin-2.2
+Architecture: all
+Section: mail
+Depends: ${misc:Depends}, cyrus-admin-2.4
+Description: Transitional package for cyrus-admin-2.4
+ This is a transitional package to ease upgrades to the cyrus-admin-2.4
+ package. It can safely be removed.
+
+Package: cyrus-murder-2.2
+Architecture: all
+Section: mail
+Depends: ${misc:Depends}, cyrus-murder-2.4
+Description: Transitional package for cyrus-murder-2.4
+ This is a transitional package to ease upgrades to the cyrus-murder-2.4
+ package. It can safely be removed.
+
+Package: cyrus-nntpd-2.2
+Architecture: all
+Section: mail
+Depends: ${misc:Depends}, cyrus-nntpd-2.4
+Description: Transitional package for cyrus-nntpd-2.4
+ This is a transitional package to ease upgrades to the cyrus-nntpd-2.4
+ package. It can safely be removed.
+
+Package: cyrus-clients-2.2
+Architecture: all
+Section: mail
+Depends: ${misc:Depends}, cyrus-clients-2.4
+Description: Transitional package for cyrus-clients-2.4
+ This is a transitional package to ease upgrades to the cyrus-clients-2.4
+ package. It can safely be removed.
+
+Package: cyrus-dev-2.2
+Architecture: all
+Section: devel
+Depends: ${misc:Depends}, cyrus-dev-2.4
+Description: Transitional package for cyrus-dev-2.4
+ This is a transitional package to ease upgrades to the cyrus-dev-2.4
+ package. It can safely be removed.
+
+Package: libcyrus-imap-perl22
+Architecture: all
+Section: perl
+Depends: ${misc:Depends}, libcyrus-imap-perl24
+Description: Transitional package for libcyrus-imap-perl24
+ This is a transitional package to ease upgrades to the libcyrus-imap-perl24
+ package. It can safely be removed.
+
diff -Nru cyrus-imapd-2.4-2.4.9/debian/cyrus-common.cyrus-imapd.init cyrus-imapd-2.4-2.4.12/debian/cyrus-common.cyrus-imapd.init
--- cyrus-imapd-2.4-2.4.9/debian/cyrus-common.cyrus-imapd.init 2011-06-22 07:14:09.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/debian/cyrus-common.cyrus-imapd.init 2011-10-06 19:53:48.000000000 +0000
@@ -34,9 +34,6 @@
PIDFILE="/var/run/${NAME}.pid"
DESC="Cyrus IMAPd"
-SYNC_CLIENT=/usr/lib/cyrus/bin/sync_client
-SYNCSHUTDOWN="$([ -r /etc/imapd.conf ] && (grep sync_shutdown_file /etc/imapd.conf|awk '{print $2}'))"
-
# Check if Cyrus is installed (vs. removed but not purged)
test -x "$DAEMON" || exit 0
@@ -56,6 +53,20 @@
[ "x${MASTERCONF}" != "x" ] && OPTIONS="-M ${MASTERCONF} ${OPTIONS}"
[ "x${LISTENQUEUE}" != "x" ] && OPTIONS="-l ${LISTENQUEUE} ${OPTIONS}"
+if [ -n "$CONF" ]; then
+ [ -r "$CONF" ] || ( echo Could not read config file $CONF; exit 1)
+else
+ CONF=/etc/imapd.conf
+fi
+
+SYNC_CLIENT=/usr/lib/cyrus/bin/sync_client
+SYNCSHUTDOWN="$(gawk '/^sync_shutdown_file:[[:blank:]]/ { print $2 }' $CONF)"
+CONFIGDIR="$(gawk '/^configdirectory:[[:blank:]]/ {print $2}' $CONF)"
+LOCK_DIR="$(gawk '/^mboxname_lockpath:[[:blank:]]/ {print $2}' $CONF)"
+PROC_DIR="$(gawk '/^proc_path:[[:blank:]]/ {print $2}' $CONF)"
+[ -z "$LOCK_DIR" ] && LOCK_DIR="$CONFIGDIR/lock"
+[ -z "$PROC_DIR" ] && PROC_DIR="$CONFIGDIR/proc"
+
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
@@ -132,6 +143,11 @@
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
+
+ # Clean stale entries
+ find "$LOCK_DIR" -mindepth 1 -depth -size 0 # -delete
+ find "$PROC_DIR" -mindepth 1 -depth -name '[0-9]*' # -delete
+
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
|| return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
diff -Nru cyrus-imapd-2.4-2.4.9/debian/cyrus-common.postinst cyrus-imapd-2.4-2.4.12/debian/cyrus-common.postinst
--- cyrus-imapd-2.4-2.4.9/debian/cyrus-common.postinst 2011-06-22 07:14:09.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/debian/cyrus-common.postinst 2011-10-06 19:53:48.000000000 +0000
@@ -80,7 +80,7 @@
if [ -z "$2" ]; then
echo -n "cyrus-common: Creating cyrus-imapd directories..."
cyrus-makedirs --cleansquat
- echo -n "done."
+ echo "done."
fi
# Add USERDENY database if doesn't exist
diff -Nru cyrus-imapd-2.4-2.4.9/debian/cyrus-makedirs cyrus-imapd-2.4-2.4.12/debian/cyrus-makedirs
--- cyrus-imapd-2.4-2.4.9/debian/cyrus-makedirs 2011-06-22 07:14:09.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/debian/cyrus-makedirs 2011-10-06 19:53:48.000000000 +0000
@@ -89,7 +89,7 @@
[ -d "$confdir/$i/$j" ] || mkdir "$confdir/$i/$j"
done
done
-find "$confdir" -print0 \( -not -user cyrus -or -not -group mail \) | xargs -r -0 chown cyrus:mail
+find "$confdir" \( -not -user cyrus -or -not -group mail \) -execdir chown cyrus:mail '{}' \;
# Now, create the spool partitions
for i in $partitions ; do
@@ -102,7 +102,7 @@
done
}
[ -d "$i/stage." ] || mkdir "$i/stage."
- find "$i" -print0 \( -not -user cyrus -or -not -group mail \) | xargs -r -0 chown cyrus:mail
+ find "$i" \( -not -user cyrus -or -not -group mail \) -execdir chown cyrus:mail '{}' \;
# and kill any squatter indexes
[ $killsquat -ne 0 ] && find "$i" -name 'cyrus.squat' -type f -exec rm -f "{}" \;
done
@@ -115,7 +115,7 @@
[ -d "$sievedir/$j" ] || mkdir "$sievedir/$j"
chmod 755 "$sievedir/$j"
done
- find "$sievedir" -print0 \( -not -user cyrus -or -not -group mail \) | xargs -r -0 chown cyrus:mail
+ find "$sievedir" \( -not -user cyrus -or -not -group mail \) -execdir chown cyrus:mail '{}' \;
}
[ "x${CYRUSOPTFILESYS}" != "x1" ] && exit 0
diff -Nru cyrus-imapd-2.4-2.4.9/debian/imapd.conf cyrus-imapd-2.4-2.4.12/debian/imapd.conf
--- cyrus-imapd-2.4-2.4.9/debian/imapd.conf 2011-06-22 07:14:09.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/debian/imapd.conf 2011-10-06 19:53:48.000000000 +0000
@@ -4,6 +4,10 @@
# Configuration directory
configdirectory: /var/lib/cyrus
+# Directories for proc and lock files
+proc_path: /run/cyrus/proc
+mboxname_lockpath: /run/cyrus/lock
+
# Which partition to use for default mailboxes
defaultpartition: default
partition-default: /var/spool/cyrus/mail
diff -Nru cyrus-imapd-2.4-2.4.9/debian/patches/03-fix_docs.dpatch cyrus-imapd-2.4-2.4.12/debian/patches/03-fix_docs.dpatch
--- cyrus-imapd-2.4-2.4.9/debian/patches/03-fix_docs.dpatch 2011-06-22 07:14:09.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/debian/patches/03-fix_docs.dpatch 2011-10-06 19:53:48.000000000 +0000
@@ -31,7 +31,7 @@
--- a/lib/imapoptions
+++ b/lib/imapoptions
-@@ -264,7 +264,11 @@ Blank lines and lines beginning with ``#
+@@ -270,7 +270,11 @@ Blank lines and lines beginning with ``#
mailbox that does not have a parent mailbox. */
{ "defaultdomain", NULL, STRING }
@@ -44,7 +44,7 @@
{ "defaultpartition", NULL, STRING }
/* The partition name used by default for new mailboxes. If not
-@@ -606,7 +610,10 @@ Blank lines and lines beginning with ``#
+@@ -635,7 +639,10 @@ Blank lines and lines beginning with ``#
/* The list of remote realms whose users may authenticate using cross-realm
authentication identifiers. Separate each realm name by a space. (A
cross-realm identity is considered any identity returned by SASL
diff -Nru cyrus-imapd-2.4-2.4.9/debian/patches/05-fix_programnames.dpatch cyrus-imapd-2.4-2.4.12/debian/patches/05-fix_programnames.dpatch
--- cyrus-imapd-2.4-2.4.9/debian/patches/05-fix_programnames.dpatch 2011-06-22 07:14:09.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/debian/patches/05-fix_programnames.dpatch 2011-10-06 19:53:48.000000000 +0000
@@ -19,14 +19,14 @@
exit(EC_USAGE);
--- a/imap/quota.c
+++ b/imap/quota.c
-@@ -212,7 +212,7 @@ int main(int argc,char **argv)
+@@ -207,7 +207,7 @@ int main(int argc,char **argv)
void usage(void)
{
fprintf(stderr,
- "usage: quota [-C ] [-d ] [-f] [prefix]...\n");
+ "usage: cyrquota [-C ] [-d ] [-f] [prefix]...\n");
exit(EC_USAGE);
- }
+ }
--- a/imap/reconstruct.c
+++ b/imap/reconstruct.c
diff -Nru cyrus-imapd-2.4-2.4.9/debian/patches/08-clean_socket_closes.dpatch cyrus-imapd-2.4-2.4.12/debian/patches/08-clean_socket_closes.dpatch
--- cyrus-imapd-2.4-2.4.9/debian/patches/08-clean_socket_closes.dpatch 2011-06-22 07:14:09.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/debian/patches/08-clean_socket_closes.dpatch 2011-10-06 19:53:48.000000000 +0000
@@ -46,7 +46,7 @@
--- a/imap/imapd.c
+++ b/imap/imapd.c
-@@ -1056,6 +1056,10 @@ void shut_down(int code)
+@@ -1057,6 +1057,10 @@ void shut_down(int code)
#ifdef HAVE_SSL
tls_shutdown_serverengine();
#endif
@@ -59,7 +59,7 @@
--- a/imap/lmtpd.c
+++ b/imap/lmtpd.c
-@@ -973,6 +973,9 @@ void shut_down(int code)
+@@ -979,6 +979,9 @@ void shut_down(int code)
cyrus_done();
diff -Nru cyrus-imapd-2.4-2.4.9/debian/patches/13b-MAXFD-cleanups cyrus-imapd-2.4-2.4.12/debian/patches/13b-MAXFD-cleanups
--- cyrus-imapd-2.4-2.4.9/debian/patches/13b-MAXFD-cleanups 2011-06-22 07:14:09.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/debian/patches/13b-MAXFD-cleanups 2011-10-06 19:53:48.000000000 +0000
@@ -9,7 +9,7 @@
--- a/master/master.c
+++ b/master/master.c
-@@ -1613,11 +1613,10 @@ void add_event(const char *name, struct
+@@ -1614,11 +1614,10 @@ void add_event(const char *name, struct
void limit_fds(rlim_t x)
{
struct rlimit rl;
@@ -22,7 +22,7 @@
syslog(LOG_ERR, "setrlimit: Unable to set file descriptors limit to %ld: %m", x);
#ifdef HAVE_GETRLIMIT
-@@ -1632,11 +1631,9 @@ void limit_fds(rlim_t x)
+@@ -1633,11 +1632,9 @@ void limit_fds(rlim_t x)
}
diff -Nru cyrus-imapd-2.4-2.4.9/debian/patches/13c-master-reload cyrus-imapd-2.4-2.4.12/debian/patches/13c-master-reload
--- cyrus-imapd-2.4-2.4.9/debian/patches/13c-master-reload 2011-06-22 07:14:09.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/debian/patches/13c-master-reload 2011-10-06 19:53:48.000000000 +0000
@@ -7,7 +7,7 @@
--- a/master/master.c
+++ b/master/master.c
-@@ -1495,8 +1495,9 @@ void add_service(const char *name, struc
+@@ -1494,8 +1494,9 @@ void add_service(const char *name, struc
char buf[1024];
snprintf(buf, sizeof(buf),
"cannot find executable for service '%s'", name);
@@ -19,7 +19,7 @@
}
Services[i].maxforkrate = maxforkrate;
-@@ -1516,6 +1517,7 @@ void add_service(const char *name, struc
+@@ -1515,6 +1516,7 @@ void add_service(const char *name, struc
if (prefork > 1) prefork = 1;
Services[i].desired_workers = prefork;
Services[i].max_workers = 1;
@@ -27,7 +27,7 @@
}
if (reconfig) {
-@@ -1561,7 +1563,7 @@ void add_event(const char *name, struct
+@@ -1562,7 +1564,7 @@ void add_event(const char *name, struct
if (!strcmp(cmd,"")) {
char buf[256];
snprintf(buf, sizeof(buf),
@@ -36,7 +36,7 @@
if (ignore_err) {
syslog(LOG_WARNING, "WARNING: %s -- ignored", buf);
-@@ -1667,13 +1669,18 @@ void reread_conf(void)
+@@ -1668,13 +1670,18 @@ void reread_conf(void)
Services[i].stat[0], Services[i].stat[1]);
/* Only free the service info on the primary */
diff -Nru cyrus-imapd-2.4-2.4.9/debian/patches/13e-master-janitor-delay cyrus-imapd-2.4-2.4.12/debian/patches/13e-master-janitor-delay
--- cyrus-imapd-2.4-2.4.9/debian/patches/13e-master-janitor-delay 2011-06-22 07:14:09.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/debian/patches/13e-master-janitor-delay 2011-10-06 19:53:48.000000000 +0000
@@ -42,7 +42,7 @@
} else {
/* Are we multithreaded now? we don't know this child */
syslog(LOG_ERR,
-@@ -1763,9 +1765,9 @@ int main(int argc, char **argv)
+@@ -1764,9 +1766,9 @@ int main(int argc, char **argv)
p = getenv("CYRUS_VERBOSE");
if (p) verbose = atoi(p) + 1;
#ifdef HAVE_NETSNMP
@@ -54,7 +54,7 @@
#endif
switch (opt) {
case 'C': /* alt imapd.conf file */
-@@ -1798,8 +1800,15 @@ int main(int argc, char **argv)
+@@ -1799,8 +1801,15 @@ int main(int argc, char **argv)
/* Janitor frequency */
janitor_frequency = atoi(optarg);
if(janitor_frequency < 1)
diff -Nru cyrus-imapd-2.4-2.4.9/debian/patches/82-fix_manpage_errors.patch cyrus-imapd-2.4-2.4.12/debian/patches/82-fix_manpage_errors.patch
--- cyrus-imapd-2.4-2.4.9/debian/patches/82-fix_manpage_errors.patch 2011-06-22 07:14:09.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/debian/patches/82-fix_manpage_errors.patch 2011-10-06 19:53:48.000000000 +0000
@@ -1,6 +1,6 @@
--- a/lib/imapoptions
+++ b/lib/imapoptions
-@@ -899,12 +899,13 @@ And the notification message will be ava
+@@ -928,12 +928,13 @@ And the notification message will be ava
in minutes. The minimum value is 10, the default. */
{ "popuseacl", 0, SWITCH }
diff -Nru cyrus-imapd-2.4-2.4.9/debian/patches/cyrus-imapd-2.4.2-903-normalize-authorization-id.patch cyrus-imapd-2.4-2.4.12/debian/patches/cyrus-imapd-2.4.2-903-normalize-authorization-id.patch
--- cyrus-imapd-2.4-2.4.9/debian/patches/cyrus-imapd-2.4.2-903-normalize-authorization-id.patch 2011-06-22 07:14:09.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/debian/patches/cyrus-imapd-2.4.2-903-normalize-authorization-id.patch 2011-10-06 19:53:48.000000000 +0000
@@ -55,7 +55,7 @@
--- a/lib/imapoptions
+++ b/lib/imapoptions
-@@ -1363,6 +1363,11 @@ product version in the capabilities */
+@@ -1392,6 +1392,11 @@ product version in the capabilities */
interface, otherwise the user is assumed to be in the default
domain (if set). */
diff -Nru cyrus-imapd-2.4-2.4.9/debian/rules cyrus-imapd-2.4-2.4.12/debian/rules
--- cyrus-imapd-2.4-2.4.9/debian/rules 2011-06-22 07:14:09.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/debian/rules 2011-10-06 19:53:48.000000000 +0000
@@ -256,6 +256,11 @@
dh_installdocs -p cyrus-$$i --link-doc=cyrus-$$i-2.4; \
done
dh_installdocs -p libcyrus-imap-perl --link=libcyrus-imap-perl24
+ # Install docs for transitional packages
+ for p in common doc imapd pop3d admin murder nntpd clients dev ; do \
+ dh_installdocs -p cyrus-$$p-2.2 --link-doc=cyrus-common; \
+ done
+ dh_installdocs -p libcyrus-imap-perl22 --link=cyrus-common
override_dh_installinit:
dh_installinit -p cyrus-common --noscripts --name=cyrus-imapd
diff -Nru cyrus-imapd-2.4-2.4.9/doc/changes.html cyrus-imapd-2.4-2.4.12/doc/changes.html
--- cyrus-imapd-2.4-2.4.9/doc/changes.html 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/changes.html 2011-10-04 19:53:03.000000000 +0000
@@ -8,6 +8,104 @@
+
+Changes to the Cyrus IMAP Server since 2.4.11
+
+- Bug #3150 - fix issue with overview and messages without
+ a References header
+- fixed nntp login with tab and space in password
+- Bug #3501 - be more relaxed about names of DELETED folders
+- Bug #3553 - fix QRESYNC passing to murder backend - thanks
+ alec <alec@alec.pl>
+- Bug #3554 - only show ENABLED response the first time each
+ option is ENABLEd
+- Lots of cleanup of build process and backporting of APIs
+- Bug #3502 - make configure.in more portable - thanks
+ OBATA Akio <obata@lins.jp>
+- Bug #3533 - add missing break statements in sieve -
+ thanks Thomas Jarosch <thomas.jarosch@intra2net.com>
+- Bug #3550 - support wildcards for ACLS in cyradm -
+ thanks <mark.cave-ayland@siriusit.co.uk>
+- Bug #3556 - print remote server in mbpath -
+ thanks Wolfgang Breyha <wbreyha@gmx.net>
+- Bug #3559 - make XFER work with unlimited quota -
+ thanks Wolfgang Breyha <wbreyha@gmx.net>
+- Bug #3547 - use strconcat() in writefile()
+- fixed a case where skiplist library could write error
+ messages directly to stdout
+- Bug #3545 - fix sign extension in squat_decode_64
+- Bug #3558 - return error if backend doesn't support
+ LIST-EXTENDED
+- Bug #3565 - clean up in preparation for automake
+- fixed incomplete authentication checks in nntpd,
+ reported by Secunia as SA46093
+
+
+Changes to the Cyrus IMAP Server since 2.4.10
+
+- fixed replication recovery from different messages
+ at the each end
+- Bug #3489 - fixed quotalegacy handling of prefixes so
+ only exact subfolders match
+- Bug #3498 - fixed deletion of users quota files
+ with unixheriarchysep enabled, thanks Leena Heino
+- Bug #3491 - NOOP and UNAUTHENTICATE for timsieved,
+ thanks Dilyan Palauzov
+- Bug #3492 - better response codes for timsieved,
+ thanks Dilyan Palauzov
+- Bug #3497 - fix cmd syslog from master,
+ thanks Kristof Katus
+- Bug #3503 - compilation of perl libraries on
+ dragonfly and freebsd, thanks OBATA Akio
+- Bug #3451 - allow CC to have spaces
+- Bug #3505 - fix sync_reset,
+ thanks David Carter
+- Bug #3506 - use literal+ for sync_(client|server),
+ thanks David Carter
+- Bug #3300 - use portable function for TCP constants,
+ thanks OBATA Akio
+- Bug #3507 - fix replication recovery with non-delayed
+ expunge, thanks Julien Coloos
+- Bug #3495 - improved duplicate suppression,
+ thanks Kristof Katus
+- Bug #2772/3463 - fixed crashes in THREAD by correcting
+ folding of references headers
+- Bug #3439 - fix ugly syslog message for vacation
+- Bug #3499 - options to disable namespaces to reduce
+ load on big servers with no shared folders. Thanks
+ Olivier ROLAND
+- Changed skiplist to truncate old files after checkpoint,
+ which can save disk space on tmpfs or small ssds when
+ old copies were held open by other processes
+- Made Cyrus more robust against corruption in
+ mailboxes.db data, so it will return an error rather
+ than crashing on invalid entries
+- Fix for CVE-2011-3208, a remotely exploitable buffer
+ overflow in nntpd - thanks Coverity
+
+
+Changes to the Cyrus IMAP Server since 2.4.9
+
+- fixed handling of unparsable emails during append (which
+ would cause invalid cyrus.index records otherwise)
+- quota: fix a pile of bugs. #1801, virtdomain support;
+ #2728, slow user delete; #3178, "file name too long" with
+ big mailbox names; #3179, quota -f doubles usage.
+- Bug #3043 - parse multiple groups in headers correctly
+- Bug #3158 - lmtp backend connection timeout
+- Bug #3223 - limit MIME parsing depth to avoid stack overflows
+- Bug #3273 - add SORT=DISPLAY support (but note: still questions
+ about correctness of unicode sorting)
+- Bug #3504 - convert all sieve scripts to \r\n line endings
+ on upload
+- Bug #3402 - options to munge 8bit characters in headers
+ during lmtp delivery to avoid backscatter
+- sync_client: fix broken keepalive TCP options (I doubt anyone
+ ever tried to use it)
+- Bug #3482 - add "-o" option to ipurge to only purge messages
+ with \Deleted flag set
+
+
Changes to the Cyrus IMAP Server since 2.4.8
- fixed crashes in seen handling
diff -Nru cyrus-imapd-2.4-2.4.9/doc/install-upgrade.html cyrus-imapd-2.4-2.4.12/doc/install-upgrade.html
--- cyrus-imapd-2.4-2.4.9/doc/install-upgrade.html 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/install-upgrade.html 2011-10-04 19:53:03.000000000 +0000
@@ -8,6 +8,38 @@
Upgrading From Previous Versions
+Upgrading from 2.4.11
+
+- To support bug-interoperability with older versions of Cyrus,
+ the quota command now supports "-1" as a synonym for
+ unlimited storage
+
+
+Upgrading from 2.4.10
+
+- Duplicate database formats have changed, so any duplicate or
+ vacation data will be lost - meaning that vacation responses
+ will be sent again, and duplicates just across the upgrade
+ time will both get delivered.
+
+
+
+Upgrading from 2.4.9
+
+- quota -f now works correctly. If you are upgrading from earlier
+ than 2.4.9 we recommend that you run quota -f to ensure that all
+ quotas are now correct. There is a slight race condition in the
+ quota command, so it's safest to run with the server shut down,
+ but this has always existed.
+- On the topic of quota -f, the documentation has been updated to
+ make it quite clear that you need to give "complete" prefixes if
+ using quotalegacy, as it doesn't implement quite the same semantics
+ as other databases. If you run 'quota -f a' and you have domains
+ starting with 'a', you will be quite sad at the results. So don't
+ do that. Running quota -f with no argument, or with a full domain
+ or full user specification is perfectly safe.
+
+
Upgrading from 2.4.8
- CYRUS_PREFIX environemnt varabile. If you have an environment
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/arbitron.8.html cyrus-imapd-2.4-2.4.12/doc/man/arbitron.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/arbitron.8.html 2011-06-21 19:51:34.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/arbitron.8.html 2011-10-04 20:03:49.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/chk_cyrus.8.html cyrus-imapd-2.4-2.4.12/doc/man/chk_cyrus.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/chk_cyrus.8.html 2011-06-21 19:51:34.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/chk_cyrus.8.html 2011-10-04 20:03:49.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/ctl_cyrusdb.8.html cyrus-imapd-2.4-2.4.12/doc/man/ctl_cyrusdb.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/ctl_cyrusdb.8.html 2011-06-21 19:51:34.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/ctl_cyrusdb.8.html 2011-10-04 20:03:49.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/ctl_deliver.8.html cyrus-imapd-2.4-2.4.12/doc/man/ctl_deliver.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/ctl_deliver.8.html 2011-06-21 19:51:35.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/ctl_deliver.8.html 2011-10-04 20:03:49.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/ctl_mboxlist.8.html cyrus-imapd-2.4-2.4.12/doc/man/ctl_mboxlist.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/ctl_mboxlist.8.html 2011-06-21 19:51:35.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/ctl_mboxlist.8.html 2011-10-04 20:03:49.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/cvt_cyrusdb.8.html cyrus-imapd-2.4-2.4.12/doc/man/cvt_cyrusdb.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/cvt_cyrusdb.8.html 2011-06-21 19:51:35.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/cvt_cyrusdb.8.html 2011-10-04 20:03:49.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/cyr_dbtool.8.html cyrus-imapd-2.4-2.4.12/doc/man/cyr_dbtool.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/cyr_dbtool.8.html 2011-06-21 19:51:35.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/cyr_dbtool.8.html 2011-10-04 20:03:50.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/cyr_df.8.html cyrus-imapd-2.4-2.4.12/doc/man/cyr_df.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/cyr_df.8.html 2011-06-21 19:51:35.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/cyr_df.8.html 2011-10-04 20:03:50.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/cyr_expire.8.html cyrus-imapd-2.4-2.4.12/doc/man/cyr_expire.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/cyr_expire.8.html 2011-06-21 19:51:35.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/cyr_expire.8.html 2011-10-04 20:03:50.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/cyr_synclog.8.html cyrus-imapd-2.4-2.4.12/doc/man/cyr_synclog.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/cyr_synclog.8.html 2011-06-21 19:51:35.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/cyr_synclog.8.html 2011-10-04 20:03:50.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/cyrus.conf.5.html cyrus-imapd-2.4-2.4.12/doc/man/cyrus.conf.5.html
--- cyrus-imapd-2.4-2.4.9/doc/man/cyrus.conf.5.html 2011-06-21 19:51:35.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/cyrus.conf.5.html 2011-10-04 20:03:50.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/deliver.8.html cyrus-imapd-2.4-2.4.12/doc/man/deliver.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/deliver.8.html 2011-06-21 19:51:35.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/deliver.8.html 2011-10-04 20:03:50.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/fetchnews.8.html cyrus-imapd-2.4-2.4.12/doc/man/fetchnews.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/fetchnews.8.html 2011-06-21 19:51:35.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/fetchnews.8.html 2011-10-04 20:03:50.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/fud.8.html cyrus-imapd-2.4-2.4.12/doc/man/fud.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/fud.8.html 2011-06-21 19:51:35.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/fud.8.html 2011-10-04 20:03:50.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/idled.8.html cyrus-imapd-2.4-2.4.12/doc/man/idled.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/idled.8.html 2011-06-21 19:51:35.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/idled.8.html 2011-10-04 20:03:50.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/imapd.8.html cyrus-imapd-2.4-2.4.12/doc/man/imapd.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/imapd.8.html 2011-06-21 19:51:36.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/imapd.8.html 2011-10-04 20:03:50.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/imapd.conf.5.html cyrus-imapd-2.4-2.4.12/doc/man/imapd.conf.5.html
--- cyrus-imapd-2.4-2.4.9/doc/man/imapd.conf.5.html 2011-06-21 19:51:36.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/imapd.conf.5.html 2011-10-04 20:03:51.000000000 +0000
@@ -1,5 +1,5 @@
-
+
@@ -354,6 +354,14 @@
Maximum number of transactions
to be supported in the berkeley environment.
+boundary_limit: 1000
+
+messages are parsed recursively
+and a deep enough MIME structure can cause a stack overflow.
+Do not parse deeper than this many layers of MIME structure.
+The default of 1000 is much higher than any sane message
+should have.
+
client_timeout: 10
Number of seconds to wait
@@ -439,6 +447,25 @@
will automatically be given the new ’x’
right.
+disable_user_namespace:
+0
+
+Preclude list command on user
+namespace. If set to ’yes’, the LIST response
+will never include any other user’s mailbox. Admin
+users will always see all mailboxes. The default is
+’no’
+
+
+disable_shared_namespace:
+0
+
+Preclude list command on user
+namespace. If set to ’yes’, the LIST response
+will never include any non-user mailboxes. Admin users will
+always see all mailboxes. The default is
+’no’
+
disconnect_on_vanished_mailbox:
0
@@ -941,6 +968,17 @@
failure won’t occur until the mailbox is already over
quota.
+lmtp_strict_rfc2821:
+1
+
+By default, lmtpd will be
+strict (per RFC 2821) with regards to which envelope
+addresses are allowed. If this option is set to false, 8bit
+characters in the local-part of envelope addresses are
+changed to ’X’ instead. This is useful to avoid
+generating backscatter with certain MTAs like Postfix or
+Exim which accept such messages.
+
lmtpsocket:
{configdirectory}/socket/lmtp
@@ -948,6 +986,15 @@
listens on, used by deliver(8). This should match the path
specified in cyrus.conf(5).
+lmtptxn_timeout: 300
+
+Timeout (in seconds) used
+during a lmtp transaction to a remote backend (e.g. in a
+murder environment). Can be used to prevent hung lmtpds on
+proxy hosts when a backend server becomes unresponsive
+during a lmtp transaction. The default is 300 - change to
+zero for infinite.
+
loginrealms: <empty
string>
@@ -1051,7 +1098,7 @@
Allowed values:
header, index, cache, expunge,
-squat, lock
+squat
metapartition-name:
<none>
@@ -1852,10 +1899,10 @@
Suppress the named capabilities
from any capability response. Use the exact case as it
appears in the response, e.g. "suppress_capabilities:
-ESEARCH QRESYNC WITHIN XLIST" if you have a murder with
-2.3.x backends and don’t want clients being confused
-by new capabilities that some backends don’t
-support.
+ESEARCH QRESYNC WITHIN XLIST LIST-EXTENDED" if you have
+a murder with 2.3.x backends and don’t want clients
+being confused by new capabilities that some backends
+don’t support.
statuscache: 0
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/imclient.3.html cyrus-imapd-2.4-2.4.12/doc/man/imclient.3.html
--- cyrus-imapd-2.4-2.4.9/doc/man/imclient.3.html 2011-06-21 19:51:36.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/imclient.3.html 2011-10-04 20:03:51.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/imtest.1.html cyrus-imapd-2.4-2.4.12/doc/man/imtest.1.html
--- cyrus-imapd-2.4-2.4.9/doc/man/imtest.1.html 2011-06-21 19:51:36.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/imtest.1.html 2011-10-04 20:03:51.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/installsieve.1.html cyrus-imapd-2.4-2.4.12/doc/man/installsieve.1.html
--- cyrus-imapd-2.4-2.4.9/doc/man/installsieve.1.html 2011-06-21 19:51:36.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/installsieve.1.html 2011-10-04 20:03:51.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/ipurge.8.html cyrus-imapd-2.4-2.4.12/doc/man/ipurge.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/ipurge.8.html 2011-06-21 19:51:36.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/ipurge.8.html 2011-10-04 20:03:51.000000000 +0000
@@ -1,5 +1,5 @@
-
+
@@ -48,7 +48,7 @@
ipurge [
−f ] [ −C config-file ] [
−x ] [ −X ] [ −i ] [
-−s ]
+−s ] [ −o ]
[ −d days | −b bytes
| −k Kbytes | −m
Mbytes ]
@@ -183,6 +183,17 @@
Skip over messages that have the \Flagged flag set.
+
+ |
+
+
+
+ −o |
+ |
+
+
+
+ Only purge messages that have the \Deleted flag set. |
FILES
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/krb.equiv.5.html cyrus-imapd-2.4-2.4.12/doc/man/krb.equiv.5.html
--- cyrus-imapd-2.4-2.4.9/doc/man/krb.equiv.5.html 2011-06-21 19:51:36.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/krb.equiv.5.html 2011-10-04 20:03:51.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/lmtpd.8.html cyrus-imapd-2.4-2.4.12/doc/man/lmtpd.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/lmtpd.8.html 2011-06-21 19:51:36.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/lmtpd.8.html 2011-10-04 20:03:51.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/lmtptest.1.html cyrus-imapd-2.4-2.4.12/doc/man/lmtptest.1.html
--- cyrus-imapd-2.4-2.4.9/doc/man/lmtptest.1.html 2011-06-21 19:51:37.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/lmtptest.1.html 2011-10-04 20:03:51.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/master.8.html cyrus-imapd-2.4-2.4.12/doc/man/master.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/master.8.html 2011-06-21 19:51:37.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/master.8.html 2011-10-04 20:03:51.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/mbexamine.8.html cyrus-imapd-2.4-2.4.12/doc/man/mbexamine.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/mbexamine.8.html 2011-06-21 19:51:37.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/mbexamine.8.html 2011-10-04 20:03:51.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/mbpath.8.html cyrus-imapd-2.4-2.4.12/doc/man/mbpath.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/mbpath.8.html 2011-06-21 19:51:37.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/mbpath.8.html 2011-10-04 20:03:51.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/mupdatetest.1.html cyrus-imapd-2.4-2.4.12/doc/man/mupdatetest.1.html
--- cyrus-imapd-2.4-2.4.9/doc/man/mupdatetest.1.html 2011-06-21 19:51:37.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/mupdatetest.1.html 2011-10-04 20:03:52.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/nntpd.8.html cyrus-imapd-2.4-2.4.12/doc/man/nntpd.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/nntpd.8.html 2011-06-21 19:51:37.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/nntpd.8.html 2011-10-04 20:03:52.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/nntptest.1.html cyrus-imapd-2.4-2.4.12/doc/man/nntptest.1.html
--- cyrus-imapd-2.4-2.4.9/doc/man/nntptest.1.html 2011-06-21 19:51:37.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/nntptest.1.html 2011-10-04 20:03:52.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/notifyd.8.html cyrus-imapd-2.4-2.4.12/doc/man/notifyd.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/notifyd.8.html 2011-06-21 19:51:37.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/notifyd.8.html 2011-10-04 20:03:52.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/pop3d.8.html cyrus-imapd-2.4-2.4.12/doc/man/pop3d.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/pop3d.8.html 2011-06-21 19:51:37.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/pop3d.8.html 2011-10-04 20:03:52.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/pop3test.1.html cyrus-imapd-2.4-2.4.12/doc/man/pop3test.1.html
--- cyrus-imapd-2.4-2.4.9/doc/man/pop3test.1.html 2011-06-21 19:51:37.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/pop3test.1.html 2011-10-04 20:03:52.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/quota.8.html cyrus-imapd-2.4-2.4.12/doc/man/quota.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/quota.8.html 2011-06-21 19:51:37.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/quota.8.html 2011-10-04 20:03:52.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/reconstruct.8.html cyrus-imapd-2.4-2.4.12/doc/man/reconstruct.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/reconstruct.8.html 2011-06-21 19:51:38.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/reconstruct.8.html 2011-10-04 20:03:52.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/rmnews.8.html cyrus-imapd-2.4-2.4.12/doc/man/rmnews.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/rmnews.8.html 2011-06-21 19:51:38.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/rmnews.8.html 2011-10-04 20:03:52.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/sivtest.1.html cyrus-imapd-2.4-2.4.12/doc/man/sivtest.1.html
--- cyrus-imapd-2.4-2.4.9/doc/man/sivtest.1.html 2011-06-21 19:51:38.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/sivtest.1.html 2011-10-04 20:03:52.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/smmapd.8.html cyrus-imapd-2.4-2.4.12/doc/man/smmapd.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/smmapd.8.html 2011-06-21 19:51:38.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/smmapd.8.html 2011-10-04 20:03:52.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/smtptest.1.html cyrus-imapd-2.4-2.4.12/doc/man/smtptest.1.html
--- cyrus-imapd-2.4-2.4.9/doc/man/smtptest.1.html 2011-06-21 19:51:38.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/smtptest.1.html 2011-10-04 20:03:52.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/squatter.8.html cyrus-imapd-2.4-2.4.12/doc/man/squatter.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/squatter.8.html 2011-06-21 19:51:38.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/squatter.8.html 2011-10-04 20:03:53.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/sync_client.8.html cyrus-imapd-2.4-2.4.12/doc/man/sync_client.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/sync_client.8.html 2011-06-21 19:51:38.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/sync_client.8.html 2011-10-04 20:03:53.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/syncnews.8.html cyrus-imapd-2.4-2.4.12/doc/man/syncnews.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/syncnews.8.html 2011-06-21 19:51:38.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/syncnews.8.html 2011-10-04 20:03:53.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/sync_reset.8.html cyrus-imapd-2.4-2.4.12/doc/man/sync_reset.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/sync_reset.8.html 2011-06-21 19:51:38.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/sync_reset.8.html 2011-10-04 20:03:53.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/sync_server.8.html cyrus-imapd-2.4-2.4.12/doc/man/sync_server.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/sync_server.8.html 2011-06-21 19:51:38.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/sync_server.8.html 2011-10-04 20:03:53.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/timsieved.8.html cyrus-imapd-2.4-2.4.12/doc/man/timsieved.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/timsieved.8.html 2011-06-21 19:51:38.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/timsieved.8.html 2011-10-04 20:03:53.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/tls_prune.8.html cyrus-imapd-2.4-2.4.12/doc/man/tls_prune.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/tls_prune.8.html 2011-06-21 19:51:38.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/tls_prune.8.html 2011-10-04 20:03:53.000000000 +0000
@@ -1,5 +1,5 @@
-
+
diff -Nru cyrus-imapd-2.4-2.4.9/doc/man/unexpunge.8.html cyrus-imapd-2.4-2.4.12/doc/man/unexpunge.8.html
--- cyrus-imapd-2.4-2.4.9/doc/man/unexpunge.8.html 2011-06-21 19:51:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/man/unexpunge.8.html 2011-10-04 20:03:53.000000000 +0000
@@ -1,5 +1,5 @@
-
+
Binary files /tmp/HpjzOKNlsL/cyrus-imapd-2.4-2.4.9/doc/murder.png and /tmp/HpPnlYRmGW/cyrus-imapd-2.4-2.4.12/doc/murder.png differ
Binary files /tmp/HpjzOKNlsL/cyrus-imapd-2.4-2.4.9/doc/netnews.png and /tmp/HpPnlYRmGW/cyrus-imapd-2.4-2.4.12/doc/netnews.png differ
diff -Nru cyrus-imapd-2.4-2.4.9/doc/specs.html cyrus-imapd-2.4-2.4.12/doc/specs.html
--- cyrus-imapd-2.4-2.4.9/doc/specs.html 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/specs.html 2011-10-04 19:53:03.000000000 +0000
@@ -76,7 +76,16 @@
Extended URLFETCH for Binary and Converted Parts |
draft-daboo-imap-annotatemore |
-IMAP ANNOTATEMORE Extension |
+ANNOTATEMORE Draft |
+RFC 5464 |
+The IMAP METADATA Extension |
+
+draft-ietf-morg-list-specialuse |
+IMAP SPECIALUSE Draft (And non-standard Google XLIST support) |
+RFC 5819 |
+IMAP4 Extension for Returning STATUS Information in Extended LIST |
+RFC 5957 |
+Display-Based Address Sorting for the IMAP4 SORT Extension |
POP |
diff -Nru cyrus-imapd-2.4-2.4.9/doc/text/changes cyrus-imapd-2.4-2.4.12/doc/text/changes
--- cyrus-imapd-2.4-2.4.9/doc/text/changes 2011-06-21 19:51:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/text/changes 2011-10-04 20:03:54.000000000 +0000
@@ -1,3 +1,90 @@
+Changes to the Cyrus IMAP Server since 2.4.11
+
+ * Bug #3150 - fix issue with overview and messages without a
+ References header
+ * fixed nntp login with tab and space in password
+ * Bug #3501 - be more relaxed about names of DELETED folders
+ * Bug #3553 - fix QRESYNC passing to murder backend - thanks alec
+
+ * Bug #3554 - only show ENABLED response the first time each option
+ is ENABLEd
+ * Lots of cleanup of build process and backporting of APIs
+ * Bug #3502 - make configure.in more portable - thanks OBATA Akio
+
+ * Bug #3533 - add missing break statements in sieve - thanks Thomas
+ Jarosch
+ * Bug #3550 - support wildcards for ACLS in cyradm - thanks
+
+ * Bug #3556 - print remote server in mbpath - thanks Wolfgang Breyha
+
+ * Bug #3559 - make XFER work with unlimited quota - thanks Wolfgang
+ Breyha
+ * Bug #3547 - use strconcat() in writefile()
+ * fixed a case where skiplist library could write error messages
+ directly to stdout
+ * Bug #3545 - fix sign extension in squat_decode_64
+ * Bug #3558 - return error if backend doesn't support LIST-EXTENDED
+ * Bug #3565 - clean up in preparation for automake
+ * fixed incomplete authentication checks in nntpd, reported by
+ Secunia as SA46093
+
+Changes to the Cyrus IMAP Server since 2.4.10
+
+ * fixed replication recovery from different messages at the each end
+ * Bug #3489 - fixed quotalegacy handling of prefixes so only exact
+ subfolders match
+ * Bug #3498 - fixed deletion of users quota files with
+ unixheriarchysep enabled, thanks Leena Heino
+ * Bug #3491 - NOOP and UNAUTHENTICATE for timsieved, thanks Dilyan
+ Palauzov
+ * Bug #3492 - better response codes for timsieved, thanks Dilyan
+ Palauzov
+ * Bug #3497 - fix cmd syslog from master, thanks Kristof Katus
+ * Bug #3503 - compilation of perl libraries on dragonfly and freebsd,
+ thanks OBATA Akio
+ * Bug #3451 - allow CC to have spaces
+ * Bug #3505 - fix sync_reset, thanks David Carter
+ * Bug #3506 - use literal+ for sync_(client|server), thanks David
+ Carter
+ * Bug #3300 - use portable function for TCP constants, thanks OBATA
+ Akio
+ * Bug #3507 - fix replication recovery with non-delayed expunge,
+ thanks Julien Coloos
+ * Bug #3495 - improved duplicate suppression, thanks Kristof Katus
+ * Bug #2772/3463 - fixed crashes in THREAD by correcting folding of
+ references headers
+ * Bug #3439 - fix ugly syslog message for vacation
+ * Bug #3499 - options to disable namespaces to reduce load on big
+ servers with no shared folders. Thanks Olivier ROLAND
+ * Changed skiplist to truncate old files after checkpoint, which can
+ save disk space on tmpfs or small ssds when old copies were held
+ open by other processes
+ * Made Cyrus more robust against corruption in mailboxes.db data, so
+ it will return an error rather than crashing on invalid entries
+ * Fix for CVE-2011-3208, a remotely exploitable buffer overflow in
+ nntpd - thanks Coverity
+
+Changes to the Cyrus IMAP Server since 2.4.9
+
+ * fixed handling of unparsable emails during append (which would
+ cause invalid cyrus.index records otherwise)
+ * quota: fix a pile of bugs. #1801, virtdomain support; #2728, slow
+ user delete; #3178, "file name too long" with big mailbox names;
+ #3179, quota -f doubles usage.
+ * Bug #3043 - parse multiple groups in headers correctly
+ * Bug #3158 - lmtp backend connection timeout
+ * Bug #3223 - limit MIME parsing depth to avoid stack overflows
+ * Bug #3273 - add SORT=DISPLAY support (but note: still questions
+ about correctness of unicode sorting)
+ * Bug #3504 - convert all sieve scripts to \r\n line endings on
+ upload
+ * Bug #3402 - options to munge 8bit characters in headers during lmtp
+ delivery to avoid backscatter
+ * sync_client: fix broken keepalive TCP options (I doubt anyone ever
+ tried to use it)
+ * Bug #3482 - add "-o" option to ipurge to only purge messages with
+ \Deleted flag set
+
Changes to the Cyrus IMAP Server since 2.4.8
* fixed crashes in seen handling
diff -Nru cyrus-imapd-2.4-2.4.9/doc/text/install-upgrade cyrus-imapd-2.4-2.4.12/doc/text/install-upgrade
--- cyrus-imapd-2.4-2.4.9/doc/text/install-upgrade 2011-06-21 19:51:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/text/install-upgrade 2011-10-04 20:03:54.000000000 +0000
@@ -1,539 +1,2 @@
Upgrading From Previous Versions
-Upgrading from 2.4.8
-
- * CYRUS_PREFIX environemnt varabile. If you have an environment
- variable "CYRUS_PREFIX" then config files will be searched for in
- there first, so for example the file /var/cyrus/etc/imapd.conf will
- override /etc/imapd.conf if your CYRUS_PREFIX is /var/cyrus. This
- is to make things easier for sites with multiple installs on a
- single machine. You will want to check that there aren't unexpected
- files in those locations when upgrading.
- * New config options: *_db_path allow moving individual DB files to
- different partitions - for example you may want to put the
- deliver.db onto tmpfs to improve performance.
- * KNOWN BUG: quota -f can double ALL quota usage values for all
- users. This is particularly bad because of the bug fixed in this
- release where quotaroots were not correctly updated on folder
- rename. Recommended workaround: run quota -f twice.
-
-Upgrading from 2.4.7
-
- * New config option: proc_path allows setting the path to the proc
- directory onto tmpfs more easily
-
-Upgrading from 2.4.6
-
- * New config option: failedloginpause allows you to change the pause
- after a failed login from the existing default of 3 seconds
- * On Solaris: now getpassphrase is used, so passwords longer than 8
- characters will work with management tools
- * $confdir/proc now gets created automatically if it doesn't exist,
- which may impact init script design
- * If you have damaged mailboxes that weren't previously fixable, a
- reconstruct of those mailboxes may be advised
-
-Upgrading from 2.4.5
-
- * New config option: suppress_capabilities, which takes a space
- separated list of capabilities which will NOT be given in any imap
- capability response. This can be used on frontends to not display
- capabilities that older backends don't have, so clients don't get
- confused
-
-Upgrading from 2.4.4
-
- * sync_client no longer forks two process - it just pre-forks a
- single process in rolling replication mode and uses it "forever".
- This is to avoid the bug where it used to open the BDB environment
- once before forking, then close it in every child, causing the
- reference count to go negative. This also means you can start it
- without '-o' and still have the master start without the replica
- already running.
-
-Upgrading from 2.4.3
-
- * Actually, it's more upgrading directly to here from 2.3.x or older.
- ALL upgrades from previous versions now incur a full re-parse of
- all messages, which may take a while. In exchange you get reliable
- upgrades though, and guaranteed still-searchable cyrus.cache
- records.
-
-Upgrading from 2.4.2
-
- * The AFS ptloader configure options have changed. If you were
- previously specifying --with-afs when you built, you'll now want to
- use --enable-afs instead. Additionally, you may now specify
- --with-afs-libdir and --with-afs-incdir to facilitate finding the
- AFS libraries and header files.
- * The sync_log_names option has been replaced with sync_log_channels
- and the documentation and tools updated to match. This is to use a
- less overloaded term and allow multi-channel replication to be
- used.
- * Cyrus 2.4.3 can now XFER mailboxes back to earlier version (at
- least as far back as Cyrus 2.2.12) in a murder configuration.
- * sync_client in rolling mode now only connects after forking, so it
- no longer blocks startup. You can remove the '-o' option from your
- cyrus.conf entry if you want, and not have to start sync_client
- manually afterwards!
-
-Upgrading from 2.4.0
-
- * The response to the "ID" command has changed slightly to include
- git metadata rather than CVS metadata - so your in-house tools
- expecting a particular value may need changing (very unlikely)
-
-Upgrading from 2.3.16
-
- * There is a new index format, so downgrades are not possible without
- a reconstruct. We recommend that you take a full backup before
- upgrading, and perform an upgrade with a small test server if
- possible to make sure everything will work for your site.
- * MURDER does work, but you can't rename a mailbox back to a previous
- version backend because the index was upgraded.
- * There is a new replication protocol, so you can't replicate between
- 2.4.0 and previous versions in either direction. You need to
- upgrade both before you can restart repliation.
- * The default value for delayed_expunge has changed to provide better
- QRESYNC and replication support. The default is still pretty
- efficient, but you may want to change it to 'immediate', the
- previous default
- * The default type for all databases is now skiplist which is very
- reliable now, all the bugs are ironed out! Because ctl_cyrusdb -r
- automatically converts databases between known types, you shouldn't
- need to do anything, but if you want to keep the old defaults,
- you'll need to make them explicit in your imapd.conf as follows:
-
- duplicate_db: berkeley-nosync
- ptscache_db: berkeley
- statuscache_db: berkeley-nosync
- tlscache_db: berkeley-nosync
-
- * There is a new lock folder which defaults to configdir/lock/ and
- contains one zerobyte file per mailbox. These can get pretty hot,
- and don't need to persist over reboots (they will be auto-created
- when needed) - so you may want to define mboxname_lockpath to be on
- tmpfs or ramfs or similar. It certainly makes sense to clean it out
- on restart, because names will persist in there forever otherwise.
- Even on mailbox delete these files aren't removed (to avoid
- potential race conditions)
- * The make_md5 and make_sha1 utilities no longer exist. If you want
- to check message file integrity, the best way is reconstruct -r -n
- -G. This will parse every message file, check the sha1 against the
- value stored in the cyrus.index, and tell you about mismatches
- without fixing them.
- * Speaking of reconstruct, the switches have changed, as has the
- implementation. It fixes the mailbox "in place" a lot more rather
- than creating a new mailbox, meaning that IMAP semantics won't be
- broken. It's more likely to abort rather than complete if your
- filesystem permissions are wrong - fix them first!
-
- -kRemoved, expunge data is always kept
-
- -gRemoved, GUIDs are always stored
-
- -GChanged, now means "re-parse the message". If not specified,
- reconstruct only checks the message size and assumes the rest of
- the stuff in the index record is OK (pretty safe because we do
- CRC32 checks on index records now)
-
- -sAdded, skip the stat call, so reconstruct doesn't even check the
- message file size - just that a file with the correct name exists
- at all
-
- -nAdded, don't make any changes, just report what would have been
- done if -n wasn't specified
-
- If you try to use -k or -g, you will get a warning but the
- reconstruct will still run.
-
-Upgrading from 2.3.15
-
- * The SQL detection code in configure has been reworked. Separate
- options for the include directories and lib directories have been
- added. Previous SQL options may not work as expected.
-
-Upgrading from 2.3.10
-
- * STARTTLS is now allowed for externally preauth'd LMTP connections.
- If you don't want STARTTLS to be advertised and used by preauth'd
- clients, you can set _tls_cert_file: disabled in
- imapd.conf.
-
-Upgrading from 2.3.9
-
- * The method used for generating Globally Unique IDentifiers used for
- replication has been changed to be the SHA1 hash of the messages.
- If you wish to upgrade the existing GUIDs in particular mailbox(es)
- or the entire server, perform the following steps in the listed
- order. Note that is is NOT REQUIRED that existing GUIDs be
- upgraded.
-
- 1. Zero GUIDs on the replica (reconstruct -g)
- 2. Regenerate GUIDs on the master (reconstruct -G)
- 3. Regenerate GUIDs on the replica (reconstruct -G)
-
-Upgrading from 2.3.8
-
- * You must install and configure Cyrus SASL version 2.1.17 or later
- to use Cyrus IMAP 2.3.9 and later. You can download SASL at
- http://www.cyrusimap.org/mediawiki/index.php/Downloads#SASL_Library.
- * The default value of the allowplaintext option has been changed to
- disabled (0). If you need to allow cleartext passwords on the wire,
- then you will have to explicitly enable the allowplaintext option
- in imapd.conf.
-
-Upgrading from 2.3.3 or later (64-bit machines)
-
- * Due to byte alignment issues in cyrus.index, all mailboxes will
- have to be reconstructed.
-
-Upgrading from 2.3.4 or 2.3.5
-
- * Any mailboxes which had messages appended/delivered/copied with a
- 2.3.4 service or copied with a 2.3.5 imapd MUST be reconstructed in
- order for the new messages to be displayed by clients.
-
-Upgrading from 2.2.x or earlier
-
- * If you wish to use separate metadata partition(s), you MUST first
- shut down Cyrus and then perform the following:
-
- 1. Set the metapartition-* and metapartition_files options to suit
- your configuration. For a full description of these options,
- see the imapd.conf(5) man page.
- 2. Create the metadata partition directory(s) listed in the
- metapartition-* option(s), setting the ownership and
- permissions in same fashion as step 6 of install-configure.
- 3. Run the tools/migrate-metadata script (as the cyrus user) to
- move the metadata files listed in the metapartition_files
- option from the spool partition(s) to the new metadata
- partition(s). This script may take a long time to run depending
- on the number of mailboxes on the server, but presumably the
- metadata partitions are located on high speed storage, so the
- writes should be relatively fast.
- 4. Restart Cyrus.
-
-Upgrading from 2.2.2 or earlier
-
- * The Cyrus database backend configuration is now handled at runtime
- using imapd.conf options. If you are not using the default backend
- for any of the databases, make sure that you specify the correct
- backend(s) in appropriate option(s).
- * The format of the newspeer option has been changed. The existing
- format will still be parsed, but the option should be upgraded to
- use the new format (see imapd.conf(5) for details).
-
-Upgrading from 2.2.1 or earlier
-
- * The sieve bytecode format has changed again to correct an issue
- with the short circuiting of the allof and anyof operators. To
- upgrade existing scripts (outside of home directories), you can run
- the tools/masssievec perl script included with the distribution. It
- requires a path to your sievec binary. This should also upgrade
- scripts that have already been compiled to bytecode. For example:
-
- masssievec /usr/src/cyrus/sieve/sievec
-
-Upgrading from 2.2.0 or earlier
-
- * The improved directory hashing (fulldirhash) is now a runtime
- configuration option. If you are currently using this feature, then
- make sure that you enable the fulldirhash option in imapd.conf.
- * The format of mailbox index files has changed. They are upgraded on
- the fly, so you need to do nothing to upgrade. However, to
- downgrade them you will need to remove the cyrus.index files, and
- reconstruct the mailboxes, otherwise the index files will be
- invalid.
- * ctl_deliver -E has been deprecated in favor of cyr_expire -E. This
- new tool does both duplicate delivery database pruning as well as
- message expunging. You should replace the appropriate EVENTS entry
- in cyrus.conf with one of those in the sample configurations in the
- master/conf directory.
- * The sieve bytecode format has changed. The new format is encoded in
- network byte order, and will be transferable between architechures.
- To upgrade existing scripts (outside of home directories), you can
- run the tools/masssievec perl script included with the
- distribution. It requires a path to your sievec binary. This should
- also upgrade scripts that have already been compiled to bytecode.
- For example:
-
- masssievec /usr/src/cyrus/sieve/sievec
-
-Upgrading from 2.1.x or earlier
-
-General information (ALL SITES)
-
- * The default database formats for the mailbox list and the seen
- state databases has been changed to the skiplist backend. There are
- two ways of dealing with this if you have been using the defaults.
-
- 1. Specify --with-mboxlist-db=berkeley and --with-seen-db=flat to
- configure. This will instruct Cyrus to continue to use the
- previous defaults.
- 2. Use the cvt_cyrusdb program to directly convert the databases.
- This should be done with the server down, and with the binaries
- from the new Cyrus distribution. Change any paths that do not
- match your configuration.
- For the mailbox list, the command looks like:
-
- /usr/cyrus/bin/cvt_cyrusdb /var/imap/mailboxes.db berkeley /var/imap/mailboxes.db.new skiplist
- mv /var/imap/mailboxes.db.new /var/imap/mailboxes.db
-
- Note that the use of full paths to the database files is
- important. You should also backup your old mailboxes database
- before moving the new one in.
- For the seen state databases, the command to get them all in
- one fell swoop looks like:
-
- find /var/imap/user -name \*.seen -exec /usr/cyrus/bin/cvt_cyrusdb \{\} flat \{\}.new skiplist \; -exec mv \{\}.new \{\} \;
-
- The slashes are important for shell escaping. Again, you should
- back up the contents of your /var/imap/user directory before
- executing this command. These commands may take some time to
- complete, especially if your databases are large.
-
- We believe that skiplist offers considerable performance advantages
- for these two databases over the previous defaults.
- * Sieve scripts are now compiled into bytecode. The program sievec is
- provided to do this process manually (timsieved will compile
- submitted sieve scripts as they are uploaded). To upgrade existing
- scripts (outside of home directories), you can run the
- tools/masssievec perl script included with the distribution. It
- requires a path to your sievec binary. For example:
-
- masssievec /usr/src/cyrus/sieve/sievec
-
- Note that this will fail for scripts that use the "envelope"
- extention but do not require it. Cyrus 2.1's timsieved did not do
- appropriate checking that the optional envelope test was required
- before it was used.
- * Configuration subsystem changes:
-
- * The tls_[service]_* configuration options have been removed.
- Now use [servicename]_tls_*, where servicename is the service
- identifier from cyrus.conf for that particular process.
- * The admins and lmtp_admins configuration options no longer
- union. Per-service options completely override the default
- value when they are specified.
- * lmtp_allowplaintext is no longer a defined parameter and must
- be specified using the service name of your lmtp process if you
- require a specific value.
-
-Specialized information (Murder, AFS, etc.)
-
- * The IMAP IDLE command is now supported by proxyd and is controlled
- by the imapidlepoll option, which is enabled by default (60
- seconds). To disable IMAP IDLE in proxyd, set imapidlepoll to 0.
- * User moves via RENAME and XFER are now controlled by the
- allowusermoves option, which defaults to off.
- * If you use ptloader, it now runs as a regular cyrus service. This
- means that you will need master to acquire and maintain AFS tokens
- for it. You will also need to create the ptclient directory under
- your imap configdirectory, to hold the PTS cache (now a
- full-fledged cyrusdb) and UNIX socket. In cyrus.conf, ptloader
- should be setup to listen on /ptclient/ptsock. See
- the master/test/cmu-backend.conf example configuration file.
- * Also, ptloader has been given a generic interface. You should now
- specify "--with-auth=pts" (instead of "--with-auth=krb_pts") to
- configure. There is also a --with-pts= configure option that
- defaults to afskrb (Kerberos Canonicalization, AFS PTS Groups).
- There is also an experimental ldap module. Note also that if
- ptloader fails the lookup, authorization (and therefore
- authentication) will now fail, as canonicalization is done inside
- of ptloader.
- * The format of sieve referrals has changed to be more consistant
- with the current managesieve draft, this may cause interoperability
- problems when using managesieve clients and servers from different
- cyrus versions.
- * Clients that use old-style ACL commands that include the "MAILBOX"
- directive will no longer function. We do not know of any clients
- that have this problem currently.
- * Any applications that link libcyrus.a now need to link
- libcyrus_min.a as well.
-
-Upgrading from 2.1.13 or earlier
-
- * We are now more forgiving of MIME boundry headers generated by
- earlier versions of eudora. However, if you have messages already
- in the mailstore that you want to fix you will need to reconstruct
- the affected mailboxes to regenerate the cached bodystructure data
- to take this into account. Nothing needs to be done for new
- messages to be treated in this way.
-
-Upgrading from 2.1.12 or earlier
-
- * timsieved was corrected to behave properly in the altnamespace
- configuration. However, this means that it was previously looking
- for sieve scripts in "user.name" format instead of the (correct)
- "user^name" format. A sample script to do this (which should be run
- in the top level of the sieve directory) is in
- tools/convert-sieve.pl. Note that this is only needed if you are
- running with altnamespace turned on.
-
-Upgrading from 2.1.3 or earlier
-
- * If you use notifications (previously notify_zephyr or notify_unix)
- this functionality has been seperated out to notifyd. See the
- notifyd manpage and example entries in master/conf.
-
-Upgrading from 2.1.2 or earlier
-
- * Sieve has been updated to be compliant with RFC 3028 and
- draft-martin-sieve-notify-01. All notify actions and any fileinto
- and/or redirect actions using stringlists will have to be
- updated/changed.
-
-Upgrading from 2.0.16 or earlier
-
- * You must install and configure Cyrus SASL version 2 to use Cyrus
- IMAP 2.1 and later. You can download SASL at
- http://www.cyrusimap.org/mediawiki/index.php/Downloads#SASL_Library.
- * If you use timsieved to manage Sieve scripts, and have enabled the
- alternate namespace and/or the Unix hierarchy separator, run the
- script "tools/translatesieve". This script will translate the
- folder names in fileinto actions.
- * Cyrus now uses the service name "sieve" instead of "imap" for the
- SASL profile of timsieved. If you use timsieved to manage Sieve
- scripts, be sure to update your password checking mechanism
- appropriately,
- * If you have enabled the improved directory hashing scheme, run the
- script "tools/rehash full". This script will rehash your existing
- directories.
- * The hashed deliver databases (used for duplicate delivery
- suppression and Sieve) have been merged into a single deliver.db
- database. You can safely remove the entire /var/imap/deliverdb
- directory structure after shutting down the server.
- * All of the Cyrus databases have been unified under a single BDB
- environment. A new ctl_cyrusdb tool is now used for database
- recovery and checkpointing instead of ctl_mboxlist and ctl_deliver.
- You should replace the appropriate START and EVENTS entries in
- cyrus.conf with those in the sample configurations in the
- master/conf directory.
- * Cyrus now caches SSL/TLS sessions in an external database. If you
- have support for SSL/TLS, and haven't disabled session caching (see
- imapd.conf(5)), you should add a line like the following to the
- EVENTS section of cyrus.conf to prune expired sessions from the
- database:
-
- # this is only necessary if caching TLS sessions
- tlsprune cmd="tls_prune" period=1440
-
-Upgrading from 2.0.6, 2.0.7, 2.0.8, or 2.0.9 or earlier
-
- * If you use timsieved to manage Sieve scripts, run the script
- "tools/upgradesieve". timsieved now uses symlinks instead of hard
- links.
-
-Upgrading from a previous 2.0 version to 2.0.6
-
- Warning: You do not need to follow these instructions if you're
- upgrading from version 1.6.
-
- * You can now pick whether to use Berkeley db to store seen state,
- the subscription files, and the mailboxes file or a flat text file,
- at compile time only. (Look in imap/seen_db.c and imap/mboxlist.h.)
- * The format of the mailboxes file and seen state has changed. It is
- not possible to preserve seen state, but upgrade the mailboxes file
- as follows:
-
- 1. Run ctl_mboxlist -d > mboxlist.temp to dump existing mailboxes.
- 2. Remove old database files: rm mailboxes.db db/* user/*/*.seen
- 3. With the new version of ctl_mboxlist, run ctl_mboxlist -u <
- mboxlist.temp.
-
-Upgrading from 1.6.22 or 1.6.24
-
- Warning: Cyrus imapd 2.0 will automatically convert on-disk file
- formats as the server is used. It is not possible to run 1.6 after 2.0
- has been used on a mail spool without reconstructing every mailbox.
-
- * Create some extra directories and remove the duplicate delivery
- database:
-
- mkdir /var/imap/db
- mkdir /var/imap/socket
- chown cyrus /var/imap/db /var/imap/socket
- rm -rf /var/imap/deliverdb
-
- * Convert mailboxes file to Berkeley DB:
-
- su cyrus
- cd /var/imap
- ctl_mboxlist -u < mailboxes
- ctl_cyrusdb -c
-
- Please keep a backup of your mailboxes file. You can dump an
- old-style mailboxes file by using ctl_mboxlist -d.
- * remove "/etc/inetd.conf" entries. The imap and popd3d lines need to
- be removed from /etc/inetd.conf and inetd needs to be restarted.
- * master process configuration: You'll need to configure the master
- process Cyrus process and ensure that it starts on boot. see this
- section of the configuration instructions.
- * MTA configuration. You will have to reconfigure your MTA to speak
- to lmtpd. See this section of the configuration document.
- * cyrus.seen conversion. The cyrus.seen file will be automatically
- upgraded as users read mail. After some time, you might want to
- delete the cyrus.seen file in each mailbox; it is superceded by the
- user/joe.seen file.
- * cyrus.index conversion. The cyrus.index file will be automatically
- upgraded the first time each mailbox is SELECTed.
- * Netnews conversion. The netnews programs are no longer built. If
- you are using netnews, you will need to apply the diff in the
- netnews/ directory to INN or see if INN is now distributing those
- changes. You will also want to run remotepurge on a regular basis
- to purge old netnews posts.
-
-Upgrading from 1.6.13
-
- * Upgrading from the Cyrus IMAP server version 1.6.13 or earlier: if
- you use Sieve, you should run the "tools/upgradesieve" script, as
- the format of the "/usr/sieve" directory has changed slightly.
-
- timsieved, included in this release, will handle maintenance of
- Sieve scripts.
- * Upgrading from the Cyrus IMAP server version 1.6.10 or earlier: if
- you export news via the IMAP server, you'll have to change your
- "newsfeeds" file to contain
-
- collectnews!:*:Tf,WR:collectnews
-
- The format of the input to collectnews has changed.
-
- Duplicate delivery suppression is now required for Sieve.
- * Upgrading from the Cyrus IMAP server version 1.6.1 or earlier
- (including 1.5.x!): the quota and user directories are now hashed
- by the first character of the username. This is to reduce the
- number of entries in any given directory. It doesn't do a great job
- (and in some cases it will do a really poor job) but as a quick
- hack it shouldn't make things worse. Optionally, the data
- partitions can also be hashed by enabling the "hashimapspool"
- option.
-
- You must hash your directories using the "dohash" script in the
- tools subdirectory. (If you want to hash your mail spool, be sure
- to set "hashimapspool" before running "dohash".) This must be run
- as the Cyrus user. Be sure to stop mail service while converting.
- Doing this in single user mode is probably the safest.
-
-Upgrading from 1.5
-
- * Upgrading from the Cyrus IMAP server version 1.5 or earlier:
- libsasl is now required. Configuring SASL to work may be a chore,
- especially if you use shadow passwords.
- * An ANSI C compiler is now required. gcc should work fine and can be
- acquired from http://www.gnu.org/software/gcc/gcc.html.
- * Make sure to read the upgrading instructions under 1.6 above.
- * Upgrading from 1.5.14 or earlier requires deleting the delivered
- database. Remove the file delivered.db in the configdirectory and
- make a directory called "deliverdb" in the configdirectory. This
- may cause some duplicates to get through.
- * Upgrading from 1.5.14 or earlier requires removing the PTS cache
- database (if the AFS PTS group support is used, which is not the
- default). The PTS cache is in /var/ptclient/ptscache.db, and you
- should remove it. This is because the format for the PTS cache for
- IMSP has changed. If you use AFS ACLs, IMSPd, and IMAPd on the same
- machine, make sure you have version 1.5a5 of the IMSP server for
- this version of the IMAP server. (If you don't have IMSP, or AFS,
- don't worry about it.)
-
diff -Nru cyrus-imapd-2.4-2.4.9/doc/text/specs cyrus-imapd-2.4-2.4.12/doc/text/specs
--- cyrus-imapd-2.4-2.4.9/doc/text/specs 2011-06-21 19:51:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/doc/text/specs 2011-10-04 20:03:54.000000000 +0000
@@ -66,7 +66,17 @@
RFC 5524 Extended URLFETCH for Binary and Converted Parts
- draft-daboo-imap-annotatemore IMAP ANNOTATEMORE Extension
+ draft-daboo-imap-annotatemore ANNOTATEMORE Draft
+
+ RFC 5464 The IMAP METADATA Extension
+
+ draft-ietf-morg-list-specialuse IMAP SPECIALUSE Draft (And non-standard
+ Google XLIST support)
+
+ RFC 5819 IMAP4 Extension for Returning STATUS Information in Extended
+ LIST
+
+ RFC 5957 Display-Based Address Sorting for the IMAP4 SORT Extension
POP
diff -Nru cyrus-imapd-2.4-2.4.9/imap/annotate.c cyrus-imapd-2.4-2.4.12/imap/annotate.c
--- cyrus-imapd-2.4-2.4.9/imap/annotate.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/annotate.c 2011-10-04 19:53:03.000000000 +0000
@@ -1428,6 +1428,14 @@
return write_entry(mboxname, entry, userid, &theentry, tid);
}
+int annotatemore_commit(struct txn *tid) {
+ return tid ? DB->commit(anndb, tid) : 0;
+}
+
+int annotatemore_abort(struct txn *tid) {
+ return tid ? DB->abort(anndb, tid) : 0;
+}
+
struct storedata {
struct namespace *namespace;
const char *userid;
@@ -2275,7 +2283,8 @@
ae = xmalloc(sizeof(struct annotate_st_entry));
p2 = p;
- for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');
+ for (; *p && (isalnum(*p) ||
+ *p=='.' || *p=='-' || *p=='_' || *p=='/' || *p==':');
p++);
/* TV-TODO: should test for empty */
ae->name = xstrndup(p2, p-p2);
diff -Nru cyrus-imapd-2.4-2.4.9/imap/annotate.h cyrus-imapd-2.4-2.4.12/imap/annotate.h
--- cyrus-imapd-2.4-2.4.9/imap/annotate.h 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/annotate.h 2011-10-04 19:53:03.000000000 +0000
@@ -143,6 +143,8 @@
const char *value, const char *contenttype,
size_t size, time_t modifiedsince,
struct txn **tid);
+int annotatemore_commit(struct txn *tid);
+int annotatemore_abort(struct txn *tid);
/* rename the annotations for 'oldmboxname' to 'newmboxname'
* if 'olduserid' is non-NULL then the private annotations
diff -Nru cyrus-imapd-2.4-2.4.9/imap/append.c cyrus-imapd-2.4-2.4.12/imap/append.c
--- cyrus-imapd-2.4-2.4.9/imap/append.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/append.c 2011-10-04 19:53:03.000000000 +0000
@@ -456,7 +456,7 @@
if (destfile) {
/* this will hopefully ensure that the link() actually happened
and makes sure that the file actually hits disk */
- r = fsync(fileno(destfile));
+ fsync(fileno(destfile));
fclose(destfile);
}
if (r) {
diff -Nru cyrus-imapd-2.4-2.4.9/imap/duplicate.c cyrus-imapd-2.4-2.4.12/imap/duplicate.c
--- cyrus-imapd-2.4-2.4.9/imap/duplicate.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/duplicate.c 2011-10-04 19:53:03.000000000 +0000
@@ -121,9 +121,12 @@
return r;
}
-time_t duplicate_check(char *id, int idlen, const char *to, int tolen)
+time_t duplicate_check(duplicate_key_t *dkey)
{
char buf[1024];
+ int idlen = strlen(dkey->id);
+ int tolen = strlen(dkey->to);
+ int datelen = strlen(dkey->date);
int r;
const char *data = NULL;
int len = 0;
@@ -131,16 +134,18 @@
if (!duplicate_dbopen) return 0;
- if (idlen + tolen > (int) sizeof(buf) - 30) return 0;
- memcpy(buf, id, idlen);
+ if (idlen + tolen + datelen > (int) sizeof(buf) - 30) return 0;
+ memcpy(buf, dkey->id, idlen);
buf[idlen] = '\0';
- memcpy(buf + idlen + 1, to, tolen);
+ memcpy(buf + idlen + 1, dkey->to, tolen);
buf[idlen + tolen + 1] = '\0';
+ assert(dkey->date != NULL);
+ memcpy(buf + idlen + tolen + 2, dkey->date, datelen);
+ buf[idlen + tolen + datelen + 2] = '\0';
do {
r = DB->fetch(dupdb, buf,
- idlen + tolen + 2, /* +2 b/c 1 for the center null;
- +1 for the terminating null */
+ idlen + tolen + datelen + 3, /* We have three concatenated values now, all parts ending with '\0' */
&data, &len, NULL);
} while (r == CYRUSDB_AGAIN);
@@ -152,54 +157,59 @@
memcpy(&mark, data, sizeof(time_t));
} else if (r != CYRUSDB_OK) {
if (r != CYRUSDB_NOTFOUND) {
- syslog(LOG_ERR, "duplicate_check: error looking up %s/%s: %s",
- id, to,
- cyrusdb_strerror(r));
+ syslog(LOG_ERR, "duplicate_check: error looking up %s/%s/%s: %s",
+ dkey->id, dkey->to, dkey->date,
+ cyrusdb_strerror(r));
}
mark = 0;
}
- syslog(LOG_DEBUG, "duplicate_check: %-40s %-20s %ld",
- buf, buf+idlen+1, mark);
+ syslog(LOG_DEBUG, "duplicate_check: %-40s %-20s %-40s %ld",
+ buf, buf+idlen+1, buf+idlen+tolen+2, mark);
return mark;
}
-void duplicate_log(char *msgid, const char *name, char *action)
+void duplicate_log(duplicate_key_t *dkey, char *action)
{
- syslog(LOG_INFO, "dupelim: eliminated duplicate message to %s id %s (%s)",
- name, msgid, action);
+ assert(dkey->date != NULL);
+ syslog(LOG_INFO, "dupelim: eliminated duplicate message to %s id %s date %s (%s)",
+ dkey->to, dkey->id, dkey->date, action);
if (config_auditlog)
- syslog(LOG_NOTICE, "auditlog: duplicate sessionid=<%s> action=<%s> message-id=%s user=<%s>",
- session_id(), action, msgid, name);
+ syslog(LOG_NOTICE, "auditlog: duplicate sessionid=<%s> action=<%s> message-id=%s user=<%s> date=<%s>",
+ session_id(), action, dkey->id, dkey->to, dkey->date);
}
-void duplicate_mark(char *id, int idlen, const char *to, int tolen, time_t mark,
- unsigned long uid)
+void duplicate_mark(duplicate_key_t *dkey, time_t mark, unsigned long uid)
{
char buf[1024], data[100];
+ int idlen = strlen(dkey->id);
+ int tolen = strlen(dkey->to);
+ int datelen = strlen(dkey->date);
int r;
if (!duplicate_dbopen) return;
- if (idlen + tolen > (int) sizeof(buf) - 30) return;
- memcpy(buf, id, idlen);
+ if (idlen + tolen + datelen > (int) sizeof(buf) - 30) return;
+ memcpy(buf, dkey->id, idlen);
buf[idlen] = '\0';
- memcpy(buf + idlen + 1, to, tolen);
+ memcpy(buf + idlen + 1, dkey->to, tolen);
buf[idlen + tolen + 1] = '\0';
+ assert(dkey->date != NULL);
+ memcpy(buf + idlen + tolen + 2, dkey->date, datelen);
+ buf[idlen + tolen + datelen + 2] = '\0';
memcpy(data, &mark, sizeof(mark));
memcpy(data + sizeof(mark), &uid, sizeof(uid));
do {
r = DB->store(dupdb, buf,
- idlen + tolen + 2, /* +2 b/c 1 for the center null;
- +1 for the terminating null */
+ idlen + tolen + datelen + 3, /* We have three concatenated values now, all parts ending with '\0' */
data, sizeof(mark)+sizeof(uid), NULL);
} while (r == CYRUSDB_AGAIN);
- syslog(LOG_DEBUG, "duplicate_mark: %-40s %-20s %ld %lu",
- buf, buf+idlen+1, mark, uid);
+ syslog(LOG_DEBUG, "duplicate_mark: %-40s %-20s %-40s %ld %lu",
+ buf, buf+idlen+1, buf+idlen+tolen+2, mark, uid);
return;
}
diff -Nru cyrus-imapd-2.4-2.4.9/imap/duplicate.h cyrus-imapd-2.4-2.4.12/imap/duplicate.h
--- cyrus-imapd-2.4-2.4.9/imap/duplicate.h 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/duplicate.h 2011-10-04 19:53:03.000000000 +0000
@@ -49,12 +49,19 @@
/* name of the duplicate delivery database */
#define FNAME_DELIVERDB "/deliver.db"
+typedef struct duplicate_key {
+ const char *id;
+ const char *to;
+ const char *date;
+} duplicate_key_t;
+
+#define DUPLICATE_INITIALIZER { NULL, NULL, NULL }
+
int duplicate_init(const char *fname, int myflags);
-time_t duplicate_check(char *id, int idlen, const char *to, int tolen);
-void duplicate_log(char *msgid, const char *name, char *action);
-void duplicate_mark(char *id, int idlen, const char *to, int tolen, time_t mark,
- unsigned long uid);
+time_t duplicate_check(duplicate_key_t *dkey);
+void duplicate_log(duplicate_key_t *dkey, char *action);
+void duplicate_mark(duplicate_key_t *dkey, time_t mark, unsigned long uid);
int duplicate_find(char *msgid, int (*proc)(), void *rock);
int duplicate_prune(int seconds, struct hash_table *expire_table);
diff -Nru cyrus-imapd-2.4-2.4.9/imap/imapd.c cyrus-imapd-2.4-2.4.12/imap/imapd.c
--- cyrus-imapd-2.4-2.4.9/imap/imapd.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/imapd.c 2011-10-04 19:53:03.000000000 +0000
@@ -299,6 +299,7 @@
{ "ESEARCH", 2 },
{ "SORT", 2 },
{ "SORT=MODSEQ", 2 },
+ { "SORT=DISPLAY", 2 },
{ "THREAD=ORDEREDSUBJECT", 2 },
{ "THREAD=REFERENCES", 2 },
{ "ANNOTATEMORE", 2 },
@@ -438,7 +439,7 @@
static int subscribed_cb(const char *name, int matchlen, int maycreate,
struct list_rock *rock);
static void list_data(struct listargs *listargs);
-static void list_data_remote(char *tag, struct listargs *listargs);
+static int list_data_remote(char *tag, struct listargs *listargs);
extern int saslserver(sasl_conn_t *conn, const char *mech,
const char *init_resp, const char *resp_prefix,
@@ -3657,7 +3658,7 @@
prot_printf(backend_current->out, "%s %s {" SIZE_T_FMT "+}\r\n%s",
tag, cmd, strlen(name), name);
if (v->uidvalidity) {
- prot_printf(backend_current->out, " (QRESYNC %lu " MODSEQ_FMT,
+ prot_printf(backend_current->out, " (QRESYNC (%lu " MODSEQ_FMT,
v->uidvalidity, v->modseq);
if (v->sequence) {
prot_printf(backend_current->out, " %s", v->sequence);
@@ -3666,7 +3667,7 @@
prot_printf(backend_current->out, " (%s %s)",
v->match_seq, v->match_uid);
}
- prot_printf(backend_current->out, ")");
+ prot_printf(backend_current->out, "))");
}
prot_printf(backend_current->out, "\r\n");
@@ -5996,7 +5997,8 @@
mailboxes locally (frontend) and the subscriptions remotely
(INBOX backend). We can only pass the buck to the INBOX backend
if its running a unified config */
- list_data_remote(tag, listargs);
+ if (list_data_remote(tag, listargs))
+ return;
} else {
list_data(listargs);
}
@@ -6633,11 +6635,14 @@
c = getword(imapd_in, &arg);
if (c != ' ' && c != ')') goto badlist;
if (arg.s[0] == '\0') goto badlist;
- newquota = 0;
- for (p = arg.s; *p; p++) {
- if (!Uisdigit(*p)) goto badlist;
- newquota = newquota * 10 + *p - '0';
- if (newquota < 0) goto badlist; /* overflow */
+ /* accept "(storage -1)" as "()" to make move from unpatched cyrus possible */
+ if (strcmp(arg.s, "-1") != 0) {
+ newquota = 0;
+ for (p = arg.s; *p; p++) {
+ if (!Uisdigit(*p)) goto badlist;
+ newquota = newquota * 10 + *p - '0';
+ if (newquota < 0) goto badlist; /* overflow */
+ }
}
if (c == ')') break;
}
@@ -7101,8 +7106,8 @@
sawone[NAMESPACE_INBOX] =
!mboxlist_lookup(inboxname, NULL, NULL);
}
- sawone[NAMESPACE_USER] = 1;
- sawone[NAMESPACE_SHARED] = 1;
+ sawone[NAMESPACE_USER] = imapd_userisadmin ? 1 : imapd_namespace.accessible[NAMESPACE_USER];
+ sawone[NAMESPACE_SHARED] = imapd_userisadmin ? 1 : imapd_namespace.accessible[NAMESPACE_SHARED];
} else {
pattern = xstrdup("%");
/* now find all the exciting toplevel namespaces -
@@ -8853,9 +8858,16 @@
/* note use of + to force the setting of a nonexistant
* quotaroot */
- prot_printf(xfer->be->out, "Q01 SETQUOTA {" SIZE_T_FMT "+}\r\n" \
- "+%s (STORAGE %d)\r\n",
- strlen(extname)+1, extname, quota.limit);
+ if (quota.limit == -1) {
+ prot_printf(xfer->be->out, "Q01 SETQUOTA {" SIZE_T_FMT "+}\r\n" \
+ "+%s ()\r\n",
+ strlen(extname)+1, extname);
+ }
+ else {
+ prot_printf(xfer->be->out, "Q01 SETQUOTA {" SIZE_T_FMT "+}\r\n" \
+ "+%s (STORAGE %d)\r\n",
+ strlen(extname)+1, extname, quota.limit);
+ }
r = getresult(xfer->be->in, "Q01");
if (r) syslog(LOG_ERR,
"Could not move mailbox: %s, " \
@@ -9142,6 +9154,10 @@
(*sortcrit)[n].key = SORT_CC;
else if (!strcmp(criteria.s, "date"))
(*sortcrit)[n].key = SORT_DATE;
+ else if (!strcmp(criteria.s, "displayfrom"))
+ (*sortcrit)[n].key = SORT_DISPLAYFROM;
+ else if (!strcmp(criteria.s, "displayto"))
+ (*sortcrit)[n].key = SORT_DISPLAYTO;
else if (!strcmp(criteria.s, "from"))
(*sortcrit)[n].key = SORT_FROM;
else if (!strcmp(criteria.s, "size"))
@@ -10313,16 +10329,16 @@
* Retrieves the data and prints the untagged responses for a LIST command in
* the case of a remote inbox.
*/
-static void list_data_remote(char *tag, struct listargs *listargs)
+static int list_data_remote(char *tag, struct listargs *listargs)
{
if ((listargs->cmd & LIST_CMD_EXTENDED) &&
!CAPA(backend_inbox, CAPA_LISTEXTENDED)) {
/* client wants to use extended list command but backend doesn't
* support it */
- prot_printf(backend_inbox->out,
+ prot_printf(imapd_out,
"%s NO Backend server does not support LIST-EXTENDED\r\n",
tag);
- return;
+ return IMAP_MAILBOX_NOTSUPPORTED;
}
/* print tag, command and list selection options */
@@ -10378,6 +10394,8 @@
prot_printf(backend_inbox->out, "\r\n");
pipe_lsub(backend_inbox, imapd_userid, tag, 0,
(listargs->cmd & LIST_CMD_LSUB) ? "LSUB" : "LIST");
+
+ return 0;
}
/* Reset the given sasl_conn_t to a sane state */
@@ -10991,8 +11009,7 @@
{
static struct buf arg;
int c;
-
- prot_printf(imapd_out, "* ENABLED");
+ unsigned new_capa = imapd_client_capa;
do {
c = getword(imapd_in, &arg);
@@ -11003,20 +11020,12 @@
eatline(imapd_in, c);
return;
}
- lcase(arg.s);
- if (!strcmp(arg.s, "condstore")) {
- imapd_client_capa |= CAPA_CONDSTORE;
- prot_printf(imapd_out, " CONDSTORE");
- }
- else if (!strcmp(arg.s, "qresync")) {
- imapd_client_capa |= CAPA_QRESYNC | CAPA_CONDSTORE;
- if (imapd_index) imapd_index->qresync = 1;
- prot_printf(imapd_out, " QRESYNC CONDSTORE");
- }
+ if (!strcasecmp(arg.s, "condstore"))
+ new_capa |= CAPA_CONDSTORE;
+ else if (!strcasecmp(arg.s, "qresync"))
+ new_capa |= CAPA_QRESYNC | CAPA_CONDSTORE;
} while (c == ' ');
- prot_printf(imapd_out, "\r\n");
-
/* check for CRLF */
if (c == '\r') c = prot_getc(imapd_in);
if (c != '\n') {
@@ -11026,6 +11035,23 @@
return;
}
+ prot_printf(imapd_out, "* ENABLED");
+ if (!(imapd_client_capa & CAPA_CONDSTORE) &&
+ (new_capa & CAPA_CONDSTORE)) {
+ prot_printf(imapd_out, " CONDSTORE");
+ }
+ if (!(imapd_client_capa & CAPA_QRESYNC) &&
+ (new_capa & CAPA_QRESYNC)) {
+ prot_printf(imapd_out, " QRESYNC");
+ /* RFC5161 says that enable while selected is actually bogus,
+ * but it's no skin off our nose to support it */
+ if (imapd_index) imapd_index->qresync = 1;
+ }
+ prot_printf(imapd_out, "\r\n");
+
+ /* track the new capabilities */
+ imapd_client_capa = new_capa;
+
prot_printf(imapd_out, "%s OK %s\r\n", tag,
error_message(IMAP_OK_COMPLETED));
}
diff -Nru cyrus-imapd-2.4-2.4.9/imap/imapd.h cyrus-imapd-2.4-2.4.12/imap/imapd.h
--- cyrus-imapd-2.4-2.4.9/imap/imapd.h 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/imapd.h 2011-10-04 19:53:03.000000000 +0000
@@ -218,6 +218,8 @@
SORT_ARRIVAL,
SORT_CC,
SORT_DATE,
+ SORT_DISPLAYFROM,
+ SORT_DISPLAYTO,
SORT_FROM,
SORT_SIZE,
SORT_SUBJECT,
diff -Nru cyrus-imapd-2.4-2.4.9/imap/index.c cyrus-imapd-2.4-2.4.12/imap/index.c
--- cyrus-imapd-2.4-2.4.9/imap/index.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/index.c 2011-10-04 19:53:03.000000000 +0000
@@ -143,6 +143,7 @@
static void index_checkflags(struct index_state *state, int dirty);
static char *find_msgid(char *str, char **rem);
static char *get_localpart_addr(const char *header);
+static char *get_displayname(const char *header);
static char *index_extract_subject(const char *subj, size_t len, int *is_refwd);
static char *_index_extract_subject(char *s, int *is_refwd);
static void index_get_ids(MsgData *msgdata,
@@ -174,6 +175,7 @@
struct vanished_params *params);
static struct seqset *_parse_sequence(struct index_state *state,
const char *sequence, int usinguid);
+static void massage_header(char *hdr);
/* NOTE: Make sure these are listed in CAPABILITY_STRING */
static const struct thread_algorithm thread_algs[] = {
@@ -1350,7 +1352,8 @@
if (CONFIG_TIMING_VERBOSE) {
int len;
char *key_names[] = { "SEQUENCE", "ARRIVAL", "CC", "DATE", "FROM",
- "SIZE", "SUBJECT", "TO", "ANNOTATION", "MODSEQ" };
+ "SIZE", "SUBJECT", "TO", "ANNOTATION", "MODSEQ",
+ "DISPLAYFROM", "DISPLAYTO" };
char buf[1024] = "";
while (sortcrit->key && sortcrit->key < VECTOR_SIZE(key_names)) {
@@ -3505,9 +3508,10 @@
for (j = 0; sortcrit[j].key; j++) {
label = sortcrit[j].key;
- if ((label == SORT_CC ||
+ if ((label == SORT_CC || label == SORT_DATE ||
label == SORT_FROM || label == SORT_SUBJECT ||
- label == SORT_TO || label == LOAD_IDS) &&
+ label == SORT_TO || label == LOAD_IDS ||
+ label == SORT_DISPLAYFROM || label == SORT_DISPLAYTO) &&
!did_cache) {
/* fetch cached info */
@@ -3578,6 +3582,14 @@
index_get_ids(cur, envtokens, cacheitem_base(&im->record, CACHE_HEADERS),
cacheitem_size(&im->record, CACHE_HEADERS));
break;
+ case SORT_DISPLAYFROM:
+ cur->displayfrom = get_displayname(
+ cacheitem_base(&im->record, CACHE_FROM));
+ break;
+ case SORT_DISPLAYTO:
+ cur->displayto = get_displayname(
+ cacheitem_base(&im->record, CACHE_TO));
+ break;
}
}
@@ -3587,17 +3599,58 @@
return md;
}
+static char *get_localpart_addr(const char *header)
+{
+ struct address *addr = NULL;
+ char *ret;
+
+ parseaddr_list(header, &addr);
+ if (!addr) return xstrdup("");
+
+ if (addr->mailbox) {
+ ret = xstrdup(addr->mailbox);
+ }
+ else {
+ ret = xstrdup("");
+ }
+
+ parseaddr_free(addr);
+
+ return ret;
+}
+
/*
- * Get the 'local-part' of an address from a header
+ * Get the 'display-name' of an address from a header
*/
-static char *get_localpart_addr(const char *header)
+static char *get_displayname(const char *header)
{
struct address *addr = NULL;
char *ret;
parseaddr_list(header, &addr);
- ret = xstrdup(addr && addr->mailbox ? addr->mailbox : "");
+ if (!addr) return xstrdup("");
+
+ if (addr->name && addr->name[0]) {
+ char *p;
+ ret = xstrdup(addr->name);
+ for (p = ret; *p; p++)
+ *p = toupper(*p);
+ }
+ else if (addr->domain && addr->mailbox) {
+ /* mailbox@domain */
+ int len = strlen(addr->mailbox) + strlen(addr->domain) + 2;
+ ret = xmalloc(len);
+ snprintf(ret, len, "%s@%s", addr->mailbox, addr->domain);
+ }
+ else if (addr->mailbox) {
+ ret = xstrdup(addr->mailbox);
+ }
+ else {
+ ret = xstrdup("");
+ }
+
parseaddr_free(addr);
+
return ret;
}
@@ -3645,6 +3698,10 @@
free(buf);
+ for (s = base; *s; s++) {
+ *s = toupper(*s);
+ }
+
return base;
}
@@ -3906,6 +3963,7 @@
/* allocate some space for refs */
msgdata->ref = (char **) xmalloc(refsize * sizeof(char *));
/* find references */
+ massage_header(buf);
refstr = buf;
while ((ref = find_msgid(refstr, &refstr)) != NULL) {
/* reallocate space for this msgid if necessary */
@@ -4002,6 +4060,12 @@
case SORT_MODSEQ:
ret = numcmp(md1->modseq, md2->modseq);
break;
+ case SORT_DISPLAYFROM:
+ ret = strcmp(md1->displayfrom, md2->displayfrom);
+ break;
+ case SORT_DISPLAYTO:
+ ret = strcmp(md1->displayto, md2->displayto);
+ break;
}
} while (!ret && sortcrit[i++].key != SORT_SEQUENCE);
@@ -4021,6 +4085,8 @@
FREE(md->cc);
FREE(md->from);
FREE(md->to);
+ FREE(md->displayfrom);
+ FREE(md->displayto);
FREE(md->xsubj);
FREE(md->msgid);
for (i = 0; i < md->nref; i++)
@@ -4976,6 +5042,9 @@
struct mailbox *mailbox = state->mailbox;
struct index_map *im = &state->map[msgno-1];
+ /* flush any previous data */
+ memset(&over, 0, sizeof(struct nntp_overview));
+
if (mailbox_cacherecord(mailbox, &im->record))
return NULL; /* upper layers can cope! */
@@ -5031,8 +5100,6 @@
over.from = from;
}
- else
- over.from = NULL;
/* massage references */
refhdr.s = "references";
diff -Nru cyrus-imapd-2.4-2.4.9/imap/index.h cyrus-imapd-2.4-2.4.12/imap/index.h
--- cyrus-imapd-2.4-2.4.9/imap/index.h 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/index.h 2011-10-04 19:53:03.000000000 +0000
@@ -145,6 +145,8 @@
char *cc; /* local-part of first "cc" address */
char *from; /* local-part of first "from" address */
char *to; /* local-part of first "to" address */
+ char *displayfrom; /* display-name of first "from" address */
+ char *displayto; /* display-name of first "to" address */
char *xsubj; /* extracted subject text */
unsigned xsubj_hash; /* hash of extracted subject text */
int is_refwd; /* is message a reply or forward? */
diff -Nru cyrus-imapd-2.4-2.4.9/imap/ipurge.c cyrus-imapd-2.4-2.4.12/imap/ipurge.c
--- cyrus-imapd-2.4-2.4.9/imap/ipurge.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/ipurge.c 2011-10-04 19:53:03.000000000 +0000
@@ -82,6 +82,7 @@
int exact = -1;
int pattern = -1;
int skipflagged = 0;
+int onlydeleted = 0;
int use_sentdate = 1;
int invertmatch = 0;
@@ -118,7 +119,7 @@
fatal("must run as the Cyrus user", EC_USAGE);
}
- while ((option = getopt(argc, argv, "C:hxd:b:k:m:fsXi")) != EOF) {
+ while ((option = getopt(argc, argv, "C:hxd:b:k:m:fsXio")) != EOF) {
switch (option) {
case 'C': /* alt config file */
alt_config = optarg;
@@ -162,6 +163,9 @@
case 'i' : {
invertmatch = 1;
} break;
+ case 'o' : {
+ onlydeleted = 1;
+ } break;
case 'h':
default: usage(argv[0]);
}
@@ -219,7 +223,7 @@
int
usage(char *name) {
- printf("usage: %s [-f] [-s] [-C ] [-x] [-X] [-i] {-d days | -b bytes|-k Kbytes|-m Mbytes}\n\t[mboxpattern1 ... [mboxpatternN]]\n", name);
+ printf("usage: %s [-f] [-s] [-C ] [-x] [-X] [-i] [-o] {-d days | -b bytes|-k Kbytes|-m Mbytes}\n\t[mboxpattern1 ... [mboxpatternN]]\n", name);
printf("\tthere are no defaults and at least one of -d, -b, -k, -m\n\tmust be specified\n");
printf("\tif no mboxpattern is given %s works on all mailboxes\n", name);
printf("\t -x specifies an exact match for days or size\n");
@@ -227,6 +231,7 @@
printf("\t -s skip over messages that are flagged.\n");
printf("\t -X use delivery time instead of date header for date matches.\n");
printf("\t -i invert match logic: -x means not equal, date is for newer, size is for smaller.\n");
+ printf("\t -o only purge messages that are deleted.\n");
exit(0);
}
@@ -294,6 +299,9 @@
if (skipflagged && record->system_flags & FLAG_FLAGGED)
return 0;
+ if (onlydeleted && !(record->system_flags & FLAG_DELETED))
+ return 0;
+
if (exact == 1) {
if (days >= 0) {
/* printf("comparing %ld :: %ld\n", my_time, the_record->sentdate); */
diff -Nru cyrus-imapd-2.4-2.4.9/imap/lmtpd.c cyrus-imapd-2.4-2.4.12/imap/lmtpd.c
--- cyrus-imapd-2.4-2.4.9/imap/lmtpd.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/lmtpd.c 2011-10-04 19:53:03.000000000 +0000
@@ -496,6 +496,7 @@
const char *user,
char *notifyheader,
const char *mailboxname,
+ char *date,
int quotaoverride,
int acloverride)
{
@@ -503,6 +504,7 @@
struct appendstate as;
unsigned long uid;
const char *notifier;
+ duplicate_key_t dkey = {NULL, NULL, NULL};
r = append_setup(&as, mailboxname,
authuser, authstate, acloverride ? 0 : ACL_POST,
@@ -511,9 +513,12 @@
(long) size : 0);
/* check for duplicate message */
+ dkey.id = id;
+ dkey.to = mailboxname;
+ dkey.date = date;
if (!r && id && dupelim && !(as.mailbox->i.options & OPT_IMAP_DUPDELIVER) &&
- duplicate_check(id, strlen(id), mailboxname, strlen(mailboxname))) {
- duplicate_log(id, mailboxname, "delivery");
+ duplicate_check(&dkey)) {
+ duplicate_log(&dkey, "delivery");
append_abort(&as);
return 0;
}
@@ -539,8 +544,7 @@
syslog(LOG_INFO, "Delivered: %s to mailbox: %s",
id, mailboxname);
if (dupelim && id) {
- duplicate_mark(id, strlen(id), mailboxname,
- strlen(mailboxname), time(NULL), uid);
+ duplicate_mark(&dkey, time(NULL), uid);
}
mailbox_close(&mailbox);
}
@@ -605,7 +609,6 @@
struct rcpt *rc;
struct backend *remote;
int i = 0;
- int r = 0;
lt->from = msgdata->return_path;
lt->auth = d->authas[0] ? d->authas : NULL;
@@ -627,7 +630,10 @@
remote = proxy_findserver(d->server, &lmtp_protocol, "",
&backend_cached, NULL, NULL, NULL);
if (remote) {
- r = lmtp_runtxn(remote, lt);
+ int txn_timeout = config_getint(IMAPOPT_LMTPTXN_TIMEOUT);
+ if (txn_timeout)
+ prot_settimeout(remote->in, txn_timeout);
+ lmtp_runtxn(remote, lt);
} else {
/* remote server not available; tempfail all deliveries */
for (rc = d->to, i = 0; i < d->rnum; i++) {
@@ -688,7 +694,7 @@
md->size, flag, nflags,
mydata->authuser, mydata->authstate, md->id,
NULL, mydata->notifyheader,
- namebuf, quotaoverride, 0);
+ namebuf, md->date, quotaoverride, 0);
}
/* case 2: ordinary user */
@@ -708,7 +714,7 @@
md->size, flag, nflags,
mydata->authuser, mydata->authstate, md->id,
username, mydata->notifyheader,
- namebuf, quotaoverride, 0);
+ namebuf, md->date, quotaoverride, 0);
}
if (ret2 == IMAP_MAILBOX_NONEXISTENT && mailboxname &&
config_getswitch(IMAPOPT_LMTP_FUZZY_MAILBOX_MATCH) &&
@@ -718,7 +724,7 @@
md->size, flag, nflags,
mydata->authuser, mydata->authstate, md->id,
username, mydata->notifyheader,
- namebuf, quotaoverride, 0);
+ namebuf, md->date, quotaoverride, 0);
}
if (ret2) {
/* normal delivery to INBOX */
@@ -730,7 +736,7 @@
md->size, flag, nflags,
(char *) username, authstate, md->id,
username, mydata->notifyheader,
- namebuf, quotaoverride, 1);
+ namebuf, md->date, quotaoverride, 1);
if (authstate) auth_freestate(authstate);
}
diff -Nru cyrus-imapd-2.4-2.4.9/imap/lmtpd.h cyrus-imapd-2.4-2.4.12/imap/lmtpd.h
--- cyrus-imapd-2.4-2.4.9/imap/lmtpd.h 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/lmtpd.h 2011-10-04 19:53:03.000000000 +0000
@@ -89,6 +89,7 @@
const char *user,
char *notifyheader,
const char *mailboxname,
+ char *date,
int quotaoverride,
int acloverride);
diff -Nru cyrus-imapd-2.4-2.4.9/imap/lmtpengine.c cyrus-imapd-2.4-2.4.12/imap/lmtpengine.c
--- cyrus-imapd-2.4-2.4.9/imap/lmtpengine.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/lmtpengine.c 2011-10-04 19:53:03.000000000 +0000
@@ -282,6 +282,7 @@
ret->return_path = NULL;
ret->rcpt = NULL;
ret->rcpt_num = 0;
+ ret->date = NULL;
ret->authuser = NULL;
ret->authstate = NULL;
@@ -319,6 +320,9 @@
}
free(m->rcpt);
}
+ if (m->date) {
+ free(m->date);
+ }
if (m->authuser) {
free(m->authuser);
@@ -462,6 +466,7 @@
{
char *p, *ret;
int len;
+ int lmtp_strict_rfc2821 = config_getswitch(IMAPOPT_LMTP_STRICT_RFC2821);
p = s;
@@ -500,6 +505,12 @@
if (!*++p) return 0;
}
else {
+ if (*p & 128 && !lmtp_strict_rfc2821) {
+ /* this prevents us from becoming a backscatter
+ source if our MTA allows 8bit in local-part
+ of adresses. */
+ *p = 'X';
+ }
if (*p <= ' ' || (*p & 128) ||
strchr("<>()[]\\,;:\"", *p)) return 0;
}
@@ -734,12 +745,16 @@
}
/* get date */
- if (!spool_getheader(m->hdrcache, "date")) {
+ if (!(body = spool_getheader(m->hdrcache, "date"))) {
/* no date, create one */
addbody = xstrdup(datestr);
+ m->date = xstrdup(datestr);
fprintf(f, "Date: %s\r\n", addbody);
spool_cache_header(xstrdup("Date"), addbody, m->hdrcache);
}
+ else {
+ m->date = xstrdup(body[0]);
+ }
if (!m->return_path &&
(body = msg_getheader(m, "return-path"))) {
diff -Nru cyrus-imapd-2.4-2.4.9/imap/lmtpengine.h cyrus-imapd-2.4-2.4.12/imap/lmtpengine.h
--- cyrus-imapd-2.4-2.4.9/imap/lmtpengine.h 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/lmtpengine.h 2011-10-04 19:53:03.000000000 +0000
@@ -65,6 +65,7 @@
char *return_path; /* where to return message */
address_data_t **rcpt; /* to recipients of this message */
int rcpt_num; /* number of recipients */
+ char *date; /* date field of header */
/* auth state */
char *authuser;
diff -Nru cyrus-imapd-2.4-2.4.9/imap/lmtp_sieve.c cyrus-imapd-2.4-2.4.12/imap/lmtp_sieve.c
--- cyrus-imapd-2.4-2.4.9/imap/lmtp_sieve.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/lmtp_sieve.c 2011-10-04 19:53:03.000000000 +0000
@@ -225,6 +225,7 @@
time_t t;
char datestr[80];
pid_t sm_pid, p;
+ duplicate_key_t dkey = DUPLICATE_INITIALIZER;
smbuf[0] = "sendmail";
smbuf[1] = "-i"; /* ignore dots */
@@ -244,10 +245,13 @@
global_outgoing_count++, config_servername);
namebuf = make_sieve_db(mailreceip);
- duplicate_mark(buf, strlen(buf), namebuf, strlen(namebuf), t, 0);
- fprintf(sm, "Message-ID: %s\r\n", buf);
+ dkey.id = buf;
+ dkey.to = namebuf;
rfc822date_gen(datestr, sizeof(datestr), t);
+ dkey.date = datestr;
+ duplicate_mark(&dkey, t, 0);
+ fprintf(sm, "Message-ID: %s\r\n", buf);
fprintf(sm, "Date: %s\r\n", datestr);
fprintf(sm, "X-Sieve: %s\r\n", SIEVE_VERSION);
@@ -368,6 +372,7 @@
script_data_t *sd = (script_data_t *) sc;
message_data_t *m = ((deliver_data_t *) mc)->m;
char buf[8192], *sievedb = NULL;
+ duplicate_key_t dkey = DUPLICATE_INITIALIZER;
int res;
/* if we have a msgid, we can track our redirects */
@@ -375,17 +380,19 @@
snprintf(buf, sizeof(buf), "%s-%s", m->id, rc->addr);
sievedb = make_sieve_db(sd->username);
+ dkey.id = buf;
+ dkey.to = sievedb;
+ dkey.date = ((deliver_data_t *) mc)->m->date;
/* ok, let's see if we've redirected this message before */
- if (duplicate_check(buf, strlen(buf), sievedb, strlen(sievedb))) {
- duplicate_log(m->id, sd->username, "redirect");
+ if (duplicate_check(&dkey)) {
+ duplicate_log(&dkey, "redirect");
return SIEVE_OK;
}
}
if ((res = send_forward(rc->addr, m->return_path, m->data)) == 0) {
/* mark this message as redirected */
- if (sievedb) duplicate_mark(buf, strlen(buf),
- sievedb, strlen(sievedb), time(NULL), 0);
+ if (sievedb) duplicate_mark(&dkey, time(NULL), 0);
snmp_increment(SIEVE_REDIRECT, 1);
syslog(LOG_INFO, "sieve redirected: %s to: %s",
@@ -494,7 +501,7 @@
fc->imapflags->flag, fc->imapflags->nflags,
(char *) sd->username, sd->authstate, md->id,
sd->username, mdata->notifyheader,
- namebuf, quotaoverride, 0);
+ namebuf, md->date, quotaoverride, 0);
}
if (!ret) {
@@ -554,6 +561,8 @@
return SIEVE_OK;
}
+static const char hex[] = "0123456789ABCDEF";
+
static int autorespond(void *ac,
void *ic __attribute__((unused)),
void *sc,
@@ -564,14 +573,25 @@
script_data_t *sd = (script_data_t *) sc;
time_t t, now;
int ret;
+ int i;
+ duplicate_key_t dkey = DUPLICATE_INITIALIZER;
+ char *id;
snmp_increment(SIEVE_VACATION_TOTAL, 1);
now = time(NULL);
/* ok, let's see if we've responded before */
- t = duplicate_check((char *) arc->hash, SIEVE_HASHLEN,
- sd->username, strlen(sd->username));
+ id = xmalloc(SIEVE_HASHLEN*2 + 1);
+ for (i = 0; i < SIEVE_HASHLEN; i++) {
+ id[i*2+0] = hex[arc->hash[i] / 16];
+ id[i*2+1] = hex[arc->hash[i] % 16];
+ }
+ id[SIEVE_HASHLEN*2] = '\0';
+ dkey.id = id;
+ dkey.to = sd->username;
+ dkey.date = ""; /* no date on these, ID is custom */
+ t = duplicate_check(&dkey);
if (t) {
if (now >= t) {
/* yay, we can respond again! */
@@ -585,11 +605,11 @@
}
if (ret == SIEVE_OK) {
- duplicate_mark((char *) arc->hash, SIEVE_HASHLEN,
- sd->username, strlen(sd->username),
- now + arc->days * (24 * 60 * 60), 0);
+ duplicate_mark(&dkey, now + arc->days * (24 * 60 * 60), 0);
}
+ free(id);
+
return ret;
}
@@ -607,6 +627,7 @@
sieve_send_response_context_t *src = (sieve_send_response_context_t *) ac;
message_data_t *md = ((deliver_data_t *) mc)->m;
script_data_t *sdata = (script_data_t *) sc;
+ duplicate_key_t dkey = DUPLICATE_INITIALIZER;
smbuf[0] = "sendmail";
smbuf[1] = "-i"; /* ignore dots */
@@ -667,8 +688,10 @@
if (sm_stat == 0) { /* sendmail exit value */
sievedb = make_sieve_db(sdata->username);
- duplicate_mark(outmsgid, strlen(outmsgid),
- sievedb, strlen(sievedb), t, 0);
+ dkey.id = outmsgid;
+ dkey.to = sievedb;
+ dkey.date = ((deliver_data_t *) mc)->m->date;
+ duplicate_mark(&dkey, t, 0);
snmp_increment(SIEVE_VACATION_REPLIED, 1);
@@ -879,6 +902,7 @@
char userbuf[MAX_MAILBOX_BUFFER] = "";
char authuserbuf[MAX_MAILBOX_BUFFER];
int r = 0;
+ duplicate_key_t dkey = DUPLICATE_INITIALIZER;
if (!user) {
/* shared mailbox, check for annotation */
@@ -935,8 +959,10 @@
domain ? domain : "");
sdb = make_sieve_db(namebuf);
- duplicate_mark(msgdata->m->id, strlen(msgdata->m->id),
- sdb, strlen(sdb), time(NULL), 0);
+ dkey.id = msgdata->m->id;
+ dkey.to = sdb;
+ dkey.date = msgdata->m->date;
+ duplicate_mark(&dkey, time(NULL), 0);
}
/* free everything */
diff -Nru cyrus-imapd-2.4-2.4.9/imap/mailbox.c cyrus-imapd-2.4-2.4.12/imap/mailbox.c
--- cyrus-imapd-2.4-2.4.9/imap/mailbox.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/mailbox.c 2011-10-04 19:53:03.000000000 +0000
@@ -1433,6 +1433,42 @@
}
/*
+ * bsearch() function to compare two index record buffers by UID
+ */
+static int rec_compar(const void *key, const void *mem)
+{
+ uint32_t uid = *((uint32_t *) key);
+ struct index_record record;
+ int r;
+
+ if ((r = mailbox_buf_to_index_record(mem, &record))) return r;
+
+ if (uid < record.uid) return -1;
+ return (uid > record.uid);
+}
+
+/*
+ * Find the index record in mailbox corresponding to UID
+ */
+int mailbox_find_index_record(struct mailbox *mailbox, uint32_t uid,
+ struct index_record *record)
+{
+ const void *mem, *base = mailbox->index_base + mailbox->i.start_offset;
+ size_t num_records = mailbox->i.num_records;
+ size_t size = mailbox->i.record_size;
+ int r;
+
+ mem = bsearch(&uid, base, num_records, size, rec_compar);
+ if (!mem) return CYRUSDB_NOTFOUND;
+
+ if ((r = mailbox_buf_to_index_record(mem, record))) return r;
+
+ record->recno = ((mem - base) / size) + 1;
+
+ return 0;
+}
+
+/*
* Lock the index file for 'mailbox'. Reread index file header if necessary.
*/
int mailbox_lock_index(struct mailbox *mailbox, int locktype)
@@ -2140,6 +2176,9 @@
/* Append MUST have a message with data */
assert(record->size);
+ /* GUID must not be null */
+ assert(!message_guid_isnull(&record->guid));
+
/* belt AND suspenders - check the previous record too */
if (mailbox->i.num_records) {
struct index_record prev;
diff -Nru cyrus-imapd-2.4-2.4.9/imap/mailbox.h cyrus-imapd-2.4-2.4.12/imap/mailbox.h
--- cyrus-imapd-2.4-2.4.9/imap/mailbox.h 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/mailbox.h 2011-10-04 19:53:03.000000000 +0000
@@ -457,6 +457,8 @@
struct index_record *record);
extern int mailbox_append_index_record(struct mailbox *mailbox,
struct index_record *record);
+extern int mailbox_find_index_record(struct mailbox *mailbox, uint32_t uid,
+ struct index_record *record);
extern int mailbox_set_acl(struct mailbox *mailbox, const char *acl,
int dirty_modseq);
diff -Nru cyrus-imapd-2.4-2.4.9/imap/Makefile.in cyrus-imapd-2.4-2.4.12/imap/Makefile.in
--- cyrus-imapd-2.4-2.4.9/imap/Makefile.in 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/Makefile.in 2011-10-04 19:53:03.000000000 +0000
@@ -347,12 +347,6 @@
$(CC) $(LDFLAGS) -o $@ unexpunge.o $(CLIOBJS) \
libimap.a $(DEPLIBS) $(LIBS)
-make_md5: make_md5.o libimap.a mutex_fake.o $(DEPLIBS)
- $(CC) $(LDFLAGS) -o make_md5 make_md5.o libimap.a mutex_fake.o $(DEPLIBS) $(LIBS)
-
-make_sha1: make_sha1.o libimap.a mutex_fake.o $(DEPLIBS)
- $(CC) $(LDFLAGS) -o make_sha1 make_sha1.o libimap.a mutex_fake.o $(DEPLIBS) $(LIBS)
-
sync_client: sync_client.o sync_support.o \
backend.o tls.o imapparse.o libimap.a mutex_fake.o $(DEPLIBS)
$(CC) $(LDFLAGS) -o \
diff -Nru cyrus-imapd-2.4-2.4.9/imap/mboxlist.c cyrus-imapd-2.4-2.4.12/imap/mboxlist.c
--- cyrus-imapd-2.4-2.4.9/imap/mboxlist.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/mboxlist.c 2011-10-04 19:53:03.000000000 +0000
@@ -175,9 +175,12 @@
/* copy out interesting parts */
mbtype = strtol(data, &p, 10);
- if (*p == ' ') p++;
+ if (!p)
+ return IMAP_IOERROR;
+
+ if (*p == ' ' && (p - data) < datalen) p++;
q = partition;
- while (*p != ' ') { /* copy out partition name */
+ while (*p != ' ' && (p - data) < datalen) { /* copy out partition name */
*q++ = *p++;
}
*q = '\0';
@@ -1755,6 +1758,16 @@
return r;
}
+int mboxlist_allmbox(const char *prefix, foreach_cb *proc, void *rock)
+{
+ int r;
+ char *search = prefix ? (char *)prefix : "";
+
+ r = DB->foreach(mbdb, search, strlen(search), NULL, proc, rock, 0);
+
+ return r;
+}
+
/*
* Find all mailboxes that match 'pattern'.
* 'isadmin' is nonzero if user is a mailbox admin. 'userid'
@@ -1765,7 +1778,7 @@
* case it wants some persistant storage or extra data.
*/
/* Find all mailboxes that match 'pattern'. */
-int mboxlist_findall(struct namespace *namespace __attribute__((unused)),
+int mboxlist_findall(struct namespace *namespace,
const char *pattern, int isadmin, const char *userid,
struct auth_state *auth_state, int (*proc)(), void *rock)
{
@@ -1781,6 +1794,8 @@
char domainpat[MAX_MAILBOX_BUFFER] = ""; /* do intra-domain fetches only */
char *pat = NULL;
+ if (!namespace) namespace = mboxname_get_adminnamespace();
+
if (config_virtdomains) {
char *domain;
@@ -1913,7 +1928,7 @@
NULL);
}
- if(!r) {
+ if (!r && (isadmin || namespace->accessible[NAMESPACE_USER])) {
cbrock.find_namespace = NAMESPACE_USER;
/* switch to pattern with domain prepended */
glob_free(&cbrock.g);
@@ -1958,6 +1973,8 @@
char domainpat[MAX_MAILBOX_BUFFER]; /* do intra-domain fetches only */
char *pat = NULL;
+ if (!namespace) namespace = mboxname_get_adminnamespace();
+
if (config_virtdomains && userid && (p = strchr(userid, '@'))) {
userlen = p - userid;
domainlen = strlen(p); /* includes separator */
@@ -2057,33 +2074,35 @@
*
* If "Other Users*" can match pattern, search for those mailboxes next
*/
- len = strlen(namespace->prefix[NAMESPACE_USER]);
- if(len>0) len--;
+ if (isadmin || namespace->accessible[NAMESPACE_USER]) {
+ len = strlen(namespace->prefix[NAMESPACE_USER]);
+ if(len>0) len--;
- if (!strncmp(namespace->prefix[NAMESPACE_USER], pattern,
+ if (!strncmp(namespace->prefix[NAMESPACE_USER], pattern,
prefixlen < len ? prefixlen : len)) {
- if (prefixlen < len) {
- strlcpy(domainpat+domainlen, pattern+prefixlen,
+ if (prefixlen < len) {
+ strlcpy(domainpat+domainlen, pattern+prefixlen,
sizeof(domainpat)-domainlen);
- cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
- }
- else {
- strlcpy(domainpat+domainlen, "user", sizeof(domainpat)-domainlen);
- strlcat(domainpat, pattern+len, sizeof(domainpat));
- cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
- }
- cbrock.find_namespace = NAMESPACE_USER;
- cbrock.inboxoffset = 0;
+ cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
+ }
+ else {
+ strlcpy(domainpat+domainlen, "user", sizeof(domainpat)-domainlen);
+ strlcat(domainpat, pattern+len, sizeof(domainpat));
+ cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
+ }
+ cbrock.find_namespace = NAMESPACE_USER;
+ cbrock.inboxoffset = 0;
- /* iterate through prefixes matching usermboxname */
- strlcpy(domainpat+domainlen, "user", sizeof(domainpat)-domainlen);
- DB->foreach(mbdb,
- domainpat, strlen(domainpat),
- &find_p, &find_cb, &cbrock,
- NULL);
+ /* iterate through prefixes matching usermboxname */
+ strlcpy(domainpat+domainlen, "user", sizeof(domainpat)-domainlen);
+ DB->foreach(mbdb,
+ domainpat, strlen(domainpat),
+ &find_p, &find_cb, &cbrock,
+ NULL);
- glob_free(&cbrock.g);
+ glob_free(&cbrock.g);
+ }
}
/*
@@ -2092,55 +2111,57 @@
* search for all remaining mailboxes.
* just bother looking at the ones that have the same pattern prefix.
*/
- len = strlen(namespace->prefix[NAMESPACE_SHARED]);
- if(len>0) len--;
- if (!strncmp(namespace->prefix[NAMESPACE_SHARED], pattern,
- prefixlen < len ? prefixlen : len)) {
+ if (isadmin || namespace->accessible[NAMESPACE_SHARED]) {
+ len = strlen(namespace->prefix[NAMESPACE_SHARED]);
+ if(len>0) len--;
+ if (!strncmp(namespace->prefix[NAMESPACE_SHARED], pattern,
+ prefixlen < len ? prefixlen : len)) {
- cbrock.find_namespace = NAMESPACE_SHARED;
- cbrock.inboxoffset = 0;
+ cbrock.find_namespace = NAMESPACE_SHARED;
+ cbrock.inboxoffset = 0;
- if (prefixlen <= len) {
- /* Skip pattern which matches shared namespace prefix */
- for (p = pat+prefixlen; *p; p++) {
- if (*p == '%') continue;
- else if (*p == '.') p++;
- break;
- }
+ if (prefixlen <= len) {
+ /* Skip pattern which matches shared namespace prefix */
+ for (p = pat+prefixlen; *p; p++) {
+ if (*p == '%') continue;
+ else if (*p == '.') p++;
+ break;
+ }
- if (*pattern && !strchr(pattern, '.') &&
+ if (*pattern && !strchr(pattern, '.') &&
pattern[strlen(pattern)-1] == '%') {
/* special case: LIST "" *% -- output prefix */
- cbrock.checkshared = 1;
- }
+ cbrock.checkshared = 1;
+ }
- if ((cbrock.checkshared || prefixlen == len) && !*p) {
- /* special case: LIST "" % -- output prefix
- (if we have a shared mbox) and quit */
- strlcpy(domainpat+domainlen, "*", sizeof(domainpat)-domainlen);
- cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
- cbrock.checkshared = 2;
- }
- else {
- strlcpy(domainpat+domainlen, p, sizeof(domainpat)-domainlen);
+ if ((cbrock.checkshared || prefixlen == len) && !*p) {
+ /* special case: LIST "" % -- output prefix
+ (if we have a shared mbox) and quit */
+ strlcpy(domainpat+domainlen, "*", sizeof(domainpat)-domainlen);
+ cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
+ cbrock.checkshared = 2;
+ }
+ else {
+ strlcpy(domainpat+domainlen, p, sizeof(domainpat)-domainlen);
+ cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
+ }
+
+ domainpat[domainlen] = '\0';
+ DB->foreach(mbdb,
+ domainpat, domainlen,
+ &find_p, &find_cb, &cbrock,
+ NULL);
+ }
+ else if (pattern[len] == '.') {
+ strlcpy(domainpat+domainlen, pattern+len+1,
+ sizeof(domainpat)-domainlen);
cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
- }
-
- domainpat[domainlen] = '\0';
- DB->foreach(mbdb,
- domainpat, domainlen,
- &find_p, &find_cb, &cbrock,
- NULL);
- }
- else if (pattern[len] == '.') {
- strlcpy(domainpat+domainlen, pattern+len+1,
- sizeof(domainpat)-domainlen);
- cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
- DB->foreach(mbdb,
- domainpat, domainlen+prefixlen-(len+1),
- &find_p, &find_cb, &cbrock,
+ DB->foreach(mbdb,
+ domainpat, domainlen+prefixlen-(len+1),
+ &find_p, &find_cb, &cbrock,
NULL);
+ }
}
}
@@ -2535,7 +2556,7 @@
* is the user's login id. For each matching mailbox, calls
* 'proc' with the name of the mailbox.
*/
-int mboxlist_findsub(struct namespace *namespace __attribute__((unused)),
+int mboxlist_findsub(struct namespace *namespace,
const char *pattern, int isadmin __attribute__((unused)),
const char *userid, struct auth_state *auth_state,
int (*proc)(), void *rock, int force)
@@ -2553,6 +2574,8 @@
char domainpat[MAX_MAILBOX_BUFFER]; /* do intra-domain fetches only */
char *pat = NULL;
+ if (!namespace) namespace = mboxname_get_adminnamespace();
+
if (config_virtdomains && userid && (p = strchr(userid, '@'))) {
userlen = p - userid;
domainlen = strlen(p); /* includes separator */
@@ -2663,20 +2686,22 @@
cbrock.usermboxnamelen = 0;
}
- cbrock.find_namespace = NAMESPACE_USER;
- /* switch to pattern with domain prepended */
- glob_free(&cbrock.g);
- cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
- cbrock.inboxoffset = 0;
- if (usermboxnamelen) {
- usermboxname[--usermboxnamelen] = '\0';
- cbrock.usermboxname = usermboxname;
- cbrock.usermboxnamelen = usermboxnamelen;
- }
- /* search for all remaining mailboxes.
- just bother looking at the ones that have the same pattern prefix. */
- SUBDB->foreach(subs, domainpat, domainlen + prefixlen,
- &find_p, &find_cb, &cbrock, NULL);
+ if (isadmin || namespace->accessible[NAMESPACE_USER]) {
+ cbrock.find_namespace = NAMESPACE_USER;
+ /* switch to pattern with domain prepended */
+ glob_free(&cbrock.g);
+ cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
+ cbrock.inboxoffset = 0;
+ if (usermboxnamelen) {
+ usermboxname[--usermboxnamelen] = '\0';
+ cbrock.usermboxname = usermboxname;
+ cbrock.usermboxnamelen = usermboxnamelen;
+ }
+ /* search for all remaining mailboxes.
+ just bother looking at the ones that have the same pattern prefix. */
+ SUBDB->foreach(subs, domainpat, domainlen + prefixlen,
+ &find_p, &find_cb, &cbrock, NULL);
+ }
done:
if (subs) mboxlist_closesubs(subs);
@@ -2720,6 +2745,8 @@
char domainpat[MAX_MAILBOX_BUFFER]; /* do intra-domain fetches only */
char *pat = NULL;
+ if (!namespace) namespace = mboxname_get_adminnamespace();
+
if (config_virtdomains && userid && (p = strchr(userid, '@'))) {
userlen = p - userid;
domainlen = strlen(p); /* includes separator */
@@ -2827,33 +2854,36 @@
*
* If "Other Users*" can match pattern, search for those subscriptions next
*/
- len = strlen(namespace->prefix[NAMESPACE_USER]);
- if (len>0) len--; /* Remove Separator */
- if (!strncmp(namespace->prefix[NAMESPACE_USER], pattern,
- prefixlen < len ? prefixlen : len)) {
-
- if (prefixlen < len) {
- strlcpy(domainpat+domainlen, pattern+prefixlen,
- sizeof(domainpat)-domainlen);
- cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
- }
- else {
- strlcpy(domainpat+domainlen, "user",
- sizeof(domainpat)-domainlen);
- strlcat(domainpat, pattern+len, sizeof(domainpat));
- cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
- }
- cbrock.find_namespace = NAMESPACE_USER;
- cbrock.inboxoffset = 0;
- /* iterate through prefixes matching usermboxname */
- strlcpy(domainpat+domainlen, "user", sizeof(domainpat)-domainlen);
- SUBDB->foreach(subs,
- domainpat, strlen(domainpat),
- &find_p, &find_cb, &cbrock,
- NULL);
+ if (isadmin || namespace->accessible[NAMESPACE_USER]) {
+ len = strlen(namespace->prefix[NAMESPACE_USER]);
+ if(len>0) len--; /* Remove Separator */
+ if (!strncmp(namespace->prefix[NAMESPACE_USER], pattern,
+ prefixlen < len ? prefixlen : len)) {
+
+ if (prefixlen < len) {
+ strlcpy(domainpat+domainlen, pattern+prefixlen,
+ sizeof(domainpat)-domainlen);
+ cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
+ }
+ else {
+ strlcpy(domainpat+domainlen, "user",
+ sizeof(domainpat)-domainlen);
+ strlcat(domainpat, pattern+len, sizeof(domainpat));
+ cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
+ }
+ cbrock.find_namespace = NAMESPACE_USER;
+ cbrock.inboxoffset = 0;
+
+ /* iterate through prefixes matching usermboxname */
+ strlcpy(domainpat+domainlen, "user", sizeof(domainpat)-domainlen);
+ SUBDB->foreach(subs,
+ domainpat, strlen(domainpat),
+ &find_p, &find_cb, &cbrock,
+ NULL);
- glob_free(&cbrock.g);
+ glob_free(&cbrock.g);
+ }
}
/*
@@ -2862,55 +2892,57 @@
* search for all remaining subscriptions.
* just bother looking at the ones that have the same pattern prefix.
*/
- len = strlen(namespace->prefix[NAMESPACE_SHARED]);
- if(len>0) len--; /* Remove Separator */
- if (!strncmp(namespace->prefix[NAMESPACE_SHARED], pattern,
- prefixlen < len ? prefixlen : len)) {
+ if (isadmin || namespace->accessible[NAMESPACE_SHARED]) {
+ len = strlen(namespace->prefix[NAMESPACE_SHARED]);
+ if(len>0) len--; /* Remove Separator */
+ if (!strncmp(namespace->prefix[NAMESPACE_SHARED], pattern,
+ prefixlen < len ? prefixlen : len)) {
- cbrock.find_namespace = NAMESPACE_SHARED;
- cbrock.inboxoffset = 0;
+ cbrock.find_namespace = NAMESPACE_SHARED;
+ cbrock.inboxoffset = 0;
- if (prefixlen <= len) {
- /* Skip pattern which matches shared namespace prefix */
- for (p = pat+prefixlen; *p; p++) {
- if (*p == '%') continue;
- else if (*p == '.') p++;
- break;
- }
+ if (prefixlen <= len) {
+ /* Skip pattern which matches shared namespace prefix */
+ for (p = pat+prefixlen; *p; p++) {
+ if (*p == '%') continue;
+ else if (*p == '.') p++;
+ break;
+ }
- if (*pattern && !strchr(pattern, '.') &&
- pattern[strlen(pattern)-1] == '%') {
- /* special case: LSUB "" *% -- output prefix */
- cbrock.checkshared = 1;
- }
+ if (*pattern && !strchr(pattern, '.') &&
+ pattern[strlen(pattern)-1] == '%') {
+ /* special case: LSUB "" *% -- output prefix */
+ cbrock.checkshared = 1;
+ }
- if ((cbrock.checkshared || prefixlen == len) && !*p) {
- /* special case: LSUB "" % -- output prefix
- (if we have a shared mbox) and quit */
- strlcpy(domainpat+domainlen, "*", sizeof(domainpat)-domainlen);
- cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
- cbrock.checkshared = 2;
- }
- else {
- strlcpy(domainpat+domainlen, p, sizeof(domainpat)-domainlen);
- cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
- }
+ if ((cbrock.checkshared || prefixlen == len) && !*p) {
+ /* special case: LSUB "" % -- output prefix
+ (if we have a shared mbox) and quit */
+ strlcpy(domainpat+domainlen, "*", sizeof(domainpat)-domainlen);
+ cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
+ cbrock.checkshared = 2;
+ }
+ else {
+ strlcpy(domainpat+domainlen, p, sizeof(domainpat)-domainlen);
+ cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
+ }
- domainpat[domainlen] = '\0';
- SUBDB->foreach(subs,
- domainpat, domainlen,
- &find_p, &find_cb, &cbrock,
- NULL);
- }
- else if (pattern[len] == '.') {
- strlcpy(domainpat+domainlen, pattern+len+1,
- sizeof(domainpat)-domainlen);
- cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
+ domainpat[domainlen] = '\0';
+ SUBDB->foreach(subs,
+ domainpat, domainlen,
+ &find_p, &find_cb, &cbrock,
+ NULL);
+ }
+ else if (pattern[len] == '.') {
+ strlcpy(domainpat+domainlen, pattern+len+1,
+ sizeof(domainpat)-domainlen);
+ cbrock.g = glob_init(domainpat, GLOB_HIERARCHY);
- SUBDB->foreach(subs,
- domainpat, domainlen+prefixlen-(len+1),
- &find_p, &find_cb, &cbrock,
- NULL);
+ SUBDB->foreach(subs,
+ domainpat, domainlen+prefixlen-(len+1),
+ &find_p, &find_cb, &cbrock,
+ NULL);
+ }
}
}
diff -Nru cyrus-imapd-2.4-2.4.9/imap/mboxlist.h cyrus-imapd-2.4-2.4.12/imap/mboxlist.h
--- cyrus-imapd-2.4-2.4.9/imap/mboxlist.h 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/mboxlist.h 2011-10-04 19:53:03.000000000 +0000
@@ -162,6 +162,7 @@
/* direct access to subs DB */
int mboxlist_allsubs(const char *userid, foreach_cb *proc, void *rock);
+int mboxlist_allmbox(const char *prefix, foreach_cb *proc, void *rock);
/* Find subscribed mailboxes that match 'pattern'. */
int mboxlist_findsub(struct namespace *namespace,
diff -Nru cyrus-imapd-2.4-2.4.9/imap/mboxname.c cyrus-imapd-2.4-2.4.12/imap/mboxname.c
--- cyrus-imapd-2.4-2.4.9/imap/mboxname.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/mboxname.c 2011-10-04 19:53:03.000000000 +0000
@@ -73,6 +73,8 @@
static struct mboxlocklist *open_mboxlocks = NULL;
+static struct namespace *admin_namespace;
+
/* Mailbox patterns which the design of the server prohibits */
static char *badmboxpatterns[] = {
"",
@@ -644,6 +646,10 @@
config_getswitch(IMAPOPT_UNIXHIERARCHYSEP) ? '/' : '.';
namespace->isalt = !isadmin && config_getswitch(IMAPOPT_ALTNAMESPACE);
+ namespace->accessible[NAMESPACE_INBOX] = 1;
+ namespace->accessible[NAMESPACE_USER] = !config_getswitch(IMAPOPT_DISABLE_USER_NAMESPACE);
+ namespace->accessible[NAMESPACE_SHARED] = !config_getswitch(IMAPOPT_DISABLE_SHARED_NAMESPACE);
+
if (namespace->isalt) {
/* alternate namespace */
strcpy(namespace->prefix[NAMESPACE_INBOX], "");
@@ -688,6 +694,16 @@
return 0;
}
+struct namespace *mboxname_get_adminnamespace()
+{
+ static struct namespace ns;
+ if (!admin_namespace) {
+ mboxname_init_namespace(&ns, /*isadmin*/1);
+ admin_namespace = &ns;
+ }
+ return admin_namespace;
+}
+
/*
* Translate separator charactors in a mailboxname from its external
* representation to its internal representation '.'.
@@ -745,8 +761,7 @@
*/
int mboxname_userownsmailbox(const char *userid, const char *name)
{
- struct namespace internal = { '.', 0, 0, { "INBOX.", "user.", "" },
- NULL, NULL, NULL, NULL };
+ struct namespace internal = NAMESPACE_INITIALIZER;
char inboxname[MAX_MAILBOX_BUFFER];
if (!mboxname_tointernal(&internal, "INBOX", userid, inboxname) &&
@@ -904,10 +919,12 @@
* A thorough fix might remove the prefix and timestamp
* then continue with the check
*/
- if (!mboxname_isdeletedmailbox(name)) {
- if (strlen(name) > MAX_MAILBOX_NAME)
- return IMAP_MAILBOX_BADNAME;
- }
+ if (mboxname_isdeletedmailbox(name))
+ return 0;
+
+ if (strlen(name) > MAX_MAILBOX_NAME)
+ return IMAP_MAILBOX_BADNAME;
+
for (i = 0; i < NUM_BADMBOXPATTERNS; i++) {
g = glob_init(badmboxpatterns[i], GLOB_ICASE);
if (GLOB_TEST(g, name) != -1) {
@@ -995,6 +1012,28 @@
return 0;
}
+int mboxname_is_prefix(const char *longstr, const char *shortstr)
+{
+ int longlen = strlen(longstr);
+ int shortlen = strlen(shortstr);
+
+ /* can't be a child */
+ if (longlen < shortlen)
+ return 0;
+
+ /* don't match along same length */
+ if (strncmp(longstr, shortstr, shortlen))
+ return 0;
+
+ /* longer, and not a separator */
+ if (longlen > shortlen && longstr[shortlen] != '.')
+ return 0;
+
+ /* it's a match! */
+ return 1;
+}
+
+
void mboxname_hash(char *buf, size_t buf_len,
const char *root,
const char *name)
diff -Nru cyrus-imapd-2.4-2.4.9/imap/mboxname.h cyrus-imapd-2.4-2.4.12/imap/mboxname.h
--- cyrus-imapd-2.4-2.4.9/imap/mboxname.h 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/mboxname.h 2011-10-04 19:53:03.000000000 +0000
@@ -63,6 +63,7 @@
int isalt; /* are we using the alternate namespace? */
int isadmin; /* current user is an admin */
char prefix[3][MAX_NAMESPACE_PREFIX+1];
+ int accessible[3];
/* Convert the external mailbox 'name' to an internal name. */
int (*mboxname_tointernal)(struct namespace *namespace, const char *name,
const char *userid, char *result);
@@ -79,6 +80,11 @@
void *rock, int force);
};
+#define NAMESPACE_INITIALIZER { '.', 0, 0, \
+ { "INBOX.", "user.", "" }, \
+ { 0, 0, 0, }, \
+ NULL, NULL, NULL, NULL }
+
struct mboxlock {
char *name;
int lock_fd;
@@ -92,6 +98,8 @@
/* Create namespace based on config options. */
int mboxname_init_namespace(struct namespace *namespace, int isadmin);
+struct namespace *mboxname_get_adminnamespace();
+
/*
* Translate separator charactors in a mailboxname from its external
* representation to its internal representation '.'.
@@ -125,6 +133,9 @@
*/
int mboxname_isdeletedmailbox(const char *name);
+/* check if one mboxname is a parent or same as the other */
+int mboxname_is_prefix(const char *longstr, const char *shortstr);
+
/*
* Translate (internal) inboxname into corresponding userid.
*/
diff -Nru cyrus-imapd-2.4-2.4.9/imap/mbpath.c cyrus-imapd-2.4-2.4.12/imap/mbpath.c
--- cyrus-imapd-2.4-2.4.9/imap/mbpath.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/mbpath.c 2011-10-04 19:53:03.000000000 +0000
@@ -135,7 +135,7 @@
if ((rc = mboxlist_lookup(buf, &mbentry, NULL)) == 0) {
if (mbentry.mbtype & MBTYPE_REMOTE) {
- fprintf(stderr, "Remote mailbox: %s\n", argv[i]);
+ printf("%s\n", mbentry.partition);
} else {
char *path = mboxname_metapath(mbentry.partition, mbentry.name, 0, 0);
printf("%s\n", path);
diff -Nru cyrus-imapd-2.4-2.4.9/imap/message.c cyrus-imapd-2.4-2.4.12/imap/message.c
--- cyrus-imapd-2.4-2.4.9/imap/message.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/message.c 2011-10-04 19:53:03.000000000 +0000
@@ -84,79 +84,6 @@
int encode;
};
-/* cyrus.cache file item buffer */
-struct ibuf {
- char *start, *end, *last;
-};
-
-/*
- * Parsed form of a body-part
- */
-struct body {
- /* Content-* header information */
- char *type;
- char *subtype;
- struct param *params;
- char *id;
- char *description;
- char *encoding;
- char *md5;
- char *disposition;
- struct param *disposition_params;
- struct param *language;
- char *location;
-
- /* Location/size information */
- long header_offset;
- long header_size;
- long header_lines;
- long content_offset;
- long content_size;
- long content_lines;
- long boundary_size; /* Size of terminating boundary */
- long boundary_lines;
-
- int numparts; /* For multipart types */
- struct body *subpart; /* For message/rfc822 and multipart types */
-
- /*
- * Other header information.
- * Only meaningful for body-parts at top level or
- * enclosed in message/rfc-822
- */
- char *date;
- char *subject;
- struct address *from;
- struct address *sender;
- struct address *reply_to;
- struct address *to;
- struct address *cc;
- struct address *bcc;
- char *in_reply_to;
- char *message_id;
- char *received_date;
-
- /*
- * Cached headers. Only filled in at top-level
- */
- struct ibuf cacheheaders;
-
- /*
- * decoded body. Filled in as needed.
- */
- char *decoded_body;
-
- /* Message GUID. Only filled in at top level */
- struct message_guid guid;
-};
-
-/* List of Content-type parameters */
-struct param {
- struct param *next;
- char *attribute;
- char *value;
-};
-
/* List of pending multipart boundaries */
struct boundary {
char **id;
@@ -1817,6 +1744,7 @@
struct param *boundary;
char *defaultContentType = DEFAULT_CONTENT_TYPE;
int i, depth;
+ int limit = config_getint(IMAPOPT_BOUNDARY_LIMIT);
memset(&preamble, 0, sizeof(struct body));
memset(&epilogue, 0, sizeof(struct body));
@@ -1851,7 +1779,8 @@
message_parse_content(msg, &preamble, boundaries);
/* Parse the component body-parts */
- while (boundaries->count == depth) {
+ while (boundaries->count == depth &&
+ (limit == 0 ? 1 : boundaries->count < limit)) {
body->subpart = (struct body *)xrealloc((char *)body->subpart,
(body->numparts+1)*sizeof(struct body));
message_parse_body(msg, &body->subpart[body->numparts++],
@@ -1912,6 +1841,11 @@
*/
body->boundary_size += epilogue.boundary_size;
body->boundary_lines += epilogue.boundary_lines;
+
+ /* check if we've hit a limit and flag it */
+ if (limit && depth == limit) {
+ syslog(LOG_ERR, "ERROR: mime boundary limit %i exceeded, not parsing anymore", limit);
+ }
}
/*
diff -Nru cyrus-imapd-2.4-2.4.9/imap/message.h cyrus-imapd-2.4-2.4.12/imap/message.h
--- cyrus-imapd-2.4-2.4.9/imap/message.h 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/message.h 2011-10-04 19:53:03.000000000 +0000
@@ -1,6 +1,6 @@
/* message.h -- Message parsing
*
- * Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+ * Copyright (c) 1994-2010 Carnegie Mellon University. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -58,6 +58,78 @@
#include "prot.h"
#include "mailbox.h"
+/* cyrus.cache file item buffer */
+struct ibuf {
+ char *start, *end, *last;
+};
+
+/*
+ * Parsed form of a body-part
+ */
+struct body {
+ /* Content-* header information */
+ char *type;
+ char *subtype;
+ struct param *params;
+ char *id;
+ char *description;
+ char *encoding;
+ char *md5;
+ char *disposition;
+ struct param *disposition_params;
+ struct param *language;
+ char *location;
+
+ /* Location/size information */
+ long header_offset;
+ long header_size;
+ long header_lines;
+ long content_offset;
+ long content_size;
+ long content_lines;
+ long boundary_size; /* Size of terminating boundary */
+ long boundary_lines;
+
+ int numparts; /* For multipart types */
+ struct body *subpart; /* For message/rfc822 and multipart types */
+
+ /*
+ * Other header information.
+ * Only meaningful for body-parts at top level or
+ * enclosed in message/rfc-822
+ */
+ char *date;
+ char *subject;
+ struct address *from;
+ struct address *sender;
+ struct address *reply_to;
+ struct address *to;
+ struct address *cc;
+ struct address *bcc;
+ char *in_reply_to;
+ char *message_id;
+ char *received_date;
+
+ /*
+ * Cached headers. Only filled in at top-level
+ */
+ struct ibuf cacheheaders;
+
+ /*
+ * decoded body. Filled in as needed.
+ */
+ char *decoded_body;
+
+ /* Message GUID. Only filled in at top level */
+ struct message_guid guid;
+};
+
+/* List of Content-type parameters */
+struct param {
+ struct param *next;
+ char *attribute;
+ char *value;
+};
extern int message_copy_strict P((struct protstream *from, FILE *to,
unsigned size, int allow_null));
diff -Nru cyrus-imapd-2.4-2.4.9/imap/nntpd.c cyrus-imapd-2.4-2.4.12/imap/nntpd.c
--- cyrus-imapd-2.4-2.4.9/imap/nntpd.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/nntpd.c 2011-10-04 19:53:03.000000000 +0000
@@ -214,6 +214,7 @@
static void cmdloop(void);
static int open_group(char *name, int has_prefix,
struct backend **ret, int *postable);
+static int getuserpass(struct protstream *in, struct buf *buf);
static int parserange(char *str, uint32_t *uid, uint32_t *last,
char **msgid, struct backend **be);
static time_t parse_datetime(char *datestr, char *timestr, char *gmt);
@@ -899,7 +900,7 @@
/* Only Authinfo/Capabilities/Check/Head/Help/Ihave/List Active/
Mode/Quit/Starttls/Stat/Takethis allowed when not logged in */
- if (!nntp_userid && !allowanonymous &&
+ if (!nntp_authstate && !allowanonymous &&
!strchr("ACHILMQST", cmd.s[0])) goto nologin;
/* In case a [LIST]GROUP fails or
@@ -909,42 +910,53 @@
switch (cmd.s[0]) {
case 'A':
if (!strcmp(cmd.s, "Authinfo")) {
- arg2.len = arg3.len = 0;
if (c != ' ') goto missingargs;
c = getword(nntp_in, &arg1); /* subcommand */
if (c == EOF) goto missingargs;
lcase(arg1.s);
- if (strcmp(arg1.s, "generic") && c != ' ') {
- /* arg2 is required for all subcommands except generic */
- goto missingargs;
- }
- if (c == ' ') {
- c = getword(nntp_in, &arg2); /* argument/sasl mech */
+ if (!strcmp(arg1.s, "user") || !strcmp(arg1.s, "pass")) {
+ if (c != ' ') goto missingargs;
+ c = getuserpass(nntp_in, &arg2); /* user/pass */
if (c == EOF) goto missingargs;
- }
- if (!strcmp(arg1.s, "sasl") && c == ' ') {
- c = getword(nntp_in, &arg3); /* init response (optional) */
- if (c == EOF) goto missingargs;
+ if (c == '\r') c = prot_getc(nntp_in);
+ if (c != '\n') goto extraargs;
+
+ if (arg1.s[0] == 'u')
+ cmd_authinfo_user(arg2.s);
+ else
+ cmd_authinfo_pass(arg2.s);
}
- if (c == '\r') c = prot_getc(nntp_in);
- if (c != '\n') goto extraargs;
+ else if (!strcmp(arg1.s, "sasl") || !strcmp(arg1.s, "generic")) {
+ arg2.len = arg3.len = 0;
+
+ /* mech name required for SASL but not GENERIC */
+ if ((arg1.s[0] == 's') && (c != ' ')) goto missingargs;
+
+ if (c == ' ') {
+ c = getword(nntp_in, &arg2); /* mech name */
+ if (c == EOF) goto missingargs;
+
+ if (c == ' ') {
+ c = getword(nntp_in, &arg3); /* init response */
+ if (c == EOF) goto missingargs;
+ }
+ }
+
+ if (c == '\r') c = prot_getc(nntp_in);
+ if (c != '\n') goto extraargs;
- if (!strcmp(arg1.s, "user"))
- cmd_authinfo_user(arg2.s);
- else if (!strcmp(arg1.s, "pass"))
- cmd_authinfo_pass(arg2.s);
- else if (!strcmp(arg1.s, "sasl") || !strcmp(arg1.s, "generic"))
cmd_authinfo_sasl(arg1.s, arg2.len ? arg2.s : NULL,
arg3.len ? arg3.s : NULL);
+ }
else
prot_printf(nntp_out,
"501 Unrecognized AUTHINFO command\r\n");
}
else if (!(nntp_capa & MODE_READ)) goto noperm;
- else if (!nntp_userid && !allowanonymous) goto nologin;
+ else if (!nntp_authstate && !allowanonymous) goto nologin;
else if (!strcmp(cmd.s, "Article")) {
char *msgid;
@@ -1136,7 +1148,7 @@
cmd_help();
}
else if (!(nntp_capa & MODE_READ)) goto noperm;
- else if (!nntp_userid && !allowanonymous) goto nologin;
+ else if (!nntp_authstate && !allowanonymous) goto nologin;
else if (!strcmp(cmd.s, "Hdr")) {
char *msgid;
@@ -1215,7 +1227,7 @@
goto prevgroup; /* In case we did LIST [ACTIVE] */
}
else if (!(nntp_capa & MODE_READ)) goto noperm;
- else if (!nntp_userid && !allowanonymous) goto nologin;
+ else if (!nntp_authstate && !allowanonymous) goto nologin;
else if (!strcmp(cmd.s, "Last")) {
if (c == '\r') c = prot_getc(nntp_in);
if (c != '\n') goto extraargs;
@@ -1415,7 +1427,7 @@
mode = ARTICLE_STAT;
goto article;
}
- else if (!nntp_userid && !allowanonymous) goto nologin;
+ else if (!nntp_authstate && !allowanonymous) goto nologin;
else if (!strcmp(cmd.s, "Slave")) {
if (c == '\r') c = prot_getc(nntp_in);
if (c != '\n') goto extraargs;
@@ -1589,6 +1601,28 @@
return 1;
}
+/*
+ * Parse a username or password (token which may contain SP or TAB)
+ */
+#define MAX_NNTP_ARG 497
+static int getuserpass(struct protstream *in, struct buf *buf)
+{
+ int c;
+
+ buf_reset(buf);
+ for (;;) {
+ c = prot_getc(in);
+ if (c == EOF || c == '\r' || c == '\n') {
+ buf_cstring(buf); /* appends a '\0' */
+ return c;
+ }
+ buf_putc(buf, c);
+ if (buf_len(buf) > MAX_NNTP_ARG) {
+ fatal("argument too long", EC_IOERR);
+ }
+ }
+}
+
static int parserange(char *str, uint32_t *uid, uint32_t *last,
char **msgid, struct backend **ret)
{
@@ -1766,7 +1800,7 @@
if (newserver) {
/* remote group */
backend_next = proxy_findserver(newserver, &nntp_protocol,
- nntp_userid ? nntp_userid : "anonymous",
+ nntp_authstate ? nntp_userid : "anonymous",
&backend_cached, &backend_current,
NULL, nntp_in);
if (!backend_next) return IMAP_SERVER_UNAVAILABLE;
@@ -1777,7 +1811,7 @@
/* local group */
struct index_init init;
memset(&init, 0, sizeof(struct index_init));
- init.userid = nntp_userid;
+ init.userid = nntp_authstate ? nntp_userid : NULL;
init.authstate = nntp_authstate;
r = index_open(name, &init, &group_state);
if (r) return r;
@@ -1824,7 +1858,7 @@
if (mechcount) prot_printf(nntp_out, "%s", mechlist);
/* add the reader capabilities/extensions */
- if ((nntp_capa & MODE_READ) && (nntp_userid || allowanonymous)) {
+ if ((nntp_capa & MODE_READ) && (nntp_authstate || allowanonymous)) {
prot_printf(nntp_out, "READER\r\n");
prot_printf(nntp_out, "POST\r\n");
if (config_getswitch(IMAPOPT_ALLOWNEWNEWS))
@@ -1842,7 +1876,7 @@
/* add the LIST variants */
prot_printf(nntp_out, "LIST ACTIVE%s\r\n",
- ((nntp_capa & MODE_READ) && (nntp_userid || allowanonymous)) ?
+ ((nntp_capa & MODE_READ) && (nntp_authstate || allowanonymous)) ?
" HEADERS NEWSGROUPS OVERVIEW.FMT" : "");
prot_printf(nntp_out, ".\r\n");
@@ -2321,7 +2355,7 @@
{
prot_printf(nntp_out, "100 Supported commands:\r\n");
- if ((nntp_capa & MODE_READ) && (nntp_userid || allowanonymous)) {
+ if ((nntp_capa & MODE_READ) && (nntp_authstate || allowanonymous)) {
prot_printf(nntp_out, "\tARTICLE [ message-id | number ]\r\n"
"\t\tRetrieve entirety of the specified article.\r\n");
}
@@ -2336,7 +2370,7 @@
prot_printf(nntp_out, "\tAUTHINFO PASS password\r\n"
"\t\tPresent clear-text password for authentication.\r\n");
}
- if ((nntp_capa & MODE_READ) && (nntp_userid || allowanonymous)) {
+ if ((nntp_capa & MODE_READ) && (nntp_authstate || allowanonymous)) {
prot_printf(nntp_out, "\tBODY [ message-id | number ]\r\n"
"\t\tRetrieve body of the specified article.\r\n");
}
@@ -2346,7 +2380,7 @@
prot_printf(nntp_out, "\tCHECK message-id\r\n"
"\t\tCheck if the server wants the specified article.\r\n");
}
- if ((nntp_capa & MODE_READ) && (nntp_userid || allowanonymous)) {
+ if ((nntp_capa & MODE_READ) && (nntp_authstate || allowanonymous)) {
prot_printf(nntp_out, "\tDATE\r\n"
"\t\tRequest the current server UTC date and time.\r\n");
prot_printf(nntp_out, "\tGROUP group\r\n"
@@ -2363,13 +2397,13 @@
prot_printf(nntp_out, "\tIHAVE message-id\r\n"
"\t\tPresent/transfer the specified article to the server.\r\n");
}
- if ((nntp_capa & MODE_READ) && (nntp_userid || allowanonymous)) {
+ if ((nntp_capa & MODE_READ) && (nntp_authstate || allowanonymous)) {
prot_printf(nntp_out, "\tLAST\r\n"
"\t\tSelect the previous article.\r\n");
}
prot_printf(nntp_out, "\tLIST [ ACTIVE wildmat ]\r\n"
"\t\tList the (subset of) valid newsgroups.\r\n");
- if ((nntp_capa & MODE_READ) && (nntp_userid || allowanonymous)) {
+ if ((nntp_capa & MODE_READ) && (nntp_authstate || allowanonymous)) {
prot_printf(nntp_out, "\tLIST HEADERS [ MSGID | RANGE ]\r\n"
"\t\tList the headers and metadata items available via HDR.\r\n");
prot_printf(nntp_out, "\tLIST NEWSGROUPS [wildmat]\r\n"
@@ -2402,7 +2436,7 @@
prot_printf(nntp_out, "\tTAKETHIS message-id\r\n"
"\t\tTransfer the specified article to the server.\r\n");
}
- if ((nntp_capa & MODE_READ) && (nntp_userid || allowanonymous)) {
+ if ((nntp_capa & MODE_READ) && (nntp_authstate || allowanonymous)) {
prot_printf(nntp_out, "\tXPAT header message-id|range wildmat\r\n"
"\t\tList the specified article(s) in which the contents\r\n"
"\t\tof the specified header/metadata matches the wildmat.\r\n");
@@ -2470,7 +2504,7 @@
char *result;
be = proxy_findserver(server, &nntp_protocol,
- nntp_userid ? nntp_userid : "anonymous",
+ nntp_authstate ? nntp_userid : "anonymous",
&backend_cached, &backend_current, NULL, nntp_in);
if (!be) return;
@@ -2605,7 +2639,8 @@
strcpy(pattern, newsprefix);
strcat(pattern, "*");
list_cb(NULL, 0, 0, NULL);
- mboxlist_findall(NULL, pattern, 0, nntp_userid, nntp_authstate,
+ mboxlist_findall(NULL, pattern, 0,
+ nntp_authstate ? nntp_userid : NULL, nntp_authstate,
list_cb, &lrock);
/* proxy to the backends */
@@ -2627,7 +2662,7 @@
prot_printf(nntp_out, "502 Permission denied\r\n");
return;
}
- else if (!nntp_userid && !allowanonymous) {
+ else if (!nntp_authstate && !allowanonymous) {
prot_printf(nntp_out, "480 Authentication required\r\n");
return;
}
@@ -2664,7 +2699,8 @@
strcpy(pattern, newsprefix);
strcat(pattern, "*");
list_cb(NULL, 0, 0, NULL);
- mboxlist_findall(NULL, pattern, 0, nntp_userid, nntp_authstate,
+ mboxlist_findall(NULL, pattern, 0,
+ nntp_authstate ? nntp_userid : NULL, nntp_authstate,
list_cb, &lrock);
/* proxy to the backends */
@@ -2874,6 +2910,7 @@
char **rcpt; /* mailboxes to post message */
int rcpt_num; /* number of groups */
+ char *date; /* date field of header */
hdrcache_t hdrcache;
};
@@ -2891,6 +2928,7 @@
ret->size = 0;
ret->rcpt = NULL;
ret->rcpt_num = 0;
+ ret->date = NULL;
ret->hdrcache = spool_new_hdrcache();
@@ -2924,6 +2962,9 @@
}
free(m->rcpt);
}
+ if (m->date) {
+ free(m->date);
+ }
spool_free_hdrcache(m->hdrcache);
@@ -3047,9 +3088,13 @@
char datestr[80];
rfc822date_gen(datestr, sizeof(datestr), now);
+ m->date = xstrdup(datestr);
fprintf(f, "Date: %s\r\n", datestr);
spool_cache_header(xstrdup("Date"), xstrdup(datestr), m->hdrcache);
}
+ else {
+ m->date = xstrdup(body[0]);
+ }
/* get control */
if ((body = spool_getheader(m->hdrcache, "control")) != NULL) {
@@ -3231,7 +3276,7 @@
char buf[4096];
be = proxy_findserver(d->server, &nntp_protocol,
- nntp_userid ? nntp_userid : "anonymous",
+ nntp_authstate ? nntp_userid : "anonymous",
&backend_cached, &backend_current,
NULL, nntp_in);
if (!be) return IMAP_SERVER_UNAVAILABLE;
@@ -3279,6 +3324,7 @@
unsigned long uid;
struct body *body = NULL;
struct dest *dlist = NULL;
+ duplicate_key_t dkey = {msg->id, NULL, msg->date};
/* check ACLs of all mailboxes */
for (n = 0; n < msg->rcpt_num; n++) {
@@ -3286,6 +3332,7 @@
/* look it up */
r = mlookup(rcpt, &server, &acl, NULL);
+ dkey.to = rcpt;
if (r) return IMAP_MAILBOX_NONEXISTENT;
if (!(acl && (myrights = cyrus_acl_myrights(nntp_authstate, acl)) &&
@@ -3301,13 +3348,15 @@
struct appendstate as;
if (msg->id &&
- duplicate_check(msg->id, strlen(msg->id), rcpt, strlen(rcpt))) {
+ duplicate_check(&dkey)) {
/* duplicate message */
- duplicate_log(msg->id, rcpt, "nntp delivery");
+ duplicate_log(&dkey, "nntp delivery");
continue;
}
- r = append_setup(&as, rcpt, nntp_userid, nntp_authstate, ACL_POST, 0);
+ r = append_setup(&as, rcpt,
+ nntp_authstate ? nntp_userid : NULL,
+ nntp_authstate, ACL_POST, 0);
if (!r) {
prot_rewind(msg->data);
@@ -3319,14 +3368,12 @@
r = append_fromstream(&as, &body, msg->data, msg->size, 0,
(const char **) NULL, 0);
}
- if (r || (msg->id &&
- duplicate_check(msg->id, strlen(msg->id),
- rcpt, strlen(rcpt)))) {
+ if (r || ( msg->id && duplicate_check(&dkey) ) ) {
append_abort(&as);
if (!r) {
/* duplicate message */
- duplicate_log(msg->id, rcpt, "nntp delivery");
+ duplicate_log(&dkey, "nntp delivery");
continue;
}
}
@@ -3336,8 +3383,7 @@
}
if (!r && msg->id)
- duplicate_mark(msg->id, strlen(msg->id), rcpt, strlen(rcpt),
- time(NULL), uid);
+ duplicate_mark(&dkey, time(NULL), uid);
if (r) return r;
@@ -3509,7 +3555,8 @@
/* store msgid of cancelled message for IHAVE/CHECK/TAKETHIS
* (in case we haven't received the message yet)
*/
- duplicate_mark(msgid, strlen(msgid), "", 0, 0, time(NULL));
+ duplicate_key_t dkey = {msgid, "", ""};
+ duplicate_mark(&dkey, 0, time(NULL));
return r;
}
@@ -4155,7 +4202,9 @@
else if (*c == '@') wild[n].not = -1; /* absolute not (feeding) */
else wild[n].not = 0;
- strcpy(p, wild[n].not ? c + 1 : c);
+ strncpy(p, wild[n].not ? c + 1 : c, pattern+sizeof(pattern) - p);
+ pattern[sizeof(pattern)-1] = '\0';
+
wild[n++].pat = xstrdup(pattern);
} while (c != str);
wild[n].pat = NULL;
diff -Nru cyrus-imapd-2.4-2.4.9/imap/quota.c cyrus-imapd-2.4-2.4.12/imap/quota.c
--- cyrus-imapd-2.4-2.4.9/imap/quota.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/quota.c 2011-10-04 19:53:03.000000000 +0000
@@ -75,6 +75,7 @@
#endif
#include "assert.h"
+#include "bsearch.h"
#include "cyrusdb.h"
#include "global.h"
#include "exitcodes.h"
@@ -98,12 +99,6 @@
/* config.c stuff */
const int config_need_data = CONFIG_NEED_PARTITION_DATA;
-struct fix_rock {
- char *domain;
- struct txn **tid;
- unsigned long change_count;
-};
-
struct quotaentry {
struct quota quota;
char *allocname;
@@ -115,12 +110,13 @@
/* forward declarations */
void usage(void);
void reportquota(void);
-int buildquotalist(char *domain, char **roots, int nroots,
- struct fix_rock *frock);
-int fixquota_mailbox(char *name, int matchlen, int maycreate, void *rock);
-int fixquota(struct fix_rock *frock);
-int fixquota_fixroot(struct mailbox *mailbox, const char *root);
-int fixquota_finish(int thisquota, struct txn **tid, unsigned long *count);
+static int buildquotalist(char *domain, char **roots, int nroots);
+static int fixquotas(char *domain, char **roots, int nroots);
+static int fixquota_mailbox(void *rock, const char *name, int namelen,
+ const char *val, int vallen);
+static int fixquota_fixroot(struct mailbox *mailbox, const char *root);
+static int fixquota_finish(int thisquota);
+static int (*compar)(const char *s1, const char *s2);
#define QUOTAGROW 300
@@ -129,16 +125,14 @@
int firstquota = 0;
int redofix = 0;
-int partial;
int main(int argc,char **argv)
{
int opt;
+ int i;
int fflag = 0;
int r, code = 0;
char *alt_config = NULL, *domain = NULL;
- struct fix_rock frock;
- struct txn *tid = NULL;
if ((geteuid()) == 0 && (become_cyrus() != 0)) {
fatal("must run as the Cyrus user", EC_USAGE);
@@ -171,6 +165,11 @@
fatal(error_message(r), EC_CONFIG);
}
+ if (config_getswitch(IMAPOPT_IMPROVED_MBOXLIST_SORT))
+ compar = bsearch_compare;
+ else
+ compar = strcmp;
+
/*
* Lock mailbox list to prevent mailbox creation/deletion
* during work
@@ -181,19 +180,10 @@
quotadb_init(0);
quotadb_open(NULL);
- if (!r) {
- frock.domain = domain;
- frock.tid = &tid;
- frock.change_count = 0;
-
- r = buildquotalist(domain, argv+optind, argc-optind,
- fflag ? &frock : NULL);
- }
+ r = buildquotalist(domain, argv+optind, argc-optind);
- if (!r && fflag) {
- partial = argc-optind;
- r = fixquota(&frock);
- }
+ if (!r && fflag)
+ r = fixquotas(domain, argv+optind, argc-optind);
quotadb_close();
quotadb_done();
@@ -204,6 +194,11 @@
if (r) code = convert_code(r);
else reportquota();
+ /* just for neatness */
+ for (i = 0; i < quota_num; i++)
+ free(quota[i].allocname);
+ free(quota);
+
cyrus_done();
return code;
@@ -214,7 +209,7 @@
fprintf(stderr,
"usage: quota [-C ] [-d ] [-f] [prefix]...\n");
exit(EC_USAGE);
-}
+}
void errmsg(const char *fmt, const char *arg, int err)
{
@@ -232,12 +227,11 @@
}
/*
- * A matching mailbox was found, process it.
+ * A quotaroot was found, add it to our list
*/
-static int found_match(char *name, int matchlen, int maycreate, void *frock)
+static int fixquota_addroot(struct quota *q,
+ void *rock __attribute__((unused)))
{
- int r;
-
if (quota_num == quota_alloc) {
/* Create new qr list entry */
quota_alloc += QUOTAGROW;
@@ -246,45 +240,20 @@
memset("a[quota_num], 0, QUOTAGROW * sizeof(struct quotaentry));
}
- /* See if the mailbox name corresponds to a quotaroot */
- quota[quota_num].quota.root = name;
- do {
- r = quota_read("a[quota_num].quota, NULL, 0);
- } while (r == IMAP_AGAIN);
-
- switch (r) {
- case 0:
- /* Its a quotaroot! */
- quota[quota_num].allocname = xstrdup(name);
- quota[quota_num].quota.root = quota[quota_num].allocname;
- quota_num++;
- break;
- case IMAP_QUOTAROOT_NONEXISTENT:
- if (!frock || !quota_num ||
- strncmp(name, quota[quota_num-1].quota.root,
- strlen(quota[quota_num-1].quota.root))) {
- /* Its not a quotaroot, and either we're not fixing quotas,
- or its not part of the most recent quotaroot */
- return 0;
- }
- break;
- default:
- return r;
- }
-
- if (frock) {
- /* Recalculate the quota (we need the subfolders too!) */
- r = fixquota_mailbox(name, matchlen, maycreate, frock);
- }
+ /* copy this quota */
+ quota[quota_num].allocname = xstrdup(q->root);
+ quota[quota_num].quota.root = quota[quota_num].allocname;
+ quota[quota_num].quota.limit = q->limit;
+ quota[quota_num].quota.used = q->used;
+ quota_num++;
- return r;
+ return 0;
}
/*
* Build the list of quota roots in 'quota'
*/
-int buildquotalist(char *domain, char **roots, int nroots,
- struct fix_rock *frock)
+int buildquotalist(char *domain, char **roots, int nroots)
{
int i, r;
char buf[MAX_MAILBOX_BUFFER], *tail;
@@ -297,38 +266,63 @@
tail += domainlen;
}
+ /* basic case - everything (potentially limited by domain still) */
+ if (!nroots) {
+ r = quota_foreach(buf, fixquota_addroot, NULL);
+ if (r) {
+ errmsg("failed building quota list for '%s'", buf, IMAP_IOERROR);
+ }
+ }
+
/*
- * Walk through all given pattern(s) and resolve them to all
- * matching mailbox names. Call found_match() for every mailbox
- * name found. If no pattern is given, assume "*".
+ * Walk through all given pattern(s) and add all the quota roots
+ * with the matching prefixes.
*/
- i = 0;
- do {
- if (nroots > 0) {
- /* Translate separator in quotaroot.
- *
- * We do this directly instead of using the mboxname_tointernal()
- * function pointer because we know that we are using the internal
- * namespace and so we don't have to allocate a buffer for the
- * translated name.
- */
- mboxname_hiersep_tointernal("a_namespace, roots[i], 0);
-
- strlcpy(tail, roots[i], sizeof(buf) - domainlen);
- }
- else {
- strlcpy(tail, "*", sizeof(buf) - domainlen);
- }
- i++;
+ for (i = 0; i < nroots; i++) {
+ strlcpy(tail, roots[i], sizeof(buf) - domainlen);
+ /* change the separator to internal namespace */
+ mboxname_hiersep_tointernal("a_namespace, tail, 0);
- r = (*quota_namespace.mboxlist_findall)("a_namespace, buf, 1, 0, 0,
- &found_match, frock);
- if (r < 0) {
+ r = quota_foreach(buf, fixquota_addroot, NULL);
+ if (r) {
errmsg("failed building quota list for '%s'", buf, IMAP_IOERROR);
- return IMAP_IOERROR;
+ break;
}
+ }
+
+ return r;
+}
- } while (i < nroots);
+static int findroot(const char *name, int *thisquota)
+{
+ int i;
+
+ *thisquota = -1;
+
+ for (i = firstquota; i < quota_num; i++) {
+ const char *root = quota[i].quota.root;
+
+ /* have we already passed the name, then there can
+ * be no further matches */
+ if (compar(root, name) > 0)
+ return 0;
+
+ /* is the mailbox within this root? */
+ if (mboxname_is_prefix(name, root)) {
+ /* fantastic, but don't return yet, we may find
+ * a more exact match */
+ quota[i].refcount++;
+ *thisquota = i;
+ }
+ else {
+ /* not a match, so we can finish everything up to here */
+ while (firstquota < i) {
+ int r = fixquota_finish(firstquota);
+ if (r) return r;
+ firstquota++;
+ }
+ }
+ }
return 0;
}
@@ -336,74 +330,51 @@
/*
* Account for mailbox 'name' when fixing the quota roots
*/
-int fixquota_mailbox(char *name,
- int matchlen __attribute__((unused)),
- int maycreate __attribute__((unused)),
- void *rock)
+static int fixquota_mailbox(void *rock __attribute__((unused)),
+ const char *name, int namelen,
+ const char *val __attribute__((unused)),
+ int vallen __attribute__((unused)))
{
- int r;
+ int r = 0;
struct mailbox *mailbox = NULL;
- int i, len, thisquota, thisquotalen;
- struct fix_rock *frock = (struct fix_rock *) rock;
- char *p, *domain = frock->domain;
-
- /* make sure the domains match */
- if (domain &&
- (!(p = strchr(name, '!')) || (p - name) != (int) strlen(domain) ||
- strncmp(name, domain, p - name))) {
- return 0;
+ int thisquota = -1;
+ char *mboxname = xstrndup(name, namelen);
+
+ r = findroot(mboxname, &thisquota);
+ if (r) {
+ errmsg("failed finding quotaroot for mailbox '%s'", name, r);
+ goto done;
}
- while (firstquota < quota_num &&
- strncmp(name, quota[firstquota].quota.root,
- strlen(quota[firstquota].quota.root)) > 0) {
- r = fixquota_finish(firstquota++, frock->tid, &frock->change_count);
- if (r) return r;
+ r = mailbox_open_iwl(mboxname, &mailbox);
+ if (r) {
+ errmsg("failed opening header for mailbox '%s'", name, r);
+ goto done;
}
- thisquota = -1;
- thisquotalen = 0;
- for (i = firstquota;
- i < quota_num && strcmp(name, quota[i].quota.root) >= 0; i++) {
- len = strlen(quota[i].quota.root);
- if (!strncmp(name, quota[i].quota.root, len) &&
- (!name[len] || name[len] == '.' ||
- (domain && name[len-1] == '!'))) {
- quota[i].refcount++;
- if (len > thisquotalen) {
- thisquota = i;
- thisquotalen = len;
- }
+ if (thisquota == -1) {
+ /* no matching quotaroot exists, remove from
+ * mailbox if present */
+ if (mailbox->quotaroot) {
+ r = fixquota_fixroot(mailbox, (char *)0);
}
}
-
- if (partial && thisquota == -1) return 0;
-
- r = mailbox_open_iwl(name, &mailbox);
- if (r) errmsg("failed opening header for mailbox '%s'", name, r);
else {
- if (thisquota == -1) {
- if (mailbox->quotaroot) {
- r = fixquota_fixroot(mailbox, (char *)0);
- }
- }
- else {
- if (!mailbox->quotaroot ||
- strcmp(mailbox->quotaroot, quota[thisquota].quota.root) != 0) {
- r = fixquota_fixroot(mailbox, quota[thisquota].quota.root);
- }
-
- if (!r) quota[thisquota].newused += mailbox->i.quota_mailbox_used;
+ /* matching quotaroot exists, ensure mailbox has the
+ * correct root */
+ if (!mailbox->quotaroot ||
+ strcmp(mailbox->quotaroot, quota[thisquota].quota.root) != 0) {
+ r = fixquota_fixroot(mailbox, quota[thisquota].quota.root);
}
- mailbox_close(&mailbox);
+ /* and track the total usage inside this root */
+ if (!r)
+ quota[thisquota].newused += mailbox->i.quota_mailbox_used;
}
- if (r) {
- /* mailbox error of some type, commit what we have */
- quota_commit(frock->tid);
- *(frock->tid) = NULL;
- }
+done:
+ mailbox_close(&mailbox);
+ free(mboxname);
return r;
}
@@ -413,8 +384,6 @@
{
int r;
- redofix = 1;
-
printf("%s: quota root %s --> %s\n", mailbox->name,
mailbox->quotaroot ? mailbox->quotaroot : "(none)",
root ? root : "(none)");
@@ -428,94 +397,101 @@
/*
* Finish fixing up a quota root
*/
-int fixquota_finish(int thisquota, struct txn **tid, unsigned long *count)
+int fixquota_finish(int thisquota)
{
int r = 0;
+ struct txn *tid = NULL;
if (!quota[thisquota].refcount) {
- if (!quota[thisquota].deleted++) {
- printf("%s: removed\n", quota[thisquota].quota.root);
- r = quota_deleteroot(quota[thisquota].quota.root);
- if (r) {
- errmsg("failed deleting quotaroot '%s'",
- quota[thisquota].quota.root, r);
- return r;
- }
- (*count)++;
- }
- return 0;
- }
-
- if (quota[thisquota].quota.used != quota[thisquota].newused) {
- /* re-read the quota with the record locked */
- r = quota_read("a[thisquota].quota, tid, 1);
+ printf("%s: removed\n", quota[thisquota].quota.root);
+ r = quota_deleteroot(quota[thisquota].quota.root);
if (r) {
- errmsg("failed reading quotaroot '%s'",
+ errmsg("failed deleting quotaroot '%s'",
quota[thisquota].quota.root, r);
- return r;
}
- (*count)++;
+ return r;
}
+
+ /* nothing changed, all good */
+ if (quota[thisquota].quota.used == quota[thisquota].newused)
+ return 0;
+
+ /* re-read the quota with the record locked */
+ r = quota_read("a[thisquota].quota, &tid, 1);
+ if (r) {
+ errmsg("failed reading quotaroot '%s'",
+ quota[thisquota].quota.root, r);
+ return r;
+ }
+
+ /* is it still different? */
if (quota[thisquota].quota.used != quota[thisquota].newused) {
printf("%s: usage was " UQUOTA_T_FMT ", now " UQUOTA_T_FMT "\n",
quota[thisquota].quota.root,
quota[thisquota].quota.used, quota[thisquota].newused);
quota[thisquota].quota.used = quota[thisquota].newused;
- r = quota_write("a[thisquota].quota, tid);
+ r = quota_write("a[thisquota].quota, &tid);
if (r) {
errmsg("failed writing quotaroot '%s'",
quota[thisquota].quota.root, r);
+ quota_abort(&tid);
return r;
}
- (*count)++;
}
- /* commit the transaction every 100 changes */
- if (*count && !(*count % 100)) {
- quota_commit(tid);
- *tid = NULL;
- }
+ quota_commit(&tid);
- return r;
+ return 0;
}
-
/*
* Fix all the quota roots
*/
-int fixquota(struct fix_rock *frock)
+int fixquotas(char *domain, char **roots, int nroots)
{
- int i, r = 0;
+ int i, r;
+ char buf[MAX_MAILBOX_BUFFER], *tail;
+ size_t domainlen = 0;
+
+ buf[0] = '\0';
+ tail = buf;
+ if (domain) {
+ domainlen = snprintf(buf, sizeof(buf), "%s!", domain);
+ tail += domainlen;
+ }
- while (!r && redofix) {
- while (!r && firstquota < quota_num) {
- r = fixquota_finish(firstquota++, frock->tid, &frock->change_count);
- }
-
- redofix = 0;
- firstquota = 0;
-
- /*
- * Loop over all qr entries and recalculate the quota.
- * We need the subfolders too!
- */
- for (i = 0; !r && i < quota_num; i++) {
- r = (*quota_namespace.mboxlist_findall)("a_namespace,
- quota[i].quota.root,
- 1, 0, 0, fixquota_mailbox,
- frock);
+ /* basic case - everything (potentially limited by domain still) */
+ if (!nroots) {
+ r = mboxlist_allmbox(buf, fixquota_mailbox, NULL);
+ if (r) {
+ errmsg("processing mbox list for '%s'", buf, IMAP_IOERROR);
+ }
+ }
+
+ /*
+ * Walk through all given pattern(s) and add all the quota roots
+ * with the matching prefixes.
+ */
+ for (i = 0; i < nroots; i++) {
+ strlcpy(tail, roots[i], sizeof(buf) - domainlen);
+ /* change the separator to internal namespace */
+ mboxname_hiersep_tointernal("a_namespace, tail, 0);
+
+ r = mboxlist_allmbox(buf, fixquota_mailbox, NULL);
+ if (r) {
+ errmsg("processing mbox list for '%s'", buf, IMAP_IOERROR);
+ break;
}
}
while (!r && firstquota < quota_num) {
- r = fixquota_finish(firstquota++, frock->tid, &frock->change_count);
+ r = fixquota_finish(firstquota);
+ firstquota++;
}
- if (!r && *(frock->tid)) quota_commit(frock->tid);
-
- return 0;
+ return r;
}
-
+
/*
* Print out the quota report
*/
diff -Nru cyrus-imapd-2.4-2.4.9/imap/quota_db.c cyrus-imapd-2.4-2.4.12/imap/quota_db.c
--- cyrus-imapd-2.4-2.4.9/imap/quota_db.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/quota_db.c 2011-10-04 19:53:03.000000000 +0000
@@ -71,6 +71,14 @@
static int quota_dbopen = 0;
+static int quota_parseval(const char *data, struct quota *quota)
+{
+ if (sscanf(data, UQUOTA_T_FMT " %d",
+ "a->used, "a->limit) != 2)
+ return 0;
+ return 1;
+}
+
/*
* Read the quota entry 'quota'
*/
@@ -94,13 +102,11 @@
switch (r) {
case CYRUSDB_OK:
- if (!*data)
- return IMAP_QUOTAROOT_NONEXISTENT;
- else if (sscanf(data, UQUOTA_T_FMT " %d",
- "a->used, "a->limit) != 2) {
+ if (!*data) return IMAP_QUOTAROOT_NONEXISTENT;
+ if (!quota_parseval(data, quota)) {
syslog(LOG_ERR, "DBERROR: error fetching quota "
- "root=<%s> value=<%s> error=<%s>",
- quota->root, data, cyrusdb_strerror(r));
+ "root=<%s> value=<%s>",
+ quota->root, data);
return CYRUSDB_IOERROR;
}
break;
@@ -123,6 +129,47 @@
return 0;
}
+struct quota_foreach_t {
+ quotaproc_t *proc;
+ void *rock;
+};
+
+static int do_onequota(void *rock,
+ const char *key, int keylen,
+ const char *data, int datalen)
+{
+ int r = 0;
+ struct quota quota;
+ struct quota_foreach_t *fd = (struct quota_foreach_t *)rock;
+ char *root = xstrndup(key, keylen);
+
+ quota.root = root;
+
+ /* XXX - error if not parsable? */
+ if (datalen && quota_parseval(data, "a)) {
+ r = fd->proc("a, fd->rock);
+ }
+
+ free(root);
+
+ return r;
+}
+
+int quota_foreach(const char *prefix, quotaproc_t *proc, void *rock)
+{
+ int r;
+ char *search = prefix ? (char *)prefix : "";
+ struct quota_foreach_t foreach_d;
+
+ foreach_d.proc = proc;
+ foreach_d.rock = rock;
+
+ r = QDB->foreach(qdb, search, strlen(search), NULL,
+ do_onequota, &foreach_d, NULL);
+
+ return r;
+}
+
/*
* Commit the outstanding quota transaction
*/
@@ -227,7 +274,6 @@
return (QDB->fetch(qdb, ret, strlen(ret), NULL, NULL, NULL) == 0);
}
-
/* must be called after cyrus_init */
void quotadb_init(int myflags)
{
@@ -242,6 +288,7 @@
{
int ret;
char *tofree = NULL;
+ int flags = CYRUSDB_CREATE;
if (!fname)
fname = config_getstring(IMAPOPT_QUOTA_DB_PATH);
@@ -252,7 +299,10 @@
fname = tofree;
}
- ret = (QDB->open)(fname, CYRUSDB_CREATE, &qdb);
+ if (config_getswitch(IMAPOPT_IMPROVED_MBOXLIST_SORT))
+ flags |= CYRUSDB_MBOXSORT;
+
+ ret = (QDB->open)(fname, flags, &qdb);
if (ret != 0) {
syslog(LOG_ERR, "DBERROR: opening %s: %s", fname,
cyrusdb_strerror(ret));
diff -Nru cyrus-imapd-2.4-2.4.9/imap/quota.h cyrus-imapd-2.4-2.4.12/imap/quota.h
--- cyrus-imapd-2.4-2.4.9/imap/quota.h 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/quota.h 2011-10-04 19:53:03.000000000 +0000
@@ -80,6 +80,8 @@
int limit; /* in QUOTA_UNITS */
};
+typedef int quotaproc_t(struct quota *quota, void *rock);
+
extern void quota_setroot(struct quota *quota, const char *root);
extern int quota_read(struct quota *quota, struct txn **tid, int wrlock);
@@ -94,6 +96,8 @@
extern int quota_findroot(char *ret, size_t retlen, const char *name);
+extern int quota_foreach(const char *prefix, quotaproc_t *proc, void *rock);
+
extern void quota_free(struct quota *quota);
/* open the quotas db */
diff -Nru cyrus-imapd-2.4-2.4.9/imap/sequence.c cyrus-imapd-2.4-2.4.12/imap/sequence.c
--- cyrus-imapd-2.4-2.4.9/imap/sequence.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/sequence.c 2011-10-04 19:53:03.000000000 +0000
@@ -136,7 +136,6 @@
-#define MAX(x, y) (x > y ? x : y)
/* Comparator function that sorts ranges by the low value,
and coalesces intersecting ranges to have the same high value */
diff -Nru cyrus-imapd-2.4-2.4.9/imap/spool.c cyrus-imapd-2.4-2.4.12/imap/spool.c
--- cyrus-imapd-2.4-2.4.9/imap/spool.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/spool.c 2011-10-04 19:53:03.000000000 +0000
@@ -197,7 +197,7 @@
skip && *skip && strcasecmp(name, *skip); skip++);
if (!skip || !*skip) {
/* write the header name to the output */
- fputs(name, fout);
+ if (fout) fputs(name, fout);
skip = NULL;
}
s = (c == ':' ? BODY_START : COLON);
@@ -220,7 +220,7 @@
} else if (c != ' ' && c != '\t') {
/* i want to avoid confusing dot-stuffing later */
while (c == '.') {
- if (!skip) fputc(c, fout);
+ if (fout && !skip) fputc(c, fout);
c = prot_getc(fin);
}
r = IMAP_MESSAGE_BADHEADER;
@@ -241,7 +241,7 @@
peek = prot_getc(fin);
- if (!skip) {
+ if (fout && !skip) {
fputc('\r', fout);
fputc('\n', fout);
}
@@ -282,7 +282,7 @@
}
/* copy this to the output */
- if (s != NAME && !skip) fputc(c, fout);
+ if (fout && s != NAME && !skip) fputc(c, fout);
}
/* if we fall off the end of the loop, we hit some sort of error
diff -Nru cyrus-imapd-2.4-2.4.9/imap/squat_build.c cyrus-imapd-2.4-2.4.12/imap/squat_build.c
--- cyrus-imapd-2.4-2.4.9/imap/squat_build.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/squat_build.c 2011-10-04 19:53:03.000000000 +0000
@@ -546,7 +546,7 @@
return SQUAT_OK;
cleanup_fd:
- close(b->fd);
+ close(fd);
return SQUAT_ERR;
}
diff -Nru cyrus-imapd-2.4-2.4.9/imap/squat_internal.c cyrus-imapd-2.4-2.4.12/imap/squat_internal.c
--- cyrus-imapd-2.4-2.4.9/imap/squat_internal.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/squat_internal.c 2011-10-04 19:53:03.000000000 +0000
@@ -72,12 +72,13 @@
return s + 4;
}
-SquatInt64 squat_decode_64(char const* s) {
- unsigned char* v = (unsigned char*)s;
- return ((SquatInt64)v[0] << 56) | ((SquatInt64)v[1] << 48)
- | ((SquatInt64)v[2] << 40) | ((SquatInt64)v[3] << 32)
- | (((SquatInt32)v[4] << 24) | ((SquatInt32)v[5] << 16)
- | ((SquatInt32)v[6] << 8) | (SquatInt32)v[7]);
+SquatInt64 squat_decode_64(char const *s)
+{
+ unsigned char* v = (unsigned char*)s;
+ return ((SquatInt64)v[0] << 56) | ((SquatInt64)v[1] << 48) |
+ ((SquatInt64)v[2] << 40) | ((SquatInt64)v[3] << 32) |
+ ((SquatInt64)v[4] << 24) | ((SquatInt64)v[5] << 16) |
+ ((SquatInt64)v[6] << 8) | (SquatInt64)v[7];
}
char* squat_encode_64(char* s, SquatInt64 v) {
diff -Nru cyrus-imapd-2.4-2.4.9/imap/sync_client.c cyrus-imapd-2.4-2.4.12/imap/sync_client.c
--- cyrus-imapd-2.4-2.4.9/imap/sync_client.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/sync_client.c 2011-10-04 19:53:03.000000000 +0000
@@ -700,33 +700,37 @@
static int copy_local(struct mailbox *mailbox, unsigned long uid)
{
uint32_t recno;
- struct index_record record;
- char *oldfname, *newfname;
+ struct index_record oldrecord;
int r;
for (recno = 1; recno <= mailbox->i.num_records; recno++) {
- r = mailbox_read_index_record(mailbox, recno, &record);
+ r = mailbox_read_index_record(mailbox, recno, &oldrecord);
if (r) return r;
- if (record.uid == uid) {
- /* store the old record, expunged */
- record.system_flags |= FLAG_EXPUNGED;
- r = mailbox_rewrite_index_record(mailbox, &record);
- if (r) return r;
- /* create the new record */
- record.system_flags &= ~FLAG_EXPUNGED;
- record.uid = mailbox->i.last_uid + 1;
+ /* found the record, renumber it */
+ if (oldrecord.uid == uid) {
+ char *oldfname, *newfname;
+ struct index_record newrecord;
+
+ /* create the new record as a clone of the old record */
+ newrecord = oldrecord;
+ newrecord.uid = mailbox->i.last_uid + 1;
/* copy the file in to place */
- oldfname = xstrdup(mailbox_message_fname(mailbox, uid));
- newfname = xstrdup(mailbox_message_fname(mailbox, record.uid));
+ oldfname = xstrdup(mailbox_message_fname(mailbox, oldrecord.uid));
+ newfname = xstrdup(mailbox_message_fname(mailbox, newrecord.uid));
r = mailbox_copyfile(oldfname, newfname, 0);
free(oldfname);
free(newfname);
if (r) return r;
- /* and append the new record (a clone apart from the EXPUNGED flag) */
- r = mailbox_append_index_record(mailbox, &record);
+ /* append the new record */
+ r = mailbox_append_index_record(mailbox, &newrecord);
+ if (r) return r;
+
+ /* and expunge the old record */
+ oldrecord.system_flags |= FLAG_EXPUNGED;
+ r = mailbox_rewrite_index_record(mailbox, &oldrecord);
/* done - return */
return r;
@@ -2599,39 +2603,43 @@
syslog(LOG_ERR, "unable to setsocketopt(TCP_NODELAY): %m");
}
- /* turn on TCP keepalive if set */
- if (config_getswitch(IMAPOPT_TCP_KEEPALIVE)) {
+ /* turn on TCP keepalive if set */
+ if (config_getswitch(IMAPOPT_TCP_KEEPALIVE)) {
int r;
- int optval = 1;
- socklen_t optlen = sizeof(optval);
-
- r = setsockopt(sync_backend->sock, SOL_SOCKET, SO_KEEPALIVE, &optval, optlen);
- if (r < 0) {
- syslog(LOG_ERR, "unable to setsocketopt(SO_KEEPALIVE): %m");
- }
+ int optval = 1;
+ socklen_t optlen = sizeof(optval);
+ struct protoent *proto = getprotobyname("TCP");
+
+ r = setsockopt(sync_backend->sock, SOL_SOCKET, SO_KEEPALIVE, &optval, optlen);
+ if (r < 0) {
+ syslog(LOG_ERR, "unable to setsocketopt(SO_KEEPALIVE): %m");
+ }
#ifdef TCP_KEEPCNT
- if (config_getint(IMAPOPT_TCP_KEEPALIVE_CNT)) {
- r = setsockopt(sync_backend->sock, SOL_TCP, TCP_KEEPCNT, &optval, optlen);
- if (r < 0) {
- syslog(LOG_ERR, "unable to setsocketopt(TCP_KEEPCNT): %m");
- }
- }
+ optval = config_getint(IMAPOPT_TCP_KEEPALIVE_CNT);
+ if (optval) {
+ r = setsockopt(sync_backend->sock, proto->p_proto, TCP_KEEPCNT, &optval, optlen);
+ if (r < 0) {
+ syslog(LOG_ERR, "unable to setsocketopt(TCP_KEEPCNT): %m");
+ }
+ }
#endif
#ifdef TCP_KEEPIDLE
- if (config_getint(IMAPOPT_TCP_KEEPALIVE_IDLE)) {
- r = setsockopt(sync_backend->sock, SOL_TCP, TCP_KEEPIDLE, &optval, optlen);
- if (r < 0) {
- syslog(LOG_ERR, "unable to setsocketopt(TCP_KEEPIDLE): %m");
- }
- }
+ optval = config_getint(IMAPOPT_TCP_KEEPALIVE_IDLE);
+ if (optval) {
+ r = setsockopt(sync_backend->sock, proto->p_proto, TCP_KEEPIDLE, &optval, optlen);
+ if (r < 0) {
+ syslog(LOG_ERR, "unable to setsocketopt(TCP_KEEPIDLE): %m");
+ }
+ }
#endif
#ifdef TCP_KEEPINTVL
- if (config_getint(IMAPOPT_TCP_KEEPALIVE_INTVL)) {
- r = setsockopt(sync_backend->sock, SOL_TCP, TCP_KEEPINTVL, &optval, optlen);
- if (r < 0) {
- syslog(LOG_ERR, "unable to setsocketopt(TCP_KEEPINTVL): %m");
- }
- }
+ optval = config_getint(IMAPOPT_TCP_KEEPALIVE_INTVL);
+ if (optval) {
+ r = setsockopt(sync_backend->sock, proto->p_proto, TCP_KEEPINTVL, &optval, optlen);
+ if (r < 0) {
+ syslog(LOG_ERR, "unable to setsocketopt(TCP_KEEPINTVL): %m");
+ }
+ }
#endif
}
} else {
@@ -2658,6 +2666,11 @@
/* links to sockets */
sync_in = sync_backend->in;
sync_out = sync_backend->out;
+
+ /* Force use of LITERAL+ so we don't need two way communications */
+ prot_setisclient(sync_in, 1);
+ prot_setisclient(sync_out, 1);
+
}
static void replica_disconnect()
diff -Nru cyrus-imapd-2.4-2.4.9/imap/sync_reset.c cyrus-imapd-2.4-2.4.12/imap/sync_reset.c
--- cyrus-imapd-2.4-2.4.9/imap/sync_reset.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/sync_reset.c 2011-10-04 19:53:03.000000000 +0000
@@ -144,9 +144,7 @@
/* Nuke subscriptions */
list = sync_name_list_create();
- r = (sync_namespacep->mboxlist_findsub)(sync_namespacep, "*", 1,
- (char *)userid, sync_authstate,
- addmbox_sub, (void *)list, 1);
+ r = mboxlist_allsubs(userid, addmbox_sub, list);
if (r) goto fail;
/* ignore failures here - the subs file gets deleted soon anyway */
diff -Nru cyrus-imapd-2.4-2.4.9/imap/sync_server.c cyrus-imapd-2.4-2.4.12/imap/sync_server.c
--- cyrus-imapd-2.4-2.4.9/imap/sync_server.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/sync_server.c 2011-10-04 19:53:03.000000000 +0000
@@ -349,6 +349,10 @@
sync_in = prot_new(0, 0);
sync_out = prot_new(1, 1);
+ /* Force use of LITERAL+ so we don't need two way communications */
+ prot_setisclient(sync_in, 1);
+ prot_setisclient(sync_out, 1);
+
/* Find out name of client host */
salen = sizeof(sync_remoteaddr);
if (getpeername(0, (struct sockaddr *)&sync_remoteaddr, &salen) == 0 &&
diff -Nru cyrus-imapd-2.4-2.4.9/imap/sync_support.c cyrus-imapd-2.4-2.4.12/imap/sync_support.c
--- cyrus-imapd-2.4-2.4.9/imap/sync_support.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/imap/sync_support.c 2011-10-04 19:53:03.000000000 +0000
@@ -1573,7 +1573,6 @@
}
just_write:
- record->silent = 1;
return mailbox_append_index_record(mailbox, record);
}
diff -Nru cyrus-imapd-2.4-2.4.9/lib/cyrusdb_quotalegacy.c cyrus-imapd-2.4-2.4.12/lib/cyrusdb_quotalegacy.c
--- cyrus-imapd-2.4-2.4.9/lib/cyrusdb_quotalegacy.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/lib/cyrusdb_quotalegacy.c 2011-10-04 19:53:03.000000000 +0000
@@ -75,6 +75,7 @@
#endif
#include "assert.h"
+#include "bsearch.h"
#include "cyrusdb.h"
#include "exitcodes.h"
#include "hash.h"
@@ -115,10 +116,32 @@
char *data; /* allocated buffer for fetched data */
struct txn txn; /* transaction associated with this db handle */
+
+ /* sorting function */
+ int (*compar) (const void *s1, const void *s2);
};
static int abort_txn(struct db *db __attribute__((unused)), struct txn *tid);
+static int compar_qr(const void *v1, const void *v2);
+static int compar_qr_mbox(const void *v1, const void *v2);
+
+/* hash the prefix - either with or without 'user.' part */
+static char name_to_hashchar(const char *name)
+{
+ int config_fulldirhash = libcyrus_config_getswitch(CYRUSOPT_FULLDIRHASH);
+ const char *idx;
+
+ if (!*name) return '\0';
+
+ idx = strchr(name, '.'); /* skip past user. */
+ if (idx == NULL) {
+ idx = name;
+ } else {
+ idx++;
+ }
+ return (char) dir_hash_c(idx, config_fulldirhash);
+}
/* simple hash so it's easy to find these things in the filesystem;
our human time is worth more than efficiency */
@@ -126,7 +149,6 @@
{
int config_virtdomains = libcyrus_config_getswitch(CYRUSOPT_VIRTDOMAINS);
int config_fulldirhash = libcyrus_config_getswitch(CYRUSOPT_FULLDIRHASH);
- const char *idx;
char c, *p;
unsigned len;
@@ -158,13 +180,7 @@
}
}
- idx = strchr(qr, '.'); /* skip past user. */
- if (idx == NULL) {
- idx = qr;
- } else {
- idx++;
- }
- c = (char) dir_hash_c(idx, config_fulldirhash);
+ c = name_to_hashchar(qr);
if (snprintf(buf, size, "%s%c/%s", FNAME_QUOTADIR, c, qr) >= (int) size) {
fatal("insufficient buffer size in hash_quota", EC_TEMPFAIL);
@@ -333,6 +349,8 @@
return CYRUSDB_IOERROR;
}
+ db->compar = (flags & CYRUSDB_MBOXSORT) ? compar_qr_mbox : compar_qr;
+
*ret = db;
return 0;
}
@@ -497,6 +515,17 @@
return strcmp(qr1, qr2);
}
+static int compar_qr_mbox(const void *v1, const void *v2)
+{
+ const char *qr1, *qr2;
+ char qrbuf1[MAX_QUOTA_PATH+1], qrbuf2[MAX_QUOTA_PATH+1];
+
+ qr1 = path_to_qr(*((const char **) v1), qrbuf1);
+ qr2 = path_to_qr(*((const char **) v2), qrbuf2);
+
+ return bsearch_compare(qr1, qr2);
+}
+
#define PATH_ALLOC 100
struct qr_path {
char **path;
@@ -509,6 +538,7 @@
int config_fulldirhash = libcyrus_config_getswitch(CYRUSOPT_FULLDIRHASH);
int config_virtdomains = libcyrus_config_getswitch(CYRUSOPT_VIRTDOMAINS);
char *endp;
+ char onlyc = '\0';
int c, i;
DIR *qrdir;
struct dirent *next = NULL;
@@ -517,8 +547,13 @@
endp = strstr(quota_path, FNAME_QUOTADIR) + strlen(FNAME_QUOTADIR);
strcpy(endp, "?/");
+ /* check for path restriction - if there's a prefix we only
+ * need to scan a single directory */
+ onlyc = name_to_hashchar(prefix);
+
c = config_fulldirhash ? 'A' : 'a';
for (i = 0; i < 26; i++, c++) {
+ if (onlyc && c != onlyc) continue;
*endp = c;
qrdir = opendir(quota_path);
@@ -601,15 +636,16 @@
DIR *qrdir;
struct dirent *next = NULL;
- n = snprintf(quota_path, sizeof(quota_path), "%s%s",
+ n = snprintf(quota_path, sizeof(quota_path)-3, "%s%s",
db->path, FNAME_DOMAINDIR);
endp = quota_path + n;
- strcpy(endp, "?/");
c = config_fulldirhash ? 'A' : 'a';
for (i = 0; i < 26; i++, c++) {
- *endp = c;
+ endp[0] = c;
+ endp[1] = '/';
+ endp[2] = '\0';
qrdir = opendir(quota_path);
@@ -633,7 +669,7 @@
if (tid && !*tid) *tid = &db->txn;
/* sort the quotaroots (ignoring paths) */
- qsort(pathbuf.path, pathbuf.count, sizeof(char *), &compar_qr);
+ qsort(pathbuf.path, pathbuf.count, sizeof(char *), db->compar);
for (i = 0; i < pathbuf.count; i++) {
const char *data, *key;
@@ -645,14 +681,14 @@
key = path_to_qr(pathbuf.path[i], quota_path);
keylen = strlen(key);
- free(pathbuf.path[i]);
-
if (!goodp || goodp(rock, key, keylen, data, datalen)) {
/* make callback */
r = cb(rock, key, keylen, data, datalen);
if (r) break;
}
}
+ for (i = 0; i < pathbuf.count; i++)
+ free(pathbuf.path[i]);
free(pathbuf.path);
diff -Nru cyrus-imapd-2.4-2.4.9/lib/cyrusdb_skiplist.c cyrus-imapd-2.4-2.4.12/lib/cyrusdb_skiplist.c
--- cyrus-imapd-2.4-2.4.9/lib/cyrusdb_skiplist.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/lib/cyrusdb_skiplist.c 2011-10-04 19:53:03.000000000 +0000
@@ -1808,12 +1808,14 @@
db->fd = oldfd;
unlink(fname);
}
+ else {
+ struct stat sbuf;
- /* release old write lock */
- close(oldfd);
+ /* remove content of old file so it doesn't sit around using disk */
+ ftruncate(oldfd, 0);
- {
- struct stat sbuf;
+ /* release old write lock */
+ close(oldfd);
/* let's make sure we're up to date */
map_free(&db->map_base, &db->map_len);
@@ -1938,7 +1940,7 @@
offset = FORWARD(ptr, i);
if (offset > db->map_size) {
- fprintf(stdout,
+ syslog(LOG_ERR,
"skiplist inconsistent: %04X: ptr %d is %04X; "
"eof is %04X\n",
(unsigned int) (ptr - db->map_base),
@@ -1954,7 +1956,7 @@
cmp = db->compar(KEY(ptr), KEYLEN(ptr), KEY(q), KEYLEN(q));
if (cmp >= 0) {
- fprintf(stdout,
+ syslog(LOG_ERR,
"skiplist inconsistent: %04X: ptr %d is %04X; "
"db->compar() = %d\n",
(unsigned int) (ptr - db->map_base),
diff -Nru cyrus-imapd-2.4-2.4.9/lib/imapoptions cyrus-imapd-2.4-2.4.12/lib/imapoptions
--- cyrus-imapd-2.4-2.4.9/lib/imapoptions 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/lib/imapoptions 2011-10-04 19:53:03.000000000 +0000
@@ -241,6 +241,12 @@
/* Maximum number of transactions to be supported in the berkeley
environment. */
+{ "boundary_limit", 1000, INT }
+/* messages are parsed recursively and a deep enough MIME structure
+ can cause a stack overflow. Do not parse deeper than this many
+ layers of MIME structure. The default of 1000 is much higher
+ than any sane message should have. */
+
{ "client_timeout", 10, INT }
/* Number of seconds to wait before returning a timeout failure when
performing a client connection (e.g., in a murder environment) */
@@ -294,6 +300,16 @@
grant the user the ability to delete a mailbox. If a user has this
right, they will automatically be given the new 'x' right. */
+{ "disable_user_namespace", 0, SWITCH }
+/* Preclude list command on user namespace. If set to 'yes', the
+ LIST response will never include any other user's mailbox. Admin
+ users will always see all mailboxes. The default is 'no' */
+
+{ "disable_shared_namespace", 0, SWITCH }
+/* Preclude list command on user namespace. If set to 'yes', the
+ LIST response will never include any non-user mailboxes. Admin
+ users will always see all mailboxes. The default is 'no' */
+
{ "disconnect_on_vanished_mailbox", 0, SWITCH }
/* If enabled, IMAP/POP3/NNTP clients will be disconnected by the
server if the currently selected mailbox is (re)moved by another
@@ -597,10 +613,23 @@
will cause the user's mailbox to exceed its quota. By default, the
failure won't occur until the mailbox is already over quota. */
+{ "lmtp_strict_rfc2821", 1, SWITCH }
+/* By default, lmtpd will be strict (per RFC 2821) with regards to which
+ envelope addresses are allowed. If this option is set to false, 8bit
+ characters in the local-part of envelope addresses are changed to 'X'
+ instead. This is useful to avoid generating backscatter with
+ certain MTAs like Postfix or Exim which accept such messages. */
+
{ "lmtpsocket", "{configdirectory}/socket/lmtp", STRING }
/* Unix domain socket that lmtpd listens on, used by deliver(8). This should
match the path specified in cyrus.conf(5). */
+{ "lmtptxn_timeout", 300, INT }
+/* Timeout (in seconds) used during a lmtp transaction to a remote backend
+ (e.g. in a murder environment). Can be used to prevent hung lmtpds
+ on proxy hosts when a backend server becomes unresponsive during a
+ lmtp transaction. The default is 300 - change to zero for infinite. */
+
# xxx how does this tie into virtual domains?
{ "loginrealms", "", STRING }
/* The list of remote realms whose users may authenticate using cross-realm
@@ -656,7 +685,7 @@
{ "mboxname_lockpath", NULL, STRING }
/* Path to mailbox name lock files (default $conf/lock) */
-{ "metapartition_files", "", BITFIELD("header", "index", "cache", "expunge", "squat", "lock") }
+{ "metapartition_files", "", BITFIELD("header", "index", "cache", "expunge", "squat") }
/* Space-separated list of metadata files to be stored on a
\fImetapartition\fR rather than in the mailbox directory on a spool
partition. */
@@ -1171,9 +1200,9 @@
{ "suppress_capabilities", NULL, STRING }
/* Suppress the named capabilities from any capability response. Use the
exact case as it appears in the response, e.g.
- "suppress_capabilities: ESEARCH QRESYNC WITHIN XLIST" if you have
- a murder with 2.3.x backends and don't want clients being confused
- by new capabilities that some backends don't support. */
+ "suppress_capabilities: ESEARCH QRESYNC WITHIN XLIST LIST-EXTENDED"
+ if you have a murder with 2.3.x backends and don't want clients being
+ confused by new capabilities that some backends don't support. */
{ "statuscache", 0, SWITCH }
/* Enable/disable the imap status cache. */
diff -Nru cyrus-imapd-2.4-2.4.9/lib/imapopts.c cyrus-imapd-2.4-2.4.12/lib/imapopts.c
--- cyrus-imapd-2.4-2.4.9/lib/imapopts.c 2011-06-21 19:51:34.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/lib/imapopts.c 2011-10-04 20:03:49.000000000 +0000
@@ -97,6 +97,9 @@
{ IMAPOPT_BERKELEY_TXNS_MAX, "berkeley_txns_max", 0, OPT_INT,
{(void*)100},
{ { NULL, IMAP_ENUM_ZERO } } },
+ { IMAPOPT_BOUNDARY_LIMIT, "boundary_limit", 0, OPT_INT,
+ {(void*)1000},
+ { { NULL, IMAP_ENUM_ZERO } } },
{ IMAPOPT_CLIENT_TIMEOUT, "client_timeout", 0, OPT_INT,
{(void*)10},
{ { NULL, IMAP_ENUM_ZERO } } },
@@ -132,6 +135,12 @@
{ IMAPOPT_DELETERIGHT, "deleteright", 0, OPT_STRING,
{(void *)("c")},
{ { NULL, IMAP_ENUM_ZERO } } },
+ { IMAPOPT_DISABLE_USER_NAMESPACE, "disable_user_namespace", 0, OPT_SWITCH,
+ {(void*)0},
+ { { NULL, IMAP_ENUM_ZERO } } },
+ { IMAPOPT_DISABLE_SHARED_NAMESPACE, "disable_shared_namespace", 0, OPT_SWITCH,
+ {(void*)0},
+ { { NULL, IMAP_ENUM_ZERO } } },
{ IMAPOPT_DISCONNECT_ON_VANISHED_MAILBOX, "disconnect_on_vanished_mailbox", 0, OPT_SWITCH,
{(void*)0},
{ { NULL, IMAP_ENUM_ZERO } } },
@@ -347,9 +356,15 @@
{ IMAPOPT_LMTP_STRICT_QUOTA, "lmtp_strict_quota", 0, OPT_SWITCH,
{(void*)0},
{ { NULL, IMAP_ENUM_ZERO } } },
+ { IMAPOPT_LMTP_STRICT_RFC2821, "lmtp_strict_rfc2821", 0, OPT_SWITCH,
+ {(void*)1},
+ { { NULL, IMAP_ENUM_ZERO } } },
{ IMAPOPT_LMTPSOCKET, "lmtpsocket", 0, OPT_STRING,
{(void *)("{configdirectory}/socket/lmtp")},
{ { NULL, IMAP_ENUM_ZERO } } },
+ { IMAPOPT_LMTPTXN_TIMEOUT, "lmtptxn_timeout", 0, OPT_INT,
+ {(void*)300},
+ { { NULL, IMAP_ENUM_ZERO } } },
{ IMAPOPT_LOGINREALMS, "loginrealms", 0, OPT_STRING,
{(void *)("")},
{ { NULL, IMAP_ENUM_ZERO } } },
@@ -402,7 +417,6 @@
{ "cache" , IMAP_ENUM_METAPARTITION_FILES_CACHE },
{ "expunge" , IMAP_ENUM_METAPARTITION_FILES_EXPUNGE },
{ "squat" , IMAP_ENUM_METAPARTITION_FILES_SQUAT },
- { "lock" , IMAP_ENUM_METAPARTITION_FILES_LOCK },
{ NULL, IMAP_ENUM_ZERO } } },
{ IMAPOPT_MUPDATE_AUTHNAME, "mupdate_authname", 0, OPT_STRING,
{(void *)(NULL)},
diff -Nru cyrus-imapd-2.4-2.4.9/lib/imapopts.h cyrus-imapd-2.4-2.4.12/lib/imapopts.h
--- cyrus-imapd-2.4-2.4.9/lib/imapopts.h 2011-06-21 19:51:34.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/lib/imapopts.h 2011-10-04 20:03:49.000000000 +0000
@@ -37,6 +37,7 @@
IMAPOPT_BERKELEY_CACHESIZE,
IMAPOPT_BERKELEY_LOCKS_MAX,
IMAPOPT_BERKELEY_TXNS_MAX,
+ IMAPOPT_BOUNDARY_LIMIT,
IMAPOPT_CLIENT_TIMEOUT,
IMAPOPT_COMMANDMINTIMER,
IMAPOPT_CONFIGDIRECTORY,
@@ -48,6 +49,8 @@
IMAPOPT_DELETEDPREFIX,
IMAPOPT_DELETE_MODE,
IMAPOPT_DELETERIGHT,
+ IMAPOPT_DISABLE_USER_NAMESPACE,
+ IMAPOPT_DISABLE_SHARED_NAMESPACE,
IMAPOPT_DISCONNECT_ON_VANISHED_MAILBOX,
IMAPOPT_DUPLICATE_DB,
IMAPOPT_DUPLICATE_DB_PATH,
@@ -111,7 +114,9 @@
IMAPOPT_LMTP_FUZZY_MAILBOX_MATCH,
IMAPOPT_LMTP_OVER_QUOTA_PERM_FAILURE,
IMAPOPT_LMTP_STRICT_QUOTA,
+ IMAPOPT_LMTP_STRICT_RFC2821,
IMAPOPT_LMTPSOCKET,
+ IMAPOPT_LMTPTXN_TIMEOUT,
IMAPOPT_LOGINREALMS,
IMAPOPT_LOGINUSEACL,
IMAPOPT_LOGTIMESTAMPS,
@@ -278,7 +283,6 @@
IMAP_ENUM_METAPARTITION_FILES_CACHE = (1<<2),
IMAP_ENUM_METAPARTITION_FILES_EXPUNGE = (1<<3),
IMAP_ENUM_METAPARTITION_FILES_SQUAT = (1<<4),
- IMAP_ENUM_METAPARTITION_FILES_LOCK = (1<<5),
IMAP_ENUM_MUPDATE_CONFIG_STANDARD = 0,
IMAP_ENUM_MUPDATE_CONFIG_UNIFIED,
IMAP_ENUM_MUPDATE_CONFIG_REPLICATED,
diff -Nru cyrus-imapd-2.4-2.4.9/lib/Makefile.in cyrus-imapd-2.4-2.4.12/lib/Makefile.in
--- cyrus-imapd-2.4-2.4.9/lib/Makefile.in 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/lib/Makefile.in 2011-10-04 19:53:03.000000000 +0000
@@ -102,9 +102,9 @@
LIBCYRM_HDRS = $(srcdir)/hash.h $(srcdir)/mpool.h $(srcdir)/xmalloc.h \
$(srcdir)/xstrlcat.h $(srcdir)/xstrlcpy.h $(srcdir)/util.h \
$(srcdir)/strhash.h $(srcdir)/libconfig.h $(srcdir)/assert.h \
- imapopts.h $(srcdir)/crc32.h
+ imapopts.h
LIBCYRM_OBJS = libconfig.o imapopts.o hash.o mpool.o xmalloc.o strhash.o \
- xstrlcat.o xstrlcpy.o assert.o util.o signals.o crc32.o @IPV6_OBJS@
+ xstrlcat.o xstrlcpy.o assert.o util.o signals.o @IPV6_OBJS@
all: $(BUILTSOURCES) libcyrus_min.a libcyrus.a
diff -Nru cyrus-imapd-2.4-2.4.9/lib/parseaddr.c cyrus-imapd-2.4-2.4.12/lib/parseaddr.c
--- cyrus-imapd-2.4-2.4.9/lib/parseaddr.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/lib/parseaddr.c 2011-10-04 19:53:03.000000000 +0000
@@ -106,6 +106,10 @@
case '@':
tok = parseaddr_domain(&s, &domain, &comment);
parseaddr_append(&addrp, comment, 0, phrase, domain, &freeme);
+ if (tok == ';') {
+ parseaddr_append(&addrp, 0, 0, 0, 0, &freeme);
+ ingroup = 0;
+ }
continue;
case '<':
diff -Nru cyrus-imapd-2.4-2.4.9/lib/prot.c cyrus-imapd-2.4-2.4.12/lib/prot.c
--- cyrus-imapd-2.4-2.4.9/lib/prot.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/lib/prot.c 2011-10-04 19:53:03.000000000 +0000
@@ -86,9 +86,7 @@
* Create a new protection stream for file descriptor 'fd'. Stream
* will be used for writing iff 'write' is nonzero.
*/
-struct protstream *prot_new(fd, write)
-int fd;
-int write;
+struct protstream *prot_new(int fd, int write)
{
struct protstream *newstream;
@@ -105,9 +103,23 @@
if(write)
newstream->cnt = PROT_BUFSIZE;
- newstream->can_unget = 0;
- newstream->bytes_in = 0;
- newstream->bytes_out = 0;
+ return newstream;
+}
+
+/* Create a protstream which is just an interface to a mapped piece of
+ * memory, allowing prot commands to be used to read from it */
+struct protstream *prot_readmap(const char *buf, uint32_t len)
+{
+ struct protstream *newstream;
+
+ newstream = (struct protstream *) xzmalloc(sizeof(struct protstream));
+ /* dodgy, but the alternative is two pointers */
+ newstream->ptr = (unsigned char *)buf;
+ newstream->cnt = len;
+ newstream->fixedsize = 1;
+ newstream->fd = PROT_NO_FD;
+ newstream->logfd = PROT_NO_FD;
+ newstream->big_buffer = PROT_NO_FD;
return newstream;
}
@@ -134,7 +146,7 @@
if (s->zbuf) free(s->zbuf);
#endif
- free((char*)s);
+ free(s);
return 0;
}
@@ -264,6 +276,17 @@
return 0;
}
+/*
+ * Turn off SASL for this connection
+ */
+
+void prot_unsetsasl(struct protstream *s)
+{
+ s->conn = NULL;
+ s->maxplain = PROT_BUFSIZE;
+ s->saslssf = 0;
+}
+
#ifdef HAVE_ZLIB
#define ZLARGE_DIFF_CHUNK (5120) /* 5K */
@@ -555,6 +578,7 @@
/* Zero errno just in case */
errno = 0;
+ if (s->fixedsize) s->eof = 1;
if (s->eof || s->error) return EOF;
do {
@@ -1681,13 +1705,17 @@
{
assert(!s->write);
+ if (c == EOF) return EOF;
+
if (!s->can_unget)
fatal("Can't unwind any more", EC_SOFTWARE);
s->cnt++;
s->can_unget--;
s->bytes_in--;
- *--(s->ptr) = c;
+ s->ptr--;
+ if (*s->ptr != c)
+ fatal("Trying to unput wrong character", EC_SOFTWARE);
return c;
}
diff -Nru cyrus-imapd-2.4-2.4.9/lib/prot.h cyrus-imapd-2.4-2.4.12/lib/prot.h
--- cyrus-imapd-2.4-2.4.9/lib/prot.h 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/lib/prot.h 2011-10-04 19:53:03.000000000 +0000
@@ -113,6 +113,7 @@
/* Status Flags */
int eof;
int boundary; /* Type of data is about to change */
+ int fixedsize;
char *error;
/* Parameters */
@@ -182,6 +183,7 @@
/* Allocate/free the protstream structure */
extern struct protstream *prot_new(int fd, int write);
+extern struct protstream *prot_readmap(const char *buf, uint32_t len);
extern int prot_free(struct protstream *s);
/* Set the telemetry logfile for a given protstream */
@@ -196,6 +198,7 @@
/* Set the SASL options for a protstream (requires authentication to
* be complete for the given sasl_conn_t */
extern int prot_setsasl(struct protstream *s, sasl_conn_t *conn);
+extern void prot_unsetsasl(struct protstream *s);
#ifdef HAVE_SSL
/* Set TLS options for a given protstream (requires a completed tls
diff -Nru cyrus-imapd-2.4-2.4.9/lib/util.c cyrus-imapd-2.4-2.4.12/lib/util.c
--- cyrus-imapd-2.4-2.4.9/lib/util.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/lib/util.c 2011-10-04 19:53:03.000000000 +0000
@@ -527,7 +527,7 @@
*len = buf->len;
}
-unsigned buf_len(struct buf *buf)
+unsigned buf_len(const struct buf *buf)
{
return buf->len;
}
@@ -538,12 +538,24 @@
buf->flags &= ~BUF_CSTRING;
}
-void buf_setcstr(struct buf *buf, char *str)
+void buf_truncate(struct buf *buf, unsigned int len)
+{
+ if (len > buf->alloc) {
+ /* grow the buffer and zero-fill the new bytes */
+ unsigned int more = len - buf->len;
+ buf_ensure(buf, more);
+ memset(buf->s + buf->len, 0, more);
+ }
+ buf->len = len;
+ buf->flags &= ~BUF_CSTRING;
+}
+
+void buf_setcstr(struct buf *buf, const char *str)
{
buf_setmap(buf, str, strlen(str));
}
-void buf_setmap(struct buf *buf, char *base, int len)
+void buf_setmap(struct buf *buf, const char *base, int len)
{
buf_reset(buf);
if (len) {
@@ -553,17 +565,17 @@
}
}
-void buf_copy(struct buf *dst, struct buf *src)
+void buf_copy(struct buf *dst, const struct buf *src)
{
buf_setmap(dst, src->s, src->len);
}
-void buf_append(struct buf *dst, struct buf *src)
+void buf_append(struct buf *dst, const struct buf *src)
{
buf_appendmap(dst, src->s, src->len);
}
-void buf_appendcstr(struct buf *buf, char *str)
+void buf_appendcstr(struct buf *buf, const char *str)
{
buf_appendmap(buf, str, strlen(str));
}
@@ -575,7 +587,7 @@
buf_appendmap(buf, item, 4);
}
-void buf_appendmap(struct buf *buf, char *base, int len)
+void buf_appendmap(struct buf *buf, const char *base, int len)
{
if (len) {
buf_ensure(buf, len);
@@ -592,6 +604,118 @@
buf->flags &= ~BUF_CSTRING;
}
+void buf_printf(struct buf *buf, const char *fmt, ...)
+{
+ va_list args;
+ int room;
+ int n;
+
+ /* Add some more room to the buffer. We just guess a
+ * size and rely on vsnprintf() to tell us if it
+ * needs to overrun the size. */
+ buf_ensure(buf, 1024);
+
+ room = buf->alloc - buf->len - 1;
+ va_start(args, fmt);
+ n = vsnprintf(buf->s + buf->len, room+1, fmt, args);
+ va_end(args);
+
+ if (n > room) {
+ /* woops, we guessed wrong...retry */
+ buf_ensure(buf, n-room);
+ va_start(args, fmt);
+ n = vsnprintf(buf->s + buf->len, n+1, fmt, args);
+ va_end(args);
+ }
+
+ buf->len += n;
+ /* vsnprintf() gave us a trailing NUL, so we may as well remember
+ * that for later */
+ buf->flags |= BUF_CSTRING;
+}
+
+/**
+ * Replace all instances of the string literal @match in @buf
+ * with the string @replace, which may be NULL to just remove
+ * instances of @match.
+ * Returns: the number of substitutions made.
+ */
+unsigned int buf_replace_all(struct buf *buf, const char *match,
+ const char *replace)
+{
+ unsigned int n = 0;
+ int matchlen = strlen(match);
+ int replacelen = (replace ? strlen(replace) : 0);
+ char *p;
+
+ /* we need buf to be a nul terminated string now please */
+ buf_cstring(buf);
+
+ p = buf->s;
+ while ((p = strstr(p, match))) {
+ if (replacelen > matchlen) {
+ /* string will need to expand */
+ int dp = (p - buf->s);
+ buf_ensure(buf, replacelen - matchlen);
+ p = buf->s + dp;
+ }
+ if (matchlen != replacelen) {
+ memmove(p+replacelen, p+matchlen,
+ buf->len - (p - buf->s) - matchlen + replacelen + 1);
+ buf->len += (replacelen - matchlen);
+ }
+ if (replace)
+ memcpy(p, replace, replacelen);
+ n++;
+ p += replacelen;
+ }
+
+ return n;
+}
+
+/*
+ * Compare two struct bufs bytewise. Returns a number
+ * like strcmp(), suitable for sorting e.g. with qsort(),
+ */
+int buf_cmp(const struct buf *a, const struct buf *b)
+{
+ unsigned len = MIN(a->len, b->len);
+ int r = 0;
+
+ if (len)
+ r = memcmp(a->s, b->s, len);
+
+ if (!r) {
+ if (a->len < b->len)
+ r = -1;
+ else if (a->len > b->len)
+ r = 1;
+ }
+
+ return r;
+}
+
+void buf_init(struct buf *buf)
+{
+ buf->alloc = 0;
+ buf->len = 0;
+ buf->flags = 0;
+ buf->s = NULL;
+}
+
+/*
+ * Initialise a struct buf to point to read-only data. The key here is
+ * setting buf->alloc=0 which indicates CoW is in effect, i.e. the data
+ * pointed to needs to be copied should it ever be modified.
+ */
+void buf_init_ro(struct buf *buf, const char *base, int len)
+{
+ buf->alloc = 0;
+ buf->len = len;
+ buf->flags = 0;
+ buf->s = (char *)base;
+}
+
void buf_free(struct buf *buf)
{
if (buf->alloc)
@@ -602,6 +726,14 @@
buf->flags = 0;
}
+void buf_move(struct buf *dst, struct buf *src)
+{
+ if (dst->alloc)
+ free(dst->s);
+ *dst = *src;
+ buf_init(src);
+}
+
char *strconcat(const char *s1, ...)
{
int sz = 1; /* 1 byte for the trailing NUL */
diff -Nru cyrus-imapd-2.4-2.4.9/lib/util.h cyrus-imapd-2.4-2.4.12/lib/util.h
--- cyrus-imapd-2.4-2.4.9/lib/util.h 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/lib/util.h 2011-10-04 19:53:03.000000000 +0000
@@ -92,6 +92,13 @@
#define TOUPPER(c) (convert_to_uppercase[(unsigned char)(c)])
#define TOLOWER(c) (convert_to_lowercase[(unsigned char)(c)])
+#ifndef MAX
+#define MAX(x, y) ((x) > (y) ? (x) : (y))
+#endif
+#ifndef MIN
+#define MIN(x, y) ((x) < (y) ? (x) : (y))
+#endif
+
typedef struct keyvalue {
char *key, *value;
} keyvalue;
@@ -173,20 +180,31 @@
unsigned alloc;
int flags;
};
+#define BUF_INITIALIZER { NULL, 0, 0, 0 }
const char *buf_cstring(struct buf *buf);
+void buf_ensure(struct buf *buf, int morebytes);
void buf_getmap(struct buf *buf, const char **base, int *len);
-unsigned buf_len(struct buf *buf);
+unsigned buf_len(const struct buf *buf);
void buf_reset(struct buf *buf);
-void buf_setcstr(struct buf *buf, char *str);
-void buf_setmap(struct buf *buf, char *base, int len);
-void buf_copy(struct buf *dst, struct buf *src);
-void buf_append(struct buf *dst, struct buf *src);
-void buf_appendcstr(struct buf *buf, char *str);
+void buf_truncate(struct buf *buf, unsigned int len);
+void buf_setcstr(struct buf *buf, const char *str);
+void buf_setmap(struct buf *buf, const char *base, int len);
+void buf_copy(struct buf *dst, const struct buf *src);
+void buf_append(struct buf *dst, const struct buf *src);
+void buf_appendcstr(struct buf *buf, const char *str);
void buf_appendbit32(struct buf *buf, bit32 num);
-void buf_appendmap(struct buf *buf, char *base, int len);
+void buf_appendmap(struct buf *buf, const char *base, int len);
void buf_putc(struct buf *buf, char c);
+void buf_printf(struct buf *buf, const char *fmt, ...)
+ __attribute__((format(printf,2,3)));
+unsigned int buf_replace_all(struct buf *buf, const char *match,
+ const char *replace);
+int buf_cmp(const struct buf *, const struct buf *);
+void buf_init(struct buf *buf);
+void buf_init_ro(struct buf *buf, const char *base, int len);
void buf_free(struct buf *buf);
+void buf_move(struct buf *dst, struct buf *src);
/* use getpassphrase on machines which support it */
#ifdef HAVE_GETPASSPHRASE
diff -Nru cyrus-imapd-2.4-2.4.9/Makefile.in cyrus-imapd-2.4-2.4.12/Makefile.in
--- cyrus-imapd-2.4-2.4.9/Makefile.in 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/Makefile.in 2011-10-04 19:53:03.000000000 +0000
@@ -64,7 +64,7 @@
COMPILE_ET = @COMPILE_ET@
PACKAGE = cyrus-imapd
-VERSION = 2.4.9
+VERSION = 2.4.12
GIT_VERSION = $(VERSION).git$(shell date +'%Y%m%d%H%M')
all:: xversion
diff -Nru cyrus-imapd-2.4-2.4.9/man/imapd.conf.5 cyrus-imapd-2.4-2.4.12/man/imapd.conf.5
--- cyrus-imapd-2.4-2.4.9/man/imapd.conf.5 2011-06-21 19:51:34.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/man/imapd.conf.5 2011-10-04 20:03:49.000000000 +0000
@@ -221,6 +221,11 @@
.IP "\fBberkeley_txns_max:\fR 100" 5
Maximum number of transactions to be supported in the berkeley
environment.
+.IP "\fBboundary_limit:\fR 1000" 5
+messages are parsed recursively and a deep enough MIME structure
+can cause a stack overflow. Do not parse deeper than this many
+layers of MIME structure. The default of 1000 is much higher
+than any sane message should have.
.IP "\fBclient_timeout:\fR 10" 5
Number of seconds to wait before returning a timeout failure when
performing a client connection (e.g., in a murder environment)
@@ -265,6 +270,14 @@
installations. Lists the old RFC 2086 right which was used to
grant the user the ability to delete a mailbox. If a user has this
right, they will automatically be given the new 'x' right.
+.IP "\fBdisable_user_namespace:\fR 0" 5
+Preclude list command on user namespace. If set to 'yes', the
+LIST response will never include any other user's mailbox. Admin
+users will always see all mailboxes. The default is 'no'
+.IP "\fBdisable_shared_namespace:\fR 0" 5
+Preclude list command on user namespace. If set to 'yes', the
+LIST response will never include any non-user mailboxes. Admin
+users will always see all mailboxes. The default is 'no'
.IP "\fBdisconnect_on_vanished_mailbox:\fR 0" 5
If enabled, IMAP/POP3/NNTP clients will be disconnected by the
server if the currently selected mailbox is (re)moved by another
@@ -512,9 +525,20 @@
If enabled, lmtpd returns a failure code when the incoming message
will cause the user's mailbox to exceed its quota. By default, the
failure won't occur until the mailbox is already over quota.
+.IP "\fBlmtp_strict_rfc2821:\fR 1" 5
+By default, lmtpd will be strict (per RFC 2821) with regards to which
+envelope addresses are allowed. If this option is set to false, 8bit
+characters in the local-part of envelope addresses are changed to 'X'
+instead. This is useful to avoid generating backscatter with
+certain MTAs like Postfix or Exim which accept such messages.
.IP "\fBlmtpsocket:\fR {configdirectory}/socket/lmtp" 5
Unix domain socket that lmtpd listens on, used by deliver(8). This should
match the path specified in cyrus.conf(5).
+.IP "\fBlmtptxn_timeout:\fR 300" 5
+Timeout (in seconds) used during a lmtp transaction to a remote backend
+(e.g. in a murder environment). Can be used to prevent hung lmtpds
+on proxy hosts when a backend server becomes unresponsive during a
+lmtp transaction. The default is 300 - change to zero for infinite.
.IP "\fBloginrealms:\fR " 5
The list of remote realms whose users may authenticate using cross-realm
authentication identifiers. Separate each realm name by a space. (A
@@ -565,7 +589,7 @@
\fImetapartition\fR rather than in the mailbox directory on a spool
partition.
-Allowed values: \fIheader\fR, \fIindex\fR, \fIcache\fR, \fIexpunge\fR, \fIsquat\fR, \fIlock\fR
+Allowed values: \fIheader\fR, \fIindex\fR, \fIcache\fR, \fIexpunge\fR, \fIsquat\fR
.IP "\fBmetapartition-name:\fR " 5
The pathname of the metadata partition \fIname\fR, corresponding to
spool partition \fBpartition-name\fR. For any mailbox residing in
@@ -993,9 +1017,9 @@
.IP "\fBsuppress_capabilities:\fR " 5
Suppress the named capabilities from any capability response. Use the
exact case as it appears in the response, e.g.
-"suppress_capabilities: ESEARCH QRESYNC WITHIN XLIST" if you have
-a murder with 2.3.x backends and don't want clients being confused
-by new capabilities that some backends don't support.
+"suppress_capabilities: ESEARCH QRESYNC WITHIN XLIST LIST-EXTENDED"
+if you have a murder with 2.3.x backends and don't want clients being
+confused by new capabilities that some backends don't support.
.IP "\fBstatuscache:\fR 0" 5
Enable/disable the imap status cache.
.IP "\fBstatuscache_db:\fR skiplist" 5
diff -Nru cyrus-imapd-2.4-2.4.9/man/ipurge.8 cyrus-imapd-2.4-2.4.12/man/ipurge.8
--- cyrus-imapd-2.4-2.4.9/man/ipurge.8 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/man/ipurge.8 2011-10-04 19:53:03.000000000 +0000
@@ -64,6 +64,9 @@
[
.B \-s
]
+[
+.B \-o
+]
.br
[
.BI \-d " days"
@@ -129,6 +132,9 @@
.TP
.B \-s
Skip over messages that have the \\Flagged flag set.
+.TP
+.B \-o
+Only purge messages that have the \\Deleted flag set.
.SH FILES
.TP
.B /etc/imapd.conf
diff -Nru cyrus-imapd-2.4-2.4.9/man/sieveshell.1 cyrus-imapd-2.4-2.4.12/man/sieveshell.1
--- cyrus-imapd-2.4-2.4.9/man/sieveshell.1 2011-06-21 19:51:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/man/sieveshell.1 2011-10-04 20:03:53.000000000 +0000
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -124,7 +124,7 @@
.\" ========================================================================
.\"
.IX Title "SIEVESHELL 1"
-.TH SIEVESHELL 1 "2011-06-21" "perl v5.10.1" "User Contributed Perl Documentation"
+.TH SIEVESHELL 1 "2011-10-04" "perl v5.12.4" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff -Nru cyrus-imapd-2.4-2.4.9/master/master.c cyrus-imapd-2.4-2.4.12/master/master.c
--- cyrus-imapd-2.4-2.4.9/master/master.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/master/master.c 2011-10-04 19:53:03.000000000 +0000
@@ -1483,7 +1483,6 @@
proto = NULL; /* avoid freeing it */
Services[i].exec = tokenize(cmd);
- cmd = NULL; /* avoid freeing it */
if (!Services[i].exec) fatal("out of memory", EX_UNAVAILABLE);
/* is this service actually there? */
@@ -1536,6 +1535,8 @@
Services[i].desired_workers,
Services[i].max_workers,
(int) Services[i].maxfds);
+
+ cmd = NULL; /* avoid freeing it */
done:
free(cmd);
diff -Nru cyrus-imapd-2.4-2.4.9/master/service.c cyrus-imapd-2.4-2.4.12/master/service.c
--- cyrus-imapd-2.4-2.4.9/master/service.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/master/service.c 2011-10-04 19:53:03.000000000 +0000
@@ -520,6 +520,7 @@
int r;
int optval = 1;
socklen_t optlen = sizeof(optval);
+ struct protoent *proto = getprotobyname("TCP");
r = setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, &optval, optlen);
if (r < 0) {
@@ -528,7 +529,7 @@
#ifdef TCP_KEEPCNT
optval = config_getint(IMAPOPT_TCP_KEEPALIVE_CNT);
if (optval) {
- r = setsockopt(fd, SOL_TCP, TCP_KEEPCNT, &optval, optlen);
+ r = setsockopt(fd, proto->p_proto, TCP_KEEPCNT, &optval, optlen);
if (r < 0) {
syslog(LOG_ERR, "unable to setsocketopt(TCP_KEEPCNT): %m");
}
@@ -537,7 +538,7 @@
#ifdef TCP_KEEPIDLE
optval = config_getint(IMAPOPT_TCP_KEEPALIVE_IDLE);
if (optval) {
- r = setsockopt(fd, SOL_TCP, TCP_KEEPIDLE, &optval, optlen);
+ r = setsockopt(fd, proto->p_proto, TCP_KEEPIDLE, &optval, optlen);
if (r < 0) {
syslog(LOG_ERR, "unable to setsocketopt(TCP_KEEPIDLE): %m");
}
@@ -546,7 +547,7 @@
#ifdef TCP_KEEPINTVL
optval = config_getint(IMAPOPT_TCP_KEEPALIVE_INTVL);
if (optval) {
- r = setsockopt(fd, SOL_TCP, TCP_KEEPINTVL, &optval, optlen);
+ r = setsockopt(fd, proto->p_proto, TCP_KEEPINTVL, &optval, optlen);
if (r < 0) {
syslog(LOG_ERR, "unable to setsocketopt(TCP_KEEPINTVL): %m");
}
diff -Nru cyrus-imapd-2.4-2.4.9/perl/imap/IMAP/Shell.pm cyrus-imapd-2.4-2.4.12/perl/imap/IMAP/Shell.pm
--- cyrus-imapd-2.4-2.4.9/perl/imap/IMAP/Shell.pm 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/perl/imap/IMAP/Shell.pm 2011-10-04 19:53:03.000000000 +0000
@@ -1177,6 +1177,18 @@
my $name = $mbx->[0];
my $flags = $mbx->[1];
next if($flags =~ /(\\noselect|\\nonexistent|\\placeholder)/i);
+ # If id of '*' is passed then delete all existing acls
+ if ($nargv[1] eq '*') {
+ my %acl = $$cyrref->listaclmailbox($name);
+ if (defined $$cyrref->error) {
+ print($$cyrref->error, "\n");
+ next;
+ }
+ pop(@nargv);
+ foreach my $acl (keys %acl) {
+ push(@nargv, $acl, $acl{$acl});
+ }
+ }
print "Deleting acl on $name...";
$nargv[0] = $name;
my $rc = $$cyrref->deleteacl(@nargv);
@@ -1188,6 +1200,18 @@
}
}
} else {
+ # If id of '*' is passed then delete all existing acls
+ if ($nargv[1] eq '*') {
+ my %acl = $$cyrref->listaclmailbox($nargv[0]);
+ if (defined $$cyrref->error) {
+ print($$cyrref->error, "\n");
+ next;
+ }
+ pop(@nargv);
+ foreach my $acl (keys %acl) {
+ push(@nargv, $acl, $acl{$acl});
+ }
+ }
$$cyrref->deleteacl(@nargv) ||
die "deleteaclmailbox: " . $$cyrref->error . "\n";
}
diff -Nru cyrus-imapd-2.4-2.4.9/perl/sieve/lib/request.c cyrus-imapd-2.4-2.4.12/perl/sieve/lib/request.c
--- cyrus-imapd-2.4-2.4.9/perl/sieve/lib/request.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/perl/sieve/lib/request.c 2011-10-04 19:53:03.000000000 +0000
@@ -547,9 +547,7 @@
char *scrname;
- scrname=malloc(strlen(name)+10);
- strcpy(scrname, name);
- strcat(scrname, ".script");
+ scrname = strconcat(name, ".script", (char *)NULL);
stream=fopen(scrname,"w");
diff -Nru cyrus-imapd-2.4-2.4.9/ptclient/afskrb.c cyrus-imapd-2.4-2.4.12/ptclient/afskrb.c
--- cyrus-imapd-2.4-2.4.9/ptclient/afskrb.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/ptclient/afskrb.c 2011-10-04 19:53:03.000000000 +0000
@@ -481,7 +481,7 @@
if ((rc = pr_ListMembers(canon_id_tmp, &groups))) {
/* Failure may indicate that we need new tokens */
pr_End();
- rc = pr_Initialize (1L, AFSCONF_CLIENTNAME, 0);
+ rc = pr_Initialize (1L, AFSCONF_CLIENTNAME, config_getstring(IMAPOPT_AFSPTS_MYCELL));
if (rc) {
syslog(LOG_DEBUG, "pr_Initialize failed: %d", rc);
fatal("pr_Initialize failed", EC_TEMPFAIL);
diff -Nru cyrus-imapd-2.4-2.4.9/sieve/addr.c cyrus-imapd-2.4-2.4.12/sieve/addr.c
--- cyrus-imapd-2.4-2.4.9/sieve/addr.c 2011-06-21 19:51:34.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/sieve/addr.c 2011-10-04 20:03:49.000000000 +0000
@@ -1,102 +1,83 @@
-#ifndef lint
-static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
-#endif
-
-#define YYBYACC 1
-#define YYMAJOR 1
-#define YYMINOR 9
-#define YYPATCH 20100610
-
-#define YYEMPTY (-1)
-#define yyclearin (yychar = YYEMPTY)
-#define yyerrok (yyerrflag = 0)
-#define YYRECOVERING() (yyerrflag != 0)
-
-
-#ifndef yyparse
-#define yyparse addrparse
-#endif /* yyparse */
-
-#ifndef yylex
-#define yylex addrlex
-#endif /* yylex */
-
-#ifndef yyerror
-#define yyerror addrerror
-#endif /* yyerror */
-
-#ifndef yychar
-#define yychar addrchar
-#endif /* yychar */
-
-#ifndef yyval
-#define yyval addrval
-#endif /* yyval */
-#ifndef yylval
-#define yylval addrlval
-#endif /* yylval */
+/* A Bison parser, made by GNU Bison 2.4.1. */
-#ifndef yydebug
-#define yydebug addrdebug
-#endif /* yydebug */
+/* Skeleton implementation 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 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 . */
+
+/* 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. */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+ simplifying the original so-called "semantic" parser. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output. */
+#define YYBISON 1
-#ifndef yynerrs
-#define yynerrs addrnerrs
-#endif /* yynerrs */
+/* Bison version. */
+#define YYBISON_VERSION "2.4.1"
-#ifndef yyerrflag
-#define yyerrflag addrerrflag
-#endif /* yyerrflag */
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
-#ifndef yylhs
-#define yylhs addrlhs
-#endif /* yylhs */
-
-#ifndef yylen
-#define yylen addrlen
-#endif /* yylen */
-
-#ifndef yydefred
-#define yydefred addrdefred
-#endif /* yydefred */
-
-#ifndef yydgoto
-#define yydgoto addrdgoto
-#endif /* yydgoto */
-
-#ifndef yysindex
-#define yysindex addrsindex
-#endif /* yysindex */
+/* Pure parsers. */
+#define YYPURE 0
-#ifndef yyrindex
-#define yyrindex addrrindex
-#endif /* yyrindex */
+/* Push parsers. */
+#define YYPUSH 0
-#ifndef yygindex
-#define yygindex addrgindex
-#endif /* yygindex */
+/* Pull parsers. */
+#define YYPULL 1
-#ifndef yytable
-#define yytable addrtable
-#endif /* yytable */
+/* Using locations. */
+#define YYLSP_NEEDED 0
-#ifndef yycheck
-#define yycheck addrcheck
-#endif /* yycheck */
+/* Substitute the variable and function names. */
+#define yyparse addrparse
+#define yylex addrlex
+#define yyerror addrerror
+#define yylval addrlval
+#define yychar addrchar
+#define yydebug addrdebug
+#define yynerrs addrnerrs
-#ifndef yyname
-#define yyname addrname
-#endif /* yyname */
-#ifndef yyrule
-#define yyrule addrrule
-#endif /* yyrule */
-#define YYPREFIX "addr"
+/* Copy the first part of user declarations. */
-#define YYPURE 0
+/* Line 189 of yacc.c */
+#line 1 "addr.y"
-#line 2 "addr.y"
/*
* addr.y -- RFC 822 address parser
* Ken Murchison
@@ -165,469 +146,1486 @@
/* byacc default is 500, bison default is 10000 - go with the
larger to support big sieve scripts (see Bug #3461) */
#define YYSTACKSIZE 10000
-#line 168 "y.tab.c"
-#ifndef YYSTYPE
+
+/* Line 189 of yacc.c */
+#line 153 "y.tab.c"
+
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table. */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
+
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ ATOM = 258,
+ QTEXT = 259,
+ DTEXT = 260
+ };
+#endif
+/* Tokens. */
+#define ATOM 258
+#define QTEXT 259
+#define DTEXT 260
+
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef int YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
#endif
-/* compatibility with bison */
-#ifdef YYPARSE_PARAM
-/* compatibility with FreeBSD */
-# ifdef YYPARSE_PARAM_TYPE
-# define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM)
+
+/* Copy the second part of user declarations. */
+
+
+/* Line 264 of yacc.c */
+#line 205 "y.tab.c"
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
+
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+typedef signed char yytype_int8;
+#else
+typedef short int yytype_int8;
+#endif
+
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
+
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+# define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+# define YYSIZE_T size_t
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+# include /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
# else
-# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM)
+# define YYSIZE_T unsigned int
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if YYENABLE_NLS
+# if ENABLE_NLS
+# include /* INFRINGES ON USER NAME SPACE */
+# define YY_(msgid) dgettext ("bison-runtime", msgid)
+# endif
+# endif
+# ifndef YY_
+# define YY_(msgid) msgid
# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E. */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(e) ((void) (e))
#else
-# define YYPARSE_DECL() yyparse(void)
+# define YYUSE(e) /* empty */
#endif
-/* Parameters sent to lex. */
-#ifdef YYLEX_PARAM
-# define YYLEX_DECL() yylex(void *YYLEX_PARAM)
-# define YYLEX yylex(YYLEX_PARAM)
+/* Identity function, used to suppress warnings about constant conditions. */
+#ifndef lint
+# define YYID(n) (n)
+#else
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int yyi)
#else
-# define YYLEX_DECL() yylex(void)
-# define YYLEX yylex()
+static int
+YYID (yyi)
+ int yyi;
+#endif
+{
+ return yyi;
+}
#endif
-extern int YYPARSE_DECL();
-extern int YYLEX_DECL();
-
-#define ATOM 257
-#define QTEXT 258
-#define DTEXT 259
-#define YYERRCODE 256
-static const short addrlhs[] = { -1,
- 0, 0, 1, 3, 3, 4, 4, 6, 6, 7,
- 8, 2, 2, 5, 5, 9,
-};
-static const short addrlen[] = { 2,
- 1, 4, 3, 1, 3, 1, 3, 1, 1, 1,
- 3, 1, 2, 1, 1, 3,
-};
-static const short addrdefred[] = { 0,
- 14, 0, 0, 1, 0, 0, 0, 15, 0, 0,
- 0, 0, 13, 0, 16, 0, 0, 10, 0, 3,
- 0, 8, 9, 5, 2, 0, 0, 11, 7,
-};
-static const short addrdgoto[] = { 3,
- 4, 13, 6, 20, 14, 21, 22, 23, 8,
-};
-static const short addrsindex[] = { -33,
- 0, -252, 0, 0, -53, -56, -34, 0, -24, -33,
- -89, -33, 0, -33, 0, -51, -31, 0, -246, 0,
- -29, 0, 0, 0, 0, -75, -89, 0, 0,
-};
-static const short addrrindex[] = { 0,
- 0, 0, 0, 0, 0, 0, -55, 0, 0, 0,
- 0, 0, 0, -41, 0, 0, -44, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0,
-};
-static const short addrgindex[] = { 0,
- 11, 22, 12, -4, 4, 0, 0, 0, 0,
-};
-#define YYTABLESIZE 224
-static const short addrtable[] = { 2,
- 2, 19, 6, 7, 12, 9, 10, 11, 4, 15,
- 25, 12, 26, 17, 12, 17, 27, 28, 12, 4,
- 16, 5, 29, 24, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 18, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 1,
-};
-static const short addrcheck[] = { 34,
- 34, 91, 0, 0, 60, 258, 60, 64, 64, 34,
- 62, 46, 259, 10, 46, 12, 46, 93, 60, 64,
- 10, 0, 27, 12, -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, 62, -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, 257, -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, 257, 257,
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# elif defined __BUILTIN_VA_ARG_INCR
+# include /* INFRINGES ON USER NAME SPACE */
+# elif defined _AIX
+# define YYSTACK_ALLOC __alloca
+# elif defined _MSC_VER
+# include /* INFRINGES ON USER NAME SPACE */
+# define alloca _alloca
+# else
+# define YYSTACK_ALLOC alloca
+# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+# include /* INFRINGES ON USER NAME SPACE */
+# ifndef _STDLIB_H
+# define _STDLIB_H 1
+# endif
+# endif
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+# ifndef YYSTACK_ALLOC_MAXIMUM
+ /* The OS might guarantee only one guard page at the bottom of the stack,
+ and a page size can be as small as 4096 bytes. So we cannot safely
+ invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
+ to allow for a few compiler-allocated temporary stack slots. */
+# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+# endif
+# else
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# ifndef YYSTACK_ALLOC_MAXIMUM
+# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+# endif
+# if (defined __cplusplus && ! defined _STDLIB_H \
+ && ! ((defined YYMALLOC || defined malloc) \
+ && (defined YYFREE || defined free)))
+# include /* INFRINGES ON USER NAME SPACE */
+# ifndef _STDLIB_H
+# define _STDLIB_H 1
+# endif
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+# endif
+# endif
+# ifndef YYFREE
+# define YYFREE free
+# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+# endif
+# endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#if (! defined yyoverflow \
+ && (! defined __cplusplus \
+ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
};
-#define YYFINAL 3
-#ifndef YYDEBUG
-#define YYDEBUG 0
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined __GNUC__ && 1 < __GNUC__
+# define YYCOPY(To, From, Count) \
+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+# else
+# define YYCOPY(To, From, Count) \
+ do \
+ { \
+ YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+ while (YYID (0))
+# endif
+# endif
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (YYID (0))
+
#endif
-#define YYMAXTOKEN 259
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 10
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 26
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 13
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 11
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 17
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 31
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 260
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const yytype_uint8 yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 12, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 9, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 6, 2, 7, 2, 8, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 10, 2, 11, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5
+};
+
#if YYDEBUG
-static const char *yyname[] = {
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const yytype_uint8 yyprhs[] =
+{
+ 0, 0, 3, 5, 10, 14, 16, 20, 22, 26,
+ 28, 30, 32, 36, 38, 41, 43, 45
+};
-"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-"'\"'",0,0,0,0,0,0,0,0,0,0,0,"'.'",0,0,0,0,0,0,0,0,0,0,0,0,0,"'<'",0,"'>'",0,
-"'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-"ATOM","QTEXT","DTEXT",
-};
-static const char *yyrule[] = {
-"$accept : sieve_address",
-"sieve_address : addrspec",
-"sieve_address : phrase '<' addrspec '>'",
-"addrspec : localpart '@' domain",
-"localpart : word",
-"localpart : word '.' localpart",
-"domain : subdomain",
-"domain : subdomain '.' domain",
-"subdomain : domainref",
-"subdomain : domainlit",
-"domainref : ATOM",
-"domainlit : '[' DTEXT ']'",
-"phrase : word",
-"phrase : word phrase",
-"word : ATOM",
-"word : qstring",
-"qstring : '\"' QTEXT '\"'",
-
-};
-#endif
-/* define the initial stack-sizes */
-#ifdef YYSTACKSIZE
-#undef YYMAXDEPTH
-#define YYMAXDEPTH YYSTACKSIZE
-#else
-#ifdef YYMAXDEPTH
-#define YYSTACKSIZE YYMAXDEPTH
-#else
-#define YYSTACKSIZE 500
-#define YYMAXDEPTH 500
-#endif
-#endif
-
-#define YYINITSTACKSIZE 500
-
-int yydebug;
-int yynerrs;
-
-typedef struct {
- unsigned stacksize;
- short *s_base;
- short *s_mark;
- short *s_last;
- YYSTYPE *l_base;
- YYSTYPE *l_mark;
-} YYSTACKDATA;
-int yyerrflag;
-int yychar;
-YYSTYPE yyval;
-YYSTYPE yylval;
-
-/* variables for the parser stack */
-static YYSTACKDATA yystack;
-#line 112 "addr.y"
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yytype_int8 yyrhs[] =
+{
+ 14, 0, -1, 15, -1, 21, 6, 15, 7, -1,
+ 16, 8, 17, -1, 22, -1, 22, 9, 16, -1,
+ 18, -1, 18, 9, 17, -1, 19, -1, 20, -1,
+ 3, -1, 10, 5, 11, -1, 22, -1, 22, 21,
+ -1, 3, -1, 23, -1, 12, 4, 12, -1
+};
-/* copy address error message into buffer provided by sieve parser */
-int yyerror(char *s)
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const yytype_uint8 yyrline[] =
{
- extern char addrerr[ADDRERR_SIZE];
-
- strlcpy(addrerr, s, ADDRERR_SIZE);
- return 0;
-}
-#line 363 "y.tab.c"
+ 0, 75, 75, 76, 79, 82, 83, 86, 87, 90,
+ 91, 94, 97, 100, 101, 104, 105, 108
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "ATOM", "QTEXT", "DTEXT", "'<'", "'>'",
+ "'@'", "'.'", "'['", "']'", "'\"'", "$accept", "sieve_address",
+ "addrspec", "localpart", "domain", "subdomain", "domainref", "domainlit",
+ "phrase", "word", "qstring", 0
+};
+#endif
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
+static const yytype_uint16 yytoknum[] =
+{
+ 0, 256, 257, 258, 259, 260, 60, 62, 64, 46,
+ 91, 93, 34
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_uint8 yyr1[] =
+{
+ 0, 13, 14, 14, 15, 16, 16, 17, 17, 18,
+ 18, 19, 20, 21, 21, 22, 22, 23
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const yytype_uint8 yyr2[] =
+{
+ 0, 2, 1, 4, 3, 1, 3, 1, 3, 1,
+ 1, 1, 3, 1, 2, 1, 1, 3
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
+static const yytype_uint8 yydefact[] =
+{
+ 0, 15, 0, 0, 2, 0, 0, 5, 16, 0,
+ 1, 0, 0, 0, 14, 13, 17, 11, 0, 4,
+ 7, 9, 10, 0, 5, 6, 0, 0, 3, 12,
+ 8
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int8 yydefgoto[] =
+{
+ -1, 3, 4, 5, 19, 20, 21, 22, 14, 15,
+ 8
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -7
+static const yytype_int8 yypact[] =
+{
+ -1, -7, 1, 3, -7, 6, 10, -2, -7, -6,
+ -7, 5, -1, -1, -7, -1, -7, -7, 4, -7,
+ 8, -7, -7, 11, 12, -7, 9, 5, -7, -7,
+ -7
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const yytype_int8 yypgoto[] =
+{
+ -7, -7, 7, 13, -5, -7, -7, -7, 23, 0,
+ -7
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If zero, do what YYDEFACT says.
+ If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -14
+static const yytype_int8 yytable[] =
+{
+ 7, 1, 1, 10, -13, 9, 16, 13, 17, 26,
+ 2, 2, 24, 24, 11, 18, 12, 27, 28, 23,
+ 29, 13, 30, 6, 0, 0, 25
+};
+
+static const yytype_int8 yycheck[] =
+{
+ 0, 3, 3, 0, 6, 4, 12, 9, 3, 5,
+ 12, 12, 12, 13, 8, 10, 6, 9, 7, 12,
+ 11, 9, 27, 0, -1, -1, 13
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const yytype_uint8 yystos[] =
+{
+ 0, 3, 12, 14, 15, 16, 21, 22, 23, 4,
+ 0, 8, 6, 9, 21, 22, 12, 3, 10, 17,
+ 18, 19, 20, 15, 22, 16, 5, 9, 7, 11,
+ 17
+};
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+ Once GCC version 2 has supplanted version 1, this can go. */
+
+#define YYFAIL goto yyerrlab
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY && yylen == 1) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ yytoken = YYTRANSLATE (yychar); \
+ YYPOPSTACK (1); \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror (YY_("syntax error: cannot back up")); \
+ YYERROR; \
+ } \
+while (YYID (0))
+
+
+#define YYTERROR 1
+#define YYERRCODE 256
+
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+ If N is 0, then set CURRENT to the empty location which ends
+ the previous symbol: RHS[0] (always defined). */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ do \
+ if (YYID (N)) \
+ { \
+ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
+ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
+ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
+ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
+ } \
+ else \
+ { \
+ (Current).first_line = (Current).last_line = \
+ YYRHSLOC (Rhs, 0).last_line; \
+ (Current).first_column = (Current).last_column = \
+ YYRHSLOC (Rhs, 0).last_column; \
+ } \
+ while (YYID (0))
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+ This macro was not mandated originally: define only if we know
+ we won't break user code: when these are the locations we know. */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+# define YY_LOCATION_PRINT(File, Loc) \
+ fprintf (File, "%d.%d-%d.%d", \
+ (Loc).first_line, (Loc).first_column, \
+ (Loc).last_line, (Loc).last_column)
+# else
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
+
+
+/* YYLEX -- calling `yylex' with the right arguments. */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (YYLEX_PARAM)
+#else
+# define YYLEX yylex ()
+#endif
+
+/* Enable debugging if requested. */
#if YYDEBUG
-#include /* needed for printf */
+
+# ifndef YYFPRINTF
+# include /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (YYID (0))
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yy_symbol_print (stderr, \
+ Type, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (YYID (0))
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
#endif
+{
+ if (!yyvaluep)
+ return;
+# ifdef YYPRINT
+ if (yytype < YYNTOKENS)
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+ YYUSE (yyoutput);
+# endif
+ switch (yytype)
+ {
+ default:
+ break;
+ }
+}
-#include /* needed for malloc, etc */
-#include /* needed for memset */
-/* allocate initial stack or double stack size, up to YYMAXDEPTH */
-static int yygrowstack(YYSTACKDATA *data)
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+#endif
{
- int i;
- unsigned newsize;
- short *newss;
- YYSTYPE *newvs;
-
- if ((newsize = data->stacksize) == 0)
- newsize = YYINITSTACKSIZE;
- else if (newsize >= YYMAXDEPTH)
- return -1;
- else if ((newsize *= 2) > YYMAXDEPTH)
- newsize = YYMAXDEPTH;
-
- i = data->s_mark - data->s_base;
- newss = (data->s_base != 0)
- ? (short *)realloc(data->s_base, newsize * sizeof(*newss))
- : (short *)malloc(newsize * sizeof(*newss));
- if (newss == 0)
- return -1;
-
- data->s_base = newss;
- data->s_mark = newss + i;
-
- newvs = (data->l_base != 0)
- ? (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs))
- : (YYSTYPE *)malloc(newsize * sizeof(*newvs));
- if (newvs == 0)
- return -1;
+ if (yytype < YYNTOKENS)
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
- data->l_base = newvs;
- data->l_mark = newvs + i;
+ yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+ YYFPRINTF (yyoutput, ")");
+}
- data->stacksize = newsize;
- data->s_last = data->s_base + newsize - 1;
- return 0;
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+#else
+static void
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
+#endif
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
+ YYFPRINTF (stderr, "\n");
}
-#if YYPURE || defined(YY_NO_LEAKS)
-static void yyfreestack(YYSTACKDATA *data)
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (YYID (0))
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+#else
+static void
+yy_reduce_print (yyvsp, yyrule)
+ YYSTYPE *yyvsp;
+ int yyrule;
+#endif
{
- free(data->s_base);
- free(data->l_base);
- memset(data, 0, sizeof(*data));
+ int yynrhs = yyr2[yyrule];
+ int yyi;
+ unsigned long int yylno = yyrline[yyrule];
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+ yyrule - 1, yylno);
+ /* The symbols being reduced. */
+ for (yyi = 0; yyi < yynrhs; yyi++)
+ {
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
+ yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+ &(yyvsp[(yyi + 1) - (yynrhs)])
+ );
+ YYFPRINTF (stderr, "\n");
+ }
}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (yyvsp, Rule); \
+} while (YYID (0))
+
+/* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+ if the built-in stack extension method is used).
+
+ Do not make this value too large; the results are undefined if
+ YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+ evaluated with infinite-precision integer arithmetic. */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+# if defined __GLIBC__ && defined _STRING_H
+# define yystrlen strlen
+# else
+/* Return the length of YYSTR. */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static YYSIZE_T
+yystrlen (const char *yystr)
#else
-#define yyfreestack(data) /* nothing */
+static YYSIZE_T
+yystrlen (yystr)
+ const char *yystr;
#endif
+{
+ YYSIZE_T yylen;
+ for (yylen = 0; yystr[yylen]; yylen++)
+ continue;
+ return yylen;
+}
+# endif
+# endif
-#define YYABORT goto yyabort
-#define YYREJECT goto yyabort
-#define YYACCEPT goto yyaccept
-#define YYERROR goto yyerrlab
+# ifndef yystpcpy
+# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+# define yystpcpy stpcpy
+# else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+ YYDEST. */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static char *
+yystpcpy (char *yydest, const char *yysrc)
+#else
+static char *
+yystpcpy (yydest, yysrc)
+ char *yydest;
+ const char *yysrc;
+#endif
+{
+ char *yyd = yydest;
+ const char *yys = yysrc;
-int
-YYPARSE_DECL()
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
+
+ return yyd - 1;
+}
+# endif
+# endif
+
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+ quotes and backslashes, so that it's suitable for yyerror. The
+ heuristic is that double-quoting is unnecessary unless the string
+ contains an apostrophe, a comma, or backslash (other than
+ backslash-backslash). YYSTR is taken from yytname. If YYRES is
+ null, do not copy; instead, return the length of what the result
+ would have been. */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
{
- int yym, yyn, yystate;
-#if YYDEBUG
- const char *yys;
+ if (*yystr == '"')
+ {
+ YYSIZE_T yyn = 0;
+ char const *yyp = yystr;
+
+ for (;;)
+ switch (*++yyp)
+ {
+ case '\'':
+ case ',':
+ goto do_not_strip_quotes;
+
+ case '\\':
+ if (*++yyp != '\\')
+ goto do_not_strip_quotes;
+ /* Fall through. */
+ default:
+ if (yyres)
+ yyres[yyn] = *yyp;
+ yyn++;
+ break;
+
+ case '"':
+ if (yyres)
+ yyres[yyn] = '\0';
+ return yyn;
+ }
+ do_not_strip_quotes: ;
+ }
- if ((yys = getenv("YYDEBUG")) != 0)
+ if (! yyres)
+ return yystrlen (yystr);
+
+ return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
+
+/* Copy into YYRESULT an error message about the unexpected token
+ YYCHAR while in state YYSTATE. Return the number of bytes copied,
+ including the terminating null byte. If YYRESULT is null, do not
+ copy anything; just return the number of bytes that would be
+ copied. As a special case, return 0 if an ordinary "syntax error"
+ message will do. Return YYSIZE_MAXIMUM if overflow occurs during
+ size calculation. */
+static YYSIZE_T
+yysyntax_error (char *yyresult, int yystate, int yychar)
+{
+ int yyn = yypact[yystate];
+
+ if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
+ return 0;
+ else
{
- yyn = *yys;
- if (yyn >= '0' && yyn <= '9')
- yydebug = yyn - '0';
+ int yytype = YYTRANSLATE (yychar);
+ YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+ YYSIZE_T yysize = yysize0;
+ YYSIZE_T yysize1;
+ int yysize_overflow = 0;
+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+ int yyx;
+
+# if 0
+ /* This is so xgettext sees the translatable formats that are
+ constructed on the fly. */
+ YY_("syntax error, unexpected %s");
+ YY_("syntax error, unexpected %s, expecting %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+# endif
+ char *yyfmt;
+ char const *yyf;
+ static char const yyunexpected[] = "syntax error, unexpected %s";
+ static char const yyexpecting[] = ", expecting %s";
+ static char const yyor[] = " or %s";
+ char yyformat[sizeof yyunexpected
+ + sizeof yyexpecting - 1
+ + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+ * (sizeof yyor - 1))];
+ char const *yyprefix = yyexpecting;
+
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn + 1;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yycount = 1;
+
+ yyarg[0] = yytname[yytype];
+ yyfmt = yystpcpy (yyformat, yyunexpected);
+
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+ {
+ yycount = 1;
+ yysize = yysize0;
+ yyformat[sizeof yyunexpected - 1] = '\0';
+ break;
+ }
+ yyarg[yycount++] = yytname[yyx];
+ yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+ yysize_overflow |= (yysize1 < yysize);
+ yysize = yysize1;
+ yyfmt = yystpcpy (yyfmt, yyprefix);
+ yyprefix = yyor;
+ }
+
+ yyf = YY_(yyformat);
+ yysize1 = yysize + yystrlen (yyf);
+ yysize_overflow |= (yysize1 < yysize);
+ yysize = yysize1;
+
+ if (yysize_overflow)
+ return YYSIZE_MAXIMUM;
+
+ if (yyresult)
+ {
+ /* Avoid sprintf, as that infringes on the user's name space.
+ Don't have undefined behavior even if the translation
+ produced a string with the wrong number of "%s"s. */
+ char *yyp = yyresult;
+ int yyi = 0;
+ while ((*yyp = *yyf) != '\0')
+ {
+ if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+ {
+ yyp += yytnamerr (yyp, yyarg[yyi++]);
+ yyf += 2;
+ }
+ else
+ {
+ yyp++;
+ yyf++;
+ }
+ }
+ }
+ return yysize;
}
+}
+#endif /* YYERROR_VERBOSE */
+
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep)
+ const char *yymsg;
+ int yytype;
+ YYSTYPE *yyvaluep;
#endif
+{
+ YYUSE (yyvaluep);
+
+ if (!yymsg)
+ yymsg = "Deleting";
+ YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+ switch (yytype)
+ {
- yynerrs = 0;
- yyerrflag = 0;
- yychar = YYEMPTY;
- yystate = 0;
+ default:
+ break;
+ }
+}
-#if YYPURE
- memset(&yystack, 0, sizeof(yystack));
+/* Prevent warnings from -Wmissing-prototypes. */
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
- if (yystack.s_base == NULL && yygrowstack(&yystack)) goto yyoverflow;
- yystack.s_mark = yystack.s_base;
- yystack.l_mark = yystack.l_base;
- yystate = 0;
- *yystack.s_mark = 0;
-yyloop:
- if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
- if (yychar < 0)
- {
- if ((yychar = YYLEX) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
+/* The lookahead symbol. */
+int yychar;
+
+/* The semantic value of the lookahead symbol. */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far. */
+int yynerrs;
+
+
+
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
+
+#ifdef YYPARSE_PARAM
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void *YYPARSE_PARAM)
+#else
+int
+yyparse (YYPARSE_PARAM)
+ void *YYPARSE_PARAM;
+#endif
+#else /* ! YYPARSE_PARAM */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
#endif
+#endif
+{
+
+
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
+
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
+
+ YYSIZE_T yystacksize;
+
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
+
+ /* The number of symbols on the RHS of the reduced rule.
+ Keep to zero when no symbol should be popped. */
+ int yylen = 0;
+
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yystate = 0;
+ yyerrstatus = 0;
+ yynerrs = 0;
+ yychar = YYEMPTY; /* Cause a token to be read. */
+
+ /* Initialize stack pointers.
+ Waste one element of value and location stack
+ so that they stay on the same level as the state stack.
+ The wasted elements are never initialized. */
+ yyssp = yyss;
+ yyvsp = yyvs;
+
+ goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+ yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. So pushing a state here evens the stacks. */
+ yyssp++;
+
+ yysetstate:
+ *yyssp = yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ yytype_int16 *yyss1 = yyss;
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow (YY_("memory exhausted"),
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyexhaustedlab;
+# else
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyexhaustedlab;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ {
+ yytype_int16 *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyexhaustedlab;
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+# endif
+#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
+ goto yybackup;
+
+/*-----------.
+| yybackup. |
+`-----------*/
+yybackup:
+
+ /* Do appropriate processing given the current state. Read a
+ lookahead token if we need one and don't already have one. */
+
+ /* First try to decide what to do without reference to lookahead token. */
+ yyn = yypact[yystate];
+ if (yyn == YYPACT_NINF)
+ goto yydefault;
+
+ /* Not known => get a lookahead token if don't already have one. */
+
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = YYLEX;
+ }
+
+ if (yychar <= YYEOF)
+ {
+ yychar = yytoken = YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
}
- if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
+ else
{
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, shifting to state %d\n",
- YYPREFIX, yystate, yytable[yyn]);
-#endif
- if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack))
- {
- goto yyoverflow;
- }
- yystate = yytable[yyn];
- *++yystack.s_mark = yytable[yyn];
- *++yystack.l_mark = yylval;
- yychar = YYEMPTY;
- if (yyerrflag > 0) --yyerrflag;
- goto yyloop;
- }
- if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
+ yytoken = YYTRANSLATE (yychar);
+ YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+ }
+
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0)
{
- yyn = yytable[yyn];
- goto yyreduce;
+ if (yyn == 0 || yyn == YYTABLE_NINF)
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
}
- if (yyerrflag) goto yyinrecovery;
- yyerror("syntax error");
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+ /* Shift the lookahead token. */
+ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
+
+ yystate = yyn;
+ *++yyvsp = yylval;
+
+ goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state. |
+`-----------------------------------------------------------*/
+yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
goto yyerrlab;
+ goto yyreduce;
-yyerrlab:
- ++yynerrs;
-yyinrecovery:
- if (yyerrflag < 3)
+/*-----------------------------.
+| yyreduce -- Do a reduction. |
+`-----------------------------*/
+yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+ `$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
+
+
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
{
- yyerrflag = 3;
- for (;;)
- {
- if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, error recovery shifting\
- to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]);
-#endif
- if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack))
- {
- goto yyoverflow;
- }
- yystate = yytable[yyn];
- *++yystack.s_mark = yytable[yyn];
- *++yystack.l_mark = yylval;
- goto yyloop;
- }
- else
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: error recovery discarding state %d\n",
- YYPREFIX, *yystack.s_mark);
-#endif
- if (yystack.s_mark <= yystack.s_base) goto yyabort;
- --yystack.s_mark;
- --yystack.l_mark;
- }
- }
+
+
+/* Line 1455 of yacc.c */
+#line 1409 "y.tab.c"
+ default: break;
}
- else
+ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+ YYPOPSTACK (yylen);
+ yylen = 0;
+ YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+ /* Now `shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
+ else
+ yystate = yydefgoto[yyn - YYNTOKENS];
+
+ goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
{
- if (yychar == 0) goto yyabort;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
+ ++yynerrs;
+#if ! YYERROR_VERBOSE
+ yyerror (YY_("syntax error"));
+#else
+ {
+ YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
+ if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
+ {
+ YYSIZE_T yyalloc = 2 * yysize;
+ if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
+ yyalloc = YYSTACK_ALLOC_MAXIMUM;
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+ yymsg = (char *) YYSTACK_ALLOC (yyalloc);
+ if (yymsg)
+ yymsg_alloc = yyalloc;
+ else
+ {
+ yymsg = yymsgbuf;
+ yymsg_alloc = sizeof yymsgbuf;
+ }
+ }
+
+ if (0 < yysize && yysize <= yymsg_alloc)
+ {
+ (void) yysyntax_error (yymsg, yystate, yychar);
+ yyerror (yymsg);
+ }
+ else
+ {
+ yyerror (YY_("syntax error"));
+ if (yysize != 0)
+ goto yyexhaustedlab;
+ }
+ }
#endif
- yychar = YYEMPTY;
- goto yyloop;
}
-yyreduce:
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, reducing by rule %d (%s)\n",
- YYPREFIX, yystate, yyn, yyrule[yyn]);
-#endif
- yym = yylen[yyn];
- if (yym)
- yyval = yystack.l_mark[1-yym];
- else
- memset(&yyval, 0, sizeof yyval);
- switch (yyn)
- {
- }
- yystack.s_mark -= yym;
- yystate = *yystack.s_mark;
- yystack.l_mark -= yym;
- yym = yylhs[yyn];
- if (yystate == 0 && yym == 0)
+
+
+ if (yyerrstatus == 3)
{
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state 0 to\
- state %d\n", YYPREFIX, YYFINAL);
-#endif
- yystate = YYFINAL;
- *++yystack.s_mark = YYFINAL;
- *++yystack.l_mark = yyval;
- if (yychar < 0)
- {
- if ((yychar = YYLEX) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, YYFINAL, yychar, yys);
- }
-#endif
- }
- if (yychar == 0) goto yyaccept;
- goto yyloop;
- }
- if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
- yystate = yytable[yyn];
- else
- yystate = yydgoto[yym];
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state %d \
-to state %d\n", YYPREFIX, *yystack.s_mark, yystate);
-#endif
- if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack))
+ /* If just tried and failed to reuse lookahead token after an
+ error, discard it. */
+
+ if (yychar <= YYEOF)
+ {
+ /* Return failure if at end of input. */
+ if (yychar == YYEOF)
+ YYABORT;
+ }
+ else
+ {
+ yydestruct ("Error: discarding",
+ yytoken, &yylval);
+ yychar = YYEMPTY;
+ }
+ }
+
+ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+
+ /* Pacify compilers like GCC when the user code never invokes
+ YYERROR and the label yyerrorlab therefore never appears in user
+ code. */
+ if (/*CONSTCOND*/ 0)
+ goto yyerrorlab;
+
+ /* Do not reclaim the symbols of the rule which action triggered
+ this YYERROR. */
+ YYPOPSTACK (yylen);
+ yylen = 0;
+ YY_STACK_PRINT (yyss, yyssp);
+ yystate = *yyssp;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (yyn != YYPACT_NINF)
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+
+ yydestruct ("Error: popping",
+ yystos[yystate], yyvsp);
+ YYPOPSTACK (1);
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+ *++yyvsp = yylval;
+
+
+ /* Shift the error token. */
+ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here. |
+`-------------------------------------*/
+yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here. |
+`-----------------------------------*/
+yyabortlab:
+ yyresult = 1;
+ goto yyreturn;
+
+#if !defined(yyoverflow) || YYERROR_VERBOSE
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here. |
+`-------------------------------------------------*/
+yyexhaustedlab:
+ yyerror (YY_("memory exhausted"));
+ yyresult = 2;
+ /* Fall through. */
+#endif
+
+yyreturn:
+ if (yychar != YYEMPTY)
+ yydestruct ("Cleanup: discarding lookahead",
+ yytoken, &yylval);
+ /* Do not reclaim the symbols of the rule which action triggered
+ this YYABORT or YYACCEPT. */
+ YYPOPSTACK (yylen);
+ YY_STACK_PRINT (yyss, yyssp);
+ while (yyssp != yyss)
{
- goto yyoverflow;
+ yydestruct ("Cleanup: popping",
+ yystos[*yyssp], yyvsp);
+ YYPOPSTACK (1);
}
- *++yystack.s_mark = (short) yystate;
- *++yystack.l_mark = yyval;
- goto yyloop;
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+#endif
+ /* Make sure YYID is used. */
+ return YYID (yyresult);
+}
+
-yyoverflow:
- yyerror("yacc stack overflow");
-yyabort:
- yyfreestack(&yystack);
- return (1);
+/* Line 1675 of yacc.c */
+#line 111 "addr.y"
-yyaccept:
- yyfreestack(&yystack);
- return (0);
+
+/* copy address error message into buffer provided by sieve parser */
+int yyerror(char *s)
+{
+ extern char addrerr[ADDRERR_SIZE];
+
+ strlcpy(addrerr, s, ADDRERR_SIZE);
+ return 0;
}
+
diff -Nru cyrus-imapd-2.4-2.4.9/sieve/addr.h cyrus-imapd-2.4-2.4.12/sieve/addr.h
--- cyrus-imapd-2.4-2.4.9/sieve/addr.h 2011-06-21 19:51:34.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/sieve/addr.h 2011-10-04 20:03:49.000000000 +0000
@@ -1,3 +1,64 @@
-#define ATOM 257
-#define QTEXT 258
-#define DTEXT 259
+
+/* A Bison parser, made by GNU Bison 2.4.1. */
+
+/* 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 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 . */
+
+/* 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 yytokentype {
+ ATOM = 258,
+ QTEXT = 259,
+ DTEXT = 260
+ };
+#endif
+/* Tokens. */
+#define ATOM 258
+#define QTEXT 259
+#define DTEXT 260
+
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef int YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+extern YYSTYPE addrlval;
+
+
diff -Nru cyrus-imapd-2.4-2.4.9/sieve/addr.y cyrus-imapd-2.4-2.4.12/sieve/addr.y
--- cyrus-imapd-2.4-2.4.9/sieve/addr.y 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/sieve/addr.y 2011-10-04 19:53:03.000000000 +0000
@@ -70,7 +70,7 @@
%}
%token ATOM QTEXT DTEXT
-
+%name-prefix "addr"
%%
sieve_address: addrspec /* simple address */
| phrase '<' addrspec '>' /* name & addr-spec */
diff -Nru cyrus-imapd-2.4-2.4.9/sieve/bc_eval.c cyrus-imapd-2.4-2.4.12/sieve/bc_eval.c
--- cyrus-imapd-2.4-2.4.9/sieve/bc_eval.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/sieve/bc_eval.c 2011-10-04 19:53:03.000000000 +0000
@@ -1166,6 +1166,7 @@
{
case B_LOW:
priority="low";
+ break;
case B_NORMAL:
priority="normal";
break;
@@ -1215,6 +1216,7 @@
{
case B_LOW:
priority="low";
+ break;
case B_NORMAL:
priority="normal";
break;
diff -Nru cyrus-imapd-2.4-2.4.9/sieve/Makefile.in cyrus-imapd-2.4-2.4.12/sieve/Makefile.in
--- cyrus-imapd-2.4-2.4.9/sieve/Makefile.in 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/sieve/Makefile.in 2011-10-04 19:53:03.000000000 +0000
@@ -106,7 +106,7 @@
# $(LEX) -t -Paddr $(srcdir)/addr-lex.l > $@
addr.c addr.h: addr.y
- $(YACC) $(YFLAGS) -p addr $(srcdir)/addr.y
+ $(YACC) $(YFLAGS) $(srcdir)/addr.y
mv -f y.tab.c addr.c
mv -f y.tab.h addr.h
diff -Nru cyrus-imapd-2.4-2.4.9/sieve/sieve.c cyrus-imapd-2.4-2.4.12/sieve/sieve.c
--- cyrus-imapd-2.4-2.4.9/sieve/sieve.c 2011-06-21 19:51:34.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/sieve/sieve.c 2011-10-04 20:03:49.000000000 +0000
@@ -1,22 +1,75 @@
-#ifndef lint
-static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
-#endif
-#define YYBYACC 1
-#define YYMAJOR 1
-#define YYMINOR 9
-#define YYPATCH 20100610
+/* A Bison parser, made by GNU Bison 2.4.1. */
-#define YYEMPTY (-1)
-#define yyclearin (yychar = YYEMPTY)
-#define yyerrok (yyerrflag = 0)
-#define YYRECOVERING() (yyerrflag != 0)
+/* Skeleton implementation 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 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 . */
+
+/* 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. */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+ simplifying the original so-called "semantic" parser. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output. */
+#define YYBISON 1
-#define YYPREFIX "yy"
+/* Bison version. */
+#define YYBISON_VERSION "2.4.1"
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers. */
#define YYPURE 0
-#line 2 "sieve.y"
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
+/* Using locations. */
+#define YYLSP_NEEDED 0
+
+
+
+/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
+#line 1 "sieve.y"
+
/* sieve.y -- sieve parser
* Larry Greenfield
*
@@ -189,8 +242,196 @@
/* byacc default is 500, bison default is 10000 - go with the
larger to support big sieve scripts (see Bug #3461) */
#define YYSTACKSIZE 10000
+
+
+/* Line 189 of yacc.c */
+#line 249 "y.tab.c"
+
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table. */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
+
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ NUMBER = 258,
+ STRING = 259,
+ IF = 260,
+ ELSIF = 261,
+ ELSE = 262,
+ REJCT = 263,
+ FILEINTO = 264,
+ REDIRECT = 265,
+ KEEP = 266,
+ STOP = 267,
+ DISCARD = 268,
+ VACATION = 269,
+ REQUIRE = 270,
+ SETFLAG = 271,
+ ADDFLAG = 272,
+ REMOVEFLAG = 273,
+ MARK = 274,
+ UNMARK = 275,
+ NOTIFY = 276,
+ DENOTIFY = 277,
+ ANYOF = 278,
+ ALLOF = 279,
+ EXISTS = 280,
+ SFALSE = 281,
+ STRUE = 282,
+ HEADER = 283,
+ NOT = 284,
+ SIZE = 285,
+ ADDRESS = 286,
+ ENVELOPE = 287,
+ BODY = 288,
+ COMPARATOR = 289,
+ IS = 290,
+ CONTAINS = 291,
+ MATCHES = 292,
+ REGEX = 293,
+ COUNT = 294,
+ VALUE = 295,
+ OVER = 296,
+ UNDER = 297,
+ GT = 298,
+ GE = 299,
+ LT = 300,
+ LE = 301,
+ EQ = 302,
+ NE = 303,
+ ALL = 304,
+ LOCALPART = 305,
+ DOMAIN = 306,
+ USER = 307,
+ DETAIL = 308,
+ RAW = 309,
+ TEXT = 310,
+ CONTENT = 311,
+ DAYS = 312,
+ ADDRESSES = 313,
+ SUBJECT = 314,
+ FROM = 315,
+ HANDLE = 316,
+ MIME = 317,
+ METHOD = 318,
+ ID = 319,
+ OPTIONS = 320,
+ LOW = 321,
+ NORMAL = 322,
+ HIGH = 323,
+ ANY = 324,
+ MESSAGE = 325,
+ INCLUDE = 326,
+ PERSONAL = 327,
+ GLOBAL = 328,
+ RETURN = 329,
+ COPY = 330
+ };
+#endif
+/* Tokens. */
+#define NUMBER 258
+#define STRING 259
+#define IF 260
+#define ELSIF 261
+#define ELSE 262
+#define REJCT 263
+#define FILEINTO 264
+#define REDIRECT 265
+#define KEEP 266
+#define STOP 267
+#define DISCARD 268
+#define VACATION 269
+#define REQUIRE 270
+#define SETFLAG 271
+#define ADDFLAG 272
+#define REMOVEFLAG 273
+#define MARK 274
+#define UNMARK 275
+#define NOTIFY 276
+#define DENOTIFY 277
+#define ANYOF 278
+#define ALLOF 279
+#define EXISTS 280
+#define SFALSE 281
+#define STRUE 282
+#define HEADER 283
+#define NOT 284
+#define SIZE 285
+#define ADDRESS 286
+#define ENVELOPE 287
+#define BODY 288
+#define COMPARATOR 289
+#define IS 290
+#define CONTAINS 291
+#define MATCHES 292
+#define REGEX 293
+#define COUNT 294
+#define VALUE 295
+#define OVER 296
+#define UNDER 297
+#define GT 298
+#define GE 299
+#define LT 300
+#define LE 301
+#define EQ 302
+#define NE 303
+#define ALL 304
+#define LOCALPART 305
+#define DOMAIN 306
+#define USER 307
+#define DETAIL 308
+#define RAW 309
+#define TEXT 310
+#define CONTENT 311
+#define DAYS 312
+#define ADDRESSES 313
+#define SUBJECT 314
+#define FROM 315
+#define HANDLE 316
+#define MIME 317
+#define METHOD 318
+#define ID 319
+#define OPTIONS 320
+#define LOW 321
+#define NORMAL 322
+#define HIGH 323
+#define ANY 324
+#define MESSAGE 325
+#define INCLUDE 326
+#define PERSONAL 327
+#define GLOBAL 328
+#define RETURN 329
+#define COPY 330
+
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+{
+
+/* Line 214 of yacc.c */
#line 176 "sieve.y"
-typedef union {
+
int nval;
char *sval;
stringlist_t *sl;
@@ -203,2078 +444,3287 @@
struct btags *btag;
struct ntags *ntag;
struct dtags *dtag;
+
+
+
+/* Line 214 of yacc.c */
+#line 452 "y.tab.c"
} YYSTYPE;
-#line 207 "y.tab.c"
-/* compatibility with bison */
-#ifdef YYPARSE_PARAM
-/* compatibility with FreeBSD */
-# ifdef YYPARSE_PARAM_TYPE
-# define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM)
+# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+/* Copy the second part of user declarations. */
+
+
+/* Line 264 of yacc.c */
+#line 464 "y.tab.c"
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
+
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+typedef signed char yytype_int8;
+#else
+typedef short int yytype_int8;
+#endif
+
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
+
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+# define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+# define YYSIZE_T size_t
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+# include /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
# else
-# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM)
+# define YYSIZE_T unsigned int
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if YYENABLE_NLS
+# if ENABLE_NLS
+# include /* INFRINGES ON USER NAME SPACE */
+# define YY_(msgid) dgettext ("bison-runtime", msgid)
+# endif
# endif
+# ifndef YY_
+# define YY_(msgid) msgid
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E. */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(e) ((void) (e))
#else
-# define YYPARSE_DECL() yyparse(void)
+# define YYUSE(e) /* empty */
#endif
-/* Parameters sent to lex. */
-#ifdef YYLEX_PARAM
-# define YYLEX_DECL() yylex(void *YYLEX_PARAM)
-# define YYLEX yylex(YYLEX_PARAM)
+/* Identity function, used to suppress warnings about constant conditions. */
+#ifndef lint
+# define YYID(n) (n)
+#else
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int yyi)
#else
-# define YYLEX_DECL() yylex(void)
-# define YYLEX yylex()
+static int
+YYID (yyi)
+ int yyi;
+#endif
+{
+ return yyi;
+}
#endif
-extern int YYPARSE_DECL();
-extern int YYLEX_DECL();
-
-#define NUMBER 257
-#define STRING 258
-#define IF 259
-#define ELSIF 260
-#define ELSE 261
-#define REJCT 262
-#define FILEINTO 263
-#define REDIRECT 264
-#define KEEP 265
-#define STOP 266
-#define DISCARD 267
-#define VACATION 268
-#define REQUIRE 269
-#define SETFLAG 270
-#define ADDFLAG 271
-#define REMOVEFLAG 272
-#define MARK 273
-#define UNMARK 274
-#define NOTIFY 275
-#define DENOTIFY 276
-#define ANYOF 277
-#define ALLOF 278
-#define EXISTS 279
-#define SFALSE 280
-#define STRUE 281
-#define HEADER 282
-#define NOT 283
-#define SIZE 284
-#define ADDRESS 285
-#define ENVELOPE 286
-#define BODY 287
-#define COMPARATOR 288
-#define IS 289
-#define CONTAINS 290
-#define MATCHES 291
-#define REGEX 292
-#define COUNT 293
-#define VALUE 294
-#define OVER 295
-#define UNDER 296
-#define GT 297
-#define GE 298
-#define LT 299
-#define LE 300
-#define EQ 301
-#define NE 302
-#define ALL 303
-#define LOCALPART 304
-#define DOMAIN 305
-#define USER 306
-#define DETAIL 307
-#define RAW 308
-#define TEXT 309
-#define CONTENT 310
-#define DAYS 311
-#define ADDRESSES 312
-#define SUBJECT 313
-#define FROM 314
-#define HANDLE 315
-#define MIME 316
-#define METHOD 317
-#define ID 318
-#define OPTIONS 319
-#define LOW 320
-#define NORMAL 321
-#define HIGH 322
-#define ANY 323
-#define MESSAGE 324
-#define INCLUDE 325
-#define PERSONAL 326
-#define GLOBAL 327
-#define RETURN 328
-#define COPY 329
-#define YYERRCODE 256
-static const short yylhs[] = { -1,
- 0, 0, 25, 25, 26, 1, 1, 2, 2, 2,
- 4, 4, 4, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 14,
- 14, 14, 22, 22, 22, 22, 22, 22, 23, 23,
- 23, 23, 24, 24, 24, 21, 21, 21, 21, 21,
- 21, 21, 6, 6, 7, 7, 5, 5, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 13,
- 13, 19, 19, 19, 19, 19, 18, 18, 18, 18,
- 20, 20, 20, 20, 20, 20, 20, 12, 12, 12,
- 12, 12, 9, 9, 9, 9, 10, 10, 11, 11,
- 15, 15, 16, 17, 17,
-};
-static const short yylen[] = { 2,
- 1, 2, 0, 2, 3, 1, 2, 2, 4, 2,
- 0, 4, 2, 2, 3, 3, 1, 1, 1, 3,
- 2, 2, 2, 1, 1, 2, 2, 3, 1, 0,
- 1, 1, 0, 3, 3, 3, 2, 3, 0, 2,
- 3, 3, 1, 1, 1, 0, 3, 3, 3, 3,
- 3, 2, 3, 1, 1, 3, 3, 2, 2, 2,
- 2, 1, 1, 4, 4, 3, 2, 3, 1, 1,
- 1, 0, 2, 2, 3, 3, 0, 2, 3, 3,
- 0, 2, 2, 3, 2, 3, 3, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 0, 1, 3, 1, 3,
-};
-static const short yydefred[] = { 0,
- 0, 0, 0, 0, 54, 0, 0, 0, 0, 0,
- 0, 0, 17, 18, 19, 46, 0, 0, 0, 24,
- 25, 33, 39, 0, 29, 2, 0, 0, 4, 55,
- 0, 5, 10, 69, 0, 0, 0, 62, 63, 77,
- 0, 0, 70, 71, 81, 0, 72, 14, 102, 0,
- 0, 0, 21, 22, 23, 0, 0, 31, 32, 0,
- 7, 8, 53, 0, 0, 59, 60, 61, 0, 67,
- 99, 100, 0, 0, 0, 0, 0, 15, 16, 20,
- 0, 0, 0, 0, 0, 52, 0, 0, 0, 43,
- 44, 45, 0, 37, 93, 94, 95, 96, 97, 98,
- 0, 0, 40, 28, 56, 0, 0, 0, 0, 78,
- 0, 68, 0, 82, 83, 0, 66, 85, 0, 58,
- 0, 0, 0, 9, 0, 88, 89, 90, 91, 92,
- 0, 74, 0, 73, 47, 48, 49, 50, 51, 35,
- 34, 36, 38, 41, 42, 0, 103, 80, 64, 79,
- 87, 84, 86, 57, 0, 13, 76, 65, 75, 105,
- 0, 12,
-};
-static const short yydgoto[] = { 2,
- 26, 27, 28, 124, 76, 7, 31, 106, 101, 102,
- 73, 134, 47, 60, 50, 66, 107, 69, 77, 74,
- 52, 56, 57, 94, 3, 4,
-};
-static const short yysindex[] = { -253,
- -89, 0, -230, -253, 0, -235, -34, -32, -196, -228,
- -298, -298, 0, 0, 0, 0, -89, -89, -89, 0,
- 0, 0, 0, -313, 0, 0, -230, 4, 0, 0,
- -35, 0, 0, 0, 26, 26, -89, 0, 0, 0,
- -196, -276, 0, 0, 0, -56, 0, 0, 0, -190,
- -181, -241, 0, 0, 0, -213, -242, 0, 0, -166,
- 0, 0, 0, -165, -196, 0, 0, 0, -63, 0,
- 0, 0, -163, -91, -113, -206, -83, 0, 0, 0,
- -160, -89, -159, -158, -157, 0, -156, -148, -89, 0,
- 0, 0, -146, 0, 0, 0, 0, 0, 0, 0,
- -145, -144, 0, 0, 0, 71, 75, -141, -89, 0,
- -139, 0, -137, 0, 0, -89, 0, 0, -136, 0,
- -1, -196, -56, 0, -135, 0, 0, 0, 0, 0,
- -89, 0, -133, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, -196, 0, 0, 0, 0,
- 0, 0, 0, 0, -56, 0, 0, 0, 0, 0,
- -206, 0,
-};
-static const short yyrindex[] = { 22,
- 0, 0, 127, 22, 0, 0, 0, 0, 0, 0,
- -129, -129, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, -235, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 72, 73, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 89, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0,
-};
-static const short yygindex[] = { 0,
- -16, 0, 0, -28, -102, -13, 0, -2, -59, -12,
- 0, 0, 0, 0, 122, 99, -10, 0, 0, 0,
- 0, 0, 0, 80, 134, 0,
-};
-#define YYTABLESIZE 350
-static const short yytable[] = { 6,
- 11, 6, 6, 53, 54, 55, 46, 6, 64, 110,
- 61, 120, 58, 59, 118, 1, 80, 132, 71, 72,
- 156, 3, 30, 68, 32, 8, 33, 6, 9, 48,
- 49, 10, 11, 12, 13, 14, 15, 16, 70, 17,
- 18, 19, 20, 21, 22, 23, 95, 96, 97, 98,
- 99, 100, 161, 122, 123, 109, 111, 63, 121, 34,
- 117, 119, 62, 131, 133, 65, 75, 78, 136, 81,
- 82, 83, 84, 85, 86, 142, 79, 90, 91, 92,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 104, 105, 112, 24, 149, 135, 25, 137, 138,
- 139, 140, 152, 87, 88, 89, 90, 91, 92, 141,
- 93, 143, 144, 145, 146, 147, 148, 158, 150, 155,
- 151, 153, 157, 154, 159, 11, 1, 6, 101, 104,
- 26, 27, 162, 51, 67, 160, 103, 29, 0, 0,
- 0, 0, 8, 0, 0, 9, 0, 0, 10, 11,
- 12, 13, 14, 15, 16, 0, 17, 18, 19, 20,
- 21, 22, 23, 0, 0, 0, 5, 0, 5, 0,
- 0, 0, 0, 0, 5, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 5, 0, 113, 95, 96, 97,
- 98, 99, 100, 0, 125, 95, 96, 97, 98, 99,
- 100, 24, 0, 0, 25, 0, 114, 115, 116, 126,
- 127, 128, 129, 130, 108, 95, 96, 97, 98, 99,
- 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 11, 0, 0, 11,
- 0, 0, 11, 11, 11, 11, 11, 11, 11, 0,
- 11, 11, 11, 11, 11, 11, 11, 3, 0, 0,
- 3, 0, 0, 3, 3, 3, 3, 3, 3, 3,
- 0, 3, 3, 3, 3, 3, 3, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 11, 0, 0, 11, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 3, 0, 0, 3,
-};
-static const short yycheck[] = { 91,
- 0, 91, 0, 17, 18, 19, 9, 91, 44, 69,
- 27, 125, 326, 327, 74, 269, 258, 77, 295, 296,
- 123, 0, 258, 37, 59, 256, 59, 91, 259, 258,
- 329, 262, 263, 264, 265, 266, 267, 268, 41, 270,
- 271, 272, 273, 274, 275, 276, 289, 290, 291, 292,
- 293, 294, 155, 260, 261, 69, 69, 93, 75, 256,
- 74, 74, 59, 77, 77, 40, 123, 258, 82, 311,
- 312, 313, 314, 315, 316, 89, 258, 320, 321, 322,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 258, 258, 257, 325, 109, 257, 328, 258, 258,
- 258, 258, 116, 317, 318, 319, 320, 321, 322, 258,
- 324, 258, 258, 258, 44, 41, 258, 131, 258, 122,
- 258, 258, 258, 125, 258, 125, 0, 125, 258, 41,
- 59, 59, 161, 12, 36, 146, 57, 4, -1, -1,
- -1, -1, 256, -1, -1, 259, -1, -1, 262, 263,
- 264, 265, 266, 267, 268, -1, 270, 271, 272, 273,
- 274, 275, 276, -1, -1, -1, 258, -1, 258, -1,
- -1, -1, -1, -1, 258, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 258, -1, 288, 289, 290, 291,
- 292, 293, 294, -1, 288, 289, 290, 291, 292, 293,
- 294, 325, -1, -1, 328, -1, 308, 309, 310, 303,
- 304, 305, 306, 307, 288, 289, 290, 291, 292, 293,
- 294, -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, 256, -1, -1, 259,
- -1, -1, 262, 263, 264, 265, 266, 267, 268, -1,
- 270, 271, 272, 273, 274, 275, 276, 256, -1, -1,
- 259, -1, -1, 262, 263, 264, 265, 266, 267, 268,
- -1, 270, 271, 272, 273, 274, 275, 276, -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, 325, -1, -1, 328, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 325, -1, -1, 328,
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# elif defined __BUILTIN_VA_ARG_INCR
+# include /* INFRINGES ON USER NAME SPACE */
+# elif defined _AIX
+# define YYSTACK_ALLOC __alloca
+# elif defined _MSC_VER
+# include /* INFRINGES ON USER NAME SPACE */
+# define alloca _alloca
+# else
+# define YYSTACK_ALLOC alloca
+# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+# include /* INFRINGES ON USER NAME SPACE */
+# ifndef _STDLIB_H
+# define _STDLIB_H 1
+# endif
+# endif
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+# ifndef YYSTACK_ALLOC_MAXIMUM
+ /* The OS might guarantee only one guard page at the bottom of the stack,
+ and a page size can be as small as 4096 bytes. So we cannot safely
+ invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
+ to allow for a few compiler-allocated temporary stack slots. */
+# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+# endif
+# else
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# ifndef YYSTACK_ALLOC_MAXIMUM
+# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+# endif
+# if (defined __cplusplus && ! defined _STDLIB_H \
+ && ! ((defined YYMALLOC || defined malloc) \
+ && (defined YYFREE || defined free)))
+# include /* INFRINGES ON USER NAME SPACE */
+# ifndef _STDLIB_H
+# define _STDLIB_H 1
+# endif
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+# endif
+# endif
+# ifndef YYFREE
+# define YYFREE free
+# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+# endif
+# endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#if (! defined yyoverflow \
+ && (! defined __cplusplus \
+ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
};
-#define YYFINAL 2
-#ifndef YYDEBUG
-#define YYDEBUG 0
-#endif
-#define YYMAXTOKEN 329
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined __GNUC__ && 1 < __GNUC__
+# define YYCOPY(To, From, Count) \
+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+# else
+# define YYCOPY(To, From, Count) \
+ do \
+ { \
+ YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+ while (YYID (0))
+# endif
+# endif
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (YYID (0))
+
+#endif
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 8
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 248
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 84
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 28
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 106
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 164
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 330
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const yytype_uint8 yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 82, 83, 2, 2, 79, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 76,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 77, 2, 78, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 80, 2, 81, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75
+};
+
#if YYDEBUG
-static const char *yyname[] = {
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const yytype_uint16 yyprhs[] =
+{
+ 0, 0, 3, 5, 8, 9, 12, 16, 18, 21,
+ 24, 29, 32, 33, 38, 41, 44, 48, 52, 54,
+ 56, 58, 62, 65, 68, 71, 73, 75, 78, 81,
+ 85, 87, 88, 90, 92, 93, 97, 101, 105, 108,
+ 112, 113, 116, 120, 124, 126, 128, 130, 131, 135,
+ 139, 143, 147, 151, 154, 158, 160, 162, 166, 170,
+ 173, 176, 179, 182, 184, 186, 191, 196, 200, 203,
+ 207, 209, 211, 213, 214, 217, 220, 224, 228, 229,
+ 232, 236, 240, 241, 244, 247, 251, 254, 258, 262,
+ 264, 266, 268, 270, 272, 274, 276, 278, 280, 282,
+ 284, 286, 288, 289, 291, 295, 297
+};
-"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,"'('","')'",0,0,"','",0,0,0,0,0,0,0,0,0,0,0,0,0,0,"';'",0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'{'",0,"'}'",0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-"NUMBER","STRING","IF","ELSIF","ELSE","REJCT","FILEINTO","REDIRECT","KEEP",
-"STOP","DISCARD","VACATION","REQUIRE","SETFLAG","ADDFLAG","REMOVEFLAG","MARK",
-"UNMARK","NOTIFY","DENOTIFY","ANYOF","ALLOF","EXISTS","SFALSE","STRUE","HEADER",
-"NOT","SIZE","ADDRESS","ENVELOPE","BODY","COMPARATOR","IS","CONTAINS","MATCHES",
-"REGEX","COUNT","VALUE","OVER","UNDER","GT","GE","LT","LE","EQ","NE","ALL",
-"LOCALPART","DOMAIN","USER","DETAIL","RAW","TEXT","CONTENT","DAYS","ADDRESSES",
-"SUBJECT","FROM","HANDLE","MIME","METHOD","ID","OPTIONS","LOW","NORMAL","HIGH",
-"ANY","MESSAGE","INCLUDE","PERSONAL","GLOBAL","RETURN","COPY",
-};
-static const char *yyrule[] = {
-"$accept : start",
-"start : reqs",
-"start : reqs commands",
-"reqs :",
-"reqs : require reqs",
-"require : REQUIRE stringlist ';'",
-"commands : command",
-"commands : command commands",
-"command : action ';'",
-"command : IF test block elsif",
-"command : error ';'",
-"elsif :",
-"elsif : ELSIF test block elsif",
-"elsif : ELSE block",
-"action : REJCT STRING",
-"action : FILEINTO copy STRING",
-"action : REDIRECT copy STRING",
-"action : KEEP",
-"action : STOP",
-"action : DISCARD",
-"action : VACATION vtags STRING",
-"action : SETFLAG stringlist",
-"action : ADDFLAG stringlist",
-"action : REMOVEFLAG stringlist",
-"action : MARK",
-"action : UNMARK",
-"action : NOTIFY ntags",
-"action : DENOTIFY dtags",
-"action : INCLUDE location STRING",
-"action : RETURN",
-"location :",
-"location : PERSONAL",
-"location : GLOBAL",
-"ntags :",
-"ntags : ntags ID STRING",
-"ntags : ntags METHOD STRING",
-"ntags : ntags OPTIONS stringlist",
-"ntags : ntags priority",
-"ntags : ntags MESSAGE STRING",
-"dtags :",
-"dtags : dtags priority",
-"dtags : dtags comptag STRING",
-"dtags : dtags relcomp STRING",
-"priority : LOW",
-"priority : NORMAL",
-"priority : HIGH",
-"vtags :",
-"vtags : vtags DAYS NUMBER",
-"vtags : vtags ADDRESSES stringlist",
-"vtags : vtags SUBJECT STRING",
-"vtags : vtags FROM STRING",
-"vtags : vtags HANDLE STRING",
-"vtags : vtags MIME",
-"stringlist : '[' strings ']'",
-"stringlist : STRING",
-"strings : STRING",
-"strings : strings ',' STRING",
-"block : '{' commands '}'",
-"block : '{' '}'",
-"test : ANYOF testlist",
-"test : ALLOF testlist",
-"test : EXISTS stringlist",
-"test : SFALSE",
-"test : STRUE",
-"test : HEADER htags stringlist stringlist",
-"test : addrorenv aetags stringlist stringlist",
-"test : BODY btags stringlist",
-"test : NOT test",
-"test : SIZE sizetag NUMBER",
-"test : error",
-"addrorenv : ADDRESS",
-"addrorenv : ENVELOPE",
-"aetags :",
-"aetags : aetags addrparttag",
-"aetags : aetags comptag",
-"aetags : aetags relcomp STRING",
-"aetags : aetags COMPARATOR STRING",
-"htags :",
-"htags : htags comptag",
-"htags : htags relcomp STRING",
-"htags : htags COMPARATOR STRING",
-"btags :",
-"btags : btags RAW",
-"btags : btags TEXT",
-"btags : btags CONTENT stringlist",
-"btags : btags comptag",
-"btags : btags relcomp STRING",
-"btags : btags COMPARATOR STRING",
-"addrparttag : ALL",
-"addrparttag : LOCALPART",
-"addrparttag : DOMAIN",
-"addrparttag : USER",
-"addrparttag : DETAIL",
-"comptag : IS",
-"comptag : CONTAINS",
-"comptag : MATCHES",
-"comptag : REGEX",
-"relcomp : COUNT",
-"relcomp : VALUE",
-"sizetag : OVER",
-"sizetag : UNDER",
-"copy :",
-"copy : COPY",
-"testlist : '(' tests ')'",
-"tests : test",
-"tests : test ',' tests",
-
-};
-#endif
-/* define the initial stack-sizes */
-#ifdef YYSTACKSIZE
-#undef YYMAXDEPTH
-#define YYMAXDEPTH YYSTACKSIZE
-#else
-#ifdef YYMAXDEPTH
-#define YYSTACKSIZE YYMAXDEPTH
-#else
-#define YYSTACKSIZE 500
-#define YYMAXDEPTH 500
-#endif
-#endif
-
-#define YYINITSTACKSIZE 500
-
-int yydebug;
-int yynerrs;
-
-typedef struct {
- unsigned stacksize;
- short *s_base;
- short *s_mark;
- short *s_last;
- YYSTYPE *l_base;
- YYSTYPE *l_mark;
-} YYSTACKDATA;
-int yyerrflag;
-int yychar;
-YYSTYPE yyval;
-YYSTYPE yylval;
-
-/* variables for the parser stack */
-static YYSTACKDATA yystack;
-#line 701 "sieve.y"
-commandlist_t *sieve_parse(sieve_script_t *script, FILE *f)
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yytype_int8 yyrhs[] =
{
- commandlist_t *t;
+ 85, 0, -1, 86, -1, 86, 88, -1, -1, 87,
+ 86, -1, 15, 97, 76, -1, 89, -1, 89, 88,
+ -1, 91, 76, -1, 5, 100, 99, 90, -1, 1,
+ 76, -1, -1, 6, 100, 99, 90, -1, 7, 99,
+ -1, 8, 4, -1, 9, 109, 4, -1, 10, 109,
+ 4, -1, 11, -1, 12, -1, 13, -1, 14, 96,
+ 4, -1, 16, 97, -1, 17, 97, -1, 18, 97,
+ -1, 19, -1, 20, -1, 21, 93, -1, 22, 94,
+ -1, 71, 92, 4, -1, 74, -1, -1, 72, -1,
+ 73, -1, -1, 93, 64, 4, -1, 93, 63, 4,
+ -1, 93, 65, 97, -1, 93, 95, -1, 93, 70,
+ 4, -1, -1, 94, 95, -1, 94, 106, 4, -1,
+ 94, 107, 4, -1, 66, -1, 67, -1, 68, -1,
+ -1, 96, 57, 3, -1, 96, 58, 97, -1, 96,
+ 59, 4, -1, 96, 60, 4, -1, 96, 61, 4,
+ -1, 96, 62, -1, 77, 98, 78, -1, 4, -1,
+ 4, -1, 98, 79, 4, -1, 80, 88, 81, -1,
+ 80, 81, -1, 23, 110, -1, 24, 110, -1, 25,
+ 97, -1, 26, -1, 27, -1, 28, 103, 97, 97,
+ -1, 101, 102, 97, 97, -1, 33, 104, 97, -1,
+ 29, 100, -1, 30, 108, 3, -1, 1, -1, 31,
+ -1, 32, -1, -1, 102, 105, -1, 102, 106, -1,
+ 102, 107, 4, -1, 102, 34, 4, -1, -1, 103,
+ 106, -1, 103, 107, 4, -1, 103, 34, 4, -1,
+ -1, 104, 54, -1, 104, 55, -1, 104, 56, 97,
+ -1, 104, 106, -1, 104, 107, 4, -1, 104, 34,
+ 4, -1, 49, -1, 50, -1, 51, -1, 52, -1,
+ 53, -1, 35, -1, 36, -1, 37, -1, 38, -1,
+ 39, -1, 40, -1, 41, -1, 42, -1, -1, 75,
+ -1, 82, 111, 83, -1, 100, -1, 100, 79, 111,
+ -1
+};
- parse_script = script;
- yyrestart(f);
- if (yyparse()) {
- t = NULL;
- } else {
- t = ret;
- }
- ret = NULL;
- return t;
-}
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const yytype_uint16 yyrline[] =
+{
+ 0, 222, 222, 223, 226, 227, 230, 238, 239, 242,
+ 243, 244, 247, 248, 249, 252, 261, 269, 273, 274,
+ 275, 276, 285, 294, 303, 312, 317, 323, 331, 341,
+ 348, 355, 356, 357, 360, 361, 364, 367, 370, 373,
+ 378, 379, 382, 397, 407, 408, 409, 412, 413, 416,
+ 424, 430, 436, 442, 448, 449, 452, 453, 456, 457,
+ 460, 461, 462, 463, 464, 465, 489, 511, 537, 538,
+ 540, 543, 544, 551, 552, 557, 561, 569, 579, 580,
+ 584, 592, 602, 603, 608, 613, 621, 625, 633, 644,
+ 645, 646, 647, 652, 658, 659, 660, 661, 668, 673,
+ 681, 682, 685, 686, 693, 696, 697
+};
+#endif
-int yyerror(char *msg)
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "NUMBER", "STRING", "IF", "ELSIF",
+ "ELSE", "REJCT", "FILEINTO", "REDIRECT", "KEEP", "STOP", "DISCARD",
+ "VACATION", "REQUIRE", "SETFLAG", "ADDFLAG", "REMOVEFLAG", "MARK",
+ "UNMARK", "NOTIFY", "DENOTIFY", "ANYOF", "ALLOF", "EXISTS", "SFALSE",
+ "STRUE", "HEADER", "NOT", "SIZE", "ADDRESS", "ENVELOPE", "BODY",
+ "COMPARATOR", "IS", "CONTAINS", "MATCHES", "REGEX", "COUNT", "VALUE",
+ "OVER", "UNDER", "GT", "GE", "LT", "LE", "EQ", "NE", "ALL", "LOCALPART",
+ "DOMAIN", "USER", "DETAIL", "RAW", "TEXT", "CONTENT", "DAYS",
+ "ADDRESSES", "SUBJECT", "FROM", "HANDLE", "MIME", "METHOD", "ID",
+ "OPTIONS", "LOW", "NORMAL", "HIGH", "ANY", "MESSAGE", "INCLUDE",
+ "PERSONAL", "GLOBAL", "RETURN", "COPY", "';'", "'['", "']'", "','",
+ "'{'", "'}'", "'('", "')'", "$accept", "start", "reqs", "require",
+ "commands", "command", "elsif", "action", "location", "ntags", "dtags",
+ "priority", "vtags", "stringlist", "strings", "block", "test",
+ "addrorenv", "aetags", "htags", "btags", "addrparttag", "comptag",
+ "relcomp", "sizetag", "copy", "testlist", "tests", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
+static const yytype_uint16 yytoknum[] =
+{
+ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 59, 91, 93, 44,
+ 123, 125, 40, 41
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_uint8 yyr1[] =
{
- extern int yylineno;
- int ret;
+ 0, 84, 85, 85, 86, 86, 87, 88, 88, 89,
+ 89, 89, 90, 90, 90, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 92, 92, 92, 93, 93, 93, 93, 93, 93,
+ 94, 94, 94, 94, 95, 95, 95, 96, 96, 96,
+ 96, 96, 96, 96, 97, 97, 98, 98, 99, 99,
+ 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
+ 100, 101, 101, 102, 102, 102, 102, 102, 103, 103,
+ 103, 103, 104, 104, 104, 104, 104, 104, 104, 105,
+ 105, 105, 105, 105, 106, 106, 106, 106, 107, 107,
+ 108, 108, 109, 109, 110, 111, 111
+};
- parse_script->err++;
- if (parse_script->interp.err) {
- ret = parse_script->interp.err(yylineno, msg,
- parse_script->interp.interp_context,
- parse_script->script_context);
- }
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const yytype_uint8 yyr2[] =
+{
+ 0, 2, 1, 2, 0, 2, 3, 1, 2, 2,
+ 4, 2, 0, 4, 2, 2, 3, 3, 1, 1,
+ 1, 3, 2, 2, 2, 1, 1, 2, 2, 3,
+ 1, 0, 1, 1, 0, 3, 3, 3, 2, 3,
+ 0, 2, 3, 3, 1, 1, 1, 0, 3, 3,
+ 3, 3, 3, 2, 3, 1, 1, 3, 3, 2,
+ 2, 2, 2, 1, 1, 4, 4, 3, 2, 3,
+ 1, 1, 1, 0, 2, 2, 3, 3, 0, 2,
+ 3, 3, 0, 2, 2, 3, 2, 3, 3, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 0, 1, 3, 1, 3
+};
- return 0;
-}
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
+static const yytype_uint8 yydefact[] =
+{
+ 4, 0, 0, 0, 4, 55, 0, 0, 1, 0,
+ 0, 0, 102, 102, 18, 19, 20, 47, 0, 0,
+ 0, 25, 26, 34, 40, 31, 30, 3, 0, 0,
+ 5, 56, 0, 6, 11, 70, 0, 0, 0, 63,
+ 64, 78, 0, 0, 71, 72, 82, 0, 73, 15,
+ 103, 0, 0, 0, 22, 23, 24, 27, 28, 32,
+ 33, 0, 8, 9, 54, 0, 0, 60, 61, 62,
+ 0, 68, 100, 101, 0, 0, 0, 12, 0, 16,
+ 17, 21, 0, 0, 0, 0, 0, 53, 0, 0,
+ 0, 44, 45, 46, 0, 38, 94, 95, 96, 97,
+ 98, 99, 41, 0, 0, 29, 57, 105, 0, 0,
+ 0, 79, 0, 69, 0, 83, 84, 0, 67, 86,
+ 0, 59, 0, 0, 0, 10, 0, 89, 90, 91,
+ 92, 93, 0, 74, 75, 0, 48, 49, 50, 51,
+ 52, 36, 35, 37, 39, 42, 43, 0, 104, 81,
+ 65, 80, 88, 85, 87, 58, 0, 14, 77, 66,
+ 76, 106, 12, 13
+};
-static char *check_reqs(stringlist_t *sl)
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int16 yydefgoto[] =
{
- stringlist_t *s;
- char *err = NULL, *p, sep = ':';
- size_t alloc = 0;
-
- while (sl != NULL) {
- s = sl;
- sl = sl->next;
+ -1, 2, 3, 4, 27, 28, 125, 29, 61, 57,
+ 58, 95, 53, 7, 32, 77, 107, 48, 78, 70,
+ 75, 133, 103, 104, 74, 51, 67, 108
+};
- if (!script_require(parse_script, s->s)) {
- if (!err) {
- alloc = 100;
- p = err = xmalloc(alloc);
- p += sprintf(p, "Unsupported feature(s) in \"require\"");
- }
- else if ((size_t) (p - err + strlen(s->s) + 5) > alloc) {
- alloc += 100;
- err = xrealloc(err, alloc);
- p = err + strlen(err);
- }
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -113
+static const yytype_int16 yypact[] =
+{
+ -4, 0, 54, 112, -4, -113, 25, -20, -113, -12,
+ 215, 55, 6, 6, -113, -113, -113, -113, 0, 0,
+ 0, -113, -113, -113, -113, -64, -113, -113, 5, 2,
+ -113, -113, -47, -113, -113, -113, -2, -2, 0, -113,
+ -113, -113, 215, 21, -113, -113, -113, 4, -113, -113,
+ -113, 78, 79, 85, -113, -113, -113, 3, 135, -113,
+ -113, 81, -113, -113, -113, 83, 215, -113, -113, -113,
+ 160, -113, -113, -113, 87, 153, 29, 68, 101, -113,
+ -113, -113, 88, 0, 84, 89, 90, -113, 91, 92,
+ 0, -113, -113, -113, 93, -113, -113, -113, -113, -113,
+ -113, -113, -113, 94, 97, -113, -113, 23, 24, 100,
+ 0, -113, 102, -113, 104, -113, -113, 0, -113, -113,
+ 105, -113, 30, 215, 4, -113, 111, -113, -113, -113,
+ -113, -113, 0, -113, -113, 114, -113, -113, -113, -113,
+ -113, -113, -113, -113, -113, -113, -113, 215, -113, -113,
+ -113, -113, -113, -113, -113, -113, 4, -113, -113, -113,
+ -113, -113, 68, -113
+};
- p += sprintf(p, "%c \"%s\"", sep, s->s);
- sep = ',';
- }
+/* YYPGOTO[NTERM-NUM]. */
+static const yytype_int16 yypgoto[] =
+{
+ -113, -113, 115, -113, -21, -113, -35, -113, -113, -113,
+ -113, 98, -113, -18, -113, -112, -7, -113, -113, -113,
+ -113, -113, -42, -17, -113, 136, 118, 1
+};
- free(s->s);
- free(s);
- }
- return err;
-}
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If zero, do what YYDEFACT says.
+ If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -8
+static const yytype_int16 yytable[] =
+{
+ 54, 55, 56, 47, 5, -7, 9, 62, 59, 60,
+ 10, 1, 157, 11, 12, 13, 14, 15, 16, 17,
+ 69, 18, 19, 20, 21, 22, 23, 24, 111, 31,
+ 9, 64, 65, 119, 10, 71, 134, 11, 12, 13,
+ 14, 15, 16, 17, 162, 18, 19, 20, 21, 22,
+ 23, 24, 110, 112, 8, 122, 33, 118, 120, 49,
+ 132, 135, 72, 73, 34, 137, 88, 89, 90, 91,
+ 92, 93, 143, 94, 123, 124, 25, 6, 63, 26,
+ 66, 50, 79, 80, 76, 105, -7, 106, 138, 81,
+ 113, 136, 150, 139, 140, 141, 142, 144, 145, 153,
+ 25, 146, 147, 26, 149, 5, 151, 148, 152, 154,
+ 121, 155, -2, 9, 159, 158, 156, 10, 160, 30,
+ 11, 12, 13, 14, 15, 16, 17, 163, 18, 19,
+ 20, 21, 22, 23, 24, 126, 96, 97, 98, 99,
+ 100, 101, 82, 83, 84, 85, 86, 87, 161, 52,
+ 127, 128, 129, 130, 131, 68, 102, 5, 0, 0,
+ 0, 0, 0, 0, 5, 0, 0, 0, 0, 0,
+ 96, 97, 98, 99, 100, 101, 0, 0, 6, 0,
+ 0, 0, 0, 25, 0, 0, 26, 114, 96, 97,
+ 98, 99, 100, 101, 109, 96, 97, 98, 99, 100,
+ 101, 91, 92, 93, 0, 0, 0, 115, 116, 117,
+ 0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 6, 0, 0, 0, 0, 0, 0, 6, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46
+};
-static test_t *build_address(int t, struct aetags *ae,
- stringlist_t *sl, stringlist_t *pl)
+static const yytype_int16 yycheck[] =
{
- test_t *ret = new_test(t); /* can be either ADDRESS or ENVELOPE */
+ 18, 19, 20, 10, 4, 0, 1, 28, 72, 73,
+ 5, 15, 124, 8, 9, 10, 11, 12, 13, 14,
+ 38, 16, 17, 18, 19, 20, 21, 22, 70, 4,
+ 1, 78, 79, 75, 5, 42, 78, 8, 9, 10,
+ 11, 12, 13, 14, 156, 16, 17, 18, 19, 20,
+ 21, 22, 70, 70, 0, 76, 76, 75, 75, 4,
+ 78, 78, 41, 42, 76, 83, 63, 64, 65, 66,
+ 67, 68, 90, 70, 6, 7, 71, 77, 76, 74,
+ 82, 75, 4, 4, 80, 4, 81, 4, 4, 4,
+ 3, 3, 110, 4, 4, 4, 4, 4, 4, 117,
+ 71, 4, 79, 74, 4, 4, 4, 83, 4, 4,
+ 81, 81, 0, 1, 132, 4, 123, 5, 4, 4,
+ 8, 9, 10, 11, 12, 13, 14, 162, 16, 17,
+ 18, 19, 20, 21, 22, 34, 35, 36, 37, 38,
+ 39, 40, 57, 58, 59, 60, 61, 62, 147, 13,
+ 49, 50, 51, 52, 53, 37, 58, 4, -1, -1,
+ -1, -1, -1, -1, 4, -1, -1, -1, -1, -1,
+ 35, 36, 37, 38, 39, 40, -1, -1, 77, -1,
+ -1, -1, -1, 71, -1, -1, 74, 34, 35, 36,
+ 37, 38, 39, 40, 34, 35, 36, 37, 38, 39,
+ 40, 66, 67, 68, -1, -1, -1, 54, 55, 56,
+ -1, -1, -1, -1, -1, -1, 1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 77, -1, -1, -1, -1, -1, -1, 77, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33
+};
- assert((t == ADDRESS) || (t == ENVELOPE));
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const yytype_uint8 yystos[] =
+{
+ 0, 15, 85, 86, 87, 4, 77, 97, 0, 1,
+ 5, 8, 9, 10, 11, 12, 13, 14, 16, 17,
+ 18, 19, 20, 21, 22, 71, 74, 88, 89, 91,
+ 86, 4, 98, 76, 76, 1, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 100, 101, 4,
+ 75, 109, 109, 96, 97, 97, 97, 93, 94, 72,
+ 73, 92, 88, 76, 78, 79, 82, 110, 110, 97,
+ 103, 100, 41, 42, 108, 104, 80, 99, 102, 4,
+ 4, 4, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 70, 95, 35, 36, 37, 38,
+ 39, 40, 95, 106, 107, 4, 4, 100, 111, 34,
+ 97, 106, 107, 3, 34, 54, 55, 56, 97, 106,
+ 107, 81, 88, 6, 7, 90, 34, 49, 50, 51,
+ 52, 53, 97, 105, 106, 107, 3, 97, 4, 4,
+ 4, 4, 4, 97, 4, 4, 4, 79, 83, 4,
+ 97, 4, 4, 97, 4, 81, 100, 99, 4, 97,
+ 4, 111, 99, 90
+};
- if (ret) {
- ret->u.ae.comptag = ae->comptag;
- ret->u.ae.relation=ae->relation;
- ret->u.ae.comparator=xstrdup(ae->comparator);
- ret->u.ae.sl = sl;
- ret->u.ae.pl = pl;
- ret->u.ae.addrpart = ae->addrtag;
- free_aetags(ae);
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+ Once GCC version 2 has supplanted version 1, this can go. */
+
+#define YYFAIL goto yyerrlab
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY && yylen == 1) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ yytoken = YYTRANSLATE (yychar); \
+ YYPOPSTACK (1); \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror (YY_("syntax error: cannot back up")); \
+ YYERROR; \
+ } \
+while (YYID (0))
+
+
+#define YYTERROR 1
+#define YYERRCODE 256
+
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+ If N is 0, then set CURRENT to the empty location which ends
+ the previous symbol: RHS[0] (always defined). */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ do \
+ if (YYID (N)) \
+ { \
+ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
+ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
+ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
+ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
+ } \
+ else \
+ { \
+ (Current).first_line = (Current).last_line = \
+ YYRHSLOC (Rhs, 0).last_line; \
+ (Current).first_column = (Current).last_column = \
+ YYRHSLOC (Rhs, 0).last_column; \
+ } \
+ while (YYID (0))
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+ This macro was not mandated originally: define only if we know
+ we won't break user code: when these are the locations we know. */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+# define YY_LOCATION_PRINT(File, Loc) \
+ fprintf (File, "%d.%d-%d.%d", \
+ (Loc).first_line, (Loc).first_column, \
+ (Loc).last_line, (Loc).last_column)
+# else
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
- }
- return ret;
-}
-static test_t *build_header(int t, struct htags *h,
- stringlist_t *sl, stringlist_t *pl)
-{
- test_t *ret = new_test(t); /* can be HEADER */
+/* YYLEX -- calling `yylex' with the right arguments. */
- assert(t == HEADER);
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (YYLEX_PARAM)
+#else
+# define YYLEX yylex ()
+#endif
- if (ret) {
- ret->u.h.comptag = h->comptag;
- ret->u.h.relation=h->relation;
- ret->u.h.comparator=xstrdup(h->comparator);
- ret->u.h.sl = sl;
- ret->u.h.pl = pl;
- free_htags(h);
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (YYID (0))
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yy_symbol_print (stderr, \
+ Type, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (YYID (0))
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+#endif
+{
+ if (!yyvaluep)
+ return;
+# ifdef YYPRINT
+ if (yytype < YYNTOKENS)
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+ YYUSE (yyoutput);
+# endif
+ switch (yytype)
+ {
+ default:
+ break;
}
- return ret;
}
-static test_t *build_body(int t, struct btags *b, stringlist_t *pl)
-{
- test_t *ret = new_test(t); /* can be BODY */
- assert(t == BODY);
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
- if (ret) {
- ret->u.b.comptag = b->comptag;
- ret->u.b.relation = b->relation;
- ret->u.b.comparator = xstrdup(b->comparator);
- ret->u.b.transform = b->transform;
- ret->u.b.offset = b->offset;
- ret->u.b.content_types = b->content_types; b->content_types = NULL;
- ret->u.b.pl = pl;
- free_btags(b);
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+#endif
+{
+ if (yytype < YYNTOKENS)
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+ yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+ YYFPRINTF (yyoutput, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+#else
+static void
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
+#endif
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
}
- return ret;
+ YYFPRINTF (stderr, "\n");
}
-static commandlist_t *build_vacation(int t, struct vtags *v, char *reason)
-{
- commandlist_t *ret = new_command(t);
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (YYID (0))
- assert(t == VACATION);
- if (ret) {
- ret->u.v.subject = v->subject; v->subject = NULL;
- ret->u.v.from = v->from; v->from = NULL;
- ret->u.v.handle = v->handle; v->handle = NULL;
- ret->u.v.days = v->days;
- ret->u.v.mime = v->mime;
- ret->u.v.addresses = v->addresses; v->addresses = NULL;
- free_vtags(v);
- ret->u.v.message = reason;
- }
- return ret;
-}
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
-static commandlist_t *build_notify(int t, struct ntags *n)
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+#else
+static void
+yy_reduce_print (yyvsp, yyrule)
+ YYSTYPE *yyvsp;
+ int yyrule;
+#endif
{
- commandlist_t *ret = new_command(t);
-
- assert(t == NOTIFY);
- if (ret) {
- ret->u.n.method = n->method; n->method = NULL;
- ret->u.n.id = n->id; n->id = NULL;
- ret->u.n.options = n->options; n->options = NULL;
- ret->u.n.priority = n->priority;
- ret->u.n.message = n->message; n->message = NULL;
- free_ntags(n);
+ int yynrhs = yyr2[yyrule];
+ int yyi;
+ unsigned long int yylno = yyrline[yyrule];
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+ yyrule - 1, yylno);
+ /* The symbols being reduced. */
+ for (yyi = 0; yyi < yynrhs; yyi++)
+ {
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
+ yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+ &(yyvsp[(yyi + 1) - (yynrhs)])
+ );
+ YYFPRINTF (stderr, "\n");
}
- return ret;
}
-static commandlist_t *build_denotify(int t, struct dtags *d)
-{
- commandlist_t *ret = new_command(t);
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (yyvsp, Rule); \
+} while (YYID (0))
- assert(t == DENOTIFY);
+/* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
- if (ret) {
- ret->u.d.comptag = d->comptag;
- ret->u.d.relation=d->relation;
- ret->u.d.pattern = d->pattern; d->pattern = NULL;
- ret->u.d.priority = d->priority;
- free_dtags(d);
- }
- return ret;
-}
-static commandlist_t *build_fileinto(int t, int copy, char *folder)
-{
- commandlist_t *ret = new_command(t);
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
- assert(t == FILEINTO);
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+ if the built-in stack extension method is used).
- if (ret) {
- ret->u.f.copy = copy;
- if (config_getswitch(IMAPOPT_SIEVE_UTF8FILEINTO)) {
- ret->u.f.folder = xmalloc(5 * strlen(folder) + 1);
- UTF8_to_mUTF7(ret->u.f.folder, folder);
- free(folder);
- }
- else {
- ret->u.f.folder = folder;
- }
- }
- return ret;
-}
+ Do not make this value too large; the results are undefined if
+ YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+ evaluated with infinite-precision integer arithmetic. */
-static commandlist_t *build_redirect(int t, int copy, char *address)
-{
- commandlist_t *ret = new_command(t);
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
- assert(t == REDIRECT);
+
- if (ret) {
- ret->u.r.copy = copy;
- ret->u.r.address = address;
- }
- return ret;
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+# if defined __GLIBC__ && defined _STRING_H
+# define yystrlen strlen
+# else
+/* Return the length of YYSTR. */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static YYSIZE_T
+yystrlen (const char *yystr)
+#else
+static YYSIZE_T
+yystrlen (yystr)
+ const char *yystr;
+#endif
+{
+ YYSIZE_T yylen;
+ for (yylen = 0; yystr[yylen]; yylen++)
+ continue;
+ return yylen;
}
+# endif
+# endif
-static struct aetags *new_aetags(void)
+# ifndef yystpcpy
+# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+# define yystpcpy stpcpy
+# else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+ YYDEST. */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static char *
+yystpcpy (char *yydest, const char *yysrc)
+#else
+static char *
+yystpcpy (yydest, yysrc)
+ char *yydest;
+ const char *yysrc;
+#endif
{
- struct aetags *r = (struct aetags *) xmalloc(sizeof(struct aetags));
+ char *yyd = yydest;
+ const char *yys = yysrc;
- r->addrtag = r->comptag = r->relation=-1;
- r->comparator=NULL;
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
- return r;
+ return yyd - 1;
}
+# endif
+# endif
-static struct aetags *canon_aetags(struct aetags *ae)
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+ quotes and backslashes, so that it's suitable for yyerror. The
+ heuristic is that double-quoting is unnecessary unless the string
+ contains an apostrophe, a comma, or backslash (other than
+ backslash-backslash). YYSTR is taken from yytname. If YYRES is
+ null, do not copy; instead, return the length of what the result
+ would have been. */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
{
- if (ae->addrtag == -1) { ae->addrtag = ALL; }
- if (ae->comparator == NULL) {
- ae->comparator = xstrdup("i;ascii-casemap");
+ if (*yystr == '"')
+ {
+ YYSIZE_T yyn = 0;
+ char const *yyp = yystr;
+
+ for (;;)
+ switch (*++yyp)
+ {
+ case '\'':
+ case ',':
+ goto do_not_strip_quotes;
+
+ case '\\':
+ if (*++yyp != '\\')
+ goto do_not_strip_quotes;
+ /* Fall through. */
+ default:
+ if (yyres)
+ yyres[yyn] = *yyp;
+ yyn++;
+ break;
+
+ case '"':
+ if (yyres)
+ yyres[yyn] = '\0';
+ return yyn;
+ }
+ do_not_strip_quotes: ;
}
- if (ae->comptag == -1) { ae->comptag = IS; }
- return ae;
-}
-static void free_aetags(struct aetags *ae)
-{
- free(ae->comparator);
- free(ae);
+ if (! yyres)
+ return yystrlen (yystr);
+
+ return yystpcpy (yyres, yystr) - yyres;
}
+# endif
-static struct htags *new_htags(void)
+/* Copy into YYRESULT an error message about the unexpected token
+ YYCHAR while in state YYSTATE. Return the number of bytes copied,
+ including the terminating null byte. If YYRESULT is null, do not
+ copy anything; just return the number of bytes that would be
+ copied. As a special case, return 0 if an ordinary "syntax error"
+ message will do. Return YYSIZE_MAXIMUM if overflow occurs during
+ size calculation. */
+static YYSIZE_T
+yysyntax_error (char *yyresult, int yystate, int yychar)
{
- struct htags *r = (struct htags *) xmalloc(sizeof(struct htags));
+ int yyn = yypact[yystate];
- r->comptag = r->relation= -1;
-
- r->comparator = NULL;
+ if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
+ return 0;
+ else
+ {
+ int yytype = YYTRANSLATE (yychar);
+ YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+ YYSIZE_T yysize = yysize0;
+ YYSIZE_T yysize1;
+ int yysize_overflow = 0;
+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+ int yyx;
+
+# if 0
+ /* This is so xgettext sees the translatable formats that are
+ constructed on the fly. */
+ YY_("syntax error, unexpected %s");
+ YY_("syntax error, unexpected %s, expecting %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+# endif
+ char *yyfmt;
+ char const *yyf;
+ static char const yyunexpected[] = "syntax error, unexpected %s";
+ static char const yyexpecting[] = ", expecting %s";
+ static char const yyor[] = " or %s";
+ char yyformat[sizeof yyunexpected
+ + sizeof yyexpecting - 1
+ + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+ * (sizeof yyor - 1))];
+ char const *yyprefix = yyexpecting;
+
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn + 1;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yycount = 1;
+
+ yyarg[0] = yytname[yytype];
+ yyfmt = yystpcpy (yyformat, yyunexpected);
+
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+ {
+ yycount = 1;
+ yysize = yysize0;
+ yyformat[sizeof yyunexpected - 1] = '\0';
+ break;
+ }
+ yyarg[yycount++] = yytname[yyx];
+ yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+ yysize_overflow |= (yysize1 < yysize);
+ yysize = yysize1;
+ yyfmt = yystpcpy (yyfmt, yyprefix);
+ yyprefix = yyor;
+ }
+
+ yyf = YY_(yyformat);
+ yysize1 = yysize + yystrlen (yyf);
+ yysize_overflow |= (yysize1 < yysize);
+ yysize = yysize1;
- return r;
-}
+ if (yysize_overflow)
+ return YYSIZE_MAXIMUM;
-static struct htags *canon_htags(struct htags *h)
-{
- if (h->comparator == NULL) {
- h->comparator = xstrdup("i;ascii-casemap");
+ if (yyresult)
+ {
+ /* Avoid sprintf, as that infringes on the user's name space.
+ Don't have undefined behavior even if the translation
+ produced a string with the wrong number of "%s"s. */
+ char *yyp = yyresult;
+ int yyi = 0;
+ while ((*yyp = *yyf) != '\0')
+ {
+ if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+ {
+ yyp += yytnamerr (yyp, yyarg[yyi++]);
+ yyf += 2;
+ }
+ else
+ {
+ yyp++;
+ yyf++;
+ }
+ }
+ }
+ return yysize;
}
- if (h->comptag == -1) { h->comptag = IS; }
- return h;
}
+#endif /* YYERROR_VERBOSE */
+
-static void free_htags(struct htags *h)
-{
- free(h->comparator);
- free(h);
-}
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
-static struct btags *new_btags(void)
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep)
+ const char *yymsg;
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
{
- struct btags *r = (struct btags *) xmalloc(sizeof(struct btags));
+ YYUSE (yyvaluep);
- r->transform = r->offset = r->comptag = r->relation = -1;
- r->content_types = NULL;
- r->comparator = NULL;
+ if (!yymsg)
+ yymsg = "Deleting";
+ YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
- return r;
-}
+ switch (yytype)
+ {
-static struct btags *canon_btags(struct btags *b)
-{
- if (b->transform == -1) { b->transform = TEXT; }
- if (b->content_types == NULL) {
- if (b->transform == RAW) {
- b->content_types = new_sl(xstrdup(""), NULL);
- } else {
- b->content_types = new_sl(xstrdup("text"), NULL);
- }
+ default:
+ break;
}
- if (b->offset == -1) { b->offset = 0; }
- if (b->comparator == NULL) { b->comparator = xstrdup("i;ascii-casemap"); }
- if (b->comptag == -1) { b->comptag = IS; }
- return b;
}
-static void free_btags(struct btags *b)
-{
- if (b->content_types) { free_sl(b->content_types); }
- free(b->comparator);
- free(b);
-}
+/* Prevent warnings from -Wmissing-prototypes. */
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
-static struct vtags *new_vtags(void)
-{
- struct vtags *r = (struct vtags *) xmalloc(sizeof(struct vtags));
- r->days = -1;
- r->addresses = NULL;
- r->subject = NULL;
- r->from = NULL;
- r->handle = NULL;
- r->mime = -1;
+/* The lookahead symbol. */
+int yychar;
- return r;
-}
+/* The semantic value of the lookahead symbol. */
+YYSTYPE yylval;
-static struct vtags *canon_vtags(struct vtags *v)
-{
- assert(parse_script->interp.vacation != NULL);
+/* Number of syntax errors so far. */
+int yynerrs;
- if (v->days == -1) { v->days = 7; }
- if (v->days < parse_script->interp.vacation->min_response)
- { v->days = parse_script->interp.vacation->min_response; }
- if (v->days > parse_script->interp.vacation->max_response)
- { v->days = parse_script->interp.vacation->max_response; }
- if (v->mime == -1) { v->mime = 0; }
- return v;
-}
-static void free_vtags(struct vtags *v)
-{
- if (v->addresses) { free_sl(v->addresses); }
- if (v->subject) { free(v->subject); }
- if (v->from) { free(v->from); }
- if (v->handle) { free(v->handle); }
- free(v);
-}
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
-static struct ntags *new_ntags(void)
+#ifdef YYPARSE_PARAM
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void *YYPARSE_PARAM)
+#else
+int
+yyparse (YYPARSE_PARAM)
+ void *YYPARSE_PARAM;
+#endif
+#else /* ! YYPARSE_PARAM */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
{
- struct ntags *r = (struct ntags *) xmalloc(sizeof(struct ntags));
- r->method = NULL;
- r->id = NULL;
- r->options = NULL;
- r->priority = -1;
- r->message = NULL;
- return r;
-}
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
-static struct ntags *canon_ntags(struct ntags *n)
-{
- if (n->priority == -1) { n->priority = NORMAL; }
- if (n->message == NULL) { n->message = xstrdup("$from$: $subject$"); }
- if (n->method == NULL) { n->method = xstrdup("default"); }
- return n;
-}
-static struct dtags *canon_dtags(struct dtags *d)
-{
- if (d->priority == -1) { d->priority = ANY; }
- if (d->comptag == -1) { d->comptag = ANY; }
- return d;
-}
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
-static void free_ntags(struct ntags *n)
-{
- if (n->method) { free(n->method); }
- if (n->id) { free(n->id); }
- if (n->options) { free_sl(n->options); }
- if (n->message) { free(n->message); }
- free(n);
-}
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
-static struct dtags *new_dtags(void)
-{
- struct dtags *r = (struct dtags *) xmalloc(sizeof(struct dtags));
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
- r->comptag = r->priority= r->relation = -1;
- r->pattern = NULL;
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
- return r;
-}
+ YYSIZE_T yystacksize;
-static void free_dtags(struct dtags *d)
-{
- if (d->pattern) free(d->pattern);
- free(d);
-}
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
-static int verify_stringlist(stringlist_t *sl, int (*verify)(char *))
-{
- for (; sl != NULL && verify(sl->s); sl = sl->next) ;
- return (sl == NULL);
-}
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
-char *addrptr; /* pointer to address string for address lexer */
-char addrerr[500]; /* buffer for address parser error messages */
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
-static int verify_address(char *s)
-{
- addrptr = s;
- addrerr[0] = '\0'; /* paranoia */
- if (addrparse()) {
- snprintf(errbuf, ERR_BUF_SIZE,
- "address '%s': %s", s, addrerr);
- yyerror(errbuf);
- return 0;
- }
- return 1;
-}
+ /* The number of symbols on the RHS of the reduced rule.
+ Keep to zero when no symbol should be popped. */
+ int yylen = 0;
-static int verify_mailbox(char *s)
-{
- if (!verify_utf8(s)) return 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
- /* xxx if not a mailbox, call yyerror */
- return 1;
-}
+ YYDPRINTF ((stderr, "Starting parse\n"));
-static int verify_header(char *hdr)
-{
- char *h = hdr;
+ yystate = 0;
+ yyerrstatus = 0;
+ yynerrs = 0;
+ yychar = YYEMPTY; /* Cause a token to be read. */
- while (*h) {
- /* field-name = 1*ftext
- ftext = %d33-57 / %d59-126
- ; Any character except
- ; controls, SP, and
- ; ":". */
- if (!((*h >= 33 && *h <= 57) || (*h >= 59 && *h <= 126))) {
- snprintf(errbuf, ERR_BUF_SIZE,
- "header '%s': not a valid header", hdr);
- yyerror(errbuf);
- return 0;
- }
- h++;
+ /* Initialize stack pointers.
+ Waste one element of value and location stack
+ so that they stay on the same level as the state stack.
+ The wasted elements are never initialized. */
+ yyssp = yyss;
+ yyvsp = yyvs;
+
+ goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+ yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. So pushing a state here evens the stacks. */
+ yyssp++;
+
+ yysetstate:
+ *yyssp = yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ yytype_int16 *yyss1 = yyss;
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow (YY_("memory exhausted"),
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyexhaustedlab;
+# else
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyexhaustedlab;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ {
+ yytype_int16 *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyexhaustedlab;
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+# endif
+#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
}
- return 1;
-}
-
-static int verify_addrheader(char *hdr)
-{
- const char **h, *hdrs[] = {
- "from", "sender", "reply-to", /* RFC2822 originator fields */
- "to", "cc", "bcc", /* RFC2822 destination fields */
- "resent-from", "resent-sender", /* RFC2822 resent fields */
- "resent-to", "resent-cc", "resent-bcc",
- "return-path", /* RFC2822 trace fields */
- "disposition-notification-to", /* RFC2298 MDN request fields */
- "delivered-to", /* non-standard (loop detection) */
- "approved", /* RFC1036 moderator/control fields */
- NULL
- };
-
- if (!config_getswitch(IMAPOPT_RFC3028_STRICT))
- return verify_header(hdr);
-
- for (lcase(hdr), h = hdrs; *h; h++) {
- if (!strcmp(*h, hdr)) return 1;
- }
-
- snprintf(errbuf, ERR_BUF_SIZE,
- "header '%s': not a valid header for an address test", hdr);
- yyerror(errbuf);
- return 0;
-}
-
-static int verify_envelope(char *env)
-{
- lcase(env);
- if (!config_getswitch(IMAPOPT_RFC3028_STRICT) ||
- !strcmp(env, "from") || !strcmp(env, "to") || !strcmp(env, "auth")) {
- return 1;
- }
-
- snprintf(errbuf, ERR_BUF_SIZE,
- "env-part '%s': not a valid part for an envelope test", env);
- yyerror(errbuf);
- return 0;
-}
-
-static int verify_relat(char *r)
-{/* this really should have been a token to begin with.*/
- lcase(r);
- if (!strcmp(r, "gt")) {return GT;}
- else if (!strcmp(r, "ge")) {return GE;}
- else if (!strcmp(r, "lt")) {return LT;}
- else if (!strcmp(r, "le")) {return LE;}
- else if (!strcmp(r, "ne")) {return NE;}
- else if (!strcmp(r, "eq")) {return EQ;}
- else{
- snprintf(errbuf, ERR_BUF_SIZE,
- "flag '%s': not a valid relational operation", r);
- yyerror(errbuf);
- return -1;
- }
-
-}
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+ goto yybackup;
-static int verify_flag(char *f)
-{
- if (f[0] == '\\') {
- lcase(f);
- if (strcmp(f, "\\seen") && strcmp(f, "\\answered") &&
- strcmp(f, "\\flagged") && strcmp(f, "\\draft") &&
- strcmp(f, "\\deleted")) {
- snprintf(errbuf, ERR_BUF_SIZE,
- "flag '%s': not a system flag", f);
- yyerror(errbuf);
- return 0;
- }
- return 1;
- }
- if (!imparse_isatom(f)) {
- snprintf(errbuf, ERR_BUF_SIZE,
- "flag '%s': not a valid keyword", f);
- yyerror(errbuf);
- return 0;
- }
- return 1;
-}
-
-#ifdef ENABLE_REGEX
-static int verify_regex(char *s, int cflags)
-{
- int ret;
- regex_t *reg = (regex_t *) xmalloc(sizeof(regex_t));
+/*-----------.
+| yybackup. |
+`-----------*/
+yybackup:
-#ifdef HAVE_PCREPOSIX_H
- /* support UTF8 comparisons */
- cflags |= REG_UTF8;
-#endif
+ /* Do appropriate processing given the current state. Read a
+ lookahead token if we need one and don't already have one. */
- if ((ret = regcomp(reg, s, cflags)) != 0) {
- (void) regerror(ret, reg, errbuf, ERR_BUF_SIZE);
- yyerror(errbuf);
- free(reg);
- return 0;
- }
- free(reg);
- return 1;
-}
+ /* First try to decide what to do without reference to lookahead token. */
+ yyn = yypact[yystate];
+ if (yyn == YYPACT_NINF)
+ goto yydefault;
-static int verify_regexs(stringlist_t *sl, char *comp)
-{
- stringlist_t *sl2;
- int cflags = REG_EXTENDED | REG_NOSUB;
-
+ /* Not known => get a lookahead token if don't already have one. */
- if (!strcmp(comp, "i;ascii-casemap")) {
- cflags |= REG_ICASE;
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = YYLEX;
}
- for (sl2 = sl; sl2 != NULL; sl2 = sl2->next) {
- if ((verify_regex(sl2->s, cflags)) == 0) {
- break;
- }
- }
- if (sl2 == NULL) {
- return 1;
+ if (yychar <= YYEOF)
+ {
+ yychar = yytoken = YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
}
- return 0;
-}
-#endif
-
-/*
- * Valid UTF-8 check (from RFC 2640 Annex B.1)
- *
- * The following routine checks if a byte sequence is valid UTF-8. This
- * is done by checking for the proper tagging of the first and following
- * bytes to make sure they conform to the UTF-8 format. It then checks
- * to assure that the data part of the UTF-8 sequence conforms to the
- * proper range allowed by the encoding. Note: This routine will not
- * detect characters that have not been assigned and therefore do not
- * exist.
- */
-static int verify_utf8(char *s)
-{
- const char *buf = s;
- const char *endbuf = s + strlen(s);
- unsigned char byte2mask = 0x00, c;
- int trailing = 0; /* trailing (continuation) bytes to follow */
-
- while (buf != endbuf) {
- c = *buf++;
- if (trailing) {
- if ((c & 0xC0) == 0x80) { /* Does trailing byte
- follow UTF-8 format? */
- if (byte2mask) { /* Need to check 2nd byte
- for proper range? */
- if (c & byte2mask) /* Are appropriate bits set? */
- byte2mask = 0x00;
- else
- break;
- }
- trailing--;
- }
- else
- break;
- }
- else {
- if ((c & 0x80) == 0x00) /* valid 1 byte UTF-8 */
- continue;
- else if ((c & 0xE0) == 0xC0) /* valid 2 byte UTF-8 */
- if (c & 0x1E) { /* Is UTF-8 byte
- in proper range? */
- trailing = 1;
- }
- else
- break;
- else if ((c & 0xF0) == 0xE0) { /* valid 3 byte UTF-8 */
- if (!(c & 0x0F)) { /* Is UTF-8 byte
- in proper range? */
- byte2mask = 0x20; /* If not, set mask
- to check next byte */
- }
- trailing = 2;
- }
- else if ((c & 0xF8) == 0xF0) { /* valid 4 byte UTF-8 */
- if (!(c & 0x07)) { /* Is UTF-8 byte
- in proper range? */
- byte2mask = 0x30; /* If not, set mask
- to check next byte */
- }
- trailing = 3;
- }
- else if ((c & 0xFC) == 0xF8) { /* valid 5 byte UTF-8 */
- if (!(c & 0x03)) { /* Is UTF-8 byte
- in proper range? */
- byte2mask = 0x38; /* If not, set mask
- to check next byte */
- }
- trailing = 4;
- }
- else if ((c & 0xFE) == 0xFC) { /* valid 6 byte UTF-8 */
- if (!(c & 0x01)) { /* Is UTF-8 byte
- in proper range? */
- byte2mask = 0x3C; /* If not, set mask
- to check next byte */
- }
- trailing = 5;
- }
- else
- break;
- }
+ else
+ {
+ yytoken = YYTRANSLATE (yychar);
+ YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
}
- if ((buf != endbuf) || trailing) {
- snprintf(errbuf, ERR_BUF_SIZE,
- "string '%s': not valid utf8", s);
- yyerror(errbuf);
- return 0;
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0)
+ {
+ if (yyn == 0 || yyn == YYTABLE_NINF)
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
}
- return 1;
-}
-#line 1290 "y.tab.c"
-
-#if YYDEBUG
-#include /* needed for printf */
-#endif
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
-#include /* needed for malloc, etc */
-#include /* needed for memset */
+ /* Shift the lookahead token. */
+ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
-/* allocate initial stack or double stack size, up to YYMAXDEPTH */
-static int yygrowstack(YYSTACKDATA *data)
-{
- int i;
- unsigned newsize;
- short *newss;
- YYSTYPE *newvs;
-
- if ((newsize = data->stacksize) == 0)
- newsize = YYINITSTACKSIZE;
- else if (newsize >= YYMAXDEPTH)
- return -1;
- else if ((newsize *= 2) > YYMAXDEPTH)
- newsize = YYMAXDEPTH;
-
- i = data->s_mark - data->s_base;
- newss = (data->s_base != 0)
- ? (short *)realloc(data->s_base, newsize * sizeof(*newss))
- : (short *)malloc(newsize * sizeof(*newss));
- if (newss == 0)
- return -1;
-
- data->s_base = newss;
- data->s_mark = newss + i;
-
- newvs = (data->l_base != 0)
- ? (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs))
- : (YYSTYPE *)malloc(newsize * sizeof(*newvs));
- if (newvs == 0)
- return -1;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
- data->l_base = newvs;
- data->l_mark = newvs + i;
+ yystate = yyn;
+ *++yyvsp = yylval;
- data->stacksize = newsize;
- data->s_last = data->s_base + newsize - 1;
- return 0;
-}
+ goto yynewstate;
-#if YYPURE || defined(YY_NO_LEAKS)
-static void yyfreestack(YYSTACKDATA *data)
-{
- free(data->s_base);
- free(data->l_base);
- memset(data, 0, sizeof(*data));
-}
-#else
-#define yyfreestack(data) /* nothing */
-#endif
-#define YYABORT goto yyabort
-#define YYREJECT goto yyabort
-#define YYACCEPT goto yyaccept
-#define YYERROR goto yyerrlab
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state. |
+`-----------------------------------------------------------*/
+yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
+ goto yyreduce;
-int
-YYPARSE_DECL()
-{
- int yym, yyn, yystate;
-#if YYDEBUG
- const char *yys;
- if ((yys = getenv("YYDEBUG")) != 0)
- {
- yyn = *yys;
- if (yyn >= '0' && yyn <= '9')
- yydebug = yyn - '0';
- }
-#endif
+/*-----------------------------.
+| yyreduce -- Do a reduction. |
+`-----------------------------*/
+yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
- yynerrs = 0;
- yyerrflag = 0;
- yychar = YYEMPTY;
- yystate = 0;
+ /* If YYLEN is nonzero, implement the default value of the action:
+ `$$ = $1'.
-#if YYPURE
- memset(&yystack, 0, sizeof(yystack));
-#endif
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
- if (yystack.s_base == NULL && yygrowstack(&yystack)) goto yyoverflow;
- yystack.s_mark = yystack.s_base;
- yystack.l_mark = yystack.l_base;
- yystate = 0;
- *yystack.s_mark = 0;
-yyloop:
- if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
- if (yychar < 0)
- {
- if ((yychar = YYLEX) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
-#endif
- }
- if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, shifting to state %d\n",
- YYPREFIX, yystate, yytable[yyn]);
-#endif
- if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack))
- {
- goto yyoverflow;
- }
- yystate = yytable[yyn];
- *++yystack.s_mark = yytable[yyn];
- *++yystack.l_mark = yylval;
- yychar = YYEMPTY;
- if (yyerrflag > 0) --yyerrflag;
- goto yyloop;
- }
- if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
{
- yyn = yytable[yyn];
- goto yyreduce;
- }
- if (yyerrflag) goto yyinrecovery;
+ case 2:
- yyerror("syntax error");
+/* Line 1455 of yacc.c */
+#line 222 "sieve.y"
+ { ret = NULL; }
+ break;
- goto yyerrlab;
+ case 3:
-yyerrlab:
- ++yynerrs;
+/* Line 1455 of yacc.c */
+#line 223 "sieve.y"
+ { ret = (yyvsp[(2) - (2)].cl); }
+ break;
-yyinrecovery:
- if (yyerrflag < 3)
- {
- yyerrflag = 3;
- for (;;)
- {
- if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, error recovery shifting\
- to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]);
-#endif
- if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack))
- {
- goto yyoverflow;
- }
- yystate = yytable[yyn];
- *++yystack.s_mark = yytable[yyn];
- *++yystack.l_mark = yylval;
- goto yyloop;
- }
- else
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: error recovery discarding state %d\n",
- YYPREFIX, *yystack.s_mark);
-#endif
- if (yystack.s_mark <= yystack.s_base) goto yyabort;
- --yystack.s_mark;
- --yystack.l_mark;
- }
- }
- }
- else
- {
- if (yychar == 0) goto yyabort;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
-#endif
- yychar = YYEMPTY;
- goto yyloop;
- }
+ case 6:
-yyreduce:
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, reducing by rule %d (%s)\n",
- YYPREFIX, yystate, yyn, yyrule[yyn]);
-#endif
- yym = yylen[yyn];
- if (yym)
- yyval = yystack.l_mark[1-yym];
- else
- memset(&yyval, 0, sizeof yyval);
- switch (yyn)
- {
-case 1:
-#line 222 "sieve.y"
- { ret = NULL; }
-break;
-case 2:
-#line 223 "sieve.y"
- { ret = yystack.l_mark[0].cl; }
-break;
-case 5:
+/* Line 1455 of yacc.c */
#line 230 "sieve.y"
- { char *err = check_reqs(yystack.l_mark[-1].sl);
+ { char *err = check_reqs((yyvsp[(2) - (3)].sl));
if (err) {
yyerror(err);
free(err);
YYERROR;
} }
-break;
-case 6:
+ break;
+
+ case 7:
+
+/* Line 1455 of yacc.c */
#line 238 "sieve.y"
- { yyval.cl = yystack.l_mark[0].cl; }
-break;
-case 7:
+ { (yyval.cl) = (yyvsp[(1) - (1)].cl); }
+ break;
+
+ case 8:
+
+/* Line 1455 of yacc.c */
#line 239 "sieve.y"
- { yystack.l_mark[-1].cl->next = yystack.l_mark[0].cl; yyval.cl = yystack.l_mark[-1].cl; }
-break;
-case 8:
+ { (yyvsp[(1) - (2)].cl)->next = (yyvsp[(2) - (2)].cl); (yyval.cl) = (yyvsp[(1) - (2)].cl); }
+ break;
+
+ case 9:
+
+/* Line 1455 of yacc.c */
#line 242 "sieve.y"
- { yyval.cl = yystack.l_mark[-1].cl; }
-break;
-case 9:
+ { (yyval.cl) = (yyvsp[(1) - (2)].cl); }
+ break;
+
+ case 10:
+
+/* Line 1455 of yacc.c */
#line 243 "sieve.y"
- { yyval.cl = new_if(yystack.l_mark[-2].test, yystack.l_mark[-1].cl, yystack.l_mark[0].cl); }
-break;
-case 10:
+ { (yyval.cl) = new_if((yyvsp[(2) - (4)].test), (yyvsp[(3) - (4)].cl), (yyvsp[(4) - (4)].cl)); }
+ break;
+
+ case 11:
+
+/* Line 1455 of yacc.c */
#line 244 "sieve.y"
- { yyval.cl = new_command(STOP); }
-break;
-case 11:
+ { (yyval.cl) = new_command(STOP); }
+ break;
+
+ case 12:
+
+/* Line 1455 of yacc.c */
#line 247 "sieve.y"
- { yyval.cl = NULL; }
-break;
-case 12:
+ { (yyval.cl) = NULL; }
+ break;
+
+ case 13:
+
+/* Line 1455 of yacc.c */
#line 248 "sieve.y"
- { yyval.cl = new_if(yystack.l_mark[-2].test, yystack.l_mark[-1].cl, yystack.l_mark[0].cl); }
-break;
-case 13:
+ { (yyval.cl) = new_if((yyvsp[(2) - (4)].test), (yyvsp[(3) - (4)].cl), (yyvsp[(4) - (4)].cl)); }
+ break;
+
+ case 14:
+
+/* Line 1455 of yacc.c */
#line 249 "sieve.y"
- { yyval.cl = yystack.l_mark[0].cl; }
-break;
-case 14:
+ { (yyval.cl) = (yyvsp[(2) - (2)].cl); }
+ break;
+
+ case 15:
+
+/* Line 1455 of yacc.c */
#line 252 "sieve.y"
- { if (!parse_script->support.reject) {
+ { if (!parse_script->support.reject) {
yyerror("reject MUST be enabled with \"require\"");
YYERROR;
}
- if (!verify_utf8(yystack.l_mark[0].sval)) {
+ if (!verify_utf8((yyvsp[(2) - (2)].sval))) {
YYERROR; /* vu should call yyerror() */
}
- yyval.cl = new_command(REJCT);
- yyval.cl->u.str = yystack.l_mark[0].sval; }
-break;
-case 15:
+ (yyval.cl) = new_command(REJCT);
+ (yyval.cl)->u.str = (yyvsp[(2) - (2)].sval); }
+ break;
+
+ case 16:
+
+/* Line 1455 of yacc.c */
#line 261 "sieve.y"
- { if (!parse_script->support.fileinto) {
+ { if (!parse_script->support.fileinto) {
yyerror("fileinto MUST be enabled with \"require\"");
YYERROR;
}
- if (!verify_mailbox(yystack.l_mark[0].sval)) {
+ if (!verify_mailbox((yyvsp[(3) - (3)].sval))) {
YYERROR; /* vm should call yyerror() */
}
- yyval.cl = build_fileinto(FILEINTO, yystack.l_mark[-1].nval, yystack.l_mark[0].sval); }
-break;
-case 16:
+ (yyval.cl) = build_fileinto(FILEINTO, (yyvsp[(2) - (3)].nval), (yyvsp[(3) - (3)].sval)); }
+ break;
+
+ case 17:
+
+/* Line 1455 of yacc.c */
#line 269 "sieve.y"
- { if (!verify_address(yystack.l_mark[0].sval)) {
+ { if (!verify_address((yyvsp[(3) - (3)].sval))) {
YYERROR; /* va should call yyerror() */
}
- yyval.cl = build_redirect(REDIRECT, yystack.l_mark[-1].nval, yystack.l_mark[0].sval); }
-break;
-case 17:
+ (yyval.cl) = build_redirect(REDIRECT, (yyvsp[(2) - (3)].nval), (yyvsp[(3) - (3)].sval)); }
+ break;
+
+ case 18:
+
+/* Line 1455 of yacc.c */
#line 273 "sieve.y"
- { yyval.cl = new_command(KEEP); }
-break;
-case 18:
+ { (yyval.cl) = new_command(KEEP); }
+ break;
+
+ case 19:
+
+/* Line 1455 of yacc.c */
#line 274 "sieve.y"
- { yyval.cl = new_command(STOP); }
-break;
-case 19:
+ { (yyval.cl) = new_command(STOP); }
+ break;
+
+ case 20:
+
+/* Line 1455 of yacc.c */
#line 275 "sieve.y"
- { yyval.cl = new_command(DISCARD); }
-break;
-case 20:
+ { (yyval.cl) = new_command(DISCARD); }
+ break;
+
+ case 21:
+
+/* Line 1455 of yacc.c */
#line 276 "sieve.y"
- { if (!parse_script->support.vacation) {
+ { if (!parse_script->support.vacation) {
yyerror("vacation MUST be enabled with \"require\"");
YYERROR;
}
- if ((yystack.l_mark[-1].vtag->mime == -1) && !verify_utf8(yystack.l_mark[0].sval)) {
+ if (((yyvsp[(2) - (3)].vtag)->mime == -1) && !verify_utf8((yyvsp[(3) - (3)].sval))) {
YYERROR; /* vu should call yyerror() */
}
- yyval.cl = build_vacation(VACATION,
- canon_vtags(yystack.l_mark[-1].vtag), yystack.l_mark[0].sval); }
-break;
-case 21:
+ (yyval.cl) = build_vacation(VACATION,
+ canon_vtags((yyvsp[(2) - (3)].vtag)), (yyvsp[(3) - (3)].sval)); }
+ break;
+
+ case 22:
+
+/* Line 1455 of yacc.c */
#line 285 "sieve.y"
- { if (!parse_script->support.imapflags) {
+ { if (!parse_script->support.imapflags) {
yyerror("imapflags MUST be enabled with \"require\"");
YYERROR;
}
- if (!verify_stringlist(yystack.l_mark[0].sl, verify_flag)) {
+ if (!verify_stringlist((yyvsp[(2) - (2)].sl), verify_flag)) {
YYERROR; /* vf should call yyerror() */
}
- yyval.cl = new_command(SETFLAG);
- yyval.cl->u.sl = yystack.l_mark[0].sl; }
-break;
-case 22:
+ (yyval.cl) = new_command(SETFLAG);
+ (yyval.cl)->u.sl = (yyvsp[(2) - (2)].sl); }
+ break;
+
+ case 23:
+
+/* Line 1455 of yacc.c */
#line 294 "sieve.y"
- { if (!parse_script->support.imapflags) {
+ { if (!parse_script->support.imapflags) {
yyerror("imapflags MUST be enabled with \"require\"");
YYERROR;
}
- if (!verify_stringlist(yystack.l_mark[0].sl, verify_flag)) {
+ if (!verify_stringlist((yyvsp[(2) - (2)].sl), verify_flag)) {
YYERROR; /* vf should call yyerror() */
}
- yyval.cl = new_command(ADDFLAG);
- yyval.cl->u.sl = yystack.l_mark[0].sl; }
-break;
-case 23:
+ (yyval.cl) = new_command(ADDFLAG);
+ (yyval.cl)->u.sl = (yyvsp[(2) - (2)].sl); }
+ break;
+
+ case 24:
+
+/* Line 1455 of yacc.c */
#line 303 "sieve.y"
- { if (!parse_script->support.imapflags) {
+ { if (!parse_script->support.imapflags) {
yyerror("imapflags MUST be enabled with \"require\"");
YYERROR;
}
- if (!verify_stringlist(yystack.l_mark[0].sl, verify_flag)) {
+ if (!verify_stringlist((yyvsp[(2) - (2)].sl), verify_flag)) {
YYERROR; /* vf should call yyerror() */
}
- yyval.cl = new_command(REMOVEFLAG);
- yyval.cl->u.sl = yystack.l_mark[0].sl; }
-break;
-case 24:
+ (yyval.cl) = new_command(REMOVEFLAG);
+ (yyval.cl)->u.sl = (yyvsp[(2) - (2)].sl); }
+ break;
+
+ case 25:
+
+/* Line 1455 of yacc.c */
#line 312 "sieve.y"
- { if (!parse_script->support.imapflags) {
+ { if (!parse_script->support.imapflags) {
yyerror("imapflags MUST be enabled with \"require\"");
YYERROR;
}
- yyval.cl = new_command(MARK); }
-break;
-case 25:
+ (yyval.cl) = new_command(MARK); }
+ break;
+
+ case 26:
+
+/* Line 1455 of yacc.c */
#line 317 "sieve.y"
- { if (!parse_script->support.imapflags) {
+ { if (!parse_script->support.imapflags) {
yyerror("imapflags MUST be enabled with \"require\"");
YYERROR;
}
- yyval.cl = new_command(UNMARK); }
-break;
-case 26:
+ (yyval.cl) = new_command(UNMARK); }
+ break;
+
+ case 27:
+
+/* Line 1455 of yacc.c */
#line 323 "sieve.y"
- { if (!parse_script->support.notify) {
+ { if (!parse_script->support.notify) {
yyerror("notify MUST be enabled with \"require\"");
- yyval.cl = new_command(NOTIFY);
+ (yyval.cl) = new_command(NOTIFY);
YYERROR;
} else {
- yyval.cl = build_notify(NOTIFY,
- canon_ntags(yystack.l_mark[0].ntag));
+ (yyval.cl) = build_notify(NOTIFY,
+ canon_ntags((yyvsp[(2) - (2)].ntag)));
} }
-break;
-case 27:
+ break;
+
+ case 28:
+
+/* Line 1455 of yacc.c */
#line 331 "sieve.y"
- { if (!parse_script->support.notify) {
+ { if (!parse_script->support.notify) {
yyerror("notify MUST be enabled with \"require\"");
- yyval.cl = new_command(DENOTIFY);
+ (yyval.cl) = new_command(DENOTIFY);
YYERROR;
} else {
- yyval.cl = build_denotify(DENOTIFY, canon_dtags(yystack.l_mark[0].dtag));
- if (yyval.cl == NULL) {
+ (yyval.cl) = build_denotify(DENOTIFY, canon_dtags((yyvsp[(2) - (2)].dtag)));
+ if ((yyval.cl) == NULL) {
yyerror("unable to find a compatible comparator");
YYERROR; } } }
-break;
-case 28:
+ break;
+
+ case 29:
+
+/* Line 1455 of yacc.c */
#line 341 "sieve.y"
- { if (!parse_script->support.include) {
+ { if (!parse_script->support.include) {
yyerror("include MUST be enabled with \"require\"");
YYERROR;
}
- yyval.cl = new_command(INCLUDE);
- yyval.cl->u.inc.location = yystack.l_mark[-1].nval;
- yyval.cl->u.inc.script = yystack.l_mark[0].sval; }
-break;
-case 29:
+ (yyval.cl) = new_command(INCLUDE);
+ (yyval.cl)->u.inc.location = (yyvsp[(2) - (3)].nval);
+ (yyval.cl)->u.inc.script = (yyvsp[(3) - (3)].sval); }
+ break;
+
+ case 30:
+
+/* Line 1455 of yacc.c */
#line 348 "sieve.y"
- { if (!parse_script->support.include) {
+ { if (!parse_script->support.include) {
yyerror("include MUST be enabled with \"require\"");
YYERROR;
}
- yyval.cl = new_command(RETURN); }
-break;
-case 30:
+ (yyval.cl) = new_command(RETURN); }
+ break;
+
+ case 31:
+
+/* Line 1455 of yacc.c */
#line 355 "sieve.y"
- { yyval.nval = PERSONAL; }
-break;
-case 31:
+ { (yyval.nval) = PERSONAL; }
+ break;
+
+ case 32:
+
+/* Line 1455 of yacc.c */
#line 356 "sieve.y"
- { yyval.nval = PERSONAL; }
-break;
-case 32:
+ { (yyval.nval) = PERSONAL; }
+ break;
+
+ case 33:
+
+/* Line 1455 of yacc.c */
#line 357 "sieve.y"
- { yyval.nval = GLOBAL; }
-break;
-case 33:
+ { (yyval.nval) = GLOBAL; }
+ break;
+
+ case 34:
+
+/* Line 1455 of yacc.c */
#line 360 "sieve.y"
- { yyval.ntag = new_ntags(); }
-break;
-case 34:
+ { (yyval.ntag) = new_ntags(); }
+ break;
+
+ case 35:
+
+/* Line 1455 of yacc.c */
#line 361 "sieve.y"
- { if (yyval.ntag->id != NULL) {
+ { if ((yyval.ntag)->id != NULL) {
yyerror("duplicate :method"); YYERROR; }
- else { yyval.ntag->id = yystack.l_mark[0].sval; } }
-break;
-case 35:
+ else { (yyval.ntag)->id = (yyvsp[(3) - (3)].sval); } }
+ break;
+
+ case 36:
+
+/* Line 1455 of yacc.c */
#line 364 "sieve.y"
- { if (yyval.ntag->method != NULL) {
+ { if ((yyval.ntag)->method != NULL) {
yyerror("duplicate :method"); YYERROR; }
- else { yyval.ntag->method = yystack.l_mark[0].sval; } }
-break;
-case 36:
+ else { (yyval.ntag)->method = (yyvsp[(3) - (3)].sval); } }
+ break;
+
+ case 37:
+
+/* Line 1455 of yacc.c */
#line 367 "sieve.y"
- { if (yyval.ntag->options != NULL) {
+ { if ((yyval.ntag)->options != NULL) {
yyerror("duplicate :options"); YYERROR; }
- else { yyval.ntag->options = yystack.l_mark[0].sl; } }
-break;
-case 37:
+ else { (yyval.ntag)->options = (yyvsp[(3) - (3)].sl); } }
+ break;
+
+ case 38:
+
+/* Line 1455 of yacc.c */
#line 370 "sieve.y"
- { if (yyval.ntag->priority != -1) {
+ { if ((yyval.ntag)->priority != -1) {
yyerror("duplicate :priority"); YYERROR; }
- else { yyval.ntag->priority = yystack.l_mark[0].nval; } }
-break;
-case 38:
+ else { (yyval.ntag)->priority = (yyvsp[(2) - (2)].nval); } }
+ break;
+
+ case 39:
+
+/* Line 1455 of yacc.c */
#line 373 "sieve.y"
- { if (yyval.ntag->message != NULL) {
+ { if ((yyval.ntag)->message != NULL) {
yyerror("duplicate :message"); YYERROR; }
- else { yyval.ntag->message = yystack.l_mark[0].sval; } }
-break;
-case 39:
+ else { (yyval.ntag)->message = (yyvsp[(3) - (3)].sval); } }
+ break;
+
+ case 40:
+
+/* Line 1455 of yacc.c */
#line 378 "sieve.y"
- { yyval.dtag = new_dtags(); }
-break;
-case 40:
+ { (yyval.dtag) = new_dtags(); }
+ break;
+
+ case 41:
+
+/* Line 1455 of yacc.c */
#line 379 "sieve.y"
- { if (yyval.dtag->priority != -1) {
+ { if ((yyval.dtag)->priority != -1) {
yyerror("duplicate priority level"); YYERROR; }
- else { yyval.dtag->priority = yystack.l_mark[0].nval; } }
-break;
-case 41:
+ else { (yyval.dtag)->priority = (yyvsp[(2) - (2)].nval); } }
+ break;
+
+ case 42:
+
+/* Line 1455 of yacc.c */
#line 382 "sieve.y"
- { if (yyval.dtag->comptag != -1)
+ { if ((yyval.dtag)->comptag != -1)
{
yyerror("duplicate comparator type tag"); YYERROR;
}
- yyval.dtag->comptag = yystack.l_mark[-1].nval;
+ (yyval.dtag)->comptag = (yyvsp[(2) - (3)].nval);
#ifdef ENABLE_REGEX
- if (yyval.dtag->comptag == REGEX)
+ if ((yyval.dtag)->comptag == REGEX)
{
int cflags = REG_EXTENDED |
REG_NOSUB | REG_ICASE;
- if (!verify_regex(yystack.l_mark[0].sval, cflags)) { YYERROR; }
+ if (!verify_regex((yyvsp[(3) - (3)].sval), cflags)) { YYERROR; }
}
#endif
- yyval.dtag->pattern = yystack.l_mark[0].sval;
+ (yyval.dtag)->pattern = (yyvsp[(3) - (3)].sval);
}
-break;
-case 42:
+ break;
+
+ case 43:
+
+/* Line 1455 of yacc.c */
#line 397 "sieve.y"
- { yyval.dtag = yystack.l_mark[-2].dtag;
- if (yyval.dtag->comptag != -1) {
+ { (yyval.dtag) = (yyvsp[(1) - (3)].dtag);
+ if ((yyval.dtag)->comptag != -1) {
yyerror("duplicate comparator type tag"); YYERROR; }
- else { yyval.dtag->comptag = yystack.l_mark[-1].nval;
- yyval.dtag->relation = verify_relat(yystack.l_mark[0].sval);
- if (yyval.dtag->relation==-1)
+ else { (yyval.dtag)->comptag = (yyvsp[(2) - (3)].nval);
+ (yyval.dtag)->relation = verify_relat((yyvsp[(3) - (3)].sval));
+ if ((yyval.dtag)->relation==-1)
{YYERROR; /*vr called yyerror()*/ }
} }
-break;
-case 43:
+ break;
+
+ case 44:
+
+/* Line 1455 of yacc.c */
#line 407 "sieve.y"
- { yyval.nval = LOW; }
-break;
-case 44:
+ { (yyval.nval) = LOW; }
+ break;
+
+ case 45:
+
+/* Line 1455 of yacc.c */
#line 408 "sieve.y"
- { yyval.nval = NORMAL; }
-break;
-case 45:
+ { (yyval.nval) = NORMAL; }
+ break;
+
+ case 46:
+
+/* Line 1455 of yacc.c */
#line 409 "sieve.y"
- { yyval.nval = HIGH; }
-break;
-case 46:
+ { (yyval.nval) = HIGH; }
+ break;
+
+ case 47:
+
+/* Line 1455 of yacc.c */
#line 412 "sieve.y"
- { yyval.vtag = new_vtags(); }
-break;
-case 47:
+ { (yyval.vtag) = new_vtags(); }
+ break;
+
+ case 48:
+
+/* Line 1455 of yacc.c */
#line 413 "sieve.y"
- { if (yyval.vtag->days != -1) {
+ { if ((yyval.vtag)->days != -1) {
yyerror("duplicate :days"); YYERROR; }
- else { yyval.vtag->days = yystack.l_mark[0].nval; } }
-break;
-case 48:
+ else { (yyval.vtag)->days = (yyvsp[(3) - (3)].nval); } }
+ break;
+
+ case 49:
+
+/* Line 1455 of yacc.c */
#line 416 "sieve.y"
- { if (yyval.vtag->addresses != NULL) {
+ { if ((yyval.vtag)->addresses != NULL) {
yyerror("duplicate :addresses");
YYERROR;
- } else if (!verify_stringlist(yystack.l_mark[0].sl,
+ } else if (!verify_stringlist((yyvsp[(3) - (3)].sl),
verify_address)) {
YYERROR;
} else {
- yyval.vtag->addresses = yystack.l_mark[0].sl; } }
-break;
-case 49:
+ (yyval.vtag)->addresses = (yyvsp[(3) - (3)].sl); } }
+ break;
+
+ case 50:
+
+/* Line 1455 of yacc.c */
#line 424 "sieve.y"
- { if (yyval.vtag->subject != NULL) {
+ { if ((yyval.vtag)->subject != NULL) {
yyerror("duplicate :subject");
YYERROR;
- } else if (!verify_utf8(yystack.l_mark[0].sval)) {
+ } else if (!verify_utf8((yyvsp[(3) - (3)].sval))) {
YYERROR; /* vu should call yyerror() */
- } else { yyval.vtag->subject = yystack.l_mark[0].sval; } }
-break;
-case 50:
+ } else { (yyval.vtag)->subject = (yyvsp[(3) - (3)].sval); } }
+ break;
+
+ case 51:
+
+/* Line 1455 of yacc.c */
#line 430 "sieve.y"
- { if (yyval.vtag->from != NULL) {
+ { if ((yyval.vtag)->from != NULL) {
yyerror("duplicate :from");
YYERROR;
- } else if (!verify_address(yystack.l_mark[0].sval)) {
+ } else if (!verify_address((yyvsp[(3) - (3)].sval))) {
YYERROR; /* vu should call yyerror() */
- } else { yyval.vtag->from = yystack.l_mark[0].sval; } }
-break;
-case 51:
+ } else { (yyval.vtag)->from = (yyvsp[(3) - (3)].sval); } }
+ break;
+
+ case 52:
+
+/* Line 1455 of yacc.c */
#line 436 "sieve.y"
- { if (yyval.vtag->handle != NULL) {
+ { if ((yyval.vtag)->handle != NULL) {
yyerror("duplicate :handle");
YYERROR;
- } else if (!verify_utf8(yystack.l_mark[0].sval)) {
+ } else if (!verify_utf8((yyvsp[(3) - (3)].sval))) {
YYERROR; /* vu should call yyerror() */
- } else { yyval.vtag->handle = yystack.l_mark[0].sval; } }
-break;
-case 52:
+ } else { (yyval.vtag)->handle = (yyvsp[(3) - (3)].sval); } }
+ break;
+
+ case 53:
+
+/* Line 1455 of yacc.c */
#line 442 "sieve.y"
- { if (yyval.vtag->mime != -1) {
+ { if ((yyval.vtag)->mime != -1) {
yyerror("duplicate :mime");
YYERROR; }
- else { yyval.vtag->mime = MIME; } }
-break;
-case 53:
+ else { (yyval.vtag)->mime = MIME; } }
+ break;
+
+ case 54:
+
+/* Line 1455 of yacc.c */
#line 448 "sieve.y"
- { yyval.sl = sl_reverse(yystack.l_mark[-1].sl); }
-break;
-case 54:
+ { (yyval.sl) = sl_reverse((yyvsp[(2) - (3)].sl)); }
+ break;
+
+ case 55:
+
+/* Line 1455 of yacc.c */
#line 449 "sieve.y"
- { yyval.sl = new_sl(yystack.l_mark[0].sval, NULL); }
-break;
-case 55:
+ { (yyval.sl) = new_sl((yyvsp[(1) - (1)].sval), NULL); }
+ break;
+
+ case 56:
+
+/* Line 1455 of yacc.c */
#line 452 "sieve.y"
- { yyval.sl = new_sl(yystack.l_mark[0].sval, NULL); }
-break;
-case 56:
+ { (yyval.sl) = new_sl((yyvsp[(1) - (1)].sval), NULL); }
+ break;
+
+ case 57:
+
+/* Line 1455 of yacc.c */
#line 453 "sieve.y"
- { yyval.sl = new_sl(yystack.l_mark[0].sval, yystack.l_mark[-2].sl); }
-break;
-case 57:
+ { (yyval.sl) = new_sl((yyvsp[(3) - (3)].sval), (yyvsp[(1) - (3)].sl)); }
+ break;
+
+ case 58:
+
+/* Line 1455 of yacc.c */
#line 456 "sieve.y"
- { yyval.cl = yystack.l_mark[-1].cl; }
-break;
-case 58:
+ { (yyval.cl) = (yyvsp[(2) - (3)].cl); }
+ break;
+
+ case 59:
+
+/* Line 1455 of yacc.c */
#line 457 "sieve.y"
- { yyval.cl = NULL; }
-break;
-case 59:
+ { (yyval.cl) = NULL; }
+ break;
+
+ case 60:
+
+/* Line 1455 of yacc.c */
#line 460 "sieve.y"
- { yyval.test = new_test(ANYOF); yyval.test->u.tl = yystack.l_mark[0].testl; }
-break;
-case 60:
+ { (yyval.test) = new_test(ANYOF); (yyval.test)->u.tl = (yyvsp[(2) - (2)].testl); }
+ break;
+
+ case 61:
+
+/* Line 1455 of yacc.c */
#line 461 "sieve.y"
- { yyval.test = new_test(ALLOF); yyval.test->u.tl = yystack.l_mark[0].testl; }
-break;
-case 61:
+ { (yyval.test) = new_test(ALLOF); (yyval.test)->u.tl = (yyvsp[(2) - (2)].testl); }
+ break;
+
+ case 62:
+
+/* Line 1455 of yacc.c */
#line 462 "sieve.y"
- { yyval.test = new_test(EXISTS); yyval.test->u.sl = yystack.l_mark[0].sl; }
-break;
-case 62:
+ { (yyval.test) = new_test(EXISTS); (yyval.test)->u.sl = (yyvsp[(2) - (2)].sl); }
+ break;
+
+ case 63:
+
+/* Line 1455 of yacc.c */
#line 463 "sieve.y"
- { yyval.test = new_test(SFALSE); }
-break;
-case 63:
+ { (yyval.test) = new_test(SFALSE); }
+ break;
+
+ case 64:
+
+/* Line 1455 of yacc.c */
#line 464 "sieve.y"
- { yyval.test = new_test(STRUE); }
-break;
-case 64:
+ { (yyval.test) = new_test(STRUE); }
+ break;
+
+ case 65:
+
+/* Line 1455 of yacc.c */
#line 466 "sieve.y"
- {
- if (!verify_stringlist(yystack.l_mark[-1].sl, verify_header)) {
+ {
+ if (!verify_stringlist((yyvsp[(3) - (4)].sl), verify_header)) {
YYERROR; /* vh should call yyerror() */
}
- if (!verify_stringlist(yystack.l_mark[0].sl, verify_utf8)) {
+ if (!verify_stringlist((yyvsp[(4) - (4)].sl), verify_utf8)) {
YYERROR; /* vu should call yyerror() */
}
- yystack.l_mark[-2].htag = canon_htags(yystack.l_mark[-2].htag);
+ (yyvsp[(2) - (4)].htag) = canon_htags((yyvsp[(2) - (4)].htag));
#ifdef ENABLE_REGEX
- if (yystack.l_mark[-2].htag->comptag == REGEX)
+ if ((yyvsp[(2) - (4)].htag)->comptag == REGEX)
{
- if (!(verify_regexs(yystack.l_mark[0].sl, yystack.l_mark[-2].htag->comparator)))
+ if (!(verify_regexs((yyvsp[(4) - (4)].sl), (yyvsp[(2) - (4)].htag)->comparator)))
{ YYERROR; }
}
#endif
- yyval.test = build_header(HEADER, yystack.l_mark[-2].htag, yystack.l_mark[-1].sl, yystack.l_mark[0].sl);
- if (yyval.test == NULL) {
+ (yyval.test) = build_header(HEADER, (yyvsp[(2) - (4)].htag), (yyvsp[(3) - (4)].sl), (yyvsp[(4) - (4)].sl));
+ if ((yyval.test) == NULL) {
yyerror("unable to find a compatible comparator");
YYERROR; }
}
-break;
-case 65:
+ break;
+
+ case 66:
+
+/* Line 1455 of yacc.c */
#line 490 "sieve.y"
- {
- if ((yystack.l_mark[-3].nval == ADDRESS) &&
- !verify_stringlist(yystack.l_mark[-1].sl, verify_addrheader))
+ {
+ if (((yyvsp[(1) - (4)].nval) == ADDRESS) &&
+ !verify_stringlist((yyvsp[(3) - (4)].sl), verify_addrheader))
{ YYERROR; }
- else if ((yystack.l_mark[-3].nval == ENVELOPE) &&
- !verify_stringlist(yystack.l_mark[-1].sl, verify_envelope))
+ else if (((yyvsp[(1) - (4)].nval) == ENVELOPE) &&
+ !verify_stringlist((yyvsp[(3) - (4)].sl), verify_envelope))
{ YYERROR; }
- yystack.l_mark[-2].aetag = canon_aetags(yystack.l_mark[-2].aetag);
+ (yyvsp[(2) - (4)].aetag) = canon_aetags((yyvsp[(2) - (4)].aetag));
#ifdef ENABLE_REGEX
- if (yystack.l_mark[-2].aetag->comptag == REGEX)
+ if ((yyvsp[(2) - (4)].aetag)->comptag == REGEX)
{
- if (!( verify_regexs(yystack.l_mark[0].sl, yystack.l_mark[-2].aetag->comparator)))
+ if (!( verify_regexs((yyvsp[(4) - (4)].sl), (yyvsp[(2) - (4)].aetag)->comparator)))
{ YYERROR; }
}
#endif
- yyval.test = build_address(yystack.l_mark[-3].nval, yystack.l_mark[-2].aetag, yystack.l_mark[-1].sl, yystack.l_mark[0].sl);
- if (yyval.test == NULL) {
+ (yyval.test) = build_address((yyvsp[(1) - (4)].nval), (yyvsp[(2) - (4)].aetag), (yyvsp[(3) - (4)].sl), (yyvsp[(4) - (4)].sl));
+ if ((yyval.test) == NULL) {
yyerror("unable to find a compatible comparator");
YYERROR; }
}
-break;
-case 66:
+ break;
+
+ case 67:
+
+/* Line 1455 of yacc.c */
#line 512 "sieve.y"
- {
+ {
if (!parse_script->support.body) {
yyerror("body MUST be enabled with \"require\"");
YYERROR;
}
- if (!verify_stringlist(yystack.l_mark[0].sl, verify_utf8)) {
+ if (!verify_stringlist((yyvsp[(3) - (3)].sl), verify_utf8)) {
YYERROR; /* vu should call yyerror() */
}
- yystack.l_mark[-1].btag = canon_btags(yystack.l_mark[-1].btag);
+ (yyvsp[(2) - (3)].btag) = canon_btags((yyvsp[(2) - (3)].btag));
#ifdef ENABLE_REGEX
- if (yystack.l_mark[-1].btag->comptag == REGEX)
+ if ((yyvsp[(2) - (3)].btag)->comptag == REGEX)
{
- if (!(verify_regexs(yystack.l_mark[0].sl, yystack.l_mark[-1].btag->comparator)))
+ if (!(verify_regexs((yyvsp[(3) - (3)].sl), (yyvsp[(2) - (3)].btag)->comparator)))
{ YYERROR; }
}
#endif
- yyval.test = build_body(BODY, yystack.l_mark[-1].btag, yystack.l_mark[0].sl);
- if (yyval.test == NULL) {
+ (yyval.test) = build_body(BODY, (yyvsp[(2) - (3)].btag), (yyvsp[(3) - (3)].sl));
+ if ((yyval.test) == NULL) {
yyerror("unable to find a compatible comparator");
YYERROR; }
}
-break;
-case 67:
+ break;
+
+ case 68:
+
+/* Line 1455 of yacc.c */
#line 537 "sieve.y"
- { yyval.test = new_test(NOT); yyval.test->u.t = yystack.l_mark[0].test; }
-break;
-case 68:
+ { (yyval.test) = new_test(NOT); (yyval.test)->u.t = (yyvsp[(2) - (2)].test); }
+ break;
+
+ case 69:
+
+/* Line 1455 of yacc.c */
#line 538 "sieve.y"
- { yyval.test = new_test(SIZE); yyval.test->u.sz.t = yystack.l_mark[-1].nval;
- yyval.test->u.sz.n = yystack.l_mark[0].nval; }
-break;
-case 69:
+ { (yyval.test) = new_test(SIZE); (yyval.test)->u.sz.t = (yyvsp[(2) - (3)].nval);
+ (yyval.test)->u.sz.n = (yyvsp[(3) - (3)].nval); }
+ break;
+
+ case 70:
+
+/* Line 1455 of yacc.c */
#line 540 "sieve.y"
- { yyval.test = NULL; }
-break;
-case 70:
+ { (yyval.test) = NULL; }
+ break;
+
+ case 71:
+
+/* Line 1455 of yacc.c */
#line 543 "sieve.y"
- { yyval.nval = ADDRESS; }
-break;
-case 71:
+ { (yyval.nval) = ADDRESS; }
+ break;
+
+ case 72:
+
+/* Line 1455 of yacc.c */
#line 544 "sieve.y"
- {if (!parse_script->support.envelope)
+ {if (!parse_script->support.envelope)
{yyerror("envelope MUST be enabled with \"require\""); YYERROR;}
- else{yyval.nval = ENVELOPE; }
+ else{(yyval.nval) = ENVELOPE; }
}
-break;
-case 72:
+ break;
+
+ case 73:
+
+/* Line 1455 of yacc.c */
#line 551 "sieve.y"
- { yyval.aetag = new_aetags(); }
-break;
-case 73:
+ { (yyval.aetag) = new_aetags(); }
+ break;
+
+ case 74:
+
+/* Line 1455 of yacc.c */
#line 552 "sieve.y"
- { yyval.aetag = yystack.l_mark[-1].aetag;
- if (yyval.aetag->addrtag != -1) {
+ { (yyval.aetag) = (yyvsp[(1) - (2)].aetag);
+ if ((yyval.aetag)->addrtag != -1) {
yyerror("duplicate or conflicting address part tag");
YYERROR; }
- else { yyval.aetag->addrtag = yystack.l_mark[0].nval; } }
-break;
-case 74:
+ else { (yyval.aetag)->addrtag = (yyvsp[(2) - (2)].nval); } }
+ break;
+
+ case 75:
+
+/* Line 1455 of yacc.c */
#line 557 "sieve.y"
- { yyval.aetag = yystack.l_mark[-1].aetag;
- if (yyval.aetag->comptag != -1) {
+ { (yyval.aetag) = (yyvsp[(1) - (2)].aetag);
+ if ((yyval.aetag)->comptag != -1) {
yyerror("duplicate comparator type tag"); YYERROR; }
- else { yyval.aetag->comptag = yystack.l_mark[0].nval; } }
-break;
-case 75:
+ else { (yyval.aetag)->comptag = (yyvsp[(2) - (2)].nval); } }
+ break;
+
+ case 76:
+
+/* Line 1455 of yacc.c */
#line 561 "sieve.y"
- { yyval.aetag = yystack.l_mark[-2].aetag;
- if (yyval.aetag->comptag != -1) {
+ { (yyval.aetag) = (yyvsp[(1) - (3)].aetag);
+ if ((yyval.aetag)->comptag != -1) {
yyerror("duplicate comparator type tag"); YYERROR; }
- else { yyval.aetag->comptag = yystack.l_mark[-1].nval;
- yyval.aetag->relation = verify_relat(yystack.l_mark[0].sval);
- if (yyval.aetag->relation==-1)
+ else { (yyval.aetag)->comptag = (yyvsp[(2) - (3)].nval);
+ (yyval.aetag)->relation = verify_relat((yyvsp[(3) - (3)].sval));
+ if ((yyval.aetag)->relation==-1)
{YYERROR; /*vr called yyerror()*/ }
} }
-break;
-case 76:
+ break;
+
+ case 77:
+
+/* Line 1455 of yacc.c */
#line 569 "sieve.y"
- { yyval.aetag = yystack.l_mark[-2].aetag;
- if (yyval.aetag->comparator != NULL) {
+ { (yyval.aetag) = (yyvsp[(1) - (3)].aetag);
+ if ((yyval.aetag)->comparator != NULL) {
yyerror("duplicate comparator tag"); YYERROR; }
- else if (!strcmp(yystack.l_mark[0].sval, "i;ascii-numeric") &&
+ else if (!strcmp((yyvsp[(3) - (3)].sval), "i;ascii-numeric") &&
!parse_script->support.i_ascii_numeric) {
yyerror("comparator-i;ascii-numeric MUST be enabled with \"require\"");
YYERROR; }
- else { yyval.aetag->comparator = yystack.l_mark[0].sval; } }
-break;
-case 77:
+ else { (yyval.aetag)->comparator = (yyvsp[(3) - (3)].sval); } }
+ break;
+
+ case 78:
+
+/* Line 1455 of yacc.c */
#line 579 "sieve.y"
- { yyval.htag = new_htags(); }
-break;
-case 78:
+ { (yyval.htag) = new_htags(); }
+ break;
+
+ case 79:
+
+/* Line 1455 of yacc.c */
#line 580 "sieve.y"
- { yyval.htag = yystack.l_mark[-1].htag;
- if (yyval.htag->comptag != -1) {
+ { (yyval.htag) = (yyvsp[(1) - (2)].htag);
+ if ((yyval.htag)->comptag != -1) {
yyerror("duplicate comparator type tag"); YYERROR; }
- else { yyval.htag->comptag = yystack.l_mark[0].nval; } }
-break;
-case 79:
+ else { (yyval.htag)->comptag = (yyvsp[(2) - (2)].nval); } }
+ break;
+
+ case 80:
+
+/* Line 1455 of yacc.c */
#line 584 "sieve.y"
- { yyval.htag = yystack.l_mark[-2].htag;
- if (yyval.htag->comptag != -1) {
+ { (yyval.htag) = (yyvsp[(1) - (3)].htag);
+ if ((yyval.htag)->comptag != -1) {
yyerror("duplicate comparator type tag"); YYERROR; }
- else { yyval.htag->comptag = yystack.l_mark[-1].nval;
- yyval.htag->relation = verify_relat(yystack.l_mark[0].sval);
- if (yyval.htag->relation==-1)
+ else { (yyval.htag)->comptag = (yyvsp[(2) - (3)].nval);
+ (yyval.htag)->relation = verify_relat((yyvsp[(3) - (3)].sval));
+ if ((yyval.htag)->relation==-1)
{YYERROR; /*vr called yyerror()*/ }
} }
-break;
-case 80:
+ break;
+
+ case 81:
+
+/* Line 1455 of yacc.c */
#line 592 "sieve.y"
- { yyval.htag = yystack.l_mark[-2].htag;
- if (yyval.htag->comparator != NULL) {
+ { (yyval.htag) = (yyvsp[(1) - (3)].htag);
+ if ((yyval.htag)->comparator != NULL) {
yyerror("duplicate comparator tag"); YYERROR; }
- else if (!strcmp(yystack.l_mark[0].sval, "i;ascii-numeric") &&
+ else if (!strcmp((yyvsp[(3) - (3)].sval), "i;ascii-numeric") &&
!parse_script->support.i_ascii_numeric) {
yyerror("comparator-i;ascii-numeric MUST be enabled with \"require\""); YYERROR; }
else {
- yyval.htag->comparator = yystack.l_mark[0].sval; } }
-break;
-case 81:
+ (yyval.htag)->comparator = (yyvsp[(3) - (3)].sval); } }
+ break;
+
+ case 82:
+
+/* Line 1455 of yacc.c */
#line 602 "sieve.y"
- { yyval.btag = new_btags(); }
-break;
-case 82:
+ { (yyval.btag) = new_btags(); }
+ break;
+
+ case 83:
+
+/* Line 1455 of yacc.c */
#line 603 "sieve.y"
- { yyval.btag = yystack.l_mark[-1].btag;
- if (yyval.btag->transform != -1) {
+ { (yyval.btag) = (yyvsp[(1) - (2)].btag);
+ if ((yyval.btag)->transform != -1) {
yyerror("duplicate or conflicting transform tag");
YYERROR; }
- else { yyval.btag->transform = RAW; } }
-break;
-case 83:
+ else { (yyval.btag)->transform = RAW; } }
+ break;
+
+ case 84:
+
+/* Line 1455 of yacc.c */
#line 608 "sieve.y"
- { yyval.btag = yystack.l_mark[-1].btag;
- if (yyval.btag->transform != -1) {
+ { (yyval.btag) = (yyvsp[(1) - (2)].btag);
+ if ((yyval.btag)->transform != -1) {
yyerror("duplicate or conflicting transform tag");
YYERROR; }
- else { yyval.btag->transform = TEXT; } }
-break;
-case 84:
+ else { (yyval.btag)->transform = TEXT; } }
+ break;
+
+ case 85:
+
+/* Line 1455 of yacc.c */
#line 613 "sieve.y"
- { yyval.btag = yystack.l_mark[-2].btag;
- if (yyval.btag->transform != -1) {
+ { (yyval.btag) = (yyvsp[(1) - (3)].btag);
+ if ((yyval.btag)->transform != -1) {
yyerror("duplicate or conflicting transform tag");
YYERROR; }
else {
- yyval.btag->transform = CONTENT;
- yyval.btag->content_types = yystack.l_mark[0].sl;
+ (yyval.btag)->transform = CONTENT;
+ (yyval.btag)->content_types = (yyvsp[(3) - (3)].sl);
} }
-break;
-case 85:
+ break;
+
+ case 86:
+
+/* Line 1455 of yacc.c */
#line 621 "sieve.y"
- { yyval.btag = yystack.l_mark[-1].btag;
- if (yyval.btag->comptag != -1) {
+ { (yyval.btag) = (yyvsp[(1) - (2)].btag);
+ if ((yyval.btag)->comptag != -1) {
yyerror("duplicate comparator type tag"); YYERROR; }
- else { yyval.btag->comptag = yystack.l_mark[0].nval; } }
-break;
-case 86:
+ else { (yyval.btag)->comptag = (yyvsp[(2) - (2)].nval); } }
+ break;
+
+ case 87:
+
+/* Line 1455 of yacc.c */
#line 625 "sieve.y"
- { yyval.btag = yystack.l_mark[-2].btag;
- if (yyval.btag->comptag != -1) {
+ { (yyval.btag) = (yyvsp[(1) - (3)].btag);
+ if ((yyval.btag)->comptag != -1) {
yyerror("duplicate comparator type tag"); YYERROR; }
- else { yyval.btag->comptag = yystack.l_mark[-1].nval;
- yyval.btag->relation = verify_relat(yystack.l_mark[0].sval);
- if (yyval.btag->relation==-1)
+ else { (yyval.btag)->comptag = (yyvsp[(2) - (3)].nval);
+ (yyval.btag)->relation = verify_relat((yyvsp[(3) - (3)].sval));
+ if ((yyval.btag)->relation==-1)
{YYERROR; /*vr called yyerror()*/ }
} }
-break;
-case 87:
+ break;
+
+ case 88:
+
+/* Line 1455 of yacc.c */
#line 633 "sieve.y"
- { yyval.btag = yystack.l_mark[-2].btag;
- if (yyval.btag->comparator != NULL) {
+ { (yyval.btag) = (yyvsp[(1) - (3)].btag);
+ if ((yyval.btag)->comparator != NULL) {
yyerror("duplicate comparator tag"); YYERROR; }
- else if (!strcmp(yystack.l_mark[0].sval, "i;ascii-numeric") &&
+ else if (!strcmp((yyvsp[(3) - (3)].sval), "i;ascii-numeric") &&
!parse_script->support.i_ascii_numeric) {
yyerror("comparator-i;ascii-numeric MUST be enabled with \"require\""); YYERROR; }
else {
- yyval.btag->comparator = yystack.l_mark[0].sval; } }
-break;
-case 88:
+ (yyval.btag)->comparator = (yyvsp[(3) - (3)].sval); } }
+ break;
+
+ case 89:
+
+/* Line 1455 of yacc.c */
#line 644 "sieve.y"
- { yyval.nval = ALL; }
-break;
-case 89:
+ { (yyval.nval) = ALL; }
+ break;
+
+ case 90:
+
+/* Line 1455 of yacc.c */
#line 645 "sieve.y"
- { yyval.nval = LOCALPART; }
-break;
-case 90:
+ { (yyval.nval) = LOCALPART; }
+ break;
+
+ case 91:
+
+/* Line 1455 of yacc.c */
#line 646 "sieve.y"
- { yyval.nval = DOMAIN; }
-break;
-case 91:
+ { (yyval.nval) = DOMAIN; }
+ break;
+
+ case 92:
+
+/* Line 1455 of yacc.c */
#line 647 "sieve.y"
- { if (!parse_script->support.subaddress) {
+ { if (!parse_script->support.subaddress) {
yyerror("subaddress MUST be enabled with \"require\"");
YYERROR;
}
- yyval.nval = USER; }
-break;
-case 92:
+ (yyval.nval) = USER; }
+ break;
+
+ case 93:
+
+/* Line 1455 of yacc.c */
#line 652 "sieve.y"
- { if (!parse_script->support.subaddress) {
+ { if (!parse_script->support.subaddress) {
yyerror("subaddress MUST be enabled with \"require\"");
YYERROR;
}
- yyval.nval = DETAIL; }
-break;
-case 93:
+ (yyval.nval) = DETAIL; }
+ break;
+
+ case 94:
+
+/* Line 1455 of yacc.c */
#line 658 "sieve.y"
- { yyval.nval = IS; }
-break;
-case 94:
+ { (yyval.nval) = IS; }
+ break;
+
+ case 95:
+
+/* Line 1455 of yacc.c */
#line 659 "sieve.y"
- { yyval.nval = CONTAINS; }
-break;
-case 95:
+ { (yyval.nval) = CONTAINS; }
+ break;
+
+ case 96:
+
+/* Line 1455 of yacc.c */
#line 660 "sieve.y"
- { yyval.nval = MATCHES; }
-break;
-case 96:
+ { (yyval.nval) = MATCHES; }
+ break;
+
+ case 97:
+
+/* Line 1455 of yacc.c */
#line 661 "sieve.y"
- { if (!parse_script->support.regex) {
+ { if (!parse_script->support.regex) {
yyerror("regex MUST be enabled with \"require\"");
YYERROR;
}
- yyval.nval = REGEX; }
-break;
-case 97:
+ (yyval.nval) = REGEX; }
+ break;
+
+ case 98:
+
+/* Line 1455 of yacc.c */
#line 668 "sieve.y"
- { if (!parse_script->support.relational) {
+ { if (!parse_script->support.relational) {
yyerror("relational MUST be enabled with \"require\"");
YYERROR;
}
- yyval.nval = COUNT; }
-break;
-case 98:
+ (yyval.nval) = COUNT; }
+ break;
+
+ case 99:
+
+/* Line 1455 of yacc.c */
#line 673 "sieve.y"
- { if (!parse_script->support.relational) {
+ { if (!parse_script->support.relational) {
yyerror("relational MUST be enabled with \"require\"");
YYERROR;
}
- yyval.nval = VALUE; }
-break;
-case 99:
+ (yyval.nval) = VALUE; }
+ break;
+
+ case 100:
+
+/* Line 1455 of yacc.c */
#line 681 "sieve.y"
- { yyval.nval = OVER; }
-break;
-case 100:
+ { (yyval.nval) = OVER; }
+ break;
+
+ case 101:
+
+/* Line 1455 of yacc.c */
#line 682 "sieve.y"
- { yyval.nval = UNDER; }
-break;
-case 101:
+ { (yyval.nval) = UNDER; }
+ break;
+
+ case 102:
+
+/* Line 1455 of yacc.c */
#line 685 "sieve.y"
- { yyval.nval = 0; }
-break;
-case 102:
+ { (yyval.nval) = 0; }
+ break;
+
+ case 103:
+
+/* Line 1455 of yacc.c */
#line 686 "sieve.y"
- { if (!parse_script->support.copy) {
+ { if (!parse_script->support.copy) {
yyerror("copy MUST be enabled with \"require\"");
YYERROR;
}
- yyval.nval = COPY; }
-break;
-case 103:
+ (yyval.nval) = COPY; }
+ break;
+
+ case 104:
+
+/* Line 1455 of yacc.c */
#line 693 "sieve.y"
- { yyval.testl = yystack.l_mark[-1].testl; }
-break;
-case 104:
+ { (yyval.testl) = (yyvsp[(2) - (3)].testl); }
+ break;
+
+ case 105:
+
+/* Line 1455 of yacc.c */
#line 696 "sieve.y"
- { yyval.testl = new_testlist(yystack.l_mark[0].test, NULL); }
-break;
-case 105:
+ { (yyval.testl) = new_testlist((yyvsp[(1) - (1)].test), NULL); }
+ break;
+
+ case 106:
+
+/* Line 1455 of yacc.c */
#line 697 "sieve.y"
- { yyval.testl = new_testlist(yystack.l_mark[-2].test, yystack.l_mark[0].testl); }
-break;
-#line 2219 "y.tab.c"
- }
- yystack.s_mark -= yym;
- yystate = *yystack.s_mark;
- yystack.l_mark -= yym;
- yym = yylhs[yyn];
- if (yystate == 0 && yym == 0)
+ { (yyval.testl) = new_testlist((yyvsp[(1) - (3)].test), (yyvsp[(3) - (3)].testl)); }
+ break;
+
+
+
+/* Line 1455 of yacc.c */
+#line 2869 "y.tab.c"
+ default: break;
+ }
+ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+ YYPOPSTACK (yylen);
+ yylen = 0;
+ YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+ /* Now `shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
+ else
+ yystate = yydefgoto[yyn - YYNTOKENS];
+
+ goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
{
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state 0 to\
- state %d\n", YYPREFIX, YYFINAL);
-#endif
- yystate = YYFINAL;
- *++yystack.s_mark = YYFINAL;
- *++yystack.l_mark = yyval;
- if (yychar < 0)
- {
- if ((yychar = YYLEX) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, YYFINAL, yychar, yys);
- }
-#endif
- }
- if (yychar == 0) goto yyaccept;
- goto yyloop;
- }
- if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
- yystate = yytable[yyn];
- else
- yystate = yydgoto[yym];
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state %d \
-to state %d\n", YYPREFIX, *yystack.s_mark, yystate);
+ ++yynerrs;
+#if ! YYERROR_VERBOSE
+ yyerror (YY_("syntax error"));
+#else
+ {
+ YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
+ if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
+ {
+ YYSIZE_T yyalloc = 2 * yysize;
+ if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
+ yyalloc = YYSTACK_ALLOC_MAXIMUM;
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+ yymsg = (char *) YYSTACK_ALLOC (yyalloc);
+ if (yymsg)
+ yymsg_alloc = yyalloc;
+ else
+ {
+ yymsg = yymsgbuf;
+ yymsg_alloc = sizeof yymsgbuf;
+ }
+ }
+
+ if (0 < yysize && yysize <= yymsg_alloc)
+ {
+ (void) yysyntax_error (yymsg, yystate, yychar);
+ yyerror (yymsg);
+ }
+ else
+ {
+ yyerror (YY_("syntax error"));
+ if (yysize != 0)
+ goto yyexhaustedlab;
+ }
+ }
#endif
- if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack))
+ }
+
+
+
+ if (yyerrstatus == 3)
{
- goto yyoverflow;
+ /* If just tried and failed to reuse lookahead token after an
+ error, discard it. */
+
+ if (yychar <= YYEOF)
+ {
+ /* Return failure if at end of input. */
+ if (yychar == YYEOF)
+ YYABORT;
+ }
+ else
+ {
+ yydestruct ("Error: discarding",
+ yytoken, &yylval);
+ yychar = YYEMPTY;
+ }
+ }
+
+ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+
+ /* Pacify compilers like GCC when the user code never invokes
+ YYERROR and the label yyerrorlab therefore never appears in user
+ code. */
+ if (/*CONSTCOND*/ 0)
+ goto yyerrorlab;
+
+ /* Do not reclaim the symbols of the rule which action triggered
+ this YYERROR. */
+ YYPOPSTACK (yylen);
+ yylen = 0;
+ YY_STACK_PRINT (yyss, yyssp);
+ yystate = *yyssp;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (yyn != YYPACT_NINF)
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+
+ yydestruct ("Error: popping",
+ yystos[yystate], yyvsp);
+ YYPOPSTACK (1);
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+ *++yyvsp = yylval;
+
+
+ /* Shift the error token. */
+ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here. |
+`-------------------------------------*/
+yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here. |
+`-----------------------------------*/
+yyabortlab:
+ yyresult = 1;
+ goto yyreturn;
+
+#if !defined(yyoverflow) || YYERROR_VERBOSE
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here. |
+`-------------------------------------------------*/
+yyexhaustedlab:
+ yyerror (YY_("memory exhausted"));
+ yyresult = 2;
+ /* Fall through. */
+#endif
+
+yyreturn:
+ if (yychar != YYEMPTY)
+ yydestruct ("Cleanup: discarding lookahead",
+ yytoken, &yylval);
+ /* Do not reclaim the symbols of the rule which action triggered
+ this YYABORT or YYACCEPT. */
+ YYPOPSTACK (yylen);
+ YY_STACK_PRINT (yyss, yyssp);
+ while (yyssp != yyss)
+ {
+ yydestruct ("Cleanup: popping",
+ yystos[*yyssp], yyvsp);
+ YYPOPSTACK (1);
}
- *++yystack.s_mark = (short) yystate;
- *++yystack.l_mark = yyval;
- goto yyloop;
-
-yyoverflow:
- yyerror("yacc stack overflow");
-
-yyabort:
- yyfreestack(&yystack);
- return (1);
-
-yyaccept:
- yyfreestack(&yystack);
- return (0);
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+#endif
+ /* Make sure YYID is used. */
+ return YYID (yyresult);
}
+
+
+
+/* Line 1675 of yacc.c */
+#line 700 "sieve.y"
+
+commandlist_t *sieve_parse(sieve_script_t *script, FILE *f)
+{
+ commandlist_t *t;
+
+ parse_script = script;
+ yyrestart(f);
+ if (yyparse()) {
+ t = NULL;
+ } else {
+ t = ret;
+ }
+ ret = NULL;
+ return t;
+}
+
+int yyerror(char *msg)
+{
+ extern int yylineno;
+ int ret;
+
+ parse_script->err++;
+ if (parse_script->interp.err) {
+ ret = parse_script->interp.err(yylineno, msg,
+ parse_script->interp.interp_context,
+ parse_script->script_context);
+ }
+
+ return 0;
+}
+
+static char *check_reqs(stringlist_t *sl)
+{
+ stringlist_t *s;
+ char *err = NULL, *p, sep = ':';
+ size_t alloc = 0;
+
+ while (sl != NULL) {
+ s = sl;
+ sl = sl->next;
+
+ if (!script_require(parse_script, s->s)) {
+ if (!err) {
+ alloc = 100;
+ p = err = xmalloc(alloc);
+ p += sprintf(p, "Unsupported feature(s) in \"require\"");
+ }
+ else if ((size_t) (p - err + strlen(s->s) + 5) > alloc) {
+ alloc += 100;
+ err = xrealloc(err, alloc);
+ p = err + strlen(err);
+ }
+
+ p += sprintf(p, "%c \"%s\"", sep, s->s);
+ sep = ',';
+ }
+
+ free(s->s);
+ free(s);
+ }
+ return err;
+}
+
+static test_t *build_address(int t, struct aetags *ae,
+ stringlist_t *sl, stringlist_t *pl)
+{
+ test_t *ret = new_test(t); /* can be either ADDRESS or ENVELOPE */
+
+ assert((t == ADDRESS) || (t == ENVELOPE));
+
+ if (ret) {
+ ret->u.ae.comptag = ae->comptag;
+ ret->u.ae.relation=ae->relation;
+ ret->u.ae.comparator=xstrdup(ae->comparator);
+ ret->u.ae.sl = sl;
+ ret->u.ae.pl = pl;
+ ret->u.ae.addrpart = ae->addrtag;
+ free_aetags(ae);
+
+ }
+ return ret;
+}
+
+static test_t *build_header(int t, struct htags *h,
+ stringlist_t *sl, stringlist_t *pl)
+{
+ test_t *ret = new_test(t); /* can be HEADER */
+
+ assert(t == HEADER);
+
+ if (ret) {
+ ret->u.h.comptag = h->comptag;
+ ret->u.h.relation=h->relation;
+ ret->u.h.comparator=xstrdup(h->comparator);
+ ret->u.h.sl = sl;
+ ret->u.h.pl = pl;
+ free_htags(h);
+ }
+ return ret;
+}
+
+static test_t *build_body(int t, struct btags *b, stringlist_t *pl)
+{
+ test_t *ret = new_test(t); /* can be BODY */
+
+ assert(t == BODY);
+
+ if (ret) {
+ ret->u.b.comptag = b->comptag;
+ ret->u.b.relation = b->relation;
+ ret->u.b.comparator = xstrdup(b->comparator);
+ ret->u.b.transform = b->transform;
+ ret->u.b.offset = b->offset;
+ ret->u.b.content_types = b->content_types; b->content_types = NULL;
+ ret->u.b.pl = pl;
+ free_btags(b);
+ }
+ return ret;
+}
+
+static commandlist_t *build_vacation(int t, struct vtags *v, char *reason)
+{
+ commandlist_t *ret = new_command(t);
+
+ assert(t == VACATION);
+
+ if (ret) {
+ ret->u.v.subject = v->subject; v->subject = NULL;
+ ret->u.v.from = v->from; v->from = NULL;
+ ret->u.v.handle = v->handle; v->handle = NULL;
+ ret->u.v.days = v->days;
+ ret->u.v.mime = v->mime;
+ ret->u.v.addresses = v->addresses; v->addresses = NULL;
+ free_vtags(v);
+ ret->u.v.message = reason;
+ }
+ return ret;
+}
+
+static commandlist_t *build_notify(int t, struct ntags *n)
+{
+ commandlist_t *ret = new_command(t);
+
+ assert(t == NOTIFY);
+ if (ret) {
+ ret->u.n.method = n->method; n->method = NULL;
+ ret->u.n.id = n->id; n->id = NULL;
+ ret->u.n.options = n->options; n->options = NULL;
+ ret->u.n.priority = n->priority;
+ ret->u.n.message = n->message; n->message = NULL;
+ free_ntags(n);
+ }
+ return ret;
+}
+
+static commandlist_t *build_denotify(int t, struct dtags *d)
+{
+ commandlist_t *ret = new_command(t);
+
+ assert(t == DENOTIFY);
+
+ if (ret) {
+ ret->u.d.comptag = d->comptag;
+ ret->u.d.relation=d->relation;
+ ret->u.d.pattern = d->pattern; d->pattern = NULL;
+ ret->u.d.priority = d->priority;
+ free_dtags(d);
+ }
+ return ret;
+}
+
+static commandlist_t *build_fileinto(int t, int copy, char *folder)
+{
+ commandlist_t *ret = new_command(t);
+
+ assert(t == FILEINTO);
+
+ if (ret) {
+ ret->u.f.copy = copy;
+ if (config_getswitch(IMAPOPT_SIEVE_UTF8FILEINTO)) {
+ ret->u.f.folder = xmalloc(5 * strlen(folder) + 1);
+ UTF8_to_mUTF7(ret->u.f.folder, folder);
+ free(folder);
+ }
+ else {
+ ret->u.f.folder = folder;
+ }
+ }
+ return ret;
+}
+
+static commandlist_t *build_redirect(int t, int copy, char *address)
+{
+ commandlist_t *ret = new_command(t);
+
+ assert(t == REDIRECT);
+
+ if (ret) {
+ ret->u.r.copy = copy;
+ ret->u.r.address = address;
+ }
+ return ret;
+}
+
+static struct aetags *new_aetags(void)
+{
+ struct aetags *r = (struct aetags *) xmalloc(sizeof(struct aetags));
+
+ r->addrtag = r->comptag = r->relation=-1;
+ r->comparator=NULL;
+
+ return r;
+}
+
+static struct aetags *canon_aetags(struct aetags *ae)
+{
+ if (ae->addrtag == -1) { ae->addrtag = ALL; }
+ if (ae->comparator == NULL) {
+ ae->comparator = xstrdup("i;ascii-casemap");
+ }
+ if (ae->comptag == -1) { ae->comptag = IS; }
+ return ae;
+}
+
+static void free_aetags(struct aetags *ae)
+{
+ free(ae->comparator);
+ free(ae);
+}
+
+static struct htags *new_htags(void)
+{
+ struct htags *r = (struct htags *) xmalloc(sizeof(struct htags));
+
+ r->comptag = r->relation= -1;
+
+ r->comparator = NULL;
+
+ return r;
+}
+
+static struct htags *canon_htags(struct htags *h)
+{
+ if (h->comparator == NULL) {
+ h->comparator = xstrdup("i;ascii-casemap");
+ }
+ if (h->comptag == -1) { h->comptag = IS; }
+ return h;
+}
+
+static void free_htags(struct htags *h)
+{
+ free(h->comparator);
+ free(h);
+}
+
+static struct btags *new_btags(void)
+{
+ struct btags *r = (struct btags *) xmalloc(sizeof(struct btags));
+
+ r->transform = r->offset = r->comptag = r->relation = -1;
+ r->content_types = NULL;
+ r->comparator = NULL;
+
+ return r;
+}
+
+static struct btags *canon_btags(struct btags *b)
+{
+ if (b->transform == -1) { b->transform = TEXT; }
+ if (b->content_types == NULL) {
+ if (b->transform == RAW) {
+ b->content_types = new_sl(xstrdup(""), NULL);
+ } else {
+ b->content_types = new_sl(xstrdup("text"), NULL);
+ }
+ }
+ if (b->offset == -1) { b->offset = 0; }
+ if (b->comparator == NULL) { b->comparator = xstrdup("i;ascii-casemap"); }
+ if (b->comptag == -1) { b->comptag = IS; }
+ return b;
+}
+
+static void free_btags(struct btags *b)
+{
+ if (b->content_types) { free_sl(b->content_types); }
+ free(b->comparator);
+ free(b);
+}
+
+static struct vtags *new_vtags(void)
+{
+ struct vtags *r = (struct vtags *) xmalloc(sizeof(struct vtags));
+
+ r->days = -1;
+ r->addresses = NULL;
+ r->subject = NULL;
+ r->from = NULL;
+ r->handle = NULL;
+ r->mime = -1;
+
+ return r;
+}
+
+static struct vtags *canon_vtags(struct vtags *v)
+{
+ assert(parse_script->interp.vacation != NULL);
+
+ if (v->days == -1) { v->days = 7; }
+ if (v->days < parse_script->interp.vacation->min_response)
+ { v->days = parse_script->interp.vacation->min_response; }
+ if (v->days > parse_script->interp.vacation->max_response)
+ { v->days = parse_script->interp.vacation->max_response; }
+ if (v->mime == -1) { v->mime = 0; }
+
+ return v;
+}
+
+static void free_vtags(struct vtags *v)
+{
+ if (v->addresses) { free_sl(v->addresses); }
+ if (v->subject) { free(v->subject); }
+ if (v->from) { free(v->from); }
+ if (v->handle) { free(v->handle); }
+ free(v);
+}
+
+static struct ntags *new_ntags(void)
+{
+ struct ntags *r = (struct ntags *) xmalloc(sizeof(struct ntags));
+
+ r->method = NULL;
+ r->id = NULL;
+ r->options = NULL;
+ r->priority = -1;
+ r->message = NULL;
+
+ return r;
+}
+
+static struct ntags *canon_ntags(struct ntags *n)
+{
+ if (n->priority == -1) { n->priority = NORMAL; }
+ if (n->message == NULL) { n->message = xstrdup("$from$: $subject$"); }
+ if (n->method == NULL) { n->method = xstrdup("default"); }
+ return n;
+}
+static struct dtags *canon_dtags(struct dtags *d)
+{
+ if (d->priority == -1) { d->priority = ANY; }
+ if (d->comptag == -1) { d->comptag = ANY; }
+ return d;
+}
+
+static void free_ntags(struct ntags *n)
+{
+ if (n->method) { free(n->method); }
+ if (n->id) { free(n->id); }
+ if (n->options) { free_sl(n->options); }
+ if (n->message) { free(n->message); }
+ free(n);
+}
+
+static struct dtags *new_dtags(void)
+{
+ struct dtags *r = (struct dtags *) xmalloc(sizeof(struct dtags));
+
+ r->comptag = r->priority= r->relation = -1;
+ r->pattern = NULL;
+
+ return r;
+}
+
+static void free_dtags(struct dtags *d)
+{
+ if (d->pattern) free(d->pattern);
+ free(d);
+}
+
+static int verify_stringlist(stringlist_t *sl, int (*verify)(char *))
+{
+ for (; sl != NULL && verify(sl->s); sl = sl->next) ;
+ return (sl == NULL);
+}
+
+char *addrptr; /* pointer to address string for address lexer */
+char addrerr[500]; /* buffer for address parser error messages */
+
+static int verify_address(char *s)
+{
+ addrptr = s;
+ addrerr[0] = '\0'; /* paranoia */
+ if (addrparse()) {
+ snprintf(errbuf, ERR_BUF_SIZE,
+ "address '%s': %s", s, addrerr);
+ yyerror(errbuf);
+ return 0;
+ }
+ return 1;
+}
+
+static int verify_mailbox(char *s)
+{
+ if (!verify_utf8(s)) return 0;
+
+ /* xxx if not a mailbox, call yyerror */
+ return 1;
+}
+
+static int verify_header(char *hdr)
+{
+ char *h = hdr;
+
+ while (*h) {
+ /* field-name = 1*ftext
+ ftext = %d33-57 / %d59-126
+ ; Any character except
+ ; controls, SP, and
+ ; ":". */
+ if (!((*h >= 33 && *h <= 57) || (*h >= 59 && *h <= 126))) {
+ snprintf(errbuf, ERR_BUF_SIZE,
+ "header '%s': not a valid header", hdr);
+ yyerror(errbuf);
+ return 0;
+ }
+ h++;
+ }
+ return 1;
+}
+
+static int verify_addrheader(char *hdr)
+{
+ const char **h, *hdrs[] = {
+ "from", "sender", "reply-to", /* RFC2822 originator fields */
+ "to", "cc", "bcc", /* RFC2822 destination fields */
+ "resent-from", "resent-sender", /* RFC2822 resent fields */
+ "resent-to", "resent-cc", "resent-bcc",
+ "return-path", /* RFC2822 trace fields */
+ "disposition-notification-to", /* RFC2298 MDN request fields */
+ "delivered-to", /* non-standard (loop detection) */
+ "approved", /* RFC1036 moderator/control fields */
+ NULL
+ };
+
+ if (!config_getswitch(IMAPOPT_RFC3028_STRICT))
+ return verify_header(hdr);
+
+ for (lcase(hdr), h = hdrs; *h; h++) {
+ if (!strcmp(*h, hdr)) return 1;
+ }
+
+ snprintf(errbuf, ERR_BUF_SIZE,
+ "header '%s': not a valid header for an address test", hdr);
+ yyerror(errbuf);
+ return 0;
+}
+
+static int verify_envelope(char *env)
+{
+ lcase(env);
+ if (!config_getswitch(IMAPOPT_RFC3028_STRICT) ||
+ !strcmp(env, "from") || !strcmp(env, "to") || !strcmp(env, "auth")) {
+ return 1;
+ }
+
+ snprintf(errbuf, ERR_BUF_SIZE,
+ "env-part '%s': not a valid part for an envelope test", env);
+ yyerror(errbuf);
+ return 0;
+}
+
+static int verify_relat(char *r)
+{/* this really should have been a token to begin with.*/
+ lcase(r);
+ if (!strcmp(r, "gt")) {return GT;}
+ else if (!strcmp(r, "ge")) {return GE;}
+ else if (!strcmp(r, "lt")) {return LT;}
+ else if (!strcmp(r, "le")) {return LE;}
+ else if (!strcmp(r, "ne")) {return NE;}
+ else if (!strcmp(r, "eq")) {return EQ;}
+ else{
+ snprintf(errbuf, ERR_BUF_SIZE,
+ "flag '%s': not a valid relational operation", r);
+ yyerror(errbuf);
+ return -1;
+ }
+
+}
+
+
+
+
+static int verify_flag(char *f)
+{
+ if (f[0] == '\\') {
+ lcase(f);
+ if (strcmp(f, "\\seen") && strcmp(f, "\\answered") &&
+ strcmp(f, "\\flagged") && strcmp(f, "\\draft") &&
+ strcmp(f, "\\deleted")) {
+ snprintf(errbuf, ERR_BUF_SIZE,
+ "flag '%s': not a system flag", f);
+ yyerror(errbuf);
+ return 0;
+ }
+ return 1;
+ }
+ if (!imparse_isatom(f)) {
+ snprintf(errbuf, ERR_BUF_SIZE,
+ "flag '%s': not a valid keyword", f);
+ yyerror(errbuf);
+ return 0;
+ }
+ return 1;
+}
+
+#ifdef ENABLE_REGEX
+static int verify_regex(char *s, int cflags)
+{
+ int ret;
+ regex_t *reg = (regex_t *) xmalloc(sizeof(regex_t));
+
+#ifdef HAVE_PCREPOSIX_H
+ /* support UTF8 comparisons */
+ cflags |= REG_UTF8;
+#endif
+
+ if ((ret = regcomp(reg, s, cflags)) != 0) {
+ (void) regerror(ret, reg, errbuf, ERR_BUF_SIZE);
+ yyerror(errbuf);
+ free(reg);
+ return 0;
+ }
+ free(reg);
+ return 1;
+}
+
+static int verify_regexs(stringlist_t *sl, char *comp)
+{
+ stringlist_t *sl2;
+ int cflags = REG_EXTENDED | REG_NOSUB;
+
+
+ if (!strcmp(comp, "i;ascii-casemap")) {
+ cflags |= REG_ICASE;
+ }
+
+ for (sl2 = sl; sl2 != NULL; sl2 = sl2->next) {
+ if ((verify_regex(sl2->s, cflags)) == 0) {
+ break;
+ }
+ }
+ if (sl2 == NULL) {
+ return 1;
+ }
+ return 0;
+}
+#endif
+
+/*
+ * Valid UTF-8 check (from RFC 2640 Annex B.1)
+ *
+ * The following routine checks if a byte sequence is valid UTF-8. This
+ * is done by checking for the proper tagging of the first and following
+ * bytes to make sure they conform to the UTF-8 format. It then checks
+ * to assure that the data part of the UTF-8 sequence conforms to the
+ * proper range allowed by the encoding. Note: This routine will not
+ * detect characters that have not been assigned and therefore do not
+ * exist.
+ */
+static int verify_utf8(char *s)
+{
+ const char *buf = s;
+ const char *endbuf = s + strlen(s);
+ unsigned char byte2mask = 0x00, c;
+ int trailing = 0; /* trailing (continuation) bytes to follow */
+
+ while (buf != endbuf) {
+ c = *buf++;
+ if (trailing) {
+ if ((c & 0xC0) == 0x80) { /* Does trailing byte
+ follow UTF-8 format? */
+ if (byte2mask) { /* Need to check 2nd byte
+ for proper range? */
+ if (c & byte2mask) /* Are appropriate bits set? */
+ byte2mask = 0x00;
+ else
+ break;
+ }
+ trailing--;
+ }
+ else
+ break;
+ }
+ else {
+ if ((c & 0x80) == 0x00) /* valid 1 byte UTF-8 */
+ continue;
+ else if ((c & 0xE0) == 0xC0) /* valid 2 byte UTF-8 */
+ if (c & 0x1E) { /* Is UTF-8 byte
+ in proper range? */
+ trailing = 1;
+ }
+ else
+ break;
+ else if ((c & 0xF0) == 0xE0) { /* valid 3 byte UTF-8 */
+ if (!(c & 0x0F)) { /* Is UTF-8 byte
+ in proper range? */
+ byte2mask = 0x20; /* If not, set mask
+ to check next byte */
+ }
+ trailing = 2;
+ }
+ else if ((c & 0xF8) == 0xF0) { /* valid 4 byte UTF-8 */
+ if (!(c & 0x07)) { /* Is UTF-8 byte
+ in proper range? */
+ byte2mask = 0x30; /* If not, set mask
+ to check next byte */
+ }
+ trailing = 3;
+ }
+ else if ((c & 0xFC) == 0xF8) { /* valid 5 byte UTF-8 */
+ if (!(c & 0x03)) { /* Is UTF-8 byte
+ in proper range? */
+ byte2mask = 0x38; /* If not, set mask
+ to check next byte */
+ }
+ trailing = 4;
+ }
+ else if ((c & 0xFE) == 0xFC) { /* valid 6 byte UTF-8 */
+ if (!(c & 0x01)) { /* Is UTF-8 byte
+ in proper range? */
+ byte2mask = 0x3C; /* If not, set mask
+ to check next byte */
+ }
+ trailing = 5;
+ }
+ else
+ break;
+ }
+ }
+
+ if ((buf != endbuf) || trailing) {
+ snprintf(errbuf, ERR_BUF_SIZE,
+ "string '%s': not valid utf8", s);
+ yyerror(errbuf);
+ return 0;
+ }
+
+ return 1;
+}
+
diff -Nru cyrus-imapd-2.4-2.4.9/sieve/sieve.h cyrus-imapd-2.4-2.4.12/sieve/sieve.h
--- cyrus-imapd-2.4-2.4.9/sieve/sieve.h 2011-06-21 19:51:34.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/sieve/sieve.h 2011-10-04 20:03:49.000000000 +0000
@@ -1,77 +1,204 @@
-#define NUMBER 257
-#define STRING 258
-#define IF 259
-#define ELSIF 260
-#define ELSE 261
-#define REJCT 262
-#define FILEINTO 263
-#define REDIRECT 264
-#define KEEP 265
-#define STOP 266
-#define DISCARD 267
-#define VACATION 268
-#define REQUIRE 269
-#define SETFLAG 270
-#define ADDFLAG 271
-#define REMOVEFLAG 272
-#define MARK 273
-#define UNMARK 274
-#define NOTIFY 275
-#define DENOTIFY 276
-#define ANYOF 277
-#define ALLOF 278
-#define EXISTS 279
-#define SFALSE 280
-#define STRUE 281
-#define HEADER 282
-#define NOT 283
-#define SIZE 284
-#define ADDRESS 285
-#define ENVELOPE 286
-#define BODY 287
-#define COMPARATOR 288
-#define IS 289
-#define CONTAINS 290
-#define MATCHES 291
-#define REGEX 292
-#define COUNT 293
-#define VALUE 294
-#define OVER 295
-#define UNDER 296
-#define GT 297
-#define GE 298
-#define LT 299
-#define LE 300
-#define EQ 301
-#define NE 302
-#define ALL 303
-#define LOCALPART 304
-#define DOMAIN 305
-#define USER 306
-#define DETAIL 307
-#define RAW 308
-#define TEXT 309
-#define CONTENT 310
-#define DAYS 311
-#define ADDRESSES 312
-#define SUBJECT 313
-#define FROM 314
-#define HANDLE 315
-#define MIME 316
-#define METHOD 317
-#define ID 318
-#define OPTIONS 319
-#define LOW 320
-#define NORMAL 321
-#define HIGH 322
-#define ANY 323
-#define MESSAGE 324
-#define INCLUDE 325
-#define PERSONAL 326
-#define GLOBAL 327
-#define RETURN 328
-#define COPY 329
-typedef union {
+
+/* A Bison parser, made by GNU Bison 2.4.1. */
+
+/* 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 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 . */
+
+/* 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 yytokentype {
+ NUMBER = 258,
+ STRING = 259,
+ IF = 260,
+ ELSIF = 261,
+ ELSE = 262,
+ REJCT = 263,
+ FILEINTO = 264,
+ REDIRECT = 265,
+ KEEP = 266,
+ STOP = 267,
+ DISCARD = 268,
+ VACATION = 269,
+ REQUIRE = 270,
+ SETFLAG = 271,
+ ADDFLAG = 272,
+ REMOVEFLAG = 273,
+ MARK = 274,
+ UNMARK = 275,
+ NOTIFY = 276,
+ DENOTIFY = 277,
+ ANYOF = 278,
+ ALLOF = 279,
+ EXISTS = 280,
+ SFALSE = 281,
+ STRUE = 282,
+ HEADER = 283,
+ NOT = 284,
+ SIZE = 285,
+ ADDRESS = 286,
+ ENVELOPE = 287,
+ BODY = 288,
+ COMPARATOR = 289,
+ IS = 290,
+ CONTAINS = 291,
+ MATCHES = 292,
+ REGEX = 293,
+ COUNT = 294,
+ VALUE = 295,
+ OVER = 296,
+ UNDER = 297,
+ GT = 298,
+ GE = 299,
+ LT = 300,
+ LE = 301,
+ EQ = 302,
+ NE = 303,
+ ALL = 304,
+ LOCALPART = 305,
+ DOMAIN = 306,
+ USER = 307,
+ DETAIL = 308,
+ RAW = 309,
+ TEXT = 310,
+ CONTENT = 311,
+ DAYS = 312,
+ ADDRESSES = 313,
+ SUBJECT = 314,
+ FROM = 315,
+ HANDLE = 316,
+ MIME = 317,
+ METHOD = 318,
+ ID = 319,
+ OPTIONS = 320,
+ LOW = 321,
+ NORMAL = 322,
+ HIGH = 323,
+ ANY = 324,
+ MESSAGE = 325,
+ INCLUDE = 326,
+ PERSONAL = 327,
+ GLOBAL = 328,
+ RETURN = 329,
+ COPY = 330
+ };
+#endif
+/* Tokens. */
+#define NUMBER 258
+#define STRING 259
+#define IF 260
+#define ELSIF 261
+#define ELSE 262
+#define REJCT 263
+#define FILEINTO 264
+#define REDIRECT 265
+#define KEEP 266
+#define STOP 267
+#define DISCARD 268
+#define VACATION 269
+#define REQUIRE 270
+#define SETFLAG 271
+#define ADDFLAG 272
+#define REMOVEFLAG 273
+#define MARK 274
+#define UNMARK 275
+#define NOTIFY 276
+#define DENOTIFY 277
+#define ANYOF 278
+#define ALLOF 279
+#define EXISTS 280
+#define SFALSE 281
+#define STRUE 282
+#define HEADER 283
+#define NOT 284
+#define SIZE 285
+#define ADDRESS 286
+#define ENVELOPE 287
+#define BODY 288
+#define COMPARATOR 289
+#define IS 290
+#define CONTAINS 291
+#define MATCHES 292
+#define REGEX 293
+#define COUNT 294
+#define VALUE 295
+#define OVER 296
+#define UNDER 297
+#define GT 298
+#define GE 299
+#define LT 300
+#define LE 301
+#define EQ 302
+#define NE 303
+#define ALL 304
+#define LOCALPART 305
+#define DOMAIN 306
+#define USER 307
+#define DETAIL 308
+#define RAW 309
+#define TEXT 310
+#define CONTENT 311
+#define DAYS 312
+#define ADDRESSES 313
+#define SUBJECT 314
+#define FROM 315
+#define HANDLE 316
+#define MIME 317
+#define METHOD 318
+#define ID 319
+#define OPTIONS 320
+#define LOW 321
+#define NORMAL 322
+#define HIGH 323
+#define ANY 324
+#define MESSAGE 325
+#define INCLUDE 326
+#define PERSONAL 327
+#define GLOBAL 328
+#define RETURN 329
+#define COPY 330
+
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+{
+
+/* Line 1676 of yacc.c */
+#line 176 "sieve.y"
+
int nval;
char *sval;
stringlist_t *sl;
@@ -84,5 +211,17 @@
struct btags *btag;
struct ntags *ntag;
struct dtags *dtag;
+
+
+
+/* Line 1676 of yacc.c */
+#line 219 "y.tab.h"
} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
extern YYSTYPE yylval;
+
+
diff -Nru cyrus-imapd-2.4-2.4.9/timsieved/actions.c cyrus-imapd-2.4-2.4.12/timsieved/actions.c
--- cyrus-imapd-2.4-2.4.9/timsieved/actions.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/timsieved/actions.c 2011-10-04 19:53:03.000000000 +0000
@@ -83,7 +83,7 @@
directory! */
extern int sieved_userisadmin;
-char *sieve_dir = NULL;
+static char *sieve_dir_config = NULL;
static const char *sieved_userid = NULL;
@@ -94,7 +94,7 @@
sieve_usehomedir = config_getswitch(IMAPOPT_SIEVEUSEHOMEDIR);
if (!sieve_usehomedir) {
- sieve_dir = (char *) config_getstring(IMAPOPT_SIEVEDIR);
+ sieve_dir_config = (char *) config_getstring(IMAPOPT_SIEVEDIR);
} else {
/* can't use home directories with timsieved */
syslog(LOG_ERR, "can't use home directories");
@@ -108,11 +108,10 @@
int actions_setuser(const char *userid)
{
char userbuf[1024], *user, *domain = NULL;
- char *foo = sieve_dir;
size_t size = 1024, len;
int result;
- sieve_dir = (char *) xzmalloc(size+1);
+ char *sieve_dir = (char *) xzmalloc(size+1);
sieved_userid = xstrdup(userid);
user = (char *) userid;
@@ -123,7 +122,7 @@
if ((domain = strrchr(user, '@'))) *domain++ = '\0';
}
- len = strlcpy(sieve_dir, foo, size);
+ len = strlcpy(sieve_dir, sieve_dir_config, size);
if (domain) {
char dhash = (char) dir_hash_c(domain, config_fulldirhash);
@@ -146,10 +145,12 @@
if (!result) result = chdir(sieve_dir);
if (result) {
syslog(LOG_ERR, "mkdir %s: %m", sieve_dir);
+ free(sieve_dir);
return TIMSIEVE_FAIL;
}
}
+ free(sieve_dir);
return TIMSIEVE_OK;
}
@@ -205,6 +206,7 @@
if (tls_enabled() && !starttls_done && !authenticated) {
prot_printf(conn, "\"STARTTLS\"\r\n");
}
+ prot_printf(conn, "\"UNAUTHENTICATE\"\r\n");
prot_printf(conn,"OK\r\n");
@@ -233,7 +235,7 @@
result = stat(path, &filestats);
if (result != 0) {
- prot_printf(conn,"NO \"Script doesn't exist\"\r\n");
+ prot_printf(conn,"NO (NONEXISTENT) \"Script doesn't exist\"\r\n");
return TIMSIEVE_NOEXIST;
}
size = filestats.st_size;
@@ -316,7 +318,8 @@
FILE *stream;
char *dataptr;
char *errstr;
- int lup;
+ int i;
+ int last_was_r = 0;
int result;
char path[1024], p2[1024];
char bc_path[1024], bc_p2[1024];
@@ -340,7 +343,7 @@
if (countscripts(string_DATAPTR(name))+1 > maxscripts)
{
prot_printf(conn,
- "NO (\"QUOTA\") \"You are only allowed %d scripts on this server\"\r\n",
+ "NO (QUOTA/MAXSCRIPTS) \"You are only allowed %d scripts on this server\"\r\n",
maxscripts);
return TIMSIEVE_FAIL;
}
@@ -359,16 +362,23 @@
dataptr = string_DATAPTR(data);
- for (lup=0;lup<= data->len / BLOCKSIZE; lup++) {
- int amount = BLOCKSIZE;
-
- if (lup*BLOCKSIZE+BLOCKSIZE > data->len)
- amount=data->len % BLOCKSIZE;
-
- fwrite(dataptr, 1, amount, stream);
-
- dataptr += amount;
+ /* copy data to file - replacing any lone \r or \n with the
+ * \r\n pair so notify messages are SMTP compatible */
+ for (i = 0; i < data->len; i++) {
+ if (last_was_r) {
+ if (dataptr[i] != '\n')
+ putc('\n', stream);
+ }
+ else {
+ if (dataptr[i] == '\n')
+ putc('\r', stream);
+ }
+ putc(dataptr[i], stream);
+ last_was_r = (dataptr[i] == '\r');
}
+ if (last_was_r)
+ putc('\n', stream);
+
/* let's make sure this is a valid script
(no parse errors)
@@ -496,14 +506,18 @@
snprintf(path, 1023, "%s.script", string_DATAPTR(name));
- if (isactive(string_DATAPTR(name)) && (deleteactive(conn)!=TIMSIEVE_OK)) {
- return TIMSIEVE_FAIL;
+ if (isactive(string_DATAPTR(name))) {
+ prot_printf(conn, "NO (ACTIVE) \"Active script cannot be deleted\"\r\n");
+ return TIMSIEVE_FAIL;
}
result = unlink(path);
if (result != 0) {
- prot_printf(conn,"NO \"Error deleting script\"\r\n");
+ if (result == ENOENT)
+ prot_printf(conn, "NO (NONEXISTENT) \"Script %s does not exist.\"\r\n", string_DATAPTR(name));
+ else
+ prot_printf(conn,"NO \"Error deleting script\"\r\n");
return TIMSIEVE_FAIL;
}
@@ -610,7 +624,7 @@
if (exists(string_DATAPTR(name))==FALSE)
{
- prot_printf(conn,"NO \"Script does not exist\"\r\n");
+ prot_printf(conn,"NO (NONEXISTENT) \"Script does not exist\"\r\n");
return TIMSIEVE_NOEXIST;
}
@@ -667,7 +681,7 @@
if (num > maxscriptsize)
{
prot_printf(conn,
- "NO (\"QUOTA\") \"Script size is too large. "
+ "NO (QUOTA/MAXSIZE) \"Script size is too large. "
"Max script size is %ld bytes\"\r\n",
maxscriptsize);
return TIMSIEVE_FAIL;
@@ -679,7 +693,7 @@
if (countscripts(string_DATAPTR(sieve_name))+1 > maxscripts)
{
prot_printf(conn,
- "NO (\"QUOTA\") \"You are only allowed %d scripts on this server\"\r\n",
+ "NO (QUOTA/MAXSCRIPTS) \"You are only allowed %d scripts on this server\"\r\n",
maxscripts);
return TIMSIEVE_FAIL;
}
diff -Nru cyrus-imapd-2.4-2.4.9/timsieved/lex.c cyrus-imapd-2.4-2.4.12/timsieved/lex.c
--- cyrus-imapd-2.4-2.4.9/timsieved/lex.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/timsieved/lex.c 2011-10-04 19:53:03.000000000 +0000
@@ -82,6 +82,7 @@
case 'g':
if (strcmp(str, "getscript")==0) return GETSCRIPT;
break;
+
case 'h':
if (strcmp(str, "havespace")==0) return HAVESPACE;
break;
@@ -91,6 +92,10 @@
if (strcmp(str, "logout")==0) return LOGOUT;
break;
+ case 'n':
+ if (strcmp(str, "noop")==0) return NOOP;
+ break;
+
case 'p':
if (strcmp(str, "putscript")==0) return PUTSCRIPT;
break;
@@ -100,6 +105,10 @@
if (strcmp(str, "starttls")==0 && tls_enabled())
return STARTTLS;
break;
+
+ case 'u':
+ if (strcmp(str, "unauthenticate")==0) return UNAUTHENTICATE;
+ break;
}
/* error, nothing matched */
diff -Nru cyrus-imapd-2.4-2.4.9/timsieved/lex.h cyrus-imapd-2.4-2.4.12/timsieved/lex.h
--- cyrus-imapd-2.4-2.4.9/timsieved/lex.h 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/timsieved/lex.h 2011-10-04 19:53:03.000000000 +0000
@@ -80,6 +80,8 @@
#define CAPABILITY 407
#define HAVESPACE 408
#define STARTTLS 409
+#define NOOP 410
+#define UNAUTHENTICATE 411
int lex_init(void);
diff -Nru cyrus-imapd-2.4-2.4.9/timsieved/parser.c cyrus-imapd-2.4-2.4.12/timsieved/parser.c
--- cyrus-imapd-2.4-2.4.9/timsieved/parser.c 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/timsieved/parser.c 2011-10-04 19:53:03.000000000 +0000
@@ -101,6 +101,8 @@
struct protstream *sieved_in);
static int cmd_authenticate(struct protstream *sieved_out, struct protstream *sieved_in,
mystring_t *mechanism_name, mystring_t *initial_challenge, const char **errmsg);
+static void cmd_unauthenticate(struct protstream *sieved_out,
+ struct protstream *sieved_in);
static int cmd_starttls(struct protstream *sieved_out, struct protstream *sieved_in);
static char *sieve_parsesuccess(char *str, const char **status)
@@ -152,6 +154,7 @@
if (!authenticated && (token > 255) && (token!=AUTHENTICATE) &&
(token!=LOGOUT) && (token!=CAPABILITY) &&
+ (token!=NOOP) &&
(!tls_enabled() || (token!=STARTTLS)))
{
error_msg = "Authenticate first";
@@ -454,6 +457,57 @@
break;
+ case NOOP:
+
+ token = timlex(NULL, NULL, sieved_in);
+ mystring_t *noop_param = NULL;
+ if (token != EOL)
+ {
+ /* optional string parameter */
+ if (token!=SPACE)
+ {
+ error_msg = "Expected SPACE";
+ goto error;
+ }
+
+ if (timlex(&noop_param, NULL, sieved_in)!=STRING)
+ {
+ error_msg = "Expected string";
+ free(noop_param);
+ goto error;
+ }
+
+ token = timlex(NULL, NULL, sieved_in);
+ }
+
+ if (token != EOL)
+ {
+ error_msg = "Expected EOL";
+ free(noop_param);
+ goto error;
+ }
+
+ if (noop_param != NULL) {
+ int temp;
+ char* dataptr = string_DATAPTR(noop_param);
+ prot_printf(sieved_out, "OK (TAG {%d}\r\n", noop_param->len);
+ for (temp = 0; temp < noop_param->len; temp++)
+ prot_putc(dataptr[temp], sieved_out);
+ prot_printf(sieved_out, ") \"Done\"\r\n");
+ free(noop_param);
+ } else
+ prot_printf(sieved_out, "OK \"Done\"\r\n");
+ break;
+
+ case UNAUTHENTICATE:
+ if (timlex(NULL, NULL, sieved_in)!=EOL)
+ {
+ error_msg = "Expected EOL";
+ goto error;
+ }
+ cmd_unauthenticate(sieved_out, sieved_in);
+ break;
+
default:
error_msg="Expected a command. Got something else.";
goto error;
@@ -516,6 +570,18 @@
extern int reset_saslconn(sasl_conn_t **conn, sasl_ssf_t ssf, char *authid);
+static void cmd_unauthenticate(struct protstream *sieved_out,
+ struct protstream *sieved_in)
+{
+ if (chdir("/tmp/"))
+ syslog(LOG_ERR, "Failed to chdir to /tmp/");
+ reset_saslconn(&sieved_saslconn, sieved_in->saslssf, authid);
+ prot_unsetsasl(sieved_out);
+ prot_unsetsasl(sieved_in);
+ prot_printf(sieved_out, "OK\r\n");
+ authenticated = 0;
+}
+
static int cmd_authenticate(struct protstream *sieved_out,
struct protstream *sieved_in,
mystring_t *mechanism_name,
diff -Nru cyrus-imapd-2.4-2.4.9/tools/config2header cyrus-imapd-2.4-2.4.12/tools/config2header
--- cyrus-imapd-2.4-2.4.9/tools/config2header 2011-06-21 19:50:39.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/tools/config2header 2011-10-04 19:53:03.000000000 +0000
@@ -71,7 +71,7 @@
# Look for CC=xxx "assigments" in the argument list.
#
while ($#ARGV >= 0) {
- last unless ($ARGV[0] =~ m/^(\S+)=(\S+)$/);
+ last unless ($ARGV[0] =~ m/^(\S+)=(.*)$/);
eval "\$$1='$2';";
die "$@" if ($@);
shift @ARGV;
diff -Nru cyrus-imapd-2.4-2.4.9/xversion.h cyrus-imapd-2.4-2.4.12/xversion.h
--- cyrus-imapd-2.4-2.4.9/xversion.h 2011-06-21 19:51:32.000000000 +0000
+++ cyrus-imapd-2.4-2.4.12/xversion.h 2011-10-04 20:03:32.000000000 +0000
@@ -1,3 +1,3 @@
-/* Release cyrus-imapd-2.4.9 */
-#define _CYRUS_VERSION "v2.4.9"
-#define CYRUS_GITVERSION "ebb103d8 2011-06-21"
+/* Release cyrus-imapd-2.4.12 */
+#define _CYRUS_VERSION "v2.4.12"
+#define CYRUS_GITVERSION "63b65d1c 2011-10-04"