test: unittest$(EXEEXT) testbound$(EXEEXT)
./unittest$(EXEEXT)
./testbound$(EXEEXT) -s
- for x in $(srcdir)/testdata/*.rpl; do printf "%s" "$$x "; if ./testbound$(EXEEXT) -p $$x >/dev/null 2>&1; then echo OK; else echo failed; exit 1; fi done
+ for x in $(srcdir)/testdata/*.rpl; do \
+ printf "%s" "$$x "; \
+ if ./testbound$(EXEEXT) -p $$x >/dev/null 2>&1; then \
+ echo OK; \
+ else \
+ echo failed; \
+ ./testbound$(EXEEXT) -p $$x -o -vvvvv; \
+ printf "%s" "$$x "; \
+ echo failed; \
+ exit 1; \
+ fi; \
+ done
@echo test OK
longtest: tests
# Report bugs to <unbound-bugs@nlnetlabs.nl or https://github.com/NLnetLabs/unbound/issues>.
#
#
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
+# Inc.
#
#
# This configure script is free software; the Free Software Foundation
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+as_nop=:
+if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
-else
+else $as_nop
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
fi
+
+# Reset variables that may have inherited troublesome values from
+# the environment.
+
+# IFS needs to be set, to space, tab, and newline, in precisely that order.
+# (If _AS_PATH_WALK were called with IFS unset, it would have the
+# side effect of setting IFS to empty, thus disabling word splitting.)
+# Quoting is to prevent editors from complaining about space-tab.
as_nl='
'
export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
+IFS=" "" $as_nl"
+
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# Ensure predictable behavior from utilities with locale-dependent output.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# We cannot yet rely on "unset" to work, but we need these variables
+# to be unset--not just set to an empty or harmless value--now, to
+# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
+# also avoids known problems related to "unset" and subshell syntax
+# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
+for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+do eval test \${$as_var+y} \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+
+# Ensure that fds 0, 1, and 2 are open.
+if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
+if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
+if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
+if ${PATH_SEPARATOR+false} :; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
fi
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
# Find who we are. Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ test -r "$as_dir$0" && as_myself=$as_dir$0 && break
done
IFS=$as_save_IFS
as_myself=$0
fi
if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
# Use a proper internal environment variable to ensure we don't fall
# into an infinite loop, continuously re-executing ourselves.
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
fi
# We don't want this to propagate to other subprocesses.
{ _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ as_bourne_compatible="as_nop=:
+if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
# is contrary to our usage. Disable this feature.
alias -g '\${1+\"\$@\"}'='\"\$@\"'
setopt NO_GLOB_SUBST
-else
+else \$as_nop
case \`(set -o) 2>/dev/null\` in #(
*posix*) :
set -o posix ;; #(
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+if ( set x; as_fn_ret_success y && test x = \"\$1\" )
+then :
-else
+else \$as_nop
exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1
+blah=\$(echo \$(echo blah))
+test x\"\$blah\" = xblah || exit 1
test -x / || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1
test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
PATH=/empty FPATH=/empty; export PATH FPATH
test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
+ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+ if (eval "$as_required") 2>/dev/null
+then :
as_have_required=yes
-else
+else $as_nop
as_have_required=no
fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
+then :
-else
+else $as_nop
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
as_found=:
case $as_dir in #(
/*)
for as_base in sh bash ksh sh5; do
# Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
+ as_shell=$as_dir$as_base
if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
+then :
CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
+then :
break 2
fi
fi
esac
as_found=false
done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
IFS=$as_save_IFS
+if $as_found
+then :
+
+else $as_nop
+ if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
+then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi
+fi
- if test "x$CONFIG_SHELL" != x; then :
+ if test "x$CONFIG_SHELL" != x
+then :
export CONFIG_SHELL
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ if test x$as_have_required = xno
+then :
+ printf "%s\n" "$0: This script requires a shell more modern than all"
+ printf "%s\n" "$0: the shells that I found on your system."
+ if test ${ZSH_VERSION+y} ; then
+ printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and
+ printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and
$0: unbound-bugs@nlnetlabs.nl or
$0: https://github.com/NLnetLabs/unbound/issues about your
$0: system, including any error possibly output before this
}
as_unset=as_fn_unset
+
# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status $1
exit $1
} # as_fn_exit
+# as_fn_nop
+# ---------
+# Do nothing but, unlike ":", preserve the value of $?.
+as_fn_nop ()
+{
+ return $?
+}
+as_nop=as_fn_nop
# as_fn_mkdir_p
# -------------
as_dirs=
while :; do
case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
+printf "%s\n" X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
+then :
eval 'as_fn_append ()
{
eval $1+=\$2
}'
-else
+else $as_nop
as_fn_append ()
{
eval $1=\$$1\$2
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
+then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
}'
-else
+else $as_nop
as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
}
fi # as_fn_arith
+# as_fn_nop
+# ---------
+# Do nothing but, unlike ":", preserve the value of $?.
+as_fn_nop ()
+{
+ return $?
+}
+as_nop=as_fn_nop
# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
as_status=$1; test $as_status -eq 0 && as_status=1
if test "$4"; then
as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
- $as_echo "$as_me: error: $2" >&2
+ printf "%s\n" "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
+printf "%s\n" X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+ { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
# If we had to re-execute with $CONFIG_SHELL, we're ensured to have
# already done that, so ensure we don't try to do so again and fall
exit
}
+
+# Determine whether it's possible to make 'echo' print without a newline.
+# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
+# for compatibility with existing Makefiles.
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
ECHO_N='-n';;
esac
+# For backward compatibility with old third-party macros, we provide
+# the shell variables $as_echo and $as_echo_n. New code should use
+# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
+as_echo='printf %s\n'
+as_echo_n='printf %s'
+
+
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
# Factoring default headers for most tests.
ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
+#include <stddef.h>
+#ifdef HAVE_STDIO_H
+# include <stdio.h>
#endif
-#ifdef STDC_HEADERS
+#ifdef HAVE_STDLIB_H
# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
#endif
#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
# include <string.h>
#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
# include <stdint.h>
#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif"
+ac_header_c_list=
+ac_func_c_list=
ac_subst_vars='LTLIBOBJS
date
version
SYSTEMD_CFLAGS
RUNTIME_PATH
LIBOBJS
+CPP
PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
PKG_CONFIG
DUMPBIN
LD
FGREP
+EGREP
+GREP
SED
LIBTOOL
AR
UNBOUND_LOCALSTATE_DIR
UNBOUND_SYSCONF_DIR
UNBOUND_SBIN_DIR
-EGREP
-GREP
-CPP
OBJEXT
EXEEXT
ac_ct_CC
LDFLAGS
LIBS
CPPFLAGS
-CPP
YACC
YFLAGS
LT_SYS_LIBRARY_PATH
PKG_CONFIG
PKG_CONFIG_PATH
PKG_CONFIG_LIBDIR
+CPP
SYSTEMD_CFLAGS
SYSTEMD_LIBS
SYSTEMD_DAEMON_CFLAGS
*) ac_optarg=yes ;;
esac
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
case $ac_dashdash$ac_option in
--)
ac_dashdash=yes ;;
ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
+ as_fn_error $? "invalid feature name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
+ as_fn_error $? "invalid feature name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
+ as_fn_error $? "invalid package name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
+ as_fn_error $? "invalid package name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
*)
# FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ printf "%s\n" "$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
+ printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2
: "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
case $enable_option_checking in
no) ;;
fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
fi
X"$as_myself" : 'X\(//\)[^/]' \| \
X"$as_myself" : 'X\(//\)$' \| \
X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
+printf "%s\n" X"$as_myself" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
YACC The `Yet Another Compiler Compiler' implementation to use.
Defaults to the first program found out of: `bison -y', `byacc',
`yacc'.
directories to add to pkg-config's search path
PKG_CONFIG_LIBDIR
path overriding pkg-config's built-in search path
+ CPP C preprocessor
SYSTEMD_CFLAGS
C compiler flags for SYSTEMD, overriding pkg-config
SYSTEMD_LIBS
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
+ # Check for configure.gnu first; this name is used for a wrapper for
+ # Metaconfig's "Configure" on case-insensitive file systems.
if test -f "$ac_srcdir/configure.gnu"; then
echo &&
$SHELL "$ac_srcdir/configure.gnu" --help=recursive
echo &&
$SHELL "$ac_srcdir/configure" --help=recursive
else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi || ac_status=$?
cd "$ac_pwd" || { ac_status=$?; break; }
done
unbound configure 1.15.1
generated by GNU Autoconf 2.69
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2021 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
ac_fn_c_try_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
+ rm -f conftest.$ac_objext conftest.beam
if { { ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
+ } && test -s conftest.$ac_objext
+then :
ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+ printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
} # ac_fn_c_try_compile
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- 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 \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## --------------------------------------------------------------------------------------- ##
-## Report this to unbound-bugs@nlnetlabs.nl or https://github.com/NLnetLabs/unbound/issues ##
-## --------------------------------------------------------------------------------------- ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
# -------------------------------------------------------
# Tests whether HEADER exists and can be compiled using the include files in
ac_fn_c_check_header_compile ()
{
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 \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
#include <$2>
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
eval "$3=yes"
-else
+else $as_nop
eval "$3=no"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_compile
ac_fn_c_try_link ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
+ rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
test -x conftest$ac_exeext
- }; then :
+ }
+then :
ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+ printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
ac_fn_c_check_func ()
{
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 \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
#define $2 innocuous_$2
/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+ which can conflict with char $2 (); below. */
+#include <limits.h>
#undef $2
/* Override any GCC internal prototype to avoid an error.
#endif
int
-main ()
+main (void)
{
return $2 ();
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
eval "$3=yes"
-else
+else $as_nop
eval "$3=no"
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_func
ac_fn_c_check_type ()
{
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 \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
eval "$3=no"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
-main ()
+main (void)
{
if (sizeof ($2))
return 0;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
-main ()
+main (void)
{
if (sizeof (($2)))
return 0;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
-else
+else $as_nop
eval "$3=yes"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_type
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=0 ac_mid=0
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }
+then :
+ ac_retval=0
+else $as_nop
+ printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that
+# executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }
+then :
+ ac_retval=0
+else $as_nop
+ printf "%s\n" "$as_me: program exited with status $ac_status" >&5
+ printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
+# --------------------------------------------
+# Tries to find the compile-time value of EXPR in a program that includes
+# INCLUDES, setting VAR accordingly. Returns whether the value could be
+# computed
+ac_fn_c_compute_int ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main (void)
+{
+static int test_array [1 - 2 * !(($2) >= 0)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main (void)
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_hi=$ac_mid; break
-else
+else $as_nop
as_fn_arith $ac_mid + 1 && ac_lo=$as_val
if test $ac_lo -le $ac_mid; then
ac_lo= ac_hi=
fi
as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
done
-else
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
-main ()
+main (void)
{
static int test_array [1 - 2 * !(($2) < 0)];
test_array [0] = 0;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_hi=-1 ac_mid=-1
while :; do
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
-main ()
+main (void)
{
static int test_array [1 - 2 * !(($2) >= $ac_mid)];
test_array [0] = 0;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_lo=$ac_mid; break
-else
+else $as_nop
as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
if test $ac_mid -le $ac_hi; then
ac_lo= ac_hi=
fi
as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
done
-else
+else $as_nop
ac_lo= ac_hi=
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Binary search between lo and hi bounds.
while test "x$ac_lo" != "x$ac_hi"; do
as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
/* end confdefs.h. */
$4
int
-main ()
+main (void)
{
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
test_array [0] = 0;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_hi=$ac_mid
-else
+else $as_nop
as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
done
case $ac_lo in #((
?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
+static long int longval (void) { return $2; }
+static unsigned long int ulongval (void) { return $2; }
#include <stdio.h>
#include <stdlib.h>
int
-main ()
+main (void)
{
FILE *f = fopen ("conftest.val", "w");
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
+if ac_fn_c_try_run "$LINENO"
+then :
echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
+else $as_nop
ac_retval=1
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
} # ac_fn_c_compute_int
-# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
-# ---------------------------------------------
+# ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR
+# ------------------------------------------------------------------
# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
-# accordingly.
-ac_fn_c_check_decl ()
+# accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR.
+ac_fn_check_decl ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
as_decl_name=`echo $2|sed 's/ *(.*//'`
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+printf %s "checking whether $as_decl_name is declared... " >&6; }
+if eval test \${$3+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
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 \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ eval ac_save_FLAGS=\$$6
+ as_fn_append $6 " $5"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
-main ()
+main (void)
{
#ifndef $as_decl_name
#ifdef __cplusplus
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
eval "$3=yes"
-else
+else $as_nop
eval "$3=no"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ eval $6=\$ac_save_FLAGS
+
fi
eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-} # ac_fn_c_check_decl
+} # ac_fn_check_decl
# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
# ----------------------------------------------------
ac_fn_c_check_member ()
{
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 \${$4+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
+printf %s "checking for $2.$3... " >&6; }
+if eval test \${$4+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$5
int
-main ()
+main (void)
{
static $2 ac_aggr;
if (ac_aggr.$3)
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
eval "$4=yes"
-else
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$5
int
-main ()
+main (void)
{
static $2 ac_aggr;
if (sizeof ac_aggr.$3)
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
eval "$4=yes"
-else
+else $as_nop
eval "$4=no"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
eval ac_res=\$$4
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_member
+ac_configure_args_raw=
+for ac_arg
+do
+ case $ac_arg in
+ *\'*)
+ ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ as_fn_append ac_configure_args_raw " '$ac_arg'"
+done
+
+case $ac_configure_args_raw in
+ *$as_nl*)
+ ac_safe_unquote= ;;
+ *)
+ ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab.
+ ac_unsafe_a="$ac_unsafe_z#~"
+ ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"
+ ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;
+esac
+
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by unbound $as_me 1.15.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
- $ $0 $@
+ $ $0$ac_configure_args_raw
_ACEOF
exec 5>>config.log
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ printf "%s\n" "PATH: $as_dir"
done
IFS=$as_save_IFS
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
# WARNING: Use '\'' to represent an apostrophe within the trap.
# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
+ # Sanitize IFS.
+ IFS=" "" $as_nl"
# Save into config.log some information that might help in debugging.
{
echo
- $as_echo "## ---------------- ##
+ printf "%s\n" "## ---------------- ##
## Cache variables. ##
## ---------------- ##"
echo
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
)
echo
- $as_echo "## ----------------- ##
+ printf "%s\n" "## ----------------- ##
## Output variables. ##
## ----------------- ##"
echo
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- $as_echo "$ac_var='\''$ac_val'\''"
+ printf "%s\n" "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
+ printf "%s\n" "## ------------------- ##
## File substitutions. ##
## ------------------- ##"
echo
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- $as_echo "$ac_var='\''$ac_val'\''"
+ printf "%s\n" "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
if test -s confdefs.h; then
- $as_echo "## ----------- ##
+ printf "%s\n" "## ----------- ##
## confdefs.h. ##
## ----------- ##"
echo
echo
fi
test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
+ printf "%s\n" "$as_me: caught signal $ac_signal"
+ printf "%s\n" "$as_me: exit $exit_status"
} >&5
rm -f core *.core core.conftest.* &&
rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -f -r conftest* confdefs.h
-$as_echo "/* confdefs.h */" > confdefs.h
+printf "%s\n" "/* confdefs.h */" > confdefs.h
# Predefined preprocessor variables.
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
+printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
+printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
+printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
+printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
+printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
+printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h
# Let the site file select an alternate cache file if it wants to.
# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
+ ac_site_files="$CONFIG_SITE"
elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
+ ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
+ ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+
+for ac_site_file in $ac_site_files
do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ case $ac_site_file in #(
+ */*) :
+ ;; #(
+ *) :
+ ac_site_file=./$ac_site_file ;;
+esac
+ if test -f "$ac_site_file" && test -r "$ac_site_file"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$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; }
fi
# Some versions of bash will fail to source /dev/null (special files
# actually), so we avoid doing that. DJGPP emulates it as a regular file.
if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
+as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
+# Test code for whether the C compiler supports C89 (global declarations)
+ac_c_conftest_c89_globals='
+/* Does the compiler advertise C89 conformance?
+ Do not test the value of __STDC__, because some compilers set it to 0
+ while being otherwise adequately conformant. */
+#if !defined __STDC__
+# error "Compiler does not advertise C89 conformance"
+#endif
+
+#include <stddef.h>
+#include <stdarg.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
+struct buf { int x; };
+struct buf * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not \xHH hex character constants.
+ These do not provoke an error unfortunately, instead are silently treated
+ as an "x". The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously \x00 != x always comes out true, for an
+ array size at least. It is necessary to write \x00 == 0 to get something
+ that is true only with -std. */
+int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) '\''x'\''
+int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
+ int, int);'
+
+# Test code for whether the C compiler supports C89 (body of main).
+ac_c_conftest_c89_main='
+ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
+'
+
+# Test code for whether the C compiler supports C99 (global declarations)
+ac_c_conftest_c99_globals='
+// Does the compiler advertise C99 conformance?
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
+# error "Compiler does not advertise C99 conformance"
+#endif
+
+#include <stdbool.h>
+extern int puts (const char *);
+extern int printf (const char *, ...);
+extern int dprintf (int, const char *, ...);
+extern void *malloc (size_t);
+
+// Check varargs macros. These examples are taken from C99 6.10.3.5.
+// dprintf is used instead of fprintf to avoid needing to declare
+// FILE and stderr.
+#define debug(...) dprintf (2, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
+{
+ int x = 1234;
+ int y = 5678;
+ debug ("Flag");
+ debug ("X = %d\n", x);
+ showlist (The first, second, and third items.);
+ report (x>y, "x is %d but y is %d", x, y);
+}
+
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+ #error "your preprocessor is broken"
+#endif
+#if BIG_OK
+#else
+ #error "your preprocessor is broken"
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
+
+struct incomplete_array
+{
+ int datasize;
+ double data[];
+};
+
+struct named_init {
+ int number;
+ const wchar_t *name;
+ double average;
+};
+
+typedef const char *ccp;
+
+static inline int
+test_restrict (ccp restrict text)
+{
+ // See if C++-style comments work.
+ // Iterate through items via the restricted pointer.
+ // Also check for declarations in for loops.
+ for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
+ continue;
+ return 0;
+}
+
+// Check varargs and va_copy.
+static bool
+test_varargs (const char *format, ...)
+{
+ va_list args;
+ va_start (args, format);
+ va_list args_copy;
+ va_copy (args_copy, args);
+
+ const char *str = "";
+ int number = 0;
+ float fnumber = 0;
+
+ while (*format)
+ {
+ switch (*format++)
+ {
+ case '\''s'\'': // string
+ str = va_arg (args_copy, const char *);
+ break;
+ case '\''d'\'': // int
+ number = va_arg (args_copy, int);
+ break;
+ case '\''f'\'': // float
+ fnumber = va_arg (args_copy, double);
+ break;
+ default:
+ break;
+ }
+ }
+ va_end (args_copy);
+ va_end (args);
+
+ return *str && number && fnumber;
+}
+'
+
+# Test code for whether the C compiler supports C99 (body of main).
+ac_c_conftest_c99_main='
+ // Check bool.
+ _Bool success = false;
+ success |= (argc != 0);
+
+ // Check restrict.
+ if (test_restrict ("String literal") == 0)
+ success = true;
+ char *restrict newvar = "Another string";
+
+ // Check varargs.
+ success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
+ test_varargs_macros ();
+
+ // Check flexible array members.
+ struct incomplete_array *ia =
+ malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+ ia->datasize = 10;
+ for (int i = 0; i < ia->datasize; ++i)
+ ia->data[i] = i * 1.234;
+
+ // Check named initializers.
+ struct named_init ni = {
+ .number = 34,
+ .name = L"Test wide string",
+ .average = 543.34343,
+ };
+
+ ni.number = 58;
+
+ int dynamic_array[ni.number];
+ dynamic_array[0] = argv[0][0];
+ dynamic_array[ni.number - 1] = 543;
+
+ // work around unused variable warnings
+ ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
+ || dynamic_array[ni.number - 1] != 543);
+'
+
+# Test code for whether the C compiler supports C11 (global declarations)
+ac_c_conftest_c11_globals='
+// Does the compiler advertise C11 conformance?
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
+# error "Compiler does not advertise C11 conformance"
+#endif
+
+// Check _Alignas.
+char _Alignas (double) aligned_as_double;
+char _Alignas (0) no_special_alignment;
+extern char aligned_as_int;
+char _Alignas (0) _Alignas (int) aligned_as_int;
+
+// Check _Alignof.
+enum
+{
+ int_alignment = _Alignof (int),
+ int_array_alignment = _Alignof (int[100]),
+ char_alignment = _Alignof (char)
+};
+_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
+
+// Check _Noreturn.
+int _Noreturn does_not_return (void) { for (;;) continue; }
+
+// Check _Static_assert.
+struct test_static_assert
+{
+ int x;
+ _Static_assert (sizeof (int) <= sizeof (long int),
+ "_Static_assert does not work in struct");
+ long int y;
+};
+
+// Check UTF-8 literals.
+#define u8 syntax error!
+char const utf8_literal[] = u8"happens to be ASCII" "another string";
+
+// Check duplicate typedefs.
+typedef long *long_ptr;
+typedef long int *long_ptr;
+typedef long_ptr long_ptr;
+
+// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
+struct anonymous
+{
+ union {
+ struct { int i; int j; };
+ struct { int k; long int l; } w;
+ };
+ int m;
+} v1;
+'
+
+# Test code for whether the C compiler supports C11 (body of main).
+ac_c_conftest_c11_main='
+ _Static_assert ((offsetof (struct anonymous, i)
+ == offsetof (struct anonymous, w.k)),
+ "Anonymous union alignment botch");
+ v1.i = 2;
+ v1.w.k = 5;
+ ok |= v1.i != 5;
+'
+
+# Test code for whether the C compiler supports C11 (complete).
+ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
+${ac_c_conftest_c99_globals}
+${ac_c_conftest_c11_globals}
+
+int
+main (int argc, char **argv)
+{
+ int ok = 0;
+ ${ac_c_conftest_c89_main}
+ ${ac_c_conftest_c99_main}
+ ${ac_c_conftest_c11_main}
+ return ok;
+}
+"
+
+# Test code for whether the C compiler supports C99 (complete).
+ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
+${ac_c_conftest_c99_globals}
+
+int
+main (int argc, char **argv)
+{
+ int ok = 0;
+ ${ac_c_conftest_c89_main}
+ ${ac_c_conftest_c99_main}
+ return ok;
+}
+"
+
+# Test code for whether the C compiler supports C89 (complete).
+ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}
+
+int
+main (int argc, char **argv)
+{
+ int ok = 0;
+ ${ac_c_conftest_c89_main}
+ return ok;
+}
+"
+
+as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"
+as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"
+as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"
+as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"
+as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"
+as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"
+as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
+as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"
+as_fn_append ac_header_c_list " wchar.h wchar_h HAVE_WCHAR_H"
+as_fn_append ac_header_c_list " minix/config.h minix_config_h HAVE_MINIX_CONFIG_H"
+as_fn_append ac_header_c_list " vfork.h vfork_h HAVE_VFORK_H"
+as_fn_append ac_func_c_list " fork HAVE_FORK"
+as_fn_append ac_func_c_list " vfork HAVE_VFORK"
+
+# Auxiliary files required by this configure script.
+ac_aux_files="ltmain.sh config.guess config.sub"
+
+# Locations in which to look for auxiliary files.
+ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.."
+
+# Search for a directory containing all of the required auxiliary files,
+# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates.
+# If we don't find one directory that contains all the files we need,
+# we report the set of missing files from the *first* directory in
+# $ac_aux_dir_candidates and give up.
+ac_missing_aux_files=""
+ac_first_candidate=:
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in $ac_aux_dir_candidates
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ as_found=:
+
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5
+ ac_aux_dir_found=yes
+ ac_install_sh=
+ for ac_aux in $ac_aux_files
+ do
+ # As a special case, if "install-sh" is required, that requirement
+ # can be satisfied by any of "install-sh", "install.sh", or "shtool",
+ # and $ac_install_sh is set appropriately for whichever one is found.
+ if test x"$ac_aux" = x"install-sh"
+ then
+ if test -f "${as_dir}install-sh"; then
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5
+ ac_install_sh="${as_dir}install-sh -c"
+ elif test -f "${as_dir}install.sh"; then
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5
+ ac_install_sh="${as_dir}install.sh -c"
+ elif test -f "${as_dir}shtool"; then
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5
+ ac_install_sh="${as_dir}shtool install -c"
+ else
+ ac_aux_dir_found=no
+ if $ac_first_candidate; then
+ ac_missing_aux_files="${ac_missing_aux_files} install-sh"
+ else
+ break
+ fi
+ fi
+ else
+ if test -f "${as_dir}${ac_aux}"; then
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5
+ else
+ ac_aux_dir_found=no
+ if $ac_first_candidate; then
+ ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}"
+ else
+ break
+ fi
+ fi
+ fi
+ done
+ if test "$ac_aux_dir_found" = yes; then
+ ac_aux_dir="$as_dir"
+ break
+ fi
+ ac_first_candidate=false
+
+ as_found=false
+done
+IFS=$as_save_IFS
+if $as_found
+then :
+
+else $as_nop
+ as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5
+fi
+
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+if test -f "${ac_aux_dir}config.guess"; then
+ ac_config_guess="$SHELL ${ac_aux_dir}config.guess"
+fi
+if test -f "${ac_aux_dir}config.sub"; then
+ ac_config_sub="$SHELL ${ac_aux_dir}config.sub"
+fi
+if test -f "$ac_aux_dir/configure"; then
+ ac_configure="$SHELL ${ac_aux_dir}configure"
+fi
+
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
ac_old_val_w=`echo x $ac_old_val`
ac_new_val_w=`echo x $ac_new_val`
if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
ac_cache_corrupted=:
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
eval $ac_var=\$ac_old_val
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
+printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
fi
done
if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$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
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
+ as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'
+ and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
cmdln="`echo $@ | sed -e 's/\\\\/\\\\\\\\/g' | sed -e 's/"/\\\\"/'g`"
-cat >>confdefs.h <<_ACEOF
-#define CONFCMDLINE "$cmdln"
-_ACEOF
+printf "%s\n" "#define CONFCMDLINE \"$cmdln\"" >>confdefs.h
CFLAGS="$CFLAGS"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
# However, it has the same basename, so the bogon will be chosen
# first if we set CC to just the basename; use the full file name.
shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
fi
fi
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
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 ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
+set dummy ${ac_tool_prefix}clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}clang"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "clang", so it can be a program name with args.
+set dummy clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="clang"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+fi
+
+
+test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$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; }
# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
set X $ac_compile
ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
+for ac_option in --version -v -V -qversion -version; do
{ { ac_try="$ac_compiler $ac_option >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compiler $ac_option >&5") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
cat conftest.er1 >&5
fi
rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+printf %s "checking whether the C compiler works... " >&6; }
+ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
# The possible output files:
ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link_default") 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+then :
# Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
# in a Makefile. We should not override ac_cv_exeext if it was cached,
# certainly right.
break;;
*.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;
then :; else
ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
fi
done
test "$ac_cv_exeext" = no && ac_cv_exeext=
-else
+else $as_nop
ac_file=''
fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
+if test -z "$ac_file"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "C compiler cannot create executables
See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+printf %s "checking for C compiler default output file name... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+printf "%s\n" "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+printf %s "checking for suffix of executables... " >&6; }
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+then :
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
# work properly (i.e., refer to `conftest.exe'), while it won't with
* ) break;;
esac
done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+else $as_nop
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$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; }
fi
rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+printf "%s\n" "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
/* end confdefs.h. */
#include <stdio.h>
int
-main ()
+main (void)
{
FILE *f = fopen ("conftest.out", "w");
return ferror (f) || fclose (f) != 0;
ac_clean_files="$ac_clean_files conftest.out"
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+printf %s "checking whether we are cross compiling... " >&6; }
if test "$cross_compiling" != yes; then
{ { ac_try="$ac_link"
case "(($ac_try" in
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
if { ac_try='./conftest$ac_cv_exeext'
{ { case "(($ac_try" in
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details" "$LINENO" 5; }
fi
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+printf "%s\n" "$cross_compiling" >&6; }
rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+printf %s "checking for suffix of object files... " >&6; }
+if test ${ac_cv_objext+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+then :
for ac_file in conftest.o conftest.obj conftest.*; do
test -f "$ac_file" || continue;
case $ac_file in
break;;
esac
done
-else
- $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+ printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$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; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+printf "%s\n" "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
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 ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
+printf %s "checking whether the compiler supports GNU C... " >&6; }
+if test ${ac_cv_c_compiler_gnu+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
#ifndef __GNUC__
choke me
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_compiler_gnu=yes
-else
+else $as_nop
ac_compiler_gnu=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
if test $ac_compiler_gnu = yes; then
GCC=yes
else
GCC=
fi
-ac_test_CFLAGS=${CFLAGS+set}
+ac_test_CFLAGS=${CFLAGS+y}
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 ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+printf %s "checking whether $CC accepts -g... " >&6; }
+if test ${ac_cv_prog_cc_g+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
ac_cv_prog_cc_g=no
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_prog_cc_g=yes
-else
+else $as_nop
CFLAGS=""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
-else
+else $as_nop
ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_prog_cc_g=yes
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
+if test $ac_test_CFLAGS; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
if test "$GCC" = yes; then
CFLAGS=
fi
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 ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
+ac_prog_cc_stdc=no
+if test x$ac_prog_cc_stdc = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
+printf %s "checking for $CC option to enable C11 features... " >&6; }
+if test ${ac_cv_prog_cc_c11+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_prog_cc_c11=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
+$ac_c_conftest_c11_program
_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -std=gnu11
do
CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
+ if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_prog_cc_c11=$ac_arg
fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ test "x$ac_cv_prog_cc_c11" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+if test "x$ac_cv_prog_cc_c11" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+ if test "x$ac_cv_prog_cc_c11" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
+printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
+ CC="$CC $ac_cv_prog_cc_c11"
+fi
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
+ ac_prog_cc_stdc=c11
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
+printf %s "checking for $CC option to enable C99 features... " >&6; }
+if test ${ac_cv_prog_cc_c99+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
+$ac_c_conftest_c99_program
_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_prog_cc_c99=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
fi
-rm -f conftest.err conftest.i conftest.$ac_ext
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+if test "x$ac_cv_prog_cc_c99" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+ if test "x$ac_cv_prog_cc_c99" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
+ CC="$CC $ac_cv_prog_cc_c99"
+fi
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
+ ac_prog_cc_stdc=c99
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
+printf %s "checking for $CC option to enable C89 features... " >&6; }
+if test ${ac_cv_prog_cc_c89+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <ac_nonexistent.h>
+$ac_c_conftest_c89_program
_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_prog_cc_c89=$ac_arg
fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-else
- # Broken: fails on valid input.
-continue
+if test "x$ac_cv_prog_cc_c89" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+ if test "x$ac_cv_prog_cc_c89" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
+ CC="$CC $ac_cv_prog_cc_c89"
fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+ ac_prog_cc_stdc=c89
fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
fi
ac_ext=c
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $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 ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+ac_header= ac_cache=
+for ac_item in $ac_header_c_list
do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
+ if test $ac_cache; then
+ ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"
+ if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then
+ printf "%s\n" "#define $ac_item 1" >> confdefs.h
fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- 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
+ ac_header= ac_cache=
+ elif test $ac_header; then
+ ac_cache=$ac_item
+ else
+ ac_header=$ac_item
fi
-else
- ac_cv_path_GREP=$GREP
-fi
+done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- 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
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-{ $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 ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-int
-main ()
-{
+if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes
+then :
+
+printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-fi
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+printf %s "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if test ${ac_cv_safe_to_define___extensions__+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <stdlib.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
+# define __EXTENSIONS__ 1
+ $ac_includes_default
+int
+main (void)
+{
-else
- ac_cv_header_stdc=no
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_safe_to_define___extensions__=yes
+else $as_nop
+ ac_cv_safe_to_define___extensions__=no
fi
-rm -f conftest*
-
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+printf "%s\n" "$ac_cv_safe_to_define___extensions__" >&6; }
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5
+printf %s "checking whether _XOPEN_SOURCE should be defined... " >&6; }
+if test ${ac_cv_should_define__xopen_source+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_should_define__xopen_source=no
+ if test $ac_cv_header_wchar_h = yes
+then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+ #include <wchar.h>
+ mbstate_t x;
int
-main ()
+main (void)
{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
+
+ ;
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #define _XOPEN_SOURCE 500
+ #include <wchar.h>
+ mbstate_t x;
+int
+main (void)
+{
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_should_define__xopen_source=yes
fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5
+printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; }
-done
+ printf "%s\n" "#define _ALL_SOURCE 1" >>confdefs.h
+ printf "%s\n" "#define _DARWIN_C_SOURCE 1" >>confdefs.h
+ printf "%s\n" "#define _GNU_SOURCE 1" >>confdefs.h
- 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" = xyes; then :
- MINIX=yes
-else
- MINIX=
-fi
+ printf "%s\n" "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h
+ printf "%s\n" "#define _NETBSD_SOURCE 1" >>confdefs.h
- if test "$MINIX" = yes; then
+ printf "%s\n" "#define _OPENBSD_SOURCE 1" >>confdefs.h
-$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
+ printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+ printf "%s\n" "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h
-$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
+ printf "%s\n" "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h
+ printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h
-$as_echo "#define _MINIX 1" >>confdefs.h
+ printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h
- fi
+ printf "%s\n" "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h
+ printf "%s\n" "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h
- { $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 ${ac_cv_safe_to_define___extensions__+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+ printf "%s\n" "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h
-# define __EXTENSIONS__ 1
- $ac_includes_default
-int
-main ()
-{
+ printf "%s\n" "#define _TANDEM_SOURCE 1" >>confdefs.h
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_safe_to_define___extensions__=yes
-else
- ac_cv_safe_to_define___extensions__=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
-$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
- test $ac_cv_safe_to_define___extensions__ = yes &&
- $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
+ if test $ac_cv_header_minix_config_h = yes
+then :
+ MINIX=yes
+ printf "%s\n" "#define _MINIX 1" >>confdefs.h
- $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
+ printf "%s\n" "#define _POSIX_SOURCE 1" >>confdefs.h
- $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+ printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h
- $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+else $as_nop
+ MINIX=
+fi
+ if test $ac_cv_safe_to_define___extensions__ = yes
+then :
+ printf "%s\n" "#define __EXTENSIONS__ 1" >>confdefs.h
- $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+fi
+ if test $ac_cv_should_define__xopen_source = yes
+then :
+ printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h
+fi
if test "$ac_cv_header_minix_config_h" = "yes"; then
-$as_echo "#define _NETBSD_SOURCE 1" >>confdefs.h
+printf "%s\n" "#define _NETBSD_SOURCE 1" >>confdefs.h
fi
fi
# Check whether --with-conf_file was given.
-if test "${with_conf_file+set}" = set; then :
+if test ${with_conf_file+y}
+then :
withval=$with_conf_file; ub_conf_file="$withval"
fi
hdr_config="`echo $ub_conf_file | sed -e 's/\\\\/\\\\\\\\/g'`"
-cat >>confdefs.h <<_ACEOF
-#define CONFIGFILE "$hdr_config"
-_ACEOF
+printf "%s\n" "#define CONFIGFILE \"$hdr_config\"" >>confdefs.h
ub_conf_dir=`$as_dirname -- "$ub_conf_file" ||
$as_expr X"$ub_conf_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ub_conf_file" : 'X\(//\)[^/]' \| \
X"$ub_conf_file" : 'X\(//\)$' \| \
X"$ub_conf_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ub_conf_file" |
+printf "%s\n" X"$ub_conf_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
# Determine run, chroot directory and pidfile locations
# Check whether --with-run-dir was given.
-if test "${with_run_dir+set}" = set; then :
+if test ${with_run_dir+y}
+then :
withval=$with_run_dir; UNBOUND_RUN_DIR="$withval"
-else
+else $as_nop
if test $on_mingw = no; then
UNBOUND_RUN_DIR=`dirname "$ub_conf_file"`
else
hdr_run="`echo $UNBOUND_RUN_DIR | sed -e 's/\\\\/\\\\\\\\/g'`"
-cat >>confdefs.h <<_ACEOF
-#define RUN_DIR "$hdr_run"
-_ACEOF
+printf "%s\n" "#define RUN_DIR \"$hdr_run\"" >>confdefs.h
# Check whether --with-chroot-dir was given.
-if test "${with_chroot_dir+set}" = set; then :
+if test ${with_chroot_dir+y}
+then :
withval=$with_chroot_dir; UNBOUND_CHROOT_DIR="$withval"
-else
+else $as_nop
if test $on_mingw = no; then
UNBOUND_CHROOT_DIR="$UNBOUND_RUN_DIR"
else
hdr_chroot="`echo $UNBOUND_CHROOT_DIR | sed -e 's/\\\\/\\\\\\\\/g'`"
-cat >>confdefs.h <<_ACEOF
-#define CHROOT_DIR "$hdr_chroot"
-_ACEOF
+printf "%s\n" "#define CHROOT_DIR \"$hdr_chroot\"" >>confdefs.h
# Check whether --with-share-dir was given.
-if test "${with_share_dir+set}" = set; then :
+if test ${with_share_dir+y}
+then :
withval=$with_share_dir; UNBOUND_SHARE_DIR="$withval"
-else
+else $as_nop
UNBOUND_SHARE_DIR="$UNBOUND_RUN_DIR"
fi
-cat >>confdefs.h <<_ACEOF
-#define SHARE_DIR "$UNBOUND_SHARE_DIR"
-_ACEOF
+printf "%s\n" "#define SHARE_DIR \"$UNBOUND_SHARE_DIR\"" >>confdefs.h
# Check whether --with-pidfile was given.
-if test "${with_pidfile+set}" = set; then :
+if test ${with_pidfile+y}
+then :
withval=$with_pidfile; UNBOUND_PIDFILE="$withval"
-else
+else $as_nop
if test $on_mingw = no; then
UNBOUND_PIDFILE="$UNBOUND_RUN_DIR/unbound.pid"
else
hdr_pid="`echo $UNBOUND_PIDFILE | sed -e 's/\\\\/\\\\\\\\/g'`"
-cat >>confdefs.h <<_ACEOF
-#define PIDFILE "$hdr_pid"
-_ACEOF
+printf "%s\n" "#define PIDFILE \"$hdr_pid\"" >>confdefs.h
# Check whether --with-rootkey-file was given.
-if test "${with_rootkey_file+set}" = set; then :
+if test ${with_rootkey_file+y}
+then :
withval=$with_rootkey_file; UNBOUND_ROOTKEY_FILE="$withval"
-else
+else $as_nop
if test $on_mingw = no; then
UNBOUND_ROOTKEY_FILE="$UNBOUND_RUN_DIR/root.key"
else
hdr_rkey="`echo $UNBOUND_ROOTKEY_FILE | sed -e 's/\\\\/\\\\\\\\/g'`"
-cat >>confdefs.h <<_ACEOF
-#define ROOT_ANCHOR_FILE "$hdr_rkey"
-_ACEOF
+printf "%s\n" "#define ROOT_ANCHOR_FILE \"$hdr_rkey\"" >>confdefs.h
# Check whether --with-rootcert-file was given.
-if test "${with_rootcert_file+set}" = set; then :
+if test ${with_rootcert_file+y}
+then :
withval=$with_rootcert_file; UNBOUND_ROOTCERT_FILE="$withval"
-else
+else $as_nop
if test $on_mingw = no; then
UNBOUND_ROOTCERT_FILE="$UNBOUND_RUN_DIR/icannbundle.pem"
else
hdr_rpem="`echo $UNBOUND_ROOTCERT_FILE | sed -e 's/\\\\/\\\\\\\\/g'`"
-cat >>confdefs.h <<_ACEOF
-#define ROOT_CERT_FILE "$hdr_rpem"
-_ACEOF
+printf "%s\n" "#define ROOT_CERT_FILE \"$hdr_rpem\"" >>confdefs.h
# Check whether --with-username was given.
-if test "${with_username+set}" = set; then :
+if test ${with_username+y}
+then :
withval=$with_username; UNBOUND_USERNAME="$withval"
-else
+else $as_nop
UNBOUND_USERNAME="unbound"
fi
-cat >>confdefs.h <<_ACEOF
-#define UB_USERNAME "$UNBOUND_USERNAME"
-_ACEOF
+printf "%s\n" "#define UB_USERNAME \"$UNBOUND_USERNAME\"" >>confdefs.h
-$as_echo "#define WINVER 0x0502" >>confdefs.h
+printf "%s\n" "#define WINVER 0x0502" >>confdefs.h
wnvs=`echo $PACKAGE_VERSION | sed -e 's/^[^0-9]*\([0-9][0-9]*\)[^0-9][^0-9]*\([0-9][0-9]*\)[^0-9][^0-9]*\([0-9][0-9]*\)[^0-9][^0-9]*\([0-9][0-9]*\).*$/\1,\2,\3,\4/' -e 's/^[^0-9]*\([0-9][0-9]*\)[^0-9][^0-9]*\([0-9][0-9]*\)[^0-9][^0-9]*\([0-9][0-9]*\)[^0-9]*$/\1,\2,\3,0/' `
-cat >>confdefs.h <<_ACEOF
-#define RSRC_PACKAGE_VERSION $wnvs
-_ACEOF
+printf "%s\n" "#define RSRC_PACKAGE_VERSION $wnvs" >>confdefs.h
# Checks for typedefs, structures, and compiler characteristics.
-{ $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 ${ac_cv_c_const+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
+printf %s "checking for an ANSI C-conforming const... " >&6; }
+if test ${ac_cv_c_const+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
#ifndef __cplusplus
/* NEC SVR4.0.2 mips cc rejects this. */
struct point {int x, y;};
static struct point const zero = {0,0};
- /* AIX XL C 1.02.0.0 rejects this.
+ /* IBM XL C 1.02.0.0 rejects this.
It does not let you subtract one const X* pointer from another in
an arm of an if-expression whose if-part is not a constant
expression */
iptr p = 0;
++p;
}
- { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
+ { /* IBM XL C 1.02.0.0 rejects this sort of thing, saying
"k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
struct s { int j; const int *ap[3]; } bx;
struct s *b = &bx; b->j = 5;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_c_const=yes
-else
+else $as_nop
ac_cv_c_const=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
-$as_echo "$ac_cv_c_const" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
+printf "%s\n" "$ac_cv_c_const" >&6; }
if test $ac_cv_c_const = no; then
-$as_echo "#define const /**/" >>confdefs.h
+printf "%s\n" "#define const /**/" >>confdefs.h
fi
if test "x$CFLAGS" = "x" ; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -g" >&5
-$as_echo_n "checking whether $CC supports -g... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -g" >&5
+printf %s "checking whether $CC supports -g... " >&6; }
cache=`echo g | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo 'void f(void){}' >conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS -g -c conftest.c 2>&1`"; then
fi
if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS -g"
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
:
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -O2" >&5
-$as_echo_n "checking whether $CC supports -O2... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -O2" >&5
+printf %s "checking whether $CC supports -O2... " >&6; }
cache=`echo O2 | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo 'void f(void){}' >conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS -O2 -c conftest.c 2>&1`"; then
fi
if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS -O2"
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
:
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
# However, it has the same basename, so the bogon will be chosen
# first if we set CC to just the basename; use the full file name.
shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
fi
fi
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
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 ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
+set dummy ${ac_tool_prefix}clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}clang"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "clang", so it can be a program name with args.
+set dummy clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="clang"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
+else
+ CC="$ac_cv_prog_CC"
fi
fi
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$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; }
# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
set X $ac_compile
ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
+for ac_option in --version -v -V -qversion -version; do
{ { ac_try="$ac_compiler $ac_option >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compiler $ac_option >&5") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
cat conftest.er1 >&5
fi
rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
-{ $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 ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
+printf %s "checking whether the compiler supports GNU C... " >&6; }
+if test ${ac_cv_c_compiler_gnu+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
#ifndef __GNUC__
choke me
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_compiler_gnu=yes
-else
+else $as_nop
ac_compiler_gnu=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
if test $ac_compiler_gnu = yes; then
GCC=yes
else
GCC=
fi
-ac_test_CFLAGS=${CFLAGS+set}
+ac_test_CFLAGS=${CFLAGS+y}
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 ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+printf %s "checking whether $CC accepts -g... " >&6; }
+if test ${ac_cv_prog_cc_g+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
ac_cv_prog_cc_g=no
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_prog_cc_g=yes
-else
+else $as_nop
CFLAGS=""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
-else
+else $as_nop
ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_prog_cc_g=yes
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
+if test $ac_test_CFLAGS; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
if test "$GCC" = yes; then
CFLAGS=
fi
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 ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
+ac_prog_cc_stdc=no
+if test x$ac_prog_cc_stdc = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
+printf %s "checking for $CC option to enable C11 features... " >&6; }
+if test ${ac_cv_prog_cc_c11+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_prog_cc_c11=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+$ac_c_conftest_c11_program
+_ACEOF
+for ac_arg in '' -std=gnu11
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_prog_cc_c11=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ test "x$ac_cv_prog_cc_c11" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+if test "x$ac_cv_prog_cc_c11" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+ if test "x$ac_cv_prog_cc_c11" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
+printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
+ CC="$CC $ac_cv_prog_cc_c11"
+fi
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
+ ac_prog_cc_stdc=c11
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
+printf %s "checking for $CC option to enable C99 features... " >&6; }
+if test ${ac_cv_prog_cc_c99+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_c_conftest_c99_program
+_ACEOF
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_prog_cc_c99=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
+if test "x$ac_cv_prog_cc_c99" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+ if test "x$ac_cv_prog_cc_c99" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
+ CC="$CC $ac_cv_prog_cc_c99"
+fi
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
+ ac_prog_cc_stdc=c99
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
+printf %s "checking for $CC option to enable C89 features... " >&6; }
+if test ${ac_cv_prog_cc_c89+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_c_conftest_c89_program
_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
+ if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_prog_cc_c89=$ac_arg
fi
-rm -f core conftest.err conftest.$ac_objext
+rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c89" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
-
fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
+if test "x$ac_cv_prog_cc_c89" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+ if test "x$ac_cv_prog_cc_c89" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
+ CC="$CC $ac_cv_prog_cc_c89"
+fi
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+ ac_prog_cc_stdc=c89
+fi
fi
ac_ext=c
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $CC dependency flag" >&5
-$as_echo_n "checking $CC dependency flag... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $CC dependency flag" >&5
+printf %s "checking $CC dependency flag... " >&6; }
echo 'void f(){}' >conftest.c
if test "`$CC -MM conftest.c 2>&1`" = "conftest.o: conftest.c"; then
DEPFLAG="-MM"
DEPFLAG="-MM" # dunno do something
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEPFLAG" >&5
-$as_echo "$DEPFLAG" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DEPFLAG" >&5
+printf "%s\n" "$DEPFLAG" >&6; }
rm -f conftest.c
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Werror" >&5
-$as_echo_n "checking whether $CC supports -Werror... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Werror" >&5
+printf %s "checking whether $CC supports -Werror... " >&6; }
cache=`echo Werror | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo 'void f(void){}' >conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS -Werror -c conftest.c 2>&1`"; then
fi
if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
ERRFLAG="-Werror"
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
:
ERRFLAG="-errwarn"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wall" >&5
-$as_echo_n "checking whether $CC supports -Wall... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wall" >&5
+printf %s "checking whether $CC supports -Wall... " >&6; }
cache=`echo Wall | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo 'void f(void){}' >conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS -Wall -c conftest.c 2>&1`"; then
fi
if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
ERRFLAG="$ERRFLAG -Wall"
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
:
ERRFLAG="$ERRFLAG -errfmt"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -std=c99" >&5
-$as_echo_n "checking whether $CC supports -std=c99... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -std=c99" >&5
+printf %s "checking whether $CC supports -std=c99... " >&6; }
cache=`echo std=c99 | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo 'void f(void){}' >conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS -std=c99 -c conftest.c 2>&1`"; then
fi
if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
C99FLAG="-std=c99"
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
:
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -xc99" >&5
-$as_echo_n "checking whether $CC supports -xc99... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -xc99" >&5
+printf %s "checking whether $CC supports -xc99... " >&6; }
cache=`echo xc99 | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo 'void f(void){}' >conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS -xc99 -c conftest.c 2>&1`"; then
fi
if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
C99FLAG="-xc99"
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
:
fi
-for ac_header in getopt.h time.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+ac_fn_c_check_header_compile "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default
"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+if test "x$ac_cv_header_getopt_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_GETOPT_H 1" >>confdefs.h
fi
+ac_fn_c_check_header_compile "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_time_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_TIME_H 1" >>confdefs.h
-done
+fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE as a flag for $CC" >&5
-$as_echo_n "checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE as a flag for $CC... " >&6; }
-cache=`$as_echo "$C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE" | $as_tr_sh`
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE as a flag for $CC" >&5
+printf %s "checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE as a flag for $CC... " >&6; }
+cache=`printf "%s\n" "$C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE" | $as_tr_sh`
+if eval test \${cv_prog_cc_flag_needed_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo '
#include "confdefs.h"
fi
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE"
else
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
#echo 'Test with flag is no!'
#cat conftest.c
#echo "$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1"
:
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+printf "%s\n" "failed" >&6; }
:
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE as a flag for $CC" >&5
-$as_echo_n "checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE as a flag for $CC... " >&6; }
-cache=`$as_echo "$C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE" | $as_tr_sh`
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE as a flag for $CC" >&5
+printf %s "checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE as a flag for $CC... " >&6; }
+cache=`printf "%s\n" "$C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE" | $as_tr_sh`
+if eval test \${cv_prog_cc_flag_needed_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo '
#include "confdefs.h"
fi
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE"
else
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
#echo 'Test with flag is no!'
#cat conftest.c
#echo "$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1"
:
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+printf "%s\n" "failed" >&6; }
:
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need $C99FLAG as a flag for $CC" >&5
-$as_echo_n "checking whether we need $C99FLAG as a flag for $CC... " >&6; }
-cache=`$as_echo "$C99FLAG" | $as_tr_sh`
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we need $C99FLAG as a flag for $CC" >&5
+printf %s "checking whether we need $C99FLAG as a flag for $CC... " >&6; }
+cache=`printf "%s\n" "$C99FLAG" | $as_tr_sh`
+if eval test \${cv_prog_cc_flag_needed_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo '
#include <stdbool.h>
fi
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS $C99FLAG"
else
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
#echo 'Test with flag is no!'
#cat conftest.c
#echo "$CC $CPPFLAGS $CFLAGS $C99FLAG $ERRFLAG -c conftest.c 2>&1"
:
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+printf "%s\n" "failed" >&6; }
:
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_BSD_SOURCE -D_DEFAULT_SOURCE as a flag for $CC" >&5
-$as_echo_n "checking whether we need -D_BSD_SOURCE -D_DEFAULT_SOURCE as a flag for $CC... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we need -D_BSD_SOURCE -D_DEFAULT_SOURCE as a flag for $CC" >&5
+printf %s "checking whether we need -D_BSD_SOURCE -D_DEFAULT_SOURCE as a flag for $CC... " >&6; }
cache=_D_BSD_SOURCE__D_DEFAULT_SOURCE
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_needed_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo '
#include <ctype.h>
fi
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS -D_BSD_SOURCE -D_DEFAULT_SOURCE"
else
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
#echo 'Test with flag is no!'
#cat conftest.c
#echo "$CC $CPPFLAGS $CFLAGS -D_BSD_SOURCE -D_DEFAULT_SOURCE $ERRFLAG -c conftest.c 2>&1"
:
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+printf "%s\n" "failed" >&6; }
:
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_GNU_SOURCE as a flag for $CC" >&5
-$as_echo_n "checking whether we need -D_GNU_SOURCE as a flag for $CC... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we need -D_GNU_SOURCE as a flag for $CC" >&5
+printf %s "checking whether we need -D_GNU_SOURCE as a flag for $CC... " >&6; }
cache=_D_GNU_SOURCE
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_needed_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo '
#include <netinet/in.h>
fi
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS -D_GNU_SOURCE"
else
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
#echo 'Test with flag is no!'
#cat conftest.c
#echo "$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE $ERRFLAG -c conftest.c 2>&1"
:
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+printf "%s\n" "failed" >&6; }
:
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_GNU_SOURCE -D_FRSRESGID as a flag for $CC" >&5
-$as_echo_n "checking whether we need -D_GNU_SOURCE -D_FRSRESGID as a flag for $CC... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we need -D_GNU_SOURCE -D_FRSRESGID as a flag for $CC" >&5
+printf %s "checking whether we need -D_GNU_SOURCE -D_FRSRESGID as a flag for $CC... " >&6; }
cache=_D_GNU_SOURCE__D_FRSRESGID
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_needed_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo '
#include <unistd.h>
fi
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS -D_GNU_SOURCE"
else
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
#echo 'Test with flag is no!'
#cat conftest.c
#echo "$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE -D_FRSRESGID $ERRFLAG -c conftest.c 2>&1"
:
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+printf "%s\n" "failed" >&6; }
:
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_POSIX_C_SOURCE=200112 as a flag for $CC" >&5
-$as_echo_n "checking whether we need -D_POSIX_C_SOURCE=200112 as a flag for $CC... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we need -D_POSIX_C_SOURCE=200112 as a flag for $CC" >&5
+printf %s "checking whether we need -D_POSIX_C_SOURCE=200112 as a flag for $CC... " >&6; }
cache=_D_POSIX_C_SOURCE_200112
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_needed_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo '
#include "confdefs.h"
fi
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=200112"
else
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
#echo 'Test with flag is no!'
#cat conftest.c
#echo "$CC $CPPFLAGS $CFLAGS -D_POSIX_C_SOURCE=200112 $ERRFLAG -c conftest.c 2>&1"
:
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+printf "%s\n" "failed" >&6; }
:
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D__EXTENSIONS__ as a flag for $CC" >&5
-$as_echo_n "checking whether we need -D__EXTENSIONS__ as a flag for $CC... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we need -D__EXTENSIONS__ as a flag for $CC" >&5
+printf %s "checking whether we need -D__EXTENSIONS__ as a flag for $CC... " >&6; }
cache=_D__EXTENSIONS__
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_needed_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo '
#include "confdefs.h"
fi
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS -D__EXTENSIONS__"
else
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
#echo 'Test with flag is no!'
#cat conftest.c
#echo "$CC $CPPFLAGS $CFLAGS -D__EXTENSIONS__ $ERRFLAG -c conftest.c 2>&1"
:
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+printf "%s\n" "failed" >&6; }
:
fi
# debug mode flags warnings
# Check whether --enable-checking was given.
-if test "${enable_checking+set}" = set; then :
+if test ${enable_checking+y}
+then :
enableval=$enable_checking;
fi
# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
+if test ${enable_debug+y}
+then :
enableval=$enable_debug;
fi
yes)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -W" >&5
-$as_echo_n "checking whether $CC supports -W... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -W" >&5
+printf %s "checking whether $CC supports -W... " >&6; }
cache=`echo W | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo 'void f(void){}' >conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS -W -c conftest.c 2>&1`"; then
fi
if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS -W"
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
:
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wall" >&5
-$as_echo_n "checking whether $CC supports -Wall... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wall" >&5
+printf %s "checking whether $CC supports -Wall... " >&6; }
cache=`echo Wall | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo 'void f(void){}' >conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS -Wall -c conftest.c 2>&1`"; then
fi
if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS -Wall"
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
:
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wextra" >&5
-$as_echo_n "checking whether $CC supports -Wextra... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wextra" >&5
+printf %s "checking whether $CC supports -Wextra... " >&6; }
cache=`echo Wextra | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo 'void f(void){}' >conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS -Wextra -c conftest.c 2>&1`"; then
fi
if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS -Wextra"
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
:
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wdeclaration-after-statement" >&5
-$as_echo_n "checking whether $CC supports -Wdeclaration-after-statement... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wdeclaration-after-statement" >&5
+printf %s "checking whether $CC supports -Wdeclaration-after-statement... " >&6; }
cache=`echo Wdeclaration-after-statement | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo 'void f(void){}' >conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS -Wdeclaration-after-statement -c conftest.c 2>&1`"; then
fi
if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS -Wdeclaration-after-statement"
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
:
fi
-$as_echo "#define UNBOUND_DEBUG /**/" >>confdefs.h
+printf "%s\n" "#define UNBOUND_DEBUG /**/" >>confdefs.h
;;
no|*)
# be able to turn off these options and set the CFLAGS wanted.
# Check whether --enable-flto was given.
-if test "${enable_flto+set}" = set; then :
+if test ${enable_flto+y}
+then :
enableval=$enable_flto;
fi
- if test "x$enable_flto" != "xno"; then :
+ if test "x$enable_flto" != "xno"
+then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -flto" >&5
-$as_echo_n "checking if $CC supports -flto... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports -flto" >&5
+printf %s "checking if $CC supports -flto... " >&6; }
BAKCFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -flto"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
if $CC $CFLAGS -o conftest conftest.c 2>&1 | $GREP -e "warning: no debug symbols in executable" -e "warning: object" >/dev/null; then
CFLAGS="$BAKCFLAGS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
fi
rm -f conftest conftest.c conftest.o
-else
- CFLAGS="$BAKCFLAGS" ; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+else $as_nop
+ CFLAGS="$BAKCFLAGS" ; { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
# Check whether --enable-pie was given.
-if test "${enable_pie+set}" = set; then :
+if test ${enable_pie+y}
+then :
enableval=$enable_pie;
fi
- if test "x$enable_pie" = "xyes"; then :
+ if test "x$enable_pie" = "xyes"
+then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports PIE" >&5
-$as_echo_n "checking if $CC supports PIE... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports PIE" >&5
+printf %s "checking if $CC supports PIE... " >&6; }
BAKLDFLAGS="$LDFLAGS"
BAKCFLAGS="$CFLAGS"
LDFLAGS="$LDFLAGS -pie"
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
if $CC $CFLAGS $LDFLAGS -o conftest conftest.c 2>&1 | grep "warning: no debug symbols in executable" >/dev/null; then
LDFLAGS="$BAKLDFLAGS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
fi
rm -f conftest conftest.c conftest.o
-else
- LDFLAGS="$BAKLDFLAGS" ; CFLAGS="$BAKCFLAGS" ; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+else $as_nop
+ LDFLAGS="$BAKLDFLAGS" ; CFLAGS="$BAKCFLAGS" ; { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
# Check whether --enable-relro_now was given.
-if test "${enable_relro_now+set}" = set; then :
+if test ${enable_relro_now+y}
+then :
enableval=$enable_relro_now;
fi
- if test "x$enable_relro_now" = "xyes"; then :
+ if test "x$enable_relro_now" = "xyes"
+then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Wl,-z,relro,-z,now" >&5
-$as_echo_n "checking if $CC supports -Wl,-z,relro,-z,now... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Wl,-z,relro,-z,now" >&5
+printf %s "checking if $CC supports -Wl,-z,relro,-z,now... " >&6; }
BAKLDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -Wl,-z,relro,-z,now"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
if $CC $CFLAGS $LDFLAGS -o conftest conftest.c 2>&1 | grep "warning: no debug symbols in executable" >/dev/null; then
LDFLAGS="$BAKLDFLAGS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
fi
rm -f conftest conftest.c conftest.o
-else
- LDFLAGS="$BAKLDFLAGS" ; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+else $as_nop
+ LDFLAGS="$BAKLDFLAGS" ; { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if ${ac_cv_c_inline+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
+printf %s "checking for inline... " >&6; }
+if test ${ac_cv_c_inline+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __cplusplus
typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
+static $ac_kw foo_t static_foo (void) {return 0; }
+$ac_kw foo_t foo (void) {return 0; }
#endif
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_c_inline=$ac_kw
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
test "$ac_cv_c_inline" != no && break
done
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
+printf "%s\n" "$ac_cv_c_inline" >&6; }
case $ac_cv_c_inline in
inline | yes) ;;
esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler (${CC-cc}) accepts the \"format\" attribute" >&5
-$as_echo_n "checking whether the C compiler (${CC-cc}) accepts the \"format\" attribute... " >&6; }
-if ${ac_cv_c_format_attribute+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler (${CC-cc}) accepts the \"format\" attribute" >&5
+printf %s "checking whether the C compiler (${CC-cc}) accepts the \"format\" attribute... " >&6; }
+if test ${ac_cv_c_format_attribute+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_cv_c_format_attribute=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void (*pf) (char *format, ...) __attribute__ ((format (printf, 1, 2)));
int
-main ()
+main (void)
{
f ("%s", "str");
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_c_format_attribute="yes"
-else
+else $as_nop
ac_cv_c_format_attribute="no"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_format_attribute" >&5
-$as_echo "$ac_cv_c_format_attribute" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_format_attribute" >&5
+printf "%s\n" "$ac_cv_c_format_attribute" >&6; }
if test $ac_cv_c_format_attribute = yes; then
-$as_echo "#define HAVE_ATTR_FORMAT 1" >>confdefs.h
+printf "%s\n" "#define HAVE_ATTR_FORMAT 1" >>confdefs.h
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler (${CC-cc}) accepts the \"unused\" attribute" >&5
-$as_echo_n "checking whether the C compiler (${CC-cc}) accepts the \"unused\" attribute... " >&6; }
-if ${ac_cv_c_unused_attribute+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler (${CC-cc}) accepts the \"unused\" attribute" >&5
+printf %s "checking whether the C compiler (${CC-cc}) accepts the \"unused\" attribute... " >&6; }
+if test ${ac_cv_c_unused_attribute+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_cv_c_unused_attribute=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void f (char *u __attribute__((unused)));
int
-main ()
+main (void)
{
f ("x");
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_c_unused_attribute="yes"
-else
+else $as_nop
ac_cv_c_unused_attribute="no"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_unused_attribute" >&5
-$as_echo "$ac_cv_c_unused_attribute" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_unused_attribute" >&5
+printf "%s\n" "$ac_cv_c_unused_attribute" >&6; }
if test $ac_cv_c_unused_attribute = yes; then
-$as_echo "#define HAVE_ATTR_UNUSED 1" >>confdefs.h
+printf "%s\n" "#define HAVE_ATTR_UNUSED 1" >>confdefs.h
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler (${CC-cc}) accepts the \"weak\" attribute" >&5
-$as_echo_n "checking whether the C compiler (${CC-cc}) accepts the \"weak\" attribute... " >&6; }
-if ${ac_cv_c_weak_attribute+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler (${CC-cc}) accepts the \"weak\" attribute" >&5
+printf %s "checking whether the C compiler (${CC-cc}) accepts the \"weak\" attribute... " >&6; }
+if test ${ac_cv_c_weak_attribute+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_cv_c_weak_attribute=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
__attribute__((weak)) void f(int x) { printf("%d", x); }
int
-main ()
+main (void)
{
f(1);
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_c_weak_attribute="yes"
-else
+else $as_nop
ac_cv_c_weak_attribute="no"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_weak_attribute" >&5
-$as_echo "$ac_cv_c_weak_attribute" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_weak_attribute" >&5
+printf "%s\n" "$ac_cv_c_weak_attribute" >&6; }
if test $ac_cv_c_weak_attribute = yes; then
-$as_echo "#define HAVE_ATTR_WEAK 1" >>confdefs.h
+printf "%s\n" "#define HAVE_ATTR_WEAK 1" >>confdefs.h
-$as_echo "#define ATTR_WEAK __attribute__((weak))" >>confdefs.h
+printf "%s\n" "#define ATTR_WEAK __attribute__((weak))" >>confdefs.h
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler (${CC-cc}) accepts the \"noreturn\" attribute" >&5
-$as_echo_n "checking whether the C compiler (${CC-cc}) accepts the \"noreturn\" attribute... " >&6; }
-if ${ac_cv_c_noreturn_attribute+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler (${CC-cc}) accepts the \"noreturn\" attribute" >&5
+printf %s "checking whether the C compiler (${CC-cc}) accepts the \"noreturn\" attribute... " >&6; }
+if test ${ac_cv_c_noreturn_attribute+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_cv_c_noreturn_attribute=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
__attribute__((noreturn)) void f(int x) { printf("%d", x); }
int
-main ()
+main (void)
{
f(1);
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_c_noreturn_attribute="yes"
-else
+else $as_nop
ac_cv_c_noreturn_attribute="no"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_noreturn_attribute" >&5
-$as_echo "$ac_cv_c_noreturn_attribute" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_noreturn_attribute" >&5
+printf "%s\n" "$ac_cv_c_noreturn_attribute" >&6; }
if test $ac_cv_c_noreturn_attribute = yes; then
-$as_echo "#define HAVE_ATTR_NORETURN 1" >>confdefs.h
+printf "%s\n" "#define HAVE_ATTR_NORETURN 1" >>confdefs.h
-$as_echo "#define ATTR_NORETURN __attribute__((__noreturn__))" >>confdefs.h
+printf "%s\n" "#define ATTR_NORETURN __attribute__((__noreturn__))" >>confdefs.h
fi
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
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 ${ac_cv_prog_LEX+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_LEX+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$LEX"; then
ac_cv_prog_LEX="$LEX" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_LEX="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
LEX=$ac_cv_prog_LEX
if test -n "$LEX"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LEX" >&5
-$as_echo "$LEX" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LEX" >&5
+printf "%s\n" "$LEX" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
done
test -n "$LEX" || LEX=":"
-if test "x$LEX" != "x:"; then
- cat >conftest.l <<_ACEOF
+ if test "x$LEX" != "x:"; then
+ cat >conftest.l <<_ACEOF
+%{
+#ifdef __cplusplus
+extern "C"
+#endif
+int yywrap(void);
+%}
%%
a { ECHO; }
b { REJECT; }
c { yymore (); }
d { yyless (1); }
e { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */
- yyless ((input () != 0)); }
+#ifdef __cplusplus
+ yyless ((yyinput () != 0));
+#else
+ yyless ((input () != 0));
+#endif
+ }
f { unput (yytext[0]); }
. { BEGIN INITIAL; }
%%
extern char *yytext;
#endif
int
+yywrap (void)
+{
+ return 1;
+}
+int
main (void)
{
- return ! yylex () + ! yywrap ();
+ return ! yylex ();
}
_ACEOF
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lex output file root" >&5
+printf %s "checking for lex output file root... " >&6; }
+if test ${ac_cv_prog_lex_root+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+
+ac_cv_prog_lex_root=unknown
{ { ac_try="$LEX conftest.l"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
(eval "$LEX conftest.l") 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- 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 ${ac_cv_prog_lex_root+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } &&
if test -f lex.yy.c; then
ac_cv_prog_lex_root=lex.yy
elif test -f lexyy.c; then
ac_cv_prog_lex_root=lexyy
-else
- 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
-$as_echo "$ac_cv_prog_lex_root" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5
+printf "%s\n" "$ac_cv_prog_lex_root" >&6; }
+if test "$ac_cv_prog_lex_root" = unknown
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot find output from $LEX; giving up on $LEX" >&5
+printf "%s\n" "$as_me: WARNING: cannot find output from $LEX; giving up on $LEX" >&2;}
+ LEX=: LEXLIB=
+fi
LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
-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 ${ac_cv_lib_lex+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if test ${LEXLIB+y}
+then :
+
+else $as_nop
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lex library" >&5
+printf %s "checking for lex library... " >&6; }
+if test ${ac_cv_lib_lex+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+
+ ac_save_LIBS="$LIBS"
+ ac_found=false
+ for ac_cv_lib_lex in 'none needed' -lfl -ll 'not found'; do
+ case $ac_cv_lib_lex in #(
+ 'none needed') :
+ ;; #(
+ 'not found') :
+ break ;; #(
+ *) :
+ LIBS="$ac_cv_lib_lex $ac_save_LIBS" ;; #(
+ *) :
+ ;;
+esac
- ac_save_LIBS=$LIBS
- ac_cv_lib_lex='none needed'
- for ac_lib in '' -lfl -ll; do
- LIBS="$ac_lib $ac_save_LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
`cat $LEX_OUTPUT_ROOT.c`
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_lex=$ac_lib
+if ac_fn_c_try_link "$LINENO"
+then :
+ ac_found=:
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
- test "$ac_cv_lib_lex" != 'none needed' && break
+ if $ac_found; then
+ break
+ fi
done
- LIBS=$ac_save_LIBS
+ LIBS="$ac_save_LIBS"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lex" >&5
-$as_echo "$ac_cv_lib_lex" >&6; }
- test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lex" >&5
+printf "%s\n" "$ac_cv_lib_lex" >&6; }
+ if test "$ac_cv_lib_lex" = 'not found'
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: required lex library not found; giving up on $LEX" >&5
+printf "%s\n" "$as_me: WARNING: required lex library not found; giving up on $LEX" >&2;}
+ LEX=: LEXLIB=
+elif test "$ac_cv_lib_lex" = 'none needed'
+then :
+ LEXLIB=''
+else $as_nop
+ LEXLIB=$ac_cv_lib_lex
fi
+fi
-{ $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 ${ac_cv_prog_lex_yytext_pointer+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+
+if test "$LEX" != :
+then :
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5
+printf %s "checking whether yytext is a pointer... " >&6; }
+if test ${ac_cv_prog_lex_yytext_pointer+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
# POSIX says lex can declare yytext either as a pointer or an array; the
# default is implementation-dependent. Figure out which it is, since
# not all implementations provide the %pointer and %array declarations.
ac_cv_prog_lex_yytext_pointer=no
-ac_save_LIBS=$LIBS
-LIBS="$LEXLIB $ac_save_LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define YYTEXT_POINTER 1
`cat $LEX_OUTPUT_ROOT.c`
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_prog_lex_yytext_pointer=yes
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_save_LIBS
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_yytext_pointer" >&5
-$as_echo "$ac_cv_prog_lex_yytext_pointer" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_yytext_pointer" >&5
+printf "%s\n" "$ac_cv_prog_lex_yytext_pointer" >&6; }
if test $ac_cv_prog_lex_yytext_pointer = yes; then
-$as_echo "#define YYTEXT_POINTER 1" >>confdefs.h
+printf "%s\n" "#define YYTEXT_POINTER 1" >>confdefs.h
+
+fi
fi
rm -f conftest.l $LEX_OUTPUT_ROOT.c
fi
if test "$LEX" != "" -a "$LEX" != ":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for yylex_destroy" >&5
-$as_echo_n "checking for yylex_destroy... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for yylex_destroy" >&5
+printf %s "checking for yylex_destroy... " >&6; }
if echo %% | $LEX -t 2>&1 | grep yylex_destroy >/dev/null 2>&1; then
-$as_echo "#define LEX_HAS_YYLEX_DESTROY 1" >>confdefs.h
+printf "%s\n" "#define LEX_HAS_YYLEX_DESTROY 1" >>confdefs.h
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; };
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; };
LEX=":"
fi
fi
if test "$LEX" != "" -a "$LEX" != ":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lex %option" >&5
-$as_echo_n "checking for lex %option... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lex %option" >&5
+printf %s "checking for lex %option... " >&6; }
if cat <<EOF | $LEX -t 2>&1 | grep yy_delete_buffer >/dev/null 2>&1; then
%option nounput
%%
EOF
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; };
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; };
LEX=":"
fi
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
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 ${ac_cv_prog_YACC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_YACC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$YACC"; then
ac_cv_prog_YACC="$YACC" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_YACC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
YACC=$ac_cv_prog_YACC
if test -n "$YACC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5
-$as_echo "$YACC" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5
+printf "%s\n" "$YACC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
# Extract the first word of "doxygen", so it can be a program name with args.
set dummy doxygen; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_doxygen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_doxygen+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$doxygen"; then
ac_cv_prog_doxygen="$doxygen" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_doxygen="doxygen"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
doxygen=$ac_cv_prog_doxygen
if test -n "$doxygen"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $doxygen" >&5
-$as_echo "$doxygen" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $doxygen" >&5
+printf "%s\n" "$doxygen" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_STRIP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+printf "%s\n" "$STRIP" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_STRIP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+printf "%s\n" "$ac_ct_STRIP" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
STRIP="$ac_cv_prog_STRIP"
fi
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- 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,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-# 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
+ # 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_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+printf %s "checking build system type... " >&6; }
+if test ${ac_cv_build+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+ 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
-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
+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
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+printf "%s\n" "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+printf %s "checking host system type... " >&6; }
+if test ${ac_cv_host+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
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
+ 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
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+printf "%s\n" "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_AR+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
case $AR in
[\\/]* | ?:[\\/]*)
ac_cv_path_AR="$AR" # Let the user override the test with a path.
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_path_AR="$as_dir$ac_word$ac_exec_ext"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
AR=$ac_cv_path_AR
if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+printf "%s\n" "$AR" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_pt_AR=$AR
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_ac_pt_AR+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
case $ac_pt_AR in
[\\/]* | ?:[\\/]*)
ac_cv_path_ac_pt_AR="$ac_pt_AR" # Let the user override the test with a path.
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_ac_pt_AR="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_path_ac_pt_AR="$as_dir$ac_word$ac_exec_ext"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_pt_AR=$ac_cv_path_ac_pt_AR
if test -n "$ac_pt_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_AR" >&5
-$as_echo "$ac_pt_AR" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_AR" >&5
+printf "%s\n" "$ac_pt_AR" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_pt_AR" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
AR=$ac_pt_AR
as_fn_error $? "Cannot find 'ar', please extend PATH to include it" "$LINENO" 5
fi
+
case `pwd` in
*\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
esac
+
ltmain=$ac_aux_dir/ltmain.sh
# Backslashify metacharacters that are still active within
ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+printf %s "checking how to print strings... " >&6; }
# Test print first, because it will be a builtin if present.
if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
}
case $ECHO in
- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
+ printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+printf "%s\n" "printf" >&6; } ;;
+ print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+printf "%s\n" "print -r" >&6; } ;;
+ *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+printf "%s\n" "cat" >&6; } ;;
esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+printf %s "checking for a sed that does not truncate output... " >&6; }
+if test ${ac_cv_path_SED+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
for ac_i in 1 2 3 4 5 6 7; do
ac_script="$ac_script$as_nl$ac_script"
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_prog in sed gsed
+ do
for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ ac_path_SED="$as_dir$ac_prog$ac_exec_ext"
as_fn_executable_p "$ac_path_SED" || continue
# Check for GNU ac_path_SED and select it if it is found.
# Check for GNU $ac_path_SED
ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
*)
ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
+ printf %s 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
+ printf "%s\n" '' >> "conftest.nl"
"$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+printf "%s\n" "$ac_cv_path_SED" >&6; }
SED="$ac_cv_path_SED"
rm -f conftest.sed
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+printf %s "checking for grep that handles long lines and -e... " >&6; }
+if test ${ac_cv_path_GREP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_prog in grep ggrep
+ do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ printf %s 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ printf "%s\n" 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ 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
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+printf "%s\n" "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+printf %s "checking for egrep... " >&6; }
+if test ${ac_cv_path_EGREP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_prog in egrep
+ do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ printf %s 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ printf "%s\n" 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ 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
+ fi
else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+printf "%s\n" "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+printf %s "checking for fgrep... " >&6; }
+if test ${ac_cv_path_FGREP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
then ac_cv_path_FGREP="$GREP -F"
else
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_prog in fgrep
+ do
for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+ ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext"
as_fn_executable_p "$ac_path_FGREP" || continue
# Check for GNU ac_path_FGREP and select it if it is found.
# Check for GNU $ac_path_FGREP
ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
*)
ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
+ printf %s 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
+ printf "%s\n" 'FGREP' >> "conftest.nl"
"$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+printf "%s\n" "$ac_cv_path_FGREP" >&6; }
FGREP="$ac_cv_path_FGREP"
# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
+if test ${with_gnu_ld+y}
+then :
withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
-else
+else $as_nop
with_gnu_ld=no
fi
ac_prog=ld
if test yes = "$GCC"; then
# Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+printf %s "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return, which upsets mingw
;;
esac
elif test yes = "$with_gnu_ld"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+printf %s "checking for GNU ld... " >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+printf %s "checking for non-GNU ld... " >&6; }
fi
-if ${lt_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if test ${lt_cv_path_LD+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -z "$LD"; then
lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
LD=$lt_cv_path_LD
if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+printf "%s\n" "$LD" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+printf %s "checking if the linker ($LD) is GNU ld... " >&6; }
+if test ${lt_cv_prog_gnu_ld+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
;;
esac
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if test ${lt_cv_path_NM+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$NM"; then
# Let the user override the test.
lt_cv_path_NM=$NM
: ${lt_cv_path_NM=no}
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+printf "%s\n" "$lt_cv_path_NM" >&6; }
if test no != "$lt_cv_path_NM"; then
NM=$lt_cv_path_NM
else
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_DUMPBIN+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$DUMPBIN"; then
ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
DUMPBIN=$ac_cv_prog_DUMPBIN
if test -n "$DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+printf "%s\n" "$DUMPBIN" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
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 ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_DUMPBIN+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_DUMPBIN"; then
ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
if test -n "$ac_ct_DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+printf "%s\n" "$ac_ct_DUMPBIN" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
DUMPBIN=$ac_ct_DUMPBIN
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+printf %s "checking the name lister ($NM) interface... " >&6; }
+if test ${lt_cv_nm_interface+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
(eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
fi
rm -f conftest*
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+printf "%s\n" "$lt_cv_nm_interface" >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+printf %s "checking whether ln -s works... " >&6; }
LN_S=$as_ln_s
if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+printf "%s\n" "no, using $LN_S" >&6; }
fi
# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+printf %s "checking the maximum length of command line arguments... " >&6; }
+if test ${lt_cv_sys_max_cmd_len+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
i=0
teststring=ABCD
fi
if test -n "$lt_cv_sys_max_cmd_len"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5
+printf "%s\n" "none" >&6; }
fi
max_cmd_len=$lt_cv_sys_max_cmd_len
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+printf %s "checking how to convert $build file names to $host format... " >&6; }
+if test ${lt_cv_to_host_file_cmd+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
case $host in
*-*-mingw* )
case $build in
fi
to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
+printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+printf %s "checking how to convert $build file names to toolchain format... " >&6; }
+if test ${lt_cv_to_tool_file_cmd+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
#assume ordinary cross tools, or native build.
lt_cv_to_tool_file_cmd=func_convert_file_noop
case $host in
fi
to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
+printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+printf %s "checking for $LD option to reload object files... " >&6; }
+if test ${lt_cv_ld_reload_flag+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_ld_reload_flag='-r'
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+printf "%s\n" "$lt_cv_ld_reload_flag" >&6; }
reload_flag=$lt_cv_ld_reload_flag
case $reload_flag in
"" | " "*) ;;
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OBJDUMP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$OBJDUMP"; then
ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
OBJDUMP=$ac_cv_prog_OBJDUMP
if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+printf "%s\n" "$OBJDUMP" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_ct_OBJDUMP=$OBJDUMP
# Extract the first word of "objdump", so it can be a program name with args.
set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OBJDUMP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_OBJDUMP"; then
ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+printf "%s\n" "$ac_ct_OBJDUMP" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_OBJDUMP" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
OBJDUMP=$ac_ct_OBJDUMP
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+printf %s "checking how to recognize dependent libraries... " >&6; }
+if test ${lt_cv_deplibs_check_method+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
lt_cv_deplibs_check_method='unknown'
esac
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+printf "%s\n" "$lt_cv_deplibs_check_method" >&6; }
file_magic_glob=
want_nocaseglob=no
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_DLLTOOL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$DLLTOOL"; then
ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
DLLTOOL=$ac_cv_prog_DLLTOOL
if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+printf "%s\n" "$DLLTOOL" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_ct_DLLTOOL=$DLLTOOL
# Extract the first word of "dlltool", so it can be a program name with args.
set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_DLLTOOL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_DLLTOOL"; then
ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+printf "%s\n" "$ac_ct_DLLTOOL" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_DLLTOOL" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
DLLTOOL=$ac_ct_DLLTOOL
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+printf %s "checking how to associate runtime and link libraries... " >&6; }
+if test ${lt_cv_sharedlib_from_linklib_cmd+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_sharedlib_from_linklib_cmd='unknown'
case $host_os in
esac
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
+printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AR+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$AR"; then
ac_cv_prog_AR="$AR" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
AR=$ac_cv_prog_AR
if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+printf "%s\n" "$AR" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
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 ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_AR+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_AR"; then
ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+printf "%s\n" "$ac_ct_AR" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+printf %s "checking for archiver @FILE support... " >&6; }
+if test ${lt_cv_ar_at_file+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_ar_at_file=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
echo conftest.$ac_objext > conftest.lst
lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
(eval $lt_ar_try) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
if test 0 -eq "$ac_status"; then
# Ensure the archiver fails upon bogus file names.
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
(eval $lt_ar_try) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
if test 0 -ne "$ac_status"; then
lt_cv_ar_at_file=@
rm -f conftest.* libconftest.a
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+printf "%s\n" "$lt_cv_ar_at_file" >&6; }
if test no = "$lt_cv_ar_at_file"; then
archiver_list_spec=
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_STRIP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+printf "%s\n" "$STRIP" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_STRIP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+printf "%s\n" "$ac_ct_STRIP" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_RANLIB+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
RANLIB=$ac_cv_prog_RANLIB
if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+printf "%s\n" "$RANLIB" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_ct_RANLIB=$RANLIB
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_RANLIB+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_RANLIB"; then
ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+printf "%s\n" "$ac_ct_RANLIB" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_RANLIB" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
RANLIB=$ac_ct_RANLIB
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
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 ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AWK+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+printf "%s\n" "$AWK" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+printf %s "checking command to parse $NM output from $compiler object... " >&6; }
+if test ${lt_cv_sys_global_symbol_pipe+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
# These are sane defaults that work on at least a few old systems.
# [They come from Ultrix. What could be older than Ultrix?!! ;)]
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
# Now try to grab the symbols.
nlist=conftest.nm
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
(eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
(eval $ac_link) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && test -s conftest$ac_exeext; then
pipe_works=yes
fi
lt_cv_sys_global_symbol_to_cdecl=
fi
if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+printf "%s\n" "failed" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+printf "%s\n" "ok" >&6; }
fi
# Response file support.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+printf %s "checking for sysroot... " >&6; }
# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
+if test ${with_sysroot+y}
+then :
withval=$with_sysroot;
-else
+else $as_nop
with_sysroot=no
fi
no|'')
;; #(
*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
-$as_echo "$with_sysroot" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
+printf "%s\n" "$with_sysroot" >&6; }
as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
;;
esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+printf "%s\n" "${lt_sysroot:-no}" >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
-$as_echo_n "checking for a working dd... " >&6; }
-if ${ac_cv_path_lt_DD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
+printf %s "checking for a working dd... " >&6; }
+if test ${ac_cv_path_lt_DD+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
printf 0123456789abcdef0123456789abcdef >conftest.i
cat conftest.i conftest.i >conftest2.i
: ${lt_DD:=$DD}
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in dd; do
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_prog in dd
+ do
for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
+ ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext"
as_fn_executable_p "$ac_path_lt_DD" || continue
if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
cmp -s conftest.i conftest.out \
rm -f conftest.i conftest2.i conftest.out
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
-$as_echo "$ac_cv_path_lt_DD" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
+printf "%s\n" "$ac_cv_path_lt_DD" >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
-$as_echo_n "checking how to truncate binary pipes... " >&6; }
-if ${lt_cv_truncate_bin+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
+printf %s "checking how to truncate binary pipes... " >&6; }
+if test ${lt_cv_truncate_bin+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
printf 0123456789abcdef0123456789abcdef >conftest.i
cat conftest.i conftest.i >conftest2.i
lt_cv_truncate_bin=
rm -f conftest.i conftest2.i conftest.out
test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
-$as_echo "$lt_cv_truncate_bin" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
+printf "%s\n" "$lt_cv_truncate_bin" >&6; }
}
# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
+if test ${enable_libtool_lock+y}
+then :
enableval=$enable_libtool_lock;
fi
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
case `/usr/bin/file conftest.$ac_objext` in
*ELF-32*)
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
if test yes = "$lt_cv_prog_gnu_ld"; then
case `/usr/bin/file conftest.$ac_objext` in
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
emul=elf
case `/usr/bin/file conftest.$ac_objext` in
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
case `/usr/bin/file conftest.o` in
*32-bit*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -belf"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+printf %s "checking whether the C compiler needs -belf... " >&6; }
+if test ${lt_cv_cc_needs_belf+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
lt_cv_cc_needs_belf=yes
-else
+else $as_nop
lt_cv_cc_needs_belf=no
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+printf "%s\n" "$lt_cv_cc_needs_belf" >&6; }
if test yes != "$lt_cv_cc_needs_belf"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS=$SAVE_CFLAGS
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
case `/usr/bin/file conftest.o` in
*64-bit*)
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_MANIFEST_TOOL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$MANIFEST_TOOL"; then
ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
if test -n "$MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
+printf "%s\n" "$MANIFEST_TOOL" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
# Extract the first word of "mt", so it can be a program name with args.
set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_MANIFEST_TOOL"; then
ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
if test -n "$ac_ct_MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
+printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_MANIFEST_TOOL" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
fi
test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
+if test ${lt_cv_path_mainfest_tool+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_path_mainfest_tool=no
echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
$MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
fi
rm -f conftest*
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
+printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; }
if test yes != "$lt_cv_path_mainfest_tool"; then
MANIFEST_TOOL=:
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_DSYMUTIL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$DSYMUTIL"; then
ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
DSYMUTIL=$ac_cv_prog_DSYMUTIL
if test -n "$DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+printf "%s\n" "$DSYMUTIL" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_ct_DSYMUTIL=$DSYMUTIL
# Extract the first word of "dsymutil", so it can be a program name with args.
set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_DSYMUTIL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_DSYMUTIL"; then
ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
if test -n "$ac_ct_DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+printf "%s\n" "$ac_ct_DSYMUTIL" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_DSYMUTIL" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
DSYMUTIL=$ac_ct_DSYMUTIL
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_NMEDIT+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$NMEDIT"; then
ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
NMEDIT=$ac_cv_prog_NMEDIT
if test -n "$NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+printf "%s\n" "$NMEDIT" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_ct_NMEDIT=$NMEDIT
# Extract the first word of "nmedit", so it can be a program name with args.
set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_NMEDIT+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_NMEDIT"; then
ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_NMEDIT="nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
if test -n "$ac_ct_NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+printf "%s\n" "$ac_ct_NMEDIT" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_NMEDIT" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
NMEDIT=$ac_ct_NMEDIT
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_LIPO+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$LIPO"; then
ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
LIPO=$ac_cv_prog_LIPO
if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+printf "%s\n" "$LIPO" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_ct_LIPO=$LIPO
# Extract the first word of "lipo", so it can be a program name with args.
set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_LIPO+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_LIPO"; then
ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_LIPO="lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
if test -n "$ac_ct_LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+printf "%s\n" "$ac_ct_LIPO" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_LIPO" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
LIPO=$ac_ct_LIPO
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OTOOL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$OTOOL"; then
ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
OTOOL=$ac_cv_prog_OTOOL
if test -n "$OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+printf "%s\n" "$OTOOL" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_ct_OTOOL=$OTOOL
# Extract the first word of "otool", so it can be a program name with args.
set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OTOOL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_OTOOL"; then
ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OTOOL="otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
if test -n "$ac_ct_OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+printf "%s\n" "$ac_ct_OTOOL" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_OTOOL" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
OTOOL=$ac_ct_OTOOL
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OTOOL64+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$OTOOL64"; then
ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
OTOOL64=$ac_cv_prog_OTOOL64
if test -n "$OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+printf "%s\n" "$OTOOL64" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_ct_OTOOL64=$OTOOL64
# Extract the first word of "otool64", so it can be a program name with args.
set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OTOOL64+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_OTOOL64"; then
ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OTOOL64="otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
if test -n "$ac_ct_OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+printf "%s\n" "$ac_ct_OTOOL64" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_OTOOL64" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
OTOOL64=$ac_ct_OTOOL64
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+printf %s "checking for -single_module linker flag... " >&6; }
+if test ${lt_cv_apple_cc_single_mod+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_apple_cc_single_mod=no
if test -z "$LT_MULTI_MODULE"; then
# By default we will add the -single_module flag. You can override
rm -f conftest.*
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+printf %s "checking for -exported_symbols_list linker flag... " >&6; }
+if test ${lt_cv_ld_exported_symbols_list+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_ld_exported_symbols_list=no
save_LDFLAGS=$LDFLAGS
echo "_main" > conftest.sym
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
lt_cv_ld_exported_symbols_list=yes
-else
+else $as_nop
lt_cv_ld_exported_symbols_list=no
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LDFLAGS=$save_LDFLAGS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+printf %s "checking for -force_load linker flag... " >&6; }
+if test ${lt_cv_ld_force_load+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_ld_force_load=no
cat > conftest.c << _LT_EOF
int forced_loaded() { return 2;}
rm -rf conftest.dSYM
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+printf "%s\n" "$lt_cv_ld_force_load" >&6; }
case $host_os in
rhapsody* | darwin1.[012])
_lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
esac
}
-for ac_header in dlfcn.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
+if test "x$ac_cv_header_dlfcn_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_DLFCN_H 1" >>confdefs.h
fi
-done
-
# Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
+if test ${enable_shared+y}
+then :
enableval=$enable_shared; p=${PACKAGE-default}
case $enableval in
yes) enable_shared=yes ;;
IFS=$lt_save_ifs
;;
esac
-else
+else $as_nop
enable_shared=yes
fi
# Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
+if test ${enable_static+y}
+then :
enableval=$enable_static; p=${PACKAGE-default}
case $enableval in
yes) enable_static=yes ;;
IFS=$lt_save_ifs
;;
esac
-else
+else $as_nop
enable_static=yes
fi
# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
+if test ${with_pic+y}
+then :
withval=$with_pic; lt_p=${PACKAGE-default}
case $withval in
yes|no) pic_mode=$withval ;;
IFS=$lt_save_ifs
;;
esac
-else
+else $as_nop
pic_mode=default
fi
# Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
+if test ${enable_fast_install+y}
+then :
enableval=$enable_fast_install; p=${PACKAGE-default}
case $enableval in
yes) enable_fast_install=yes ;;
IFS=$lt_save_ifs
;;
esac
-else
+else $as_nop
enable_fast_install=yes
fi
shared_archive_member_spec=
case $host,$enable_shared in
power*-*-aix[5-9]*,yes)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
-$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
+printf %s "checking which variant of shared library versioning to provide... " >&6; }
# Check whether --with-aix-soname was given.
-if test "${with_aix_soname+set}" = set; then :
+if test ${with_aix_soname+y}
+then :
withval=$with_aix_soname; case $withval in
aix|svr4|both)
;;
;;
esac
lt_cv_with_aix_soname=$with_aix_soname
-else
- if ${lt_cv_with_aix_soname+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+else $as_nop
+ if test ${lt_cv_with_aix_soname+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_with_aix_soname=aix
fi
with_aix_soname=$lt_cv_with_aix_soname
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
-$as_echo "$with_aix_soname" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
+printf "%s\n" "$with_aix_soname" >&6; }
if test aix != "$with_aix_soname"; then
# For the AIX way of multilib, we name the shared archive member
# based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
setopt NO_GLOB_SUBST
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+printf %s "checking for objdir... " >&6; }
+if test ${lt_cv_objdir+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
if test -d .libs; then
fi
rmdir .libs 2>/dev/null
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+printf "%s\n" "$lt_cv_objdir" >&6; }
objdir=$lt_cv_objdir
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
+printf "%s\n" "#define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+printf %s "checking for ${ac_tool_prefix}file... " >&6; }
+if test ${lt_cv_path_MAGIC_CMD+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+printf "%s\n" "$MAGIC_CMD" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+printf %s "checking for file... " >&6; }
+if test ${lt_cv_path_MAGIC_CMD+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+printf "%s\n" "$MAGIC_CMD" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if test ${lt_cv_prog_compiler_rtti_exceptions+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
$RM conftest*
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
;;
esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+printf %s "checking for $compiler option to produce PIC... " >&6; }
+if test ${lt_cv_prog_compiler_pic+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
+printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; }
lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if test ${lt_cv_prog_compiler_pic_works+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_prog_compiler_pic_works=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
$RM conftest*
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; }
if test yes = "$lt_cv_prog_compiler_pic_works"; then
case $lt_prog_compiler_pic in
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test ${lt_cv_prog_compiler_static_works+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_prog_compiler_static_works=no
save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
LDFLAGS=$save_LDFLAGS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; }
if test yes = "$lt_cv_prog_compiler_static_works"; then
:
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test ${lt_cv_prog_compiler_c_o+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_prog_compiler_c_o=no
$RM -r conftest 2>/dev/null
mkdir conftest
$RM conftest*
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test ${lt_cv_prog_compiler_c_o+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_prog_compiler_c_o=no
$RM -r conftest 2>/dev/null
mkdir conftest
$RM conftest*
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; }
hard_links=nottested
if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
# do not overwrite the value of need_locks provided by the user
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+printf %s "checking if we can lock with hard links... " >&6; }
hard_links=yes
$RM conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+printf "%s\n" "$hard_links" >&6; }
if test no = "$hard_links"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
+printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
runpath_var=
allow_undefined_flag=
if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ if test ${lt_cv_aix_libpath_+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
if test -z "$lt_cv_aix_libpath_"; then
lt_cv_aix_libpath_=/usr/lib:/lib
if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ if test ${lt_cv_aix_libpath_+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
if test -z "$lt_cv_aix_libpath_"; then
lt_cv_aix_libpath_=/usr/lib:/lib
# Older versions of the 11.00 compiler do not understand -b yet
# (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+printf %s "checking if $CC understands -b... " >&6; }
+if test ${lt_cv_prog_compiler__b+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_prog_compiler__b=no
save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -b"
LDFLAGS=$save_LDFLAGS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+printf "%s\n" "$lt_cv_prog_compiler__b" >&6; }
if test yes = "$lt_cv_prog_compiler__b"; then
archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
# work, assume that -exports_file does not work either and
# implicitly export all symbols.
# This should be the same for all languages, so no per-tag cache variable.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
+if test ${lt_cv_irix_exported_symbol+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo (void) { return 0; }
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
lt_cv_irix_exported_symbol=yes
-else
+else $as_nop
lt_cv_irix_exported_symbol=no
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LDFLAGS=$save_LDFLAGS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; }
if test yes = "$lt_cv_irix_exported_symbol"; then
archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+printf "%s\n" "$ld_shlibs" >&6; }
test no = "$ld_shlibs" && can_build_shared=no
with_gnu_ld=$with_gnu_ld
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+printf %s "checking whether -lc should be explicitly linked in... " >&6; }
+if test ${lt_cv_archive_cmds_need_lc+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
$RM conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } 2>conftest.err; then
soname=conftest
lib=conftest
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
(eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
then
lt_cv_archive_cmds_need_lc=no
$RM conftest*
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; }
archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
;;
esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+printf %s "checking dynamic linker characteristics... " >&6; }
if test yes = "$GCC"; then
case $host_os in
shlibpath_overrides_runpath=no
# Some binutils ld are patched to set DT_RUNPATH
- if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ if test ${lt_cv_shlibpath_overrides_runpath+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_shlibpath_overrides_runpath=no
save_LDFLAGS=$LDFLAGS
save_libdir=$libdir
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+if ac_fn_c_try_link "$LINENO"
+then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null
+then :
lt_cv_shlibpath_overrides_runpath=yes
fi
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LDFLAGS=$save_LDFLAGS
libdir=$save_libdir
dynamic_linker=no
;;
esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+printf "%s\n" "$dynamic_linker" >&6; }
test no = "$dynamic_linker" && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+printf %s "checking how to hardcode library paths into programs... " >&6; }
hardcode_action=
if test -n "$hardcode_libdir_flag_spec" ||
test -n "$runpath_var" ||
# directories.
hardcode_action=unsupported
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+printf "%s\n" "$hardcode_action" >&6; }
if test relink = "$hardcode_action" ||
test yes = "$inherit_rpath"; then
darwin*)
# if libdl is installed we need to link against it
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+printf %s "checking for dlopen in -ldl... " >&6; }
+if test ${ac_cv_lib_dl_dlopen+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char dlopen ();
int
-main ()
+main (void)
{
return dlopen ();
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_lib_dl_dlopen=yes
-else
+else $as_nop
ac_cv_lib_dl_dlopen=no
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
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" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes
+then :
lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
-else
+else $as_nop
lt_cv_dlopen=dyld
lt_cv_dlopen_libs=
*)
ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
+if test "x$ac_cv_func_shl_load" = xyes
+then :
lt_cv_dlopen=shl_load
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+printf %s "checking for shl_load in -ldld... " >&6; }
+if test ${ac_cv_lib_dld_shl_load+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char shl_load ();
int
-main ()
+main (void)
{
return shl_load ();
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_lib_dld_shl_load=yes
-else
+else $as_nop
ac_cv_lib_dld_shl_load=no
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = xyes
+then :
lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
-else
+else $as_nop
ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
+if test "x$ac_cv_func_dlopen" = xyes
+then :
lt_cv_dlopen=dlopen
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+printf %s "checking for dlopen in -ldl... " >&6; }
+if test ${ac_cv_lib_dl_dlopen+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char dlopen ();
int
-main ()
+main (void)
{
return dlopen ();
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_lib_dl_dlopen=yes
-else
+else $as_nop
ac_cv_lib_dl_dlopen=no
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
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" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes
+then :
lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+printf %s "checking for dlopen in -lsvld... " >&6; }
+if test ${ac_cv_lib_svld_dlopen+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-lsvld $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char dlopen ();
int
-main ()
+main (void)
{
return dlopen ();
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_lib_svld_dlopen=yes
-else
+else $as_nop
ac_cv_lib_svld_dlopen=no
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = xyes
+then :
lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+printf %s "checking for dld_link in -ldld... " >&6; }
+if test ${ac_cv_lib_dld_dld_link+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char dld_link ();
int
-main ()
+main (void)
{
return dld_link ();
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_lib_dld_dld_link=yes
-else
+else $as_nop
ac_cv_lib_dld_dld_link=no
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = xyes
+then :
lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
fi
save_LIBS=$LIBS
LIBS="$lt_cv_dlopen_libs $LIBS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+printf %s "checking whether a program can dlopen itself... " >&6; }
+if test ${lt_cv_dlopen_self+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test yes = "$cross_compiling"; then :
lt_cv_dlopen_self=cross
else
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
(eval $ac_link) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+printf "%s\n" "$lt_cv_dlopen_self" >&6; }
if test yes = "$lt_cv_dlopen_self"; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+printf %s "checking whether a statically linked program can dlopen itself... " >&6; }
+if test ${lt_cv_dlopen_self_static+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test yes = "$cross_compiling"; then :
lt_cv_dlopen_self_static=cross
else
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
(eval $ac_link) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+printf "%s\n" "$lt_cv_dlopen_self_static" >&6; }
fi
CPPFLAGS=$save_CPPFLAGS
striplib=
old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+printf %s "checking whether stripping libraries is possible... " >&6; }
if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
else
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
if test -n "$STRIP"; then
striplib="$STRIP -x"
old_striplib="$STRIP -S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
;;
*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
;;
esac
fi
# Report what library types will actually be built
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+printf %s "checking if libtool supports shared libraries... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+printf "%s\n" "$can_build_shared" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+printf %s "checking whether to build shared libraries... " >&6; }
test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
fi
;;
esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+printf "%s\n" "$enable_shared" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+printf %s "checking whether to build static libraries... " >&6; }
# Make sure either enable_shared or enable_static is yes.
test yes = "$enable_shared" || enable_static=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+printf "%s\n" "$enable_static" >&6; }
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
set dummy ${ac_tool_prefix}pkg-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 ${ac_cv_path_PKG_CONFIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_PKG_CONFIG+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
case $PKG_CONFIG in
[\\/]* | ?:[\\/]*)
ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_path_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
if test -n "$PKG_CONFIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+printf "%s\n" "$PKG_CONFIG" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_pt_PKG_CONFIG=$PKG_CONFIG
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-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 ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_ac_pt_PKG_CONFIG+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
case $ac_pt_PKG_CONFIG in
[\\/]* | ?:[\\/]*)
ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
if test -n "$ac_pt_PKG_CONFIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_pt_PKG_CONFIG" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
PKG_CONFIG=$ac_pt_PKG_CONFIG
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=0.9.0
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
PKG_CONFIG=""
fi
fi
fi
-# Checks for header files.
-for ac_header in stdarg.h stdbool.h netinet/in.h netinet/tcp.h sys/param.h sys/select.h sys/socket.h sys/un.h sys/uio.h sys/resource.h arpa/inet.h syslog.h netdb.h sys/wait.h pwd.h glob.h grp.h login_cap.h winsock2.h ws2tcpip.h endian.h sys/endian.h libkern/OSByteOrder.h sys/ipc.h sys/shm.h ifaddrs.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+# Checks for header files.
+ac_fn_c_check_header_compile "$LINENO" "stdarg.h" "ac_cv_header_stdarg_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_stdarg_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_STDARG_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "stdbool.h" "ac_cv_header_stdbool_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_stdbool_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_STDBOOL_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_netinet_in_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_NETINET_IN_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "netinet/tcp.h" "ac_cv_header_netinet_tcp_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_netinet_tcp_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_NETINET_TCP_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_sys_param_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYS_PARAM_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/select.h" "ac_cv_header_sys_select_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_sys_select_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYS_SELECT_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_sys_socket_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/un.h" "ac_cv_header_sys_un_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_sys_un_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYS_UN_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/uio.h" "ac_cv_header_sys_uio_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_sys_uio_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYS_UIO_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/resource.h" "ac_cv_header_sys_resource_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_sys_resource_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYS_RESOURCE_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_arpa_inet_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_ARPA_INET_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "syslog.h" "ac_cv_header_syslog_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_syslog_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYSLOG_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_netdb_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_NETDB_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/wait.h" "ac_cv_header_sys_wait_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_sys_wait_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYS_WAIT_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "pwd.h" "ac_cv_header_pwd_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_pwd_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_PWD_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "glob.h" "ac_cv_header_glob_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_glob_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_GLOB_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "grp.h" "ac_cv_header_grp_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_grp_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_GRP_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "login_cap.h" "ac_cv_header_login_cap_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_login_cap_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_LOGIN_CAP_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_winsock2_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_WINSOCK2_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "ws2tcpip.h" "ac_cv_header_ws2tcpip_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_ws2tcpip_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_WS2TCPIP_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "endian.h" "ac_cv_header_endian_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_endian_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_ENDIAN_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/endian.h" "ac_cv_header_sys_endian_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_sys_endian_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYS_ENDIAN_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "libkern/OSByteOrder.h" "ac_cv_header_libkern_OSByteOrder_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_libkern_OSByteOrder_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_LIBKERN_OSBYTEORDER_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/ipc.h" "ac_cv_header_sys_ipc_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_sys_ipc_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYS_IPC_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/shm.h" "ac_cv_header_sys_shm_h" "$ac_includes_default
"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+if test "x$ac_cv_header_sys_shm_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYS_SHM_H 1" >>confdefs.h
fi
+ac_fn_c_check_header_compile "$LINENO" "ifaddrs.h" "ac_cv_header_ifaddrs_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_ifaddrs_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_IFADDRS_H 1" >>confdefs.h
-done
+fi
# net/if.h portability for Darwin see:
# https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Header-Portability.html
-for ac_header in net/if.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "
+ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "
#include <stdio.h>
#ifdef STDC_HEADERS
# include <stdlib.h>
#endif
"
-if test "x$ac_cv_header_net_if_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_NET_IF_H 1
-_ACEOF
+if test "x$ac_cv_header_net_if_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_NET_IF_H 1" >>confdefs.h
fi
-done
-
# Check for Apple header. This uncovers TARGET_OS_IPHONE, TARGET_OS_TV or TARGET_OS_WATCH
-for ac_header in TargetConditionals.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "TargetConditionals.h" "ac_cv_header_TargetConditionals_h" "$ac_includes_default
+ac_fn_c_check_header_compile "$LINENO" "TargetConditionals.h" "ac_cv_header_TargetConditionals_h" "$ac_includes_default
"
-if test "x$ac_cv_header_TargetConditionals_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_TARGETCONDITIONALS_H 1
-_ACEOF
+if test "x$ac_cv_header_TargetConditionals_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_TARGETCONDITIONALS_H 1" >>confdefs.h
fi
-done
-
-for ac_header in netioapi.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "netioapi.h" "ac_cv_header_netioapi_h" "$ac_includes_default
+ac_fn_c_check_header_compile "$LINENO" "netioapi.h" "ac_cv_header_netioapi_h" "$ac_includes_default
#if HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#endif
"
-if test "x$ac_cv_header_netioapi_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_NETIOAPI_H 1
-_ACEOF
+if test "x$ac_cv_header_netioapi_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_NETIOAPI_H 1" >>confdefs.h
fi
-done
-
# check for types.
# Using own tests for int64* because autoconf builtin only give 32bit.
ac_fn_c_check_type "$LINENO" "int8_t" "ac_cv_type_int8_t" "$ac_includes_default"
-if test "x$ac_cv_type_int8_t" = xyes; then :
+if test "x$ac_cv_type_int8_t" = xyes
+then :
-else
+else $as_nop
-cat >>confdefs.h <<_ACEOF
-#define int8_t signed char
-_ACEOF
+printf "%s\n" "#define int8_t signed char" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "int16_t" "ac_cv_type_int16_t" "$ac_includes_default"
-if test "x$ac_cv_type_int16_t" = xyes; then :
+if test "x$ac_cv_type_int16_t" = xyes
+then :
-else
+else $as_nop
-cat >>confdefs.h <<_ACEOF
-#define int16_t short
-_ACEOF
+printf "%s\n" "#define int16_t short" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "int32_t" "ac_cv_type_int32_t" "$ac_includes_default"
-if test "x$ac_cv_type_int32_t" = xyes; then :
+if test "x$ac_cv_type_int32_t" = xyes
+then :
-else
+else $as_nop
-cat >>confdefs.h <<_ACEOF
-#define int32_t int
-_ACEOF
+printf "%s\n" "#define int32_t int" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "int64_t" "ac_cv_type_int64_t" "$ac_includes_default"
-if test "x$ac_cv_type_int64_t" = xyes; then :
+if test "x$ac_cv_type_int64_t" = xyes
+then :
-else
+else $as_nop
-cat >>confdefs.h <<_ACEOF
-#define int64_t long long
-_ACEOF
+printf "%s\n" "#define int64_t long long" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "uint8_t" "ac_cv_type_uint8_t" "$ac_includes_default"
-if test "x$ac_cv_type_uint8_t" = xyes; then :
+if test "x$ac_cv_type_uint8_t" = xyes
+then :
-else
+else $as_nop
-cat >>confdefs.h <<_ACEOF
-#define uint8_t unsigned char
-_ACEOF
+printf "%s\n" "#define uint8_t unsigned char" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "uint16_t" "ac_cv_type_uint16_t" "$ac_includes_default"
-if test "x$ac_cv_type_uint16_t" = xyes; then :
+if test "x$ac_cv_type_uint16_t" = xyes
+then :
-else
+else $as_nop
-cat >>confdefs.h <<_ACEOF
-#define uint16_t unsigned short
-_ACEOF
+printf "%s\n" "#define uint16_t unsigned short" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "$ac_includes_default"
-if test "x$ac_cv_type_uint32_t" = xyes; then :
+if test "x$ac_cv_type_uint32_t" = xyes
+then :
-else
+else $as_nop
-cat >>confdefs.h <<_ACEOF
-#define uint32_t unsigned int
-_ACEOF
+printf "%s\n" "#define uint32_t unsigned int" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "$ac_includes_default"
-if test "x$ac_cv_type_uint64_t" = xyes; then :
+if test "x$ac_cv_type_uint64_t" = xyes
+then :
-else
+else $as_nop
-cat >>confdefs.h <<_ACEOF
-#define uint64_t unsigned long long
-_ACEOF
+printf "%s\n" "#define uint64_t unsigned long long" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
+if test "x$ac_cv_type_size_t" = xyes
+then :
-else
+else $as_nop
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
+printf "%s\n" "#define size_t unsigned int" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default"
-if test "x$ac_cv_type_ssize_t" = xyes; then :
+if test "x$ac_cv_type_ssize_t" = xyes
+then :
-else
+else $as_nop
+
+printf "%s\n" "#define ssize_t int" >>confdefs.h
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+printf %s "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if test ${ac_cv_prog_CPP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ # Double quotes because $CC needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"
+then :
+
+else $as_nop
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
-cat >>confdefs.h <<_ACEOF
-#define ssize_t int
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
_ACEOF
+if ac_fn_c_try_cpp "$LINENO"
+then :
+ # Broken: success on invalid input.
+continue
+else $as_nop
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok
+then :
+ break
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
-$as_echo_n "checking for uid_t in sys/types.h... " >&6; }
-if ${ac_cv_type_uid_t+:} false; then :
- $as_echo_n "(cached) " >&6
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
else
+ ac_cv_prog_CPP=$CPP
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+printf "%s\n" "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"
+then :
+
+else $as_nop
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"
+then :
+ # Broken: success on invalid input.
+continue
+else $as_nop
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok
+then :
+
+else $as_nop
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
+printf %s "checking for uid_t in sys/types.h... " >&6; }
+if test ${ac_cv_type_uid_t+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "uid_t" >/dev/null 2>&1; then :
+ $EGREP "uid_t" >/dev/null 2>&1
+then :
ac_cv_type_uid_t=yes
-else
+else $as_nop
ac_cv_type_uid_t=no
fi
-rm -f conftest*
+rm -rf conftest*
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5
-$as_echo "$ac_cv_type_uid_t" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5
+printf "%s\n" "$ac_cv_type_uid_t" >&6; }
if test $ac_cv_type_uid_t = no; then
-$as_echo "#define uid_t int" >>confdefs.h
+printf "%s\n" "#define uid_t int" >>confdefs.h
-$as_echo "#define gid_t int" >>confdefs.h
+printf "%s\n" "#define gid_t int" >>confdefs.h
fi
-ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
-if test "x$ac_cv_type_pid_t" = xyes; then :
-else
+ ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default
+"
+if test "x$ac_cv_type_pid_t" = xyes
+then :
+
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #if defined _WIN64 && !defined __CYGWIN__
+ LLP64
+ #endif
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
-cat >>confdefs.h <<_ACEOF
-#define pid_t int
_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_pid_type='int'
+else $as_nop
+ ac_pid_type='__int64'
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
+printf "%s\n" "#define pid_t $ac_pid_type" >>confdefs.h
+
fi
+
ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
-if test "x$ac_cv_type_off_t" = xyes; then :
+if test "x$ac_cv_type_off_t" = xyes
+then :
-else
+else $as_nop
-cat >>confdefs.h <<_ACEOF
-#define off_t long int
-_ACEOF
+printf "%s\n" "#define off_t long int" >>confdefs.h
fi
#endif
"
-if test "x$ac_cv_type_u_char" = xyes; then :
+if test "x$ac_cv_type_u_char" = xyes
+then :
-else
+else $as_nop
-$as_echo "#define u_char unsigned char" >>confdefs.h
+printf "%s\n" "#define u_char unsigned char" >>confdefs.h
fi
#endif
"
-if test "x$ac_cv_type_rlim_t" = xyes; then :
+if test "x$ac_cv_type_rlim_t" = xyes
+then :
-else
+else $as_nop
-$as_echo "#define rlim_t unsigned long" >>confdefs.h
+printf "%s\n" "#define rlim_t unsigned long" >>confdefs.h
fi
#endif
"
-if test "x$ac_cv_type_socklen_t" = xyes; then :
+if test "x$ac_cv_type_socklen_t" = xyes
+then :
-else
+else $as_nop
-$as_echo "#define socklen_t int" >>confdefs.h
+printf "%s\n" "#define socklen_t int" >>confdefs.h
fi
#endif
"
-if test "x$ac_cv_type_in_addr_t" = xyes; then :
+if test "x$ac_cv_type_in_addr_t" = xyes
+then :
-else
+else $as_nop
-$as_echo "#define in_addr_t uint32_t" >>confdefs.h
+printf "%s\n" "#define in_addr_t uint32_t" >>confdefs.h
fi
#endif
"
-if test "x$ac_cv_type_in_port_t" = xyes; then :
+if test "x$ac_cv_type_in_port_t" = xyes
+then :
-else
+else $as_nop
-$as_echo "#define in_port_t uint16_t" >>confdefs.h
+printf "%s\n" "#define in_port_t uint16_t" >>confdefs.h
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if memcmp compares unsigned" >&5
-$as_echo_n "checking if memcmp compares unsigned... " >&6; }
-if test "$cross_compiling" = yes; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compile no" >&5
-$as_echo "cross-compile no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if memcmp compares unsigned" >&5
+printf %s "checking if memcmp compares unsigned... " >&6; }
+if test "$cross_compiling" = yes
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cross-compile no" >&5
+printf "%s\n" "cross-compile no" >&6; }
-$as_echo "#define MEMCMP_IS_BROKEN 1" >>confdefs.h
+printf "%s\n" "#define MEMCMP_IS_BROKEN 1" >>confdefs.h
case " $LIBOBJS " in
*" memcmp.$ac_objext "* ) ;;
esac
-else
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+if ac_fn_c_try_run "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
-$as_echo "#define MEMCMP_IS_BROKEN 1" >>confdefs.h
+printf "%s\n" "#define MEMCMP_IS_BROKEN 1" >>confdefs.h
case " $LIBOBJS " in
*" memcmp.$ac_objext "* ) ;;
# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5
-$as_echo_n "checking size of time_t... " >&6; }
-if ${ac_cv_sizeof_time_t+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5
+printf %s "checking size of time_t... " >&6; }
+if test ${ac_cv_sizeof_time_t+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t" "
$ac_includes_default
#ifdef TIME_WITH_SYS_TIME
# endif
#endif
-"; then :
+"
+then :
-else
+else $as_nop
if test "$ac_cv_type_time_t" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (time_t)
See \`config.log' for more details" "$LINENO" 5; }
else
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_time_t" >&5
-$as_echo "$ac_cv_sizeof_time_t" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_time_t" >&5
+printf "%s\n" "$ac_cv_sizeof_time_t" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_TIME_T $ac_cv_sizeof_time_t
-_ACEOF
+printf "%s\n" "#define SIZEOF_TIME_T $ac_cv_sizeof_time_t" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
# 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 ${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 :
-
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
+printf %s "checking size of size_t... " >&6; }
+if test ${ac_cv_sizeof_size_t+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default"
+then :
+
+else $as_nop
if test "$ac_cv_type_size_t" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (size_t)
See \`config.log' for more details" "$LINENO" 5; }
else
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5
-$as_echo "$ac_cv_sizeof_size_t" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5
+printf "%s\n" "$ac_cv_sizeof_size_t" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t
-_ACEOF
+printf "%s\n" "#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t" >>confdefs.h
# add option to disable the evil rpath
# Check whether --enable-rpath was given.
-if test "${enable_rpath+set}" = set; then :
+if test ${enable_rpath+y}
+then :
enableval=$enable_rpath; enable_rpath=$enableval
-else
+else $as_nop
enable_rpath=yes
fi
# check to see if libraries are needed for these functions.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_pton" >&5
-$as_echo_n "checking for library containing inet_pton... " >&6; }
-if ${ac_cv_search_inet_pton+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing inet_pton" >&5
+printf %s "checking for library containing inet_pton... " >&6; }
+if test ${ac_cv_search_inet_pton+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char inet_pton ();
int
-main ()
+main (void)
{
return inet_pton ();
;
return 0;
}
_ACEOF
-for ac_lib in '' nsl; do
+for ac_lib in '' nsl
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_search_inet_pton=$ac_res
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if ${ac_cv_search_inet_pton+:} false; then :
+ if test ${ac_cv_search_inet_pton+y}
+then :
break
fi
done
-if ${ac_cv_search_inet_pton+:} false; then :
+if test ${ac_cv_search_inet_pton+y}
+then :
-else
+else $as_nop
ac_cv_search_inet_pton=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_pton" >&5
-$as_echo "$ac_cv_search_inet_pton" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_pton" >&5
+printf "%s\n" "$ac_cv_search_inet_pton" >&6; }
ac_res=$ac_cv_search_inet_pton
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5
-$as_echo_n "checking for library containing socket... " >&6; }
-if ${ac_cv_search_socket+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5
+printf %s "checking for library containing socket... " >&6; }
+if test ${ac_cv_search_socket+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char socket ();
int
-main ()
+main (void)
{
return socket ();
;
return 0;
}
_ACEOF
-for ac_lib in '' socket; do
+for ac_lib in '' socket
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_search_socket=$ac_res
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if ${ac_cv_search_socket+:} false; then :
+ if test ${ac_cv_search_socket+y}
+then :
break
fi
done
-if ${ac_cv_search_socket+:} false; then :
+if test ${ac_cv_search_socket+y}
+then :
-else
+else $as_nop
ac_cv_search_socket=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5
-$as_echo "$ac_cv_search_socket" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5
+printf "%s\n" "$ac_cv_search_socket" >&6; }
ac_res=$ac_cv_search_socket
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
# check whether strptime also works
# check some functions of the OS before linking libs (while still runnable).
-for ac_header in unistd.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default"
-if test "x$ac_cv_header_unistd_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_UNISTD_H 1
-_ACEOF
-
-fi
-
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working chown" >&5
-$as_echo_n "checking for working chown... " >&6; }
-if ${ac_cv_func_chown_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_chown_works=no
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working chown" >&5
+printf %s "checking for working chown... " >&6; }
+if test ${ac_cv_func_chown_works+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test "$cross_compiling" = yes
+then :
+ case "$host_os" in # ((
+ # Guess yes on glibc systems.
+ *-gnu*) ac_cv_func_chown_works=yes ;;
+ # If we don't know, assume the worst.
+ *) ac_cv_func_chown_works=no ;;
+ esac
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
#include <fcntl.h>
int
-main ()
+main (void)
{
char *f = "conftest.chown";
struct stat before, after;
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
+if ac_fn_c_try_run "$LINENO"
+then :
ac_cv_func_chown_works=yes
-else
+else $as_nop
ac_cv_func_chown_works=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
rm -f conftest.chown
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_chown_works" >&5
-$as_echo "$ac_cv_func_chown_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_chown_works" >&5
+printf "%s\n" "$ac_cv_func_chown_works" >&6; }
if test $ac_cv_func_chown_works = yes; then
-$as_echo "#define HAVE_CHOWN 1" >>confdefs.h
+printf "%s\n" "#define HAVE_CHOWN 1" >>confdefs.h
fi
-for ac_header in vfork.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default"
-if test "x$ac_cv_header_vfork_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_VFORK_H 1
-_ACEOF
-
-fi
+ac_func=
+for ac_item in $ac_func_c_list
+do
+ if test $ac_func; then
+ ac_fn_c_check_func "$LINENO" $ac_func ac_cv_func_$ac_func
+ if eval test \"x\$ac_cv_func_$ac_func\" = xyes; then
+ echo "#define $ac_item 1" >> confdefs.h
+ fi
+ ac_func=
+ else
+ ac_func=$ac_item
+ fi
done
-for ac_func in fork vfork
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-fi
-done
if test "x$ac_cv_func_fork" = xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5
-$as_echo_n "checking for working fork... " >&6; }
-if ${ac_cv_func_fork_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5
+printf %s "checking for working fork... " >&6; }
+if test ${ac_cv_func_fork_works+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test "$cross_compiling" = yes
+then :
ac_cv_func_fork_works=cross
-else
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int
-main ()
+main (void)
{
/* By Ruediger Kuhlmann. */
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
+if ac_fn_c_try_run "$LINENO"
+then :
ac_cv_func_fork_works=yes
-else
+else $as_nop
ac_cv_func_fork_works=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5
-$as_echo "$ac_cv_func_fork_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5
+printf "%s\n" "$ac_cv_func_fork_works" >&6; }
else
ac_cv_func_fork_works=$ac_cv_func_fork
ac_cv_func_fork_works=yes
;;
esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
-$as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
+printf "%s\n" "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
fi
ac_cv_func_vfork_works=$ac_cv_func_vfork
if test "x$ac_cv_func_vfork" = xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5
-$as_echo_n "checking for working vfork... " >&6; }
-if ${ac_cv_func_vfork_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5
+printf %s "checking for working vfork... " >&6; }
+if test ${ac_cv_func_vfork_works+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test "$cross_compiling" = yes
+then :
ac_cv_func_vfork_works=cross
-else
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Thanks to Paul Eggert for this test. */
$ac_includes_default
+#include <signal.h>
#include <sys/wait.h>
#ifdef HAVE_VFORK_H
# include <vfork.h>
#endif
+
+static void
+do_nothing (int sig)
+{
+ (void) sig;
+}
+
/* On some sparc systems, changes by the child to local and incoming
argument registers are propagated back to the parent. The compiler
is told about this with #include <vfork.h>, but some compilers
static variable whose address is put into a register that is
clobbered by the vfork. */
static void
-#ifdef __cplusplus
sparc_address_test (int arg)
-# else
-sparc_address_test (arg) int arg;
-#endif
{
static pid_t child;
if (!child) {
}
int
-main ()
+main (void)
{
pid_t parent = getpid ();
pid_t child;
sparc_address_test (0);
+ /* On Solaris 2.4, changes by the child to the signal handler
+ also munge signal handlers in the parent. To detect this,
+ start by putting the parent's handler in a known state. */
+ signal (SIGTERM, SIG_DFL);
+
child = vfork ();
if (child == 0) {
|| p != p5 || p != p6 || p != p7)
_exit(1);
+ /* Alter the child's signal handler. */
+ if (signal (SIGTERM, do_nothing) != SIG_DFL)
+ _exit(1);
+
/* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
from child file descriptors. If the child closes a descriptor
before it execs or exits, this munges the parent's descriptor
/* Was there some problem with vforking? */
child < 0
+ /* Did the child munge the parent's signal handler? */
+ || signal (SIGTERM, SIG_DFL) != SIG_DFL
+
/* Did the child fail? (This shouldn't happen.) */
|| status
}
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
+if ac_fn_c_try_run "$LINENO"
+then :
ac_cv_func_vfork_works=yes
-else
+else $as_nop
ac_cv_func_vfork_works=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5
-$as_echo "$ac_cv_func_vfork_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5
+printf "%s\n" "$ac_cv_func_vfork_works" >&6; }
fi;
if test "x$ac_cv_func_fork_works" = xcross; then
ac_cv_func_vfork_works=$ac_cv_func_vfork
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
-$as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
+printf "%s\n" "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
fi
if test "x$ac_cv_func_vfork_works" = xyes; then
-$as_echo "#define HAVE_WORKING_VFORK 1" >>confdefs.h
+printf "%s\n" "#define HAVE_WORKING_VFORK 1" >>confdefs.h
else
-$as_echo "#define vfork fork" >>confdefs.h
+printf "%s\n" "#define vfork fork" >>confdefs.h
fi
if test "x$ac_cv_func_fork_works" = xyes; then
-$as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h
+printf "%s\n" "#define HAVE_WORKING_FORK 1" >>confdefs.h
fi
-$as_echo "#define RETSIGTYPE void" >>confdefs.h
+printf "%s\n" "#define RETSIGTYPE void" >>confdefs.h
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5
-$as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; }
-if ${ac_cv_sys_largefile_source+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5
+printf %s "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; }
+if test ${ac_cv_sys_largefile_source+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
while :; do
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h> /* for off_t */
#include <stdio.h>
int
-main ()
+main (void)
{
int (*fp) (FILE *, off_t, int) = fseeko;
return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_sys_largefile_source=no; break
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h> /* for off_t */
#include <stdio.h>
int
-main ()
+main (void)
{
int (*fp) (FILE *, off_t, int) = fseeko;
return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_sys_largefile_source=1; break
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
ac_cv_sys_largefile_source=unknown
break
done
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5
-$as_echo "$ac_cv_sys_largefile_source" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5
+printf "%s\n" "$ac_cv_sys_largefile_source" >&6; }
case $ac_cv_sys_largefile_source in #(
no | unknown) ;;
*)
-cat >>confdefs.h <<_ACEOF
-#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source
-_ACEOF
+printf "%s\n" "#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source" >>confdefs.h
;;
esac
rm -rf conftest*
# If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
if test $ac_cv_sys_largefile_source != unknown; then
-$as_echo "#define HAVE_FSEEKO 1" >>confdefs.h
+printf "%s\n" "#define HAVE_FSEEKO 1" >>confdefs.h
fi
# Check whether --enable-largefile was given.
-if test "${enable_largefile+set}" = set; then :
+if test ${enable_largefile+y}
+then :
enableval=$enable_largefile;
fi
if test "$enable_largefile" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if ${ac_cv_sys_largefile_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+printf %s "checking for special C compiler options needed for large files... " >&6; }
+if test ${ac_cv_sys_largefile_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_cv_sys_largefile_CC=no
if test "$GCC" != yes; then
ac_save_CC=$CC
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
+ if ac_fn_c_try_compile "$LINENO"
+then :
break
fi
-rm -f core conftest.err conftest.$ac_objext
+rm -f core conftest.err conftest.$ac_objext conftest.beam
CC="$CC -n32"
- if ac_fn_c_try_compile "$LINENO"; then :
+ if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_sys_largefile_CC=' -n32'; break
fi
-rm -f core conftest.err conftest.$ac_objext
+rm -f core conftest.err conftest.$ac_objext conftest.beam
break
done
CC=$ac_save_CC
rm -f conftest.$ac_ext
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+printf "%s\n" "$ac_cv_sys_largefile_CC" >&6; }
if test "$ac_cv_sys_largefile_CC" != no; then
CC=$CC$ac_cv_sys_largefile_CC
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if ${ac_cv_sys_file_offset_bits+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+printf %s "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if test ${ac_cv_sys_file_offset_bits+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
while :; do
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_sys_file_offset_bits=no; break
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define _FILE_OFFSET_BITS 64
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_sys_file_offset_bits=64; break
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_sys_file_offset_bits=unknown
break
done
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
-$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+printf "%s\n" "$ac_cv_sys_file_offset_bits" >&6; }
case $ac_cv_sys_file_offset_bits in #(
no | unknown) ;;
*)
-cat >>confdefs.h <<_ACEOF
-#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
-_ACEOF
+printf "%s\n" "#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits" >>confdefs.h
;;
esac
rm -rf conftest*
if test $ac_cv_sys_file_offset_bits = unknown; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if ${ac_cv_sys_large_files+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+printf %s "checking for _LARGE_FILES value needed for large files... " >&6; }
+if test ${ac_cv_sys_large_files+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
while :; do
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_sys_large_files=no; break
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define _LARGE_FILES 1
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_sys_large_files=1; break
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_sys_large_files=unknown
break
done
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
-$as_echo "$ac_cv_sys_large_files" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+printf "%s\n" "$ac_cv_sys_large_files" >&6; }
case $ac_cv_sys_large_files in #(
no | unknown) ;;
*)
-cat >>confdefs.h <<_ACEOF
-#define _LARGE_FILES $ac_cv_sys_large_files
-_ACEOF
+printf "%s\n" "#define _LARGE_FILES $ac_cv_sys_large_files" >>confdefs.h
;;
esac
rm -rf conftest*
- fi
-
-
+ fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_LARGEFILE_SOURCE=1 as a flag for $CC" >&5
-$as_echo_n "checking whether we need -D_LARGEFILE_SOURCE=1 as a flag for $CC... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we need -D_LARGEFILE_SOURCE=1 as a flag for $CC" >&5
+printf %s "checking whether we need -D_LARGEFILE_SOURCE=1 as a flag for $CC... " >&6; }
cache=_D_LARGEFILE_SOURCE_1
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_needed_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo '
#include <stdio.h>
fi
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE=1"
else
if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
#echo 'Test with flag is no!'
#cat conftest.c
#echo "$CC $CPPFLAGS $CFLAGS -D_LARGEFILE_SOURCE=1 $ERRFLAG -c conftest.c 2>&1"
:
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+printf "%s\n" "failed" >&6; }
:
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if nonblocking sockets work" >&5
-$as_echo_n "checking if nonblocking sockets work... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if nonblocking sockets work" >&5
+printf %s "checking if nonblocking sockets work... " >&6; }
if echo $host | grep mingw >/dev/null; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (windows)" >&5
-$as_echo "no (windows)" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no (windows)" >&5
+printf "%s\n" "no (windows)" >&6; }
-$as_echo "#define NONBLOCKING_IS_BROKEN 1" >>confdefs.h
+printf "%s\n" "#define NONBLOCKING_IS_BROKEN 1" >>confdefs.h
else
-if test "$cross_compiling" = yes; then :
+if test "$cross_compiling" = yes
+then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: crosscompile(yes)" >&5
-$as_echo "crosscompile(yes)" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: crosscompile(yes)" >&5
+printf "%s\n" "crosscompile(yes)" >&6; }
-else
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
+if ac_fn_c_try_run "$LINENO"
+then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
-else
+else $as_nop
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
-$as_echo "#define NONBLOCKING_IS_BROKEN 1" >>confdefs.h
+printf "%s\n" "#define NONBLOCKING_IS_BROKEN 1" >>confdefs.h
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mkdir has one arg" >&5
-$as_echo_n "checking whether mkdir has one arg... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mkdir has one arg" >&5
+printf %s "checking whether mkdir has one arg... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#endif
int
-main ()
+main (void)
{
(void)mkdir("directory");
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+if ac_fn_c_try_compile "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
-$as_echo "#define MKDIR_HAS_ONE_ARG 1" >>confdefs.h
+printf "%s\n" "#define MKDIR_HAS_ONE_ARG 1" >>confdefs.h
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-for ac_func in strptime
+
+ for ac_func in strptime
do :
ac_fn_c_check_func "$LINENO" "strptime" "ac_cv_func_strptime"
-if test "x$ac_cv_func_strptime" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_STRPTIME 1
-_ACEOF
+if test "x$ac_cv_func_strptime" = xyes
+then :
+ printf "%s\n" "#define HAVE_STRPTIME 1" >>confdefs.h
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strptime works" >&5
-$as_echo_n "checking whether strptime works... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether strptime works" >&5
+printf %s "checking whether strptime works... " >&6; }
if test c${cross_compiling} = cno; then
-if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+if test "$cross_compiling" = yes
+then :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot run test program while cross compiling
See \`config.log' for more details" "$LINENO" 5; }
-else
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
if (!res) return 1; return 0; }
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
+if ac_fn_c_try_run "$LINENO"
+then :
eval "ac_cv_c_strptime_works=yes"
-else
+else $as_nop
eval "ac_cv_c_strptime_works=no"
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
else
eval "ac_cv_c_strptime_works=maybe"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_strptime_works" >&5
-$as_echo "$ac_cv_c_strptime_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_strptime_works" >&5
+printf "%s\n" "$ac_cv_c_strptime_works" >&6; }
if test $ac_cv_c_strptime_works = no; then
case " $LIBOBJS " in
*" strptime.$ac_objext "* ) ;;
else
-cat >>confdefs.h <<_ACEOF
-#define STRPTIME_WORKS 1
-_ACEOF
+printf "%s\n" "#define STRPTIME_WORKS 1" >>confdefs.h
fi
-else
+else $as_nop
case " $LIBOBJS " in
*" strptime.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS strptime.$ac_objext"
esac
fi
-done
+done
# check if we can use SO_REUSEPORT
reuseport_default=0
if echo "$host" | $GREP -i -e dragonfly >/dev/null; then reuseport_default=1; fi
if test "$reuseport_default" = 1; then
-$as_echo "#define REUSEPORT_DEFAULT 1" >>confdefs.h
+printf "%s\n" "#define REUSEPORT_DEFAULT 1" >>confdefs.h
else
-$as_echo "#define REUSEPORT_DEFAULT 0" >>confdefs.h
+printf "%s\n" "#define REUSEPORT_DEFAULT 0" >>confdefs.h
fi
# Copyright 2015, Sami Kerola, CloudFlare.
# BSD licensed.
# Check whether --enable-systemd was given.
-if test "${enable_systemd+set}" = set; then :
+if test ${enable_systemd+y}
+then :
enableval=$enable_systemd;
-else
+else $as_nop
enable_systemd=no
fi
have_systemd=no
-if test "x$enable_systemd" != xno; then :
+if test "x$enable_systemd" != xno
+then :
pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
-$as_echo_n "checking for SYSTEMD... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
+printf %s "checking for SYSTEMD... " >&6; }
if test -n "$SYSTEMD_CFLAGS"; then
pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5
($PKG_CONFIG --exists --print-errors "libsystemd") 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5
($PKG_CONFIG --exists --print-errors "libsystemd") 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
if test $pkg_failed = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
have_systemd=no
elif test $pkg_failed = untried; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
have_systemd=no
else
SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS
SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
have_systemd=yes
fi
- if test "x$have_systemd" != "xyes"; then :
+ if test "x$have_systemd" != "xyes"
+then :
pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD_DAEMON" >&5
-$as_echo_n "checking for SYSTEMD_DAEMON... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD_DAEMON" >&5
+printf %s "checking for SYSTEMD_DAEMON... " >&6; }
if test -n "$SYSTEMD_DAEMON_CFLAGS"; then
pkg_cv_SYSTEMD_DAEMON_CFLAGS="$SYSTEMD_DAEMON_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_SYSTEMD_DAEMON_CFLAGS=`$PKG_CONFIG --cflags "libsystemd-daemon" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
pkg_cv_SYSTEMD_DAEMON_LIBS="$SYSTEMD_DAEMON_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_SYSTEMD_DAEMON_LIBS=`$PKG_CONFIG --libs "libsystemd-daemon" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
if test $pkg_failed = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
have_systemd_daemon=no
elif test $pkg_failed = untried; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
have_systemd_daemon=no
else
SYSTEMD_DAEMON_CFLAGS=$pkg_cv_SYSTEMD_DAEMON_CFLAGS
SYSTEMD_DAEMON_LIBS=$pkg_cv_SYSTEMD_DAEMON_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
have_systemd_daemon=yes
fi
- if test "x$have_systemd_daemon" = "xyes"; then :
+ if test "x$have_systemd_daemon" = "xyes"
+then :
have_systemd=yes
fi
as_fn_error $? "systemd enabled but libsystemd not found" "$LINENO" 5 ;; #(
*:yes) :
-$as_echo "#define HAVE_SYSTEMD 1" >>confdefs.h
+printf "%s\n" "#define HAVE_SYSTEMD 1" >>confdefs.h
LIBS="$LIBS $SYSTEMD_LIBS"
# set memory allocation checking if requested
# Check whether --enable-alloc-checks was given.
-if test "${enable_alloc_checks+set}" = set; then :
+if test ${enable_alloc_checks+y}
+then :
enableval=$enable_alloc_checks;
fi
# Check whether --enable-alloc-lite was given.
-if test "${enable_alloc_lite+set}" = set; then :
+if test ${enable_alloc_lite+y}
+then :
enableval=$enable_alloc_lite;
fi
# Check whether --enable-alloc-nonregional was given.
-if test "${enable_alloc_nonregional+set}" = set; then :
+if test ${enable_alloc_nonregional+y}
+then :
enableval=$enable_alloc_nonregional;
fi
if test x_$enable_alloc_nonregional = x_yes; then
-$as_echo "#define UNBOUND_ALLOC_NONREGIONAL 1" >>confdefs.h
+printf "%s\n" "#define UNBOUND_ALLOC_NONREGIONAL 1" >>confdefs.h
fi
if test x_$enable_alloc_checks = x_yes; then
-$as_echo "#define UNBOUND_ALLOC_STATS 1" >>confdefs.h
+printf "%s\n" "#define UNBOUND_ALLOC_STATS 1" >>confdefs.h
SLDNS_ALLOCCHECK_EXTRA_OBJ="alloc.lo log.lo"
else
if test x_$enable_alloc_lite = x_yes; then
-$as_echo "#define UNBOUND_ALLOC_LITE 1" >>confdefs.h
+printf "%s\n" "#define UNBOUND_ALLOC_LITE 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
-$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
- if test "$cross_compiling" = yes; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (crosscompile)" >&5
-$as_echo "no (crosscompile)" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
+printf %s "checking for GNU libc compatible malloc... " >&6; }
+ if test "$cross_compiling" = yes
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no (crosscompile)" >&5
+printf "%s\n" "no (crosscompile)" >&6; }
case " $LIBOBJS " in
*" malloc.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS malloc.$ac_objext"
esac
-cat >>confdefs.h <<_ACEOF
-#define malloc rpl_malloc_unbound
-_ACEOF
+printf "%s\n" "#define malloc rpl_malloc_unbound" >>confdefs.h
-else
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if defined STDC_HEADERS || defined HAVE_STDLIB_H
#endif
int
-main ()
+main (void)
{
if(malloc(0) != 0) return 1;
;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+if ac_fn_c_try_run "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
case " $LIBOBJS " in
*" malloc.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS malloc.$ac_objext"
esac
-cat >>confdefs.h <<_ACEOF
-#define malloc rpl_malloc_unbound
-_ACEOF
+printf "%s\n" "#define malloc rpl_malloc_unbound" >>confdefs.h
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
-$as_echo "#define HAVE_MALLOC 1" >>confdefs.h
+printf "%s\n" "#define HAVE_MALLOC 1" >>confdefs.h
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
# check windows threads (we use them, not pthreads, on windows).
if test "$on_mingw" = "yes"; then
# check windows threads
- for ac_header in windows.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+ ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
"
-if test "x$ac_cv_header_windows_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_WINDOWS_H 1
-_ACEOF
+if test "x$ac_cv_header_windows_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_WINDOWS_H 1" >>confdefs.h
fi
-done
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CreateThread" >&5
-$as_echo_n "checking for CreateThread... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CreateThread" >&5
+printf %s "checking for CreateThread... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#endif
int
-main ()
+main (void)
{
HANDLE t = CreateThread(NULL, 0, NULL, NULL, 0, NULL);
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+if ac_fn_c_try_compile "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
-$as_echo "#define HAVE_WINDOWS_THREADS 1" >>confdefs.h
+printf "%s\n" "#define HAVE_WINDOWS_THREADS 1" >>confdefs.h
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
else
# not on mingw, check thread libraries.
# the non-threadsafe C libraries.
# Check whether --with-pthreads was given.
-if test "${with_pthreads+set}" = set; then :
+if test ${with_pthreads+y}
+then :
withval=$with_pthreads;
-else
+else $as_nop
withval="yes"
fi
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
save_LIBS="$LIBS"
LIBS="$PTHREAD_LIBS $LIBS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5
-$as_echo_n "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5
+printf %s "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char pthread_join ();
int
-main ()
+main (void)
{
return pthread_join ();
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
ax_pthread_ok=yes
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5
-$as_echo "$ax_pthread_ok" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5
+printf "%s\n" "$ax_pthread_ok" >&6; }
if test x"$ax_pthread_ok" = xno; then
PTHREAD_LIBS=""
PTHREAD_CFLAGS=""
# -Werror. We throw in some extra Clang-specific options to ensure that
# this doesn't happen for GCC, which also accepts -Werror.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler needs -Werror to reject unknown flags" >&5
-$as_echo_n "checking if compiler needs -Werror to reject unknown flags... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if compiler needs -Werror to reject unknown flags" >&5
+printf %s "checking if compiler needs -Werror to reject unknown flags... " >&6; }
save_CFLAGS="$CFLAGS"
ax_pthread_extra_flags="-Werror"
CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument"
/* end confdefs.h. */
int foo(void);
int
-main ()
+main (void)
{
foo()
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
+if ac_fn_c_try_compile "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+else $as_nop
ax_pthread_extra_flags=
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS="$save_CFLAGS"
if test x"$ax_pthread_ok" = xno; then
case $flag in
none)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5
-$as_echo_n "checking whether pthreads work without any flags... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5
+printf %s "checking whether pthreads work without any flags... " >&6; }
;;
-*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5
-$as_echo_n "checking whether pthreads work with $flag... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5
+printf %s "checking whether pthreads work with $flag... " >&6; }
PTHREAD_CFLAGS="$flag"
;;
pthread-config)
# Extract the first word of "pthread-config", so it can be a program name with args.
set dummy pthread-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 ${ac_cv_prog_ax_pthread_config+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ax_pthread_config+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ax_pthread_config"; then
ac_cv_prog_ax_pthread_config="$ax_pthread_config" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ax_pthread_config="yes"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ax_pthread_config=$ac_cv_prog_ax_pthread_config
if test -n "$ax_pthread_config"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_config" >&5
-$as_echo "$ax_pthread_config" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_config" >&5
+printf "%s\n" "$ax_pthread_config" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
;;
*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5
-$as_echo_n "checking for the pthreads library -l$flag... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5
+printf %s "checking for the pthreads library -l$flag... " >&6; }
PTHREAD_LIBS="-l$flag"
;;
esac
static void routine(void *a) { *((int*)a) = 0; }
static void *start_routine(void *a) { return a; }
int
-main ()
+main (void)
{
pthread_t th; pthread_attr_t attr;
pthread_create(&th, 0, start_routine, 0);
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
ax_pthread_ok=yes
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS="$save_LIBS"
CFLAGS="$save_CFLAGS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5
-$as_echo "$ax_pthread_ok" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5
+printf "%s\n" "$ax_pthread_ok" >&6; }
if test "x$ax_pthread_ok" = xyes; then
break;
fi
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
# Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5
-$as_echo_n "checking for joinable pthread attribute... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5
+printf %s "checking for joinable pthread attribute... " >&6; }
attr_name=unknown
for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <pthread.h>
int
-main ()
+main (void)
{
int attr = $attr; return attr /* ; */
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
attr_name=$attr; break
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
done
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $attr_name" >&5
-$as_echo "$attr_name" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $attr_name" >&5
+printf "%s\n" "$attr_name" >&6; }
if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
-cat >>confdefs.h <<_ACEOF
-#define PTHREAD_CREATE_JOINABLE $attr_name
-_ACEOF
+printf "%s\n" "#define PTHREAD_CREATE_JOINABLE $attr_name" >>confdefs.h
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5
-$as_echo_n "checking if more special flags are required for pthreads... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5
+printf %s "checking if more special flags are required for pthreads... " >&6; }
flag=no
case ${host_os} in
aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";;
fi
;;
esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag" >&5
-$as_echo "$flag" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $flag" >&5
+printf "%s\n" "$flag" >&6; }
if test "x$flag" != xno; then
PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PRIO_INHERIT" >&5
-$as_echo_n "checking for PTHREAD_PRIO_INHERIT... " >&6; }
-if ${ax_cv_PTHREAD_PRIO_INHERIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PRIO_INHERIT" >&5
+printf %s "checking for PTHREAD_PRIO_INHERIT... " >&6; }
+if test ${ax_cv_PTHREAD_PRIO_INHERIT+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <pthread.h>
int
-main ()
+main (void)
{
int i = PTHREAD_PRIO_INHERIT;
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
ax_cv_PTHREAD_PRIO_INHERIT=yes
-else
+else $as_nop
ax_cv_PTHREAD_PRIO_INHERIT=no
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5
-$as_echo "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; }
- if test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5
+printf "%s\n" "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; }
+ if test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"
+then :
-$as_echo "#define HAVE_PTHREAD_PRIO_INHERIT 1" >>confdefs.h
+printf "%s\n" "#define HAVE_PTHREAD_PRIO_INHERIT 1" >>confdefs.h
fi
#handle absolute path differently from PATH based program lookup
case "x$CC" in #(
x/*) :
- if as_fn_executable_p ${CC}_r; then :
+ if as_fn_executable_p ${CC}_r
+then :
PTHREAD_CC="${CC}_r"
fi ;; #(
*) :
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
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 ${ac_cv_prog_PTHREAD_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_PTHREAD_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$PTHREAD_CC"; then
ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_PTHREAD_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
PTHREAD_CC=$ac_cv_prog_PTHREAD_CC
if test -n "$PTHREAD_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5
-$as_echo "$PTHREAD_CC" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5
+printf "%s\n" "$PTHREAD_CC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test x"$ax_pthread_ok" = xyes; then
-$as_echo "#define HAVE_PTHREAD 1" >>confdefs.h
+printf "%s\n" "#define HAVE_PTHREAD 1" >>confdefs.h
if test -n "$PTHREAD_LIBS"; then
LIBS="$PTHREAD_LIBS $LIBS"
ub_have_pthreads=yes
ac_fn_c_check_type "$LINENO" "pthread_spinlock_t" "ac_cv_type_pthread_spinlock_t" "#include <pthread.h>
"
-if test "x$ac_cv_type_pthread_spinlock_t" = xyes; then :
+if test "x$ac_cv_type_pthread_spinlock_t" = xyes
+then :
-cat >>confdefs.h <<_ACEOF
-#define HAVE_PTHREAD_SPINLOCK_T 1
-_ACEOF
+printf "%s\n" "#define HAVE_PTHREAD_SPINLOCK_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "pthread_rwlock_t" "ac_cv_type_pthread_rwlock_t" "#include <pthread.h>
"
-if test "x$ac_cv_type_pthread_rwlock_t" = xyes; then :
+if test "x$ac_cv_type_pthread_rwlock_t" = xyes
+then :
-cat >>confdefs.h <<_ACEOF
-#define HAVE_PTHREAD_RWLOCK_T 1
-_ACEOF
+printf "%s\n" "#define HAVE_PTHREAD_RWLOCK_T 1" >>confdefs.h
fi
if echo "$CFLAGS" | $GREP -e "-pthread" >/dev/null; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread unused during linking" >&5
-$as_echo_n "checking if -pthread unused during linking... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if -pthread unused during linking" >&5
+printf %s "checking if -pthread unused during linking... " >&6; }
# catch clang warning 'argument unused during compilation'
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
echo "$CC $CFLAGS -Werror $LDFLAGS $LIBS -o conftest contest.o" >&5
$CC $CFLAGS -Werror $LDFLAGS $LIBS -o conftest conftest.o 2>&5 >&5
if test $? -ne 0; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
CFLAGS=`echo "$CFLAGS" | sed -e 's/-pthread//'`
PTHREAD_CFLAGS_ONLY="-pthread"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi # endif cc successful
rm -f conftest conftest.c conftest.o
fi # endif -pthread in CFLAGS
# check solaris thread library
# Check whether --with-solaris-threads was given.
-if test "${with_solaris_threads+set}" = set; then :
+if test ${with_solaris_threads+y}
+then :
withval=$with_solaris_threads;
-else
+else $as_nop
withval="no"
fi
ub_have_sol_threads=no
if test x_$withval != x_no; then
if test x_$ub_have_pthreads != x_no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Have pthreads already, ignoring --with-solaris-threads" >&5
-$as_echo "$as_me: WARNING: Have pthreads already, ignoring --with-solaris-threads" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Have pthreads already, ignoring --with-solaris-threads" >&5
+printf "%s\n" "$as_me: WARNING: Have pthreads already, ignoring --with-solaris-threads" >&2;}
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing thr_create" >&5
-$as_echo_n "checking for library containing thr_create... " >&6; }
-if ${ac_cv_search_thr_create+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing thr_create" >&5
+printf %s "checking for library containing thr_create... " >&6; }
+if test ${ac_cv_search_thr_create+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char thr_create ();
int
-main ()
+main (void)
{
return thr_create ();
;
return 0;
}
_ACEOF
-for ac_lib in '' thread; do
+for ac_lib in '' thread
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_search_thr_create=$ac_res
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if ${ac_cv_search_thr_create+:} false; then :
+ if test ${ac_cv_search_thr_create+y}
+then :
break
fi
done
-if ${ac_cv_search_thr_create+:} false; then :
+if test ${ac_cv_search_thr_create+y}
+then :
-else
+else $as_nop
ac_cv_search_thr_create=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_thr_create" >&5
-$as_echo "$ac_cv_search_thr_create" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_thr_create" >&5
+printf "%s\n" "$ac_cv_search_thr_create" >&6; }
ac_res=$ac_cv_search_thr_create
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-$as_echo "#define HAVE_SOLARIS_THREADS 1" >>confdefs.h
+printf "%s\n" "#define HAVE_SOLARIS_THREADS 1" >>confdefs.h
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -mt" >&5
-$as_echo_n "checking whether $CC supports -mt... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -mt" >&5
+printf %s "checking whether $CC supports -mt... " >&6; }
cache=`echo mt | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_prog_cc_flag_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo 'void f(void){}' >conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS -mt -c conftest.c 2>&1`"; then
fi
if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
:
CFLAGS="$CFLAGS -mt"
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
:
CFLAGS="$CFLAGS -D_REENTRANT"
fi
ub_have_sol_threads=yes
-else
+else $as_nop
as_fn_error $? "no solaris threads found." "$LINENO" 5
# Check for SYSLOG_FACILITY
# Check whether --with-syslog-facility was given.
-if test "${with_syslog_facility+set}" = set; then :
+if test ${with_syslog_facility+y}
+then :
withval=$with_syslog_facility; UNBOUND_SYSLOG_FACILITY="$withval"
fi
esac
-cat >>confdefs.h <<_ACEOF
-#define UB_SYSLOG_FACILITY ${UNBOUND_SYSLOG_FACILITY}
-_ACEOF
+printf "%s\n" "#define UB_SYSLOG_FACILITY ${UNBOUND_SYSLOG_FACILITY}" >>confdefs.h
# Check for dynamic library module
# Check whether --with-dynlibmodule was given.
-if test "${with_dynlibmodule+set}" = set; then :
+if test ${with_dynlibmodule+y}
+then :
withval=$with_dynlibmodule;
-else
+else $as_nop
withval="no"
fi
if test x_$withval != x_no; then
-$as_echo "#define WITH_DYNLIBMODULE 1" >>confdefs.h
+printf "%s\n" "#define WITH_DYNLIBMODULE 1" >>confdefs.h
WITH_DYNLIBMODULE=yes
# link with -ldl if not already there, for all executables because
# dlopen call is in the dynlib module. For unbound executable, also
# export symbols.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if ${ac_cv_search_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+printf %s "checking for library containing dlopen... " >&6; }
+if test ${ac_cv_search_dlopen+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char dlopen ();
int
-main ()
+main (void)
{
return dlopen ();
;
return 0;
}
_ACEOF
-for ac_lib in '' dl; do
+for ac_lib in '' dl
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_search_dlopen=$ac_res
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if ${ac_cv_search_dlopen+:} false; then :
+ if test ${ac_cv_search_dlopen+y}
+then :
break
fi
done
-if ${ac_cv_search_dlopen+:} false; then :
+if test ${ac_cv_search_dlopen+y}
+then :
-else
+else $as_nop
ac_cv_search_dlopen=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+printf "%s\n" "$ac_cv_search_dlopen" >&6; }
ac_res=$ac_cv_search_dlopen
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
# Check for PyUnbound
# Check whether --with-pyunbound was given.
-if test "${with_pyunbound+set}" = set; then :
+if test ${with_pyunbound+y}
+then :
withval=$with_pyunbound;
-else
+else $as_nop
withval="no"
fi
# Check for Python module
# Check whether --with-pythonmodule was given.
-if test "${with_pythonmodule+set}" = set; then :
+if test ${with_pythonmodule+y}
+then :
withval=$with_pythonmodule;
-else
+else $as_nop
withval="no"
fi
# Extract the first word of "python[$PYTHON_VERSION]", so it can be a program name with args.
set dummy python$PYTHON_VERSION; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PYTHON+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_PYTHON+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
case $PYTHON in
[\\/]* | ?:[\\/]*)
ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
PYTHON=$ac_cv_path_PYTHON
if test -n "$PYTHON"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
-$as_echo "$PYTHON" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
+printf "%s\n" "$PYTHON" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
#
# Check for Python include path
#
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
-$as_echo_n "checking for Python include path... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
+printf %s "checking for Python include path... " >&6; }
if test -z "$PYTHON_CPPFLAGS"; then
if test "$sysconfig_module" = "sysconfig"; then
python_path=`$PYTHON -c 'import sysconfig; \
fi
PYTHON_CPPFLAGS=$python_path
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5
-$as_echo "$PYTHON_CPPFLAGS" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5
+printf "%s\n" "$PYTHON_CPPFLAGS" >&6; }
#
# Check for Python library path
#
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5
-$as_echo_n "checking for Python library path... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5
+printf %s "checking for Python library path... " >&6; }
if test -z "$PYTHON_LDFLAGS"; then
PYTHON_LDFLAGS=`$PYTHON -c "from $sysconfig_module import *; \
print('-L'+get_config_var('LIBDIR')+' -L'+get_config_var('LIBDEST')+' '+get_config_var('BLDLIBRARY'));"`
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LDFLAGS" >&5
-$as_echo "$PYTHON_LDFLAGS" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LDFLAGS" >&5
+printf "%s\n" "$PYTHON_LDFLAGS" >&6; }
if test -z "$PYTHON_LIBDIR"; then
#
# Check for site packages
#
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
-$as_echo_n "checking for Python site-packages path... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
+printf %s "checking for Python site-packages path... " >&6; }
if test -z "$PYTHON_SITE_PKG"; then
if test "$sysconfig_module" = "sysconfig"; then
PYTHON_SITE_PKG=`$PYTHON -c 'import sysconfig; \
print(distutils.sysconfig.get_python_lib(1,0));"`
fi
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
-$as_echo "$PYTHON_SITE_PKG" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
+printf "%s\n" "$PYTHON_SITE_PKG" >&6; }
#
# final check to see if everything compiles alright
#
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5
-$as_echo_n "checking consistency of all components of python development environment... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5
+printf %s "checking consistency of all components of python development environment... " >&6; }
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
#include <Python.h>
int
-main ()
+main (void)
{
Py_Initialize();
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
pythonexists=yes
-else
+else $as_nop
pythonexists=no
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5
-$as_echo "$pythonexists" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5
+printf "%s\n" "$pythonexists" >&6; }
if test ! "$pythonexists" = "yes"; then
as_fn_error $? "
# Have Python
-$as_echo "#define HAVE_PYTHON 1" >>confdefs.h
+printf "%s\n" "#define HAVE_PYTHON 1" >>confdefs.h
if test x_$ub_with_pythonmod != x_no; then
if test -n "$LIBS"; then
fi
ub_have_python=yes
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\"python\${PY_MAJOR_VERSION}\"\""; } >&5
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\"python\${PY_MAJOR_VERSION}\"\""; } >&5
($PKG_CONFIG --exists --print-errors ""python${PY_MAJOR_VERSION}"") 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
PC_PY_DEPENDENCY="python${PY_MAJOR_VERSION}"
else
# Check for SWIG
ub_have_swig=no
# Check whether --enable-swig-version-check was given.
-if test "${enable_swig_version_check+set}" = set; then :
+if test ${enable_swig_version_check+y}
+then :
enableval=$enable_swig_version_check;
fi
# Extract the first word of "swig", so it can be a program name with args.
set dummy swig; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_SWIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_SWIG+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
case $SWIG in
[\\/]* | ?:[\\/]*)
ac_cv_path_SWIG="$SWIG" # Let the user override the test with a path.
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_SWIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_path_SWIG="$as_dir$ac_word$ac_exec_ext"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
SWIG=$ac_cv_path_SWIG
if test -n "$SWIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SWIG" >&5
-$as_echo "$SWIG" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SWIG" >&5
+printf "%s\n" "$SWIG" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test -z "$SWIG" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&5
-$as_echo "$as_me: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&5
+printf "%s\n" "$as_me: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&2;}
SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false'
elif test -n "2.0.1" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SWIG version" >&5
-$as_echo_n "checking for SWIG version... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SWIG version" >&5
+printf %s "checking for SWIG version... " >&6; }
swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $swig_version" >&5
-$as_echo "$swig_version" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $swig_version" >&5
+printf "%s\n" "$swig_version" >&6; }
if test -n "$swig_version" ; then
# Calculate the required version number components
required=2.0.1
badversion=1
fi
if test $badversion -eq 1 ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= 2.0.1 is required. You have $swig_version. You should look at http://www.swig.org" >&5
-$as_echo "$as_me: WARNING: SWIG version >= 2.0.1 is required. You have $swig_version. You should look at http://www.swig.org" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= 2.0.1 is required. You have $swig_version. You should look at http://www.swig.org" >&5
+printf "%s\n" "$as_me: WARNING: SWIG version >= 2.0.1 is required. You have $swig_version. You should look at http://www.swig.org" >&2;}
SWIG='echo "Error: SWIG version >= 2.0.1 is required. You have '"$swig_version"'. You should look at http://www.swig.org" ; false'
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: SWIG executable is '$SWIG'" >&5
-$as_echo "$as_me: SWIG executable is '$SWIG'" >&6;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: SWIG executable is '$SWIG'" >&5
+printf "%s\n" "$as_me: SWIG executable is '$SWIG'" >&6;}
SWIG_LIB=`$SWIG -swiglib`
- { $as_echo "$as_me:${as_lineno-$LINENO}: SWIG library directory is '$SWIG_LIB'" >&5
-$as_echo "$as_me: SWIG library directory is '$SWIG_LIB'" >&6;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: SWIG library directory is '$SWIG_LIB'" >&5
+printf "%s\n" "$as_me: SWIG library directory is '$SWIG_LIB'" >&6;}
fi
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine SWIG version" >&5
-$as_echo "$as_me: WARNING: cannot determine SWIG version" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine SWIG version" >&5
+printf "%s\n" "$as_me: WARNING: cannot determine SWIG version" >&2;}
SWIG='echo "Error: Cannot determine SWIG version. You should look at http://www.swig.org" ; false'
fi
fi
# Extract the first word of "swig", so it can be a program name with args.
set dummy swig; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_SWIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_SWIG+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
case $SWIG in
[\\/]* | ?:[\\/]*)
ac_cv_path_SWIG="$SWIG" # Let the user override the test with a path.
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_SWIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_path_SWIG="$as_dir$ac_word$ac_exec_ext"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
SWIG=$ac_cv_path_SWIG
if test -n "$SWIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SWIG" >&5
-$as_echo "$SWIG" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SWIG" >&5
+printf "%s\n" "$SWIG" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test -z "$SWIG" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&5
-$as_echo "$as_me: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&5
+printf "%s\n" "$as_me: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&2;}
SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false'
elif test -n "" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SWIG version" >&5
-$as_echo_n "checking for SWIG version... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SWIG version" >&5
+printf %s "checking for SWIG version... " >&6; }
swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $swig_version" >&5
-$as_echo "$swig_version" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $swig_version" >&5
+printf "%s\n" "$swig_version" >&6; }
if test -n "$swig_version" ; then
# Calculate the required version number components
required=
badversion=1
fi
if test $badversion -eq 1 ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= is required. You have $swig_version. You should look at http://www.swig.org" >&5
-$as_echo "$as_me: WARNING: SWIG version >= is required. You have $swig_version. You should look at http://www.swig.org" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= is required. You have $swig_version. You should look at http://www.swig.org" >&5
+printf "%s\n" "$as_me: WARNING: SWIG version >= is required. You have $swig_version. You should look at http://www.swig.org" >&2;}
SWIG='echo "Error: SWIG version >= is required. You have '"$swig_version"'. You should look at http://www.swig.org" ; false'
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: SWIG executable is '$SWIG'" >&5
-$as_echo "$as_me: SWIG executable is '$SWIG'" >&6;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: SWIG executable is '$SWIG'" >&5
+printf "%s\n" "$as_me: SWIG executable is '$SWIG'" >&6;}
SWIG_LIB=`$SWIG -swiglib`
- { $as_echo "$as_me:${as_lineno-$LINENO}: SWIG library directory is '$SWIG_LIB'" >&5
-$as_echo "$as_me: SWIG library directory is '$SWIG_LIB'" >&6;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: SWIG library directory is '$SWIG_LIB'" >&5
+printf "%s\n" "$as_me: SWIG library directory is '$SWIG_LIB'" >&6;}
fi
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine SWIG version" >&5
-$as_echo "$as_me: WARNING: cannot determine SWIG version" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine SWIG version" >&5
+printf "%s\n" "$as_me: WARNING: cannot determine SWIG version" >&2;}
SWIG='echo "Error: Cannot determine SWIG version. You should look at http://www.swig.org" ; false'
fi
fi
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking SWIG" >&5
-$as_echo_n "checking SWIG... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking SWIG" >&5
+printf %s "checking SWIG... " >&6; }
if test ! -x "$SWIG"; then
as_fn_error $? "failed to find swig tool, install it, or do not build Python module and PyUnbound" "$LINENO" 5
else
-$as_echo "#define HAVE_SWIG 1" >>confdefs.h
+printf "%s\n" "#define HAVE_SWIG 1" >>confdefs.h
swig="$SWIG"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: present" >&5
-$as_echo "present" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: present" >&5
+printf "%s\n" "present" >&6; }
# If have Python & SWIG
# Declare PythonMod
if test x_$ub_with_pythonmod != x_no; then
-$as_echo "#define WITH_PYTHONMODULE 1" >>confdefs.h
+printf "%s\n" "#define WITH_PYTHONMODULE 1" >>confdefs.h
WITH_PYTHONMODULE=yes
# Declare PyUnbound
if test x_$ub_with_pyunbound != x_no; then
-$as_echo "#define WITH_PYUNBOUND 1" >>confdefs.h
+printf "%s\n" "#define WITH_PYUNBOUND 1" >>confdefs.h
WITH_PYUNBOUND=yes
fi
fi
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: *** Python libraries not found, won't build PythonMod or PyUnbound ***" >&5
-$as_echo "*** Python libraries not found, won't build PythonMod or PyUnbound ***" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** Python libraries not found, won't build PythonMod or PyUnbound ***" >&5
+printf "%s\n" "*** Python libraries not found, won't build PythonMod or PyUnbound ***" >&6; }
ub_with_pyunbound=no
ub_with_pythonmod=no
fi
USE_NSS="no"
# Check whether --with-nss was given.
-if test "${with_nss+set}" = set; then :
+if test ${with_nss+y}
+then :
withval=$with_nss;
USE_NSS="yes"
-$as_echo "#define HAVE_NSS 1" >>confdefs.h
+printf "%s\n" "#define HAVE_NSS 1" >>confdefs.h
if test "$withval" != "" -a "$withval" != "yes"; then
CPPFLAGS="$CPPFLAGS -I$withval/include/nss3"
USE_NETTLE="no"
# Check whether --with-nettle was given.
-if test "${with_nettle+set}" = set; then :
+if test ${with_nettle+y}
+then :
withval=$with_nettle;
USE_NETTLE="yes"
-$as_echo "#define HAVE_NETTLE 1" >>confdefs.h
+printf "%s\n" "#define HAVE_NETTLE 1" >>confdefs.h
- for ac_header in nettle/dsa-compat.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "nettle/dsa-compat.h" "ac_cv_header_nettle_dsa_compat_h" "$ac_includes_default
+ ac_fn_c_check_header_compile "$LINENO" "nettle/dsa-compat.h" "ac_cv_header_nettle_dsa_compat_h" "$ac_includes_default
"
-if test "x$ac_cv_header_nettle_dsa_compat_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_NETTLE_DSA_COMPAT_H 1
-_ACEOF
+if test "x$ac_cv_header_nettle_dsa_compat_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_NETTLE_DSA_COMPAT_H 1" >>confdefs.h
fi
-done
-
if test "$withval" != "" -a "$withval" != "yes"; then
CPPFLAGS="$CPPFLAGS -I$withval/include/nettle"
LDFLAGS="$LDFLAGS -L$withval/lib"
# Check whether --with-ssl was given.
-if test "${with_ssl+set}" = set; then :
+if test ${with_ssl+y}
+then :
withval=$with_ssl;
-else
+else $as_nop
withval="yes"
withval=$withval
if test x_$withval != x_no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL" >&5
-$as_echo_n "checking for SSL... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SSL" >&5
+printf %s "checking for SSL... " >&6; }
if test -n "$withval"; then
if test ! -f "$withval/include/openssl/ssl.h" -a -f "$withval/openssl/ssl.h"; then
ssldir="$withval"
if test x_$found_ssl != x_yes; then
as_fn_error $? "Cannot find the SSL libraries in $withval" "$LINENO" 5
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found in $ssldir" >&5
-$as_echo "found in $ssldir" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found in $ssldir" >&5
+printf "%s\n" "found in $ssldir" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define HAVE_SSL /**/
-_ACEOF
+printf "%s\n" "#define HAVE_SSL /**/" >>confdefs.h
HAVE_SSL=yes
if test "$ssldir" != "/usr"; then
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVP_sha256 in -lcrypto" >&5
-$as_echo_n "checking for EVP_sha256 in -lcrypto... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EVP_sha256 in -lcrypto" >&5
+printf %s "checking for EVP_sha256 in -lcrypto... " >&6; }
LIBS="$LIBS -lcrypto"
LIBSSL_LIBS="$LIBSSL_LIBS -lcrypto"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
int EVP_sha256(void);
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
-$as_echo "#define HAVE_EVP_SHA256 1" >>confdefs.h
+printf "%s\n" "#define HAVE_EVP_SHA256 1" >>confdefs.h
-else
+else $as_nop
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
# check if -lwsock32 or -lgdi32 are needed.
BAKLIBS="$LIBS"
BAKSSLLIBS="$LIBSSL_LIBS"
LIBS="$LIBS -lgdi32 -lws2_32"
LIBSSL_LIBS="$LIBSSL_LIBS -lgdi32 -lws2_32"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -lcrypto needs -lgdi32" >&5
-$as_echo_n "checking if -lcrypto needs -lgdi32... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if -lcrypto needs -lgdi32" >&5
+printf %s "checking if -lcrypto needs -lgdi32... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
int EVP_sha256(void);
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
-$as_echo "#define HAVE_EVP_SHA256 1" >>confdefs.h
+printf "%s\n" "#define HAVE_EVP_SHA256 1" >>confdefs.h
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
-else
+else $as_nop
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
LIBS="$BAKLIBS"
LIBSSL_LIBS="$BAKSSLLIBS"
LIBS="$LIBS -ldl"
LIBSSL_LIBS="$LIBSSL_LIBS -ldl"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -lcrypto needs -ldl" >&5
-$as_echo_n "checking if -lcrypto needs -ldl... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if -lcrypto needs -ldl" >&5
+printf %s "checking if -lcrypto needs -ldl... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
int EVP_sha256(void);
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
-$as_echo "#define HAVE_EVP_SHA256 1" >>confdefs.h
+printf "%s\n" "#define HAVE_EVP_SHA256 1" >>confdefs.h
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
-else
+else $as_nop
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
LIBS="$BAKLIBS"
LIBSSL_LIBS="$BAKSSLLIBS"
LIBS="$LIBS -ldl -pthread"
LIBSSL_LIBS="$LIBSSL_LIBS -ldl -pthread"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -lcrypto needs -ldl -pthread" >&5
-$as_echo_n "checking if -lcrypto needs -ldl -pthread... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if -lcrypto needs -ldl -pthread" >&5
+printf %s "checking if -lcrypto needs -ldl -pthread... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
int EVP_sha256(void);
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
-$as_echo "#define HAVE_EVP_SHA256 1" >>confdefs.h
+printf "%s\n" "#define HAVE_EVP_SHA256 1" >>confdefs.h
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
-else
+else $as_nop
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
as_fn_error $? "OpenSSL found in $ssldir, but version 0.9.7 or higher is required" "$LINENO" 5
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
fi
-for ac_header in openssl/ssl.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default
+ac_fn_c_check_header_compile "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default
"
-if test "x$ac_cv_header_openssl_ssl_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_OPENSSL_SSL_H 1
-_ACEOF
+if test "x$ac_cv_header_openssl_ssl_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_OPENSSL_SSL_H 1" >>confdefs.h
fi
-done
-
-for ac_header in openssl/err.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "openssl/err.h" "ac_cv_header_openssl_err_h" "$ac_includes_default
+ac_fn_c_check_header_compile "$LINENO" "openssl/err.h" "ac_cv_header_openssl_err_h" "$ac_includes_default
"
-if test "x$ac_cv_header_openssl_err_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_OPENSSL_ERR_H 1
-_ACEOF
+if test "x$ac_cv_header_openssl_err_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_OPENSSL_ERR_H 1" >>confdefs.h
fi
-done
-
-for ac_header in openssl/rand.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "openssl/rand.h" "ac_cv_header_openssl_rand_h" "$ac_includes_default
+ac_fn_c_check_header_compile "$LINENO" "openssl/rand.h" "ac_cv_header_openssl_rand_h" "$ac_includes_default
"
-if test "x$ac_cv_header_openssl_rand_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_OPENSSL_RAND_H 1
-_ACEOF
+if test "x$ac_cv_header_openssl_rand_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_OPENSSL_RAND_H 1" >>confdefs.h
fi
-done
-
# check if libssl needs libdl
BAKLIBS="$LIBS"
LIBS="-lssl $LIBS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libssl needs libdl" >&5
-$as_echo_n "checking if libssl needs libdl... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libssl needs libdl" >&5
+printf %s "checking if libssl needs libdl... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char SSL_CTX_new ();
int
-main ()
+main (void)
{
return SSL_CTX_new ();
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
LIBS="$BAKLIBS"
-else
+else $as_nop
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
LIBS="$BAKLIBS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if ${ac_cv_search_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+printf %s "checking for library containing dlopen... " >&6; }
+if test ${ac_cv_search_dlopen+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char dlopen ();
int
-main ()
+main (void)
{
return dlopen ();
;
return 0;
}
_ACEOF
-for ac_lib in '' dl; do
+for ac_lib in '' dl
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_search_dlopen=$ac_res
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if ${ac_cv_search_dlopen+:} false; then :
+ if test ${ac_cv_search_dlopen+y}
+then :
break
fi
done
-if ${ac_cv_search_dlopen+:} false; then :
+if test ${ac_cv_search_dlopen+y}
+then :
-else
+else $as_nop
ac_cv_search_dlopen=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+printf "%s\n" "$ac_cv_search_dlopen" >&6; }
ac_res=$ac_cv_search_dlopen
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
SSLLIB="-lssl"
# check if -lcrypt32 is needed because CAPIENG needs that. (on windows)
BAKLIBS="$LIBS"
LIBS="-lssl $LIBS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libssl needs -lcrypt32" >&5
-$as_echo_n "checking if libssl needs -lcrypt32... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libssl needs -lcrypt32" >&5
+printf %s "checking if libssl needs -lcrypt32... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
int EVP_sha256(void);
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ LIBS="$BAKLIBS"
+
+else $as_nop
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
LIBS="$BAKLIBS"
+ LIBS="$LIBS -lcrypt32"
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for LibreSSL" >&5
+printf %s "checking for LibreSSL... " >&6; }
+if grep VERSION_TEXT $ssldir_include/openssl/opensslv.h | grep "LibreSSL" >/dev/null; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+
+printf "%s\n" "#define HAVE_LIBRESSL 1" >>confdefs.h
+
+ # libressl provides these compat functions, but they may also be
+ # declared by the OS in libc. See if they have been declared.
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5
+printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; }
+if test ${ac_cv_c_undeclared_builtin_options+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_save_CFLAGS=$CFLAGS
+ ac_cv_c_undeclared_builtin_options='cannot detect'
+ for ac_arg in '' -fno-builtin; do
+ CFLAGS="$ac_save_CFLAGS $ac_arg"
+ # This test program should *not* compile successfully.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+(void) strchr;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+
+else $as_nop
+ # This test program should compile successfully.
+ # No library function is consistently available on
+ # freestanding implementations, so test against a dummy
+ # declaration. Include always-available headers on the
+ # off chance that they somehow elicit warnings.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <float.h>
+#include <limits.h>
+#include <stdarg.h>
+#include <stddef.h>
+extern void ac_decl (int, char *);
+
+int
+main (void)
+{
+(void) ac_decl (0, (char *) 0);
+ (void) ac_decl;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ if test x"$ac_arg" = x
+then :
+ ac_cv_c_undeclared_builtin_options='none needed'
+else $as_nop
+ ac_cv_c_undeclared_builtin_options=$ac_arg
+fi
+ break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ done
+ CFLAGS=$ac_save_CFLAGS
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5
+printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; }
+ case $ac_cv_c_undeclared_builtin_options in #(
+ 'cannot detect') :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot make $CC report undeclared builtins
+See \`config.log' for more details" "$LINENO" 5; } ;; #(
+ 'none needed') :
+ ac_c_undeclared_builtin_options='' ;; #(
+ *) :
+ ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;;
+esac
+
+ac_fn_check_decl "$LINENO" "strlcpy" "ac_cv_have_decl_strlcpy" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_strlcpy" = xyes
+then :
+ ac_have_decl=1
+else $as_nop
+ ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_STRLCPY $ac_have_decl" >>confdefs.h
+ac_fn_check_decl "$LINENO" "strlcat" "ac_cv_have_decl_strlcat" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_strlcat" = xyes
+then :
+ ac_have_decl=1
+else $as_nop
+ ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_STRLCAT $ac_have_decl" >>confdefs.h
+ac_fn_check_decl "$LINENO" "arc4random" "ac_cv_have_decl_arc4random" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_arc4random" = xyes
+then :
+ ac_have_decl=1
+else $as_nop
+ ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_ARC4RANDOM $ac_have_decl" >>confdefs.h
+ac_fn_check_decl "$LINENO" "arc4random_uniform" "ac_cv_have_decl_arc4random_uniform" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_arc4random_uniform" = xyes
+then :
+ ac_have_decl=1
+else $as_nop
+ ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_ARC4RANDOM_UNIFORM $ac_have_decl" >>confdefs.h
else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+ac_fn_c_check_header_compile "$LINENO" "openssl/conf.h" "ac_cv_header_openssl_conf_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_openssl_conf_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_OPENSSL_CONF_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "openssl/engine.h" "ac_cv_header_openssl_engine_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_openssl_engine_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_OPENSSL_ENGINE_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "openssl/bn.h" "ac_cv_header_openssl_bn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_openssl_bn_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_OPENSSL_BN_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "openssl/dh.h" "ac_cv_header_openssl_dh_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_openssl_dh_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_OPENSSL_DH_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "openssl/dsa.h" "ac_cv_header_openssl_dsa_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_openssl_dsa_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_OPENSSL_DSA_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "openssl/rsa.h" "ac_cv_header_openssl_rsa_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_openssl_rsa_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_OPENSSL_RSA_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "openssl/core_names.h" "ac_cv_header_openssl_core_names_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_openssl_core_names_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_OPENSSL_CORE_NAMES_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "openssl/param_build.h" "ac_cv_header_openssl_param_build_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_openssl_param_build_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_OPENSSL_PARAM_BUILD_H 1" >>confdefs.h
+
+fi
+
+ac_fn_c_check_func "$LINENO" "OPENSSL_config" "ac_cv_func_OPENSSL_config"
+if test "x$ac_cv_func_OPENSSL_config" = xyes
+then :
+ printf "%s\n" "#define HAVE_OPENSSL_CONFIG 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "EVP_sha1" "ac_cv_func_EVP_sha1"
+if test "x$ac_cv_func_EVP_sha1" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVP_SHA1 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "EVP_sha256" "ac_cv_func_EVP_sha256"
+if test "x$ac_cv_func_EVP_sha256" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVP_SHA256 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "EVP_sha512" "ac_cv_func_EVP_sha512"
+if test "x$ac_cv_func_EVP_sha512" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVP_SHA512 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "FIPS_mode" "ac_cv_func_FIPS_mode"
+if test "x$ac_cv_func_FIPS_mode" = xyes
+then :
+ printf "%s\n" "#define HAVE_FIPS_MODE 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "EVP_MD_CTX_new" "ac_cv_func_EVP_MD_CTX_new"
+if test "x$ac_cv_func_EVP_MD_CTX_new" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVP_MD_CTX_NEW 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "OpenSSL_add_all_digests" "ac_cv_func_OpenSSL_add_all_digests"
+if test "x$ac_cv_func_OpenSSL_add_all_digests" = xyes
+then :
+ printf "%s\n" "#define HAVE_OPENSSL_ADD_ALL_DIGESTS 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "OPENSSL_init_crypto" "ac_cv_func_OPENSSL_init_crypto"
+if test "x$ac_cv_func_OPENSSL_init_crypto" = xyes
+then :
+ printf "%s\n" "#define HAVE_OPENSSL_INIT_CRYPTO 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "EVP_cleanup" "ac_cv_func_EVP_cleanup"
+if test "x$ac_cv_func_EVP_cleanup" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVP_CLEANUP 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "ENGINE_cleanup" "ac_cv_func_ENGINE_cleanup"
+if test "x$ac_cv_func_ENGINE_cleanup" = xyes
+then :
+ printf "%s\n" "#define HAVE_ENGINE_CLEANUP 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "ERR_load_crypto_strings" "ac_cv_func_ERR_load_crypto_strings"
+if test "x$ac_cv_func_ERR_load_crypto_strings" = xyes
+then :
+ printf "%s\n" "#define HAVE_ERR_LOAD_CRYPTO_STRINGS 1" >>confdefs.h
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- LIBS="$BAKLIBS"
- LIBS="$LIBS -lcrypt32"
+fi
+ac_fn_c_check_func "$LINENO" "CRYPTO_cleanup_all_ex_data" "ac_cv_func_CRYPTO_cleanup_all_ex_data"
+if test "x$ac_cv_func_CRYPTO_cleanup_all_ex_data" = xyes
+then :
+ printf "%s\n" "#define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1" >>confdefs.h
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+ac_fn_c_check_func "$LINENO" "ERR_free_strings" "ac_cv_func_ERR_free_strings"
+if test "x$ac_cv_func_ERR_free_strings" = xyes
+then :
+ printf "%s\n" "#define HAVE_ERR_FREE_STRINGS 1" >>confdefs.h
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LibreSSL" >&5
-$as_echo_n "checking for LibreSSL... " >&6; }
-if grep VERSION_TEXT $ssldir_include/openssl/opensslv.h | grep "LibreSSL" >/dev/null; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+fi
+ac_fn_c_check_func "$LINENO" "RAND_cleanup" "ac_cv_func_RAND_cleanup"
+if test "x$ac_cv_func_RAND_cleanup" = xyes
+then :
+ printf "%s\n" "#define HAVE_RAND_CLEANUP 1" >>confdefs.h
-$as_echo "#define HAVE_LIBRESSL 1" >>confdefs.h
+fi
+ac_fn_c_check_func "$LINENO" "DSA_SIG_set0" "ac_cv_func_DSA_SIG_set0"
+if test "x$ac_cv_func_DSA_SIG_set0" = xyes
+then :
+ printf "%s\n" "#define HAVE_DSA_SIG_SET0 1" >>confdefs.h
- # libressl provides these compat functions, but they may also be
- # declared by the OS in libc. See if they have been declared.
- ac_fn_c_check_decl "$LINENO" "strlcpy" "ac_cv_have_decl_strlcpy" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strlcpy" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
fi
+ac_fn_c_check_func "$LINENO" "EVP_dss1" "ac_cv_func_EVP_dss1"
+if test "x$ac_cv_func_EVP_dss1" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVP_DSS1 1" >>confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRLCPY $ac_have_decl
-_ACEOF
-ac_fn_c_check_decl "$LINENO" "strlcat" "ac_cv_have_decl_strlcat" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strlcat" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
fi
+ac_fn_c_check_func "$LINENO" "EVP_DigestVerify" "ac_cv_func_EVP_DigestVerify"
+if test "x$ac_cv_func_EVP_DigestVerify" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVP_DIGESTVERIFY 1" >>confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRLCAT $ac_have_decl
-_ACEOF
-ac_fn_c_check_decl "$LINENO" "arc4random" "ac_cv_have_decl_arc4random" "$ac_includes_default"
-if test "x$ac_cv_have_decl_arc4random" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
fi
+ac_fn_c_check_func "$LINENO" "EVP_aes_256_cbc" "ac_cv_func_EVP_aes_256_cbc"
+if test "x$ac_cv_func_EVP_aes_256_cbc" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVP_AES_256_CBC 1" >>confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_ARC4RANDOM $ac_have_decl
-_ACEOF
-ac_fn_c_check_decl "$LINENO" "arc4random_uniform" "ac_cv_have_decl_arc4random_uniform" "$ac_includes_default"
-if test "x$ac_cv_have_decl_arc4random_uniform" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
fi
+ac_fn_c_check_func "$LINENO" "EVP_EncryptInit_ex" "ac_cv_func_EVP_EncryptInit_ex"
+if test "x$ac_cv_func_EVP_EncryptInit_ex" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVP_ENCRYPTINIT_EX 1" >>confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_ARC4RANDOM_UNIFORM $ac_have_decl
-_ACEOF
+fi
+ac_fn_c_check_func "$LINENO" "HMAC_Init_ex" "ac_cv_func_HMAC_Init_ex"
+if test "x$ac_cv_func_HMAC_Init_ex" = xyes
+then :
+ printf "%s\n" "#define HAVE_HMAC_INIT_EX 1" >>confdefs.h
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
fi
-for ac_header in openssl/conf.h openssl/engine.h openssl/bn.h openssl/dh.h openssl/dsa.h openssl/rsa.h openssl/core_names.h openssl/param_build.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+ac_fn_c_check_func "$LINENO" "CRYPTO_THREADID_set_callback" "ac_cv_func_CRYPTO_THREADID_set_callback"
+if test "x$ac_cv_func_CRYPTO_THREADID_set_callback" = xyes
+then :
+ printf "%s\n" "#define HAVE_CRYPTO_THREADID_SET_CALLBACK 1" >>confdefs.h
fi
+ac_fn_c_check_func "$LINENO" "EVP_MAC_CTX_set_params" "ac_cv_func_EVP_MAC_CTX_set_params"
+if test "x$ac_cv_func_EVP_MAC_CTX_set_params" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVP_MAC_CTX_SET_PARAMS 1" >>confdefs.h
-done
+fi
+ac_fn_c_check_func "$LINENO" "OSSL_PARAM_BLD_new" "ac_cv_func_OSSL_PARAM_BLD_new"
+if test "x$ac_cv_func_OSSL_PARAM_BLD_new" = xyes
+then :
+ printf "%s\n" "#define HAVE_OSSL_PARAM_BLD_NEW 1" >>confdefs.h
-for ac_func in OPENSSL_config EVP_sha1 EVP_sha256 EVP_sha512 FIPS_mode EVP_MD_CTX_new OpenSSL_add_all_digests OPENSSL_init_crypto EVP_cleanup ENGINE_cleanup ERR_load_crypto_strings CRYPTO_cleanup_all_ex_data ERR_free_strings RAND_cleanup DSA_SIG_set0 EVP_dss1 EVP_DigestVerify EVP_aes_256_cbc EVP_EncryptInit_ex HMAC_Init_ex CRYPTO_THREADID_set_callback EVP_MAC_CTX_set_params OSSL_PARAM_BLD_new BIO_set_callback_ex
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
+fi
+ac_fn_c_check_func "$LINENO" "BIO_set_callback_ex" "ac_cv_func_BIO_set_callback_ex"
+if test "x$ac_cv_func_BIO_set_callback_ex" = xyes
+then :
+ printf "%s\n" "#define HAVE_BIO_SET_CALLBACK_EX 1" >>confdefs.h
fi
-done
# these check_funcs need -lssl
BAKLIBS="$LIBS"
LIBS="-lssl $LIBS"
-for ac_func in OPENSSL_init_ssl SSL_CTX_set_security_level SSL_set1_host SSL_get0_peername X509_VERIFY_PARAM_set1_host SSL_CTX_set_ciphersuites SSL_CTX_set_tlsext_ticket_key_evp_cb SSL_CTX_set_alpn_select_cb SSL_get0_alpn_selected SSL_CTX_set_alpn_protos SSL_get1_peer_certificate
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
+ac_fn_c_check_func "$LINENO" "OPENSSL_init_ssl" "ac_cv_func_OPENSSL_init_ssl"
+if test "x$ac_cv_func_OPENSSL_init_ssl" = xyes
+then :
+ printf "%s\n" "#define HAVE_OPENSSL_INIT_SSL 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "SSL_CTX_set_security_level" "ac_cv_func_SSL_CTX_set_security_level"
+if test "x$ac_cv_func_SSL_CTX_set_security_level" = xyes
+then :
+ printf "%s\n" "#define HAVE_SSL_CTX_SET_SECURITY_LEVEL 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "SSL_set1_host" "ac_cv_func_SSL_set1_host"
+if test "x$ac_cv_func_SSL_set1_host" = xyes
+then :
+ printf "%s\n" "#define HAVE_SSL_SET1_HOST 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "SSL_get0_peername" "ac_cv_func_SSL_get0_peername"
+if test "x$ac_cv_func_SSL_get0_peername" = xyes
+then :
+ printf "%s\n" "#define HAVE_SSL_GET0_PEERNAME 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "X509_VERIFY_PARAM_set1_host" "ac_cv_func_X509_VERIFY_PARAM_set1_host"
+if test "x$ac_cv_func_X509_VERIFY_PARAM_set1_host" = xyes
+then :
+ printf "%s\n" "#define HAVE_X509_VERIFY_PARAM_SET1_HOST 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "SSL_CTX_set_ciphersuites" "ac_cv_func_SSL_CTX_set_ciphersuites"
+if test "x$ac_cv_func_SSL_CTX_set_ciphersuites" = xyes
+then :
+ printf "%s\n" "#define HAVE_SSL_CTX_SET_CIPHERSUITES 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "SSL_CTX_set_tlsext_ticket_key_evp_cb" "ac_cv_func_SSL_CTX_set_tlsext_ticket_key_evp_cb"
+if test "x$ac_cv_func_SSL_CTX_set_tlsext_ticket_key_evp_cb" = xyes
+then :
+ printf "%s\n" "#define HAVE_SSL_CTX_SET_TLSEXT_TICKET_KEY_EVP_CB 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "SSL_CTX_set_alpn_select_cb" "ac_cv_func_SSL_CTX_set_alpn_select_cb"
+if test "x$ac_cv_func_SSL_CTX_set_alpn_select_cb" = xyes
+then :
+ printf "%s\n" "#define HAVE_SSL_CTX_SET_ALPN_SELECT_CB 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "SSL_get0_alpn_selected" "ac_cv_func_SSL_get0_alpn_selected"
+if test "x$ac_cv_func_SSL_get0_alpn_selected" = xyes
+then :
+ printf "%s\n" "#define HAVE_SSL_GET0_ALPN_SELECTED 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "SSL_CTX_set_alpn_protos" "ac_cv_func_SSL_CTX_set_alpn_protos"
+if test "x$ac_cv_func_SSL_CTX_set_alpn_protos" = xyes
+then :
+ printf "%s\n" "#define HAVE_SSL_CTX_SET_ALPN_PROTOS 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "SSL_get1_peer_certificate" "ac_cv_func_SSL_get1_peer_certificate"
+if test "x$ac_cv_func_SSL_get1_peer_certificate" = xyes
+then :
+ printf "%s\n" "#define HAVE_SSL_GET1_PEER_CERTIFICATE 1" >>confdefs.h
fi
-done
LIBS="$BAKLIBS"
-ac_fn_c_check_decl "$LINENO" "SSL_COMP_get_compression_methods" "ac_cv_have_decl_SSL_COMP_get_compression_methods" "
+ac_fn_check_decl "$LINENO" "SSL_COMP_get_compression_methods" "ac_cv_have_decl_SSL_COMP_get_compression_methods" "
$ac_includes_default
#ifdef HAVE_OPENSSL_ERR_H
#include <openssl/err.h>
#include <openssl/ssl.h>
#include <openssl/evp.h>
-"
-if test "x$ac_cv_have_decl_SSL_COMP_get_compression_methods" = xyes; then :
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_SSL_COMP_get_compression_methods" = xyes
+then :
ac_have_decl=1
-else
+else $as_nop
ac_have_decl=0
fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SSL_COMP_GET_COMPRESSION_METHODS $ac_have_decl
-_ACEOF
-ac_fn_c_check_decl "$LINENO" "sk_SSL_COMP_pop_free" "ac_cv_have_decl_sk_SSL_COMP_pop_free" "
+printf "%s\n" "#define HAVE_DECL_SSL_COMP_GET_COMPRESSION_METHODS $ac_have_decl" >>confdefs.h
+ac_fn_check_decl "$LINENO" "sk_SSL_COMP_pop_free" "ac_cv_have_decl_sk_SSL_COMP_pop_free" "
$ac_includes_default
#ifdef HAVE_OPENSSL_ERR_H
#include <openssl/err.h>
#include <openssl/ssl.h>
#include <openssl/evp.h>
-"
-if test "x$ac_cv_have_decl_sk_SSL_COMP_pop_free" = xyes; then :
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_sk_SSL_COMP_pop_free" = xyes
+then :
ac_have_decl=1
-else
+else $as_nop
ac_have_decl=0
fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SK_SSL_COMP_POP_FREE $ac_have_decl
-_ACEOF
-ac_fn_c_check_decl "$LINENO" "SSL_CTX_set_ecdh_auto" "ac_cv_have_decl_SSL_CTX_set_ecdh_auto" "
+printf "%s\n" "#define HAVE_DECL_SK_SSL_COMP_POP_FREE $ac_have_decl" >>confdefs.h
+ac_fn_check_decl "$LINENO" "SSL_CTX_set_ecdh_auto" "ac_cv_have_decl_SSL_CTX_set_ecdh_auto" "
$ac_includes_default
#ifdef HAVE_OPENSSL_ERR_H
#include <openssl/err.h>
#include <openssl/ssl.h>
#include <openssl/evp.h>
-"
-if test "x$ac_cv_have_decl_SSL_CTX_set_ecdh_auto" = xyes; then :
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_SSL_CTX_set_ecdh_auto" = xyes
+then :
ac_have_decl=1
-else
+else $as_nop
ac_have_decl=0
fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SSL_CTX_SET_ECDH_AUTO $ac_have_decl
-_ACEOF
+printf "%s\n" "#define HAVE_DECL_SSL_CTX_SET_ECDH_AUTO $ac_have_decl" >>confdefs.h
if test "$ac_cv_func_HMAC_Init_ex" = "yes"; then
# check function return type.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the return type of HMAC_Init_ex" >&5
-$as_echo_n "checking the return type of HMAC_Init_ex... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the return type of HMAC_Init_ex" >&5
+printf %s "checking the return type of HMAC_Init_ex... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <openssl/evp.h>
int
-main ()
+main (void)
{
HMAC_CTX* hmac_ctx = NULL;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: int" >&5
-$as_echo "int" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: int" >&5
+printf "%s\n" "int" >&6; }
-else
+else $as_nop
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: void" >&5
-$as_echo "void" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: void" >&5
+printf "%s\n" "void" >&6; }
-$as_echo "#define HMAC_INIT_EX_RETURNS_VOID 1" >>confdefs.h
+printf "%s\n" "#define HMAC_INIT_EX_RETURNS_VOID 1" >>confdefs.h
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
# libbsd
# Check whether --with-libbsd was given.
-if test "${with_libbsd+set}" = set; then :
+if test ${with_libbsd+y}
+then :
withval=$with_libbsd;
- for ac_header in bsd/string.h bsd/stdlib.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+ ac_fn_c_check_header_compile "$LINENO" "bsd/string.h" "ac_cv_header_bsd_string_h" "$ac_includes_default
"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+if test "x$ac_cv_header_bsd_string_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_BSD_STRING_H 1" >>confdefs.h
fi
+ac_fn_c_check_header_compile "$LINENO" "bsd/stdlib.h" "ac_cv_header_bsd_stdlib_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_bsd_stdlib_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_BSD_STDLIB_H 1" >>confdefs.h
-done
+fi
if test "x$ac_cv_header_bsd_string_h" = xyes -a "x$ac_cv_header_bsd_stdlib_h" = xyes; then
for func in strlcpy strlcat arc4random arc4random_uniform reallocarray; do
- as_ac_Search=`$as_echo "ac_cv_search_$func" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing $func" >&5
-$as_echo_n "checking for library containing $func... " >&6; }
-if eval \${$as_ac_Search+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ as_ac_Search=`printf "%s\n" "ac_cv_search_$func" | $as_tr_sh`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing $func" >&5
+printf %s "checking for library containing $func... " >&6; }
+if eval test \${$as_ac_Search+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char $func ();
int
-main ()
+main (void)
{
return $func ();
;
return 0;
}
_ACEOF
-for ac_lib in '' bsd; do
+for ac_lib in '' bsd
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
eval "$as_ac_Search=\$ac_res"
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if eval \${$as_ac_Search+:} false; then :
+ if eval test \${$as_ac_Search+y}
+then :
break
fi
done
-if eval \${$as_ac_Search+:} false; then :
+if eval test \${$as_ac_Search+y}
+then :
-else
+else $as_nop
eval "$as_ac_Search=no"
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
eval ac_res=\$$as_ac_Search
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
eval ac_res=\$$as_ac_Search
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-$as_echo "#define HAVE_LIBBSD 1" >>confdefs.h
+printf "%s\n" "#define HAVE_LIBBSD 1" >>confdefs.h
PC_LIBBSD_DEPENDENCY=libbsd
# Check whether --enable-sha1 was given.
-if test "${enable_sha1+set}" = set; then :
+if test ${enable_sha1+y}
+then :
enableval=$enable_sha1;
fi
;;
yes|*)
-$as_echo "#define USE_SHA1 1" >>confdefs.h
+printf "%s\n" "#define USE_SHA1 1" >>confdefs.h
;;
esac
# Check whether --enable-sha2 was given.
-if test "${enable_sha2+set}" = set; then :
+if test ${enable_sha2+y}
+then :
enableval=$enable_sha2;
fi
;;
yes|*)
-$as_echo "#define USE_SHA2 1" >>confdefs.h
+printf "%s\n" "#define USE_SHA2 1" >>confdefs.h
;;
esac
# Check whether --enable-subnet was given.
-if test "${enable_subnet+set}" = set; then :
+if test ${enable_subnet+y}
+then :
enableval=$enable_subnet;
fi
case "$enable_subnet" in
yes)
-$as_echo "#define CLIENT_SUBNET 1" >>confdefs.h
+printf "%s\n" "#define CLIENT_SUBNET 1" >>confdefs.h
SUBNET_OBJ="edns-subnet.lo subnetmod.lo addrtree.lo subnet-whitelist.lo"
# check whether gost also works
# Check whether --enable-gost was given.
-if test "${enable_gost+set}" = set; then :
+if test ${enable_gost+y}
+then :
enableval=$enable_gost;
fi
;;
*)
ac_fn_c_check_func "$LINENO" "EVP_PKEY_set_type_str" "ac_cv_func_EVP_PKEY_set_type_str"
-if test "x$ac_cv_func_EVP_PKEY_set_type_str" = xyes; then :
+if test "x$ac_cv_func_EVP_PKEY_set_type_str" = xyes
+then :
:
-else
+else $as_nop
as_fn_error $? "OpenSSL 1.0.0 is needed for GOST support" "$LINENO" 5
fi
ac_fn_c_check_func "$LINENO" "EC_KEY_new" "ac_cv_func_EC_KEY_new"
-if test "x$ac_cv_func_EC_KEY_new" = xyes; then :
+if test "x$ac_cv_func_EC_KEY_new" = xyes
+then :
-else
+else $as_nop
as_fn_error $? "OpenSSL does not support ECC, needed for GOST support" "$LINENO" 5
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if GOST works" >&5
-$as_echo_n "checking if GOST works... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if GOST works" >&5
+printf %s "checking if GOST works... " >&6; }
if test c${cross_compiling} = cno; then
BAKCFLAGS="$CFLAGS"
if test -n "$ssldir"; then
CFLAGS="$CFLAGS -Wl,-rpath,$ssldir_lib"
fi
-if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+if test "$cross_compiling" = yes
+then :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot run test program while cross compiling
See \`config.log' for more details" "$LINENO" 5; }
-else
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
+if ac_fn_c_try_run "$LINENO"
+then :
eval "ac_cv_c_gost_works=yes"
-else
+else $as_nop
eval "ac_cv_c_gost_works=no"
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
else
eval "ac_cv_c_gost_works=maybe"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_gost_works" >&5
-$as_echo "$ac_cv_c_gost_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_gost_works" >&5
+printf "%s\n" "$ac_cv_c_gost_works" >&6; }
if test "$ac_cv_c_gost_works" != no; then
use_gost="yes"
-$as_echo "#define USE_GOST 1" >>confdefs.h
+printf "%s\n" "#define USE_GOST 1" >>confdefs.h
fi
;;
esac
fi
# Check whether --enable-ecdsa was given.
-if test "${enable_ecdsa+set}" = set; then :
+if test ${enable_ecdsa+y}
+then :
enableval=$enable_ecdsa;
fi
*)
if test $USE_NSS = "no" -a $USE_NETTLE = "no"; then
ac_fn_c_check_func "$LINENO" "ECDSA_sign" "ac_cv_func_ECDSA_sign"
-if test "x$ac_cv_func_ECDSA_sign" = xyes; then :
+if test "x$ac_cv_func_ECDSA_sign" = xyes
+then :
-else
+else $as_nop
as_fn_error $? "OpenSSL does not support ECDSA: please upgrade or rerun with --disable-ecdsa" "$LINENO" 5
fi
ac_fn_c_check_func "$LINENO" "SHA384_Init" "ac_cv_func_SHA384_Init"
-if test "x$ac_cv_func_SHA384_Init" = xyes; then :
+if test "x$ac_cv_func_SHA384_Init" = xyes
+then :
-else
+else $as_nop
as_fn_error $? "OpenSSL does not support SHA384: please upgrade or rerun with --disable-ecdsa" "$LINENO" 5
fi
- ac_fn_c_check_decl "$LINENO" "NID_X9_62_prime256v1" "ac_cv_have_decl_NID_X9_62_prime256v1" "$ac_includes_default
+ ac_fn_check_decl "$LINENO" "NID_X9_62_prime256v1" "ac_cv_have_decl_NID_X9_62_prime256v1" "$ac_includes_default
#include <openssl/evp.h>
-"
-if test "x$ac_cv_have_decl_NID_X9_62_prime256v1" = xyes; then :
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_NID_X9_62_prime256v1" = xyes
+then :
ac_have_decl=1
-else
+else $as_nop
ac_have_decl=0
fi
+printf "%s\n" "#define HAVE_DECL_NID_X9_62_PRIME256V1 $ac_have_decl" >>confdefs.h
+if test $ac_have_decl = 1
+then :
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_NID_X9_62_PRIME256V1 $ac_have_decl
-_ACEOF
-if test $ac_have_decl = 1; then :
-
-else
+else $as_nop
as_fn_error $? "OpenSSL does not support the ECDSA curves: please upgrade or rerun with --disable-ecdsa" "$LINENO" 5
fi
-ac_fn_c_check_decl "$LINENO" "NID_secp384r1" "ac_cv_have_decl_NID_secp384r1" "$ac_includes_default
+ac_fn_check_decl "$LINENO" "NID_secp384r1" "ac_cv_have_decl_NID_secp384r1" "$ac_includes_default
#include <openssl/evp.h>
-"
-if test "x$ac_cv_have_decl_NID_secp384r1" = xyes; then :
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_NID_secp384r1" = xyes
+then :
ac_have_decl=1
-else
+else $as_nop
ac_have_decl=0
fi
+printf "%s\n" "#define HAVE_DECL_NID_SECP384R1 $ac_have_decl" >>confdefs.h
+if test $ac_have_decl = 1
+then :
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_NID_SECP384R1 $ac_have_decl
-_ACEOF
-if test $ac_have_decl = 1; then :
-
-else
+else $as_nop
as_fn_error $? "OpenSSL does not support the ECDSA curves: please upgrade or rerun with --disable-ecdsa" "$LINENO" 5
fi
# see if OPENSSL 1.0.0 or later (has EVP MD and Verify independency)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if openssl supports SHA2 and ECDSA with EVP" >&5
-$as_echo_n "checking if openssl supports SHA2 and ECDSA with EVP... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if openssl supports SHA2 and ECDSA with EVP" >&5
+printf %s "checking if openssl supports SHA2 and ECDSA with EVP... " >&6; }
if grep OPENSSL_VERSION_TEXT $ssldir_include/openssl/opensslv.h | grep "OpenSSL" >/dev/null; then
if grep OPENSSL_VERSION_NUMBER $ssldir_include/openssl/opensslv.h | grep 0x0 >/dev/null; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define USE_ECDSA_EVP_WORKAROUND 1
-_ACEOF
+printf "%s\n" "#define USE_ECDSA_EVP_WORKAROUND 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
fi
else
# not OpenSSL, thus likely LibreSSL, which supports it
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
fi
fi
# we now know we have ECDSA and the required curves.
-cat >>confdefs.h <<_ACEOF
-#define USE_ECDSA 1
-_ACEOF
+printf "%s\n" "#define USE_ECDSA 1" >>confdefs.h
use_ecdsa="yes"
;;
esac
# Check whether --enable-dsa was given.
-if test "${enable_dsa+set}" = set; then :
+if test ${enable_dsa+y}
+then :
enableval=$enable_dsa;
fi
# detect if DSA is supported, and turn it off if not.
if test $USE_NSS = "no" -a $USE_NETTLE = "no"; then
ac_fn_c_check_func "$LINENO" "DSA_SIG_new" "ac_cv_func_DSA_SIG_new"
-if test "x$ac_cv_func_DSA_SIG_new" = xyes; then :
+if test "x$ac_cv_func_DSA_SIG_new" = xyes
+then :
- as_ac_Type=`$as_echo "ac_cv_type_DSA_SIG*" | $as_tr_sh`
+ as_ac_Type=`printf "%s\n" "ac_cv_type_DSA_SIG*" | $as_tr_sh`
ac_fn_c_check_type "$LINENO" "DSA_SIG*" "$as_ac_Type" "
$ac_includes_default
#ifdef HAVE_OPENSSL_ERR_H
#endif
"
-if eval test \"x\$"$as_ac_Type"\" = x"yes"; then :
+if eval test \"x\$"$as_ac_Type"\" = x"yes"
+then :
-cat >>confdefs.h <<_ACEOF
-#define USE_DSA 1
-_ACEOF
+printf "%s\n" "#define USE_DSA 1" >>confdefs.h
-else
+else $as_nop
if test "x$enable_dsa" = "xyes"; then as_fn_error $? "OpenSSL does not support DSA and you used --enable-dsa." "$LINENO" 5
fi
fi
-else
+else $as_nop
if test "x$enable_dsa" = "xyes"; then as_fn_error $? "OpenSSL does not support DSA and you used --enable-dsa." "$LINENO" 5
fi
fi
else
-cat >>confdefs.h <<_ACEOF
-#define USE_DSA 1
-_ACEOF
+printf "%s\n" "#define USE_DSA 1" >>confdefs.h
fi
;;
# Check whether --with-deprecate-rsa-1024 was given.
-if test "${with_deprecate_rsa_1024+set}" = set; then :
+if test ${with_deprecate_rsa_1024+y}
+then :
withval=$with_deprecate_rsa_1024;
fi
if test "$with_deprecate_rsa_1024" = "yes"; then
-$as_echo "#define DEPRECATE_RSA_1024 1" >>confdefs.h
+printf "%s\n" "#define DEPRECATE_RSA_1024 1" >>confdefs.h
fi
# Check whether --enable-ed25519 was given.
-if test "${enable_ed25519+set}" = set; then :
+if test ${enable_ed25519+y}
+then :
enableval=$enable_ed25519;
fi
;;
*)
if test $USE_NSS = "no" -a $USE_NETTLE = "no"; then
- ac_fn_c_check_decl "$LINENO" "NID_ED25519" "ac_cv_have_decl_NID_ED25519" "$ac_includes_default
+ ac_fn_check_decl "$LINENO" "NID_ED25519" "ac_cv_have_decl_NID_ED25519" "$ac_includes_default
#include <openssl/evp.h>
-"
-if test "x$ac_cv_have_decl_NID_ED25519" = xyes; then :
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_NID_ED25519" = xyes
+then :
ac_have_decl=1
-else
+else $as_nop
ac_have_decl=0
fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_NID_ED25519 $ac_have_decl
-_ACEOF
-if test $ac_have_decl = 1; then :
+printf "%s\n" "#define HAVE_DECL_NID_ED25519 $ac_have_decl" >>confdefs.h
+if test $ac_have_decl = 1
+then :
use_ed25519="yes"
-else
+else $as_nop
if test "x$enable_ed25519" = "xyes"; then as_fn_error $? "OpenSSL does not support ED25519 and you used --enable-ed25519." "$LINENO" 5
fi
fi
fi
if test $USE_NETTLE = "yes"; then
- for ac_header in nettle/eddsa.h
+ for ac_header in nettle/eddsa.h
do :
ac_fn_c_check_header_compile "$LINENO" "nettle/eddsa.h" "ac_cv_header_nettle_eddsa_h" "$ac_includes_default
"
-if test "x$ac_cv_header_nettle_eddsa_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_NETTLE_EDDSA_H 1
-_ACEOF
+if test "x$ac_cv_header_nettle_eddsa_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_NETTLE_EDDSA_H 1" >>confdefs.h
use_ed25519="yes"
fi
done
-
fi
if test $use_ed25519 = "yes"; then
-cat >>confdefs.h <<_ACEOF
-#define USE_ED25519 1
-_ACEOF
+printf "%s\n" "#define USE_ED25519 1" >>confdefs.h
fi
;;
esac
# Check whether --enable-ed448 was given.
-if test "${enable_ed448+set}" = set; then :
+if test ${enable_ed448+y}
+then :
enableval=$enable_ed448;
fi
;;
*)
if test $USE_NSS = "no" -a $USE_NETTLE = "no"; then
- ac_fn_c_check_decl "$LINENO" "NID_ED448" "ac_cv_have_decl_NID_ED448" "$ac_includes_default
+ ac_fn_check_decl "$LINENO" "NID_ED448" "ac_cv_have_decl_NID_ED448" "$ac_includes_default
#include <openssl/evp.h>
-"
-if test "x$ac_cv_have_decl_NID_ED448" = xyes; then :
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_NID_ED448" = xyes
+then :
ac_have_decl=1
-else
+else $as_nop
ac_have_decl=0
fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_NID_ED448 $ac_have_decl
-_ACEOF
-if test $ac_have_decl = 1; then :
+printf "%s\n" "#define HAVE_DECL_NID_ED448 $ac_have_decl" >>confdefs.h
+if test $ac_have_decl = 1
+then :
use_ed448="yes"
-else
+else $as_nop
if test "x$enable_ed448" = "xyes"; then as_fn_error $? "OpenSSL does not support ED448 and you used --enable-ed448." "$LINENO" 5
fi
fi
fi
if test $use_ed448 = "yes"; then
-cat >>confdefs.h <<_ACEOF
-#define USE_ED448 1
-_ACEOF
+printf "%s\n" "#define USE_ED448 1" >>confdefs.h
fi
;;
esac
# Check whether --enable-event-api was given.
-if test "${enable_event_api+set}" = set; then :
+if test ${enable_event_api+y}
+then :
enableval=$enable_event_api;
fi
esac
# Check whether --enable-tfo-client was given.
-if test "${enable_tfo_client+set}" = set; then :
+if test ${enable_tfo_client+y}
+then :
enableval=$enable_tfo_client;
fi
case "$enable_tfo_client" in
yes)
case "$host_os" in
- linux*) ac_fn_c_check_decl "$LINENO" "MSG_FASTOPEN" "ac_cv_have_decl_MSG_FASTOPEN" "$ac_includes_default
+ linux*) ac_fn_check_decl "$LINENO" "MSG_FASTOPEN" "ac_cv_have_decl_MSG_FASTOPEN" "$ac_includes_default
#include <netinet/tcp.h>
-"
-if test "x$ac_cv_have_decl_MSG_FASTOPEN" = xyes; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support client mode TFO" >&5
-$as_echo "$as_me: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support client mode TFO" >&2;}
-else
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_MSG_FASTOPEN" = xyes
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support client mode TFO" >&5
+printf "%s\n" "$as_me: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support client mode TFO" >&2;}
+else $as_nop
as_fn_error $? "TCP Fast Open is not available for client mode: please rerun without --enable-tfo-client" "$LINENO" 5
fi
-
-cat >>confdefs.h <<_ACEOF
-#define USE_MSG_FASTOPEN 1
-_ACEOF
+printf "%s\n" "#define USE_MSG_FASTOPEN 1" >>confdefs.h
;;
- darwin*) ac_fn_c_check_decl "$LINENO" "CONNECT_RESUME_ON_READ_WRITE" "ac_cv_have_decl_CONNECT_RESUME_ON_READ_WRITE" "$ac_includes_default
+ darwin*) ac_fn_check_decl "$LINENO" "CONNECT_RESUME_ON_READ_WRITE" "ac_cv_have_decl_CONNECT_RESUME_ON_READ_WRITE" "$ac_includes_default
#include <sys/socket.h>
-"
-if test "x$ac_cv_have_decl_CONNECT_RESUME_ON_READ_WRITE" = xyes; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support client mode TFO" >&5
-$as_echo "$as_me: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support client mode TFO" >&2;}
-else
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_CONNECT_RESUME_ON_READ_WRITE" = xyes
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support client mode TFO" >&5
+printf "%s\n" "$as_me: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support client mode TFO" >&2;}
+else $as_nop
as_fn_error $? "TCP Fast Open is not available for client mode: please rerun without --enable-tfo-client" "$LINENO" 5
fi
-
-cat >>confdefs.h <<_ACEOF
-#define USE_OSX_MSG_FASTOPEN 1
-_ACEOF
+printf "%s\n" "#define USE_OSX_MSG_FASTOPEN 1" >>confdefs.h
;;
esac
esac
# Check whether --enable-tfo-server was given.
-if test "${enable_tfo_server+set}" = set; then :
+if test ${enable_tfo_server+y}
+then :
enableval=$enable_tfo_server;
fi
case "$enable_tfo_server" in
yes)
- ac_fn_c_check_decl "$LINENO" "TCP_FASTOPEN" "ac_cv_have_decl_TCP_FASTOPEN" "$ac_includes_default
+ ac_fn_check_decl "$LINENO" "TCP_FASTOPEN" "ac_cv_have_decl_TCP_FASTOPEN" "$ac_includes_default
#include <netinet/tcp.h>
-"
-if test "x$ac_cv_have_decl_TCP_FASTOPEN" = xyes; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support server mode TFO" >&5
-$as_echo "$as_me: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support server mode TFO" >&2;}
-else
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_TCP_FASTOPEN" = xyes
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support server mode TFO" >&5
+printf "%s\n" "$as_me: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support server mode TFO" >&2;}
+else $as_nop
as_fn_error $? "TCP Fast Open is not available for server mode: please rerun without --enable-tfo-server" "$LINENO" 5
fi
-
-cat >>confdefs.h <<_ACEOF
-#define USE_TCP_FASTOPEN 1
-_ACEOF
+printf "%s\n" "#define USE_TCP_FASTOPEN 1" >>confdefs.h
;;
no|*)
# check for libevent
# Check whether --with-libevent was given.
-if test "${with_libevent+set}" = set; then :
+if test ${with_libevent+y}
+then :
withval=$with_libevent;
-else
+else $as_nop
with_libevent="no"
fi
if test "x_$with_libevent" != x_no; then
-$as_echo "#define USE_LIBEVENT 1" >>confdefs.h
+printf "%s\n" "#define USE_LIBEVENT 1" >>confdefs.h
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libevent" >&5
-$as_echo_n "checking for libevent... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent" >&5
+printf %s "checking for libevent... " >&6; }
if test "x_$with_libevent" = x_ -o "x_$with_libevent" = x_yes; then
with_libevent="/usr/local /opt/local /usr/lib /usr/pkg /usr/sfw /usr"
fi
if test x_$found_libevent != x_yes; then
if test -f "$dir/event.h" -a \( -f "$dir/libevent.la" -o -f "$dir/libev.la" \) ; then
# libevent source directory
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found in $thedir" >&5
-$as_echo "found in $thedir" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found in $thedir" >&5
+printf "%s\n" "found in $thedir" >&6; }
CPPFLAGS="$CPPFLAGS -I$thedir -I$thedir/include"
BAK_LDFLAGS_SET="1"
BAK_LDFLAGS="$LDFLAGS"
large outgoing port ranges. " "$LINENO" 5
fi
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found in $thedir" >&5
-$as_echo "found in $thedir" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found in $thedir" >&5
+printf "%s\n" "found in $thedir" >&6; }
if test ! -f $thedir/lib/libevent.a -a ! -f $thedir/lib/libevent.so -a -d "$thedir/lib/event2"; then
LDFLAGS="$LDFLAGS -L$thedir/lib/event2"
fi
fi
# check for library used by libevent after 1.3c
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
-$as_echo_n "checking for library containing clock_gettime... " >&6; }
-if ${ac_cv_search_clock_gettime+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
+printf %s "checking for library containing clock_gettime... " >&6; }
+if test ${ac_cv_search_clock_gettime+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char clock_gettime ();
int
-main ()
+main (void)
{
return clock_gettime ();
;
return 0;
}
_ACEOF
-for ac_lib in '' rt; do
+for ac_lib in '' rt
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_search_clock_gettime=$ac_res
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if ${ac_cv_search_clock_gettime+:} false; then :
+ if test ${ac_cv_search_clock_gettime+y}
+then :
break
fi
done
-if ${ac_cv_search_clock_gettime+:} false; then :
+if test ${ac_cv_search_clock_gettime+y}
+then :
-else
+else $as_nop
ac_cv_search_clock_gettime=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
-$as_echo "$ac_cv_search_clock_gettime" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
+printf "%s\n" "$ac_cv_search_clock_gettime" >&6; }
ac_res=$ac_cv_search_clock_gettime
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
# is the event.h header libev or libevent?
- for ac_header in event.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "event.h" "ac_cv_header_event_h" "$ac_includes_default
+ ac_fn_c_check_header_compile "$LINENO" "event.h" "ac_cv_header_event_h" "$ac_includes_default
"
-if test "x$ac_cv_header_event_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_EVENT_H 1
-_ACEOF
+if test "x$ac_cv_header_event_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVENT_H 1" >>confdefs.h
fi
-done
-
- ac_fn_c_check_decl "$LINENO" "EV_VERSION_MAJOR" "ac_cv_have_decl_EV_VERSION_MAJOR" "$ac_includes_default
+ ac_fn_check_decl "$LINENO" "EV_VERSION_MAJOR" "ac_cv_have_decl_EV_VERSION_MAJOR" "$ac_includes_default
#include <event.h>
-"
-if test "x$ac_cv_have_decl_EV_VERSION_MAJOR" = xyes; then :
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_EV_VERSION_MAJOR" = xyes
+then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing event_set" >&5
-$as_echo_n "checking for library containing event_set... " >&6; }
-if ${ac_cv_search_event_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing event_set" >&5
+printf %s "checking for library containing event_set... " >&6; }
+if test ${ac_cv_search_event_set+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char event_set ();
int
-main ()
+main (void)
{
return event_set ();
;
return 0;
}
_ACEOF
-for ac_lib in '' ev; do
+for ac_lib in '' ev
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_search_event_set=$ac_res
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if ${ac_cv_search_event_set+:} false; then :
+ if test ${ac_cv_search_event_set+y}
+then :
break
fi
done
-if ${ac_cv_search_event_set+:} false; then :
+if test ${ac_cv_search_event_set+y}
+then :
-else
+else $as_nop
ac_cv_search_event_set=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_event_set" >&5
-$as_echo "$ac_cv_search_event_set" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_event_set" >&5
+printf "%s\n" "$ac_cv_search_event_set" >&6; }
ac_res=$ac_cv_search_event_set
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
-else
+else $as_nop
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing event_set" >&5
-$as_echo_n "checking for library containing event_set... " >&6; }
-if ${ac_cv_search_event_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing event_set" >&5
+printf %s "checking for library containing event_set... " >&6; }
+if test ${ac_cv_search_event_set+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char event_set ();
int
-main ()
+main (void)
{
return event_set ();
;
return 0;
}
_ACEOF
-for ac_lib in '' event; do
+for ac_lib in '' event
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_search_event_set=$ac_res
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if ${ac_cv_search_event_set+:} false; then :
+ if test ${ac_cv_search_event_set+y}
+then :
break
fi
done
-if ${ac_cv_search_event_set+:} false; then :
+if test ${ac_cv_search_event_set+y}
+then :
-else
+else $as_nop
ac_cv_search_event_set=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_event_set" >&5
-$as_echo "$ac_cv_search_event_set" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_event_set" >&5
+printf "%s\n" "$ac_cv_search_event_set" >&6; }
ac_res=$ac_cv_search_event_set
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
fi
-
- for ac_func in event_base_free
-do :
- ac_fn_c_check_func "$LINENO" "event_base_free" "ac_cv_func_event_base_free"
-if test "x$ac_cv_func_event_base_free" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_EVENT_BASE_FREE 1
-_ACEOF
+ ac_fn_c_check_func "$LINENO" "event_base_free" "ac_cv_func_event_base_free"
+if test "x$ac_cv_func_event_base_free" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVENT_BASE_FREE 1" >>confdefs.h
fi
-done
# only in libevent 1.2 and later
- for ac_func in event_base_once
-do :
- ac_fn_c_check_func "$LINENO" "event_base_once" "ac_cv_func_event_base_once"
-if test "x$ac_cv_func_event_base_once" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_EVENT_BASE_ONCE 1
-_ACEOF
+ ac_fn_c_check_func "$LINENO" "event_base_once" "ac_cv_func_event_base_once"
+if test "x$ac_cv_func_event_base_once" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVENT_BASE_ONCE 1" >>confdefs.h
fi
-done
# only in libevent 1.4.1 and later
- for ac_func in event_base_new
-do :
- ac_fn_c_check_func "$LINENO" "event_base_new" "ac_cv_func_event_base_new"
-if test "x$ac_cv_func_event_base_new" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_EVENT_BASE_NEW 1
-_ACEOF
+ ac_fn_c_check_func "$LINENO" "event_base_new" "ac_cv_func_event_base_new"
+if test "x$ac_cv_func_event_base_new" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVENT_BASE_NEW 1" >>confdefs.h
fi
-done
# only in libevent 1.4.1 and later
- for ac_func in event_base_get_method
-do :
- ac_fn_c_check_func "$LINENO" "event_base_get_method" "ac_cv_func_event_base_get_method"
-if test "x$ac_cv_func_event_base_get_method" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_EVENT_BASE_GET_METHOD 1
-_ACEOF
+ ac_fn_c_check_func "$LINENO" "event_base_get_method" "ac_cv_func_event_base_get_method"
+if test "x$ac_cv_func_event_base_get_method" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVENT_BASE_GET_METHOD 1" >>confdefs.h
fi
-done
# only in libevent 1.4.3 and later
- for ac_func in ev_loop
-do :
- ac_fn_c_check_func "$LINENO" "ev_loop" "ac_cv_func_ev_loop"
-if test "x$ac_cv_func_ev_loop" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_EV_LOOP 1
-_ACEOF
+ ac_fn_c_check_func "$LINENO" "ev_loop" "ac_cv_func_ev_loop"
+if test "x$ac_cv_func_ev_loop" = xyes
+then :
+ printf "%s\n" "#define HAVE_EV_LOOP 1" >>confdefs.h
fi
-done
# only in libev. (tested on 3.51)
- for ac_func in ev_default_loop
-do :
- ac_fn_c_check_func "$LINENO" "ev_default_loop" "ac_cv_func_ev_default_loop"
-if test "x$ac_cv_func_ev_default_loop" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_EV_DEFAULT_LOOP 1
-_ACEOF
+ ac_fn_c_check_func "$LINENO" "ev_default_loop" "ac_cv_func_ev_default_loop"
+if test "x$ac_cv_func_ev_default_loop" = xyes
+then :
+ printf "%s\n" "#define HAVE_EV_DEFAULT_LOOP 1" >>confdefs.h
fi
-done
# only in libev. (tested on 4.00)
- for ac_func in event_assign
-do :
- ac_fn_c_check_func "$LINENO" "event_assign" "ac_cv_func_event_assign"
-if test "x$ac_cv_func_event_assign" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_EVENT_ASSIGN 1
-_ACEOF
+ ac_fn_c_check_func "$LINENO" "event_assign" "ac_cv_func_event_assign"
+if test "x$ac_cv_func_event_assign" = xyes
+then :
+ printf "%s\n" "#define HAVE_EVENT_ASSIGN 1" >>confdefs.h
fi
-done
# in libevent, for thread-safety
- ac_fn_c_check_decl "$LINENO" "evsignal_assign" "ac_cv_have_decl_evsignal_assign" "$ac_includes_default
+ ac_fn_check_decl "$LINENO" "evsignal_assign" "ac_cv_have_decl_evsignal_assign" "$ac_includes_default
#ifdef HAVE_EVENT_H
# include <event.h>
#else
# include \"event2/event.h\"
#endif
-"
-if test "x$ac_cv_have_decl_evsignal_assign" = xyes; then :
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_evsignal_assign" = xyes
+then :
ac_have_decl=1
-else
+else $as_nop
ac_have_decl=0
fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_EVSIGNAL_ASSIGN $ac_have_decl
-_ACEOF
+printf "%s\n" "#define HAVE_DECL_EVSIGNAL_ASSIGN $ac_have_decl" >>confdefs.h
PC_LIBEVENT_DEPENDENCY="libevent"
fi
else
-$as_echo "#define USE_MINI_EVENT 1" >>confdefs.h
+printf "%s\n" "#define USE_MINI_EVENT 1" >>confdefs.h
fi
# check for libexpat
# Check whether --with-libexpat was given.
-if test "${with_libexpat+set}" = set; then :
+if test ${with_libexpat+y}
+then :
withval=$with_libexpat;
-else
+else $as_nop
withval="/usr/local /opt/local /usr/lib /usr/pkg /usr/sfw /usr"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libexpat" >&5
-$as_echo_n "checking for libexpat... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libexpat" >&5
+printf %s "checking for libexpat... " >&6; }
found_libexpat="no"
for dir in $withval ; do
if test -f "$dir/include/expat.h"; then
CPPFLAGS="$CPPFLAGS -I$dir/include"
LDFLAGS="$LDFLAGS -L$dir/lib"
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found in $dir" >&5
-$as_echo "found in $dir" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found in $dir" >&5
+printf "%s\n" "found in $dir" >&6; }
break;
fi
done
if test x_$found_libexpat != x_yes; then
as_fn_error $? "Could not find libexpat, expat.h" "$LINENO" 5
fi
-for ac_header in expat.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "expat.h" "ac_cv_header_expat_h" "$ac_includes_default
+ac_fn_c_check_header_compile "$LINENO" "expat.h" "ac_cv_header_expat_h" "$ac_includes_default
"
-if test "x$ac_cv_header_expat_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_EXPAT_H 1
-_ACEOF
+if test "x$ac_cv_header_expat_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_EXPAT_H 1" >>confdefs.h
fi
-done
-
-ac_fn_c_check_decl "$LINENO" "XML_StopParser" "ac_cv_have_decl_XML_StopParser" "$ac_includes_default
+ac_fn_check_decl "$LINENO" "XML_StopParser" "ac_cv_have_decl_XML_StopParser" "$ac_includes_default
#include <expat.h>
-"
-if test "x$ac_cv_have_decl_XML_StopParser" = xyes; then :
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_XML_StopParser" = xyes
+then :
ac_have_decl=1
-else
+else $as_nop
ac_have_decl=0
fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_XML_STOPPARSER $ac_have_decl
-_ACEOF
+printf "%s\n" "#define HAVE_DECL_XML_STOPPARSER $ac_have_decl" >>confdefs.h
# hiredis (redis C client for cachedb)
# Check whether --with-libhiredis was given.
-if test "${with_libhiredis+set}" = set; then :
+if test ${with_libhiredis+y}
+then :
withval=$with_libhiredis;
-else
+else $as_nop
withval="no"
fi
found_libhiredis="no"
if test x_$withval = x_yes -o x_$withval != x_no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libhiredis" >&5
-$as_echo_n "checking for libhiredis... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libhiredis" >&5
+printf %s "checking for libhiredis... " >&6; }
if test x_$withval = x_ -o x_$withval = x_yes; then
withval="/usr/local /opt/local /usr/lib /usr/pkg /usr/sfw /usr"
fi
CPPFLAGS="$CPPFLAGS -I$dir/include"
LDFLAGS="$LDFLAGS -L$dir/lib"
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found in $dir" >&5
-$as_echo "found in $dir" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found in $dir" >&5
+printf "%s\n" "found in $dir" >&6; }
-$as_echo "#define USE_REDIS 1" >>confdefs.h
+printf "%s\n" "#define USE_REDIS 1" >>confdefs.h
LIBS="$LIBS -lhiredis"
break;
if test x_$found_libhiredis != x_yes; then
as_fn_error $? "Could not find libhiredis, hiredis.h" "$LINENO" 5
fi
- for ac_header in hiredis/hiredis.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "hiredis/hiredis.h" "ac_cv_header_hiredis_hiredis_h" "$ac_includes_default
+ ac_fn_c_check_header_compile "$LINENO" "hiredis/hiredis.h" "ac_cv_header_hiredis_hiredis_h" "$ac_includes_default
"
-if test "x$ac_cv_header_hiredis_hiredis_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_HIREDIS_HIREDIS_H 1
-_ACEOF
+if test "x$ac_cv_header_hiredis_hiredis_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_HIREDIS_HIREDIS_H 1" >>confdefs.h
fi
-done
-
- ac_fn_c_check_decl "$LINENO" "redisConnect" "ac_cv_have_decl_redisConnect" "$ac_includes_default
+ ac_fn_check_decl "$LINENO" "redisConnect" "ac_cv_have_decl_redisConnect" "$ac_includes_default
#include <hiredis/hiredis.h>
-"
-if test "x$ac_cv_have_decl_redisConnect" = xyes; then :
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_redisConnect" = xyes
+then :
ac_have_decl=1
-else
+else $as_nop
ac_have_decl=0
fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_REDISCONNECT $ac_have_decl
-_ACEOF
+printf "%s\n" "#define HAVE_DECL_REDISCONNECT $ac_have_decl" >>confdefs.h
fi
# nghttp2
# Check whether --with-libnghttp2 was given.
-if test "${with_libnghttp2+set}" = set; then :
+if test ${with_libnghttp2+y}
+then :
withval=$with_libnghttp2;
-else
+else $as_nop
withval="no"
fi
found_libnghttp2="no"
if test x_$withval = x_yes -o x_$withval != x_no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libnghttp2" >&5
-$as_echo_n "checking for libnghttp2... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnghttp2" >&5
+printf %s "checking for libnghttp2... " >&6; }
if test x_$withval = x_ -o x_$withval = x_yes; then
withval="/usr/local /opt/local /usr/lib /usr/pkg /usr/sfw /usr"
fi
CPPFLAGS="$CPPFLAGS -I$dir/include"
LDFLAGS="$LDFLAGS -L$dir/lib"
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found in $dir" >&5
-$as_echo "found in $dir" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found in $dir" >&5
+printf "%s\n" "found in $dir" >&6; }
-$as_echo "#define HAVE_NGHTTP2 1" >>confdefs.h
+printf "%s\n" "#define HAVE_NGHTTP2 1" >>confdefs.h
LIBS="$LIBS -lnghttp2"
break;
if test x_$found_libnghttp2 != x_yes; then
as_fn_error $? "Could not find libnghttp2, nghttp2.h" "$LINENO" 5
fi
- for ac_header in nghttp2/nghttp2.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "nghttp2/nghttp2.h" "ac_cv_header_nghttp2_nghttp2_h" "$ac_includes_default
+ ac_fn_c_check_header_compile "$LINENO" "nghttp2/nghttp2.h" "ac_cv_header_nghttp2_nghttp2_h" "$ac_includes_default
"
-if test "x$ac_cv_header_nghttp2_nghttp2_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_NGHTTP2_NGHTTP2_H 1
-_ACEOF
+if test "x$ac_cv_header_nghttp2_nghttp2_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_NGHTTP2_NGHTTP2_H 1" >>confdefs.h
fi
-done
-
- ac_fn_c_check_decl "$LINENO" "nghttp2_session_server_new" "ac_cv_have_decl_nghttp2_session_server_new" "$ac_includes_default
+ ac_fn_check_decl "$LINENO" "nghttp2_session_server_new" "ac_cv_have_decl_nghttp2_session_server_new" "$ac_includes_default
#include <nghttp2/nghttp2.h>
-"
-if test "x$ac_cv_have_decl_nghttp2_session_server_new" = xyes; then :
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_nghttp2_session_server_new" = xyes
+then :
ac_have_decl=1
-else
+else $as_nop
ac_have_decl=0
fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_NGHTTP2_SESSION_SERVER_NEW $ac_have_decl
-_ACEOF
+printf "%s\n" "#define HAVE_DECL_NGHTTP2_SESSION_SERVER_NEW $ac_have_decl" >>confdefs.h
fi
staticexe=""
# Check whether --enable-static-exe was given.
-if test "${enable_static_exe+set}" = set; then :
+if test ${enable_static_exe+y}
+then :
enableval=$enable_static_exe;
fi
# set full static linking if requested
# Check whether --enable-fully-static was given.
-if test "${enable_fully_static+set}" = set; then :
+if test ${enable_fully_static+y}
+then :
enableval=$enable_fully_static;
fi
# set lock checking if requested
# Check whether --enable-lock_checks was given.
-if test "${enable_lock_checks+set}" = set; then :
+if test ${enable_lock_checks+y}
+then :
enableval=$enable_lock_checks;
fi
if test x_$enable_lock_checks = x_yes; then
-$as_echo "#define ENABLE_LOCK_CHECKS 1" >>confdefs.h
+printf "%s\n" "#define ENABLE_LOCK_CHECKS 1" >>confdefs.h
CHECKLOCK_OBJ="checklocks.lo"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo" >&5
-$as_echo_n "checking for getaddrinfo... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo" >&5
+printf %s "checking for getaddrinfo... " >&6; }
ac_cv_func_getaddrinfo=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_func_getaddrinfo="yes"
if test "$ac_cv_header_windows_h" = "yes"; then
-$as_echo "#define USE_WINSOCK 1" >>confdefs.h
+printf "%s\n" "#define USE_WINSOCK 1" >>confdefs.h
USE_WINSOCK="1"
if echo $LIBS | grep 'lws2_32' >/dev/null; then
fi
fi
-else
+else $as_nop
ORIGLIBS="$LIBS"
LIBS="$LIBS -lws2_32"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
#endif
int
-main ()
+main (void)
{
(void)getaddrinfo(NULL, NULL, NULL, NULL);
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_func_getaddrinfo="yes"
-$as_echo "#define USE_WINSOCK 1" >>confdefs.h
+printf "%s\n" "#define USE_WINSOCK 1" >>confdefs.h
USE_WINSOCK="1"
-else
+else $as_nop
ac_cv_func_getaddrinfo="no"
LIBS="$ORIGLIBS"
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getaddrinfo" >&5
-$as_echo "$ac_cv_func_getaddrinfo" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getaddrinfo" >&5
+printf "%s\n" "$ac_cv_func_getaddrinfo" >&6; }
if test $ac_cv_func_getaddrinfo = yes; then
-$as_echo "#define HAVE_GETADDRINFO 1" >>confdefs.h
+printf "%s\n" "#define HAVE_GETADDRINFO 1" >>confdefs.h
fi
if test "$USE_WINSOCK" = 1; then
-$as_echo "#define UB_ON_WINDOWS 1" >>confdefs.h
+printf "%s\n" "#define UB_ON_WINDOWS 1" >>confdefs.h
- for ac_header in iphlpapi.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "iphlpapi.h" "ac_cv_header_iphlpapi_h" "$ac_includes_default
+ ac_fn_c_check_header_compile "$LINENO" "iphlpapi.h" "ac_cv_header_iphlpapi_h" "$ac_includes_default
#include <windows.h>
"
-if test "x$ac_cv_header_iphlpapi_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_IPHLPAPI_H 1
-_ACEOF
+if test "x$ac_cv_header_iphlpapi_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_IPHLPAPI_H 1" >>confdefs.h
fi
-done
-
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args.
set dummy ${ac_tool_prefix}windres; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_WINDRES+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_WINDRES+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$WINDRES"; then
ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_WINDRES="${ac_tool_prefix}windres"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
WINDRES=$ac_cv_prog_WINDRES
if test -n "$WINDRES"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WINDRES" >&5
-$as_echo "$WINDRES" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WINDRES" >&5
+printf "%s\n" "$WINDRES" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
ac_ct_WINDRES=$WINDRES
# Extract the first word of "windres", so it can be a program name with args.
set dummy windres; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_WINDRES+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_WINDRES+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_WINDRES"; then
ac_cv_prog_ac_ct_WINDRES="$ac_ct_WINDRES" # Let the user override the test.
else
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_WINDRES="windres"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
ac_ct_WINDRES=$ac_cv_prog_ac_ct_WINDRES
if test -n "$ac_ct_WINDRES"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WINDRES" >&5
-$as_echo "$ac_ct_WINDRES" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WINDRES" >&5
+printf "%s\n" "$ac_ct_WINDRES" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_WINDRES" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
WINDRES=$ac_ct_WINDRES
# check after getaddrinfo for its libraries
# check ioctlsocket
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ioctlsocket" >&5
-$as_echo_n "checking for ioctlsocket... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ioctlsocket" >&5
+printf %s "checking for ioctlsocket... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#endif
int
-main ()
+main (void)
{
(void)ioctlsocket(0, 0, NULL);
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
-$as_echo "#define HAVE_IOCTLSOCKET 1" >>confdefs.h
+printf "%s\n" "#define HAVE_IOCTLSOCKET 1" >>confdefs.h
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
# see if daemon(3) exists, and if it is deprecated.
-for ac_func in daemon
-do :
- ac_fn_c_check_func "$LINENO" "daemon" "ac_cv_func_daemon"
-if test "x$ac_cv_func_daemon" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DAEMON 1
-_ACEOF
+ac_fn_c_check_func "$LINENO" "daemon" "ac_cv_func_daemon"
+if test "x$ac_cv_func_daemon" = xyes
+then :
+ printf "%s\n" "#define HAVE_DAEMON 1" >>confdefs.h
fi
-done
if test $ac_cv_func_daemon = yes; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if daemon is deprecated" >&5
-$as_echo_n "checking if daemon is deprecated... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if daemon is deprecated" >&5
+printf %s "checking if daemon is deprecated... " >&6; }
cache=`echo daemon | sed 'y%.=/+-%___p_%'`
-if eval \${cv_cc_deprecated_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+if eval test \${cv_cc_deprecated_$cache+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
echo '
#include <stdlib.h>
fi
if eval "test \"`echo '$cv_cc_deprecated_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define DEPRECATED_DAEMON 1
-_ACEOF
+printf "%s\n" "#define DEPRECATED_DAEMON 1" >>confdefs.h
:
else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
:
fi
#endif
"
-if test "x$ac_cv_member_struct_sockaddr_un_sun_len" = xyes; then :
+if test "x$ac_cv_member_struct_sockaddr_un_sun_len" = xyes
+then :
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_SOCKADDR_UN_SUN_LEN 1
-_ACEOF
+printf "%s\n" "#define HAVE_STRUCT_SOCKADDR_UN_SUN_LEN 1" >>confdefs.h
fi
#endif
"
-if test "x$ac_cv_member_struct_in_pktinfo_ipi_spec_dst" = xyes; then :
+if test "x$ac_cv_member_struct_in_pktinfo_ipi_spec_dst" = xyes
+then :
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_IN_PKTINFO_IPI_SPEC_DST 1
-_ACEOF
+printf "%s\n" "#define HAVE_STRUCT_IN_PKTINFO_IPI_SPEC_DST 1" >>confdefs.h
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for htobe64" >&5
-$as_echo_n "checking for htobe64... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for htobe64" >&5
+printf %s "checking for htobe64... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#endif
int
-main ()
+main (void)
{
unsigned long long x = htobe64(0); printf("%u", (unsigned)x);
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+if ac_fn_c_try_link "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
-$as_echo "#define HAVE_HTOBE64 1" >>confdefs.h
+printf "%s\n" "#define HAVE_HTOBE64 1" >>confdefs.h
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for be64toh" >&5
-$as_echo_n "checking for be64toh... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for be64toh" >&5
+printf %s "checking for be64toh... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#endif
int
-main ()
+main (void)
{
unsigned long long x = be64toh(0); printf("%u", (unsigned)x);
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+if ac_fn_c_try_link "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
-$as_echo "#define HAVE_BE64TOH 1" >>confdefs.h
+printf "%s\n" "#define HAVE_BE64TOH 1" >>confdefs.h
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setusercontext" >&5
-$as_echo_n "checking for library containing setusercontext... " >&6; }
-if ${ac_cv_search_setusercontext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing setusercontext" >&5
+printf %s "checking for library containing setusercontext... " >&6; }
+if test ${ac_cv_search_setusercontext+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char setusercontext ();
int
-main ()
+main (void)
{
return setusercontext ();
;
return 0;
}
_ACEOF
-for ac_lib in '' util; do
+for ac_lib in '' util
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_search_setusercontext=$ac_res
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if ${ac_cv_search_setusercontext+:} false; then :
+ if test ${ac_cv_search_setusercontext+y}
+then :
break
fi
done
-if ${ac_cv_search_setusercontext+:} false; then :
+if test ${ac_cv_search_setusercontext+y}
+then :
-else
+else $as_nop
ac_cv_search_setusercontext=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setusercontext" >&5
-$as_echo "$ac_cv_search_setusercontext" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setusercontext" >&5
+printf "%s\n" "$ac_cv_search_setusercontext" >&6; }
ac_res=$ac_cv_search_setusercontext
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
-for ac_func in tzset sigprocmask fcntl getpwnam endpwent getrlimit setrlimit setsid chroot kill chown sleep usleep random srandom recvmsg sendmsg writev socketpair glob initgroups strftime localtime_r setusercontext _beginthreadex endservent endprotoent fsync shmget accept4 getifaddrs if_nametoindex
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
+ac_fn_c_check_func "$LINENO" "tzset" "ac_cv_func_tzset"
+if test "x$ac_cv_func_tzset" = xyes
+then :
+ printf "%s\n" "#define HAVE_TZSET 1" >>confdefs.h
fi
-done
+ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask"
+if test "x$ac_cv_func_sigprocmask" = xyes
+then :
+ printf "%s\n" "#define HAVE_SIGPROCMASK 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "fcntl" "ac_cv_func_fcntl"
+if test "x$ac_cv_func_fcntl" = xyes
+then :
+ printf "%s\n" "#define HAVE_FCNTL 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "getpwnam" "ac_cv_func_getpwnam"
+if test "x$ac_cv_func_getpwnam" = xyes
+then :
+ printf "%s\n" "#define HAVE_GETPWNAM 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "endpwent" "ac_cv_func_endpwent"
+if test "x$ac_cv_func_endpwent" = xyes
+then :
+ printf "%s\n" "#define HAVE_ENDPWENT 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "getrlimit" "ac_cv_func_getrlimit"
+if test "x$ac_cv_func_getrlimit" = xyes
+then :
+ printf "%s\n" "#define HAVE_GETRLIMIT 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "setrlimit" "ac_cv_func_setrlimit"
+if test "x$ac_cv_func_setrlimit" = xyes
+then :
+ printf "%s\n" "#define HAVE_SETRLIMIT 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "setsid" "ac_cv_func_setsid"
+if test "x$ac_cv_func_setsid" = xyes
+then :
+ printf "%s\n" "#define HAVE_SETSID 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "chroot" "ac_cv_func_chroot"
+if test "x$ac_cv_func_chroot" = xyes
+then :
+ printf "%s\n" "#define HAVE_CHROOT 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "kill" "ac_cv_func_kill"
+if test "x$ac_cv_func_kill" = xyes
+then :
+ printf "%s\n" "#define HAVE_KILL 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "chown" "ac_cv_func_chown"
+if test "x$ac_cv_func_chown" = xyes
+then :
+ printf "%s\n" "#define HAVE_CHOWN 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "sleep" "ac_cv_func_sleep"
+if test "x$ac_cv_func_sleep" = xyes
+then :
+ printf "%s\n" "#define HAVE_SLEEP 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "usleep" "ac_cv_func_usleep"
+if test "x$ac_cv_func_usleep" = xyes
+then :
+ printf "%s\n" "#define HAVE_USLEEP 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "random" "ac_cv_func_random"
+if test "x$ac_cv_func_random" = xyes
+then :
+ printf "%s\n" "#define HAVE_RANDOM 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "srandom" "ac_cv_func_srandom"
+if test "x$ac_cv_func_srandom" = xyes
+then :
+ printf "%s\n" "#define HAVE_SRANDOM 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "recvmsg" "ac_cv_func_recvmsg"
+if test "x$ac_cv_func_recvmsg" = xyes
+then :
+ printf "%s\n" "#define HAVE_RECVMSG 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "sendmsg" "ac_cv_func_sendmsg"
+if test "x$ac_cv_func_sendmsg" = xyes
+then :
+ printf "%s\n" "#define HAVE_SENDMSG 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "writev" "ac_cv_func_writev"
+if test "x$ac_cv_func_writev" = xyes
+then :
+ printf "%s\n" "#define HAVE_WRITEV 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "socketpair" "ac_cv_func_socketpair"
+if test "x$ac_cv_func_socketpair" = xyes
+then :
+ printf "%s\n" "#define HAVE_SOCKETPAIR 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "glob" "ac_cv_func_glob"
+if test "x$ac_cv_func_glob" = xyes
+then :
+ printf "%s\n" "#define HAVE_GLOB 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "initgroups" "ac_cv_func_initgroups"
+if test "x$ac_cv_func_initgroups" = xyes
+then :
+ printf "%s\n" "#define HAVE_INITGROUPS 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime"
+if test "x$ac_cv_func_strftime" = xyes
+then :
+ printf "%s\n" "#define HAVE_STRFTIME 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "localtime_r" "ac_cv_func_localtime_r"
+if test "x$ac_cv_func_localtime_r" = xyes
+then :
+ printf "%s\n" "#define HAVE_LOCALTIME_R 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "setusercontext" "ac_cv_func_setusercontext"
+if test "x$ac_cv_func_setusercontext" = xyes
+then :
+ printf "%s\n" "#define HAVE_SETUSERCONTEXT 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "_beginthreadex" "ac_cv_func__beginthreadex"
+if test "x$ac_cv_func__beginthreadex" = xyes
+then :
+ printf "%s\n" "#define HAVE__BEGINTHREADEX 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "endservent" "ac_cv_func_endservent"
+if test "x$ac_cv_func_endservent" = xyes
+then :
+ printf "%s\n" "#define HAVE_ENDSERVENT 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "endprotoent" "ac_cv_func_endprotoent"
+if test "x$ac_cv_func_endprotoent" = xyes
+then :
+ printf "%s\n" "#define HAVE_ENDPROTOENT 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "fsync" "ac_cv_func_fsync"
+if test "x$ac_cv_func_fsync" = xyes
+then :
+ printf "%s\n" "#define HAVE_FSYNC 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "shmget" "ac_cv_func_shmget"
+if test "x$ac_cv_func_shmget" = xyes
+then :
+ printf "%s\n" "#define HAVE_SHMGET 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "accept4" "ac_cv_func_accept4"
+if test "x$ac_cv_func_accept4" = xyes
+then :
+ printf "%s\n" "#define HAVE_ACCEPT4 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "getifaddrs" "ac_cv_func_getifaddrs"
+if test "x$ac_cv_func_getifaddrs" = xyes
+then :
+ printf "%s\n" "#define HAVE_GETIFADDRS 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "if_nametoindex" "ac_cv_func_if_nametoindex"
+if test "x$ac_cv_func_if_nametoindex" = xyes
+then :
+ printf "%s\n" "#define HAVE_IF_NAMETOINDEX 1" >>confdefs.h
+
+fi
+
-for ac_func in setresuid
+ for ac_func in setresuid
do :
ac_fn_c_check_func "$LINENO" "setresuid" "ac_cv_func_setresuid"
-if test "x$ac_cv_func_setresuid" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SETRESUID 1
-_ACEOF
+if test "x$ac_cv_func_setresuid" = xyes
+then :
+ printf "%s\n" "#define HAVE_SETRESUID 1" >>confdefs.h
-else
- for ac_func in setreuid
-do :
+else $as_nop
ac_fn_c_check_func "$LINENO" "setreuid" "ac_cv_func_setreuid"
-if test "x$ac_cv_func_setreuid" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SETREUID 1
-_ACEOF
+if test "x$ac_cv_func_setreuid" = xyes
+then :
+ printf "%s\n" "#define HAVE_SETREUID 1" >>confdefs.h
fi
-done
fi
+
done
-for ac_func in setresgid
+ for ac_func in setresgid
do :
ac_fn_c_check_func "$LINENO" "setresgid" "ac_cv_func_setresgid"
-if test "x$ac_cv_func_setresgid" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SETRESGID 1
-_ACEOF
+if test "x$ac_cv_func_setresgid" = xyes
+then :
+ printf "%s\n" "#define HAVE_SETRESGID 1" >>confdefs.h
-else
- for ac_func in setregid
-do :
+else $as_nop
ac_fn_c_check_func "$LINENO" "setregid" "ac_cv_func_setregid"
-if test "x$ac_cv_func_setregid" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SETREGID 1
-_ACEOF
+if test "x$ac_cv_func_setregid" = xyes
+then :
+ printf "%s\n" "#define HAVE_SETREGID 1" >>confdefs.h
fi
-done
fi
-done
+done
# check if setreuid en setregid fail, on MacOSX10.4(darwin8).
if echo $host_os | grep darwin8 > /dev/null; then
-$as_echo "#define DARWIN_BROKEN_SETREUID 1" >>confdefs.h
+printf "%s\n" "#define DARWIN_BROKEN_SETREUID 1" >>confdefs.h
fi
-ac_fn_c_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "
+ac_fn_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "
$ac_includes_default
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#include <ws2tcpip.h>
#endif
-"
-if test "x$ac_cv_have_decl_inet_pton" = xyes; then :
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_inet_pton" = xyes
+then :
ac_have_decl=1
-else
+else $as_nop
ac_have_decl=0
fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_INET_PTON $ac_have_decl
-_ACEOF
-ac_fn_c_check_decl "$LINENO" "inet_ntop" "ac_cv_have_decl_inet_ntop" "
+printf "%s\n" "#define HAVE_DECL_INET_PTON $ac_have_decl" >>confdefs.h
+ac_fn_check_decl "$LINENO" "inet_ntop" "ac_cv_have_decl_inet_ntop" "
$ac_includes_default
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#include <ws2tcpip.h>
#endif
-"
-if test "x$ac_cv_have_decl_inet_ntop" = xyes; then :
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_inet_ntop" = xyes
+then :
ac_have_decl=1
-else
+else $as_nop
ac_have_decl=0
fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_INET_NTOP $ac_have_decl
-_ACEOF
+printf "%s\n" "#define HAVE_DECL_INET_NTOP $ac_have_decl" >>confdefs.h
ac_fn_c_check_func "$LINENO" "inet_aton" "ac_cv_func_inet_aton"
-if test "x$ac_cv_func_inet_aton" = xyes; then :
- $as_echo "#define HAVE_INET_ATON 1" >>confdefs.h
+if test "x$ac_cv_func_inet_aton" = xyes
+then :
+ printf "%s\n" "#define HAVE_INET_ATON 1" >>confdefs.h
-else
+else $as_nop
case " $LIBOBJS " in
*" inet_aton.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS inet_aton.$ac_objext"
fi
-
ac_fn_c_check_func "$LINENO" "inet_pton" "ac_cv_func_inet_pton"
-if test "x$ac_cv_func_inet_pton" = xyes; then :
- $as_echo "#define HAVE_INET_PTON 1" >>confdefs.h
+if test "x$ac_cv_func_inet_pton" = xyes
+then :
+ printf "%s\n" "#define HAVE_INET_PTON 1" >>confdefs.h
-else
+else $as_nop
case " $LIBOBJS " in
*" inet_pton.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS inet_pton.$ac_objext"
fi
-
ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop"
-if test "x$ac_cv_func_inet_ntop" = xyes; then :
- $as_echo "#define HAVE_INET_NTOP 1" >>confdefs.h
+if test "x$ac_cv_func_inet_ntop" = xyes
+then :
+ printf "%s\n" "#define HAVE_INET_NTOP 1" >>confdefs.h
-else
+else $as_nop
case " $LIBOBJS " in
*" inet_ntop.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS inet_ntop.$ac_objext"
fi
-
ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf"
-if test "x$ac_cv_func_snprintf" = xyes; then :
- $as_echo "#define HAVE_SNPRINTF 1" >>confdefs.h
+if test "x$ac_cv_func_snprintf" = xyes
+then :
+ printf "%s\n" "#define HAVE_SNPRINTF 1" >>confdefs.h
-else
+else $as_nop
case " $LIBOBJS " in
*" snprintf.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS snprintf.$ac_objext"
fi
-
# test if snprintf return the proper length
if test "x$ac_cv_func_snprintf" = xyes; then
if test c${cross_compiling} = cno; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for correct snprintf return value" >&5
-$as_echo_n "checking for correct snprintf return value... " >&6; }
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for correct snprintf return value" >&5
+printf %s "checking for correct snprintf return value... " >&6; }
+ if test "$cross_compiling" = yes
+then :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot run test program while cross compiling
See \`config.log' for more details" "$LINENO" 5; }
-else
+else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int main(void) { return !(snprintf(NULL, 0, "test") == 4); }
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
+if ac_fn_c_try_run "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+else $as_nop
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
-$as_echo "#define SNPRINTF_RET_BROKEN /**/" >>confdefs.h
+printf "%s\n" "#define SNPRINTF_RET_BROKEN /**/" >>confdefs.h
case " $LIBOBJS " in
*" snprintf.$ac_objext "* ) ;;
fi
fi
ac_fn_c_check_func "$LINENO" "strlcat" "ac_cv_func_strlcat"
-if test "x$ac_cv_func_strlcat" = xyes; then :
- $as_echo "#define HAVE_STRLCAT 1" >>confdefs.h
+if test "x$ac_cv_func_strlcat" = xyes
+then :
+ printf "%s\n" "#define HAVE_STRLCAT 1" >>confdefs.h
-else
+else $as_nop
case " $LIBOBJS " in
*" strlcat.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS strlcat.$ac_objext"
fi
-
ac_fn_c_check_func "$LINENO" "strlcpy" "ac_cv_func_strlcpy"
-if test "x$ac_cv_func_strlcpy" = xyes; then :
- $as_echo "#define HAVE_STRLCPY 1" >>confdefs.h
+if test "x$ac_cv_func_strlcpy" = xyes
+then :
+ printf "%s\n" "#define HAVE_STRLCPY 1" >>confdefs.h
-else
+else $as_nop
case " $LIBOBJS " in
*" strlcpy.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS strlcpy.$ac_objext"
fi
-
ac_fn_c_check_func "$LINENO" "memmove" "ac_cv_func_memmove"
-if test "x$ac_cv_func_memmove" = xyes; then :
- $as_echo "#define HAVE_MEMMOVE 1" >>confdefs.h
+if test "x$ac_cv_func_memmove" = xyes
+then :
+ printf "%s\n" "#define HAVE_MEMMOVE 1" >>confdefs.h
-else
+else $as_nop
case " $LIBOBJS " in
*" memmove.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS memmove.$ac_objext"
fi
-
ac_fn_c_check_func "$LINENO" "gmtime_r" "ac_cv_func_gmtime_r"
-if test "x$ac_cv_func_gmtime_r" = xyes; then :
- $as_echo "#define HAVE_GMTIME_R 1" >>confdefs.h
+if test "x$ac_cv_func_gmtime_r" = xyes
+then :
+ printf "%s\n" "#define HAVE_GMTIME_R 1" >>confdefs.h
-else
+else $as_nop
case " $LIBOBJS " in
*" gmtime_r.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS gmtime_r.$ac_objext"
fi
-
ac_fn_c_check_func "$LINENO" "isblank" "ac_cv_func_isblank"
-if test "x$ac_cv_func_isblank" = xyes; then :
- $as_echo "#define HAVE_ISBLANK 1" >>confdefs.h
+if test "x$ac_cv_func_isblank" = xyes
+then :
+ printf "%s\n" "#define HAVE_ISBLANK 1" >>confdefs.h
-else
+else $as_nop
case " $LIBOBJS " in
*" isblank.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS isblank.$ac_objext"
fi
-
ac_fn_c_check_func "$LINENO" "explicit_bzero" "ac_cv_func_explicit_bzero"
-if test "x$ac_cv_func_explicit_bzero" = xyes; then :
- $as_echo "#define HAVE_EXPLICIT_BZERO 1" >>confdefs.h
+if test "x$ac_cv_func_explicit_bzero" = xyes
+then :
+ printf "%s\n" "#define HAVE_EXPLICIT_BZERO 1" >>confdefs.h
-else
+else $as_nop
case " $LIBOBJS " in
*" explicit_bzero.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS explicit_bzero.$ac_objext"
fi
-
LIBOBJ_WITHOUT_CTIMEARC4="$LIBOBJS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for reallocarray" >&5
-$as_echo_n "checking for reallocarray... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for reallocarray" >&5
+printf %s "checking for reallocarray... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+if ac_fn_c_try_link "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
-$as_echo "#define HAVE_REALLOCARRAY 1" >>confdefs.h
+printf "%s\n" "#define HAVE_REALLOCARRAY 1" >>confdefs.h
-else
+else $as_nop
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
case " $LIBOBJS " in
*" reallocarray.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS reallocarray.$ac_objext"
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-ac_fn_c_check_decl "$LINENO" "reallocarray" "ac_cv_have_decl_reallocarray" "$ac_includes_default"
-if test "x$ac_cv_have_decl_reallocarray" = xyes; then :
+ac_fn_check_decl "$LINENO" "reallocarray" "ac_cv_have_decl_reallocarray" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_reallocarray" = xyes
+then :
ac_have_decl=1
-else
+else $as_nop
ac_have_decl=0
fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_REALLOCARRAY $ac_have_decl
-_ACEOF
+printf "%s\n" "#define HAVE_DECL_REALLOCARRAY $ac_have_decl" >>confdefs.h
if test "$USE_NSS" = "no"; then
ac_fn_c_check_func "$LINENO" "arc4random" "ac_cv_func_arc4random"
-if test "x$ac_cv_func_arc4random" = xyes; then :
- $as_echo "#define HAVE_ARC4RANDOM 1" >>confdefs.h
+if test "x$ac_cv_func_arc4random" = xyes
+then :
+ printf "%s\n" "#define HAVE_ARC4RANDOM 1" >>confdefs.h
-else
+else $as_nop
case " $LIBOBJS " in
*" arc4random.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS arc4random.$ac_objext"
fi
-
ac_fn_c_check_func "$LINENO" "arc4random_uniform" "ac_cv_func_arc4random_uniform"
-if test "x$ac_cv_func_arc4random_uniform" = xyes; then :
- $as_echo "#define HAVE_ARC4RANDOM_UNIFORM 1" >>confdefs.h
+if test "x$ac_cv_func_arc4random_uniform" = xyes
+then :
+ printf "%s\n" "#define HAVE_ARC4RANDOM_UNIFORM 1" >>confdefs.h
-else
+else $as_nop
case " $LIBOBJS " in
*" arc4random_uniform.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS arc4random_uniform.$ac_objext"
fi
-
if test "$ac_cv_func_arc4random" = "no"; then
case " $LIBOBJS " in
*" arc4_lock.$ac_objext "* ) ;;
;;
esac
- for ac_func in getentropy
+
+ for ac_func in getentropy
do :
ac_fn_c_check_func "$LINENO" "getentropy" "ac_cv_func_getentropy"
-if test "x$ac_cv_func_getentropy" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_GETENTROPY 1
-_ACEOF
+if test "x$ac_cv_func_getentropy" = xyes
+then :
+ printf "%s\n" "#define HAVE_GETENTROPY 1" >>confdefs.h
-else
+else $as_nop
if test "$USE_WINSOCK" = 1; then
case " $LIBOBJS " in
;;
esac
- for ac_header in sys/sha2.h
+ for ac_header in sys/sha2.h
do :
ac_fn_c_check_header_compile "$LINENO" "sys/sha2.h" "ac_cv_header_sys_sha2_h" "$ac_includes_default
"
-if test "x$ac_cv_header_sys_sha2_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_SHA2_H 1
-_ACEOF
+if test "x$ac_cv_header_sys_sha2_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYS_SHA2_H 1" >>confdefs.h
-else
+else $as_nop
- for ac_func in SHA512_Update
+
+ for ac_func in SHA512_Update
do :
ac_fn_c_check_func "$LINENO" "SHA512_Update" "ac_cv_func_SHA512_Update"
-if test "x$ac_cv_func_SHA512_Update" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SHA512_UPDATE 1
-_ACEOF
+if test "x$ac_cv_func_SHA512_Update" = xyes
+then :
+ printf "%s\n" "#define HAVE_SHA512_UPDATE 1" >>confdefs.h
-else
+else $as_nop
case " $LIBOBJS " in
*" sha512.$ac_objext "* ) ;;
fi
-done
+done
fi
done
-
if test "$ac_cv_header_sys_sha2_h" = "yes"; then
# this lib needed for sha2 on solaris
LIBS="$LIBS -lmd"
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
-$as_echo_n "checking for library containing clock_gettime... " >&6; }
-if ${ac_cv_search_clock_gettime+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
+printf %s "checking for library containing clock_gettime... " >&6; }
+if test ${ac_cv_search_clock_gettime+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char clock_gettime ();
int
-main ()
+main (void)
{
return clock_gettime ();
;
return 0;
}
_ACEOF
-for ac_lib in '' rt; do
+for ac_lib in '' rt
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_search_clock_gettime=$ac_res
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if ${ac_cv_search_clock_gettime+:} false; then :
+ if test ${ac_cv_search_clock_gettime+y}
+then :
break
fi
done
-if ${ac_cv_search_clock_gettime+:} false; then :
+if test ${ac_cv_search_clock_gettime+y}
+then :
-else
+else $as_nop
ac_cv_search_clock_gettime=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
-$as_echo "$ac_cv_search_clock_gettime" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
+printf "%s\n" "$ac_cv_search_clock_gettime" >&6; }
ac_res=$ac_cv_search_clock_gettime
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
;;
esac
- for ac_func in SHA512_Update
+
+ for ac_func in SHA512_Update
do :
ac_fn_c_check_func "$LINENO" "SHA512_Update" "ac_cv_func_SHA512_Update"
-if test "x$ac_cv_func_SHA512_Update" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SHA512_UPDATE 1
-_ACEOF
+if test "x$ac_cv_func_SHA512_Update" = xyes
+then :
+ printf "%s\n" "#define HAVE_SHA512_UPDATE 1" >>confdefs.h
-else
+else $as_nop
-$as_echo "#define COMPAT_SHA512 1" >>confdefs.h
+printf "%s\n" "#define COMPAT_SHA512 1" >>confdefs.h
case " $LIBOBJS " in
*" sha512.$ac_objext "* ) ;;
fi
-done
- for ac_header in sys/sysctl.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "sys/sysctl.h" "ac_cv_header_sys_sysctl_h" "$ac_includes_default
+done
+ ac_fn_c_check_header_compile "$LINENO" "sys/sysctl.h" "ac_cv_header_sys_sysctl_h" "$ac_includes_default
"
-if test "x$ac_cv_header_sys_sysctl_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_SYSCTL_H 1
-_ACEOF
+if test "x$ac_cv_header_sys_sysctl_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYS_SYSCTL_H 1" >>confdefs.h
fi
-done
-
- for ac_func in getauxval
-do :
- ac_fn_c_check_func "$LINENO" "getauxval" "ac_cv_func_getauxval"
-if test "x$ac_cv_func_getauxval" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_GETAUXVAL 1
-_ACEOF
+ ac_fn_c_check_func "$LINENO" "getauxval" "ac_cv_func_getauxval"
+if test "x$ac_cv_func_getauxval" = xyes
+then :
+ printf "%s\n" "#define HAVE_GETAUXVAL 1" >>confdefs.h
fi
-done
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
-$as_echo_n "checking for library containing clock_gettime... " >&6; }
-if ${ac_cv_search_clock_gettime+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
+printf %s "checking for library containing clock_gettime... " >&6; }
+if test ${ac_cv_search_clock_gettime+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char clock_gettime ();
int
-main ()
+main (void)
{
return clock_gettime ();
;
return 0;
}
_ACEOF
-for ac_lib in '' rt; do
+for ac_lib in '' rt
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_search_clock_gettime=$ac_res
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if ${ac_cv_search_clock_gettime+:} false; then :
+ if test ${ac_cv_search_clock_gettime+y}
+then :
break
fi
done
-if ${ac_cv_search_clock_gettime+:} false; then :
+if test ${ac_cv_search_clock_gettime+y}
+then :
-else
+else $as_nop
ac_cv_search_clock_gettime=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
-$as_echo "$ac_cv_search_clock_gettime" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
+printf "%s\n" "$ac_cv_search_clock_gettime" >&6; }
ac_res=$ac_cv_search_clock_gettime
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
fi
fi
-done
+done
fi
fi
LIBOBJ_WITHOUT_CTIME="$LIBOBJS"
ac_fn_c_check_func "$LINENO" "ctime_r" "ac_cv_func_ctime_r"
-if test "x$ac_cv_func_ctime_r" = xyes; then :
- $as_echo "#define HAVE_CTIME_R 1" >>confdefs.h
+if test "x$ac_cv_func_ctime_r" = xyes
+then :
+ printf "%s\n" "#define HAVE_CTIME_R 1" >>confdefs.h
-else
+else $as_nop
case " $LIBOBJS " in
*" ctime_r.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS ctime_r.$ac_objext"
fi
-
ac_fn_c_check_func "$LINENO" "strsep" "ac_cv_func_strsep"
-if test "x$ac_cv_func_strsep" = xyes; then :
- $as_echo "#define HAVE_STRSEP 1" >>confdefs.h
+if test "x$ac_cv_func_strsep" = xyes
+then :
+ printf "%s\n" "#define HAVE_STRSEP 1" >>confdefs.h
-else
+else $as_nop
case " $LIBOBJS " in
*" strsep.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS strsep.$ac_objext"
fi
-
# Check whether --enable-allsymbols was given.
-if test "${enable_allsymbols+set}" = set; then :
+if test ${enable_allsymbols+y}
+then :
enableval=$enable_allsymbols;
fi
UBSYMS=""
EXTRALINK="libunbound.la"
-$as_echo "#define EXPORT_ALL_SYMBOLS 1" >>confdefs.h
+printf "%s\n" "#define EXPORT_ALL_SYMBOLS 1" >>confdefs.h
;;
no|*)
# check for dnstap if requested
# Check whether --enable-dnstap was given.
-if test "${enable_dnstap+set}" = set; then :
+if test ${enable_dnstap+y}
+then :
enableval=$enable_dnstap; opt_dnstap=$enableval
-else
+else $as_nop
opt_dnstap=no
fi
# Check whether --with-dnstap-socket-path was given.
-if test "${with_dnstap_socket_path+set}" = set; then :
+if test ${with_dnstap_socket_path+y}
+then :
withval=$with_dnstap_socket_path; opt_dnstap_socket_path=$withval
-else
+else $as_nop
opt_dnstap_socket_path="$UNBOUND_RUN_DIR/dnstap.sock"
fi
if test "x$opt_dnstap" != "xno"; then
# Extract the first word of "protoc-c", so it can be a program name with args.
set dummy protoc-c; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PROTOC_C+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_PROTOC_C+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
case $PROTOC_C in
[\\/]* | ?:[\\/]*)
ac_cv_path_PROTOC_C="$PROTOC_C" # Let the user override the test with a path.
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_PROTOC_C="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_path_PROTOC_C="$as_dir$ac_word$ac_exec_ext"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
fi
PROTOC_C=$ac_cv_path_PROTOC_C
if test -n "$PROTOC_C"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PROTOC_C" >&5
-$as_echo "$PROTOC_C" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PROTOC_C" >&5
+printf "%s\n" "$PROTOC_C" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
fi
# Check whether --with-protobuf-c was given.
-if test "${with_protobuf_c+set}" = set; then :
+if test ${with_protobuf_c+y}
+then :
withval=$with_protobuf_c;
# workaround for protobuf-c includes at old dir before protobuf-c-1.0.0
if test -f $withval/include/google/protobuf-c/protobuf-c.h; then
fi
LDFLAGS="$LDFLAGS -L$withval/lib"
-else
+else $as_nop
# workaround for protobuf-c includes at old dir before protobuf-c-1.0.0
if test -f /usr/include/google/protobuf-c/protobuf-c.h; then
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing protobuf_c_message_pack" >&5
-$as_echo_n "checking for library containing protobuf_c_message_pack... " >&6; }
-if ${ac_cv_search_protobuf_c_message_pack+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing protobuf_c_message_pack" >&5
+printf %s "checking for library containing protobuf_c_message_pack... " >&6; }
+if test ${ac_cv_search_protobuf_c_message_pack+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char protobuf_c_message_pack ();
int
-main ()
+main (void)
{
return protobuf_c_message_pack ();
;
return 0;
}
_ACEOF
-for ac_lib in '' protobuf-c; do
+for ac_lib in '' protobuf-c
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_search_protobuf_c_message_pack=$ac_res
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if ${ac_cv_search_protobuf_c_message_pack+:} false; then :
+ if test ${ac_cv_search_protobuf_c_message_pack+y}
+then :
break
fi
done
-if ${ac_cv_search_protobuf_c_message_pack+:} false; then :
+if test ${ac_cv_search_protobuf_c_message_pack+y}
+then :
-else
+else $as_nop
ac_cv_search_protobuf_c_message_pack=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_protobuf_c_message_pack" >&5
-$as_echo "$ac_cv_search_protobuf_c_message_pack" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_protobuf_c_message_pack" >&5
+printf "%s\n" "$ac_cv_search_protobuf_c_message_pack" >&6; }
ac_res=$ac_cv_search_protobuf_c_message_pack
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-else
+else $as_nop
as_fn_error $? "The protobuf-c library was not found. Please install protobuf-c!" "$LINENO" 5
fi
-$as_echo "#define USE_DNSTAP 1" >>confdefs.h
+printf "%s\n" "#define USE_DNSTAP 1" >>confdefs.h
ENABLE_DNSTAP=1
hdr_dnstap_socket_path="`echo $opt_dnstap_socket_path | sed -e 's/\\\\/\\\\\\\\/g'`"
-cat >>confdefs.h <<_ACEOF
-#define DNSTAP_SOCKET_PATH "$hdr_dnstap_socket_path"
-_ACEOF
+printf "%s\n" "#define DNSTAP_SOCKET_PATH \"$hdr_dnstap_socket_path\"" >>confdefs.h
DNSTAP_SOCKET_PATH="$hdr_dnstap_socket_path"
# check for dnscrypt if requested
# Check whether --enable-dnscrypt was given.
-if test "${enable_dnscrypt+set}" = set; then :
+if test ${enable_dnscrypt+y}
+then :
enableval=$enable_dnscrypt; opt_dnscrypt=$enableval
-else
+else $as_nop
opt_dnscrypt=no
fi
if test "x$opt_dnscrypt" != "xno"; then
# Check whether --with-libsodium was given.
-if test "${with_libsodium+set}" = set; then :
+if test ${with_libsodium+y}
+then :
withval=$with_libsodium;
CFLAGS="$CFLAGS -I$withval/include"
LDFLAGS="$LDFLAGS -L$withval/lib"
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sodium_init" >&5
-$as_echo_n "checking for library containing sodium_init... " >&6; }
-if ${ac_cv_search_sodium_init+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing sodium_init" >&5
+printf %s "checking for library containing sodium_init... " >&6; }
+if test ${ac_cv_search_sodium_init+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char sodium_init ();
int
-main ()
+main (void)
{
return sodium_init ();
;
return 0;
}
_ACEOF
-for ac_lib in '' sodium; do
+for ac_lib in '' sodium
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_search_sodium_init=$ac_res
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if ${ac_cv_search_sodium_init+:} false; then :
+ if test ${ac_cv_search_sodium_init+y}
+then :
break
fi
done
-if ${ac_cv_search_sodium_init+:} false; then :
+if test ${ac_cv_search_sodium_init+y}
+then :
-else
+else $as_nop
ac_cv_search_sodium_init=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sodium_init" >&5
-$as_echo "$ac_cv_search_sodium_init" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sodium_init" >&5
+printf "%s\n" "$ac_cv_search_sodium_init" >&6; }
ac_res=$ac_cv_search_sodium_init
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-else
+else $as_nop
as_fn_error $? "The sodium library was not found. Please install sodium!" "$LINENO" 5
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing crypto_box_curve25519xchacha20poly1305_beforenm" >&5
-$as_echo_n "checking for library containing crypto_box_curve25519xchacha20poly1305_beforenm... " >&6; }
-if ${ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing crypto_box_curve25519xchacha20poly1305_beforenm" >&5
+printf %s "checking for library containing crypto_box_curve25519xchacha20poly1305_beforenm... " >&6; }
+if test ${ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char crypto_box_curve25519xchacha20poly1305_beforenm ();
int
-main ()
+main (void)
{
return crypto_box_curve25519xchacha20poly1305_beforenm ();
;
return 0;
}
_ACEOF
-for ac_lib in '' sodium; do
+for ac_lib in '' sodium
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm=$ac_res
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if ${ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm+:} false; then :
+ if test ${ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm+y}
+then :
break
fi
done
-if ${ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm+:} false; then :
+if test ${ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm+y}
+then :
-else
+else $as_nop
ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm" >&5
-$as_echo "$ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm" >&5
+printf "%s\n" "$ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm" >&6; }
ac_res=$ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
ENABLE_DNSCRYPT_XCHACHA20=1
-$as_echo "#define USE_DNSCRYPT_XCHACHA20 1" >>confdefs.h
+printf "%s\n" "#define USE_DNSCRYPT_XCHACHA20 1" >>confdefs.h
-else
+else $as_nop
ENABLE_DNSCRYPT_XCHACHA20=0
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sodium_set_misuse_handler" >&5
-$as_echo_n "checking for library containing sodium_set_misuse_handler... " >&6; }
-if ${ac_cv_search_sodium_set_misuse_handler+:} false; then :
- $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing sodium_set_misuse_handler" >&5
+printf %s "checking for library containing sodium_set_misuse_handler... " >&6; }
+if test ${ac_cv_search_sodium_set_misuse_handler+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
char sodium_set_misuse_handler ();
int
-main ()
+main (void)
{
return sodium_set_misuse_handler ();
;
return 0;
}
_ACEOF
-for ac_lib in '' sodium; do
+for ac_lib in '' sodium
+do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- if ac_fn_c_try_link "$LINENO"; then :
+ if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_search_sodium_set_misuse_handler=$ac_res
fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
- if ${ac_cv_search_sodium_set_misuse_handler+:} false; then :
+ if test ${ac_cv_search_sodium_set_misuse_handler+y}
+then :
break
fi
done
-if ${ac_cv_search_sodium_set_misuse_handler+:} false; then :
+if test ${ac_cv_search_sodium_set_misuse_handler+y}
+then :
-else
+else $as_nop
ac_cv_search_sodium_set_misuse_handler=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sodium_set_misuse_handler" >&5
-$as_echo "$ac_cv_search_sodium_set_misuse_handler" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sodium_set_misuse_handler" >&5
+printf "%s\n" "$ac_cv_search_sodium_set_misuse_handler" >&6; }
ac_res=$ac_cv_search_sodium_set_misuse_handler
-if test "$ac_res" != no; then :
+if test "$ac_res" != no
+then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-$as_echo "#define SODIUM_MISUSE_HANDLER 1" >>confdefs.h
+printf "%s\n" "#define SODIUM_MISUSE_HANDLER 1" >>confdefs.h
fi
-$as_echo "#define USE_DNSCRYPT 1" >>confdefs.h
+printf "%s\n" "#define USE_DNSCRYPT 1" >>confdefs.h
ENABLE_DNSCRYPT=1
# check for cachedb if requested
# Check whether --enable-cachedb was given.
-if test "${enable_cachedb+set}" = set; then :
+if test ${enable_cachedb+y}
+then :
enableval=$enable_cachedb;
fi
case "$enable_cachedb" in
yes)
-$as_echo "#define USE_CACHEDB 1" >>confdefs.h
+printf "%s\n" "#define USE_CACHEDB 1" >>confdefs.h
CACHEDB_SRC="cachedb/cachedb.c cachedb/redis.c"
# check for ipsecmod if requested
# Check whether --enable-ipsecmod was given.
-if test "${enable_ipsecmod+set}" = set; then :
+if test ${enable_ipsecmod+y}
+then :
enableval=$enable_ipsecmod;
fi
case "$enable_ipsecmod" in
yes)
-$as_echo "#define USE_IPSECMOD 1" >>confdefs.h
+printf "%s\n" "#define USE_IPSECMOD 1" >>confdefs.h
IPSECMOD_OBJ="ipsecmod.lo ipsecmod-whitelist.lo"
# check for ipset if requested
# Check whether --enable-ipset was given.
-if test "${enable_ipset+set}" = set; then :
+if test ${enable_ipset+y}
+then :
enableval=$enable_ipset;
fi
case "$enable_ipset" in
yes)
-$as_echo "#define USE_IPSET 1" >>confdefs.h
+printf "%s\n" "#define USE_IPSET 1" >>confdefs.h
IPSET_SRC="ipset/ipset.c"
# mnl
# Check whether --with-libmnl was given.
-if test "${with_libmnl+set}" = set; then :
+if test ${with_libmnl+y}
+then :
withval=$with_libmnl;
-else
+else $as_nop
withval="yes"
fi
found_libmnl="no"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libmnl" >&5
-$as_echo_n "checking for libmnl... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libmnl" >&5
+printf %s "checking for libmnl... " >&6; }
if test x_$withval = x_ -o x_$withval = x_yes; then
withval="/usr/local /opt/local /usr/lib /usr/pkg /usr/sfw /usr"
fi
CPPFLAGS="$CPPFLAGS -I$dir/include"
LDFLAGS="$LDFLAGS -L$dir/lib"
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found in $dir" >&5
-$as_echo "found in $dir" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found in $dir" >&5
+printf "%s\n" "found in $dir" >&6; }
LIBS="$LIBS -lmnl"
break;
fi
;;
esac
# Check whether --enable-explicit-port-randomisation was given.
-if test "${enable_explicit_port_randomisation+set}" = set; then :
+if test ${enable_explicit_port_randomisation+y}
+then :
enableval=$enable_explicit_port_randomisation;
fi
case "$enable_explicit_port_randomisation" in
no)
-$as_echo "#define DISABLE_EXPLICIT_PORT_RANDOMISATION 1" >>confdefs.h
+printf "%s\n" "#define DISABLE_EXPLICIT_PORT_RANDOMISATION 1" >>confdefs.h
;;
yes|*)
if echo "$host" | $GREP -i -e linux >/dev/null; then
# Check whether --enable-linux-ip-local-port-range was given.
-if test "${enable_linux_ip_local_port_range+set}" = set; then :
+if test ${enable_linux_ip_local_port_range+y}
+then :
enableval=$enable_linux_ip_local_port_range;
fi
case "$enable_linux_ip_local_port_range" in
yes)
-$as_echo "#define USE_LINUX_IP_LOCAL_PORT_RANGE 1" >>confdefs.h
+printf "%s\n" "#define USE_LINUX_IP_LOCAL_PORT_RANGE 1" >>confdefs.h
;;
no|*)
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${MAKE:-make} supports $< with implicit rule in scope" >&5
-$as_echo_n "checking if ${MAKE:-make} supports $< with implicit rule in scope... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ${MAKE:-make} supports $< with implicit rule in scope" >&5
+printf %s "checking if ${MAKE:-make} supports $< with implicit rule in scope... " >&6; }
# on openBSD, the implicit rule make $< work.
# on Solaris, it does not work ($? is changed sources, $^ lists dependencies).
# gmake works.
rm -f conftest.make conftest.c conftest.dir/conftest.c
rm -rf conftest.dir
if test ! -f conftest.lo; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
SOURCEDETERMINE='echo "$^" | awk "-F " "{print \$$1;}" > .source'
SOURCEFILE='`cat .source`'
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
SOURCEDETERMINE=':'
SOURCEFILE='$<'
fi
INSTALLTARGET="install-all"
# Check whether --with-libunbound-only was given.
-if test "${with_libunbound_only+set}" = set; then :
+if test ${with_libunbound_only+y}
+then :
withval=$with_libunbound_only;
if test "$withval" = "yes"; then
ALLTARGET="lib"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Stripping extension flags..." >&5
-$as_echo "$as_me: Stripping extension flags..." >&6;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Stripping extension flags..." >&5
+printf "%s\n" "$as_me: Stripping extension flags..." >&6;}
if echo $CFLAGS | grep " -D_GNU_SOURCE" >/dev/null 2>&1; then
CFLAGS="`echo $CFLAGS | sed -e 's/ -D_GNU_SOURCE//g'`"
-$as_echo "#define OMITTED__D_GNU_SOURCE 1" >>confdefs.h
+printf "%s\n" "#define OMITTED__D_GNU_SOURCE 1" >>confdefs.h
fi
if echo $CFLAGS | grep " -D_BSD_SOURCE" >/dev/null 2>&1; then
CFLAGS="`echo $CFLAGS | sed -e 's/ -D_BSD_SOURCE//g'`"
-$as_echo "#define OMITTED__D_BSD_SOURCE 1" >>confdefs.h
+printf "%s\n" "#define OMITTED__D_BSD_SOURCE 1" >>confdefs.h
fi
if echo $CFLAGS | grep " -D_DEFAULT_SOURCE" >/dev/null 2>&1; then
CFLAGS="`echo $CFLAGS | sed -e 's/ -D_DEFAULT_SOURCE//g'`"
-$as_echo "#define OMITTED__D_DEFAULT_SOURCE 1" >>confdefs.h
+printf "%s\n" "#define OMITTED__D_DEFAULT_SOURCE 1" >>confdefs.h
fi
if echo $CFLAGS | grep " -D__EXTENSIONS__" >/dev/null 2>&1; then
CFLAGS="`echo $CFLAGS | sed -e 's/ -D__EXTENSIONS__//g'`"
-$as_echo "#define OMITTED__D__EXTENSIONS__ 1" >>confdefs.h
+printf "%s\n" "#define OMITTED__D__EXTENSIONS__ 1" >>confdefs.h
fi
if echo $CFLAGS | grep " -D_POSIX_C_SOURCE=200112" >/dev/null 2>&1; then
CFLAGS="`echo $CFLAGS | sed -e 's/ -D_POSIX_C_SOURCE=200112//g'`"
-$as_echo "#define OMITTED__D_POSIX_C_SOURCE_200112 1" >>confdefs.h
+printf "%s\n" "#define OMITTED__D_POSIX_C_SOURCE_200112 1" >>confdefs.h
fi
if echo $CFLAGS | grep " -D_XOPEN_SOURCE=600" >/dev/null 2>&1; then
CFLAGS="`echo $CFLAGS | sed -e 's/ -D_XOPEN_SOURCE=600//g'`"
-$as_echo "#define OMITTED__D_XOPEN_SOURCE_600 1" >>confdefs.h
+printf "%s\n" "#define OMITTED__D_XOPEN_SOURCE_600 1" >>confdefs.h
fi
if echo $CFLAGS | grep " -D_XOPEN_SOURCE_EXTENDED=1" >/dev/null 2>&1; then
CFLAGS="`echo $CFLAGS | sed -e 's/ -D_XOPEN_SOURCE_EXTENDED=1//g'`"
-$as_echo "#define OMITTED__D_XOPEN_SOURCE_EXTENDED_1 1" >>confdefs.h
+printf "%s\n" "#define OMITTED__D_XOPEN_SOURCE_EXTENDED_1 1" >>confdefs.h
fi
if echo $CFLAGS | grep " -D_ALL_SOURCE" >/dev/null 2>&1; then
CFLAGS="`echo $CFLAGS | sed -e 's/ -D_ALL_SOURCE//g'`"
-$as_echo "#define OMITTED__D_ALL_SOURCE 1" >>confdefs.h
+printf "%s\n" "#define OMITTED__D_ALL_SOURCE 1" >>confdefs.h
fi
if echo $CFLAGS | grep " -D_LARGEFILE_SOURCE=1" >/dev/null 2>&1; then
CFLAGS="`echo $CFLAGS | sed -e 's/ -D_LARGEFILE_SOURCE=1//g'`"
-$as_echo "#define OMITTED__D_LARGEFILE_SOURCE_1 1" >>confdefs.h
+printf "%s\n" "#define OMITTED__D_LARGEFILE_SOURCE_1 1" >>confdefs.h
fi
LIBS=`echo "$LIBS"|sed -e 's/^ *//'`
-cat >>confdefs.h <<_ACEOF
-#define MAXSYSLOGMSGLEN 10240
-_ACEOF
+printf "%s\n" "#define MAXSYSLOGMSGLEN 10240" >>confdefs.h
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
/^ac_cv_env_/b end
t clear
:clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/
t end
s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
:end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
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;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+printf "%s\n" "$as_me: updating cache $cache_file" >&6;}
if test ! -f "$cache_file" || test -h "$cache_file"; then
cat confcache >"$cache_file"
else
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;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"`
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
# will be set to the directory where LIBOBJS objects are built.
as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;}
as_write_fail=0
cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
#! $SHELL
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+as_nop=:
+if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
-else
+else $as_nop
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
fi
+
+# Reset variables that may have inherited troublesome values from
+# the environment.
+
+# IFS needs to be set, to space, tab, and newline, in precisely that order.
+# (If _AS_PATH_WALK were called with IFS unset, it would have the
+# side effect of setting IFS to empty, thus disabling word splitting.)
+# Quoting is to prevent editors from complaining about space-tab.
as_nl='
'
export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
+IFS=" "" $as_nl"
+
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# Ensure predictable behavior from utilities with locale-dependent output.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# We cannot yet rely on "unset" to work, but we need these variables
+# to be unset--not just set to an empty or harmless value--now, to
+# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
+# also avoids known problems related to "unset" and subshell syntax
+# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
+for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+do eval test \${$as_var+y} \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+
+# Ensure that fds 0, 1, and 2 are open.
+if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
+if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
+if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
+if ${PATH_SEPARATOR+false} :; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
fi
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
# Find who we are. Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ test -r "$as_dir$0" && as_myself=$as_dir$0 && break
done
IFS=$as_save_IFS
as_myself=$0
fi
if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
# as_fn_error STATUS ERROR [LINENO LOG_FD]
as_status=$1; test $as_status -eq 0 && as_status=1
if test "$4"; then
as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
- $as_echo "$as_me: error: $2" >&2
+ printf "%s\n" "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
+
# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
{ eval $1=; unset $1;}
}
as_unset=as_fn_unset
+
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
+then :
eval 'as_fn_append ()
{
eval $1+=\$2
}'
-else
+else $as_nop
as_fn_append ()
{
eval $1=\$$1\$2
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
+then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
}'
-else
+else $as_nop
as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
+printf "%s\n" X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# Determine whether it's possible to make 'echo' print without a newline.
+# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
+# for compatibility with existing Makefiles.
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
ECHO_N='-n';;
esac
+# For backward compatibility with old third-party macros, we provide
+# the shell variables $as_echo and $as_echo_n. New code should use
+# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
+as_echo='printf %s\n'
+as_echo_n='printf %s'
+
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
as_dirs=
while :; do
case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
+printf "%s\n" X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
Report bugs to <unbound-bugs@nlnetlabs.nl or https://github.com/NLnetLabs/unbound/issues>."
_ACEOF
+ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
+ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"`
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
unbound config.status 1.15.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2021 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
+ printf "%s\n" "$ac_cs_version"; exit ;;
--config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
+ printf "%s\n" "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
'') as_fn_error $? "missing file argument" ;;
esac
as_fn_append CONFIG_FILES " '$ac_optarg'"
--header | --heade | --head | --hea )
$ac_shift
case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
as_fn_append CONFIG_HEADERS " '$ac_optarg'"
ac_need_defaults=false;;
as_fn_error $? "ambiguous option: \`$1'
Try \`$0 --help' for more information.";;
--help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
+ printf "%s\n" "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
if \$ac_cs_recheck; then
set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
export CONFIG_SHELL
exec "\$@"
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
- $as_echo "$ac_log"
+ printf "%s\n" "$ac_log"
} >&5
_ACEOF
# We use the long form for the default assignment because of an extremely
# bizarre bug on SunOS 4.1.3.
if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+ test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files
+ test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers
+ test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands
fi
# Have a temporary directory for convenience. Make it in the build tree
esac ||
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
+ case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
done
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
`' by configure.'
if test x"$ac_file" != x-; then
configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+printf "%s\n" "$as_me: creating $ac_file" >&6;}
fi
# Neutralize special characters interpreted by sed in replacement strings.
case $configure_input in #(
*\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
+ ac_sed_conf_input=`printf "%s\n" "$configure_input" |
sed 's/[\\\\&|]/\\\\&/g'`;; #(
*) ac_sed_conf_input=$configure_input;;
esac
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
+printf "%s\n" X"$ac_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_datarootdir_hack='
{ 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'
+ { printf "%s\n" "$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'
+printf "%s\n" "$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 "$ac_tmp/stdin"
#
if test x"$ac_file" != x-; then
{
- $as_echo "/* $configure_input */" \
+ printf "%s\n" "/* $configure_input */" >&1 \
&& 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;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+printf "%s\n" "$as_me: $ac_file is unchanged" >&6;}
else
rm -f "$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 */" \
+ printf "%s\n" "/* $configure_input */" >&1 \
&& eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
|| as_fn_error $? "could not create -" "$LINENO" 5
fi
;;
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
+ :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+printf "%s\n" "$as_me: executing $ac_file commands" >&6;}
;;
esac
esac
+
ltmain=$ac_aux_dir/ltmain.sh
$ac_cs_success || as_fn_exit 1
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
+
msg->rep, LDNS_RCODE_SERVFAIL, edns, repinfo, worker->scratchpad,
worker->env.now_tv))
return 0;
+ /* TODO store the reason for the bogus reply in cache
+ * and implement in here instead of the hardcoded EDE */
+ if (worker->env.cfg->ede) {
+ EDNS_OPT_LIST_APPEND_EDE(&edns->opt_list_out,
+ worker->scratchpad, LDNS_EDE_DNSSEC_BOGUS, "");
+ }
error_encode(repinfo->c->buffer, LDNS_RCODE_SERVFAIL,
&msg->qinfo, id, flags, edns);
if(worker->stats.extended) {
LDNS_RCODE_SERVFAIL, edns, repinfo, worker->scratchpad,
worker->env.now_tv))
goto bail_out;
+ /* TODO store the reason for the bogus reply in cache
+ * and implement in here instead of the hardcoded EDE */
+ if (worker->env.cfg->ede) {
+ EDNS_OPT_LIST_APPEND_EDE(&edns->opt_list_out,
+ worker->scratchpad, LDNS_EDE_DNSSEC_BOGUS, "");
+ }
error_encode(repinfo->c->buffer, LDNS_RCODE_SERVFAIL,
qinfo, id, flags, edns);
rrset_array_unlock_touch(worker->env.rrset_cache,
if(!*partial_repp)
goto bail_out;
}
- } else if(!reply_info_answer_encode(qinfo, encode_rep, id, flags,
- repinfo->c->buffer, timenow, 1, worker->scratchpad,
- udpsize, edns, (int)(edns->bits & EDNS_DO), *is_secure_answer)) {
- if(!inplace_cb_reply_servfail_call(&worker->env, qinfo, NULL, NULL,
- LDNS_RCODE_SERVFAIL, edns, repinfo, worker->scratchpad,
- worker->env.now_tv))
- edns->opt_list_inplace_cb_out = NULL;
- error_encode(repinfo->c->buffer, LDNS_RCODE_SERVFAIL,
- qinfo, id, flags, edns);
+ } else {
+ /* We don't check the global ede as this is a warning, not
+ * an error */
+ if (*is_expired_answer == 1 &&
+ worker->env.cfg->ede_serve_expired && worker->env.cfg->ede) {
+ EDNS_OPT_LIST_APPEND_EDE(&edns->opt_list_out,
+ worker->scratchpad, LDNS_EDE_STALE_ANSWER, "");
+ }
+ if(!reply_info_answer_encode(qinfo, encode_rep, id, flags,
+ repinfo->c->buffer, timenow, 1, worker->scratchpad,
+ udpsize, edns, (int)(edns->bits & EDNS_DO),
+ *is_secure_answer)) {
+ if(!inplace_cb_reply_servfail_call(&worker->env, qinfo,
+ NULL, NULL, LDNS_RCODE_SERVFAIL, edns, repinfo,
+ worker->scratchpad, worker->env.now_tv))
+ edns->opt_list_inplace_cb_out = NULL;
+ error_encode(repinfo->c->buffer, LDNS_RCODE_SERVFAIL,
+ qinfo, id, flags, edns);
+ }
}
/* cannot send the reply right now, because blocking network syscall
* is bad while holding locks. */
deny_refuse(struct comm_point* c, enum acl_access acl,
enum acl_access deny, enum acl_access refuse,
struct worker* worker, struct comm_reply* repinfo,
- struct acl_addr* acladdr)
+ struct acl_addr* acladdr, int ede)
{
if(acl == deny) {
if(verbosity >= VERB_ALGO) {
worker->stats.unwanted_queries++;
return 0;
} else if(acl == refuse) {
+ size_t opt_rr_mark;
+
if(verbosity >= VERB_ALGO) {
log_acl_action("refused", &repinfo->addr,
repinfo->addrlen, acl, acladdr);
log_buf(VERB_ALGO, "refuse", c->buffer);
}
+
if(worker->stats.extended)
worker->stats.unwanted_queries++;
if(worker_check_request(c->buffer, worker) == -1) {
comm_point_drop_reply(repinfo);
return 0; /* discard this */
}
- sldns_buffer_set_limit(c->buffer, LDNS_HEADER_SIZE);
- sldns_buffer_write_at(c->buffer, 4,
- (uint8_t*)"\0\0\0\0\0\0\0\0", 8);
+ /* worker_check_request() above guarantees that the buffer contains at
+ * least a header and that qdcount == 1
+ */
+ log_assert(sldns_buffer_limit(c->buffer) >= LDNS_HEADER_SIZE
+ && LDNS_QDCOUNT(sldns_buffer_begin(c->buffer)) == 1);
+
+ sldns_buffer_skip(c->buffer, LDNS_HEADER_SIZE); /* skip header */
+
+ /* check additional section is present and that we respond with EDEs */
+ if(LDNS_ARCOUNT(sldns_buffer_begin(c->buffer)) != 1
+ || !ede) {
+ LDNS_QDCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_ANCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_NSCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_ARCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_QR_SET(sldns_buffer_begin(c->buffer));
+ LDNS_RCODE_SET(sldns_buffer_begin(c->buffer),
+ LDNS_RCODE_REFUSED);
+ sldns_buffer_flip(c->buffer);
+ return 1;
+ }
+
+ if (!query_dname_len(c->buffer)) {
+ LDNS_QDCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_ANCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_NSCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_ARCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_QR_SET(sldns_buffer_begin(c->buffer));
+ LDNS_RCODE_SET(sldns_buffer_begin(c->buffer),
+ LDNS_RCODE_FORMERR);
+ sldns_buffer_set_position(c->buffer, LDNS_HEADER_SIZE);
+ sldns_buffer_flip(c->buffer);
+ return 1;
+ }
+ /* space available for query type and class? */
+ if (sldns_buffer_remaining(c->buffer) < 2 * sizeof(uint16_t)) {
+ LDNS_QR_SET(sldns_buffer_begin(c->buffer));
+ LDNS_RCODE_SET(sldns_buffer_begin(c->buffer),
+ LDNS_RCODE_FORMERR);
+ LDNS_QDCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_ANCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_NSCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_ARCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ sldns_buffer_set_position(c->buffer, LDNS_HEADER_SIZE);
+ sldns_buffer_flip(c->buffer);
+ return 1;
+ }
LDNS_QR_SET(sldns_buffer_begin(c->buffer));
LDNS_RCODE_SET(sldns_buffer_begin(c->buffer),
LDNS_RCODE_REFUSED);
- sldns_buffer_set_position(c->buffer, LDNS_HEADER_SIZE);
+
+ sldns_buffer_skip(c->buffer, (ssize_t)sizeof(uint16_t)); /* skip qtype */
+
+ sldns_buffer_skip(c->buffer, (ssize_t)sizeof(uint16_t)); /* skip qclass */
+
+ /* The OPT RR to be returned should come directly after
+ * the query, so mark this spot.
+ */
+ opt_rr_mark = sldns_buffer_position(c->buffer);
+
+ /* Skip through the RR records */
+ if(LDNS_ANCOUNT(sldns_buffer_begin(c->buffer)) != 0 ||
+ LDNS_NSCOUNT(sldns_buffer_begin(c->buffer)) != 0) {
+ if(!skip_pkt_rrs(c->buffer,
+ ((int)LDNS_ANCOUNT(sldns_buffer_begin(c->buffer)))+
+ ((int)LDNS_NSCOUNT(sldns_buffer_begin(c->buffer))))) {
+ LDNS_RCODE_SET(sldns_buffer_begin(c->buffer),
+ LDNS_RCODE_FORMERR);
+ LDNS_ANCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_NSCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_ARCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ sldns_buffer_set_position(c->buffer, opt_rr_mark);
+ sldns_buffer_flip(c->buffer);
+ return 1;
+ }
+ }
+ /* Do we have a valid OPT RR here? If not return REFUSED (could be a valid TSIG or something so no FORMERR) */
+ /* domain name must be the root of length 1. */
+ if(sldns_buffer_remaining(c->buffer) < 1 || *sldns_buffer_current(c->buffer) != 0) {
+ LDNS_ANCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_NSCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_ARCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ sldns_buffer_set_position(c->buffer, opt_rr_mark);
+ sldns_buffer_flip(c->buffer);
+ return 1;
+ } else {
+ sldns_buffer_skip(c->buffer, 1); /* skip root label */
+ }
+ if(sldns_buffer_remaining(c->buffer) < 2 ||
+ sldns_buffer_read_u16(c->buffer) != LDNS_RR_TYPE_OPT) {
+ LDNS_ANCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_NSCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_ARCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ sldns_buffer_set_position(c->buffer, opt_rr_mark);
+ sldns_buffer_flip(c->buffer);
+ return 1;
+ }
+ /* Write OPT RR directly after the query,
+ * so without the (possibly skipped) Answer and NS RRs
+ */
+ LDNS_ANCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ LDNS_NSCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ sldns_buffer_clear(c->buffer); /* reset write limit */
+ sldns_buffer_set_position(c->buffer, opt_rr_mark);
+
+ /* Check if OPT record can be written
+ * 17 == root label (1) + RR type (2) + UDP Size (2)
+ * + Fields (4) + rdata len (2) + EDE Option code (2)
+ * + EDE Option length (2) + EDE info-code (2)
+ */
+ if (sldns_buffer_available(c->buffer, 17) == 0) {
+ LDNS_ARCOUNT_SET(sldns_buffer_begin(c->buffer), 0);
+ sldns_buffer_flip(c->buffer);
+ return 1;
+ }
+
+ LDNS_ARCOUNT_SET(sldns_buffer_begin(c->buffer), 1);
+
+ /* root label */
+ sldns_buffer_write_u8(c->buffer, 0);
+ sldns_buffer_write_u16(c->buffer, LDNS_RR_TYPE_OPT);
+ sldns_buffer_write_u16(c->buffer, EDNS_ADVERTISED_SIZE);
+
+ /* write OPT Record TTL Field */
+ sldns_buffer_write_u32(c->buffer, 0);
+
+ /* write rdata len: EDE option + length + info-code */
+ sldns_buffer_write_u16(c->buffer, 6);
+
+ /* write OPTIONS; add EDE option code */
+ sldns_buffer_write_u16(c->buffer, LDNS_EDNS_EDE);
+
+ /* write single EDE option length (for just 1 info-code) */
+ sldns_buffer_write_u16(c->buffer, 2);
+
+ /* write single EDE info-code */
+ sldns_buffer_write_u16(c->buffer, LDNS_EDE_PROHIBITED);
+
sldns_buffer_flip(c->buffer);
+
+ verbose(VERB_ALGO, "attached EDE code: %d", LDNS_EDE_PROHIBITED);
+
return 1;
+
}
return -1;
static int
deny_refuse_all(struct comm_point* c, enum acl_access acl,
struct worker* worker, struct comm_reply* repinfo,
- struct acl_addr* acladdr)
+ struct acl_addr* acladdr, int ede)
{
return deny_refuse(c, acl, acl_deny, acl_refuse, worker, repinfo,
- acladdr);
+ acladdr, ede);
}
static int
deny_refuse_non_local(struct comm_point* c, enum acl_access acl,
struct worker* worker, struct comm_reply* repinfo,
- struct acl_addr* acladdr)
+ struct acl_addr* acladdr, int ede)
{
return deny_refuse(c, acl, acl_deny_non_local, acl_refuse_non_local,
- worker, repinfo, acladdr);
+ worker, repinfo, acladdr, ede);
}
int
acladdr = acl_addr_lookup(worker->daemon->acl, &repinfo->addr,
repinfo->addrlen);
acl = acl_get_control(acladdr);
- if((ret=deny_refuse_all(c, acl, worker, repinfo, acladdr)) != -1)
+
+ if((ret=deny_refuse_all(c, acl, worker, repinfo, acladdr,
+ worker->env.cfg->ede)) != -1)
{
if(ret == 1)
goto send_reply;
/* We've looked in our local zones. If the answer isn't there, we
* might need to bail out based on ACLs now. */
- if((ret=deny_refuse_non_local(c, acl, worker, repinfo, acladdr)) != -1)
+ if((ret=deny_refuse_non_local(c, acl, worker, repinfo, acladdr,
+ worker->env.cfg->ede)) != -1)
{
regional_free_all(worker->scratchpad);
if(ret == 1)
* ACLs allow the snooping. */
if(!(LDNS_RD_WIRE(sldns_buffer_begin(c->buffer))) &&
acl != acl_allow_snoop ) {
+ if (worker->env.cfg->ede) {
+ EDNS_OPT_LIST_APPEND_EDE(&edns.opt_list_out,
+ worker->scratchpad, LDNS_EDE_NOT_AUTHORITATIVE, "");
+ }
error_encode(c->buffer, LDNS_RCODE_REFUSED, &qinfo,
*(uint16_t*)(void *)sldns_buffer_begin(c->buffer),
- sldns_buffer_read_u16_at(c->buffer, 2), NULL);
+ sldns_buffer_read_u16_at(c->buffer, 2), &edns);
regional_free_all(worker->scratchpad);
log_addr(VERB_ALGO, "refused nonrec (cache snoop) query from",
&repinfo->addr, repinfo->addrlen);
+
goto send_reply;
}
< *worker->env.now)
leeway = 0;
lock_rw_unlock(&e->lock);
+
reply_and_prefetch(worker, lookup_qinfo,
sldns_buffer_read_u16_at(c->buffer, 2),
repinfo, leeway,
verbose(VERB_ALGO, "answer from the cache failed");
lock_rw_unlock(&e->lock);
}
+
if(!LDNS_RD_WIRE(sldns_buffer_begin(c->buffer))) {
if(answer_norec_from_cache(worker, &qinfo,
*(uint16_t*)(void *)sldns_buffer_begin(c->buffer),
# the number of servers that will be used in the fast server selection.
# fast-server-num: 3
+ # Enable to attach Extended DNS Error codes (RFC8914) to responses.
+ # ede: no
+
+ # Enable to attach an Extended DNS Error (RFC8914) Code 3 - Stale
+ # Answer as EDNS0 option to expired responses.
+ # Note that the ede option above needs to be enabled for this to work.
+ # ede-serve-expired: no
+
# Specific options for ipsecmod. Unbound needs to be configured with
# --enable-ipsecmod for these to take effect.
#
EDNS0 option code for the \fIedns\-client\-string\fR option, from 0 to 65535.
A value from the `Reserved for Local/Experimental` range (65001-65534) should
be used. Default is 65001.
+.TP 5
+.B ede: \fI<yes or no>
+If enabled, Unbound will respond with Extended DNS Error codes (RFC8914).
+These EDEs attach informative error messages to a response for various
+errors. Default is "no".
+
+When the \fBval-log-level\fR option is also set to \fB2\fR, responses with
+Extended DNS Errors concerning DNSSEC failures that are not served from cache,
+will also contain a descriptive text message about the reason for the failure.
+.TP
+.B ede\-serve\-expired: \fI<yes or no>
+If enabled, Unbound will attach an Extended DNS Error (RFC8914) Code 3 - Stale
+Answer as EDNS0 option to the expired response. Note that this will not attach
+the EDE code without setting the global \fBede\fR option to "yes" as well.
+Default is "no".
.SS "Remote Control Options"
In the
.B remote\-control:
return NULL;
msg->rep->flags = (uint16_t)(BIT_QR | BIT_AA);
msg->rep->authoritative = 1;
+ msg->rep->reason_bogus = LDNS_EDE_NONE;
msg->rep->qdcount = 1;
/* rrsets is NULL, no rrsets yet */
return msg;
auth_zone_log(z->name, VERB_ALGO,
"zonemd: verify %s RRset with DNSKEY", typestr);
}
- sec = dnskeyset_verify_rrset(env, ve, &pk, dnskey, sigalg, why_bogus,
+ sec = dnskeyset_verify_rrset(env, ve, &pk, dnskey, sigalg, why_bogus, NULL,
LDNS_SECTION_ANSWER, NULL);
if(sec == sec_status_secure) {
return 1;
auth_zone_log(z->name, VERB_QUERY,
"zonemd: verify DNSKEY RRset with trust anchor");
sec = val_verify_DNSKEY_with_TA(env, ve, keystorage, anchor->ds_rrset,
- anchor->dnskey_rrset, NULL, why_bogus, NULL);
+ anchor->dnskey_rrset, NULL, why_bogus, NULL, NULL);
regional_free_all(env->scratch);
if(sec == sec_status_secure) {
/* success */
keystorage->rk.type = htons(LDNS_RR_TYPE_DNSKEY);
keystorage->rk.rrset_class = htons(z->dclass);
auth_zone_log(z->name, VERB_QUERY, "zonemd: verify zone DNSKEY with DS");
+ // @TODO add EDE here? we currently just pass NULL
sec = val_verify_DNSKEY_with_DS(env, ve, keystorage, ds, sigalg,
- why_bogus, NULL);
+ why_bogus, NULL, NULL);
regional_free_all(env->scratch);
if(sec == sec_status_secure) {
/* success */
return NULL; /* integer overflow protection */
msg->rep->flags = BIT_QR; /* with QR, no AA */
msg->rep->qdcount = 1;
+ msg->rep->reason_bogus = LDNS_EDE_NONE;
msg->rep->rrsets = (struct ub_packed_rrset_key**)
regional_alloc(region,
capacity*sizeof(struct ub_packed_rrset_key*));
sizeof(struct reply_info) - sizeof(struct rrset_ref));
if(!msg->rep)
return NULL;
+ msg->rep->reason_bogus = LDNS_EDE_NONE;
if(num > RR_COUNT_MAX)
return NULL; /* integer overflow protection */
msg->rep->rrsets = (struct ub_packed_rrset_key**)
msg->rep->ar_numrrsets = r->ar_numrrsets;
msg->rep->rrset_count = r->rrset_count;
msg->rep->authoritative = r->authoritative;
+ msg->rep->reason_bogus = r->reason_bogus;
if(!rrset_array_lock(r->ref, r->rrset_count, now_control)) {
return NULL;
}
msg->rep->ns_numrrsets = 0;
msg->rep->ar_numrrsets = 0;
msg->rep->rrset_count = 1;
+ msg->rep->reason_bogus = LDNS_EDE_NONE;
msg->rep->rrsets[0] = packed_rrset_copy_region(rrset, region, now);
if(!msg->rep->rrsets[0]) /* copy CNAME */
return NULL;
msg->rep->ns_numrrsets = 0;
msg->rep->ar_numrrsets = 0;
msg->rep->rrset_count = 1;
+ msg->rep->reason_bogus = LDNS_EDE_NONE;
msg->rep->rrsets[0] = packed_rrset_copy_region(rrset, region, now);
if(!msg->rep->rrsets[0]) /* copy DNAME */
return NULL;
static void
local_error_encode(struct query_info* qinfo, struct module_env* env,
struct edns_data* edns, struct comm_reply* repinfo, sldns_buffer* buf,
- struct regional* temp, int rcode, int r)
+ struct regional* temp, int rcode, int r, int ede_code,
+ const char* ede_txt)
{
edns->edns_version = EDNS_ADVERTISED_VERSION;
edns->udp_size = EDNS_ADVERTISED_SIZE;
if(!inplace_cb_reply_local_call(env, qinfo, NULL, NULL,
rcode, edns, repinfo, temp, env->now_tv))
edns->opt_list_inplace_cb_out = NULL;
+
+ if(ede_code != LDNS_EDE_NONE && env->cfg->ede) {
+ edns_opt_list_append_ede(&edns->opt_list_out, temp,
+ ede_code, ede_txt);
+ }
+
error_encode(buf, r, qinfo, *(uint16_t*)sldns_buffer_begin(buf),
sldns_buffer_read_u16_at(buf, 2), edns);
}
qinfo->local_alias = NULL;
local_error_encode(qinfo, env, edns, repinfo,
buf, temp, LDNS_RCODE_YXDOMAIN,
- (LDNS_RCODE_YXDOMAIN|BIT_AA));
+ (LDNS_RCODE_YXDOMAIN|BIT_AA),
+ LDNS_EDE_OTHER,
+ "DNAME expansion became too large");
return 1;
}
memset(&qinfo->local_alias->rrset->entry, 0,
} else if(lz_type == local_zone_refuse
|| lz_type == local_zone_always_refuse) {
local_error_encode(qinfo, env, edns, repinfo, buf, temp,
- LDNS_RCODE_REFUSED, (LDNS_RCODE_REFUSED|BIT_AA));
+ LDNS_RCODE_REFUSED, (LDNS_RCODE_REFUSED|BIT_AA),
+ LDNS_EDE_NONE, NULL);
return 1;
} else if(lz_type == local_zone_static ||
lz_type == local_zone_redirect ||
if(z != NULL && z->soa && z->soa_negative)
return local_encode(qinfo, env, edns, repinfo, buf, temp,
z->soa_negative, 0, rcode);
- local_error_encode(qinfo, env, edns, repinfo, buf, temp, rcode,
- (rcode|BIT_AA));
+ local_error_encode(qinfo, env, edns, repinfo, buf, temp,
+ rcode, (rcode|BIT_AA), LDNS_EDE_NONE, NULL);
return 1;
} else if(lz_type == local_zone_typetransparent
|| lz_type == local_zone_always_transparent) {
return local_encode(qinfo, env, edns, repinfo, buf, temp,
&lrr, 1, LDNS_RCODE_NOERROR);
} else {
+ /* NODATA: No EDE needed */
local_error_encode(qinfo, env, edns, repinfo, buf,
temp, LDNS_RCODE_NOERROR,
- (LDNS_RCODE_NOERROR|BIT_AA));
+ (LDNS_RCODE_NOERROR|BIT_AA), -1, NULL);
}
return 1;
}
if(z != NULL && z->soa && z->soa_negative)
return local_encode(qinfo, env, edns, repinfo, buf, temp,
z->soa_negative, 0, rcode);
+ /* NODATA: No EDE needed */
local_error_encode(qinfo, env, edns, repinfo, buf, temp, rcode,
- (rcode|BIT_AA));
+ (rcode|BIT_AA), LDNS_EDE_NONE, NULL);
return 1;
}
(rep->security <= sec_status_bogus ||
rep->security == sec_status_secure_sentinel_fail)) {
rcode = LDNS_RCODE_SERVFAIL;
- if(m->s.env->cfg->stat_extended)
+ if(m->s.env->cfg->stat_extended)
m->s.env->mesh->ans_bogus++;
}
if(rep && rep->security == sec_status_secure)
&r->edns, &r->query_reply, m->s.region, &r->start_time))
r->edns.opt_list_inplace_cb_out = NULL;
}
+ /* Send along EDE BOGUS EDNS0 option when answer is bogus */
+ if(m->s.env->cfg->ede && rcode == LDNS_RCODE_SERVFAIL &&
+ m->s.env->need_to_validate && (!(r->qflags&BIT_CD) ||
+ m->s.env->cfg->ignore_cd) && rep &&
+ (rep->security <= sec_status_bogus ||
+ rep->security == sec_status_secure_sentinel_fail)) {
+ char *reason = m->s.env->cfg->val_log_level >= 2
+ ? errinf_to_str_bogus(&m->s) : NULL;
+
+ /* During validation the EDE code can be received via two
+ * code paths. One code path fills the reply_info EDE, and
+ * the other fills it in the errinf_strlist. These paths
+ * intersect at some points, but where is opaque due to
+ * the complexity of the validator. At the time of writing
+ * we make the choice to prefer the EDE from errinf_strlist
+ * but a compelling reason to do otherwise is just as valid
+ */
+ sldns_ede_code reason_bogus = errinf_to_reason_bogus(&m->s);
+ if ((reason_bogus == LDNS_EDE_DNSSEC_BOGUS &&
+ rep->reason_bogus != LDNS_EDE_NONE) ||
+ reason_bogus == LDNS_EDE_NONE) {
+ reason_bogus = rep->reason_bogus;
+ }
+
+ if(reason_bogus != LDNS_EDE_NONE) {
+ edns_opt_list_append_ede(&r->edns.opt_list_out,
+ m->s.region, reason_bogus, reason);
+ }
+ free(reason);
+ }
error_encode(r_buffer, rcode, &m->s.qinfo, r->qid,
r->qflags, &r->edns);
m->reply_list = NULL;
if(!inplace_cb_reply_servfail_call(m->s.env, &m->s.qinfo, &m->s,
rep, LDNS_RCODE_SERVFAIL, &r->edns, &r->query_reply, m->s.region, &r->start_time))
r->edns.opt_list_inplace_cb_out = NULL;
+ /* internal server error (probably malloc failure) so no
+ * EDE (RFC8914) needed */
error_encode(r_buffer, LDNS_RCODE_SERVFAIL,
&m->s.qinfo, r->qid, r->qflags, &r->edns);
}
}
}
+ /* Add EDE Stale Answer (RCF8914). Ignore global ede as this is
+ * warning instead of an error */
+ if (r->edns.edns_present && qstate->env->cfg->ede_serve_expired &&
+ qstate->env->cfg->ede) {
+ edns_opt_list_append_ede(&r->edns.opt_list_out,
+ mstate->s.region, LDNS_EDE_STALE_ANSWER, NULL);
+ }
+
r_buffer = r->query_reply.c->buffer;
if(r->query_reply.c->tcp_req_info)
r_buffer = r->query_reply.c->tcp_req_info->spool_buffer;
#define QDCOUNT(wirebuf) (ntohs(*(uint16_t *)(wirebuf+QDCOUNT_OFF)))
*/
#define LDNS_QDCOUNT(wirebuf) (sldns_read_uint16(wirebuf+LDNS_QDCOUNT_OFF))
+#define LDNS_QDCOUNT_SET(wirebuf, i) (sldns_write_uint16(wirebuf+LDNS_QDCOUNT_OFF, i))
/* Counter of the answer section */
#define LDNS_ANCOUNT_OFF 6
#define LDNS_ANCOUNT(wirebuf) (sldns_read_uint16(wirebuf+LDNS_ANCOUNT_OFF))
+#define LDNS_ANCOUNT_SET(wirebuf, i) (sldns_write_uint16(wirebuf+LDNS_ANCOUNT_OFF, i))
/* Counter of the authority section */
#define LDNS_NSCOUNT_OFF 8
#define LDNS_NSCOUNT(wirebuf) (sldns_read_uint16(wirebuf+LDNS_NSCOUNT_OFF))
+#define LDNS_NSCOUNT_SET(wirebuf, i) (sldns_write_uint16(wirebuf+LDNS_NSCOUNT_OFF, i))
/* Counter of the additional section */
#define LDNS_ARCOUNT_OFF 10
#define LDNS_ARCOUNT(wirebuf) (sldns_read_uint16(wirebuf+LDNS_ARCOUNT_OFF))
+#define LDNS_ARCOUNT_SET(wirebuf, i) (sldns_write_uint16(wirebuf+LDNS_ARCOUNT_OFF, i))
/**
* The sections of a packet
LDNS_EDNS_CLIENT_SUBNET = 8, /* RFC7871 */
LDNS_EDNS_KEEPALIVE = 11, /* draft-ietf-dnsop-edns-tcp-keepalive*/
LDNS_EDNS_PADDING = 12, /* RFC7830 */
+ LDNS_EDNS_EDE = 15, /* RFC8914 */
LDNS_EDNS_CLIENT_TAG = 16 /* draft-bellis-dnsop-edns-tags-01 */
};
typedef enum sldns_enum_edns_option sldns_edns_option;
+enum sldns_enum_ede_code
+{
+ LDNS_EDE_NONE = -1, /* EDE undefined for internal use */
+ LDNS_EDE_OTHER = 0,
+ LDNS_EDE_UNSUPPORTED_DNSKEY_ALG = 1,
+ LDNS_EDE_UNSUPPORTED_DS_DIGEST = 2,
+ LDNS_EDE_STALE_ANSWER = 3,
+ LDNS_EDE_FORGED_ANSWER = 4,
+ LDNS_EDE_DNSSEC_INDETERMINATE = 5,
+ LDNS_EDE_DNSSEC_BOGUS = 6,
+ LDNS_EDE_SIGNATURE_EXPIRED = 7,
+ LDNS_EDE_SIGNATURE_NOT_YET_VALID = 8,
+ LDNS_EDE_DNSKEY_MISSING = 9,
+ LDNS_EDE_RRSIGS_MISSING = 10,
+ LDNS_EDE_NO_ZONE_KEY_BIT_SET = 11,
+ LDNS_EDE_NSEC_MISSING = 12,
+ LDNS_EDE_CACHED_ERROR = 13,
+ LDNS_EDE_NOT_READY = 14,
+ LDNS_EDE_BLOCKED = 15,
+ LDNS_EDE_CENSORED = 16,
+ LDNS_EDE_FILTERED = 17,
+ LDNS_EDE_PROHIBITED = 18,
+ LDNS_EDE_STALE_NXDOMAIN_ANSWER = 19,
+ LDNS_EDE_NOT_AUTHORITATIVE = 20,
+ LDNS_EDE_NOT_SUPPORTED = 21,
+ LDNS_EDE_NO_REACHABLE_AUTHORITY = 22,
+ LDNS_EDE_NETWORK_ERROR = 23,
+ LDNS_EDE_INVALID_DATA = 24,
+};
+typedef enum sldns_enum_ede_code sldns_ede_code;
+
#define LDNS_EDNS_MASK_DO_BIT 0x8000
/** TSIG and TKEY extended rcodes (16bit), 0-15 are the normal rcodes. */
{ 8, "edns-client-subnet" },
{ 11, "edns-tcp-keepalive"},
{ 12, "Padding" },
+ { 15, "EDE"},
{ 0, NULL}
};
sldns_lookup_table* sldns_edns_options = sldns_edns_options_data;
e->match_answer = 1;
} else if(str_keyword(&parse, "subdomain")) {
e->match_subdomain = 1;
+ } else if(str_keyword(&parse, "all_noedns")) {
+ e->match_all_noedns = 1;
} else if(str_keyword(&parse, "all")) {
e->match_all = 1;
} else if(str_keyword(&parse, "ttl")) {
error("expected = or : in MATCH: %s", line);
parse++;
e->ixfr_soa_serial = (uint32_t)strtol(parse, (char**)&parse, 10);
- while(isspace((unsigned char)*parse))
+ while(isspace((unsigned char)*parse))
+ parse++;
+ } else if(str_keyword(&parse, "ede")) {
+ e->match_ede = 1;
+ if(*parse != '=' && *parse != ':')
+ error("expected = or : in MATCH: %s", line);
+ parse++;
+ while(isspace((unsigned char)*parse))
+ parse++;
+ if(str_keyword(&parse, "any")) {
+ e->match_ede_any = 1;
+ } else {
+ e->ede_info_code = (uint16_t)strtol(parse,
+ (char**)&parse, 10);
+ }
+ while(isspace((unsigned char)*parse))
parse++;
} else {
error("could not parse MATCH: '%s'", parse);
e->match_answer = 0;
e->match_subdomain = 0;
e->match_all = 0;
+ e->match_all_noedns = 0;
e->match_ttl = 0;
e->match_do = 0;
e->match_noedns = 0;
e->match_serial = 0;
e->ixfr_soa_serial = 0;
+ e->match_ede = 0;
+ e->match_ede_any = 0;
+ e->ede_info_code = -1;
e->match_transport = transport_any;
e->reply_list = NULL;
e->copy_id = 0;
return 0;
}
-/** get ptr to EDNS OPT record (and remaining length); behind the type u16 */
+/** get ptr to EDNS OPT record (and remaining length); after the type u16 */
static int
pkt_find_edns_opt(uint8_t** p, size_t* plen)
{
return (int)(edns_bits&LDNS_EDNS_MASK_DO_BIT);
}
+/** Snips the EDE option out of the OPT record and returns the EDNS EDE
+ * INFO-CODE if found, else -1 */
+static int
+extract_ede(uint8_t* pkt, size_t len)
+{
+ uint8_t *rdata, *opt_position = pkt;
+ uint16_t rdlen, optlen;
+ size_t remaining = len;
+ int ede_code;
+ if(!pkt_find_edns_opt(&opt_position, &remaining)) return -1;
+ if(remaining < 8) return -1; /* malformed */
+ rdlen = sldns_read_uint16(opt_position+6);
+ rdata = opt_position + 8;
+ while(rdlen > 0) {
+ if(rdlen < 4) return -1; /* malformed */
+ optlen = sldns_read_uint16(rdata+2);
+ if(sldns_read_uint16(rdata) == LDNS_EDNS_EDE) {
+ if(rdlen < 6) return -1; /* malformed */
+ ede_code = sldns_read_uint16(rdata+4);
+ /* snip option from packet; assumes len is correct */
+ memmove(rdata, rdata+4+optlen,
+ (pkt+len)-(rdata+4+optlen));
+ /* update OPT size */
+ sldns_write_uint16(opt_position+6,
+ sldns_read_uint16(opt_position+6)-(4+optlen));
+ return ede_code;
+ }
+ rdlen -= 4 + optlen;
+ rdata += 4 + optlen;
+ }
+ return -1;
+}
+
/** zero TTLs in packet */
static void
zerottls(uint8_t* pkt, size_t pktlen)
return 0;
}
- /* remove after answer section, (;; AUTH, ;; ADD, ;; MSG size ..) */
+ /* remove after answer section, (;; ANS, ;; AUTH, ;; ADD ..) */
s = strstr(qcmpstr, ";; ANSWER SECTION");
if(!s) s = strstr(qcmpstr, ";; AUTHORITY SECTION");
if(!s) s = strstr(qcmpstr, ";; ADDITIONAL SECTION");
return r;
}
+/** ignore EDNS lines in the string by overwriting them with what's left or
+ * zero out if at end of the string */
+static int
+ignore_edns_lines(char* str) {
+ char* edns = str, *n;
+ size_t str_len = strlen(str);
+ while((edns = strstr(edns, "; EDNS"))) {
+ n = strchr(edns, '\n');
+ if(!n) {
+ /* EDNS at end of string; zero */
+ *edns = 0;
+ break;
+ }
+ memmove(edns, n+1, str_len-(n-str));
+ }
+ return 1;
+}
+
/** match all of the packet */
int
match_all(uint8_t* q, size_t qlen, uint8_t* p, size_t plen, int mttl,
- int noloc)
+ int noloc, int noedns)
{
char* qstr, *pstr;
uint8_t* qb = q, *pb = p;
int r;
- /* zero TTLs */
qb = memdup(q, qlen);
pb = memdup(p, plen);
if(!qb || !pb) error("out of memory");
+ /* zero TTLs */
if(!mttl) {
zerottls(qb, qlen);
zerottls(pb, plen);
qstr = sldns_wire2str_pkt(qb, qlen);
pstr = sldns_wire2str_pkt(pb, plen);
if(!qstr || !pstr) error("cannot pkt2string");
+ /* should we ignore EDNS lines? */
+ if(noedns) {
+ ignore_edns_lines(qstr);
+ ignore_edns_lines(pstr);
+ }
r = (strcmp(qstr, pstr) == 0);
if(!r) {
/* remove ;; MSG SIZE (at end of string) */
s = strstr(pstr, ";; MSG SIZE");
if(s) *s=0;
r = (strcmp(qstr, pstr) == 0);
- if(!r && !noloc) {
- /* we are going to fail see if it is because of EDNS */
+ if(!r && !noloc && !noedns) {
+ /* we are going to fail, see if the cause is EDNS */
char* a = strstr(qstr, "; EDNS");
char* b = strstr(pstr, "; EDNS");
if( (a&&!b) || (b&&!a) ) {
enum transport_type transport)
{
struct entry* p = entries;
- uint8_t* reply;
- size_t rlen;
+ uint8_t* reply, *query_pkt_orig;
+ size_t rlen, query_pkt_orig_len;
+ /* Keep the original packet; it may be modified */
+ query_pkt_orig = memdup(query_pkt, len);
+ query_pkt_orig_len = len;
for(p=entries; p; p=p->next) {
verbose(3, "comparepkt: ");
reply = p->reply_list->reply_pkt;
rlen = p->reply_list->reply_len;
- if(p->match_opcode && get_opcode(query_pkt, len) !=
+ /* Restore the original packet for each entry */
+ memcpy(query_pkt, query_pkt_orig, query_pkt_orig_len);
+ /* EDE should be first since it may modify the query_pkt */
+ if(p->match_ede) {
+ int info_code = extract_ede(query_pkt, len);
+ if(info_code == -1) {
+ verbose(3, "bad EDE. Expected but not found\n");
+ continue;
+ } else if(!p->match_ede_any &&
+ (uint16_t)info_code != p->ede_info_code) {
+ verbose(3, "bad EDE INFO-CODE. Expected: %d, "
+ "and got: %d\n", (int)p->ede_info_code,
+ info_code);
+ continue;
+ }
+ }
+ if(p->match_opcode && get_opcode(query_pkt, len) !=
get_opcode(reply, rlen)) {
verbose(3, "bad opcode\n");
continue;
verbose(3, "bad transport\n");
continue;
}
+ if(p->match_all_noedns && !match_all(query_pkt, len, reply,
+ rlen, (int)p->match_ttl, 0, 1)) {
+ verbose(3, "bad all_noedns match\n");
+ continue;
+ }
if(p->match_all && !match_all(query_pkt, len, reply, rlen,
- (int)p->match_ttl, 0)) {
+ (int)p->match_ttl, 0, 0)) {
verbose(3, "bad allmatch\n");
continue;
}
verbose(3, "match!\n");
+ /* Restore the original packet */
+ memcpy(query_pkt, query_pkt_orig, query_pkt_orig_len);
+ free(query_pkt_orig);
return p;
}
+ /* Restore the original packet */
+ memcpy(query_pkt, query_pkt_orig, query_pkt_orig_len);
+ free(query_pkt_orig);
return NULL;
}
ENTRY_BEGIN
; first give MATCH lines, that say what queries are matched
; by this entry.
- ; 'opcode' makes the query match the opcode from the reply
- ; if you leave it out, any opcode matches this entry.
- ; 'qtype' makes the query match the qtype from the reply
- ; 'qname' makes the query match the qname from the reply
- ; 'subdomain' makes the query match subdomains of qname from the reply
- ; 'serial=1023' makes the query match if ixfr serial is 1023.
+ ; 'opcode' makes the query match the opcode from the reply;
+ ; if you leave it out, any opcode matches this entry.
+ ; 'qtype' makes the query match the qtype from the reply.
+ ; 'qname' makes the query match the qname from the reply.
+ ; 'subdomain' makes the query match subdomains of qname from the reply.
+ ; 'serial=1023' makes the query match if ixfr serial is 1023.
; 'all' has to match header byte for byte and all rrs in packet.
+ ; 'all_noedns' has to match header byte for byte and all rrs in packet;
+ ; ignoring EDNS.
; 'ttl' used with all, rrs in packet must also have matching TTLs.
; 'DO' will match only queries with DO bit set.
; 'noedns' matches queries without EDNS OPT records.
- ; 'rcode' makes the query match the rcode from the reply
- ; 'question' makes the query match the question section
- ; 'answer' makes the query match the answer section
+ ; 'rcode' makes the query match the rcode from the reply.
+ ; 'question' makes the query match the question section.
+ ; 'answer' makes the query match the answer section.
; 'ednsdata' matches queries to HEX_EDNS section.
+ ; 'UDP' matches if the transport is UDP.
+ ; 'TCP' matches if the transport is TCP.
+ ; 'ede=2' makes the query match if the EDNS EDE info-code is 2.
+ ; It also snips the EDE record out of the packet to facilitate
+ ; other matches.
+ ; 'ede=any' makes the query match any EDNS EDE info-code.
+ ; It also snips the EDE record out of the packet to facilitate
+ ; other matches.
MATCH [opcode] [qtype] [qname] [serial=<value>] [all] [ttl]
MATCH [UDP|TCP] DO
MATCH ...
; 'sleep=10' sleeps for 10 seconds before giving the answer (TCP is open)
ADJUST [sleep=<num>] ; sleep before giving any reply
ADJUST [packet_sleep=<num>] ; sleep before this packet in sequence
+ ; 'copy_ednsdata_assume_clientsubnet' copies ednsdata to reply, assumes
+ ; it is clientsubnet and adjusts scopemask to match sourcemask.
+ ADJUST copy_ednsdata_assume_clientsubnet
+ ; 'increment_ecs_scope' increments the ECS scope copied from the
+ ; sourcemask by one.
+ ADJUST increment_ecs_scope
SECTION QUESTION
<RRs, one per line> ; the RRcount is determined automatically.
SECTION ANSWER
/* match */
/* How to match an incoming query with this canned reply */
/** match query opcode with answer opcode */
- uint8_t match_opcode;
+ uint8_t match_opcode;
/** match qtype with answer qtype */
- uint8_t match_qtype;
+ uint8_t match_qtype;
/** match qname with answer qname */
- uint8_t match_qname;
+ uint8_t match_qname;
/** match rcode with answer rcode */
uint8_t match_rcode;
/** match question section */
/** match answer section */
uint8_t match_answer;
/** match qname as subdomain of answer qname */
- uint8_t match_subdomain;
+ uint8_t match_subdomain;
/** match SOA serial number, from auth section */
- uint8_t match_serial;
+ uint8_t match_serial;
+ /** match EDNS EDE info-code */
+ uint8_t match_ede;
+ /** match any EDNS EDE info-code */
+ uint8_t match_ede_any;
/** match all of the packet */
uint8_t match_all;
+ /** match all of the packet; ignore EDNS */
+ uint8_t match_all_noedns;
/** match ttls in the packet */
uint8_t match_ttl;
/** match DO bit */
/** match edns data field given in hex */
uint8_t match_ednsdata_raw;
/** match query serial with this value. */
- uint32_t ixfr_soa_serial;
+ uint32_t ixfr_soa_serial;
/** match on UDP/TCP */
- enum transport_type match_transport;
+ enum transport_type match_transport;
+ /** match EDNS EDE info-code with this value. */
+ uint16_t ede_info_code;
/** pre canned reply */
struct reply_packet *reply_list;
* @param mttl: if true, ttls must match, if false, ttls do not need to match
* @param noloc: if true, rrs may be reordered in their packet-section.
* rrs are then matches without location of the rr being important.
+ * @param noedns: if true, edns is not compared, if false, edns must match.
* @return true if matched.
*/
int match_all(uint8_t* q, size_t qlen, uint8_t* p, size_t plen, int mttl,
- int noloc);
+ int noloc, int noedns);
/**
* copy & adjust packet, mallocs a copy.
/* compare packets */
unit_assert(match_all(sldns_buffer_begin(pkt), sldns_buffer_limit(pkt),
sldns_buffer_begin(out), sldns_buffer_limit(out), 1,
- matches_nolocation));
+ matches_nolocation, 0));
return 0;
}
}
setup_sigalg(dnskey, sigalg); /* check all algorithms in the dnskey */
/* ok to give null as qstate here, won't be used for answer section. */
- sec = dnskeyset_verify_rrset(env, ve, rrset, dnskey, sigalg, &reason,
+ sec = dnskeyset_verify_rrset(env, ve, rrset, dnskey, sigalg, &reason, NULL,
LDNS_SECTION_ANSWER, NULL);
if(vsig) {
printf("verify outcome is: %s %s\n", sec_status_to_string(sec),
log-time-ascii: yes
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
+
stub-zone:
name: "."
stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET.
STEP 20 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=9
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.example.com. IN A
log-time-ascii: yes
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
+
stub-zone:
name: "."
stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET.
STEP 20 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=6
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.example.com. IN A
log-time-ascii: yes
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
+
stub-zone:
name: "."
stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET.
STEP 30 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=9
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.example.com. IN A
log-time-ascii: yes
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
+
stub-zone:
name: "."
stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET.
STEP 30 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=6
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.example.com. IN A
target-fetch-policy: "0 0 0 0 0"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=7
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.sub.example.com. IN A
STEP 120 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=7
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
ftp.sub.example.com. IN A
target-fetch-policy: "0 0 0 0 0"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=7
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.sub.example.com. IN A
STEP 120 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=7
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
ftp.sub.example.com. IN A
qname-minimisation: "no"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=7
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.example.com. IN A
; recursion happens here.
STEP 120 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=7
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
ftp.example.com. IN A
--- /dev/null
+rm -f K* piece1 base expired notyetincepted trust-anchors dnssec-failures.test.signed dnskey-failures.test.signed nsec-failures.test.signed rrsig-failures.test.signed
--- /dev/null
+$ORIGIN dnskey-failures.test.
+
+@ SOA ns hostmaster (
+ 1 ; serial
+ 14400 ; refresh (4 hours)
+ 1800 ; retry (30 minutes)
+ 2419200 ; expire (4 weeks)
+ 300 ; minimum (5 minutes)
+)
+ A 192.0.2.1
--- /dev/null
+$ORIGIN dnssec-failures.test.
+
+@ SOA ns hostmaster (
+ 1 ; serial
+ 14400 ; refresh (4 hours)
+ 1800 ; retry (30 minutes)
+ 2419200 ; expire (4 weeks)
+ 300 ; minimum (5 minutes)
+)
+ NS ns
+ns A 192.0.2.1
+notyetincepted TXT "Not yet incepted"
+expired TXT "Expired"
+sigsinvalid TXT "Signatures invalid"
+missingrrsigs TXT "Signatures missing"
\ No newline at end of file
--- /dev/null
+#!/usr/bin/env bash
+
+# create oudated zones
+CSK=`ldns-keygen -a ECDSAP256SHA256 -k -r /dev/urandom dnssec-failures.test`
+echo $CSK
+
+echo ". IN DS 20326 8 2 e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d" | \
+ cat $CSK.ds - > bogus/trust-anchors
+
+# differentiate for MacOS with "gdate"
+DATE=date
+which gdate > /dev/null && DATE=gdate
+
+ONEMONTHAGO=`$DATE -d 'now - 1 month' +%Y%m%d`
+YESTERDAY=`$DATE -d 'now - 2 days' +%Y%m%d`
+TOMORROW=`$DATE -d 'now + 2 days' +%Y%m%d`
+
+ldns-signzone -i $YESTERDAY -f - bogus/dnssec-failures.test $CSK | \
+ grep -v '^missingrrsigs\.dnssec-failures\.test\..*IN.*RRSIG.*TXT' | \
+ sed 's/Signatures invalid/Signatures INVALID/g' | \
+ grep -v '^notyetincepted\.dnssec-failures\.test\..*IN.*TXT' | \
+ grep -v '^notyetincepted\.dnssec-failures\.test\..*IN.*RRSIG.*TXT' | \
+ grep -v '^expired\.dnssec-failures\.test\..*IN.*TXT' | \
+ grep -v '^expired\.dnssec-failures\.test\..*IN.*RRSIG.*TXT' > base
+ldns-signzone -i $ONEMONTHAGO -e $YESTERDAY -f - bogus/dnssec-failures.test $CSK | \
+ grep -v '[ ]NSEC[ ]' | \
+ grep '^expired\.dnssec-failures\.test\..*IN.*TXT' > expired
+ldns-signzone -i $TOMORROW -f - bogus/dnssec-failures.test $CSK | \
+ grep -v '[ ]NSEC[ ]' | \
+ grep '^notyetincepted\.dnssec-failures\.test\..*IN.*TXT' > notyetincepted
+
+cat base expired notyetincepted > bogus/dnssec-failures.test.signed
+
+# cleanup old zone keys
+rm -f $CSK.*
+# create zone with DNSKEY missing
+CSK=`ldns-keygen -a ECDSAP256SHA256 -k -r /dev/urandom dnskey-failures.test`
+echo $CSK
+cat $CSK.ds >> bogus/trust-anchors
+
+ldns-signzone -f tmp.signed bogus/dnskey-failures.test $CSK
+grep -v ' DNSKEY ' tmp.signed > bogus/dnskey-failures.test.signed
+
+
+# cleanup old zone keys
+rm -f $CSK.*
+# create zone with NSEC missing
+CSK=`ldns-keygen -a ECDSAP256SHA256 -k -r /dev/urandom nsec-failures.test`
+echo $CSK
+cat $CSK.ds >> bogus/trust-anchors
+
+ldns-signzone -f tmp.signed bogus/nsec-failures.test $CSK
+grep -v ' NSEC ' tmp.signed > bogus/nsec-failures.test.signed
+
+
+# cleanup old zone keys
+rm -f $CSK.*
+# create zone with RRSIGs missing
+CSK=`ldns-keygen -a ECDSAP256SHA256 -k -r /dev/urandom rrsig-failures.test`
+echo $CSK
+cat $CSK.ds >> bogus/trust-anchors
+
+ldns-signzone -f tmp.signed bogus/rrsig-failures.test $CSK
+grep -v ' RRSIG ' tmp.signed > bogus/rrsig-failures.test.signed
+
+# cleanup
+rm -f base expired notyetincepted tmp.signed $CSK.*
--- /dev/null
+$ORIGIN nsec-failures.test.
+
+@ SOA ns hostmaster (
+ 1 ; serial
+ 14400 ; refresh (4 hours)
+ 1800 ; retry (30 minutes)
+ 2419200 ; expire (4 weeks)
+ 300 ; minimum (5 minutes)
+)
+ A 192.0.2.1
--- /dev/null
+$ORIGIN rrsig-failures.test.
+
+@ SOA ns hostmaster (
+ 1 ; serial
+ 14400 ; refresh (4 hours)
+ 1800 ; retry (30 minutes)
+ 2419200 ; expire (4 weeks)
+ 300 ; minimum (5 minutes)
+)
+ A 192.0.2.1
--- /dev/null
+server:
+ verbosity: 1
+ use-syslog: no
+ chroot: ""
+ username: ""
+ directory: ""
+ local-zone: test nodefault
+ port: @PORT2@
+
+auth-zone:
+ name: "dnssec-failures.test"
+ zonefile: "bogus/dnssec-failures.test.signed"
+
+auth-zone:
+ name: "dnskey-failures.test"
+ zonefile: "bogus/dnskey-failures.test.signed"
+
+auth-zone:
+ name: "nsec-failures.test"
+ zonefile: "bogus/nsec-failures.test.signed"
+
+auth-zone:
+ name: "rrsig-failures.test"
+ zonefile: "bogus/rrsig-failures.test.signed"
+
--- /dev/null
+server:
+ verbosity: 2
+ interface: 127.0.0.1
+ port: @PORT@
+ use-syslog: no
+ directory: .
+ pidfile: "unbound.pid"
+ chroot: ""
+ username: ""
+ directory: ""
+ val-log-level: 2
+
+ trust-anchor-file: "bogus/trust-anchors"
+
+ module-config: "respip validator iterator"
+
+ ede: yes
+ access-control: 127.0.0.2/32 refuse
+ access-control: 127.0.0.3/32 allow
+
+ local-zone: hopsa.kidee. always_refuse
+ local-data: "hopsa.kidee. TXT hela hola"
+
+ local-zone: nlnetlabs.nl transparent
+ local-data: "hopsa.nlnetlabs.nl. TXT hela hola"
+
+ local-zone: uva.nl. always_null
+
+ local-zone: example.com redirect
+ local-data: "example.com CNAME *.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaa."
+
+ local-zone: test nodefault
+ do-not-query-localhost: no
+
+forward-zone:
+ name: "dnssec-failures.test"
+ forward-addr: 127.0.0.1@@PORT2@
+
+forward-zone:
+ name: "dnskey-failures.test"
+ forward-addr: 127.0.0.1@@PORT2@
+
+forward-zone:
+ name: "nsec-failures.test"
+ forward-addr: 127.0.0.1@@PORT2@
+
+forward-zone:
+ name: "rrsig-failures.test"
+ forward-addr: 127.0.0.1@@PORT2@
--- /dev/null
+BaseName: ede
+Version: 1.0
+Description: Test Extended DNS Errors (rfc8914)
+CreationDate: Fri Aug 20 15:42:11 UTC 2021
+Maintainer: Tom Carpay
+Category:
+Component:
+CmdDepends:
+Depends:
+Help:
+Pre: ede.pre
+Post: ede.post
+Test: ede.test
+AuxFiles:
+Passed:
+Failure:
--- /dev/null
+# #-- ede.post --#
+# source the master var file when it's there
+[ -f ../.tpkg.var.master ] && source ../.tpkg.var.master
+# use .tpkg.var.test for in test variable passing
+[ -f .tpkg.var.test ] && source .tpkg.var.test
+
+# teardown
+. ../common.sh
+kill_pid $UNBOUND_PID
+kill_pid $UNBOUND_PID2
\ No newline at end of file
--- /dev/null
+# #-- ede.pre --#
+# source the master var file when it's there
+[ -f ../.tpkg.var.master ] && source ../.tpkg.var.master
+# use .tpkg.var.test for in test variable passing
+[ -f .tpkg.var.test ] && source .tpkg.var.test
+
+. ../common.sh
+get_random_port 2
+UNBOUND_PORT=$RND_PORT
+UNBOUND_PORT2=$(($RND_PORT + 1))
+echo "UNBOUND_PORT=$UNBOUND_PORT" >> .tpkg.var.test
+echo "UNBOUND_PORT2=$UNBOUND_PORT2" >> .tpkg.var.test
+
+# rewrite config file with created ports
+sed -e 's/@PORT\@/'$UNBOUND_PORT'/' < ede.conf > temp.conf
+sed -e 's/@PORT2\@/'$UNBOUND_PORT2'/' < temp.conf > ub.conf
+sed -e 's/@PORT2\@/'$UNBOUND_PORT2'/' < ede-auth.conf > ub2.conf
+
+# create broken dnssec zone
+bogus/make-broken-zone.sh
+
+# start unbound in the background
+PRE="../.."
+$PRE/unbound -d -c ub.conf > unbound.log 2>&1 &
+UNBOUND_PID=$!
+echo "UNBOUND_PID=$UNBOUND_PID" >> .tpkg.var.test
+
+# start authoritative unbound in the background
+$PRE/unbound -d -c ub2.conf > unbound2.log 2>&1 &
+UNBOUND_PID2=$!
+echo "UNBOUND_PID2=$UNBOUND_PID2" >> .tpkg.var.test
+
+
+cat .tpkg.var.test
+wait_unbound_up unbound.log
+wait_unbound_up unbound2.log
+
--- /dev/null
+# #-- ede.test --#
+# source the master var file when it's there
+[ -f ../.tpkg.var.master ] && source ../.tpkg.var.master
+# use .tpkg.var.test for in test variable passing
+[ -f .tpkg.var.test ] && source .tpkg.var.test
+
+
+# DNSSEC failure: Signature Expired or DNSKEY Missing (depending on the servfail configuration)
+dig @127.0.0.1 -p $UNBOUND_PORT servfail.nl > servfail.txt
+
+# DNSSEC failure: key not incepted
+dig @127.0.0.1 -p $UNBOUND_PORT notyetincepted.dnssec-failures.test. TXT +dnssec > sig_notyetincepted.txt
+
+if ! grep -q -e "OPT=15: 00 08" -e "EDE: 8" sig_notyetincepted.txt
+then
+ echo "Signature not yet valid does not return EDE Signature Not Yet Valid"
+ cat sig_notyetincepted.txt
+ exit 1
+fi
+
+# DNSSEC failure: key expired
+dig @127.0.0.1 -p $UNBOUND_PORT expired.dnssec-failures.test. TXT +dnssec > sig_expired.txt
+
+if ! grep -q -e "OPT=15: 00 07" -e "EDE: 7" sig_expired.txt
+then
+ echo "Expired signature does not return EDE Signature expired"
+ cat sig_expired.txt
+ exit 1
+fi
+
+# DNSSEC failure: missing rrsigs
+dig @127.0.0.1 -p $UNBOUND_PORT missingrrsigs.dnssec-failures.test. TXT +dnssec > missingrrsigs.txt
+
+if ! grep -q -e "OPT=15: 00 0a" -e "EDE: 10" missingrrsigs.txt
+then
+ echo "Expired signature does not return EDE RRSIGs missing"
+ cat missingrrsigs.txt
+ exit 1
+fi
+
+# signed zone with DNSKEY missing
+dig @127.0.0.1 -p $UNBOUND_PORT dnskey-failures.test > dnskey-failure.txt
+
+if ! grep -q -e "OPT=15: 00 09" -e "EDE: 9" dnskey-failure.txt
+then
+ echo "Expired signature does not return EDE DNSKEY missing"
+ cat dnskey-failure.txt
+ exit 1
+fi
+
+# signed zone with RRSIGs missing
+dig @127.0.0.1 -p $UNBOUND_PORT rrsig-failures.test > rrsig-failure.txt
+
+if ! grep -q -e "OPT=15: 00 0a" -e "EDE: 10" rrsig-failure.txt
+then
+ echo "Expired signature does not return EDE RRSIGs missing"
+ cat rrsig-failure.txt
+ exit 1
+fi
+
+# signed zone with NSEC missing
+dig @127.0.0.1 -p $UNBOUND_PORT abc.nsec-failures.test > nsec-failure.txt
+
+if ! grep -q -e "OPT=15: 00 0c" -e "EDE: 12" nsec-failure.txt
+then
+ echo "Expired signature does not return EDE NSEC missing"
+ cat nsec-failure.txt
+ exit 1
+fi
+
+
+# @TODO DNSSEC indeterminate when implemented
--- /dev/null
+; config options
+server:
+ access-control: 127.0.0.0/8 refuse
+ ede: yes
+CONFIG_END
+
+SCENARIO_BEGIN Test ede-acl-refused
+; Scenario overview:
+; - query for example.com. A record with EDNS
+; - check that we get a refused answer with EDE (RFC8914) code 18 - Prohibited
+
+; Query without RD flag
+STEP 1 QUERY
+ENTRY_BEGIN
+ REPLY RD
+ SECTION QUESTION
+ example.com. IN A
+ SECTION ADDITIONAL
+ HEX_EDNSDATA_BEGIN
+ HEX_EDNSDATA_END
+ENTRY_END
+
+; Check that we got ede 18
+STEP 2 CHECK_ANSWER
+ENTRY_BEGIN
+ MATCH all ede=18
+ REPLY QR RD REFUSED
+ SECTION QUESTION
+ example.com. IN A
+ SECTION ADDITIONAL
+ HEX_EDNSDATA_BEGIN
+ HEX_EDNSDATA_END
+ENTRY_END
+
+SCENARIO_END
--- /dev/null
+; config options
+server:
+ ede: yes
+CONFIG_END
+
+SCENARIO_BEGIN Test ede-cache-snoop-not-authoritative
+; Scenario overview:
+; - query for example.com. A record with EDNS without the RD bit
+; - check that we get a refused answer with EDE (RFC8914) code 20 - Not Authoritative
+
+; Query without RD flag
+STEP 1 QUERY
+ENTRY_BEGIN
+ SECTION QUESTION
+ example.com. IN A
+ SECTION ADDITIONAL
+ HEX_EDNSDATA_BEGIN
+ HEX_EDNSDATA_END
+ENTRY_END
+
+; Check that we got ede 20
+STEP 10 CHECK_ANSWER
+ENTRY_BEGIN
+ MATCH all ede=20
+ REPLY QR RA REFUSED
+ SECTION QUESTION
+ example.com. IN A
+ SECTION ADDITIONAL
+ HEX_EDNSDATA_BEGIN
+ HEX_EDNSDATA_END
+ENTRY_END
+
+SCENARIO_END
--- /dev/null
+; config options
+server:
+ local-zone: example.com redirect
+ local-data: "example.com CNAME *.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaa."
+ ede: yes
+
+CONFIG_END
+
+SCENARIO_BEGIN Test ede-localzone-dname-expansion
+; Scenario overview:
+; - query for www.qhqwer.qwer.qwer.h.example.com. (a large Qname) A record with EDNS
+; - check that we get a YXDOMAIN answer with EDE (RFC8914) code 0 - Other (which adds a DNAME expansion message)
+
+; Query with RD flag
+STEP 1 QUERY
+ENTRY_BEGIN
+ REPLY RD
+ SECTION QUESTION
+ www.qhqwer.qwer.qwer.h.example.com A
+ SECTION ADDITIONAL
+ HEX_EDNSDATA_BEGIN
+ HEX_EDNSDATA_END
+ENTRY_END
+
+; Check that we got the correct answer (should be cached)
+STEP 10 CHECK_ANSWER
+ENTRY_BEGIN
+ MATCH all ede=0
+ REPLY QR AA RD RA YXDOMAIN
+ SECTION QUESTION
+ www.qhqwer.qwer.qwer.h.example.com A
+ SECTION ADDITIONAL
+ HEX_EDNSDATA_BEGIN
+ HEX_EDNSDATA_END
+ENTRY_END
+
+SCENARIO_END
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
- MATCH TCP ednsdata
+ MATCH TCP
REPLY RD FORMERR
SECTION QUESTION
www.example.com. IN A
- SECTION ADDITIONAL
- HEX_EDNSDATA_BEGIN
- ; Empty
- HEX_EDNSDATA_END
ENTRY_END
STEP 20 QUERY
trust-anchor-signaling: no
minimal-responses: no
nsid: "ascii_hopsa kidee"
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=9
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.example.com. IN A
val-override-date: "20180423171826"
target-fetch-policy: "0 0 0 0 0"
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 22 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=6
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
root-key-sentinel-not-ta-19036. IN A
; recursion happens here.
STEP 33 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=6
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
root-key-sentinel-is-ta-20326. IN A
minimal-responses: no
serve-expired: yes
access-control: 127.0.0.1/32 allow_snoop
+ ede: yes
+ ede-serve-expired: yes
stub-zone:
name: "example.com"
; Query again without RD bit
STEP 30 QUERY
ENTRY_BEGIN
+ REPLY DO
SECTION QUESTION
example.com. IN A
ENTRY_END
; Check that we got a stale answer
STEP 40 CHECK_ANSWER
ENTRY_BEGIN
- MATCH all ttl
- REPLY QR RA NOERROR
+ MATCH all ttl ede=3
+ REPLY QR RA DO NOERROR
SECTION QUESTION
example.com. IN A
SECTION ANSWER
serve-expired: yes
serve-expired-client-timeout: 1
serve-expired-reply-ttl: 123
+ ede: yes
+ ede-serve-expired: yes
stub-zone:
name: "example.com"
; Query again
STEP 30 QUERY
ENTRY_BEGIN
- REPLY RD
+ REPLY RD DO
SECTION QUESTION
example.com. IN A
ENTRY_END
; Check that we got a stale answer
STEP 40 CHECK_ANSWER
ENTRY_BEGIN
- MATCH all ttl
- REPLY QR RD RA NOERROR
+ MATCH all ttl ede=3
+ REPLY QR RD RA DO NOERROR
SECTION QUESTION
example.com. IN A
SECTION ANSWER
minimal-responses: no
serve-expired: yes
serve-expired-reply-ttl: 123
+ ede: yes
+ ede-serve-expired: yes
stub-zone:
name: "example.com"
; Query again
STEP 30 QUERY
ENTRY_BEGIN
- REPLY RD
+ REPLY RD DO
SECTION QUESTION
example.com. IN A
ENTRY_END
; Check that we got a stale answer
STEP 40 CHECK_ANSWER
ENTRY_BEGIN
- MATCH all ttl
- REPLY QR RD RA NOERROR
+ MATCH all ttl ede=3
+ REPLY QR RD RA DO NOERROR
SECTION QUESTION
example.com. IN A
SECTION ANSWER
serve-expired-client-timeout: 1800
serve-expired-reply-ttl: 123
log-servfail: yes
+ ede: yes
+ ede-serve-expired: yes
stub-zone:
; Query again
STEP 30 QUERY
ENTRY_BEGIN
- REPLY RD
+ REPLY RD DO
SECTION QUESTION
example.com. IN A
ENTRY_END
; Check that we got a stale answer
STEP 40 CHECK_ANSWER
ENTRY_BEGIN
- MATCH all ttl
- REPLY QR RD RA NOERROR
+ MATCH all ttl ede=3
+ REPLY QR RD RA DO NOERROR
SECTION QUESTION
example.com. IN A
SECTION ANSWER
minimal-responses: no
serve-expired: yes
serve-expired-reply-ttl: 123
+ ede: yes
+ ede-serve-expired: yes
stub-zone:
name: "example.com"
; Query with RD flag
STEP 40 QUERY
ENTRY_BEGIN
- REPLY RD
+ REPLY RD DO
SECTION QUESTION
example.com. IN A
ENTRY_END
; Check that we got the correct answer
STEP 49 CHECK_ANSWER
ENTRY_BEGIN
- MATCH all ttl
- REPLY QR RD RA NOERROR
+ MATCH all ttl ede=3
+ REPLY QR RD RA DO NOERROR
SECTION QUESTION
example.com. IN A
SECTION ANSWER
cache-min-ttl: 20
serve-expired: yes
serve-expired-reply-ttl: 123
+ ede: yes
+ ede-serve-expired: yes
stub-zone:
name: "example.com"
; Query again
STEP 40 QUERY
ENTRY_BEGIN
- REPLY
+ REPLY DO
SECTION QUESTION
example.com. IN A
ENTRY_END
; Check that we got a stale answer with the original TTL
STEP 50 CHECK_ANSWER
ENTRY_BEGIN
- MATCH all ttl
- REPLY QR RA NOERROR
+ MATCH all ttl ede=3
+ REPLY QR RA DO NOERROR
SECTION QUESTION
example.com. IN A
SECTION ANSWER
val-override-date: "20091113091234"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
forward-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=9
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.example.com. IN AAAA
qname-minimisation: "no"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=10
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.example.com. IN A
SECTION ANSWER
-SECTION ADDITIONAL
ENTRY_END
SCENARIO_END
qname-minimisation: "no"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=6
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.example.com. IN A
SECTION ANSWER
-SECTION AUTHORITY
-SECTION ADDITIONAL
ENTRY_END
SCENARIO_END
qname-minimisation: "no"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=10
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
foo.www.example.com. IN A
qname-minimisation: "no"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=6
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.sub.example.com. IN A
SECTION ANSWER
-SECTION AUTHORITY
-SECTION ADDITIONAL
ENTRY_END
SCENARIO_END
qname-minimisation: "no"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=10
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.example.com. IN A
-SECTION ANSWER
ENTRY_END
SCENARIO_END
# test that default value of harden-dnssec-stripped is still yes.
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=9
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.example.com. IN A
qname-minimisation: "no"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=6
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.example.com. IN A
SECTION ANSWER
-SECTION AUTHORITY
-SECTION ADDITIONAL
ENTRY_END
SCENARIO_END
qname-minimisation: "no"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
+
stub-zone:
name: "nsecwc.nlnetlabs.nl"
stub-addr: "185.49.140.60"
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=6
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
_25._tcp.mail.nsecwc.nlnetlabs.nl. IN TLSA
SECTION ANSWER
-SECTION AUTHORITY
-SECTION ADDITIONAL
ENTRY_END
SCENARIO_END
target-fetch-policy: "0 0 0 0 0"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=9
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.example.com. IN A
qname-minimisation: "no"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=6
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
a.c.x.w.example. IN A
; 0p9mhaveqvm6t7vbl5lop2u3t2rp3tom.example. RRSIG NSEC3 7 2 3600 20150420235959 20051021000000 ( 40430 example. OSgWSm26B+cS+dDL8b5QrWr/dEWhtCsKlwKL IBHYH6blRxK9rC0bMJPwQ4mLIuw85H2EY762 BOCXJZMnpuwhpA== )
; b4um86eghhds6nea196smvmlo4ors995.example. NSEC3 1 1 12 aabbccdd ( gjeqe526plbf1g8mklp59enfd789njgi MX RRSIG )
; b4um86eghhds6nea196smvmlo4ors995.example. RRSIG NSEC3 7 2 3600 20150420235959 20051021000000 ( 40430 example. ZkPG3M32lmoHM6pa3D6gZFGB/rhL//Bs3Omh 5u4m/CUiwtblEVOaAKKZd7S959OeiX43aLX3 pOv0TSTyiTxIZg== )
-SECTION ADDITIONAL
ENTRY_END
SCENARIO_END
target-fetch-policy: "0 0 0 0 0"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=12
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
ns1.example. IN MX
SECTION ANSWER
-SECTION AUTHORITY
-SECTION ADDITIONAL
ENTRY_END
SCENARIO_END
target-fetch-policy: "0 0 0 0 0"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=6
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
ent.example.com. IN A
SECTION ANSWER
-SECTION AUTHORITY
-SECTION ADDITIONAL
ENTRY_END
SCENARIO_END
qname-minimisation: "no"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=7
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.sub.example.com. IN A
SECTION ANSWER
-SECTION AUTHORITY
-SECTION ADDITIONAL
ENTRY_END
SCENARIO_END
qname-minimisation: "no"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
+
stub-zone:
name: "nsecwc.nlnetlabs.nl"
stub-addr: "185.49.140.60"
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=6
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
a.nsecwc.nlnetlabs.nl. IN TXT
SECTION ANSWER
-SECTION AUTHORITY
-SECTION ADDITIONAL
ENTRY_END
SCENARIO_END
qname-minimisation: "no"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=6
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.example.com. IN A
SECTION ANSWER
-SECTION AUTHORITY
-SECTION ADDITIONAL
ENTRY_END
SCENARIO_END
target-fetch-policy: "0 0 0 0 0"
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=10
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.sub.example.com. IN A
harden-algo-downgrade: yes
fake-sha1: yes
trust-anchor-signaling: no
+ ede: yes
stub-zone:
name: "."
; recursion happens here.
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
-MATCH all
+MATCH all ede=9
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
www.example.com. IN A
cfg->serve_expired_ttl_reset = 0;
cfg->serve_expired_reply_ttl = 30;
cfg->serve_expired_client_timeout = 0;
+ cfg->ede_serve_expired = 0;
cfg->serve_original_ttl = 0;
cfg->zonemd_permissive_mode = 0;
cfg->add_holddown = 30*24*3600;
cfg->ipset_name_v4 = NULL;
cfg->ipset_name_v6 = NULL;
#endif
+ cfg->ede = 0;
return cfg;
error_exit:
config_delete(cfg);
else if(strcmp(opt, "serve-expired-reply-ttl:") == 0)
{ IS_NUMBER_OR_ZERO; cfg->serve_expired_reply_ttl = atoi(val); SERVE_EXPIRED_REPLY_TTL=(time_t)cfg->serve_expired_reply_ttl;}
else S_NUMBER_OR_ZERO("serve-expired-client-timeout:", serve_expired_client_timeout)
+ else S_YNO("ede:", ede)
+ else S_YNO("ede_serve-expired:", ede_serve_expired)
else S_YNO("serve-original-ttl:", serve_original_ttl)
else S_STR("val-nsec3-keysize-iterations:", val_nsec3_key_iterations)
else S_YNO("zonemd-permissive-mode:", zonemd_permissive_mode)
else O_YNO(opt, "serve-expired-ttl-reset", serve_expired_ttl_reset)
else O_DEC(opt, "serve-expired-reply-ttl", serve_expired_reply_ttl)
else O_DEC(opt, "serve-expired-client-timeout", serve_expired_client_timeout)
+ else O_YNO(opt, "ede", ede)
+ else O_YNO(opt, "ede-serve-expired", ede_serve_expired)
else O_YNO(opt, "serve-original-ttl", serve_original_ttl)
else O_STR(opt, "val-nsec3-keysize-iterations",val_nsec3_key_iterations)
else O_YNO(opt, "zonemd-permissive-mode", zonemd_permissive_mode)
while(*ip_end && isspace((unsigned char)*ip_end))
ip_end++;
if(name>ip_end) {
- snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "%.*s",
+ snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "%.*s",
(int)(name-ip_end), ip_end);
}
snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), " PTR %s", name);
}
#endif /* UB_ON_WINDOWS */
-void errinf(struct module_qstate* qstate, const char* str)
-{
- struct config_strlist* p;
- if((qstate->env->cfg->val_log_level < 2 && !qstate->env->cfg->log_servfail) || !str)
- return;
- p = (struct config_strlist*)regional_alloc(qstate->region, sizeof(*p));
- if(!p) {
- log_err("malloc failure in validator-error-info string");
- return;
- }
- p->next = NULL;
- p->str = regional_strdup(qstate->region, str);
- if(!p->str) {
- log_err("malloc failure in validator-error-info string");
- return;
- }
- /* add at end */
- if(qstate->errinf) {
- struct config_strlist* q = qstate->errinf;
- while(q->next)
- q = q->next;
- q->next = p;
- } else qstate->errinf = p;
-}
-
-void errinf_origin(struct module_qstate* qstate, struct sock_list *origin)
-{
- struct sock_list* p;
- if(qstate->env->cfg->val_log_level < 2 && !qstate->env->cfg->log_servfail)
- return;
- for(p=origin; p; p=p->next) {
- char buf[256];
- if(p == origin)
- snprintf(buf, sizeof(buf), "from ");
- else snprintf(buf, sizeof(buf), "and ");
- if(p->len == 0)
- snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf),
- "cache");
- else
- addr_to_str(&p->addr, p->len, buf+strlen(buf),
- sizeof(buf)-strlen(buf));
- errinf(qstate, buf);
- }
-}
-
-char* errinf_to_str_bogus(struct module_qstate* qstate)
-{
- char buf[20480];
- char* p = buf;
- size_t left = sizeof(buf);
- struct config_strlist* s;
- char dname[LDNS_MAX_DOMAINLEN+1];
- char t[16], c[16];
- sldns_wire2str_type_buf(qstate->qinfo.qtype, t, sizeof(t));
- sldns_wire2str_class_buf(qstate->qinfo.qclass, c, sizeof(c));
- dname_str(qstate->qinfo.qname, dname);
- snprintf(p, left, "validation failure <%s %s %s>:", dname, t, c);
- left -= strlen(p); p += strlen(p);
- if(!qstate->errinf)
- snprintf(p, left, " misc failure");
- else for(s=qstate->errinf; s; s=s->next) {
- snprintf(p, left, " %s", s->str);
- left -= strlen(p); p += strlen(p);
- }
- p = strdup(buf);
- if(!p)
- log_err("malloc failure in errinf_to_str");
- return p;
-}
-
-char* errinf_to_str_servfail(struct module_qstate* qstate)
-{
- char buf[20480];
- char* p = buf;
- size_t left = sizeof(buf);
- struct config_strlist* s;
- char dname[LDNS_MAX_DOMAINLEN+1];
- char t[16], c[16];
- sldns_wire2str_type_buf(qstate->qinfo.qtype, t, sizeof(t));
- sldns_wire2str_class_buf(qstate->qinfo.qclass, c, sizeof(c));
- dname_str(qstate->qinfo.qname, dname);
- snprintf(p, left, "SERVFAIL <%s %s %s>:", dname, t, c);
- left -= strlen(p); p += strlen(p);
- if(!qstate->errinf)
- snprintf(p, left, " misc failure");
- else for(s=qstate->errinf; s; s=s->next) {
- snprintf(p, left, " %s", s->str);
- left -= strlen(p); p += strlen(p);
- }
- p = strdup(buf);
- if(!p)
- log_err("malloc failure in errinf_to_str");
- return p;
-}
-
-void errinf_rrset(struct module_qstate* qstate, struct ub_packed_rrset_key *rr)
-{
- char buf[1024];
- char dname[LDNS_MAX_DOMAINLEN+1];
- char t[16], c[16];
- if((qstate->env->cfg->val_log_level < 2 && !qstate->env->cfg->log_servfail) || !rr)
- return;
- sldns_wire2str_type_buf(ntohs(rr->rk.type), t, sizeof(t));
- sldns_wire2str_class_buf(ntohs(rr->rk.rrset_class), c, sizeof(c));
- dname_str(rr->rk.dname, dname);
- snprintf(buf, sizeof(buf), "for <%s %s %s>", dname, t, c);
- errinf(qstate, buf);
-}
-
-void errinf_dname(struct module_qstate* qstate, const char* str, uint8_t* dname)
-{
- char b[1024];
- char buf[LDNS_MAX_DOMAINLEN+1];
- if((qstate->env->cfg->val_log_level < 2 && !qstate->env->cfg->log_servfail) || !str || !dname)
- return;
- dname_str(dname, buf);
- snprintf(b, sizeof(b), "%s %s", str, buf);
- errinf(qstate, b);
-}
-
int options_remote_is_address(struct config_file* cfg)
{
if(!cfg->remote_control_enable) return 0;
#ifndef UTIL_CONFIG_FILE_H
#define UTIL_CONFIG_FILE_H
+#include "sldns/rrdef.h"
struct config_stub;
struct config_auth;
struct config_view;
/** serve expired entries only after trying to update the entries and this
* timeout (in milliseconds) is reached */
int serve_expired_client_timeout;
+ /** serve EDE code 3 - Stale Answer (RFC8914) for expired entries */
+ int ede_serve_expired;
/** serve original TTLs rather than decrementing ones */
int serve_original_ttl;
/** nsec3 maximum iterations per key size, string */
char* ipset_name_v4;
char* ipset_name_v6;
#endif
+ /** respond with Extended DNS Errors (RFC8914) */
+ int ede;
};
/** from cfg username, after daemonize setup performed */
*/
char* cfg_ptr_reverse(char* str);
-/**
- * Append text to the error info for validation.
- * @param qstate: query state.
- * @param str: copied into query region and appended.
- * Failures to allocate are logged.
- */
-void errinf(struct module_qstate* qstate, const char* str);
-
-/**
- * Append text to error info: from 1.2.3.4
- * @param qstate: query state.
- * @param origin: sock list with origin of trouble.
- * Every element added.
- * If NULL: nothing is added.
- * if 0len element: 'from cache' is added.
- */
-void errinf_origin(struct module_qstate* qstate, struct sock_list *origin);
-
-/**
- * Append text to error info: for RRset name type class
- * @param qstate: query state.
- * @param rr: rrset_key.
- */
-void errinf_rrset(struct module_qstate* qstate, struct ub_packed_rrset_key *rr);
-
-/**
- * Append text to error info: str dname
- * @param qstate: query state.
- * @param str: explanation string
- * @param dname: the dname.
- */
-void errinf_dname(struct module_qstate* qstate, const char* str,
- uint8_t* dname);
-
-/**
- * Create error info in string. For validation failures.
- * @param qstate: query state.
- * @return string or NULL on malloc failure (already logged).
- * This string is malloced and has to be freed by caller.
- */
-char* errinf_to_str_bogus(struct module_qstate* qstate);
-
-/**
- * Create error info in string. For other servfails.
- * @param qstate: query state.
- * @return string or NULL on malloc failure (already logged).
- * This string is malloced and has to be freed by caller.
- */
-char* errinf_to_str_servfail(struct module_qstate* qstate);
-
/**
* Used during options parsing
*/
#include "config.h"
#include "util/configyyrename.h"
-#line 2 "<stdout>"
+#line 3 "<stdout>"
#define YY_INT_ALIGNED short int
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 6
-#define YY_FLEX_SUBMINOR_VERSION 4
+#define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 35
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
typedef uint16_t flex_uint16_t;
typedef int32_t flex_int32_t;
typedef uint32_t flex_uint32_t;
+typedef uint64_t flex_uint64_t;
#else
typedef signed char flex_int8_t;
typedef short int flex_int16_t;
typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
+#endif /* ! C99 */
/* Limits of integral types. */
#ifndef INT8_MIN
#define UINT32_MAX (4294967295U)
#endif
-#ifndef SIZE_MAX
-#define SIZE_MAX (~(size_t)0)
-#endif
+#endif /* ! FLEXINT_H */
-#endif /* ! C99 */
+#ifdef __cplusplus
-#endif /* ! FLEXINT_H */
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
-/* begin standard C++ headers. */
+#else /* ! __cplusplus */
-/* TODO: this is always defined, so inline it */
-#define yyconst const
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
-#if defined(__GNUC__) && __GNUC__ >= 3
-#define yynoreturn __attribute__((__noreturn__))
+#define YY_USE_CONST
+
+#endif /* defined (__STDC__) */
+#endif /* ! __cplusplus */
+
+#ifdef YY_USE_CONST
+#define yyconst const
#else
-#define yynoreturn
+#define yyconst
#endif
/* Returned upon end-of-file. */
#define YY_NULL 0
-/* Promotes a possibly negative, possibly signed char to an
- * integer in range [0..255] for use as an array index.
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index. If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
*/
-#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
/* Enter a start condition. This macro really ought to take a parameter,
* but we do it the disgusting crufty way forced on us by the ()-less
* definition of BEGIN.
*/
#define BEGIN (yy_start) = 1 + 2 *
+
/* Translate the current start state into a value that can be later handed
* to BEGIN to return to the state. The YYSTATE alias is for lex
* compatibility.
*/
#define YY_START (((yy_start) - 1) / 2)
#define YYSTATE YY_START
+
/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart( yyin )
+#define YY_NEW_FILE yyrestart(yyin )
+
#define YY_END_OF_BUFFER_CHAR 0
/* Size of default input buffer. */
#ifndef YY_BUF_SIZE
-#ifdef __ia64__
-/* On IA-64, the buffer size is 16k, not 8k.
- * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
- * Ditto for the __ia64__ case accordingly.
- */
-#define YY_BUF_SIZE 32768
-#else
#define YY_BUF_SIZE 16384
-#endif /* __ia64__ */
#endif
/* The state buf must be large enough to hold one state per character in the main buffer.
typedef size_t yy_size_t;
#endif
-extern int yyleng;
+extern yy_size_t yyleng;
extern FILE *yyin, *yyout;
#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2
-
+
#define YY_LESS_LINENO(n)
- #define YY_LINENO_REWIND_TO(ptr)
/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
while ( 0 )
+
#define unput(c) yyunput( c, (yytext_ptr) )
#ifndef YY_STRUCT_YY_BUFFER_STATE
/* Size of input buffer in bytes, not including room for EOB
* characters.
*/
- int yy_buf_size;
+ yy_size_t yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB
* characters.
*/
- int yy_n_chars;
+ yy_size_t yy_n_chars;
/* Whether we "own" the buffer - i.e., we know we created it,
* and can realloc() it to grow it, and should free() it to
int yy_bs_lineno; /**< The line count. */
int yy_bs_column; /**< The column count. */
-
+
/* Whether to try to fill the input buffer when we reach the
* end of it.
*/
/* Stack of input buffers. */
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
+static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
/* We provide macros for accessing buffer states in case in the
* future we want to put the buffer states in a more general
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
? (yy_buffer_stack)[(yy_buffer_stack_top)] \
: NULL)
+
/* Same as previous macro, but useful when we know that the buffer stack is not
* NULL or when we need an lvalue. For internal use only.
*/
/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;
-static int yy_n_chars; /* number of characters read into yy_ch_buf */
-int yyleng;
+static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
+yy_size_t yyleng;
/* Points to current character in buffer. */
-static char *yy_c_buf_p = NULL;
+static char *yy_c_buf_p = (char *) 0;
static int yy_init = 0; /* whether we need to initialize */
static int yy_start = 0; /* start state number */
*/
static int yy_did_buffer_switch_on_eof;
-void yyrestart ( FILE *input_file );
-void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
-YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
-void yy_delete_buffer ( YY_BUFFER_STATE b );
-void yy_flush_buffer ( YY_BUFFER_STATE b );
-void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
-void yypop_buffer_state ( void );
+void yyrestart (FILE *input_file );
+void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
+YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
+void yy_delete_buffer (YY_BUFFER_STATE b );
+void yy_flush_buffer (YY_BUFFER_STATE b );
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
+void yypop_buffer_state (void );
+
+static void yyensure_buffer_stack (void );
+static void yy_load_buffer_state (void );
+static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
-static void yyensure_buffer_stack ( void );
-static void yy_load_buffer_state ( void );
-static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
-#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
+#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
-YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
-YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
+YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
+YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
+YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
-void *yyalloc ( yy_size_t );
-void *yyrealloc ( void *, yy_size_t );
-void yyfree ( void * );
+void *yyalloc (yy_size_t );
+void *yyrealloc (void *,yy_size_t );
+void yyfree (void * );
#define yy_new_buffer yy_create_buffer
+
#define yy_set_interactive(is_interactive) \
{ \
if ( ! YY_CURRENT_BUFFER ){ \
yyensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
- yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_create_buffer(yyin,YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
}
+
#define yy_set_bol(at_bol) \
{ \
if ( ! YY_CURRENT_BUFFER ){\
yyensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
- yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_create_buffer(yyin,YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
}
+
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
/* Begin user sect3 */
-typedef flex_uint8_t YY_CHAR;
-FILE *yyin = NULL, *yyout = NULL;
+typedef unsigned char YY_CHAR;
+
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
typedef int yy_state_type;
extern int yylineno;
+
int yylineno = 1;
extern char *yytext;
-#ifdef yytext_ptr
-#undef yytext_ptr
-#endif
#define yytext_ptr yytext
-static yy_state_type yy_get_previous_state ( void );
-static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
-static int yy_get_next_buffer ( void );
-static void yynoreturn yy_fatal_error ( const char* msg );
+static yy_state_type yy_get_previous_state (void );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
+static int yy_get_next_buffer (void );
+static void yy_fatal_error (yyconst char msg[] );
/* Done after the current pattern has been matched and before the
* corresponding action - sets up yytext.
#define YY_DO_BEFORE_ACTION \
(yytext_ptr) = yy_bp; \
(yytext_ptr) -= (yy_more_len); \
- yyleng = (int) (yy_cp - (yytext_ptr)); \
+ yyleng = (yy_size_t) (yy_cp - (yytext_ptr)); \
(yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 359
-#define YY_END_OF_BUFFER 360
+
+#define YY_NUM_RULES 361
+#define YY_END_OF_BUFFER 362
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static const flex_int16_t yy_accept[3565] =
+static yyconst flex_int16_t yy_accept[3582] =
{ 0,
- 1, 1, 333, 333, 337, 337, 341, 341, 345, 345,
- 1, 1, 349, 349, 353, 353, 360, 357, 1, 331,
- 331, 358, 2, 358, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 333, 334, 334, 335,
- 358, 337, 338, 338, 339, 358, 344, 341, 342, 342,
- 343, 358, 345, 346, 346, 347, 358, 356, 332, 2,
- 336, 358, 356, 352, 349, 350, 350, 351, 358, 353,
- 354, 354, 355, 358, 357, 0, 1, 2, 2, 2,
- 2, 357, 357, 357, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 333,
- 0, 337, 0, 344, 0, 341, 345, 0, 356, 0,
- 2, 2, 356, 352, 0, 349, 353, 0, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 356, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 131,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 141, 357, 357, 357, 357, 357, 357, 357, 356, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 113, 357,
- 330, 357, 357, 357, 357, 357, 357, 357, 357, 8,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 132, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 146, 357, 357, 356, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 323, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 356,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 68, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 252, 357, 14,
- 15, 357, 19, 18, 357, 357, 236, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 139, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 234, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 3, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 356, 357, 357,
- 357, 357, 357, 357, 357, 317, 357, 357, 316, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 340, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 67, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 71, 357, 286, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 324, 325, 357, 357,
- 357, 357, 357, 357, 357, 357, 72, 357, 357, 140,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 135, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 223, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 21, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 166, 357, 357, 357, 357, 357, 356, 340, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 111,
- 357, 357, 357, 357, 357, 357, 357, 294, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 192, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 165, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 110, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 35, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 36, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 69, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 138, 357, 357, 357, 356, 357,
- 357, 357, 357, 357, 130, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 70, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 256, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 193, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 57, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 274, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 62, 357, 63, 357, 357, 357,
- 357, 357, 114, 357, 115, 357, 357, 357, 357, 357,
- 112, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 7, 357, 357, 357, 357, 356, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 245, 357, 357,
- 357, 357, 169, 357, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 257,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 48,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 58,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 215, 357, 214, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 16, 17, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 73, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 222, 357, 357, 357,
- 357, 357, 357, 117, 357, 116, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 206, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 147, 357, 357, 357, 356, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 105, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 93, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 235, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 98, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 66, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 209, 210, 357, 357, 357,
-
- 288, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 6, 357, 357, 357, 357, 357,
- 357, 357, 307, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 292, 357, 357, 357, 357, 357, 357, 357, 318,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 45, 357, 357, 357, 357, 47,
- 357, 357, 357, 94, 357, 357, 357, 357, 357, 55,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
-
- 357, 356, 357, 202, 357, 357, 357, 142, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 227, 357,
- 203, 357, 357, 357, 242, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 56, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 144, 123, 357, 124,
- 357, 357, 357, 357, 122, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 162, 357, 357, 53, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 273, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 204, 357, 357, 357, 357,
- 357, 207, 357, 213, 357, 357, 357, 357, 357, 357,
- 241, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 109, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 136, 357,
- 357, 357, 357, 357, 357, 357, 357, 64, 357, 357,
- 357, 29, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 20, 357, 357, 357, 357, 357,
- 357, 30, 39, 357, 174, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 200,
- 357, 357, 356, 357, 357, 357, 357, 357, 357, 81,
- 83, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 296, 357, 357, 357, 357, 253,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 125, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 161, 357, 49, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
-
- 311, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 168, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 305, 357, 357, 357, 233, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 321,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 186, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 118, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 181, 357, 194, 357, 357,
-
- 357, 357, 357, 357, 357, 356, 357, 150, 357, 357,
- 357, 357, 357, 104, 357, 357, 357, 357, 225, 357,
- 357, 357, 357, 357, 357, 243, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 265, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 143, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 185, 357, 357, 357, 357, 357, 357, 84, 357,
- 85, 357, 357, 357, 357, 357, 357, 65, 314, 357,
- 357, 357, 357, 357, 92, 195, 357, 216, 357, 246,
-
- 357, 357, 208, 289, 357, 357, 357, 357, 357, 357,
- 77, 357, 197, 357, 357, 357, 357, 357, 357, 9,
- 357, 357, 357, 357, 357, 108, 357, 357, 357, 357,
- 357, 278, 357, 357, 357, 357, 224, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 356, 357, 357, 357, 357, 184, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 170, 357, 295, 357,
- 357, 357, 357, 357, 264, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 237, 357, 357, 357,
- 357, 357, 287, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 167, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 315, 357, 196,
- 357, 357, 357, 357, 357, 357, 357, 357, 76, 78,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 107, 357, 357, 357, 357, 357, 276, 357, 357, 357,
-
- 357, 291, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 229, 37, 31, 33, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 38, 357, 32, 34, 357, 357, 357, 357, 357,
- 357, 357, 357, 103, 357, 180, 357, 357, 357, 357,
- 357, 357, 357, 356, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 231, 228, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 75, 357, 357, 357, 145,
- 357, 126, 357, 357, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 163, 50, 357, 357, 357, 348, 13, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 309, 357, 312, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 12, 357, 357, 22, 357,
- 357, 357, 357, 357, 357, 282, 357, 357, 357, 357,
- 293, 357, 357, 357, 357, 79, 357, 239, 357, 357,
- 357, 357, 357, 230, 357, 357, 74, 357, 357, 357,
- 357, 357, 357, 23, 357, 357, 46, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 179,
- 178, 357, 357, 348, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 232, 226, 357, 244, 357, 357, 297,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 86, 357, 357, 357, 357, 357,
- 277, 357, 357, 357, 357, 212, 357, 357, 357, 357,
- 357, 238, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 284, 357, 357, 357, 319, 320, 176, 357, 357,
- 357, 80, 357, 357, 357, 357, 187, 357, 357, 357,
- 119, 121, 120, 357, 357, 357, 25, 357, 357, 171,
-
- 357, 173, 357, 217, 357, 357, 357, 357, 177, 357,
- 357, 357, 357, 247, 357, 357, 357, 357, 357, 357,
- 357, 152, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 255, 357, 357, 357, 357, 357,
- 357, 357, 328, 357, 27, 357, 290, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 90, 218, 357, 357, 357, 275, 357,
- 313, 357, 211, 357, 357, 357, 357, 357, 285, 59,
- 357, 357, 357, 357, 357, 357, 4, 357, 357, 357,
- 357, 134, 357, 151, 357, 357, 357, 191, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 250, 40, 41, 357,
- 357, 357, 357, 357, 357, 357, 298, 357, 357, 357,
- 357, 357, 357, 357, 263, 357, 357, 357, 357, 357,
- 357, 357, 357, 221, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 89, 357,
- 357, 60, 357, 281, 357, 251, 357, 357, 357, 357,
- 357, 11, 357, 357, 357, 357, 357, 357, 357, 357,
- 133, 357, 357, 357, 357, 357, 219, 95, 357, 357,
- 43, 357, 357, 357, 357, 357, 357, 357, 357, 183,
-
- 357, 357, 357, 357, 357, 357, 357, 154, 357, 357,
- 357, 357, 254, 357, 357, 357, 357, 357, 262, 357,
- 357, 357, 357, 148, 357, 357, 357, 127, 129, 128,
- 357, 357, 357, 97, 101, 96, 164, 357, 357, 357,
- 357, 87, 357, 283, 357, 357, 357, 357, 357, 357,
- 10, 357, 357, 357, 357, 357, 279, 322, 357, 357,
- 357, 357, 357, 357, 327, 42, 357, 357, 357, 357,
- 357, 182, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 102, 100, 357,
-
- 54, 357, 357, 88, 357, 310, 357, 357, 357, 357,
- 24, 357, 357, 357, 357, 357, 205, 357, 357, 357,
- 357, 357, 357, 220, 357, 357, 357, 357, 357, 357,
- 357, 357, 201, 357, 357, 172, 82, 357, 357, 357,
- 357, 357, 299, 357, 357, 357, 357, 357, 357, 357,
- 259, 357, 357, 258, 149, 357, 357, 99, 51, 357,
- 357, 155, 156, 159, 160, 157, 158, 91, 308, 357,
- 357, 280, 137, 357, 357, 357, 26, 357, 175, 357,
- 357, 357, 357, 199, 357, 249, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 357, 357, 357, 357, 357, 189, 188, 44,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 306, 357, 357, 357, 357, 106, 357,
- 248, 357, 272, 303, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 329, 357, 52, 61, 5,
- 357, 357, 240, 357, 357, 304, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 260, 28, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 261,
- 357, 357, 357, 153, 357, 357, 357, 357, 357, 357,
-
- 357, 357, 190, 357, 198, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 300, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 326, 357, 357, 268, 357, 357, 357, 357,
- 357, 301, 357, 357, 357, 357, 357, 357, 302, 357,
- 357, 357, 266, 357, 269, 270, 357, 357, 357, 357,
- 357, 267, 271, 0
+ 1, 1, 335, 335, 339, 339, 343, 343, 347, 347,
+ 1, 1, 351, 351, 355, 355, 362, 359, 1, 333,
+ 333, 360, 2, 360, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 335, 336, 336, 337,
+ 360, 339, 340, 340, 341, 360, 346, 343, 344, 344,
+ 345, 360, 347, 348, 348, 349, 360, 358, 334, 2,
+ 338, 360, 358, 354, 351, 352, 352, 353, 360, 355,
+ 356, 356, 357, 360, 359, 0, 1, 2, 2, 2,
+ 2, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 335,
+ 0, 339, 0, 346, 0, 343, 347, 0, 358, 0,
+ 2, 2, 358, 354, 0, 351, 355, 0, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 358, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 332, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 131, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 141, 359, 359, 359, 359, 359, 359,
+ 359, 358, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 113, 359, 331, 359, 359, 359, 359, 359,
+ 359, 359, 359, 8, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 132, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 146, 359,
+ 359, 358, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 324, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 358, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 68, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 253, 359, 14, 15, 359, 19, 18, 359,
+ 359, 237, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 139, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 235, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 3, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 358, 359, 359, 359, 359, 359, 359,
+ 359, 318, 359, 359, 317, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 342, 359, 359, 359, 359,
+ 359, 359, 359, 359, 67, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 71, 359, 287, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 325, 326, 359, 359, 359, 359, 359,
+ 359, 359, 359, 72, 359, 359, 140, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 135, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 224, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 21, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 166, 359, 359,
+ 359, 359, 359, 358, 342, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 111, 359, 359, 359,
+ 359, 359, 359, 359, 295, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 193, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 165, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 110, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 35, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 36, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 69, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 138, 359, 359, 359, 358, 359, 359, 359,
+ 359, 359, 130, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 70, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 257, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 194, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 57, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 275, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 62, 359, 63, 359, 359, 359, 359,
+ 359, 114, 359, 115, 359, 359, 359, 359, 359, 112,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 7, 359, 359, 359, 359, 358, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 246, 359, 359, 359,
+
+ 359, 169, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 258, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 48,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 58,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 216, 359, 215, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 16, 17, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 73, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 223, 359, 359, 359,
+ 359, 359, 359, 117, 359, 116, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 207, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 147, 359, 359, 359, 358, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 105, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 93, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 236, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 98, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 66, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 210, 211, 359, 359,
+ 359, 289, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 6, 359, 359, 359, 359,
+ 359, 359, 359, 308, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 293, 359, 359, 359, 359, 359, 359, 359,
+ 319, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 45, 359, 359, 359, 359,
+ 47, 359, 359, 359, 94, 359, 359, 359, 359, 359,
+
+ 55, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 358, 359, 203, 359, 359, 359, 142, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 228,
+ 359, 204, 359, 359, 359, 243, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 56, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 144, 123,
+ 359, 124, 359, 359, 359, 359, 122, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 162, 359, 359, 53,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 359, 274, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 205, 359, 359,
+ 359, 359, 359, 208, 359, 214, 359, 359, 359, 359,
+ 359, 359, 242, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 109, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 136, 359, 359, 359, 359, 359, 359, 359, 359, 64,
+ 359, 359, 359, 29, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 20, 359, 359, 359,
+
+ 359, 359, 359, 30, 39, 359, 174, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 201, 359, 359, 358, 359, 359, 359, 359, 359,
+ 359, 81, 83, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 297, 359, 359, 359,
+ 359, 254, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 125, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 161, 359, 49,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 312, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 168, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 306, 359, 359,
+ 359, 234, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 322, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 186, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 118, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 359, 359, 181, 359,
+ 195, 359, 359, 359, 359, 359, 359, 359, 358, 359,
+ 150, 359, 359, 359, 359, 359, 104, 359, 359, 359,
+ 359, 226, 359, 359, 359, 359, 359, 359, 244, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 266, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 143, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 185, 359, 359, 359, 359,
+ 359, 359, 84, 359, 85, 359, 359, 359, 359, 359,
+
+ 359, 65, 315, 359, 359, 359, 359, 359, 92, 196,
+ 359, 217, 359, 247, 359, 359, 209, 290, 359, 359,
+ 359, 359, 359, 359, 77, 359, 198, 359, 359, 359,
+ 359, 359, 359, 9, 359, 359, 359, 359, 359, 108,
+ 359, 359, 359, 359, 359, 279, 359, 359, 359, 359,
+ 225, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 358, 359, 359, 359, 359, 184,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 170, 359, 296, 359, 359, 359, 359, 359, 265, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 238, 359, 359, 359, 359, 359, 359, 288, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 167, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 316, 359, 197, 359, 359, 359, 359, 359,
+ 359, 359, 359, 76, 78, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 107, 359, 359, 359, 359,
+ 359, 277, 359, 359, 359, 359, 292, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 230, 37, 31, 33, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 38, 359, 32, 34,
+ 359, 359, 359, 359, 359, 359, 359, 359, 103, 359,
+ 180, 359, 359, 359, 359, 359, 359, 359, 358, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 232, 229, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 75, 359, 359, 359, 145, 359, 126, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 163, 50,
+ 359, 359, 359, 350, 13, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 310, 359, 313, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 12, 359, 359, 22, 359, 359, 359, 359, 359,
+ 359, 283, 359, 359, 359, 359, 294, 359, 359, 359,
+ 359, 79, 359, 240, 359, 359, 359, 359, 359, 231,
+ 359, 359, 74, 359, 359, 359, 359, 359, 359, 23,
+ 359, 359, 46, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 179, 178, 359, 359, 350,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 233,
+ 227, 359, 245, 359, 359, 298, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 191, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 86, 359, 359, 359, 359, 359, 278, 359, 359,
+ 359, 359, 213, 359, 359, 359, 359, 359, 239, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 285, 359,
+ 359, 359, 320, 321, 176, 359, 359, 359, 80, 359,
+
+ 359, 359, 359, 187, 359, 359, 359, 119, 121, 120,
+ 359, 359, 359, 25, 359, 359, 171, 359, 173, 359,
+ 218, 359, 359, 359, 359, 177, 359, 359, 359, 359,
+ 248, 359, 359, 359, 359, 359, 359, 359, 152, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 256, 359, 359, 359, 359, 359, 359, 359, 329,
+ 359, 27, 359, 291, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 90, 219, 359, 359, 359, 276, 359, 314, 359, 212,
+ 359, 359, 359, 359, 359, 286, 59, 359, 359, 359,
+
+ 359, 359, 359, 4, 359, 359, 359, 359, 134, 359,
+ 151, 359, 359, 359, 192, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 251, 40, 41, 359, 359, 359, 359,
+ 359, 359, 359, 299, 359, 359, 359, 359, 359, 359,
+ 359, 264, 359, 359, 359, 359, 359, 359, 359, 359,
+ 222, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 89, 359, 359, 60, 359,
+ 282, 359, 252, 359, 359, 359, 359, 359, 11, 359,
+ 359, 359, 359, 359, 359, 359, 359, 133, 359, 359,
+
+ 359, 359, 359, 220, 95, 359, 359, 43, 359, 359,
+ 359, 359, 359, 359, 359, 359, 183, 359, 359, 359,
+ 359, 359, 359, 359, 154, 359, 359, 359, 359, 255,
+ 359, 359, 359, 359, 359, 263, 359, 359, 359, 359,
+ 148, 359, 359, 359, 127, 129, 128, 359, 359, 359,
+ 97, 101, 96, 164, 359, 359, 359, 359, 87, 359,
+ 284, 359, 359, 359, 359, 359, 359, 10, 359, 359,
+ 359, 359, 359, 280, 323, 359, 359, 359, 359, 359,
+ 359, 328, 42, 359, 359, 359, 359, 359, 182, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 102, 100, 359, 54, 359, 359,
+ 88, 359, 311, 359, 359, 359, 359, 24, 359, 359,
+ 359, 359, 359, 206, 359, 359, 359, 359, 359, 359,
+ 221, 359, 359, 359, 359, 359, 359, 359, 359, 202,
+ 359, 359, 172, 82, 359, 359, 359, 359, 359, 300,
+ 359, 359, 359, 359, 359, 359, 359, 260, 359, 359,
+ 259, 149, 359, 359, 99, 51, 359, 359, 155, 156,
+ 159, 160, 157, 158, 91, 309, 359, 359, 281, 137,
+ 359, 359, 359, 26, 359, 175, 359, 359, 359, 359,
+
+ 200, 359, 250, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 189, 188, 44, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 307, 359, 359, 359, 359, 106, 359, 249, 359, 273,
+ 304, 359, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 330, 359, 52, 61, 5, 359, 359, 241,
+ 359, 359, 305, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 261, 28, 359, 359, 359, 359, 359, 359,
+
+ 359, 359, 359, 359, 359, 359, 262, 359, 359, 359,
+ 153, 359, 359, 359, 359, 359, 359, 359, 359, 190,
+ 359, 199, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 301, 359, 359, 359, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 359, 359, 359, 327,
+ 359, 359, 269, 359, 359, 359, 359, 359, 302, 359,
+ 359, 359, 359, 359, 359, 303, 359, 359, 359, 267,
+ 359, 270, 271, 359, 359, 359, 359, 359, 268, 272,
+ 0
} ;
-static const YY_CHAR yy_ec[256] =
+static yyconst flex_int32_t yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1
} ;
-static const YY_CHAR yy_meta[41] =
+static yyconst flex_int32_t yy_meta[41] =
{ 0,
1, 2, 3, 4, 5, 1, 6, 1, 1, 1,
1, 1, 7, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1
} ;
-static const flex_int16_t yy_base[3583] =
+static yyconst flex_int16_t yy_base[3600] =
{ 0,
0, 0, 38, 41, 44, 46, 59, 65, 71, 77,
- 90, 112, 96, 118, 124, 136, 3060, 2545, 81, 6961,
- 6961, 6961, 129, 52, 130, 63, 131, 152, 70, 140,
+ 90, 112, 96, 118, 124, 136, 3575, 3402, 81, 6988,
+ 6988, 6988, 129, 52, 130, 63, 131, 152, 70, 140,
149, 156, 57, 88, 76, 173, 175, 95, 197, 145,
- 185, 199, 208, 213, 178, 123, 2505, 6961, 6961, 6961,
- 107, 2460, 6961, 6961, 6961, 154, 2315, 2089, 6961, 6961,
- 6961, 245, 2007, 6961, 6961, 6961, 163, 1936, 6961, 249,
- 6961, 253, 148, 1835, 1793, 6961, 6961, 6961, 257, 1696,
- 6961, 6961, 6961, 233, 1543, 263, 201, 0, 267, 0,
+ 185, 199, 208, 213, 178, 123, 3157, 6988, 6988, 6988,
+ 107, 3007, 6988, 6988, 6988, 154, 2921, 2724, 6988, 6988,
+ 6988, 245, 2657, 6988, 6988, 6988, 163, 2514, 6988, 249,
+ 6988, 253, 148, 2451, 2274, 6988, 6988, 6988, 257, 2084,
+ 6988, 6988, 6988, 233, 2039, 263, 201, 0, 267, 0,
0, 165, 191, 221, 252, 205, 181, 265, 92, 261,
216, 263, 271, 272, 210, 279, 274, 282, 278, 291,
317, 311, 315, 319, 321, 331, 327, 332, 336, 322,
339, 337, 346, 345, 347, 348, 353, 351, 357, 284,
358, 359, 369, 360, 380, 365, 381, 379, 375, 366,
- 367, 389, 390, 394, 393, 395, 396, 403, 404, 1277,
- 419, 1241, 422, 1199, 429, 1020, 925, 433, 779, 437,
- 441, 0, 433, 705, 447, 479, 287, 452, 411, 445,
+ 367, 389, 390, 394, 393, 395, 396, 403, 404, 1818,
+ 419, 1516, 422, 1248, 429, 1205, 1013, 433, 984, 437,
+ 441, 0, 433, 780, 447, 527, 467, 452, 411, 445,
426, 446, 447, 448, 449, 450, 451, 453, 452, 456,
- 470, 234, 463, 473, 481, 479, 476, 483, 486, 487,
-
- 488, 489, 491, 492, 501, 500, 502, 505, 508, 510,
- 511, 460, 509, 513, 527, 515, 516, 519, 538, 529,
- 540, 543, 539, 548, 555, 400, 550, 551, 558, 553,
- 560, 561, 571, 562, 566, 567, 570, 569, 573, 577,
- 574, 580, 578, 583, 584, 598, 595, 585, 601, 586,
- 594, 596, 612, 602, 611, 362, 607, 610, 619, 624,
- 609, 627, 620, 623, 629, 634, 631, 641, 636, 639,
- 640, 642, 644, 643, 646, 647, 648, 656, 659, 660,
- 664, 667, 657, 668, 658, 670, 673, 674, 683, 675,
- 685, 679, 689, 688, 690, 692, 694, 696, 695, 697,
-
- 700, 703, 708, 704, 713, 714, 721, 719, 724, 717,
- 726, 733, 728, 729, 730, 731, 734, 736, 732, 737,
- 738, 742, 745, 743, 753, 754, 755, 759, 758, 774,
- 763, 764, 771, 784, 765, 767, 769, 775, 796, 785,
- 798, 799, 800, 803, 804, 801, 808, 807, 809, 811,
- 823, 813, 820, 826, 827, 829, 830, 837, 832, 6961,
- 834, 836, 848, 847, 850, 853, 843, 859, 860, 839,
- 870, 866, 863, 881, 903, 867, 871, 873, 876, 872,
- 6961, 893, 883, 927, 885, 889, 911, 895, 907, 913,
- 916, 909, 914, 921, 923, 917, 920, 944, 945, 935,
-
- 936, 947, 952, 951, 959, 960, 954, 958, 963, 971,
- 964, 967, 973, 982, 972, 969, 975, 976, 877, 984,
- 993, 994, 995, 981, 988, 999, 1001, 1002, 1009, 1032,
- 1011, 1012, 1020, 1006, 1014, 1028, 1026, 1024, 1034, 1033,
- 1035, 1007, 1041, 1039, 1044, 1051, 1048, 1054, 1063, 1058,
- 1059, 1060, 1064, 1065, 1066, 1068, 1071, 1072, 1073, 1076,
- 1077, 1083, 1084, 1088, 1092, 1078, 1093, 1086, 6961, 1100,
- 6961, 1095, 1098, 1102, 1103, 1104, 1105, 1107, 1109, 6961,
- 1111, 1114, 1113, 1120, 1124, 1117, 1128, 1130, 1136, 1137,
- 1138, 1139, 1140, 1142, 1149, 1144, 1154, 1152, 1147, 1158,
-
- 1156, 1159, 1115, 1160, 1162, 1166, 1167, 1168, 1169, 1188,
- 6961, 1172, 1174, 1175, 1181, 1179, 1186, 1184, 1193, 1201,
- 1203, 1211, 1205, 1213, 1215, 1212, 1217, 1173, 1219, 1223,
- 1225, 1228, 1229, 1231, 1232, 1234, 1235, 1237, 1238, 1240,
- 1239, 1247, 1250, 1251, 6961, 1252, 1254, 1255, 1268, 1263,
- 1264, 1267, 1269, 1270, 1271, 1272, 1274, 1278, 517, 1273,
- 1291, 1288, 1284, 1298, 1293, 1294, 1295, 1299, 1301, 1300,
- 1302, 1304, 1313, 1310, 1316, 1325, 1328, 1327, 1330, 1337,
- 1339, 1319, 1332, 1342, 1336, 1334, 1335, 1346, 1347, 1348,
- 1350, 1351, 1360, 1356, 1357, 1359, 1358, 1364, 1365, 1367,
-
- 1362, 1368, 1370, 1372, 1374, 1381, 1379, 1385, 1390, 1386,
- 1391, 1387, 1380, 1395, 1403, 1397, 1406, 6961, 1413, 1308,
- 1409, 1410, 1415, 1416, 1417, 1418, 1423, 1424, 1425, 1427,
- 1426, 1429, 1430, 1433, 1435, 1437, 1440, 1442, 1450, 1445,
- 1455, 1462, 1461, 1443, 1447, 1457, 1463, 1467, 1466, 1474,
- 1470, 1479, 1478, 1469, 1482, 1489, 1480, 1484, 1486, 1496,
- 1476, 1492, 1498, 1499, 1507, 1502, 1504, 1510, 1518, 1514,
- 1515, 1522, 1523, 1500, 1527, 1517, 1531, 1532, 1534, 1535,
- 1537, 1538, 1545, 1540, 1542, 1546, 1547, 1541, 1548, 1554,
- 1549, 1569, 1555, 1560, 1565, 1568, 1570, 1571, 1572, 1578,
-
- 1573, 1579, 1580, 1581, 1583, 1592, 1584, 1582, 1593, 1594,
- 1601, 1595, 1603, 1602, 1604, 1611, 1610, 1614, 1615, 1605,
- 1616, 1620, 1626, 1627, 1628, 1631, 1630, 1635, 1638, 1636,
- 1640, 1642, 1648, 1649, 1650, 1652, 1633, 1656, 1659, 1664,
- 1667, 1661, 6961, 1657, 1675, 1651, 1673, 1674, 1653, 1679,
- 1687, 1680, 1682, 1683, 1684, 1685, 1710, 6961, 1691, 6961,
- 6961, 1690, 6961, 6961, 1693, 1692, 6961, 1694, 1695, 1708,
- 1699, 1713, 1716, 1720, 1718, 1711, 1721, 1733, 1742, 1728,
- 1734, 1726, 1735, 1751, 1738, 1752, 1740, 1750, 1758, 1759,
- 1757, 1764, 1771, 1766, 1775, 1768, 1779, 1777, 1780, 1786,
-
- 1787, 1791, 1793, 1788, 1794, 1797, 1796, 1798, 1799, 1802,
- 1804, 1723, 1805, 1808, 1809, 1810, 1818, 1815, 1823, 1830,
- 6961, 1828, 1831, 1827, 1840, 1836, 1843, 1811, 1838, 1839,
- 1849, 1851, 1845, 1842, 1852, 1854, 1855, 1856, 1859, 1861,
- 1864, 1867, 1865, 1869, 1872, 1870, 6961, 1877, 1878, 1871,
- 1879, 1881, 1882, 1883, 1891, 1892, 1893, 1894, 1904, 1896,
- 1899, 1897, 1901, 1906, 1908, 1909, 1911, 6961, 1916, 1924,
- 1913, 1921, 1919, 1925, 1928, 1929, 1930, 1933, 1931, 1935,
- 1937, 1938, 1947, 1943, 1944, 1946, 1949, 1953, 1958, 1961,
- 1959, 1960, 1971, 1963, 1966, 1972, 1974, 1975, 1976, 1977,
-
- 1978, 1980, 1985, 1990, 1987, 1995, 1988, 1991, 1998, 2009,
- 2004, 1993, 2005, 2010, 2006, 2013, 2022, 2024, 2020, 2019,
- 2021, 2032, 2028, 2030, 2031, 2033, 2036, 2041, 2042, 2043,
- 2044, 2046, 2050, 2051, 2053, 6961, 2055, 2059, 6961, 2058,
- 2060, 2061, 2083, 2062, 2065, 2066, 2075, 2064, 2087, 2078,
- 2076, 2095, 2084, 2102, 2097, 2103, 2105, 2107, 2108, 2112,
- 2110, 2111, 2114, 2116, 2118, 2120, 2128, 2137, 2138, 2140,
- 2134, 2142, 2119, 2143, 2067, 2163, 2144, 2145, 2146, 2147,
- 2148, 2152, 2153, 2151, 2154, 2155, 2165, 2170, 2172, 2173,
- 2175, 2158, 2179, 2180, 2181, 2191, 2188, 2185, 6961, 2200,
-
- 2193, 2197, 2201, 2202, 2209, 2207, 2204, 6961, 2208, 2210,
- 2211, 2220, 2213, 2218, 2221, 2224, 2225, 2228, 2229, 2231,
- 2233, 2230, 2232, 2251, 6961, 2234, 6961, 2238, 2235, 2253,
- 2243, 2246, 2247, 2254, 2256, 2259, 6961, 6961, 2263, 2257,
- 2270, 2273, 2278, 2274, 2275, 2276, 6961, 2277, 2285, 6961,
- 2287, 2292, 2280, 2281, 2282, 2286, 2296, 2297, 2305, 2300,
- 2308, 2303, 2306, 2307, 6961, 2313, 2316, 2310, 2317, 2323,
- 2324, 2325, 2327, 2330, 2326, 6961, 2333, 2329, 2336, 2343,
- 2347, 2341, 2344, 2348, 2352, 2349, 2354, 2355, 2356, 2357,
- 2364, 2366, 2369, 2371, 2372, 2374, 2378, 2385, 6961, 2381,
-
- 2380, 2382, 2390, 2387, 2389, 2391, 2394, 2393, 2395, 2396,
- 2401, 2397, 2405, 2406, 2407, 2409, 2418, 2421, 2416, 2417,
- 2426, 2413, 2420, 2423, 2427, 2365, 2429, 2430, 2433, 2436,
- 6961, 2437, 2441, 2438, 2443, 2444, 2442, 171, 2450, 2451,
- 2453, 2454, 2458, 2469, 2455, 2463, 2476, 2471, 2472, 2478,
- 2474, 2481, 2482, 2483, 2484, 2473, 2486, 2485, 2489, 6961,
- 2491, 2497, 2494, 2498, 2501, 2502, 2504, 6961, 2506, 2514,
- 2516, 2525, 2519, 2503, 2527, 2528, 2531, 2529, 2532, 2533,
- 2534, 2535, 2536, 2542, 2539, 6961, 2544, 2551, 2554, 2541,
- 2555, 2562, 2548, 2563, 2564, 2565, 2568, 2567, 2569, 2573,
-
- 2570, 2572, 2574, 2575, 2583, 2594, 2577, 2586, 2587, 2590,
- 2591, 2595, 2599, 2600, 2601, 2608, 2603, 6961, 2615, 2604,
- 2612, 2613, 2611, 2614, 2617, 2620, 2634, 2624, 2627, 2629,
- 2635, 2644, 2637, 2638, 2646, 2654, 2651, 2639, 2664, 2660,
- 2661, 2668, 2659, 2670, 2672, 2662, 2673, 2684, 2674, 2676,
- 2681, 2679, 2685, 2694, 2695, 2687, 2697, 2698, 2690, 2700,
- 2702, 2712, 2717, 2707, 6961, 2719, 2709, 2720, 2721, 2728,
- 2725, 2726, 2731, 2729, 2732, 2733, 2735, 2737, 2745, 2746,
- 2744, 2742, 2749, 2753, 2755, 2757, 2760, 2759, 2740, 2768,
- 2762, 2764, 2771, 2772, 6961, 2775, 2776, 2780, 2782, 2784,
-
- 2785, 2787, 2788, 2790, 2792, 2793, 2794, 2797, 2798, 2800,
- 2801, 2802, 2809, 2806, 2807, 2808, 2812, 6961, 2820, 2819,
- 2821, 2824, 2827, 2825, 2831, 2837, 2839, 2828, 2841, 2835,
- 2842, 2843, 2845, 6961, 2855, 2857, 2847, 2854, 2862, 2860,
- 2861, 2863, 2865, 2866, 6961, 2867, 2870, 2868, 2875, 2871,
- 2873, 2882, 2883, 2879, 6961, 2887, 2884, 2889, 2892, 2893,
- 2894, 2895, 2899, 2897, 2901, 2902, 2906, 2915, 2907, 2916,
- 6961, 2903, 2924, 2910, 2925, 2919, 2929, 2931, 2932, 2933,
- 2935, 2937, 2940, 6961, 2942, 2945, 2948, 2957, 2952, 2953,
- 2955, 2958, 2960, 2962, 2961, 2964, 2966, 6961, 2968, 2967,
-
- 2970, 2974, 2972, 2977, 2978, 2989, 2984, 2987, 2990, 2991,
- 2992, 2993, 2994, 2999, 3010, 3001, 2998, 3000, 3002, 3014,
- 3012, 3019, 3018, 3022, 3026, 3030, 3025, 3031, 3034, 3029,
- 3036, 3037, 3040, 3047, 3048, 3049, 3050, 3053, 6961, 3056,
- 3057, 3059, 3044, 3060, 3063, 3064, 3066, 3069, 3065, 3067,
- 3071, 3074, 3078, 3087, 3090, 3080, 3082, 3091, 3092, 3093,
- 3094, 3095, 3096, 3101, 3104, 3103, 3105, 3106, 3113, 3109,
- 3112, 3121, 3117, 3120, 3122, 3123, 3124, 3126, 3127, 3129,
- 3130, 3134, 3133, 3135, 3138, 3146, 3156, 3153, 3147, 3149,
- 3157, 3159, 3161, 6961, 3160, 3164, 3168, 3165, 3170, 3174,
-
- 3171, 3181, 3177, 3182, 3190, 3188, 3187, 3194, 3179, 3189,
- 3196, 3197, 3206, 3202, 6961, 3203, 6961, 3204, 3208, 3209,
- 3218, 3211, 6961, 3215, 6961, 3216, 3223, 3220, 3224, 3226,
- 6961, 3227, 3228, 3232, 3229, 3233, 3234, 3239, 3237, 3241,
- 3243, 3245, 3246, 3255, 3244, 3250, 3251, 3257, 3266, 3256,
- 3261, 3263, 3269, 3272, 3274, 3273, 3280, 3275, 3282, 3283,
- 3285, 3286, 3287, 6961, 3291, 3295, 3296, 3299, 3300, 3288,
- 3303, 3302, 3310, 3307, 3311, 3308, 3314, 3315, 3319, 3320,
- 3323, 3325, 3331, 3336, 3343, 3326, 3344, 6961, 3339, 3348,
- 3330, 3350, 6961, 3352, 3327, 3354, 3358, 3360, 3361, 3362,
-
- 3363, 3364, 3367, 3368, 3369, 3370, 3378, 3381, 3384, 6961,
- 3382, 3390, 3371, 3394, 3393, 3404, 3405, 3401, 3407, 3409,
- 3417, 3413, 3402, 3412, 3400, 3414, 3420, 3422, 3427, 3431,
- 3424, 3432, 3428, 3433, 3436, 3437, 3439, 3440, 3443, 3441,
- 3444, 3445, 3449, 3446, 3447, 3448, 3340, 3450, 3466, 6961,
- 3453, 3455, 3468, 3476, 3454, 3471, 3475, 3477, 3478, 6961,
- 3480, 3482, 3483, 3484, 3485, 3489, 3492, 3490, 3493, 3494,
- 3497, 3498, 3501, 3500, 6961, 3507, 6961, 3508, 3515, 3520,
- 3524, 3509, 3517, 3525, 3530, 3526, 3531, 3532, 3538, 3540,
- 3534, 3536, 3542, 3543, 3546, 3547, 3554, 3560, 3557, 3549,
-
- 3561, 3563, 3565, 3566, 3573, 3570, 3568, 6961, 6961, 3571,
- 3576, 3577, 3583, 3584, 3585, 3587, 3589, 3592, 3591, 3595,
- 3600, 3611, 6961, 3603, 3604, 3606, 3607, 3608, 3620, 3613,
- 3624, 3621, 3625, 3626, 3633, 3629, 6961, 3632, 3634, 3642,
- 3637, 3638, 3645, 6961, 3375, 6961, 3643, 3644, 3646, 3649,
- 3651, 3655, 3653, 3658, 3659, 3654, 3660, 3670, 3677, 3679,
- 3675, 3681, 3676, 3682, 3678, 3684, 3685, 3692, 3687, 3689,
- 3690, 6961, 3694, 3695, 3699, 3701, 3702, 3707, 3711, 3704,
- 3710, 6961, 3714, 3717, 3718, 3719, 3720, 3724, 3727, 3728,
- 3729, 3737, 3730, 3732, 3738, 3741, 6961, 3742, 3734, 3749,
-
- 3745, 3747, 3752, 3756, 3759, 3764, 6961, 3766, 3751, 3773,
- 3769, 3770, 3772, 3775, 3776, 3777, 3779, 3780, 3781, 3783,
- 3784, 3789, 3785, 3787, 3794, 3790, 3802, 3804, 3791, 3812,
- 3819, 3805, 6961, 3808, 3815, 3817, 3818, 3820, 3821, 3823,
- 3829, 3831, 3825, 3840, 3841, 3832, 3836, 3843, 3847, 3844,
- 3855, 3851, 6961, 3856, 3852, 3865, 3858, 3860, 3866, 3862,
- 3867, 3868, 3872, 3874, 3875, 3876, 3877, 3878, 3883, 3886,
- 3890, 3891, 3892, 3893, 3900, 3895, 6961, 3907, 3884, 3897,
- 3914, 3908, 3905, 3923, 3918, 3921, 3922, 3925, 3926, 3928,
- 3930, 3931, 3932, 3935, 3936, 6961, 6961, 3938, 3939, 3940,
-
- 6961, 3942, 3944, 3954, 3945, 3947, 3955, 3957, 3959, 3958,
- 3960, 3962, 3968, 3969, 6961, 3977, 3970, 3979, 3978, 3974,
- 3988, 3987, 6961, 3980, 3990, 3992, 3995, 3993, 3983, 3996,
- 4001, 3997, 4005, 4006, 4007, 4010, 4018, 4019, 4014, 4016,
- 4017, 6961, 4020, 4022, 4023, 4026, 4027, 4029, 4030, 6961,
- 4035, 4032, 4038, 4041, 4043, 4050, 4042, 4053, 4056, 4057,
- 4058, 4060, 4061, 4062, 4063, 4065, 4073, 4059, 4071, 4070,
- 4068, 4088, 4089, 4076, 6961, 4084, 4091, 4074, 4096, 6961,
- 4098, 4105, 4106, 6961, 4109, 4092, 4108, 4110, 4117, 6961,
- 4112, 4115, 4114, 4120, 4116, 4129, 4125, 4133, 4131, 4132,
-
- 4128, 4134, 4137, 6961, 4138, 4135, 4140, 6961, 4143, 4152,
- 4156, 4158, 4142, 4165, 4160, 4163, 4161, 4164, 6961, 4169,
- 6961, 4172, 4170, 4176, 6961, 4171, 4178, 4179, 4181, 4185,
- 4186, 4187, 4193, 4189, 4195, 4197, 4198, 4199, 4200, 4202,
- 4209, 4201, 4205, 4208, 4210, 6961, 4211, 4213, 4220, 4217,
- 4221, 4225, 4227, 4228, 4230, 4232, 6961, 6961, 4241, 6961,
- 4233, 4238, 4242, 4243, 6961, 4246, 4248, 4250, 4247, 4251,
- 4253, 4256, 4266, 4136, 6961, 4268, 4269, 6961, 4257, 4271,
- 4278, 4273, 4275, 4263, 4276, 4283, 4279, 4260, 4286, 4289,
- 4290, 4291, 4292, 4293, 4300, 6961, 4294, 4297, 4295, 4310,
-
- 4299, 4304, 4312, 4311, 4313, 6961, 4321, 4323, 4322, 4327,
- 4328, 6961, 4329, 6961, 4330, 4334, 4337, 4339, 4331, 4342,
- 6961, 4344, 4345, 4352, 4347, 4353, 4354, 4355, 4357, 4361,
- 4363, 4364, 4371, 4367, 4369, 4366, 4376, 4377, 6961, 4368,
- 4374, 4390, 4391, 4383, 4380, 4386, 4399, 4396, 4398, 4397,
- 4402, 4404, 4405, 4407, 4411, 4413, 4409, 4416, 6961, 4419,
- 4420, 4424, 4421, 4431, 4427, 4428, 4433, 6961, 4435, 4436,
- 4438, 6961, 4440, 4444, 4446, 4449, 4450, 4451, 4452, 4456,
- 4454, 4457, 4458, 4460, 6961, 4462, 4463, 4461, 4477, 4478,
- 4467, 6961, 6961, 4480, 6961, 4484, 4466, 4485, 4487, 4488,
-
- 4492, 4494, 4495, 4497, 4491, 4498, 4502, 4503, 4507, 6961,
- 4510, 4518, 4511, 4522, 4525, 4530, 4523, 4527, 4514, 6961,
- 6961, 4532, 4536, 4538, 4540, 4541, 4543, 4528, 4550, 4548,
- 4556, 4559, 4549, 4566, 6961, 4561, 4552, 4563, 4564, 6961,
- 4545, 4568, 4569, 4571, 4574, 4575, 4578, 4576, 4577, 4580,
- 4588, 4581, 4583, 4590, 4589, 4591, 4599, 4597, 4600, 4601,
- 4603, 4607, 6961, 4604, 4608, 4610, 4613, 4617, 4618, 4619,
- 4620, 4622, 4623, 4630, 6961, 4628, 6961, 4626, 4631, 4646,
- 4633, 4636, 4648, 4649, 4650, 4651, 4655, 4657, 4658, 4661,
- 4663, 4667, 4662, 4668, 4671, 4673, 4675, 4679, 4683, 4680,
-
- 6961, 4686, 4676, 4688, 4625, 4690, 4693, 4694, 4698, 4699,
- 4701, 4695, 4702, 4704, 4706, 4709, 4711, 4712, 4714, 4715,
- 6961, 4716, 4719, 4722, 4725, 4726, 4727, 4730, 4735, 4739,
- 4743, 4731, 4733, 4745, 6961, 4737, 4746, 4754, 6961, 4749,
- 4751, 4756, 4757, 4758, 4760, 4761, 4763, 4767, 4770, 6961,
- 4774, 4764, 4771, 4775, 4776, 4777, 4781, 4783, 4786, 4788,
- 4790, 4798, 6961, 4799, 4791, 4800, 4802, 4804, 4806, 4810,
- 4808, 4811, 6961, 4812, 4815, 4821, 4823, 4828, 4830, 4814,
- 4825, 4833, 4834, 4836, 4832, 4842, 4843, 4844, 4845, 4847,
- 4849, 4848, 4865, 4866, 4863, 6961, 4850, 6961, 4851, 4852,
-
- 4868, 4878, 4873, 4875, 4876, 4880, 4879, 6961, 4881, 4886,
- 4888, 4883, 4891, 6961, 4892, 4889, 4893, 4894, 6961, 4907,
- 4890, 4896, 4903, 4912, 4913, 6961, 4918, 4919, 4920, 4927,
- 4929, 4924, 4931, 4926, 4934, 4932, 4928, 4936, 4937, 4945,
- 4943, 4941, 6961, 4947, 4949, 4954, 4956, 4950, 4958, 4948,
- 4960, 4963, 4965, 6961, 4966, 4969, 4970, 4972, 4973, 4975,
- 4974, 4976, 4983, 4980, 4984, 4982, 4988, 4991, 4993, 4995,
- 4997, 6961, 4999, 5001, 5003, 5012, 5005, 5002, 6961, 5009,
- 6961, 5014, 5019, 5021, 5022, 5015, 5026, 6961, 6961, 5029,
- 5036, 5023, 5032, 5034, 6961, 6961, 5038, 6961, 5039, 6961,
-
- 5040, 5042, 6961, 6961, 5044, 5045, 5046, 5047, 5048, 5051,
- 6961, 5056, 6961, 5065, 5060, 5061, 5063, 5064, 5068, 6961,
- 5066, 5069, 5070, 5075, 5077, 6961, 5074, 5078, 5094, 5081,
- 5089, 6961, 5091, 5092, 5093, 5096, 6961, 5097, 5101, 5102,
- 5103, 5106, 5105, 5108, 5109, 5110, 5116, 5117, 5120, 5119,
- 5122, 5123, 5127, 5132, 5134, 5136, 5137, 5138, 5140, 5143,
- 5146, 5150, 5141, 5148, 5152, 5154, 5155, 5157, 5159, 5160,
- 5162, 5166, 5167, 5163, 5170, 5169, 5171, 5180, 5172, 5182,
- 5184, 5186, 5188, 5189, 5190, 5193, 5194, 5197, 5198, 5199,
- 5196, 5203, 5200, 5207, 5212, 6961, 5205, 5213, 5214, 5216,
-
- 5217, 5221, 5224, 5233, 5239, 5240, 6961, 5242, 6961, 5244,
- 5228, 5225, 5230, 5247, 6961, 5234, 5248, 5250, 5251, 5252,
- 5253, 5255, 5256, 5259, 5260, 5263, 6961, 5268, 5265, 5258,
- 5274, 5270, 6961, 5275, 5282, 5285, 5286, 5287, 5288, 5291,
- 5289, 5290, 5293, 5292, 5294, 5297, 5299, 5300, 5310, 5312,
- 6961, 5314, 5316, 5323, 5319, 5321, 5322, 5324, 5325, 5326,
- 5329, 5327, 5334, 5331, 5343, 5348, 5345, 6961, 5332, 6961,
- 5349, 5335, 5352, 5353, 5355, 5356, 5357, 5359, 6961, 6961,
- 5362, 5363, 5365, 5367, 5369, 5370, 5372, 5374, 5375, 5376,
- 6961, 5379, 5383, 5387, 5393, 5386, 6961, 5395, 5396, 5397,
-
- 5401, 6961, 5402, 5398, 5404, 5405, 5412, 5403, 5419, 5415,
- 5421, 5409, 5423, 5413, 5427, 6961, 6961, 6961, 6961, 5428,
- 5424, 5432, 5434, 5436, 5437, 5439, 5442, 5443, 5441, 5438,
- 5444, 6961, 5454, 6961, 6961, 5455, 5456, 5457, 5462, 5464,
- 5463, 5465, 5468, 6961, 5466, 6961, 5470, 5473, 5469, 5480,
- 5486, 5483, 5477, 5490, 5487, 5492, 5491, 5493, 5501, 5498,
- 5499, 5502, 5505, 5507, 5513, 6961, 6961, 5508, 5515, 5516,
- 5524, 5520, 5522, 5526, 5534, 5529, 5530, 5532, 5531, 5536,
- 5537, 5545, 5548, 5538, 5547, 6961, 5549, 5550, 5551, 6961,
- 5552, 6961, 5557, 5560, 5561, 5553, 5563, 5568, 5569, 5572,
-
- 5570, 5575, 6961, 6961, 5567, 5587, 5582, 6961, 6961, 5574,
- 5583, 5586, 5590, 5584, 5592, 5595, 5594, 5597, 5599, 5596,
- 6961, 5601, 6961, 5600, 5602, 5608, 5610, 5619, 5623, 5614,
- 5624, 5622, 5625, 5626, 5629, 6961, 5627, 5628, 6961, 5637,
- 5639, 5640, 5638, 5646, 5643, 6961, 5647, 5649, 5654, 5656,
- 6961, 5660, 5657, 5663, 5662, 6961, 5665, 6961, 5630, 5669,
- 5666, 5676, 5672, 6961, 5673, 5679, 6961, 5682, 5686, 5688,
- 5689, 5677, 5683, 6961, 5695, 5691, 6961, 5697, 5699, 5700,
- 5703, 5704, 5706, 5707, 5708, 5710, 5718, 5714, 5711, 6961,
- 6961, 5722, 5723, 135, 5731, 5721, 5727, 5729, 5732, 5739,
-
- 5734, 5736, 5742, 6961, 6961, 5743, 6961, 5737, 5750, 6961,
- 5735, 5751, 5755, 5746, 5752, 5758, 5761, 5765, 5767, 5768,
- 5769, 5770, 5771, 5775, 5792, 5794, 5777, 5774, 5797, 5799,
- 5801, 5803, 5805, 5762, 5807, 5789, 5785, 5808, 5810, 5795,
- 5813, 5816, 5817, 5819, 6961, 5821, 5824, 5826, 5827, 5828,
- 6961, 5831, 5834, 5836, 5838, 6961, 5845, 5840, 5842, 5847,
- 5848, 6961, 5832, 5853, 5855, 5858, 5859, 5860, 5861, 5863,
- 5870, 6961, 5867, 5865, 5871, 6961, 6961, 6961, 5876, 5883,
- 5873, 6961, 5885, 5877, 5886, 5888, 6961, 5890, 5892, 5893,
- 6961, 6961, 6961, 5894, 5895, 5898, 6961, 5896, 5903, 6961,
-
- 5902, 6961, 5899, 6961, 5904, 5908, 5917, 5912, 6961, 5910,
- 5922, 5923, 5924, 6961, 5927, 5930, 5932, 5933, 5934, 5936,
- 5938, 6961, 5945, 5941, 5944, 5948, 5940, 5950, 5951, 5952,
- 5953, 5965, 5956, 5961, 6961, 5963, 5964, 5968, 5974, 5966,
- 5976, 5977, 6961, 5970, 6961, 5979, 6961, 5980, 5982, 5983,
- 5984, 5989, 5986, 5987, 5997, 5994, 6000, 6003, 6001, 6007,
- 6008, 6012, 6009, 6961, 6961, 6019, 6015, 6017, 6961, 6014,
- 6961, 6023, 6961, 6024, 6026, 6027, 6029, 6031, 6961, 6961,
- 6038, 6030, 6039, 6047, 6033, 6043, 6961, 6051, 6044, 6046,
- 6054, 6961, 6055, 6961, 6057, 6066, 6059, 6961, 6061, 6068,
-
- 6070, 6063, 6071, 6073, 6074, 6075, 6076, 6086, 6079, 6081,
- 6082, 6088, 6089, 6094, 6100, 6105, 6961, 6961, 6961, 6095,
- 6090, 6114, 6112, 6113, 6115, 6099, 6961, 6118, 6120, 6121,
- 6122, 6130, 6125, 6128, 6961, 6132, 6129, 6131, 6133, 6135,
- 6136, 6137, 6139, 6961, 6150, 6152, 6158, 6140, 6154, 6159,
- 6161, 6163, 6166, 6170, 6167, 6171, 6178, 6174, 6961, 6176,
- 6173, 6961, 6182, 6961, 6177, 6961, 6183, 6184, 6185, 6186,
- 6187, 6961, 6191, 6192, 6193, 6195, 6194, 6198, 6200, 6202,
- 6961, 6203, 6216, 6211, 6213, 6215, 6961, 6961, 6217, 6223,
- 6961, 6225, 6228, 6226, 6235, 6227, 6234, 6237, 6241, 6961,
-
- 6243, 6244, 6230, 6245, 6248, 6251, 6252, 6961, 6254, 6255,
- 6256, 6257, 6961, 6260, 6259, 6264, 6266, 6267, 6961, 6268,
- 6269, 6285, 6283, 6961, 6270, 6291, 6271, 6961, 6961, 6961,
- 6293, 6296, 6297, 6961, 6961, 6961, 6961, 6299, 6300, 6261,
- 6303, 6961, 6304, 6961, 6307, 6311, 6315, 6317, 6323, 6310,
- 6961, 6322, 6324, 6326, 6318, 6328, 6961, 6961, 6329, 6331,
- 6332, 6334, 6338, 6335, 6961, 6961, 6340, 6341, 6343, 6344,
- 6345, 6961, 6346, 6349, 6357, 6350, 6361, 6367, 6369, 6358,
- 6370, 6371, 6378, 6382, 6363, 6374, 6379, 6381, 6385, 6384,
- 6392, 6393, 6395, 6397, 6399, 6394, 6402, 6961, 6961, 6405,
-
- 6961, 6411, 6406, 6961, 6408, 6961, 6413, 6417, 6419, 6421,
- 6961, 6423, 6425, 6428, 6430, 6414, 6961, 6432, 6434, 6436,
- 6437, 6431, 6438, 6961, 6445, 6442, 6448, 6439, 6449, 6451,
- 6452, 6456, 6961, 6450, 6460, 6961, 6961, 6457, 6464, 6466,
- 6468, 6470, 6961, 6471, 6478, 6473, 6476, 6477, 6479, 6482,
- 6961, 6480, 6484, 6961, 6961, 6485, 6490, 6961, 6961, 6483,
- 6491, 6961, 6961, 6961, 6961, 6961, 6961, 6961, 6961, 6494,
- 6500, 6961, 6961, 6495, 6502, 6507, 6961, 6513, 6961, 6504,
- 6510, 6514, 6515, 6961, 6516, 6961, 6517, 6520, 6521, 6522,
- 6523, 6528, 6532, 6525, 6533, 6534, 6536, 6537, 6539, 6541,
-
- 6542, 6543, 6549, 6546, 6556, 6557, 6558, 6961, 6961, 6961,
- 6559, 6560, 6567, 6562, 6569, 6574, 6579, 6582, 6570, 6572,
- 6583, 6585, 6588, 6576, 6584, 6597, 6594, 6595, 6598, 6605,
- 6596, 6610, 6612, 6961, 6614, 6587, 6600, 6618, 6961, 6606,
- 6961, 6615, 6961, 6961, 6623, 6624, 6620, 6626, 6635, 6636,
- 6627, 6631, 6632, 6634, 6638, 6961, 6643, 6961, 6961, 6961,
- 6640, 6646, 6961, 6648, 6649, 6961, 6647, 6650, 6652, 6656,
- 6657, 6654, 6658, 6659, 6675, 6961, 6961, 6660, 6665, 6668,
- 6677, 6679, 6678, 6681, 6685, 6686, 6688, 6689, 6698, 6961,
- 6695, 6696, 6700, 6961, 6702, 6697, 6703, 6704, 6705, 6713,
-
- 6709, 6712, 6961, 6714, 6961, 6718, 6720, 6721, 6711, 6719,
- 6722, 6733, 6731, 6727, 6961, 6737, 6741, 6739, 6743, 6745,
- 6747, 6748, 6749, 6751, 6754, 6760, 6757, 6764, 6765, 6761,
- 6769, 6766, 6961, 6776, 6767, 6961, 6773, 6777, 6770, 6779,
- 6783, 6961, 6788, 6781, 6790, 6791, 6794, 6795, 6961, 6797,
- 6804, 6799, 6961, 6805, 6961, 6961, 6807, 6801, 6808, 6814,
- 6816, 6961, 6961, 6961, 6841, 6848, 6855, 6862, 6869, 6876,
- 6883, 88, 6890, 6897, 6904, 6911, 6918, 6925, 6932, 6939,
- 6946, 6953
+ 470, 234, 463, 473, 481, 479, 476, 483, 486, 493,
+
+ 488, 489, 495, 491, 501, 508, 505, 506, 504, 510,
+ 512, 513, 460, 514, 517, 529, 518, 516, 526, 538,
+ 539, 550, 543, 534, 551, 552, 400, 559, 555, 563,
+ 558, 570, 565, 574, 566, 569, 571, 576, 573, 577,
+ 580, 578, 581, 584, 587, 588, 598, 589, 596, 600,
+ 601, 611, 602, 612, 607, 610, 362, 609, 541, 619,
+ 622, 617, 624, 625, 626, 629, 632, 639, 641, 642,
+ 643, 645, 634, 648, 647, 638, 649, 651, 659, 662,
+ 660, 663, 670, 669, 671, 672, 673, 675, 652, 682,
+ 678, 686, 679, 692, 691, 693, 695, 697, 699, 698,
+
+ 700, 702, 703, 705, 6988, 716, 706, 721, 717, 728,
+ 723, 707, 725, 732, 735, 718, 731, 734, 733, 736,
+ 739, 740, 741, 743, 747, 750, 748, 753, 752, 763,
+ 767, 759, 774, 760, 761, 772, 782, 775, 768, 776,
+ 795, 790, 796, 802, 804, 805, 807, 808, 806, 809,
+ 811, 812, 813, 827, 816, 829, 823, 819, 830, 832,
+ 839, 840, 6988, 836, 837, 851, 844, 853, 857, 854,
+ 863, 846, 869, 867, 872, 873, 885, 907, 875, 880,
+ 874, 876, 890, 6988, 893, 897, 931, 877, 900, 919,
+ 914, 881, 905, 917, 916, 921, 935, 915, 922, 937,
+
+ 954, 952, 936, 939, 938, 955, 949, 967, 962, 965,
+ 887, 966, 974, 969, 970, 971, 981, 972, 973, 977,
+ 982, 988, 995, 999, 983, 1003, 997, 991, 1005, 1008,
+ 1009, 1004, 1006, 1029, 1017, 1012, 1025, 1031, 1023, 1039,
+ 1016, 1038, 1036, 1045, 1049, 1041, 1051, 1053, 1056, 1057,
+ 1058, 1059, 1069, 1064, 1065, 1067, 1070, 1072, 1073, 1078,
+ 1076, 1079, 1081, 1083, 1084, 1087, 1092, 1094, 1098, 1085,
+ 1099, 1101, 6988, 1107, 6988, 1105, 1102, 1109, 1111, 1112,
+ 1113, 1114, 1115, 6988, 1117, 1121, 1116, 1124, 1125, 1122,
+ 1146, 1142, 1129, 1141, 1145, 1144, 1150, 1151, 1159, 1154,
+
+ 1161, 1162, 1155, 1163, 1157, 1166, 1128, 1167, 1170, 1171,
+ 1173, 1175, 1177, 1195, 6988, 1178, 1181, 1182, 1184, 1186,
+ 1199, 1191, 1206, 1208, 1212, 1218, 1200, 1183, 1226, 1222,
+ 1224, 1225, 1229, 1230, 1232, 1234, 1235, 1238, 1239, 1241,
+ 1242, 1244, 1245, 1249, 1246, 1247, 1257, 1258, 6988, 1260,
+ 1261, 1270, 1268, 1271, 1273, 1275, 1276, 1277, 1278, 1280,
+ 1282, 1279, 1285, 1289, 1287, 1299, 1291, 1304, 1300, 1302,
+ 1301, 1306, 1308, 1307, 1311, 1316, 1323, 1318, 1325, 1329,
+ 1339, 1335, 1337, 1344, 1346, 1341, 1326, 1342, 1348, 1314,
+ 1343, 1349, 1350, 1355, 1352, 1358, 1361, 1369, 1356, 1364,
+
+ 1366, 1367, 1371, 1373, 1378, 1370, 1381, 1379, 1380, 1382,
+ 1389, 1387, 1390, 1397, 1388, 1394, 1399, 1403, 1407, 1410,
+ 1411, 1401, 6988, 1420, 1413, 1418, 1423, 1424, 1428, 1430,
+ 1426, 1432, 1433, 1434, 1436, 1437, 1439, 1443, 1444, 1445,
+ 1446, 1451, 1453, 1454, 1455, 1456, 1470, 1469, 1471, 1464,
+ 1473, 1474, 1475, 1458, 1484, 1481, 1485, 1489, 1483, 1490,
+ 1497, 1493, 1494, 1498, 1505, 1500, 1501, 1504, 1502, 1511,
+ 1513, 1514, 1523, 1530, 1515, 1528, 1535, 1531, 1525, 1536,
+ 1537, 1540, 1539, 1544, 1545, 1546, 1547, 1554, 1549, 1551,
+ 1555, 1558, 1559, 1552, 1566, 1561, 1574, 1564, 1572, 1575,
+
+ 1579, 1580, 1581, 1585, 1588, 1583, 1590, 1591, 1592, 1597,
+ 1582, 1593, 1603, 1604, 1595, 1605, 1612, 1615, 1613, 1617,
+ 1619, 1621, 1622, 1623, 1624, 1633, 1634, 1625, 1635, 1631,
+ 1637, 1641, 1644, 1652, 1649, 1655, 1653, 1645, 1660, 1647,
+ 1661, 1663, 1665, 1667, 1671, 1672, 1673, 6988, 1666, 1680,
+ 1678, 1679, 1681, 1686, 1687, 1694, 1689, 1692, 1690, 1691,
+ 1695, 1717, 6988, 1703, 6988, 6988, 848, 6988, 6988, 1700,
+ 1696, 6988, 1701, 1704, 1712, 1714, 1720, 1706, 1727, 1731,
+ 1725, 1732, 1713, 1740, 1747, 1735, 1745, 1741, 1738, 1753,
+ 1744, 1760, 1758, 1752, 1767, 1761, 1769, 1770, 1783, 1774,
+
+ 1778, 1775, 1784, 1785, 1787, 1788, 1793, 1796, 1797, 1800,
+ 1801, 1802, 1803, 1805, 1807, 1808, 1804, 1811, 1813, 1810,
+ 1817, 1816, 1827, 1826, 1833, 1836, 6988, 1834, 1843, 1822,
+ 1846, 1842, 1850, 1845, 1849, 1851, 1853, 1857, 1854, 1858,
+ 1860, 1863, 1861, 1864, 1869, 1870, 1872, 1866, 1873, 1878,
+ 1880, 1879, 6988, 1883, 1884, 1886, 1890, 1887, 1888, 1894,
+ 1897, 1900, 1903, 1901, 1908, 1904, 1905, 1909, 1913, 1917,
+ 1915, 1916, 1919, 6988, 1921, 1928, 1920, 1931, 1929, 1933,
+ 1935, 1937, 1938, 1940, 1942, 1943, 1944, 1945, 1952, 1948,
+ 1951, 1954, 1956, 1960, 1961, 1968, 1966, 1972, 1979, 1969,
+
+ 1971, 1973, 1981, 1984, 1983, 1985, 1986, 1989, 1993, 1996,
+ 1994, 2004, 1997, 1995, 2006, 2016, 2013, 1999, 2002, 2019,
+ 2012, 2020, 2029, 2031, 2027, 2026, 2028, 2038, 2034, 2036,
+ 2037, 2040, 2043, 2048, 2049, 2052, 2050, 2053, 2057, 2058,
+ 2060, 6988, 2062, 2066, 6988, 2065, 2067, 2068, 2090, 2069,
+ 2072, 2073, 2082, 2071, 2094, 2085, 2083, 2102, 2091, 2109,
+ 2104, 2110, 2112, 2114, 2115, 2119, 2117, 2118, 2121, 2123,
+ 2125, 2133, 2135, 2139, 2146, 2149, 2127, 2150, 2153, 2136,
+ 2148, 2074, 2168, 2151, 2152, 2156, 2154, 2159, 2172, 2165,
+ 2155, 2161, 2162, 2164, 2179, 2184, 2180, 2186, 2189, 2190,
+
+ 2191, 2192, 2197, 2199, 2193, 6988, 2208, 2201, 2200, 2211,
+ 2205, 2220, 2212, 2215, 6988, 2221, 2222, 2223, 2232, 2224,
+ 2225, 2235, 2227, 2228, 2229, 2236, 2237, 2241, 2245, 2238,
+ 2258, 6988, 2243, 6988, 2253, 2254, 2256, 2257, 2263, 2260,
+ 2264, 2265, 2266, 6988, 6988, 2268, 2272, 2282, 2275, 2286,
+ 2284, 2285, 2288, 6988, 2287, 2295, 6988, 2298, 2304, 2291,
+ 2290, 2292, 2296, 2306, 2297, 2315, 2311, 2322, 2313, 2318,
+ 2320, 6988, 2324, 2326, 2317, 2327, 2330, 2321, 2333, 2336,
+ 2339, 2340, 6988, 2343, 2345, 2347, 2354, 2351, 2346, 2356,
+ 2357, 2358, 2362, 2363, 2364, 2365, 2366, 2373, 2375, 2376,
+
+ 2372, 2378, 2387, 2385, 2392, 6988, 2388, 2371, 2391, 2400,
+ 2396, 2398, 2395, 2399, 2402, 2403, 2406, 2407, 2405, 2412,
+ 2413, 2414, 2415, 2424, 2425, 2421, 2423, 2430, 2427, 2433,
+ 2432, 2435, 2441, 2438, 2439, 2440, 2442, 6988, 2443, 2450,
+ 2452, 2458, 2461, 2445, 171, 2454, 2455, 2457, 2471, 2464,
+ 2475, 2472, 2483, 2484, 2479, 2480, 2486, 2482, 2489, 2490,
+ 2491, 2493, 2481, 2494, 2497, 2498, 6988, 2506, 2499, 2502,
+ 2507, 2509, 2510, 2518, 6988, 2521, 2526, 2511, 2529, 2524,
+ 2519, 2535, 2536, 2539, 2540, 2541, 2542, 2544, 2551, 2543,
+ 2550, 2547, 2552, 6988, 2554, 2560, 2562, 2559, 2563, 2566,
+
+ 2569, 2572, 2573, 2574, 2577, 2575, 2576, 2582, 2581, 2584,
+ 2585, 2586, 2591, 2601, 2596, 2597, 2598, 2599, 2602, 2608,
+ 2604, 2609, 2610, 2618, 2611, 6988, 2619, 2615, 2622, 2624,
+ 2626, 2627, 2628, 2629, 2645, 2635, 2637, 2640, 2647, 2655,
+ 2649, 2650, 2658, 2665, 2667, 2661, 2675, 2671, 2677, 2679,
+ 2673, 2683, 2685, 2681, 2686, 2693, 2689, 2691, 2692, 2695,
+ 2696, 2705, 2706, 2702, 2638, 2703, 2708, 2710, 2713, 2718,
+ 2723, 2725, 6988, 2729, 2730, 2731, 2732, 2740, 2735, 2737,
+ 2738, 2742, 2746, 2747, 2748, 2750, 2757, 2752, 2758, 2754,
+ 2760, 2763, 2761, 2769, 2765, 2771, 2773, 2776, 2780, 2777,
+
+ 2783, 2784, 6988, 2785, 2790, 2787, 2791, 2794, 2796, 2802,
+ 2803, 2805, 2797, 2799, 2807, 2809, 2811, 2812, 2814, 2813,
+ 2821, 2819, 2823, 2825, 2822, 6988, 2834, 2826, 2830, 2836,
+ 2838, 2839, 2844, 2842, 2846, 2852, 2854, 2848, 2855, 2856,
+ 2857, 6988, 2864, 2868, 2860, 2867, 2875, 2871, 2873, 2874,
+ 2877, 2878, 6988, 2879, 2881, 2883, 2882, 2886, 2887, 2894,
+ 2895, 2890, 6988, 2907, 2891, 2900, 2902, 2903, 2904, 2908,
+ 2912, 2909, 2914, 2916, 2919, 2928, 2917, 2925, 6988, 2923,
+ 2937, 2932, 2935, 2933, 2938, 2943, 2945, 2946, 2947, 2953,
+ 2948, 6988, 2965, 2957, 2964, 2972, 2949, 2967, 2969, 2973,
+
+ 2974, 2976, 2970, 2977, 2980, 2982, 6988, 2984, 2983, 2986,
+ 2989, 2991, 2992, 2994, 3005, 2996, 3000, 3003, 3006, 3009,
+ 3011, 3012, 3014, 3018, 3023, 3015, 3017, 3021, 3034, 3027,
+ 3032, 3029, 3036, 3045, 3046, 3043, 3047, 3051, 3052, 3044,
+ 3053, 3054, 3061, 3062, 3069, 3064, 3066, 6988, 3071, 3068,
+ 3073, 3075, 3076, 3077, 3079, 3078, 3080, 3083, 3084, 3090,
+ 3086, 3087, 3102, 3105, 3089, 3097, 3107, 3108, 3110, 3111,
+ 3112, 3113, 3114, 3121, 3117, 3118, 3120, 3129, 3124, 3128,
+ 3136, 3125, 3135, 3137, 3139, 3140, 3141, 3142, 3145, 3147,
+ 3149, 3150, 3151, 3153, 3162, 3167, 3168, 3171, 3164, 3172,
+
+ 3174, 3176, 6988, 3179, 3180, 3183, 3184, 3186, 3189, 3191,
+ 3199, 3190, 3194, 3206, 3203, 3209, 3210, 3192, 3201, 3211,
+ 3215, 3222, 3218, 6988, 3221, 6988, 3223, 3224, 3225, 3233,
+ 3228, 6988, 3231, 6988, 3234, 3241, 3236, 3238, 3242, 6988,
+ 3243, 3232, 3245, 3247, 3249, 3250, 3255, 3257, 3260, 3259,
+ 3261, 3262, 3267, 3266, 3268, 3271, 3272, 3273, 3277, 3280,
+ 3281, 3282, 3288, 3285, 3290, 3293, 3295, 3299, 3300, 3301,
+ 3302, 3303, 6988, 3307, 3309, 3313, 3314, 3304, 3315, 3316,
+ 3322, 3323, 3324, 3327, 3329, 3325, 3331, 3336, 3338, 3339,
+ 3332, 3346, 3350, 3359, 3340, 3362, 6988, 3343, 3364, 3354,
+
+ 3361, 6988, 3365, 3358, 3368, 3371, 3366, 3374, 3375, 3376,
+ 3377, 3381, 3383, 3384, 3385, 3393, 3389, 3397, 6988, 3396,
+ 3401, 3386, 3407, 3409, 3398, 3418, 3419, 3415, 3423, 3425,
+ 3427, 3428, 3417, 3414, 3429, 3431, 3434, 3441, 3442, 3444,
+ 3440, 3449, 3439, 3447, 3454, 3450, 3446, 3456, 3458, 3459,
+ 3457, 3460, 3461, 3463, 3465, 3466, 3467, 3468, 3473, 6988,
+ 3472, 3482, 3478, 3489, 3485, 3486, 3488, 3492, 3493, 6988,
+ 3496, 3497, 3498, 3499, 3500, 3504, 3507, 3509, 3510, 3513,
+ 3512, 3516, 3520, 3515, 6988, 3524, 6988, 3518, 3534, 3526,
+ 3536, 3530, 3538, 3545, 3541, 3546, 3547, 3549, 3550, 3552,
+
+ 3551, 3555, 3558, 3560, 3563, 3564, 3568, 3577, 3574, 3565,
+ 3569, 3578, 3580, 3583, 3590, 3586, 3588, 6988, 6988, 3587,
+ 3592, 3597, 3593, 3595, 3601, 3607, 3605, 3611, 3603, 3613,
+ 3615, 3624, 6988, 3625, 3620, 3619, 3626, 3628, 3636, 3627,
+ 3638, 3646, 3643, 3644, 3653, 3649, 6988, 3632, 3650, 3657,
+ 3654, 3656, 3666, 6988, 3661, 6988, 3662, 3663, 3668, 3670,
+ 3671, 3674, 3672, 3675, 3673, 3677, 3679, 3689, 3696, 3698,
+ 3694, 3700, 3695, 3701, 3697, 3703, 3704, 3711, 3706, 3708,
+ 3709, 6988, 3713, 3714, 3718, 3720, 3721, 3726, 3730, 3723,
+ 3729, 6988, 3733, 3736, 3737, 3738, 3739, 3743, 3746, 3747,
+
+ 3748, 3756, 3749, 3751, 3757, 3760, 6988, 3761, 3753, 3768,
+ 3764, 3766, 3771, 3775, 3778, 3783, 6988, 3785, 3770, 3792,
+ 3788, 3789, 3791, 3794, 3795, 3796, 3798, 3799, 3800, 3802,
+ 3803, 3808, 3804, 3806, 3813, 3809, 3821, 3823, 3810, 3831,
+ 3838, 3824, 6988, 3827, 3834, 3836, 3840, 3837, 3839, 3844,
+ 3846, 3849, 3851, 3842, 3864, 3865, 3852, 3854, 3859, 3868,
+ 3870, 3877, 3869, 6988, 3882, 3861, 3884, 3881, 3883, 3885,
+ 3890, 3887, 3891, 3893, 3894, 3895, 3897, 3898, 3899, 3901,
+ 3910, 3905, 3911, 3912, 3913, 3920, 3915, 6988, 3927, 3922,
+ 3923, 3932, 3928, 3925, 3943, 3941, 3929, 3942, 3945, 3946,
+
+ 3947, 3951, 3952, 3953, 3956, 3957, 6988, 6988, 3959, 3960,
+ 3961, 6988, 3964, 3962, 3975, 3965, 3967, 3968, 3976, 3979,
+ 3978, 3980, 3992, 3982, 3984, 6988, 3994, 3990, 4002, 3997,
+ 3998, 4007, 4009, 6988, 3999, 4010, 4013, 4014, 4015, 4003,
+ 4016, 4022, 4020, 4026, 4021, 4027, 4030, 4034, 4042, 4037,
+ 4033, 4040, 6988, 4038, 4041, 4045, 4047, 4043, 4049, 4051,
+ 6988, 4052, 4055, 4061, 4064, 4056, 4073, 4074, 4069, 4076,
+ 4077, 4079, 4081, 4082, 4083, 4084, 4086, 4094, 4089, 4090,
+ 4091, 4095, 4102, 4109, 4111, 6988, 4112, 4113, 4097, 4119,
+ 6988, 4123, 4126, 4133, 6988, 4134, 4114, 4130, 4131, 4138,
+
+ 6988, 4136, 4137, 4139, 4144, 4142, 4152, 4147, 4155, 4154,
+ 4156, 4150, 4157, 4159, 6988, 4160, 4158, 4161, 6988, 4165,
+ 4163, 4174, 4179, 4176, 4186, 4181, 4183, 4184, 4182, 6988,
+ 4189, 6988, 4192, 4185, 4198, 6988, 4193, 4200, 4201, 4203,
+ 4204, 4209, 4210, 4208, 4217, 4207, 4219, 4218, 4220, 4221,
+ 4224, 4232, 4222, 4233, 4223, 4230, 6988, 4234, 4231, 4238,
+ 4243, 4237, 4250, 4245, 4248, 4253, 4256, 4255, 6988, 6988,
+ 4259, 6988, 4262, 4263, 4264, 4266, 6988, 4269, 4267, 4276,
+ 4099, 4271, 4273, 4277, 4286, 4283, 6988, 4288, 4289, 6988,
+ 4278, 4292, 4299, 4294, 4296, 4297, 4300, 4304, 4302, 4306,
+
+ 4309, 4310, 4313, 4312, 4307, 4314, 4330, 6988, 4315, 4316,
+ 4325, 4318, 4323, 4326, 4331, 4338, 4340, 6988, 4342, 4348,
+ 4344, 4351, 4345, 6988, 4354, 6988, 4353, 4355, 4357, 4359,
+ 4358, 4372, 6988, 4365, 4368, 4374, 4370, 4375, 4376, 4379,
+ 4381, 4383, 4385, 4387, 4394, 4390, 4389, 4392, 4399, 4397,
+ 6988, 4391, 4400, 4409, 4411, 4406, 4413, 4415, 4422, 4418,
+ 4419, 4420, 4424, 4426, 4427, 4429, 4433, 4436, 4437, 4431,
+ 6988, 4443, 4441, 4444, 4448, 4457, 4452, 4454, 4455, 6988,
+ 4458, 4460, 4461, 6988, 4459, 4462, 4468, 4474, 4471, 4475,
+ 4476, 4479, 4478, 4483, 4481, 4480, 6988, 4486, 4487, 4484,
+
+ 4500, 4501, 4502, 6988, 6988, 4507, 6988, 4508, 4492, 4509,
+ 4510, 4491, 4512, 4518, 4520, 4523, 4519, 4525, 4527, 4530,
+ 4532, 6988, 4533, 4540, 4536, 4547, 4548, 4549, 4550, 4551,
+ 4554, 6988, 6988, 4539, 4555, 4557, 4561, 4562, 4564, 4565,
+ 4573, 4572, 4568, 4579, 4575, 4588, 6988, 4585, 4571, 4586,
+ 4584, 6988, 4587, 4592, 4593, 4594, 4595, 4596, 4599, 4598,
+ 4601, 4602, 4608, 4613, 4605, 4621, 4610, 4603, 4619, 4611,
+ 4622, 4625, 4627, 4631, 4633, 6988, 4634, 4635, 4636, 4638,
+ 4639, 4643, 4644, 4645, 4646, 4647, 4656, 6988, 4659, 6988,
+ 4648, 4651, 4664, 4488, 4652, 4676, 4673, 4677, 4669, 4671,
+
+ 4679, 4683, 4687, 4688, 4694, 4681, 4689, 4697, 4699, 4695,
+ 4706, 4709, 4710, 6988, 4711, 4701, 4703, 4712, 4714, 4718,
+ 4719, 4726, 4722, 4728, 4720, 4729, 4731, 4733, 4736, 4737,
+ 4739, 4741, 4742, 6988, 4743, 4745, 4747, 4752, 4749, 4753,
+ 4754, 4759, 4763, 4769, 4757, 4765, 4770, 6988, 4771, 4773,
+ 4775, 6988, 4777, 4778, 4781, 4783, 4784, 4790, 4782, 4791,
+ 4785, 4787, 6988, 4795, 4799, 4653, 4803, 4805, 4806, 4807,
+ 4808, 4809, 4811, 4812, 4813, 6988, 4821, 4818, 4827, 4835,
+ 4825, 4826, 4828, 4836, 4829, 6988, 4837, 4838, 4846, 4844,
+ 4853, 4854, 4845, 4852, 4862, 4858, 4860, 4857, 4861, 4868,
+
+ 4864, 4869, 4870, 4872, 4875, 4883, 4886, 4884, 6988, 4876,
+ 6988, 4885, 4890, 4891, 4893, 4894, 4897, 4900, 4902, 4898,
+ 6988, 4908, 4909, 4911, 4904, 4912, 6988, 4914, 4913, 4915,
+ 4916, 6988, 4931, 4917, 4923, 4927, 4933, 4935, 6988, 4938,
+ 4941, 4940, 4948, 4952, 4947, 4950, 4951, 4953, 4955, 4957,
+ 4958, 4959, 4968, 4961, 4964, 6988, 4966, 4973, 4979, 4980,
+ 4981, 4963, 4974, 4982, 4984, 4990, 4987, 6988, 4991, 4992,
+ 4993, 4994, 4995, 4997, 4998, 4999, 5011, 5010, 5006, 5003,
+ 5008, 5015, 5017, 5019, 5024, 6988, 5020, 5025, 5026, 5035,
+ 5028, 5037, 6988, 5033, 6988, 5030, 5045, 5047, 5048, 5038,
+
+ 5052, 6988, 6988, 5054, 5049, 5055, 5057, 5059, 6988, 6988,
+ 5061, 6988, 5062, 6988, 5063, 5065, 6988, 6988, 5066, 5069,
+ 5070, 5073, 5074, 5076, 6988, 5083, 6988, 5090, 5072, 5085,
+ 5087, 5088, 5089, 6988, 5093, 5096, 5097, 5101, 5105, 6988,
+ 5098, 5100, 5108, 5111, 5115, 6988, 5117, 5118, 5114, 5119,
+ 6988, 5122, 5125, 5126, 5120, 5127, 5128, 5134, 5140, 5132,
+ 5135, 5143, 5145, 5144, 5147, 5148, 5152, 5157, 5159, 5161,
+ 5154, 5162, 5163, 5169, 5171, 5173, 5165, 5175, 5176, 5178,
+ 5179, 5181, 5183, 5184, 5186, 5190, 5191, 5187, 5194, 5192,
+ 5193, 5205, 5196, 5206, 5208, 5209, 5212, 5214, 5215, 5217,
+
+ 5219, 5220, 5222, 5221, 5224, 5227, 5229, 5231, 5232, 6988,
+ 5233, 5237, 5225, 5239, 5241, 5245, 5249, 5253, 5257, 5260,
+ 6988, 5262, 6988, 5264, 5258, 5266, 5267, 5268, 6988, 5269,
+ 5270, 5271, 5272, 5273, 5274, 5278, 5275, 5279, 5281, 5284,
+ 6988, 5287, 5301, 5290, 5296, 5298, 5303, 6988, 5305, 5309,
+ 5306, 5310, 5311, 5312, 5315, 5313, 5316, 5317, 5320, 5325,
+ 5322, 5327, 5323, 5335, 5336, 6988, 5338, 5341, 5350, 5345,
+ 5346, 5347, 5348, 5349, 5351, 5356, 5352, 5355, 5357, 5365,
+ 5368, 5374, 6988, 5358, 6988, 5369, 5375, 5376, 5379, 5380,
+ 5381, 5382, 5384, 6988, 6988, 5387, 5383, 5389, 5391, 5393,
+
+ 5395, 5397, 5398, 5400, 5406, 6988, 5404, 5405, 5412, 5418,
+ 5414, 6988, 5420, 5421, 5422, 5424, 6988, 5425, 5429, 5426,
+ 5431, 5434, 5428, 5440, 5443, 5436, 5444, 5446, 5449, 5451,
+ 6988, 6988, 6988, 6988, 5452, 5454, 5456, 5457, 5459, 5461,
+ 5462, 5464, 5466, 5468, 5463, 5465, 6988, 5478, 6988, 6988,
+ 5479, 5481, 5482, 5485, 5487, 5488, 5489, 5491, 6988, 5493,
+ 6988, 5492, 5500, 5494, 5502, 5504, 5506, 5510, 5513, 5514,
+ 5515, 5516, 5517, 5524, 5522, 5525, 5523, 5528, 5531, 5537,
+ 6988, 6988, 5519, 5540, 5541, 5548, 5545, 5546, 5543, 5555,
+ 5552, 5553, 5554, 5559, 5560, 5561, 5570, 5571, 5562, 5566,
+
+ 5573, 6988, 5569, 5575, 5581, 6988, 5577, 6988, 5583, 5585,
+ 5586, 5579, 5587, 5592, 5593, 5594, 5596, 5598, 6988, 6988,
+ 5599, 5610, 5606, 6988, 6988, 5607, 5608, 5611, 5614, 5609,
+ 5615, 5618, 5620, 5621, 5623, 5619, 6988, 5624, 6988, 5625,
+ 5629, 5632, 5637, 5646, 5647, 5642, 5649, 5651, 5644, 5648,
+ 5653, 6988, 5654, 5655, 6988, 5665, 5661, 5666, 5657, 5675,
+ 5667, 6988, 5676, 5669, 5679, 5681, 6988, 5684, 5685, 5686,
+ 5688, 6988, 5693, 6988, 5690, 5694, 5695, 5702, 5700, 6988,
+ 5698, 5703, 6988, 5706, 5709, 5714, 5716, 5711, 5715, 6988,
+ 5721, 5717, 6988, 5722, 5726, 5729, 5732, 5723, 5734, 5727,
+
+ 5736, 5737, 5745, 5744, 5746, 6988, 6988, 5747, 5748, 135,
+ 5758, 5749, 5755, 5756, 5759, 5766, 5761, 5763, 5769, 6988,
+ 6988, 5773, 6988, 5762, 5771, 6988, 5764, 5777, 5781, 5779,
+ 5783, 5784, 5785, 5787, 5791, 5792, 5800, 5793, 5794, 5804,
+ 6988, 5815, 5822, 5798, 5819, 5823, 5825, 5827, 5829, 5831,
+ 5656, 5833, 5820, 5808, 5835, 5836, 5837, 5839, 5842, 5843,
+ 5845, 6988, 5847, 5853, 5854, 5855, 5848, 6988, 5859, 5860,
+ 5869, 5870, 6988, 5872, 5864, 5874, 5876, 5877, 6988, 5862,
+ 5879, 5882, 5795, 5884, 5887, 5888, 5889, 5896, 6988, 5892,
+ 5891, 5894, 6988, 6988, 6988, 5897, 5908, 5901, 6988, 5910,
+
+ 5903, 5911, 5912, 6988, 5914, 5916, 5919, 6988, 6988, 6988,
+ 5918, 5921, 5920, 6988, 5922, 5933, 6988, 5923, 6988, 5924,
+ 6988, 5932, 5934, 5940, 5938, 6988, 5944, 5946, 5948, 5950,
+ 6988, 5953, 5956, 5958, 5960, 5961, 5963, 5965, 6988, 5972,
+ 5968, 5971, 5975, 5967, 5977, 5978, 5979, 5980, 5992, 5983,
+ 5988, 6988, 5990, 5991, 5995, 6001, 5993, 6003, 6004, 6988,
+ 5997, 6988, 6006, 6988, 6007, 6009, 6010, 6011, 6016, 6013,
+ 6014, 6024, 6021, 6027, 6030, 6028, 6034, 6035, 6039, 6036,
+ 6988, 6988, 6046, 6042, 6044, 6988, 6041, 6988, 6050, 6988,
+ 6051, 6053, 6054, 6056, 6058, 6988, 6988, 6065, 6057, 6066,
+
+ 6074, 6060, 6070, 6988, 6078, 6071, 6073, 6081, 6988, 6082,
+ 6988, 6084, 6093, 6086, 6988, 6088, 6095, 6097, 6090, 6098,
+ 6100, 6101, 6102, 6103, 6113, 6106, 6108, 6109, 6115, 6116,
+ 6121, 6127, 6132, 6988, 6988, 6988, 6122, 6117, 6141, 6139,
+ 6140, 6142, 6126, 6988, 6145, 6147, 6148, 6149, 6157, 6152,
+ 6155, 6988, 6159, 6156, 6158, 6160, 6162, 6163, 6164, 6166,
+ 6988, 6177, 6179, 6185, 6167, 6181, 6186, 6188, 6190, 6193,
+ 6197, 6194, 6198, 6205, 6201, 6988, 6203, 6200, 6988, 6209,
+ 6988, 6204, 6988, 6210, 6211, 6212, 6213, 6214, 6988, 6218,
+ 6219, 6220, 6222, 6221, 6225, 6227, 6229, 6988, 6230, 6243,
+
+ 6238, 6240, 6242, 6988, 6988, 6244, 6250, 6988, 6252, 6255,
+ 6253, 6262, 6254, 6261, 6264, 6268, 6988, 6270, 6271, 6257,
+ 6272, 6275, 6278, 6279, 6988, 6281, 6282, 6283, 6284, 6988,
+ 6287, 6286, 6291, 6293, 6294, 6988, 6295, 6296, 6312, 6310,
+ 6988, 6297, 6318, 6298, 6988, 6988, 6988, 6320, 6323, 6324,
+ 6988, 6988, 6988, 6988, 6326, 6327, 6288, 6330, 6988, 6331,
+ 6988, 6334, 6338, 6342, 6344, 6350, 6337, 6988, 6349, 6351,
+ 6353, 6345, 6355, 6988, 6988, 6356, 6358, 6359, 6361, 6365,
+ 6362, 6988, 6988, 6367, 6368, 6370, 6371, 6372, 6988, 6373,
+ 6376, 6384, 6377, 6388, 6394, 6396, 6385, 6397, 6398, 6405,
+
+ 6409, 6390, 6401, 6406, 6408, 6412, 6411, 6419, 6420, 6422,
+ 6424, 6426, 6421, 6429, 6988, 6988, 6432, 6988, 6438, 6433,
+ 6988, 6435, 6988, 6440, 6444, 6446, 6448, 6988, 6450, 6452,
+ 6455, 6457, 6441, 6988, 6459, 6461, 6463, 6464, 6458, 6465,
+ 6988, 6472, 6469, 6475, 6466, 6476, 6478, 6479, 6483, 6988,
+ 6477, 6487, 6988, 6988, 6484, 6491, 6493, 6495, 6497, 6988,
+ 6498, 6505, 6500, 6503, 6504, 6506, 6509, 6988, 6507, 6511,
+ 6988, 6988, 6512, 6517, 6988, 6988, 6510, 6518, 6988, 6988,
+ 6988, 6988, 6988, 6988, 6988, 6988, 6521, 6527, 6988, 6988,
+ 6522, 6529, 6534, 6988, 6540, 6988, 6531, 6537, 6541, 6542,
+
+ 6988, 6543, 6988, 6544, 6547, 6548, 6549, 6550, 6555, 6559,
+ 6552, 6560, 6561, 6563, 6564, 6566, 6568, 6569, 6570, 6576,
+ 6573, 6583, 6584, 6585, 6988, 6988, 6988, 6586, 6587, 6594,
+ 6589, 6596, 6601, 6606, 6609, 6597, 6599, 6610, 6612, 6615,
+ 6603, 6611, 6624, 6621, 6622, 6625, 6632, 6623, 6637, 6639,
+ 6988, 6641, 6614, 6627, 6645, 6988, 6633, 6988, 6642, 6988,
+ 6988, 6650, 6651, 6647, 6653, 6662, 6663, 6654, 6658, 6659,
+ 6661, 6665, 6988, 6670, 6988, 6988, 6988, 6667, 6673, 6988,
+ 6675, 6676, 6988, 6674, 6677, 6679, 6683, 6684, 6681, 6685,
+ 6686, 6702, 6988, 6988, 6687, 6692, 6695, 6704, 6706, 6705,
+
+ 6708, 6712, 6713, 6715, 6716, 6725, 6988, 6722, 6723, 6727,
+ 6988, 6729, 6724, 6730, 6731, 6732, 6740, 6736, 6739, 6988,
+ 6741, 6988, 6745, 6747, 6748, 6738, 6746, 6749, 6760, 6758,
+ 6754, 6988, 6764, 6768, 6766, 6770, 6772, 6774, 6775, 6776,
+ 6778, 6781, 6787, 6784, 6791, 6792, 6788, 6796, 6793, 6988,
+ 6803, 6794, 6988, 6800, 6804, 6797, 6806, 6810, 6988, 6815,
+ 6808, 6817, 6818, 6821, 6822, 6988, 6824, 6831, 6826, 6988,
+ 6832, 6988, 6988, 6834, 6828, 6835, 6841, 6843, 6988, 6988,
+ 6988, 6868, 6875, 6882, 6889, 6896, 6903, 6910, 88, 6917,
+ 6924, 6931, 6938, 6945, 6952, 6959, 6966, 6973, 6980
+
} ;
-static const flex_int16_t yy_def[3583] =
+static yyconst flex_int16_t yy_def[3600] =
{ 0,
- 3564, 1, 3565, 3565, 3566, 3566, 3567, 3567, 3568, 3568,
- 3569, 3569, 3570, 3570, 3571, 3571, 3564, 3572, 3564, 3564,
- 3564, 3564, 3573, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3574, 3564, 3564, 3564,
- 3574, 3575, 3564, 3564, 3564, 3575, 3576, 3564, 3564, 3564,
- 3564, 3576, 3577, 3564, 3564, 3564, 3577, 3578, 3564, 3579,
- 3564, 3578, 3578, 3580, 3564, 3564, 3564, 3564, 3580, 3581,
- 3564, 3564, 3564, 3581, 3572, 3572, 3564, 3582, 3573, 3582,
- 3573, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3574,
- 3574, 3575, 3575, 3576, 3576, 3564, 3577, 3577, 3578, 3578,
- 3579, 3579, 3578, 3580, 3580, 3564, 3581, 3581, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3578, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3578, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3578, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3578,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3564,
- 3564, 3572, 3564, 3564, 3572, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3578, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3564, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3564, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3578, 3578, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3578, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3564, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3578, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572,
- 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3564, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3564, 3572, 3564, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3564, 3572, 3572, 3572, 3578, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3564, 3564, 3572, 3572, 3572,
-
- 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3564,
- 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3578, 3572, 3564, 3572, 3572, 3572, 3564, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572,
- 3564, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3564, 3572, 3564,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3564, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572,
- 3572, 3564, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572,
- 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
- 3572, 3564, 3564, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564,
- 3572, 3572, 3578, 3572, 3572, 3572, 3572, 3572, 3572, 3564,
- 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3564, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3564, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3578, 3572, 3564, 3572, 3572,
- 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3564, 3572,
- 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3564, 3572,
- 3572, 3572, 3572, 3572, 3564, 3564, 3572, 3564, 3572, 3564,
-
- 3572, 3572, 3564, 3564, 3572, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3564,
- 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572,
- 3572, 3564, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3578, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3564, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572,
-
- 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3564, 3564, 3564, 3564, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3564, 3572, 3564, 3564, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3564, 3572, 3564, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3578, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3564, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3564,
- 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3564, 3564, 3572, 3572, 3572, 3564, 3564, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3564, 3572,
- 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3564, 3572, 3564, 3572, 3572,
- 3572, 3572, 3572, 3564, 3572, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3564, 3572, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564,
- 3564, 3572, 3572, 3578, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3564, 3564, 3572, 3564, 3572, 3572, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572,
- 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3564, 3572, 3572, 3572, 3564, 3564, 3564, 3572, 3572,
- 3572, 3564, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572,
- 3564, 3564, 3564, 3572, 3572, 3572, 3564, 3572, 3572, 3564,
-
- 3572, 3564, 3572, 3564, 3572, 3572, 3572, 3572, 3564, 3572,
- 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3564, 3572, 3564, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3564, 3564, 3572, 3572, 3572, 3564, 3572,
- 3564, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3564, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572,
- 3572, 3564, 3572, 3564, 3572, 3572, 3572, 3564, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3564, 3564, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572,
- 3572, 3564, 3572, 3564, 3572, 3564, 3572, 3572, 3572, 3572,
- 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3564, 3564, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572,
- 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3564, 3572,
- 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3564, 3564, 3564,
- 3572, 3572, 3572, 3564, 3564, 3564, 3564, 3572, 3572, 3572,
- 3572, 3564, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3564, 3564, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3564, 3572, 3572, 3572, 3572,
- 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3564, 3572,
-
- 3564, 3572, 3572, 3564, 3572, 3564, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3564, 3572, 3572, 3564, 3564, 3572, 3572, 3572,
- 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3564, 3572, 3572, 3564, 3564, 3572, 3572, 3564, 3564, 3572,
- 3572, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3572,
- 3572, 3564, 3564, 3572, 3572, 3572, 3564, 3572, 3564, 3572,
- 3572, 3572, 3572, 3564, 3572, 3564, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3564, 3564,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3564, 3572,
- 3564, 3572, 3564, 3564, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3564, 3572, 3564, 3564, 3564,
- 3572, 3572, 3564, 3572, 3572, 3564, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3564, 3564, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3564,
- 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572,
-
- 3572, 3572, 3564, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3564, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572,
- 3572, 3572, 3564, 3572, 3572, 3564, 3572, 3572, 3572, 3572,
- 3572, 3564, 3572, 3572, 3572, 3572, 3572, 3572, 3564, 3572,
- 3572, 3572, 3564, 3572, 3564, 3564, 3572, 3572, 3572, 3572,
- 3572, 3564, 3564, 0, 3564, 3564, 3564, 3564, 3564, 3564,
- 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564,
- 3564, 3564
+ 3581, 1, 3582, 3582, 3583, 3583, 3584, 3584, 3585, 3585,
+ 3586, 3586, 3587, 3587, 3588, 3588, 3581, 3589, 3581, 3581,
+ 3581, 3581, 3590, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3591, 3581, 3581, 3581,
+ 3591, 3592, 3581, 3581, 3581, 3592, 3593, 3581, 3581, 3581,
+ 3581, 3593, 3594, 3581, 3581, 3581, 3594, 3595, 3581, 3596,
+ 3581, 3595, 3595, 3597, 3581, 3581, 3581, 3581, 3597, 3598,
+ 3581, 3581, 3581, 3598, 3589, 3589, 3581, 3599, 3590, 3599,
+ 3590, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3591,
+ 3591, 3592, 3592, 3593, 3593, 3581, 3594, 3594, 3595, 3595,
+ 3596, 3596, 3595, 3597, 3597, 3581, 3598, 3598, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3595, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3595, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
+ 3589, 3595, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3595, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3581, 3581, 3589, 3581, 3581, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3595, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3581, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3589, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
+ 3589, 3589, 3589, 3595, 3595, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3595, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3581,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3595, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+
+ 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3581, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3581, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3595, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3581, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3581, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
+
+ 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3595, 3589, 3581, 3589, 3589, 3589, 3581, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
+ 3589, 3581, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3581,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3581,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
+ 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3581, 3581, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3595, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3581,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3595, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3581, 3581, 3589, 3589, 3589, 3589, 3589, 3581, 3581,
+ 3589, 3581, 3589, 3581, 3589, 3589, 3581, 3581, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3581, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3581,
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3595, 3589, 3589, 3589, 3589, 3581,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3581, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3581, 3581, 3581, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3581, 3581,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3595, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3581, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3581, 3589, 3589, 3589, 3581, 3589, 3581, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3581,
+ 3589, 3589, 3589, 3581, 3581, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3581, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3581,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3581, 3581, 3589, 3589, 3595,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
+ 3581, 3589, 3581, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
+ 3589, 3589, 3581, 3581, 3581, 3589, 3589, 3589, 3581, 3589,
+
+ 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3581, 3581, 3581,
+ 3589, 3589, 3589, 3581, 3589, 3589, 3581, 3589, 3581, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
+ 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3581, 3581, 3589, 3589, 3589, 3581, 3589, 3581, 3589, 3581,
+ 3589, 3589, 3589, 3589, 3589, 3581, 3581, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3581, 3589,
+ 3581, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3581, 3581, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3581, 3589,
+ 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
+
+ 3589, 3589, 3589, 3581, 3581, 3589, 3589, 3581, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3581,
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
+ 3581, 3589, 3589, 3589, 3581, 3581, 3581, 3589, 3589, 3589,
+ 3581, 3581, 3581, 3581, 3589, 3589, 3589, 3589, 3581, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3581, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3581, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3581, 3581, 3589, 3581, 3589, 3589,
+ 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
+ 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
+ 3589, 3589, 3581, 3581, 3589, 3589, 3589, 3589, 3589, 3581,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
+ 3581, 3581, 3589, 3589, 3581, 3581, 3589, 3589, 3581, 3581,
+ 3581, 3581, 3581, 3581, 3581, 3581, 3589, 3589, 3581, 3581,
+ 3589, 3589, 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589,
+
+ 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3581, 3581, 3581, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3581, 3589, 3581, 3589, 3581,
+ 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3589, 3581, 3581, 3581, 3589, 3589, 3581,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3581, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
+
+ 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
+ 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
+ 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
+ 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3581,
+ 3589, 3581, 3581, 3589, 3589, 3589, 3589, 3589, 3581, 3581,
+ 0, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581,
+ 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581
+
} ;
-static const flex_int16_t yy_nxt[7002] =
+static yyconst flex_int16_t yy_nxt[7029] =
{ 0,
18, 19, 20, 21, 22, 23, 22, 18, 18, 18,
18, 18, 22, 24, 25, 26, 27, 28, 29, 30,
153, 181, 196, 189, 154, 155, 164, 86, 164, 164,
90, 164, 90, 90, 169, 90, 169, 169, 174, 169,
174, 174, 172, 174, 85, 86, 85, 85, 90, 85,
- 90, 90, 289, 90, 86, 85, 86, 182, 86, 90,
+ 90, 90, 290, 90, 86, 85, 86, 182, 86, 90,
91, 185, 190, 188, 86, 86, 197, 86, 191, 86,
- 192, 86, 86, 207, 186, 86, 86, 86, 86, 86,
-
- 178, 199, 193, 194, 86, 198, 86, 195, 86, 200,
- 86, 201, 245, 209, 205, 202, 203, 206, 208, 86,
- 210, 215, 211, 204, 86, 212, 86, 86, 86, 217,
- 86, 218, 86, 220, 86, 86, 226, 221, 213, 214,
- 86, 227, 225, 223, 86, 86, 216, 229, 224, 86,
- 86, 219, 86, 222, 230, 232, 233, 228, 86, 86,
- 86, 86, 231, 235, 86, 237, 86, 240, 234, 238,
- 86, 86, 86, 86, 242, 86, 236, 371, 86, 86,
- 86, 239, 86, 243, 241, 248, 251, 252, 86, 244,
- 253, 247, 86, 86, 86, 254, 249, 246, 260, 257,
-
- 250, 261, 86, 86, 259, 263, 86, 86, 86, 86,
- 258, 267, 255, 86, 264, 256, 86, 86, 262, 266,
- 268, 270, 160, 160, 86, 162, 265, 269, 162, 273,
- 164, 271, 164, 164, 337, 164, 167, 167, 169, 86,
- 169, 169, 90, 169, 90, 90, 170, 90, 174, 272,
- 174, 174, 274, 174, 172, 177, 177, 276, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 275, 278, 86,
- 281, 284, 280, 86, 277, 279, 86, 287, 286, 283,
- 176, 290, 282, 86, 288, 285, 86, 291, 292, 86,
- 293, 317, 86, 296, 86, 294, 86, 301, 297, 86,
-
- 86, 86, 86, 298, 86, 86, 304, 305, 308, 299,
- 300, 302, 295, 86, 86, 86, 306, 310, 86, 303,
- 311, 86, 86, 86, 86, 307, 86, 318, 86, 86,
- 86, 319, 86, 325, 312, 313, 315, 309, 314, 316,
- 86, 320, 86, 329, 321, 328, 322, 330, 327, 326,
- 332, 86, 86, 86, 741, 334, 86, 338, 323, 331,
- 324, 86, 335, 86, 86, 340, 86, 342, 86, 339,
- 341, 86, 333, 86, 86, 86, 343, 336, 345, 86,
- 86, 344, 86, 86, 86, 347, 86, 86, 346, 349,
- 86, 86, 354, 86, 352, 350, 86, 86, 86, 86,
-
- 348, 365, 355, 353, 351, 359, 356, 86, 86, 86,
- 360, 86, 357, 361, 86, 86, 362, 358, 363, 368,
- 86, 364, 86, 86, 86, 86, 374, 366, 367, 370,
- 373, 375, 86, 86, 377, 369, 86, 86, 382, 372,
- 86, 376, 86, 380, 86, 378, 381, 86, 384, 86,
- 379, 385, 86, 86, 86, 170, 86, 86, 388, 86,
- 86, 86, 383, 395, 391, 393, 396, 389, 386, 86,
- 86, 86, 86, 86, 399, 387, 390, 86, 397, 392,
- 86, 86, 398, 86, 394, 400, 86, 86, 86, 402,
- 406, 407, 86, 409, 404, 401, 86, 403, 86, 410,
-
- 408, 86, 86, 86, 412, 86, 413, 86, 86, 86,
- 86, 416, 405, 86, 417, 420, 86, 86, 175, 411,
- 422, 86, 418, 414, 415, 419, 86, 86, 424, 423,
- 86, 421, 86, 429, 86, 428, 425, 86, 427, 86,
- 430, 86, 86, 86, 86, 86, 86, 86, 436, 86,
- 86, 86, 437, 426, 439, 86, 86, 435, 86, 442,
- 433, 432, 447, 438, 434, 431, 86, 86, 86, 444,
- 440, 86, 86, 441, 443, 448, 86, 86, 86, 446,
- 86, 463, 86, 449, 86, 456, 445, 86, 86, 458,
- 466, 467, 170, 464, 465, 457, 450, 86, 86, 451,
-
- 459, 470, 460, 468, 452, 453, 454, 455, 469, 86,
- 471, 86, 86, 86, 86, 461, 86, 86, 462, 480,
- 86, 86, 86, 478, 86, 482, 86, 481, 474, 472,
- 479, 475, 473, 86, 476, 477, 86, 483, 485, 86,
- 86, 484, 86, 86, 490, 86, 491, 86, 492, 86,
- 86, 486, 86, 509, 496, 497, 86, 493, 489, 487,
- 86, 86, 488, 86, 494, 498, 86, 495, 499, 501,
- 503, 502, 86, 86, 500, 504, 86, 510, 511, 86,
- 86, 512, 508, 86, 86, 86, 86, 526, 505, 86,
- 86, 506, 581, 507, 86, 513, 86, 514, 86, 530,
-
- 525, 528, 86, 515, 529, 527, 86, 516, 86, 531,
- 533, 543, 517, 542, 546, 518, 86, 519, 544, 520,
- 170, 547, 86, 545, 86, 532, 86, 86, 553, 86,
- 86, 551, 521, 86, 86, 522, 86, 523, 168, 524,
- 86, 548, 534, 535, 550, 549, 552, 556, 86, 86,
- 555, 557, 536, 537, 538, 539, 540, 86, 86, 541,
- 86, 558, 554, 559, 86, 86, 566, 86, 561, 562,
- 564, 86, 86, 86, 567, 563, 86, 86, 571, 565,
- 86, 560, 86, 569, 86, 86, 86, 568, 86, 86,
- 570, 574, 575, 576, 86, 86, 573, 86, 578, 582,
-
- 583, 86, 572, 580, 579, 577, 86, 86, 86, 588,
- 585, 586, 86, 589, 86, 86, 590, 584, 604, 86,
- 86, 166, 86, 607, 86, 86, 587, 86, 591, 593,
- 594, 595, 592, 86, 605, 609, 608, 86, 606, 86,
- 615, 86, 596, 611, 597, 86, 86, 86, 86, 613,
- 598, 612, 86, 614, 86, 616, 618, 86, 599, 600,
- 610, 86, 601, 602, 86, 617, 603, 86, 621, 619,
- 622, 86, 86, 86, 620, 623, 86, 86, 86, 86,
- 628, 86, 626, 627, 86, 86, 86, 624, 629, 86,
- 86, 86, 634, 630, 625, 635, 86, 86, 633, 86,
-
- 636, 86, 638, 632, 631, 86, 86, 641, 86, 637,
- 639, 86, 640, 86, 643, 86, 86, 86, 86, 645,
- 86, 642, 86, 649, 86, 647, 86, 86, 86, 644,
- 86, 657, 677, 86, 651, 659, 646, 86, 648, 658,
- 650, 86, 652, 86, 653, 654, 655, 656, 660, 86,
- 86, 86, 86, 86, 664, 86, 668, 86, 662, 671,
- 86, 663, 86, 661, 667, 86, 665, 86, 666, 86,
- 670, 86, 86, 86, 673, 86, 674, 669, 678, 86,
- 86, 86, 86, 672, 680, 86, 86, 86, 86, 711,
- 679, 675, 86, 676, 86, 683, 681, 86, 695, 86,
-
- 682, 86, 684, 694, 697, 692, 86, 685, 693, 686,
- 699, 696, 165, 698, 86, 687, 86, 688, 86, 700,
- 689, 690, 707, 701, 86, 86, 86, 691, 86, 703,
- 86, 702, 86, 708, 704, 706, 86, 705, 86, 714,
- 709, 86, 86, 716, 86, 86, 710, 86, 86, 720,
- 86, 86, 86, 86, 163, 712, 713, 718, 723, 717,
- 86, 724, 719, 86, 86, 86, 715, 86, 170, 721,
- 727, 729, 730, 722, 728, 731, 86, 86, 726, 725,
- 86, 86, 86, 86, 86, 86, 86, 86, 732, 738,
- 161, 86, 733, 740, 742, 744, 735, 86, 736, 734,
-
- 739, 86, 737, 743, 86, 746, 86, 86, 86, 745,
- 748, 86, 86, 86, 86, 86, 752, 86, 747, 751,
- 757, 86, 749, 86, 753, 758, 86, 750, 760, 86,
- 808, 754, 86, 756, 755, 762, 759, 761, 86, 763,
- 86, 86, 764, 86, 765, 86, 766, 86, 86, 86,
- 86, 767, 86, 768, 771, 86, 773, 769, 770, 86,
- 86, 86, 774, 86, 86, 775, 772, 779, 778, 86,
- 86, 86, 86, 86, 781, 86, 783, 86, 86, 785,
- 86, 86, 777, 86, 776, 86, 788, 86, 792, 780,
- 782, 784, 86, 86, 86, 786, 787, 793, 86, 86,
-
- 86, 790, 789, 86, 86, 800, 795, 791, 86, 802,
- 86, 796, 794, 803, 797, 798, 86, 799, 801, 86,
- 807, 804, 86, 86, 805, 809, 86, 810, 86, 86,
- 86, 86, 813, 812, 806, 814, 86, 86, 86, 86,
- 86, 821, 86, 86, 817, 819, 86, 815, 86, 811,
- 86, 818, 822, 86, 816, 86, 86, 828, 86, 820,
- 86, 834, 826, 86, 829, 823, 825, 827, 86, 824,
- 86, 830, 831, 832, 86, 86, 86, 833, 835, 86,
- 86, 840, 86, 86, 836, 838, 842, 86, 841, 86,
- 837, 86, 86, 86, 843, 86, 846, 86, 839, 86,
-
- 845, 847, 86, 853, 850, 86, 848, 844, 854, 86,
- 849, 86, 86, 86, 855, 86, 856, 86, 851, 852,
- 86, 858, 859, 86, 860, 863, 861, 86, 86, 867,
- 86, 86, 857, 865, 868, 86, 86, 869, 870, 864,
- 86, 862, 871, 866, 86, 86, 873, 86, 86, 872,
- 86, 86, 879, 86, 86, 86, 86, 880, 86, 86,
- 86, 86, 86, 874, 881, 875, 876, 86, 86, 877,
- 886, 878, 884, 86, 882, 883, 889, 888, 86, 887,
- 885, 86, 86, 86, 86, 86, 86, 891, 890, 896,
- 892, 86, 86, 86, 86, 86, 86, 86, 905, 906,
-
- 893, 903, 898, 895, 894, 86, 86, 86, 86, 897,
- 899, 900, 901, 902, 86, 86, 86, 86, 86, 904,
- 907, 911, 910, 86, 86, 909, 908, 86, 86, 86,
- 915, 912, 916, 86, 919, 917, 913, 914, 920, 86,
- 86, 86, 918, 86, 86, 927, 86, 922, 86, 170,
- 923, 86, 925, 86, 928, 86, 929, 921, 924, 930,
- 926, 86, 86, 86, 86, 86, 86, 935, 936, 86,
- 86, 932, 86, 937, 86, 931, 939, 86, 933, 934,
- 86, 938, 943, 941, 944, 940, 86, 86, 86, 942,
- 945, 947, 86, 86, 949, 86, 86, 86, 86, 946,
-
- 86, 950, 951, 86, 86, 86, 86, 86, 86, 178,
- 948, 965, 86, 966, 952, 964, 969, 967, 954, 962,
- 963, 86, 953, 86, 86, 955, 86, 970, 956, 86,
- 971, 86, 957, 86, 86, 958, 86, 968, 974, 86,
- 976, 86, 959, 960, 972, 961, 86, 86, 86, 973,
- 1018, 86, 985, 86, 975, 86, 977, 978, 992, 979,
- 986, 984, 980, 86, 86, 86, 987, 981, 988, 990,
- 86, 86, 86, 982, 983, 989, 994, 86, 998, 86,
- 997, 86, 993, 999, 86, 991, 1000, 995, 86, 1001,
- 86, 1004, 86, 86, 176, 996, 1002, 1003, 1005, 86,
-
- 86, 86, 1006, 1008, 86, 1007, 86, 86, 1009, 86,
- 86, 86, 86, 1010, 1012, 86, 1016, 86, 86, 1019,
- 1015, 86, 86, 86, 86, 1023, 1011, 1034, 86, 1013,
- 1014, 86, 1017, 1024, 1021, 1025, 86, 1026, 1029, 1020,
- 86, 86, 1027, 86, 86, 1022, 1028, 1031, 175, 86,
- 1033, 86, 86, 86, 1032, 86, 86, 1035, 86, 1030,
- 1036, 1037, 86, 1038, 86, 86, 1039, 86, 86, 86,
- 1041, 1042, 86, 1040, 86, 1043, 1047, 86, 86, 1051,
- 86, 1050, 86, 86, 86, 86, 1049, 1044, 1045, 1048,
- 86, 86, 86, 1046, 86, 86, 86, 1056, 1058, 1053,
-
- 1054, 1059, 1052, 1057, 86, 86, 86, 86, 1055, 86,
- 86, 1064, 86, 1067, 86, 1062, 1065, 86, 1060, 86,
- 1063, 86, 86, 1066, 86, 1068, 86, 1073, 1070, 86,
- 1061, 1075, 86, 1069, 86, 1074, 1076, 86, 86, 1078,
- 1072, 86, 86, 86, 86, 1071, 86, 1077, 86, 170,
- 86, 86, 1086, 1079, 1089, 1084, 86, 86, 1080, 86,
- 86, 1081, 86, 1083, 1082, 1090, 86, 1085, 1087, 1091,
- 1088, 86, 86, 86, 86, 1092, 86, 1095, 1098, 86,
- 1094, 1093, 1096, 1099, 86, 86, 1097, 86, 86, 86,
- 86, 86, 1109, 86, 1102, 1100, 1104, 1110, 86, 1101,
-
- 86, 86, 1112, 86, 86, 1115, 86, 1103, 86, 1105,
- 1107, 86, 1106, 1108, 1111, 1113, 1116, 86, 86, 86,
- 168, 1117, 86, 86, 1114, 1118, 86, 1123, 1121, 1124,
- 1119, 1125, 86, 86, 86, 86, 1126, 86, 1120, 1129,
- 1122, 86, 1131, 86, 86, 86, 86, 1128, 1137, 86,
- 1127, 1133, 1134, 1138, 170, 86, 86, 86, 1141, 86,
- 1140, 1130, 1132, 86, 86, 1135, 86, 1136, 86, 1144,
- 1139, 86, 86, 86, 86, 86, 1157, 86, 86, 86,
- 86, 1142, 1158, 1143, 1148, 1145, 1147, 1160, 86, 86,
- 166, 86, 1146, 1149, 1159, 1150, 86, 86, 1191, 1151,
-
- 86, 1152, 1161, 1164, 1162, 1153, 1163, 1154, 86, 1167,
- 86, 1166, 1155, 1165, 1168, 86, 86, 1156, 86, 1169,
- 86, 86, 1171, 86, 86, 86, 1174, 86, 1177, 86,
- 1170, 86, 86, 86, 1172, 1173, 1175, 1176, 1178, 1182,
- 1181, 86, 1187, 1180, 1184, 1185, 1183, 86, 1179, 1188,
- 86, 86, 1186, 86, 1189, 86, 86, 86, 86, 86,
- 86, 86, 1203, 1200, 86, 86, 86, 86, 86, 1199,
- 1204, 86, 1202, 1201, 1205, 1190, 86, 1192, 86, 1211,
- 1206, 1207, 1193, 86, 1194, 86, 86, 1208, 86, 1214,
- 1195, 1212, 86, 86, 86, 1196, 1197, 1209, 86, 1210,
-
- 1213, 86, 1198, 1218, 86, 1219, 86, 1221, 1215, 1222,
- 86, 1216, 1217, 86, 86, 86, 1226, 86, 1220, 1224,
- 86, 86, 86, 86, 86, 1227, 86, 1232, 1225, 1223,
- 1229, 86, 1230, 86, 86, 1233, 1228, 86, 86, 1235,
- 1231, 86, 86, 86, 86, 86, 86, 86, 86, 1242,
- 1234, 86, 1237, 1240, 1239, 1241, 86, 1236, 1244, 86,
- 86, 1238, 1243, 1245, 86, 1246, 86, 86, 1247, 86,
- 86, 1248, 86, 1250, 1253, 1249, 86, 1254, 1251, 1256,
- 1258, 1255, 1252, 86, 1257, 1259, 86, 86, 86, 86,
- 86, 86, 1264, 86, 86, 86, 1260, 1265, 86, 86,
-
- 86, 1266, 1262, 1261, 1267, 86, 1263, 1269, 1268, 86,
- 86, 1271, 1275, 86, 1270, 1277, 86, 1272, 86, 86,
- 86, 86, 1273, 86, 1279, 1274, 86, 1281, 165, 86,
- 86, 1278, 1282, 1276, 1280, 1284, 86, 86, 86, 86,
- 86, 1285, 86, 86, 1283, 1288, 86, 1287, 1289, 86,
- 1294, 1290, 1291, 1286, 86, 1293, 86, 86, 1292, 1295,
- 86, 86, 86, 1296, 1298, 86, 1299, 86, 86, 86,
- 86, 1305, 1303, 1306, 1339, 1297, 1307, 86, 86, 86,
- 1300, 1310, 86, 1304, 86, 86, 1301, 86, 1302, 1308,
- 1309, 86, 1312, 86, 86, 86, 1311, 1316, 86, 1313,
-
- 86, 1318, 86, 86, 86, 1317, 86, 86, 86, 86,
- 86, 1314, 1323, 1319, 86, 1315, 1320, 1324, 86, 86,
- 86, 1325, 86, 1326, 1321, 1330, 86, 1322, 1331, 86,
- 86, 86, 1328, 86, 86, 1333, 86, 1327, 1334, 86,
- 86, 1329, 86, 86, 1332, 1335, 86, 1336, 1337, 86,
- 86, 86, 1341, 1345, 86, 170, 86, 86, 1338, 1346,
- 1340, 1347, 1348, 86, 86, 1342, 86, 86, 86, 1344,
- 1357, 86, 1353, 163, 1343, 1349, 86, 1350, 1352, 1351,
- 1354, 1355, 86, 1358, 86, 86, 86, 86, 1356, 86,
- 1360, 86, 1362, 1361, 86, 86, 86, 86, 86, 86,
-
- 1359, 1365, 86, 1371, 86, 1367, 1368, 86, 1363, 1364,
- 86, 86, 1366, 1369, 86, 86, 86, 86, 161, 86,
- 1375, 1370, 1377, 1381, 1372, 1373, 1374, 86, 1382, 86,
- 1386, 1378, 86, 1379, 1383, 1376, 1380, 1384, 86, 1385,
- 86, 86, 86, 1387, 86, 86, 86, 86, 86, 86,
- 1391, 1390, 86, 1394, 86, 86, 1398, 86, 86, 1393,
- 1388, 86, 1389, 1395, 86, 1392, 1396, 86, 86, 1399,
- 1404, 1397, 1400, 1402, 1401, 86, 86, 86, 86, 1403,
- 86, 86, 86, 86, 1408, 86, 86, 86, 86, 1411,
- 86, 1405, 1406, 1409, 1416, 1410, 86, 1407, 1412, 86,
-
- 86, 1418, 1413, 86, 86, 1415, 1414, 86, 86, 1421,
- 1419, 1417, 86, 86, 86, 1428, 86, 86, 1422, 1420,
- 1424, 86, 1430, 1423, 86, 86, 86, 86, 86, 1427,
- 86, 1425, 1431, 86, 1433, 1436, 1429, 86, 1426, 1432,
- 86, 1438, 86, 1435, 1434, 1437, 1439, 86, 86, 1443,
- 86, 86, 86, 1453, 1441, 1442, 1440, 86, 1444, 86,
- 1452, 1456, 1445, 1451, 86, 1446, 1447, 86, 1454, 1455,
- 1448, 1457, 86, 86, 86, 86, 1449, 86, 1458, 1459,
- 1450, 86, 1460, 86, 1462, 86, 86, 86, 1463, 86,
- 1464, 1467, 86, 1461, 86, 1465, 1468, 86, 86, 1470,
-
- 86, 1473, 1474, 86, 1466, 1475, 1471, 86, 86, 1469,
- 86, 86, 1478, 86, 1476, 86, 1472, 1479, 1483, 1480,
- 86, 1481, 86, 1482, 1477, 86, 1485, 1486, 1487, 1484,
- 86, 1488, 86, 86, 86, 1493, 1489, 1490, 86, 86,
- 1494, 86, 86, 1492, 86, 86, 86, 1495, 86, 1497,
- 86, 1491, 1503, 86, 1499, 86, 1498, 86, 86, 86,
- 1504, 1496, 86, 1506, 1502, 1500, 86, 1501, 86, 1505,
- 86, 1508, 86, 86, 1515, 86, 1507, 86, 1513, 1510,
- 1511, 86, 1509, 1517, 86, 86, 1514, 1518, 86, 86,
- 1512, 1519, 1516, 86, 1520, 86, 1523, 86, 86, 1525,
-
- 86, 86, 1526, 86, 1522, 86, 86, 86, 1527, 1531,
- 86, 86, 1521, 86, 86, 86, 1536, 1534, 1524, 86,
- 86, 86, 86, 1539, 1537, 86, 1528, 1529, 1530, 1538,
- 1533, 1532, 86, 86, 86, 1535, 1541, 86, 86, 1543,
- 86, 86, 1550, 1540, 86, 1545, 1546, 1542, 86, 1547,
- 86, 1544, 86, 1548, 86, 86, 86, 1549, 86, 1551,
- 86, 1553, 1556, 1554, 1557, 1558, 1552, 86, 86, 1560,
- 86, 1555, 1559, 86, 86, 86, 86, 1564, 86, 86,
- 86, 86, 1561, 86, 86, 1566, 86, 1563, 170, 1572,
- 1573, 1568, 86, 1562, 1575, 86, 86, 86, 1574, 1565,
-
- 86, 1567, 86, 1569, 1570, 86, 86, 86, 86, 1571,
- 86, 1576, 86, 1583, 86, 86, 86, 1577, 1580, 86,
- 86, 1581, 1578, 86, 1587, 1579, 1582, 1588, 86, 86,
- 1584, 1592, 86, 1586, 1590, 1591, 1593, 86, 86, 1585,
- 1596, 1594, 86, 1589, 86, 86, 86, 1595, 86, 1606,
- 86, 1601, 1604, 86, 1602, 86, 1597, 1603, 86, 1598,
- 1599, 86, 1607, 1600, 1609, 86, 86, 1605, 86, 1610,
- 86, 86, 1608, 86, 86, 86, 1614, 86, 1615, 86,
- 86, 86, 1618, 86, 1611, 86, 1613, 86, 1623, 1624,
- 86, 86, 1612, 1616, 1617, 1620, 1627, 86, 1621, 1619,
-
- 86, 1622, 86, 86, 86, 86, 86, 86, 1625, 1628,
- 1626, 86, 86, 86, 86, 86, 1629, 1635, 1631, 1637,
- 1632, 1633, 1630, 86, 1640, 86, 1634, 86, 1641, 1638,
- 1636, 86, 86, 1646, 1639, 86, 1645, 1647, 86, 86,
- 1642, 1643, 86, 86, 86, 1649, 1650, 86, 1651, 86,
- 86, 1644, 1648, 86, 1655, 1656, 1657, 86, 1654, 3564,
- 86, 86, 86, 86, 1658, 1652, 86, 1659, 1660, 86,
- 86, 1653, 86, 86, 1661, 1663, 86, 86, 86, 86,
- 86, 1662, 86, 1668, 86, 1664, 1667, 86, 1670, 1671,
- 1665, 86, 1666, 86, 1674, 86, 1679, 1676, 1669, 1675,
-
- 86, 1672, 1677, 86, 86, 86, 86, 86, 86, 86,
- 1673, 1687, 1683, 1678, 86, 1682, 86, 86, 86, 86,
- 1691, 1688, 86, 1680, 1681, 86, 86, 1684, 1694, 1685,
- 86, 1693, 1686, 86, 86, 86, 86, 86, 1689, 86,
- 86, 1692, 86, 86, 1703, 1690, 86, 86, 86, 1695,
- 1704, 86, 1696, 1700, 1697, 1698, 1699, 1702, 1708, 86,
- 86, 1701, 86, 1707, 1711, 1705, 86, 1706, 1709, 86,
- 86, 1710, 86, 86, 86, 1712, 1715, 86, 86, 1713,
- 1716, 86, 1719, 86, 86, 1714, 1723, 86, 1725, 1724,
- 86, 1718, 86, 1717, 86, 86, 1720, 1728, 1721, 1722,
-
- 86, 86, 86, 86, 1730, 1726, 1729, 86, 1727, 86,
- 86, 1731, 1732, 1736, 1737, 86, 86, 86, 1734, 86,
- 1733, 86, 86, 1741, 86, 1742, 1740, 1744, 86, 86,
- 1735, 86, 1745, 86, 1738, 1746, 86, 86, 1739, 86,
- 86, 86, 86, 1750, 1743, 86, 86, 86, 1755, 1747,
- 86, 1753, 86, 1748, 86, 1749, 86, 86, 86, 86,
- 1761, 1759, 1751, 86, 86, 1752, 1754, 1756, 86, 86,
- 86, 1757, 1760, 1758, 86, 1763, 86, 1762, 1764, 86,
- 1767, 1770, 86, 1768, 1772, 86, 86, 86, 86, 1765,
- 1766, 1773, 1769, 86, 1775, 86, 86, 1771, 86, 86,
-
- 86, 86, 1779, 1782, 86, 1781, 1774, 1778, 86, 86,
- 1776, 1783, 86, 170, 1777, 86, 86, 1785, 1780, 1787,
- 86, 86, 1784, 86, 86, 1793, 1794, 86, 86, 1786,
- 1788, 1797, 86, 86, 1789, 1790, 86, 1791, 86, 86,
- 86, 1799, 1798, 86, 86, 1792, 1801, 1795, 1796, 86,
- 1803, 1805, 86, 86, 1802, 1865, 86, 86, 1800, 1804,
- 1807, 86, 1808, 86, 1811, 86, 1806, 86, 1812, 1809,
- 1810, 86, 1813, 86, 86, 86, 86, 86, 1818, 1817,
- 86, 86, 86, 86, 86, 1825, 1822, 1814, 86, 1823,
- 1816, 86, 1815, 1820, 86, 86, 1963, 86, 1819, 1826,
-
- 1827, 1824, 1821, 86, 1829, 1833, 86, 86, 1830, 1831,
- 1832, 1834, 1835, 86, 86, 86, 1828, 86, 86, 1836,
- 86, 1837, 86, 1838, 1839, 86, 86, 86, 1841, 1846,
- 86, 1840, 1843, 86, 1847, 86, 1845, 86, 1848, 1850,
- 86, 86, 1849, 1842, 86, 86, 86, 1844, 1853, 86,
- 86, 1852, 86, 86, 86, 1854, 86, 86, 86, 86,
- 86, 86, 86, 86, 1851, 1864, 86, 86, 86, 3564,
- 1855, 1859, 1860, 1856, 1858, 1857, 1861, 1862, 1868, 86,
- 1869, 86, 1866, 1871, 86, 1863, 1867, 1872, 86, 86,
- 86, 86, 1877, 86, 1870, 86, 86, 86, 86, 1881,
-
- 1873, 1879, 86, 86, 1875, 86, 86, 86, 1874, 1880,
- 86, 86, 1876, 86, 86, 1878, 1886, 1882, 1888, 1883,
- 86, 86, 86, 1889, 1885, 1887, 1890, 1884, 86, 1891,
- 86, 1895, 1896, 86, 1898, 1892, 1897, 86, 86, 86,
- 1893, 1900, 1901, 86, 86, 86, 1894, 86, 1899, 86,
- 1904, 86, 1902, 86, 1905, 86, 86, 3564, 1906, 86,
- 86, 1914, 86, 1903, 1909, 1908, 1907, 86, 1911, 1913,
- 86, 1912, 1915, 86, 86, 1910, 86, 1916, 86, 86,
- 1922, 86, 1917, 86, 86, 1923, 86, 1918, 1924, 86,
- 86, 1928, 1920, 1925, 1919, 1921, 86, 86, 86, 1931,
-
- 86, 1933, 86, 1932, 86, 86, 1930, 1927, 86, 1926,
- 1937, 1935, 1929, 86, 1936, 1934, 86, 86, 1941, 86,
- 86, 86, 1938, 1942, 86, 1946, 86, 1948, 1951, 1939,
- 1943, 1940, 1944, 86, 86, 1947, 1950, 86, 86, 86,
- 1954, 1945, 86, 1952, 1949, 86, 86, 86, 1955, 1958,
- 86, 86, 1962, 1953, 1960, 86, 86, 86, 86, 86,
- 1961, 1957, 86, 1959, 86, 1956, 86, 86, 86, 1968,
- 1967, 86, 86, 86, 3564, 1964, 1965, 1969, 1966, 1970,
- 1971, 1973, 1975, 86, 1977, 1972, 1978, 1974, 86, 86,
- 86, 86, 86, 1980, 86, 86, 1984, 86, 86, 1986,
-
- 86, 1979, 86, 86, 1976, 86, 1990, 86, 86, 1981,
- 1983, 1985, 86, 1982, 86, 86, 1992, 86, 1988, 1993,
- 86, 1989, 1987, 86, 86, 1995, 1997, 86, 1991, 1996,
- 86, 86, 170, 86, 2001, 1994, 2004, 86, 1999, 2000,
- 86, 86, 86, 86, 2002, 86, 1998, 86, 2003, 2008,
- 86, 86, 2010, 2006, 86, 86, 2015, 2009, 86, 2005,
- 86, 2007, 86, 2011, 86, 86, 2012, 2014, 2019, 86,
- 2016, 2018, 86, 2023, 2013, 2020, 2021, 86, 2017, 86,
- 2024, 2025, 86, 86, 2022, 86, 86, 2027, 86, 86,
- 86, 2028, 86, 86, 86, 2026, 86, 86, 86, 2033,
-
- 86, 2034, 86, 86, 86, 2038, 2035, 86, 3564, 2029,
- 2031, 2032, 2030, 2037, 2036, 86, 2039, 86, 86, 2045,
- 2042, 86, 2044, 2041, 2046, 86, 2047, 2043, 86, 2040,
- 86, 86, 86, 86, 86, 2053, 86, 2056, 86, 2048,
- 2049, 2057, 86, 2058, 86, 86, 2051, 2050, 2054, 86,
- 2055, 2052, 2060, 86, 86, 2061, 86, 86, 2059, 2065,
- 86, 2066, 2067, 2069, 86, 86, 2062, 2068, 86, 86,
- 2063, 86, 2071, 86, 2075, 86, 2072, 2064, 86, 86,
- 86, 86, 2074, 2070, 2078, 86, 2077, 86, 86, 86,
- 86, 86, 2083, 2085, 2081, 2082, 86, 86, 2073, 86,
-
- 2076, 2084, 2079, 86, 86, 86, 86, 2093, 86, 2080,
- 86, 2097, 3564, 86, 2095, 2086, 2087, 2088, 86, 2096,
- 86, 86, 2089, 2091, 2090, 2098, 2092, 86, 2094, 2099,
- 2102, 86, 2100, 2101, 86, 86, 86, 2106, 86, 86,
- 2103, 86, 2108, 86, 86, 86, 2111, 2112, 86, 86,
- 2114, 86, 86, 86, 2104, 86, 2105, 86, 86, 2121,
- 86, 2119, 2116, 2109, 2117, 2107, 2110, 86, 86, 2113,
- 86, 86, 86, 86, 2120, 86, 2127, 2115, 2118, 2124,
- 2125, 86, 86, 86, 2130, 2123, 2132, 86, 2131, 2122,
- 86, 86, 86, 86, 2134, 2135, 86, 2138, 2129, 2126,
-
- 86, 86, 2136, 86, 2139, 86, 86, 2128, 86, 86,
- 86, 2133, 2137, 2140, 86, 2141, 2142, 2144, 86, 86,
- 86, 2146, 2145, 86, 2149, 2150, 2151, 86, 2143, 86,
- 86, 86, 86, 86, 2154, 86, 86, 2147, 2159, 86,
- 86, 2158, 86, 86, 2153, 86, 2148, 2152, 86, 2164,
- 2155, 86, 2165, 2156, 86, 86, 86, 2157, 2162, 2169,
- 2166, 2161, 2168, 86, 2160, 2167, 86, 2163, 2172, 86,
- 86, 86, 86, 86, 86, 86, 86, 2170, 86, 2176,
- 2180, 86, 2171, 86, 86, 2174, 86, 86, 2183, 86,
- 2181, 2173, 2175, 2187, 2184, 2177, 2178, 86, 2179, 2182,
-
- 2185, 86, 86, 2186, 86, 86, 2188, 2191, 2192, 86,
- 2193, 86, 2194, 2196, 3564, 2189, 2197, 2195, 86, 86,
- 2190, 86, 86, 86, 2201, 86, 2199, 86, 86, 86,
- 86, 2198, 2203, 86, 2205, 2200, 2207, 2202, 86, 2204,
- 2209, 86, 86, 2210, 86, 86, 86, 170, 86, 86,
- 86, 86, 2213, 86, 2206, 86, 86, 2276, 2217, 2218,
- 2208, 2212, 2214, 2215, 2211, 86, 2219, 2216, 2220, 86,
- 2221, 86, 2223, 86, 86, 2222, 86, 86, 86, 2224,
- 2226, 2225, 86, 86, 86, 86, 2227, 2228, 2229, 86,
- 2231, 86, 86, 2235, 86, 2230, 2232, 2234, 86, 86,
-
- 86, 2240, 86, 2233, 2237, 2238, 86, 2236, 86, 2239,
- 86, 86, 86, 86, 86, 86, 2247, 2245, 86, 2242,
- 2246, 86, 86, 86, 86, 2252, 86, 2249, 2241, 2243,
- 86, 2244, 2248, 86, 86, 2257, 2253, 2251, 86, 2250,
- 86, 86, 2255, 86, 2254, 86, 86, 2258, 2261, 2264,
- 2256, 86, 2259, 2263, 86, 86, 86, 2270, 2262, 86,
- 86, 86, 2260, 86, 86, 2272, 86, 2265, 2273, 86,
- 86, 2266, 2267, 86, 2268, 2269, 86, 2271, 2275, 86,
- 2277, 86, 86, 2278, 86, 2281, 86, 2274, 86, 86,
- 2280, 86, 86, 2279, 2288, 2283, 86, 2286, 2284, 86,
-
- 2282, 2287, 86, 86, 86, 86, 86, 86, 86, 2285,
- 86, 2289, 86, 86, 2290, 2295, 2292, 86, 2291, 2296,
- 2300, 2294, 2301, 86, 86, 86, 86, 2298, 2304, 2305,
- 2302, 2293, 2297, 2299, 86, 86, 86, 2303, 2308, 2307,
- 86, 86, 86, 86, 86, 2310, 2306, 86, 2311, 2318,
- 86, 2312, 86, 2309, 2316, 86, 2314, 86, 86, 2319,
- 86, 2313, 2315, 2317, 2321, 86, 86, 86, 86, 2324,
- 86, 2323, 2320, 2325, 86, 2326, 86, 86, 2330, 86,
- 86, 86, 86, 2334, 86, 2331, 2322, 86, 2335, 86,
- 86, 2333, 2327, 86, 2328, 2332, 86, 2329, 2336, 86,
-
- 2337, 2338, 2339, 86, 86, 2340, 2344, 2341, 2342, 86,
- 86, 86, 86, 2346, 2345, 86, 2350, 86, 86, 2343,
- 86, 2352, 86, 2348, 86, 2353, 86, 2355, 2347, 86,
- 2351, 2349, 86, 86, 86, 2354, 2357, 86, 2362, 2360,
- 86, 86, 2358, 2363, 86, 2359, 86, 2356, 86, 86,
- 2365, 86, 2364, 86, 2368, 2361, 2369, 86, 2366, 86,
- 2367, 2373, 86, 86, 86, 86, 2370, 86, 2372, 86,
- 86, 86, 3564, 86, 86, 86, 86, 2371, 2381, 86,
- 86, 2374, 2375, 2376, 2379, 2377, 2380, 2382, 2383, 2387,
- 86, 86, 2378, 86, 2384, 2385, 2386, 86, 86, 2388,
-
- 86, 86, 2391, 2390, 86, 86, 2396, 86, 86, 2398,
- 86, 86, 2389, 2392, 2395, 86, 86, 2397, 2393, 2401,
- 86, 2402, 2399, 86, 170, 2405, 2394, 86, 3564, 2407,
- 2400, 86, 2409, 2403, 2408, 86, 86, 2410, 86, 2411,
- 86, 86, 2404, 86, 2414, 86, 2406, 2413, 2412, 86,
- 2415, 86, 2419, 86, 86, 2420, 86, 2423, 86, 2422,
- 2418, 86, 86, 86, 2416, 86, 2424, 2427, 2421, 86,
- 2425, 2426, 86, 2428, 86, 2417, 86, 86, 2429, 86,
- 2431, 86, 86, 2433, 86, 2430, 2434, 86, 86, 86,
- 86, 86, 2437, 86, 86, 2441, 86, 2432, 2444, 2436,
-
- 2443, 86, 86, 86, 86, 2435, 2438, 2439, 2446, 2440,
- 86, 2445, 86, 86, 86, 2442, 86, 86, 2451, 2454,
- 86, 86, 2448, 86, 2449, 2455, 86, 2452, 2447, 2450,
- 86, 86, 86, 86, 2453, 86, 86, 2465, 86, 86,
- 2456, 86, 2457, 86, 86, 2458, 86, 2463, 2470, 86,
- 2494, 2461, 2467, 2459, 2462, 2460, 2466, 2464, 2468, 86,
- 2472, 86, 86, 86, 86, 2469, 2474, 2473, 86, 2471,
- 86, 86, 2478, 2479, 86, 86, 86, 2475, 2480, 2481,
- 86, 86, 2476, 2477, 86, 2484, 86, 2485, 86, 86,
- 2482, 2488, 86, 86, 2483, 2489, 86, 2486, 2490, 86,
-
- 2487, 86, 2495, 86, 2491, 2496, 86, 86, 86, 2492,
- 2498, 86, 86, 2500, 86, 86, 2503, 86, 2504, 86,
- 2502, 2493, 86, 2501, 86, 86, 2497, 86, 86, 86,
- 2499, 2511, 86, 2506, 2510, 86, 2505, 2513, 86, 86,
- 86, 2508, 2507, 86, 86, 2515, 86, 2509, 86, 2516,
- 86, 2517, 86, 2518, 2512, 2520, 86, 2514, 86, 86,
- 2523, 2522, 86, 2521, 86, 2524, 2526, 86, 2519, 86,
- 86, 86, 2532, 86, 86, 2531, 86, 86, 2525, 2528,
- 86, 2534, 2527, 86, 86, 2530, 2537, 86, 86, 86,
- 86, 2539, 2529, 2533, 86, 2535, 86, 2538, 2536, 86,
-
- 2545, 86, 2540, 86, 86, 2547, 2551, 2541, 2542, 2543,
- 2546, 86, 86, 86, 2548, 86, 2552, 86, 2553, 86,
- 2554, 86, 2544, 86, 86, 86, 2558, 86, 86, 2549,
- 2560, 2550, 2556, 2561, 86, 2564, 86, 2565, 86, 2562,
- 2568, 86, 2555, 86, 2557, 86, 86, 86, 2566, 86,
- 2559, 2563, 2569, 2567, 2570, 86, 86, 86, 86, 2573,
- 86, 86, 86, 86, 86, 86, 2574, 2575, 2572, 2576,
- 2571, 2577, 2579, 2580, 2584, 2578, 86, 3564, 86, 86,
- 2581, 86, 2585, 2582, 2583, 2586, 86, 2587, 86, 86,
- 2590, 86, 86, 170, 86, 2588, 86, 2589, 2591, 86,
-
- 2596, 86, 86, 86, 86, 86, 86, 86, 2604, 86,
- 2594, 2597, 2592, 2598, 2593, 2595, 86, 2599, 2600, 2602,
- 86, 2601, 3564, 2603, 2607, 86, 86, 2608, 2606, 2605,
- 2609, 86, 86, 86, 2612, 2610, 2613, 86, 2611, 86,
- 86, 86, 86, 2615, 86, 86, 2614, 86, 2617, 86,
- 86, 2621, 2622, 2616, 86, 2619, 86, 2618, 86, 2624,
- 86, 86, 86, 86, 2625, 2626, 2627, 86, 2620, 86,
- 2623, 86, 2629, 86, 2628, 2633, 86, 2632, 86, 86,
- 2630, 2631, 86, 86, 2635, 86, 86, 86, 86, 86,
- 2643, 2634, 2640, 86, 2642, 86, 86, 86, 2645, 2644,
-
- 2639, 86, 2636, 2637, 86, 2638, 86, 2641, 86, 2651,
- 86, 2649, 86, 2646, 86, 86, 86, 2657, 86, 2655,
- 2647, 2654, 86, 2648, 2652, 86, 2656, 86, 86, 2650,
- 2653, 2658, 86, 2660, 86, 86, 86, 2661, 2662, 86,
- 2664, 2659, 86, 2666, 2668, 86, 2665, 86, 2667, 86,
- 2670, 86, 86, 86, 2663, 86, 2669, 86, 86, 86,
- 86, 86, 2674, 2679, 86, 2677, 2678, 2672, 2680, 86,
- 2671, 2673, 2681, 86, 86, 2683, 86, 86, 86, 86,
- 2676, 86, 86, 86, 2675, 2688, 2686, 86, 86, 2691,
- 86, 86, 2684, 2682, 86, 2689, 2692, 2693, 2687, 2685,
-
- 2690, 2694, 86, 2697, 86, 86, 86, 86, 2698, 86,
- 86, 2701, 2695, 2702, 86, 86, 86, 2696, 86, 86,
- 2703, 86, 86, 86, 2708, 2699, 2707, 2700, 2705, 86,
- 86, 2706, 86, 86, 2704, 86, 86, 2709, 2712, 2716,
- 86, 2715, 2711, 2710, 2717, 86, 2718, 86, 2719, 86,
- 86, 86, 2713, 86, 86, 2714, 86, 2723, 2722, 86,
- 2724, 86, 2720, 86, 2725, 86, 2726, 86, 86, 2721,
- 86, 2732, 86, 86, 2734, 86, 86, 2728, 2735, 86,
- 86, 2727, 86, 86, 86, 86, 2731, 2729, 2737, 2730,
- 2738, 2736, 2733, 86, 2739, 86, 2744, 86, 2741, 86,
-
- 2746, 86, 86, 86, 2740, 2742, 86, 86, 2745, 170,
- 86, 86, 86, 86, 2753, 2743, 86, 2755, 86, 2749,
- 86, 2754, 2756, 2748, 2751, 86, 86, 86, 2747, 86,
- 86, 2750, 2762, 2752, 86, 2757, 2759, 86, 86, 2764,
- 2758, 86, 2765, 86, 2763, 2766, 86, 86, 2760, 2772,
- 2761, 2767, 86, 86, 2768, 86, 2769, 86, 2770, 2771,
- 86, 86, 2773, 86, 86, 86, 86, 2775, 86, 86,
- 2781, 86, 86, 86, 2779, 2774, 86, 2785, 86, 2776,
- 2786, 86, 2790, 86, 2778, 2777, 2780, 86, 86, 2782,
- 2783, 2784, 2787, 2788, 2792, 86, 2789, 2791, 86, 86,
-
- 86, 86, 86, 86, 86, 86, 86, 86, 2796, 2803,
- 86, 2804, 86, 86, 2802, 3564, 2793, 2794, 2795, 2797,
- 2798, 2799, 2800, 86, 2801, 86, 2808, 86, 2809, 86,
- 2810, 2807, 86, 2805, 86, 86, 86, 86, 86, 86,
- 86, 2806, 86, 2815, 86, 86, 2820, 86, 86, 2812,
- 2811, 2814, 2819, 2817, 2813, 2821, 86, 2823, 86, 2816,
- 2818, 86, 86, 2822, 2824, 86, 86, 2826, 86, 86,
- 86, 2825, 86, 2829, 2830, 86, 86, 2827, 86, 2836,
- 86, 2835, 86, 86, 2839, 86, 2828, 86, 86, 86,
- 2831, 2832, 86, 2842, 2834, 2833, 86, 2837, 2840, 86,
-
- 86, 2838, 2844, 2841, 2845, 2846, 86, 2843, 86, 86,
- 86, 86, 2847, 2851, 86, 86, 86, 86, 86, 2855,
- 2853, 2854, 86, 2848, 2856, 86, 86, 2852, 86, 2849,
- 2850, 2858, 86, 2859, 86, 2857, 86, 86, 2861, 2864,
- 86, 86, 2865, 2860, 2867, 86, 2863, 86, 2862, 86,
- 86, 86, 86, 2874, 86, 86, 86, 86, 3564, 2866,
- 2868, 2871, 2869, 2870, 2872, 2873, 2877, 86, 86, 86,
- 86, 2875, 2876, 2878, 2879, 86, 86, 86, 86, 86,
- 2881, 86, 86, 86, 2880, 2882, 86, 2884, 2887, 2885,
- 86, 2888, 2890, 86, 2886, 2883, 86, 2889, 2891, 86,
-
- 86, 2892, 2894, 170, 86, 86, 86, 2895, 2899, 2893,
- 2896, 86, 86, 2901, 86, 86, 2900, 3564, 86, 2904,
- 86, 86, 2897, 2903, 2898, 2905, 86, 2907, 86, 86,
- 2902, 2909, 2908, 86, 2906, 86, 2910, 86, 2911, 86,
- 2912, 2914, 86, 86, 86, 86, 2915, 86, 2916, 86,
- 86, 86, 2921, 2913, 2917, 2922, 2923, 2919, 86, 2918,
- 86, 86, 86, 86, 86, 86, 86, 2927, 2926, 2925,
- 86, 2920, 2924, 86, 86, 2929, 86, 2928, 2930, 2931,
- 86, 86, 86, 86, 2932, 86, 2936, 86, 86, 2933,
- 2934, 2935, 2937, 2938, 2940, 86, 86, 86, 2939, 86,
-
- 86, 2941, 2945, 86, 2946, 86, 2942, 86, 86, 86,
- 86, 2951, 86, 86, 86, 86, 2943, 2948, 2944, 2955,
- 2956, 86, 2949, 86, 2947, 2950, 2958, 86, 2952, 2953,
- 2959, 2961, 86, 2954, 2962, 86, 86, 86, 86, 86,
- 86, 86, 86, 86, 2968, 2960, 2963, 2965, 2957, 2966,
- 86, 86, 86, 86, 2967, 2969, 86, 2970, 2972, 86,
- 86, 2974, 86, 2983, 2964, 2971, 2976, 86, 2977, 86,
- 86, 2973, 2978, 86, 2979, 86, 86, 2982, 86, 86,
- 2975, 2980, 86, 2986, 2981, 86, 86, 2984, 2987, 86,
- 86, 2985, 86, 2990, 2991, 86, 86, 2988, 2992, 86,
-
- 2993, 86, 86, 2995, 86, 2994, 2989, 2997, 86, 2996,
- 86, 3000, 86, 86, 3001, 3002, 86, 86, 3004, 86,
- 86, 86, 2998, 86, 86, 3008, 3009, 86, 3010, 3011,
- 2999, 86, 3003, 3005, 86, 86, 86, 3007, 3013, 3006,
- 86, 3012, 86, 3014, 86, 86, 3019, 86, 86, 86,
- 86, 3018, 86, 3021, 3022, 86, 86, 3015, 3024, 86,
- 3016, 3023, 3017, 86, 86, 86, 3025, 3027, 86, 3028,
- 3031, 86, 3020, 3026, 86, 86, 3029, 3030, 86, 3035,
- 86, 86, 86, 86, 86, 3037, 3047, 86, 86, 3032,
- 86, 3053, 3034, 3038, 3033, 3036, 3041, 3039, 86, 3042,
-
- 3564, 3044, 86, 3040, 3043, 86, 3045, 86, 86, 3046,
- 86, 3048, 86, 3049, 86, 3050, 86, 3051, 86, 3052,
- 86, 86, 3055, 86, 3056, 3054, 86, 3059, 3058, 86,
- 86, 3060, 86, 3064, 86, 3057, 3065, 86, 3061, 86,
- 86, 86, 3066, 3069, 86, 86, 3067, 86, 3071, 86,
- 3062, 86, 3063, 86, 3070, 86, 3072, 3073, 86, 3068,
- 86, 86, 3074, 3078, 3075, 3079, 86, 3080, 86, 3076,
- 3077, 86, 86, 86, 86, 3081, 86, 3086, 86, 3564,
- 86, 3082, 3087, 86, 86, 3084, 86, 3089, 3090, 86,
- 86, 3085, 3083, 3088, 3091, 3092, 86, 3094, 86, 86,
-
- 3093, 86, 3098, 86, 3095, 86, 86, 86, 86, 86,
- 3105, 86, 86, 3102, 3099, 86, 86, 86, 3100, 3097,
- 3103, 86, 3108, 86, 3096, 86, 3109, 3106, 3112, 3104,
- 86, 3110, 3101, 3107, 3111, 86, 86, 86, 3115, 3117,
- 86, 3116, 3118, 86, 3119, 86, 86, 86, 3113, 86,
- 3114, 86, 3124, 86, 86, 3120, 3123, 86, 86, 3125,
- 3127, 86, 3126, 86, 86, 86, 86, 3121, 3122, 86,
- 3131, 3128, 3133, 3135, 86, 3129, 86, 86, 86, 86,
- 3136, 86, 3137, 86, 3132, 3130, 3138, 86, 3139, 86,
- 86, 3144, 86, 86, 3134, 86, 86, 86, 3140, 86,
-
- 86, 3148, 86, 3143, 3141, 3142, 3145, 86, 3146, 3147,
- 86, 3149, 3153, 86, 86, 3150, 86, 3155, 3152, 3151,
- 86, 86, 86, 3156, 3159, 86, 3161, 86, 86, 3164,
- 86, 3162, 86, 3154, 3163, 3166, 86, 86, 3157, 86,
- 86, 3160, 86, 86, 86, 3169, 86, 3158, 3165, 3171,
- 3172, 86, 86, 3167, 3175, 3168, 86, 86, 3170, 86,
- 86, 3174, 3182, 3173, 86, 3178, 3181, 86, 86, 3176,
- 86, 3179, 86, 3184, 86, 3177, 86, 3185, 3180, 86,
- 3187, 86, 3188, 86, 86, 3191, 86, 86, 86, 86,
- 3183, 3189, 86, 3196, 86, 86, 3186, 3194, 3193, 86,
-
- 3200, 86, 86, 86, 3190, 3192, 3198, 86, 86, 3195,
- 3202, 3197, 86, 86, 3564, 3199, 3203, 3201, 86, 3204,
- 3205, 3207, 3210, 3206, 3208, 86, 86, 86, 86, 3209,
- 3211, 86, 3213, 86, 86, 86, 3212, 3216, 86, 3214,
- 3219, 86, 86, 86, 86, 86, 86, 3224, 86, 86,
- 86, 3564, 86, 86, 3215, 3217, 3218, 3220, 3231, 3223,
- 3221, 3227, 3228, 86, 3229, 86, 3226, 86, 3225, 3222,
- 3230, 86, 86, 3234, 86, 3235, 86, 3233, 3236, 86,
- 86, 3232, 3237, 86, 86, 3240, 86, 86, 3242, 86,
- 86, 86, 3241, 3238, 3244, 86, 86, 86, 86, 86,
-
- 86, 3250, 3243, 3251, 86, 86, 86, 86, 86, 3245,
- 3239, 86, 3257, 86, 3258, 86, 86, 3248, 3246, 3247,
- 3256, 3249, 3254, 3260, 86, 3253, 86, 3255, 86, 86,
- 86, 3252, 3564, 3263, 3259, 3265, 86, 3266, 86, 86,
- 86, 86, 3269, 86, 3261, 3262, 3267, 86, 86, 3272,
- 86, 3264, 3270, 3268, 86, 3271, 86, 86, 86, 3273,
- 3274, 86, 3275, 3276, 86, 86, 3278, 86, 86, 86,
- 86, 3280, 86, 86, 86, 3281, 3279, 86, 3277, 86,
- 86, 86, 86, 86, 86, 3290, 3291, 3282, 3286, 3283,
- 3284, 3285, 3293, 3303, 3287, 3288, 86, 3297, 86, 3564,
-
- 3289, 3294, 3292, 3295, 86, 3298, 86, 3296, 3299, 86,
- 86, 3301, 86, 86, 3300, 3304, 86, 86, 3302, 3306,
- 86, 3307, 3308, 86, 86, 3309, 3310, 3314, 86, 3311,
- 86, 86, 3305, 3312, 3313, 86, 86, 86, 3317, 86,
- 3315, 86, 86, 3320, 86, 86, 3316, 86, 86, 3318,
- 3324, 86, 3323, 86, 86, 3319, 86, 86, 86, 86,
- 3328, 3327, 86, 86, 3321, 3322, 3329, 3332, 3325, 3333,
- 86, 86, 3334, 3330, 86, 3335, 86, 3331, 3326, 3336,
- 86, 3337, 86, 86, 86, 3342, 3338, 86, 3339, 3344,
- 3343, 86, 86, 3340, 86, 86, 3341, 86, 86, 3348,
-
- 3352, 3345, 3346, 3349, 3351, 86, 86, 86, 86, 3354,
- 86, 3355, 86, 3347, 3353, 86, 3350, 3358, 86, 86,
- 3357, 86, 3356, 3359, 86, 3362, 86, 86, 3360, 3363,
- 86, 3364, 86, 3365, 86, 3366, 86, 3367, 86, 3361,
- 3368, 86, 3369, 86, 86, 86, 3372, 86, 3373, 86,
- 86, 86, 86, 3370, 3371, 86, 3375, 3377, 86, 3374,
- 3379, 86, 86, 86, 86, 86, 3383, 3380, 3384, 86,
- 86, 3376, 3386, 86, 3378, 3381, 3382, 86, 3385, 86,
- 3388, 86, 3390, 86, 86, 3393, 86, 3392, 3387, 86,
- 86, 86, 86, 86, 3395, 86, 86, 86, 86, 3399,
-
- 3394, 3391, 3401, 86, 86, 3389, 3400, 86, 86, 3396,
- 3397, 3398, 3405, 86, 3408, 86, 3406, 86, 3402, 3409,
- 86, 3407, 3403, 86, 3404, 3410, 86, 86, 86, 86,
- 86, 3413, 3412, 86, 86, 86, 86, 3419, 86, 3418,
- 3411, 86, 3421, 3415, 3417, 86, 86, 86, 3414, 86,
- 86, 3420, 86, 3416, 86, 86, 86, 3423, 3422, 86,
- 3430, 3428, 86, 3425, 3424, 3427, 3429, 3432, 3434, 86,
- 86, 86, 86, 86, 3426, 86, 3436, 3431, 3433, 3439,
- 86, 3441, 86, 86, 3440, 86, 3437, 86, 3442, 86,
- 3435, 3443, 86, 3438, 3444, 86, 86, 86, 86, 3447,
-
- 86, 86, 3445, 3448, 3452, 3446, 3449, 86, 86, 86,
- 86, 86, 3451, 86, 3450, 3461, 3455, 3456, 86, 86,
- 3454, 3453, 3458, 86, 3459, 86, 3460, 86, 86, 3457,
- 3463, 86, 3462, 86, 3464, 3466, 86, 86, 3467, 86,
- 86, 3468, 3470, 3471, 86, 86, 3465, 86, 86, 86,
- 3476, 86, 3475, 86, 3472, 3477, 86, 3473, 3469, 86,
- 86, 86, 86, 86, 3474, 86, 3481, 86, 3483, 86,
- 86, 86, 86, 86, 3478, 3480, 3488, 3489, 86, 3479,
- 3482, 86, 3485, 3486, 3484, 3496, 3487, 3490, 86, 3494,
- 86, 86, 86, 3491, 86, 3497, 3492, 3495, 86, 86,
-
- 3493, 86, 86, 3498, 3499, 3502, 3500, 3503, 86, 86,
- 86, 86, 3505, 86, 3504, 86, 86, 86, 86, 3506,
- 3511, 3501, 86, 3508, 86, 86, 86, 86, 3514, 3507,
- 3515, 86, 86, 86, 86, 86, 3509, 3510, 3513, 3518,
- 86, 3512, 3516, 3519, 86, 3517, 86, 3522, 3521, 3523,
- 86, 3520, 86, 3524, 86, 3526, 86, 3528, 86, 3529,
- 86, 86, 86, 3533, 86, 3530, 3564, 86, 3531, 3536,
- 86, 3527, 3534, 86, 86, 3535, 3525, 86, 86, 86,
- 86, 3532, 86, 86, 3537, 3538, 86, 3540, 3542, 86,
- 86, 3544, 86, 3539, 86, 3545, 86, 3548, 3541, 3543,
-
- 3549, 86, 3546, 86, 86, 3552, 3553, 86, 86, 3555,
- 86, 3547, 86, 3550, 86, 3554, 3556, 86, 86, 3557,
- 86, 86, 3551, 3558, 3564, 3559, 3562, 86, 3563, 86,
- 3564, 3564, 3564, 3560, 3564, 3564, 3564, 3564, 3564, 3564,
- 3561, 47, 47, 47, 47, 47, 47, 47, 52, 52,
- 52, 52, 52, 52, 52, 57, 57, 57, 57, 57,
- 57, 57, 63, 63, 63, 63, 63, 63, 63, 68,
- 68, 68, 68, 68, 68, 68, 74, 74, 74, 74,
- 74, 74, 74, 80, 80, 80, 80, 80, 80, 80,
- 89, 89, 3564, 89, 89, 89, 89, 160, 160, 3564,
-
- 3564, 3564, 160, 160, 162, 162, 3564, 3564, 162, 3564,
- 162, 164, 3564, 3564, 3564, 3564, 3564, 164, 167, 167,
- 3564, 3564, 3564, 167, 167, 169, 3564, 3564, 3564, 3564,
- 3564, 169, 171, 171, 3564, 171, 171, 171, 171, 174,
- 3564, 3564, 3564, 3564, 3564, 174, 177, 177, 3564, 3564,
- 3564, 177, 177, 90, 90, 3564, 90, 90, 90, 90,
- 17, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564,
- 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564,
- 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564,
- 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564,
-
- 3564
+ 192, 86, 86, 208, 186, 86, 86, 86, 86, 86,
+
+ 200, 199, 193, 194, 86, 198, 86, 195, 86, 201,
+ 86, 202, 246, 210, 206, 203, 204, 207, 209, 86,
+ 211, 216, 212, 205, 86, 213, 86, 86, 86, 218,
+ 86, 219, 86, 221, 86, 86, 227, 222, 214, 215,
+ 86, 228, 226, 224, 86, 86, 217, 230, 225, 86,
+ 86, 220, 86, 223, 231, 233, 234, 229, 86, 86,
+ 86, 86, 232, 236, 86, 238, 86, 241, 235, 239,
+ 86, 86, 86, 86, 243, 86, 237, 374, 86, 86,
+ 86, 240, 86, 244, 242, 249, 252, 253, 86, 245,
+ 254, 248, 86, 86, 86, 255, 250, 247, 261, 258,
+
+ 251, 262, 86, 86, 260, 264, 86, 86, 86, 86,
+ 259, 268, 256, 86, 265, 257, 86, 86, 263, 267,
+ 269, 271, 160, 160, 86, 162, 266, 270, 162, 274,
+ 164, 272, 164, 164, 340, 164, 167, 167, 169, 86,
+ 169, 169, 90, 169, 90, 90, 170, 90, 174, 273,
+ 174, 174, 275, 174, 172, 177, 177, 277, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 276, 279, 86,
+ 282, 285, 281, 86, 278, 280, 86, 288, 287, 284,
+ 178, 291, 283, 86, 289, 286, 86, 292, 293, 86,
+ 294, 320, 86, 297, 86, 295, 86, 302, 298, 86,
+
+ 304, 86, 86, 299, 86, 305, 86, 307, 86, 300,
+ 301, 303, 296, 308, 86, 311, 309, 86, 86, 86,
+ 306, 86, 313, 86, 314, 86, 86, 86, 176, 86,
+ 86, 86, 321, 315, 310, 322, 328, 316, 318, 86,
+ 317, 319, 86, 323, 312, 331, 324, 86, 325, 329,
+ 335, 86, 86, 332, 86, 330, 86, 333, 337, 338,
+ 326, 376, 327, 86, 86, 86, 341, 336, 86, 334,
+ 343, 86, 86, 342, 339, 344, 86, 345, 86, 86,
+ 346, 348, 86, 86, 86, 347, 86, 86, 350, 86,
+ 86, 86, 349, 86, 86, 352, 357, 86, 355, 353,
+
+ 86, 86, 86, 358, 351, 362, 356, 364, 354, 86,
+ 363, 86, 359, 86, 86, 86, 360, 366, 368, 371,
+ 86, 361, 86, 86, 86, 86, 377, 365, 373, 378,
+ 86, 380, 86, 369, 370, 86, 367, 86, 86, 86,
+ 372, 375, 86, 383, 384, 86, 385, 170, 387, 379,
+ 381, 86, 86, 382, 86, 86, 86, 388, 86, 392,
+ 86, 86, 86, 391, 86, 86, 398, 396, 394, 399,
+ 386, 395, 86, 86, 389, 86, 86, 402, 400, 390,
+ 393, 401, 86, 86, 86, 86, 86, 397, 86, 409,
+ 408, 86, 86, 412, 410, 86, 407, 403, 404, 86,
+
+ 406, 411, 413, 405, 86, 86, 86, 415, 86, 416,
+ 86, 86, 86, 86, 419, 86, 86, 420, 86, 86,
+ 86, 431, 414, 424, 421, 422, 417, 418, 426, 86,
+ 86, 86, 427, 425, 86, 428, 86, 423, 86, 433,
+ 429, 86, 434, 432, 86, 86, 86, 86, 86, 86,
+ 440, 436, 86, 86, 86, 441, 86, 430, 443, 439,
+ 86, 86, 437, 86, 446, 86, 86, 435, 438, 448,
+ 451, 442, 86, 86, 86, 444, 86, 450, 445, 447,
+ 86, 86, 460, 452, 453, 86, 449, 86, 86, 86,
+ 462, 467, 461, 175, 468, 86, 454, 472, 463, 455,
+
+ 464, 469, 473, 86, 456, 457, 458, 459, 86, 86,
+ 470, 471, 474, 465, 475, 86, 466, 86, 86, 86,
+ 86, 86, 86, 484, 86, 86, 86, 486, 482, 86,
+ 485, 483, 86, 478, 476, 479, 86, 477, 480, 481,
+ 86, 487, 86, 86, 488, 86, 494, 489, 490, 86,
+ 86, 491, 86, 86, 495, 500, 496, 86, 501, 86,
+ 493, 86, 502, 492, 86, 497, 86, 86, 512, 499,
+ 86, 503, 498, 505, 514, 506, 86, 504, 969, 508,
+ 86, 507, 86, 513, 515, 86, 86, 86, 86, 86,
+ 86, 516, 509, 86, 170, 510, 530, 511, 86, 517,
+
+ 86, 518, 532, 86, 533, 546, 86, 519, 529, 535,
+ 86, 520, 573, 86, 531, 552, 521, 534, 86, 522,
+ 86, 523, 547, 524, 537, 536, 548, 86, 86, 86,
+ 86, 549, 86, 550, 86, 86, 525, 553, 555, 526,
+ 551, 527, 557, 528, 86, 554, 538, 539, 86, 86,
+ 86, 86, 86, 556, 558, 559, 540, 541, 542, 543,
+ 544, 561, 86, 545, 560, 86, 567, 86, 86, 565,
+ 563, 562, 566, 568, 570, 86, 571, 569, 86, 86,
+ 86, 575, 86, 86, 86, 86, 86, 86, 564, 578,
+ 86, 579, 580, 574, 86, 86, 86, 170, 572, 577,
+
+ 590, 86, 582, 585, 86, 581, 583, 576, 86, 584,
+ 86, 593, 86, 586, 587, 588, 86, 86, 86, 86,
+ 591, 86, 86, 594, 609, 86, 168, 599, 600, 86,
+ 86, 598, 589, 595, 610, 592, 86, 596, 86, 601,
+ 597, 602, 86, 611, 86, 613, 614, 603, 612, 86,
+ 615, 86, 86, 617, 86, 604, 605, 616, 86, 606,
+ 607, 618, 86, 608, 86, 621, 86, 619, 623, 86,
+ 86, 86, 86, 626, 620, 624, 627, 86, 86, 622,
+ 86, 628, 86, 86, 625, 86, 86, 633, 631, 86,
+ 632, 86, 86, 629, 86, 634, 86, 86, 86, 639,
+
+ 86, 630, 640, 635, 641, 86, 638, 86, 643, 636,
+ 637, 86, 86, 646, 86, 86, 644, 642, 86, 645,
+ 86, 648, 86, 650, 86, 86, 86, 86, 86, 86,
+ 86, 654, 662, 652, 86, 86, 647, 86, 86, 649,
+ 656, 86, 86, 651, 663, 682, 653, 655, 657, 660,
+ 658, 661, 659, 664, 86, 86, 666, 86, 86, 86,
+ 665, 669, 667, 86, 86, 668, 673, 86, 86, 676,
+ 86, 670, 86, 672, 86, 86, 86, 675, 671, 86,
+ 86, 679, 678, 86, 86, 683, 86, 674, 86, 685,
+ 86, 86, 680, 677, 86, 86, 86, 86, 684, 86,
+
+ 681, 700, 686, 688, 86, 711, 166, 687, 86, 689,
+ 699, 697, 86, 86, 690, 698, 691, 702, 701, 86,
+ 703, 86, 692, 704, 693, 86, 705, 694, 695, 709,
+ 706, 86, 710, 712, 696, 86, 708, 86, 86, 86,
+ 707, 716, 86, 86, 713, 86, 719, 86, 86, 721,
+ 714, 86, 86, 715, 86, 86, 725, 86, 86, 86,
+ 86, 165, 86, 718, 723, 717, 722, 728, 729, 724,
+ 86, 86, 720, 86, 86, 736, 726, 732, 734, 730,
+ 727, 86, 733, 170, 86, 731, 86, 735, 86, 86,
+ 86, 86, 86, 86, 745, 86, 737, 743, 86, 748,
+
+ 86, 738, 86, 740, 86, 741, 749, 739, 744, 742,
+ 747, 751, 86, 86, 86, 86, 750, 86, 753, 86,
+ 86, 86, 746, 757, 86, 752, 756, 86, 754, 86,
+ 762, 86, 777, 758, 755, 763, 86, 765, 86, 86,
+ 759, 766, 86, 760, 764, 761, 767, 768, 86, 769,
+ 86, 770, 86, 771, 86, 86, 86, 86, 772, 86,
+ 774, 86, 86, 86, 776, 86, 780, 775, 86, 86,
+ 779, 86, 773, 781, 86, 778, 785, 86, 784, 86,
+ 86, 787, 86, 86, 86, 789, 86, 791, 782, 786,
+ 783, 86, 86, 86, 86, 86, 798, 788, 790, 794,
+
+ 86, 86, 86, 86, 793, 799, 792, 86, 806, 796,
+ 86, 795, 86, 801, 86, 797, 86, 800, 802, 805,
+ 86, 803, 804, 86, 86, 809, 86, 813, 810, 812,
+ 807, 86, 808, 86, 815, 814, 86, 86, 811, 86,
+ 816, 86, 818, 86, 819, 86, 86, 86, 820, 86,
+ 86, 827, 86, 823, 825, 821, 86, 86, 86, 86,
+ 824, 834, 817, 822, 86, 828, 86, 86, 86, 86,
+ 826, 86, 836, 832, 835, 831, 829, 86, 833, 830,
+ 837, 838, 86, 86, 86, 839, 86, 86, 86, 840,
+ 845, 846, 848, 844, 86, 841, 86, 86, 86, 847,
+
+ 842, 843, 86, 86, 852, 849, 86, 86, 851, 853,
+ 86, 86, 859, 86, 86, 86, 856, 86, 86, 854,
+ 855, 850, 862, 861, 86, 864, 86, 86, 86, 163,
+ 857, 858, 860, 865, 866, 863, 86, 869, 86, 867,
+ 870, 86, 873, 86, 86, 875, 871, 874, 86, 86,
+ 86, 877, 86, 86, 868, 879, 872, 86, 86, 86,
+ 86, 885, 86, 876, 86, 86, 886, 86, 86, 878,
+ 880, 86, 86, 887, 86, 881, 882, 86, 883, 86,
+ 884, 895, 892, 888, 891, 86, 889, 86, 86, 894,
+ 890, 893, 86, 86, 86, 86, 86, 896, 86, 897,
+
+ 898, 86, 902, 86, 86, 86, 86, 911, 86, 910,
+ 86, 899, 904, 901, 900, 909, 86, 86, 86, 903,
+ 912, 905, 906, 907, 908, 86, 86, 914, 86, 915,
+ 86, 913, 86, 917, 86, 86, 86, 86, 86, 916,
+ 922, 921, 918, 923, 86, 920, 86, 86, 86, 919,
+ 86, 925, 926, 929, 86, 928, 927, 86, 86, 933,
+ 86, 924, 170, 931, 930, 86, 86, 934, 86, 932,
+ 936, 935, 937, 86, 86, 939, 86, 942, 86, 86,
+ 86, 943, 938, 945, 86, 86, 86, 949, 940, 944,
+ 946, 86, 86, 86, 86, 947, 951, 941, 948, 86,
+
+ 86, 955, 86, 86, 86, 86, 952, 86, 86, 86,
+ 956, 950, 957, 86, 86, 971, 86, 86, 954, 86,
+ 977, 958, 970, 973, 953, 86, 86, 86, 960, 959,
+ 86, 968, 961, 86, 974, 962, 972, 976, 86, 963,
+ 86, 978, 964, 975, 86, 86, 982, 983, 86, 965,
+ 966, 86, 967, 86, 86, 979, 980, 86, 86, 981,
+ 86, 984, 985, 992, 986, 86, 86, 987, 991, 994,
+ 995, 86, 988, 86, 86, 993, 999, 997, 989, 990,
+ 86, 996, 86, 86, 1000, 1001, 1004, 86, 86, 1002,
+ 1005, 86, 1008, 998, 1007, 1006, 86, 86, 86, 1011,
+
+ 86, 86, 1010, 1009, 1013, 1012, 86, 1003, 1015, 86,
+ 86, 1014, 1016, 86, 86, 86, 86, 86, 86, 1019,
+ 86, 86, 1023, 86, 86, 1017, 86, 1026, 1022, 86,
+ 86, 161, 1024, 1018, 1030, 86, 1020, 1021, 1025, 86,
+ 86, 1027, 1028, 1033, 1031, 1032, 86, 86, 1034, 86,
+ 1036, 1029, 1035, 1038, 1037, 86, 86, 1040, 86, 86,
+ 1039, 1041, 86, 86, 86, 1044, 86, 86, 1042, 1045,
+ 86, 86, 1043, 86, 86, 1046, 86, 86, 1048, 86,
+ 1049, 1050, 86, 86, 1054, 86, 86, 1058, 1055, 1047,
+ 1057, 86, 86, 86, 1056, 1051, 86, 86, 1052, 86,
+
+ 86, 86, 1053, 86, 1065, 1060, 1061, 86, 1063, 1064,
+ 86, 1059, 1066, 86, 86, 1071, 86, 86, 86, 1074,
+ 1072, 86, 86, 1062, 1067, 1069, 86, 1070, 86, 86,
+ 86, 1073, 86, 86, 86, 1080, 1082, 1075, 1068, 1077,
+ 1083, 86, 86, 1081, 86, 1076, 86, 1079, 86, 1085,
+ 86, 86, 1078, 86, 1084, 86, 86, 86, 86, 1096,
+ 1093, 86, 1091, 1086, 86, 86, 1087, 86, 1088, 86,
+ 1097, 1090, 1089, 86, 86, 1094, 1098, 1095, 1092, 86,
+ 1102, 86, 86, 1099, 86, 86, 86, 1101, 1100, 1103,
+ 1105, 1106, 86, 1104, 86, 1109, 86, 86, 86, 86,
+
+ 1116, 1107, 86, 1117, 1108, 1111, 86, 86, 86, 86,
+ 86, 1119, 86, 1122, 1110, 86, 1112, 86, 1114, 86,
+ 1113, 1118, 1115, 1123, 1120, 86, 86, 1126, 1121, 86,
+ 1124, 1125, 86, 86, 1130, 1127, 1131, 1128, 1132, 86,
+ 86, 86, 86, 1133, 86, 1136, 1129, 86, 1138, 86,
+ 86, 86, 86, 86, 1135, 1144, 86, 1134, 1140, 1141,
+ 1145, 170, 86, 86, 1148, 86, 86, 1137, 1139, 1147,
+ 86, 86, 1142, 86, 1143, 86, 1151, 1146, 86, 86,
+ 86, 86, 86, 1164, 86, 86, 86, 86, 1149, 1165,
+ 1150, 1155, 1152, 1154, 1167, 86, 86, 178, 86, 1153,
+
+ 1156, 1166, 1157, 86, 86, 1199, 1158, 86, 1159, 1168,
+ 1171, 1169, 1160, 1170, 1161, 86, 1174, 86, 1173, 1162,
+ 1172, 1175, 86, 86, 1163, 86, 1176, 86, 86, 1178,
+ 86, 86, 86, 1181, 86, 1184, 86, 1177, 86, 1194,
+ 86, 1179, 1180, 1182, 1183, 1185, 86, 1188, 86, 86,
+ 1187, 1189, 86, 1192, 1190, 1186, 1193, 1191, 1195, 86,
+ 1196, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 1208, 1197, 86, 1211, 86, 86, 1207, 86, 86, 1210,
+ 1198, 86, 1200, 1209, 1214, 86, 1213, 1201, 1215, 1202,
+ 1212, 1219, 86, 86, 1216, 1203, 1217, 86, 1220, 86,
+
+ 1204, 1205, 86, 86, 86, 86, 86, 1206, 1218, 1226,
+ 86, 1221, 86, 86, 86, 1229, 1227, 1230, 86, 1223,
+ 1222, 86, 1224, 1225, 86, 86, 1228, 1234, 86, 1232,
+ 1235, 1233, 1231, 86, 86, 86, 86, 86, 86, 1240,
+ 86, 86, 86, 1237, 1238, 86, 1241, 1236, 86, 86,
+ 86, 86, 1239, 1243, 86, 1245, 86, 1242, 86, 1248,
+ 1244, 1247, 1246, 1249, 1250, 1252, 86, 86, 1251, 86,
+ 86, 86, 1253, 86, 1256, 176, 86, 86, 86, 86,
+ 1254, 86, 1266, 1261, 1262, 86, 1263, 1255, 86, 1257,
+ 1258, 1259, 1260, 1267, 1264, 86, 1265, 86, 86, 86,
+
+ 86, 86, 1272, 86, 86, 86, 1268, 1273, 86, 86,
+ 86, 86, 1274, 1269, 1270, 1275, 1271, 86, 1277, 86,
+ 1276, 1279, 1283, 1278, 86, 1282, 86, 1280, 86, 1285,
+ 86, 86, 1281, 86, 86, 86, 1287, 86, 1289, 86,
+ 86, 1286, 1290, 86, 1284, 1292, 86, 1288, 1293, 86,
+ 1294, 1291, 86, 86, 1296, 1295, 86, 1297, 86, 86,
+ 86, 1302, 1299, 1303, 86, 1298, 1301, 86, 1304, 86,
+ 86, 86, 1307, 1306, 1300, 86, 86, 86, 86, 86,
+ 1313, 1311, 1314, 1315, 86, 86, 86, 1305, 86, 86,
+ 1316, 86, 1312, 1308, 1318, 1309, 1317, 1310, 86, 1320,
+
+ 86, 86, 1322, 1319, 86, 86, 1321, 1324, 86, 86,
+ 1326, 86, 86, 86, 1325, 86, 86, 1327, 86, 86,
+ 86, 1328, 1331, 1332, 1323, 86, 86, 86, 86, 1333,
+ 1334, 1338, 1339, 1329, 86, 1330, 86, 86, 86, 1336,
+ 86, 1341, 1342, 86, 1335, 86, 86, 1337, 86, 1340,
+ 1347, 86, 86, 86, 86, 86, 86, 1345, 170, 1343,
+ 1344, 1349, 1353, 86, 175, 86, 1346, 86, 86, 1348,
+ 86, 86, 1350, 1354, 86, 1352, 1355, 86, 1357, 1356,
+ 1351, 1358, 1360, 1359, 86, 86, 1362, 1363, 86, 1361,
+ 1365, 1366, 86, 86, 86, 86, 86, 86, 1368, 86,
+
+ 1370, 1369, 86, 86, 86, 1364, 86, 86, 1367, 1373,
+ 86, 86, 86, 1375, 1376, 86, 1371, 1372, 1379, 86,
+ 86, 1374, 86, 86, 86, 1377, 1380, 170, 1383, 1391,
+ 1378, 86, 86, 1381, 86, 1382, 1385, 86, 1389, 86,
+ 1390, 1392, 86, 1384, 1393, 1386, 1394, 1387, 86, 86,
+ 1388, 1395, 86, 86, 86, 86, 86, 86, 1402, 1399,
+ 86, 1403, 1398, 86, 86, 86, 1407, 86, 1396, 1401,
+ 1397, 1405, 86, 86, 1400, 86, 86, 1404, 1408, 86,
+ 1409, 1411, 86, 1412, 1406, 86, 86, 86, 86, 86,
+ 86, 1413, 1410, 1417, 86, 86, 1420, 86, 86, 86,
+
+ 1414, 1415, 1418, 1419, 86, 1425, 1416, 1421, 1427, 86,
+ 86, 86, 86, 1422, 86, 86, 1424, 86, 1423, 1426,
+ 1430, 86, 86, 86, 86, 1437, 1439, 1431, 86, 1428,
+ 1429, 86, 86, 1433, 1432, 86, 1434, 86, 1436, 86,
+ 86, 86, 86, 1440, 1438, 1442, 1445, 1435, 86, 1441,
+ 86, 86, 1447, 86, 1446, 1485, 1444, 1448, 86, 1443,
+ 86, 1452, 86, 86, 1450, 1462, 1451, 1449, 86, 1453,
+ 168, 86, 1461, 1454, 86, 1460, 1455, 1456, 86, 1463,
+ 86, 1457, 1466, 1465, 86, 1464, 86, 1458, 86, 1467,
+ 86, 1459, 86, 1469, 86, 1468, 86, 1471, 86, 86,
+
+ 1476, 1472, 86, 1473, 86, 86, 86, 1470, 86, 86,
+ 1479, 1477, 1482, 1483, 1474, 86, 86, 1475, 86, 86,
+ 1484, 86, 1480, 86, 1478, 166, 86, 1481, 1492, 1486,
+ 1487, 86, 1494, 1495, 1496, 1488, 86, 1489, 86, 1490,
+ 1493, 1491, 86, 86, 86, 86, 1498, 1502, 86, 1497,
+ 86, 86, 1503, 86, 1501, 86, 1506, 1504, 1499, 86,
+ 86, 86, 1500, 86, 1512, 86, 1513, 86, 1508, 1507,
+ 86, 86, 1505, 86, 86, 1515, 86, 1511, 86, 1509,
+ 1510, 1517, 86, 1514, 86, 1520, 86, 1516, 1518, 86,
+ 86, 1519, 1524, 86, 1523, 1526, 86, 86, 86, 1527,
+
+ 86, 1528, 1521, 86, 86, 1525, 1532, 86, 1529, 86,
+ 86, 1522, 86, 1531, 1534, 86, 86, 1535, 86, 1530,
+ 86, 1540, 86, 1536, 86, 86, 86, 86, 1545, 1533,
+ 1543, 1537, 86, 1538, 86, 86, 86, 1546, 86, 86,
+ 1548, 1539, 1542, 86, 1541, 1547, 1544, 86, 1552, 86,
+ 1550, 86, 86, 1549, 1551, 86, 1554, 86, 1557, 86,
+ 1555, 86, 1556, 1553, 1558, 86, 1559, 86, 86, 86,
+ 86, 1565, 1560, 86, 1562, 1566, 1563, 86, 1567, 1561,
+ 86, 86, 1569, 1564, 86, 1568, 86, 86, 86, 1573,
+ 86, 86, 86, 1570, 86, 170, 86, 1575, 1572, 86,
+
+ 86, 1581, 1582, 86, 86, 1571, 1577, 86, 86, 1583,
+ 1578, 1574, 1576, 86, 1584, 86, 86, 86, 1585, 1579,
+ 86, 86, 86, 1580, 1586, 86, 1592, 86, 1589, 86,
+ 86, 1590, 86, 1587, 165, 1588, 86, 1596, 86, 1591,
+ 1597, 86, 1593, 1599, 1601, 86, 86, 1595, 86, 1602,
+ 86, 86, 1594, 1598, 1605, 1600, 86, 1604, 86, 86,
+ 86, 86, 86, 1603, 1610, 1606, 86, 1611, 1613, 1612,
+ 86, 1607, 1615, 1608, 1616, 1614, 1609, 86, 86, 1618,
+ 86, 1620, 86, 86, 1619, 86, 86, 86, 1617, 86,
+ 86, 1623, 1624, 86, 1625, 86, 86, 86, 1628, 86,
+
+ 1622, 1626, 86, 1633, 86, 86, 1621, 86, 1634, 86,
+ 1627, 1630, 1637, 86, 1631, 1629, 86, 1632, 86, 86,
+ 163, 1638, 86, 1635, 86, 86, 1636, 86, 86, 1639,
+ 86, 86, 1645, 1641, 86, 1640, 86, 1642, 1646, 1643,
+ 86, 1647, 86, 1650, 1644, 86, 1648, 86, 1651, 86,
+ 1655, 1649, 1656, 1657, 1653, 1652, 86, 86, 86, 86,
+ 86, 1659, 1654, 1660, 86, 86, 86, 86, 1665, 1666,
+ 1658, 1661, 1664, 1662, 86, 86, 1667, 86, 1668, 86,
+ 1669, 86, 86, 1670, 86, 1671, 86, 1663, 86, 86,
+ 86, 86, 86, 86, 1678, 1672, 86, 86, 1677, 86,
+
+ 86, 1674, 86, 86, 1675, 1680, 1673, 1676, 1681, 1684,
+ 86, 1689, 1686, 1682, 1685, 86, 1679, 1687, 86, 1683,
+ 86, 86, 1688, 86, 86, 86, 86, 86, 1697, 1693,
+ 86, 86, 1692, 86, 86, 1698, 1701, 86, 86, 1690,
+ 1691, 86, 86, 1704, 1694, 1696, 1695, 1703, 86, 86,
+ 86, 1699, 86, 86, 86, 86, 1702, 1705, 86, 1700,
+ 86, 1713, 86, 86, 86, 1714, 86, 1706, 1710, 1707,
+ 161, 1708, 1709, 1712, 1718, 86, 1711, 86, 1717, 1719,
+ 86, 86, 1715, 1716, 86, 86, 1720, 86, 1721, 86,
+ 1722, 1725, 86, 86, 1723, 1726, 86, 86, 1729, 86,
+
+ 1724, 1733, 86, 86, 86, 86, 1735, 86, 1727, 1734,
+ 1728, 1730, 86, 1738, 86, 1732, 86, 1731, 1736, 86,
+ 1737, 1739, 86, 86, 86, 1742, 1740, 1741, 86, 1746,
+ 1747, 86, 1743, 1744, 86, 86, 86, 86, 86, 1751,
+ 1752, 86, 1750, 1754, 86, 86, 86, 86, 1745, 86,
+ 1755, 86, 1748, 1756, 86, 86, 86, 1749, 86, 1760,
+ 86, 1753, 86, 86, 1765, 1757, 1761, 1758, 86, 1763,
+ 86, 1759, 86, 86, 86, 86, 1771, 1769, 1762, 86,
+ 86, 86, 1764, 1766, 86, 86, 86, 1777, 1770, 1772,
+ 86, 1767, 1768, 86, 86, 86, 1774, 1773, 86, 1780,
+
+ 1782, 86, 1783, 86, 1778, 1776, 86, 1785, 86, 1775,
+ 1781, 1779, 86, 86, 86, 86, 86, 170, 1789, 1792,
+ 86, 1791, 86, 1784, 1788, 1793, 86, 86, 86, 86,
+ 1786, 1787, 1795, 1796, 1790, 86, 86, 86, 86, 1794,
+ 86, 1803, 86, 1798, 86, 86, 1797, 1804, 1807, 86,
+ 1801, 86, 86, 86, 1799, 1800, 86, 1809, 1805, 86,
+ 1808, 1811, 1802, 86, 1806, 1810, 1813, 86, 1812, 1815,
+ 1816, 86, 86, 1814, 86, 86, 1817, 86, 86, 86,
+ 1819, 86, 1822, 1820, 86, 1823, 1818, 86, 86, 86,
+ 86, 1828, 1827, 1824, 86, 1821, 86, 86, 86, 86,
+
+ 1835, 1832, 86, 1826, 1833, 1825, 86, 1836, 1830, 86,
+ 86, 86, 1829, 1837, 86, 86, 1834, 1831, 1839, 1840,
+ 86, 1843, 86, 1842, 1841, 1845, 1846, 86, 86, 1838,
+ 86, 86, 86, 1847, 1850, 1844, 86, 1848, 86, 1849,
+ 86, 86, 86, 1852, 86, 1853, 1851, 86, 1857, 1858,
+ 1856, 1859, 86, 86, 86, 86, 1861, 86, 1860, 86,
+ 86, 1854, 86, 86, 1855, 1863, 1864, 86, 1865, 86,
+ 86, 86, 86, 86, 86, 1862, 86, 1866, 86, 86,
+ 86, 86, 1876, 1875, 1870, 86, 86, 1871, 1872, 1867,
+ 1868, 86, 1869, 1878, 1873, 86, 1882, 1879, 86, 86,
+
+ 1877, 86, 86, 1874, 1881, 86, 86, 1880, 1888, 86,
+ 86, 86, 86, 86, 1892, 1884, 1890, 86, 1883, 1886,
+ 86, 1885, 86, 86, 1891, 86, 86, 1887, 86, 86,
+ 1889, 86, 1893, 86, 1894, 1897, 1899, 86, 1907, 86,
+ 1898, 1896, 1900, 86, 1902, 1901, 1895, 86, 1908, 86,
+ 1906, 86, 1903, 1912, 86, 1909, 1905, 1904, 86, 86,
+ 86, 1911, 86, 86, 86, 86, 1916, 1915, 86, 1910,
+ 1917, 86, 1913, 86, 3581, 1925, 86, 86, 86, 1914,
+ 1920, 86, 86, 1918, 1919, 1922, 1924, 86, 1923, 1926,
+ 86, 86, 1921, 86, 1927, 1929, 86, 1933, 1928, 86,
+
+ 86, 86, 1934, 86, 1935, 86, 86, 1931, 86, 1930,
+ 86, 1939, 1932, 1936, 86, 1942, 86, 1941, 86, 1943,
+ 86, 1944, 1940, 1938, 86, 1937, 86, 1946, 86, 1948,
+ 1947, 1952, 86, 86, 1949, 1945, 1953, 86, 86, 86,
+ 86, 86, 3581, 1959, 1957, 86, 1951, 1950, 1955, 86,
+ 1961, 86, 1954, 1962, 1956, 1958, 86, 86, 1960, 86,
+ 1965, 1963, 86, 86, 1969, 1967, 86, 86, 1966, 86,
+ 86, 1964, 1971, 1973, 86, 86, 86, 1968, 1972, 86,
+ 1970, 86, 1974, 86, 86, 86, 86, 86, 86, 1979,
+ 86, 1978, 86, 3581, 1975, 1976, 1980, 1982, 1981, 1983,
+
+ 1977, 1986, 86, 1988, 1984, 1989, 1985, 86, 86, 86,
+ 86, 86, 1991, 86, 86, 1995, 86, 86, 1997, 86,
+ 1990, 86, 86, 1987, 86, 2001, 86, 86, 1992, 1994,
+ 1996, 86, 1993, 86, 86, 2003, 86, 1999, 2004, 86,
+ 2000, 1998, 86, 86, 2006, 2008, 86, 2002, 2007, 86,
+ 86, 170, 86, 2012, 2005, 2015, 86, 2010, 2011, 86,
+ 86, 86, 86, 2013, 86, 2009, 86, 2014, 2019, 86,
+ 86, 2021, 2017, 86, 86, 2026, 2020, 86, 2016, 86,
+ 2018, 86, 2022, 86, 86, 2023, 2025, 2030, 86, 2027,
+ 2029, 86, 2034, 2024, 2031, 2032, 86, 2028, 86, 2035,
+
+ 2036, 86, 86, 2033, 86, 86, 2038, 86, 86, 86,
+ 2039, 86, 86, 86, 2037, 86, 86, 86, 2044, 86,
+ 2045, 86, 86, 86, 2049, 2046, 86, 3581, 2040, 2042,
+ 2043, 2041, 2048, 2047, 86, 2050, 86, 86, 2056, 2053,
+ 86, 2055, 2052, 2057, 86, 2058, 2054, 86, 2051, 86,
+ 86, 86, 86, 86, 2065, 86, 2060, 86, 2059, 86,
+ 2068, 2069, 86, 2070, 86, 86, 2061, 86, 2062, 2063,
+ 2064, 2066, 86, 2067, 86, 2071, 2072, 86, 86, 2073,
+ 2077, 86, 86, 86, 2079, 2080, 2074, 2078, 2075, 2081,
+ 86, 2083, 2082, 2076, 86, 86, 86, 86, 86, 2084,
+
+ 86, 2086, 2087, 86, 86, 2090, 86, 86, 86, 2089,
+ 86, 86, 86, 2095, 86, 2093, 2094, 2097, 86, 2096,
+ 2088, 2085, 2091, 86, 86, 86, 86, 2105, 86, 2092,
+ 2098, 2099, 2100, 86, 2107, 86, 86, 2101, 86, 2108,
+ 86, 86, 86, 2103, 2102, 86, 2104, 2111, 2106, 2109,
+ 2114, 2110, 2112, 2113, 86, 86, 86, 2118, 86, 86,
+ 86, 2120, 2116, 2115, 86, 86, 86, 2123, 2124, 86,
+ 86, 2126, 86, 86, 86, 86, 2117, 86, 86, 2133,
+ 86, 86, 2131, 2128, 2121, 2119, 2129, 2122, 86, 86,
+ 2125, 86, 86, 86, 2132, 86, 2130, 86, 2127, 2136,
+
+ 2137, 2142, 2134, 86, 2135, 86, 2139, 86, 2143, 2144,
+ 86, 86, 86, 2141, 2147, 86, 86, 2150, 2146, 2138,
+ 86, 2140, 86, 86, 2148, 2151, 86, 86, 86, 86,
+ 2145, 2149, 2152, 86, 86, 86, 2154, 2153, 2156, 86,
+ 86, 2162, 2158, 86, 2161, 2157, 86, 86, 2155, 2163,
+ 86, 86, 2159, 86, 86, 86, 86, 2166, 86, 2171,
+ 86, 2165, 86, 2170, 86, 86, 2160, 3581, 86, 86,
+ 2164, 2168, 2176, 2167, 86, 2177, 2169, 86, 2179, 2174,
+ 2172, 2173, 86, 2178, 2175, 2180, 86, 86, 2184, 86,
+ 86, 2181, 86, 2182, 86, 86, 86, 86, 2183, 86,
+
+ 2188, 2192, 86, 86, 86, 3581, 2186, 86, 86, 2195,
+ 86, 2185, 86, 2187, 2197, 86, 2189, 2190, 2194, 2191,
+ 2193, 2196, 86, 2198, 86, 86, 86, 86, 2199, 2284,
+ 2203, 2204, 86, 2206, 2200, 2205, 86, 2201, 2207, 86,
+ 2208, 2209, 2202, 86, 86, 2213, 86, 86, 2211, 86,
+ 86, 86, 86, 2210, 2215, 86, 2212, 86, 2217, 2219,
+ 86, 2214, 2221, 86, 2216, 86, 2222, 86, 86, 86,
+ 170, 86, 86, 86, 86, 2225, 86, 2231, 86, 2229,
+ 2218, 2230, 2220, 2224, 2226, 2227, 2232, 86, 2223, 86,
+ 2228, 2233, 86, 2235, 86, 86, 86, 86, 86, 86,
+
+ 2236, 2237, 86, 2238, 2239, 86, 86, 2240, 2241, 2234,
+ 2242, 86, 2243, 86, 86, 2247, 86, 86, 2244, 2246,
+ 86, 86, 86, 86, 2251, 2245, 2248, 2249, 2250, 2252,
+ 86, 86, 86, 86, 86, 86, 86, 86, 2257, 2259,
+ 2253, 2254, 2258, 86, 86, 86, 86, 86, 2264, 2255,
+ 86, 86, 2256, 2260, 2262, 2261, 86, 2263, 86, 2265,
+ 2267, 86, 2266, 86, 2270, 2268, 86, 2271, 86, 86,
+ 2269, 2276, 86, 2272, 2274, 86, 86, 86, 2277, 86,
+ 86, 2275, 86, 2283, 86, 2285, 86, 2273, 2286, 86,
+ 86, 86, 2278, 2279, 2282, 2280, 86, 2281, 2288, 86,
+
+ 2290, 86, 86, 2291, 2289, 86, 2294, 86, 2287, 86,
+ 86, 2293, 86, 86, 2292, 86, 2296, 86, 2299, 86,
+ 86, 2295, 86, 86, 2300, 86, 86, 86, 86, 86,
+ 2314, 86, 2297, 2298, 2302, 2303, 86, 2305, 86, 86,
+ 2301, 2304, 2307, 86, 86, 2308, 2306, 2317, 2311, 2309,
+ 2313, 86, 2312, 86, 2315, 86, 2318, 86, 86, 2316,
+ 2320, 86, 2310, 2321, 86, 2324, 86, 86, 86, 2323,
+ 86, 86, 86, 2319, 2329, 2322, 2325, 2327, 86, 2331,
+ 2332, 86, 2328, 86, 2326, 86, 2334, 86, 86, 86,
+ 2330, 2337, 86, 2336, 86, 2333, 86, 2338, 86, 2339,
+
+ 86, 2343, 86, 86, 86, 86, 2347, 86, 2344, 2335,
+ 86, 2348, 86, 86, 2340, 2345, 2341, 2346, 2349, 86,
+ 2342, 2352, 86, 2350, 86, 2353, 86, 2351, 86, 2357,
+ 2354, 86, 86, 86, 2359, 86, 2358, 86, 2363, 86,
+ 86, 2355, 86, 2365, 86, 2361, 86, 2366, 2356, 86,
+ 86, 2360, 2364, 2362, 86, 2368, 86, 86, 2367, 2373,
+ 2370, 86, 2369, 2371, 2375, 86, 2372, 86, 86, 2376,
+ 86, 86, 86, 86, 86, 86, 2378, 2377, 2381, 2382,
+ 2379, 86, 2374, 2380, 86, 2383, 2386, 86, 86, 86,
+ 2385, 86, 86, 86, 86, 2384, 86, 86, 2394, 86,
+
+ 86, 86, 2387, 2484, 86, 86, 2388, 2389, 2390, 2393,
+ 2392, 2395, 2396, 86, 86, 86, 2391, 2397, 2398, 2399,
+ 86, 86, 86, 86, 2400, 86, 2401, 2403, 2404, 2407,
+ 2409, 86, 86, 86, 2408, 2411, 86, 2405, 86, 2402,
+ 86, 2406, 2410, 86, 2414, 86, 86, 2418, 2415, 170,
+ 2412, 2427, 86, 86, 2420, 2422, 2423, 2413, 2416, 2421,
+ 86, 86, 86, 86, 86, 2417, 2424, 86, 86, 2428,
+ 86, 2419, 2425, 2432, 86, 86, 2433, 86, 86, 2431,
+ 2436, 86, 2438, 2429, 86, 86, 86, 2426, 86, 2434,
+ 2437, 2439, 86, 2440, 2430, 2441, 2435, 86, 86, 86,
+
+ 86, 86, 2442, 2444, 2443, 86, 86, 86, 86, 86,
+ 2447, 86, 86, 2450, 86, 86, 86, 2445, 86, 2454,
+ 2456, 86, 2449, 86, 86, 2446, 86, 2451, 2452, 2448,
+ 2457, 2453, 86, 2458, 86, 86, 2463, 2455, 86, 2459,
+ 86, 2460, 2461, 2465, 86, 2468, 86, 86, 86, 86,
+ 2462, 86, 86, 2466, 2464, 2469, 86, 86, 86, 86,
+ 86, 86, 2467, 2479, 86, 86, 86, 2470, 2471, 86,
+ 2472, 2477, 86, 2553, 2481, 2473, 2475, 86, 2482, 2476,
+ 2474, 2478, 86, 2483, 86, 2485, 86, 2480, 2486, 86,
+ 86, 2487, 86, 2488, 86, 2489, 86, 2492, 2490, 2493,
+
+ 86, 86, 86, 2494, 3581, 2491, 2495, 86, 86, 2496,
+ 86, 2498, 86, 2499, 86, 2497, 86, 2500, 2502, 86,
+ 2501, 2503, 86, 86, 86, 86, 2509, 86, 2504, 2505,
+ 2510, 86, 86, 86, 2506, 86, 2507, 2508, 2512, 86,
+ 2514, 86, 86, 2517, 86, 2518, 86, 2516, 2515, 86,
+ 86, 2511, 86, 2513, 86, 86, 86, 2525, 86, 2520,
+ 86, 2524, 86, 2519, 2527, 86, 86, 86, 2522, 2521,
+ 86, 2529, 86, 2530, 2523, 2531, 86, 2532, 86, 2526,
+ 2528, 2534, 86, 86, 86, 2537, 86, 2540, 86, 2535,
+ 86, 86, 2533, 2536, 86, 86, 86, 86, 86, 2538,
+
+ 86, 2545, 2546, 86, 86, 2539, 2542, 2551, 86, 2548,
+ 2541, 2544, 86, 2549, 2547, 2550, 86, 2543, 86, 86,
+ 86, 86, 86, 2559, 86, 86, 86, 2561, 2565, 2562,
+ 2554, 86, 2552, 2560, 86, 2557, 2555, 2556, 86, 86,
+ 86, 86, 86, 2566, 2563, 2567, 2564, 2558, 86, 86,
+ 86, 86, 2570, 2568, 2572, 2574, 2575, 86, 86, 86,
+ 2578, 2579, 2571, 2569, 2576, 86, 86, 86, 2573, 2582,
+ 86, 86, 2577, 86, 86, 86, 2583, 86, 2584, 2580,
+ 2581, 86, 86, 86, 2587, 86, 2588, 2586, 86, 86,
+ 2593, 2589, 2590, 2594, 2591, 2585, 86, 86, 86, 86,
+
+ 2600, 2595, 2592, 86, 86, 2599, 86, 86, 2601, 2596,
+ 86, 86, 2598, 86, 2604, 170, 2602, 86, 2597, 2603,
+ 2605, 86, 86, 2610, 86, 86, 86, 86, 86, 86,
+ 86, 2606, 2611, 2607, 2612, 2618, 86, 2608, 2609, 2613,
+ 86, 2616, 2614, 2615, 86, 2621, 86, 2617, 86, 2622,
+ 2623, 86, 2620, 86, 86, 2626, 2619, 2624, 2625, 2627,
+ 86, 86, 2629, 86, 86, 86, 86, 2631, 86, 2628,
+ 86, 86, 86, 2635, 86, 2636, 86, 86, 2630, 86,
+ 2632, 86, 2638, 2639, 2633, 2644, 86, 86, 2637, 2640,
+ 2634, 2641, 86, 86, 86, 86, 2645, 86, 2642, 2643,
+
+ 86, 2647, 2648, 86, 86, 86, 86, 86, 86, 2650,
+ 86, 86, 86, 2649, 2655, 2646, 86, 2657, 2658, 86,
+ 2660, 86, 2654, 86, 86, 2651, 2652, 2653, 86, 2659,
+ 86, 2656, 86, 86, 2661, 2664, 2666, 86, 86, 86,
+ 2662, 86, 2670, 86, 2669, 2667, 86, 2663, 86, 2671,
+ 86, 86, 2672, 2665, 2668, 2673, 2681, 2674, 86, 2675,
+ 86, 86, 86, 2676, 2677, 86, 2679, 86, 86, 2683,
+ 86, 2680, 86, 2685, 86, 86, 86, 2678, 86, 86,
+ 2682, 2684, 86, 86, 2689, 86, 86, 86, 2694, 86,
+ 2687, 2692, 2693, 2686, 2688, 2695, 86, 2696, 86, 2698,
+
+ 86, 86, 86, 86, 2691, 2697, 86, 2701, 2690, 86,
+ 86, 86, 2703, 86, 86, 2709, 2699, 2706, 86, 2708,
+ 2707, 86, 2704, 2700, 86, 2702, 2705, 86, 86, 2712,
+ 86, 86, 86, 86, 2713, 86, 2716, 2717, 86, 86,
+ 86, 86, 2710, 2711, 2718, 86, 2714, 86, 86, 2720,
+ 2715, 2719, 2722, 86, 2721, 2723, 86, 86, 86, 2724,
+ 86, 86, 2725, 2727, 2731, 86, 2730, 86, 2726, 2732,
+ 86, 2733, 86, 2734, 86, 86, 86, 2728, 86, 2735,
+ 2729, 2737, 86, 2738, 86, 2739, 86, 2740, 86, 86,
+ 2741, 86, 86, 2736, 86, 2747, 86, 86, 2749, 86,
+
+ 86, 2743, 2750, 86, 86, 86, 86, 86, 2742, 86,
+ 2746, 2744, 2752, 2745, 2753, 2751, 2748, 2754, 86, 86,
+ 2759, 86, 86, 2756, 2761, 86, 2755, 86, 86, 2757,
+ 86, 2760, 86, 86, 86, 86, 2768, 170, 86, 2758,
+ 86, 2770, 86, 2764, 86, 86, 86, 2766, 2763, 2769,
+ 86, 2771, 86, 2762, 86, 2777, 2765, 2767, 86, 2772,
+ 2773, 2776, 86, 2779, 2774, 2781, 86, 2780, 2778, 2782,
+ 86, 86, 2775, 86, 2783, 86, 2784, 86, 2785, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 2786,
+ 2787, 86, 86, 2796, 86, 2794, 2789, 86, 2800, 2788,
+
+ 86, 2791, 2790, 86, 2801, 2793, 2792, 2795, 2797, 86,
+ 2798, 86, 2799, 2802, 86, 2806, 86, 2803, 86, 86,
+ 2805, 2808, 86, 86, 86, 86, 86, 2807, 86, 86,
+ 86, 2804, 2812, 86, 2819, 86, 86, 2809, 86, 2820,
+ 86, 2810, 2811, 2813, 2814, 2818, 2816, 2815, 86, 86,
+ 2824, 86, 2817, 2825, 86, 2823, 2821, 2826, 86, 86,
+ 86, 86, 86, 86, 86, 86, 2822, 2831, 86, 86,
+ 86, 86, 2836, 2835, 2828, 2830, 2827, 2837, 86, 2829,
+ 2833, 86, 86, 2838, 2832, 2834, 2839, 86, 86, 86,
+ 2840, 2841, 86, 86, 86, 86, 86, 86, 2845, 2846,
+
+ 86, 2843, 86, 2852, 86, 2851, 86, 2842, 86, 2855,
+ 86, 86, 2844, 86, 2850, 2847, 2848, 86, 86, 86,
+ 2849, 2853, 2856, 2858, 2860, 86, 2854, 86, 2857, 2861,
+ 2862, 86, 2859, 86, 86, 86, 2867, 86, 86, 86,
+ 2863, 86, 86, 2870, 86, 2871, 2872, 86, 2864, 86,
+ 2868, 2869, 2874, 86, 2865, 2866, 86, 86, 2876, 86,
+ 2873, 2875, 86, 2880, 86, 86, 2881, 86, 2883, 86,
+ 86, 2878, 86, 2877, 86, 86, 86, 86, 86, 86,
+ 2890, 86, 2879, 2884, 2887, 2885, 2888, 2886, 2889, 2882,
+ 2893, 86, 86, 2892, 86, 86, 2891, 2894, 86, 2895,
+
+ 86, 86, 86, 2897, 86, 86, 86, 86, 2898, 2896,
+ 2903, 2900, 2901, 86, 2906, 86, 2907, 86, 2904, 86,
+ 2899, 2902, 2905, 86, 2908, 2910, 170, 86, 86, 86,
+ 86, 2915, 86, 2912, 2911, 86, 86, 86, 86, 2917,
+ 2916, 86, 2909, 2920, 86, 2922, 2919, 2913, 2914, 2921,
+ 86, 2918, 2923, 86, 86, 2925, 86, 2924, 86, 86,
+ 2926, 86, 2930, 2927, 2928, 86, 86, 86, 86, 2931,
+ 2929, 2932, 86, 86, 86, 86, 2933, 2937, 2938, 86,
+ 2939, 2935, 86, 86, 86, 2941, 86, 2934, 86, 2942,
+ 86, 2940, 86, 2943, 86, 2936, 86, 2944, 86, 86,
+
+ 86, 2946, 2945, 2947, 2948, 86, 86, 86, 2953, 86,
+ 2949, 86, 86, 2950, 2951, 2952, 2955, 2957, 2954, 86,
+ 86, 86, 86, 86, 86, 2958, 2962, 86, 86, 2963,
+ 2956, 86, 86, 86, 86, 2968, 86, 86, 86, 2959,
+ 2965, 2960, 86, 2961, 2973, 86, 2972, 2964, 2966, 2967,
+ 86, 2969, 2970, 2975, 2976, 86, 2978, 86, 2971, 86,
+ 86, 86, 86, 2979, 86, 2980, 86, 86, 86, 86,
+ 86, 2982, 2985, 2977, 86, 2974, 2983, 2986, 86, 86,
+ 86, 2984, 86, 2987, 2988, 3070, 2981, 2989, 86, 86,
+ 2991, 2993, 86, 2994, 86, 2990, 2995, 86, 86, 86,
+
+ 2992, 86, 2996, 86, 2997, 2999, 86, 86, 86, 3003,
+ 2998, 86, 3001, 86, 3004, 86, 86, 3007, 3008, 86,
+ 3002, 3009, 86, 3000, 86, 3005, 3010, 86, 86, 86,
+ 86, 3006, 3011, 3014, 86, 86, 86, 3012, 3017, 86,
+ 86, 3013, 86, 3018, 3019, 86, 3021, 86, 3015, 86,
+ 86, 3020, 3025, 3022, 3028, 3016, 3026, 86, 86, 86,
+ 86, 86, 86, 3027, 3024, 3030, 3029, 3023, 86, 86,
+ 3031, 86, 86, 3036, 86, 86, 86, 86, 3035, 86,
+ 3038, 3039, 86, 3041, 86, 3032, 86, 3042, 3033, 3034,
+ 86, 3040, 86, 3044, 86, 3045, 86, 86, 86, 3037,
+
+ 86, 3048, 3043, 3052, 86, 86, 86, 86, 86, 3046,
+ 3047, 86, 3098, 86, 3051, 3049, 3054, 86, 3050, 3053,
+ 3056, 86, 3059, 3581, 3055, 3058, 3057, 3060, 86, 3061,
+ 3063, 3064, 86, 86, 3062, 86, 86, 3065, 86, 3066,
+ 86, 3067, 86, 3068, 86, 3069, 86, 3073, 86, 86,
+ 86, 3071, 86, 3072, 3075, 86, 86, 3077, 86, 3081,
+ 86, 86, 3074, 3581, 3078, 3082, 86, 86, 86, 3076,
+ 3083, 3086, 86, 86, 3084, 86, 3079, 86, 3080, 3085,
+ 3087, 3088, 86, 86, 3090, 86, 3091, 86, 3089, 86,
+ 86, 3096, 86, 3095, 3097, 86, 3092, 86, 3093, 3094,
+
+ 86, 86, 86, 3103, 86, 86, 3099, 86, 3104, 86,
+ 86, 3107, 3101, 3106, 86, 3108, 86, 3102, 3105, 3100,
+ 3109, 86, 3111, 86, 86, 86, 3115, 86, 3110, 86,
+ 3112, 86, 86, 86, 86, 86, 86, 86, 3116, 3119,
+ 3122, 3581, 3120, 3114, 3117, 86, 86, 86, 3123, 3113,
+ 3125, 86, 3126, 86, 3127, 3121, 3118, 86, 3124, 86,
+ 3128, 86, 3129, 86, 3132, 3134, 86, 3133, 3135, 86,
+ 3136, 86, 3130, 86, 86, 3131, 86, 3581, 86, 3141,
+ 86, 86, 3137, 3140, 86, 86, 3142, 3144, 86, 3143,
+ 86, 86, 86, 86, 3138, 3139, 86, 3148, 3145, 3150,
+
+ 3152, 86, 3146, 86, 86, 86, 86, 3153, 86, 3154,
+ 86, 3149, 3147, 3155, 86, 3156, 86, 86, 3161, 86,
+ 86, 3151, 86, 86, 86, 3157, 86, 86, 3165, 86,
+ 3160, 3158, 3159, 3162, 86, 3163, 3164, 86, 3166, 3170,
+ 86, 86, 3167, 86, 3172, 3169, 3168, 86, 86, 86,
+ 3173, 3176, 86, 3178, 86, 86, 3181, 86, 3179, 86,
+ 3171, 3180, 3183, 86, 86, 3174, 86, 86, 3177, 86,
+ 86, 86, 3186, 86, 3175, 3182, 3188, 3189, 86, 86,
+ 3184, 3192, 3185, 86, 86, 3187, 86, 86, 3191, 3199,
+ 3190, 86, 3195, 3198, 86, 86, 3193, 86, 3196, 86,
+
+ 3201, 86, 3194, 86, 3202, 3197, 86, 3204, 86, 3205,
+ 86, 86, 3208, 86, 86, 86, 86, 3200, 3206, 86,
+ 3213, 86, 86, 3203, 3211, 3210, 86, 3217, 86, 86,
+ 86, 3207, 3209, 3215, 86, 86, 3212, 3219, 3214, 86,
+ 86, 3581, 3216, 3220, 3218, 86, 3221, 3222, 3224, 3227,
+ 3223, 3225, 86, 86, 86, 86, 3226, 3228, 86, 3230,
+ 86, 86, 86, 3229, 3233, 86, 3231, 3236, 86, 86,
+ 86, 86, 86, 86, 3241, 86, 86, 86, 3581, 86,
+ 86, 3232, 3234, 3235, 3237, 3248, 3240, 3238, 3244, 3245,
+ 86, 3246, 86, 3243, 86, 3242, 3239, 3247, 86, 86,
+
+ 3251, 86, 3252, 86, 3250, 3253, 86, 86, 3249, 3254,
+ 86, 86, 3257, 86, 86, 3259, 86, 86, 86, 3258,
+ 3255, 3261, 86, 86, 86, 86, 86, 86, 3267, 3260,
+ 3268, 86, 86, 86, 86, 86, 3262, 3256, 86, 3274,
+ 86, 3275, 86, 86, 3265, 3263, 3264, 3273, 3266, 3271,
+ 3277, 86, 3270, 86, 3272, 86, 86, 86, 3269, 3581,
+ 3280, 3276, 3282, 86, 3283, 86, 86, 86, 86, 3286,
+ 86, 3278, 3279, 3284, 86, 86, 3289, 86, 3281, 3287,
+ 3285, 86, 3288, 86, 86, 86, 3290, 3291, 86, 3292,
+ 3293, 86, 86, 3295, 86, 86, 86, 86, 3297, 86,
+
+ 86, 86, 3298, 3296, 86, 3294, 86, 86, 86, 86,
+ 86, 86, 3307, 3308, 3299, 3303, 3300, 3301, 3302, 3310,
+ 3320, 3304, 3305, 86, 3314, 86, 3581, 3306, 3311, 3309,
+ 3312, 86, 3315, 86, 3313, 3316, 86, 86, 3318, 86,
+ 86, 3317, 3321, 86, 86, 3319, 3323, 86, 3324, 3325,
+ 86, 86, 3326, 3327, 3331, 86, 3328, 86, 86, 3322,
+ 3329, 3330, 86, 86, 86, 3334, 86, 3332, 86, 86,
+ 3337, 86, 86, 3333, 86, 86, 3335, 3341, 86, 3340,
+ 86, 86, 3336, 86, 86, 86, 86, 3345, 3344, 86,
+ 86, 3338, 3339, 3346, 3349, 3342, 3350, 86, 86, 3351,
+
+ 3347, 86, 3352, 86, 3348, 3343, 3353, 86, 3354, 86,
+ 86, 86, 3359, 3355, 86, 3356, 3361, 3360, 86, 86,
+ 3357, 86, 86, 3358, 86, 86, 3365, 3369, 3362, 3363,
+ 3366, 3368, 86, 86, 86, 86, 3371, 86, 3372, 86,
+ 3364, 3370, 86, 3367, 3375, 86, 86, 3374, 86, 3373,
+ 3376, 86, 3379, 86, 86, 3377, 3380, 86, 3381, 86,
+ 3382, 86, 3383, 86, 3384, 86, 3378, 3385, 86, 3386,
+ 86, 86, 86, 3389, 86, 3390, 86, 86, 86, 86,
+ 3387, 3388, 86, 3392, 3394, 86, 3391, 3396, 86, 86,
+ 86, 86, 86, 3400, 3397, 3401, 86, 86, 3393, 3403,
+
+ 86, 3395, 3398, 3399, 86, 3402, 86, 3405, 86, 3407,
+ 86, 86, 3410, 86, 3409, 3404, 86, 86, 86, 86,
+ 86, 3412, 86, 86, 86, 86, 3416, 3411, 3408, 3418,
+ 86, 86, 3406, 3417, 86, 86, 3413, 3414, 3415, 3422,
+ 86, 3425, 86, 3423, 86, 3419, 3426, 86, 3424, 3420,
+ 86, 3421, 3427, 86, 86, 86, 86, 86, 3430, 3429,
+ 86, 86, 86, 86, 3436, 86, 3435, 3428, 86, 3438,
+ 3432, 3434, 86, 86, 86, 3431, 86, 86, 3437, 86,
+ 3433, 86, 86, 86, 3440, 3439, 86, 3447, 3445, 86,
+ 3442, 3441, 3444, 3446, 3449, 3451, 86, 86, 86, 86,
+
+ 86, 3443, 86, 3453, 3448, 3450, 3456, 86, 3458, 86,
+ 86, 3457, 86, 3454, 86, 3459, 86, 3452, 3460, 86,
+ 3455, 3461, 86, 86, 86, 86, 3464, 86, 86, 3462,
+ 3465, 3469, 3463, 3466, 86, 86, 86, 86, 86, 3468,
+ 86, 3467, 3478, 3472, 3473, 86, 86, 3471, 3470, 3475,
+ 86, 3476, 86, 3477, 86, 86, 3474, 3480, 86, 3479,
+ 86, 3481, 3483, 86, 86, 3484, 86, 86, 3485, 3487,
+ 3488, 86, 86, 3482, 86, 86, 86, 3493, 86, 3492,
+ 86, 3489, 3494, 86, 3490, 3486, 86, 86, 86, 86,
+ 86, 3491, 86, 3498, 86, 3500, 86, 86, 86, 86,
+
+ 86, 3495, 3497, 3505, 3506, 86, 3496, 3499, 86, 3502,
+ 3503, 3501, 3513, 3504, 3507, 86, 3511, 86, 86, 86,
+ 3508, 86, 3514, 3509, 3512, 86, 86, 3510, 86, 86,
+ 3515, 3516, 3519, 3517, 3520, 86, 86, 86, 86, 3522,
+ 86, 3521, 86, 86, 86, 86, 3523, 3528, 3518, 86,
+ 3525, 86, 86, 86, 86, 3531, 3524, 3532, 86, 86,
+ 86, 86, 86, 3526, 3527, 3530, 3535, 86, 3529, 3533,
+ 3536, 86, 3534, 86, 3539, 3538, 3540, 86, 3537, 86,
+ 3541, 86, 3543, 86, 3545, 86, 3546, 86, 86, 86,
+ 3550, 86, 3547, 3581, 86, 3548, 3553, 86, 3544, 3551,
+
+ 86, 86, 3552, 3542, 86, 86, 86, 86, 3549, 86,
+ 86, 3554, 3555, 86, 3557, 3559, 86, 86, 3561, 86,
+ 3556, 86, 3562, 86, 3565, 3558, 3560, 3566, 86, 3563,
+ 86, 86, 3569, 3570, 86, 86, 3572, 86, 3564, 86,
+ 3567, 86, 3571, 3573, 86, 86, 3574, 86, 86, 3568,
+ 3575, 3581, 3576, 3579, 86, 3580, 86, 3581, 3581, 3581,
+ 3577, 3581, 3581, 3581, 3581, 3581, 3581, 3578, 47, 47,
+ 47, 47, 47, 47, 47, 52, 52, 52, 52, 52,
+ 52, 52, 57, 57, 57, 57, 57, 57, 57, 63,
+ 63, 63, 63, 63, 63, 63, 68, 68, 68, 68,
+
+ 68, 68, 68, 74, 74, 74, 74, 74, 74, 74,
+ 80, 80, 80, 80, 80, 80, 80, 89, 89, 3581,
+ 89, 89, 89, 89, 160, 160, 3581, 3581, 3581, 160,
+ 160, 162, 162, 3581, 3581, 162, 3581, 162, 164, 3581,
+ 3581, 3581, 3581, 3581, 164, 167, 167, 3581, 3581, 3581,
+ 167, 167, 169, 3581, 3581, 3581, 3581, 3581, 169, 171,
+ 171, 3581, 171, 171, 171, 171, 174, 3581, 3581, 3581,
+ 3581, 3581, 174, 177, 177, 3581, 3581, 3581, 177, 177,
+ 90, 90, 3581, 90, 90, 90, 90, 17, 3581, 3581,
+ 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581,
+
+ 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581,
+ 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581,
+ 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581
} ;
-static const flex_int16_t yy_chk[7002] =
+static yyconst flex_int16_t yy_chk[7029] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5, 3, 6, 24, 4, 24, 24, 5, 24, 6,
7, 7, 7, 7, 24, 7, 8, 8, 8, 8,
33, 8, 7, 9, 9, 9, 26, 26, 8, 10,
- 10, 10, 19, 29, 9, 33, 19, 29, 3572, 35,
+ 10, 10, 19, 29, 9, 33, 19, 29, 3589, 35,
10, 11, 11, 11, 11, 11, 11, 13, 13, 13,
13, 34, 13, 11, 35, 99, 34, 29, 38, 13,
51, 51, 11, 12, 12, 12, 12, 12, 12, 14,
14, 14, 14, 99, 14, 12, 15, 15, 15, 38,
23, 14, 23, 23, 12, 23, 46, 15, 16, 16,
- 16, 23, 23, 25, 27, 27, 25, 25, 2894, 16,
+ 16, 23, 23, 25, 27, 27, 25, 25, 2910, 16,
25, 46, 27, 30, 30, 25, 27, 56, 40, 27,
56, 73, 31, 31, 25, 28, 67, 67, 30, 32,
28, 31, 40, 32, 28, 73, 32, 28, 92, 28,
- 28, 92, 31, 32, 1138, 32, 36, 36, 37, 37,
+ 28, 92, 31, 32, 1145, 32, 36, 36, 37, 37,
28, 45, 45, 37, 97, 36, 45, 97, 41, 41,
45, 36, 87, 41, 93, 36, 87, 37, 93, 37,
89, 98, 102, 100, 103, 104, 106, 107, 102, 113,
102, 109, 106, 113, 98, 108, 111, 140, 114, 112,
- 177, 107, 103, 103, 110, 106, 116, 104, 115, 108,
+ 108, 107, 103, 103, 110, 106, 116, 104, 115, 108,
119, 109, 140, 115, 111, 110, 110, 112, 114, 117,
116, 118, 117, 110, 122, 117, 120, 118, 123, 119,
121, 120, 124, 121, 125, 130, 124, 121, 117, 117,
127, 125, 123, 122, 126, 128, 118, 127, 122, 129,
132, 120, 131, 121, 128, 130, 131, 126, 134, 133,
135, 136, 129, 133, 138, 135, 137, 137, 132, 135,
- 139, 141, 142, 144, 139, 256, 134, 256, 146, 150,
+ 139, 141, 142, 144, 139, 257, 134, 257, 146, 150,
151, 136, 143, 139, 138, 143, 144, 145, 149, 139,
146, 142, 148, 145, 147, 147, 143, 141, 150, 148,
143, 151, 152, 153, 149, 153, 155, 154, 156, 157,
- 148, 155, 147, 226, 153, 147, 158, 159, 152, 154,
+ 148, 155, 147, 227, 153, 147, 158, 159, 152, 154,
156, 158, 161, 161, 179, 163, 153, 157, 163, 179,
- 165, 159, 165, 165, 226, 165, 168, 168, 170, 181,
+ 165, 159, 165, 165, 227, 165, 168, 168, 170, 181,
170, 170, 171, 170, 171, 171, 173, 171, 175, 173,
175, 175, 180, 175, 171, 178, 178, 181, 180, 182,
183, 184, 185, 186, 187, 189, 188, 180, 183, 190,
- 185, 188, 184, 212, 182, 183, 193, 191, 190, 187,
- 176, 193, 186, 191, 191, 189, 194, 194, 195, 197,
- 196, 212, 196, 197, 195, 196, 198, 198, 197, 199,
-
- 200, 201, 202, 197, 203, 204, 201, 202, 205, 197,
- 197, 199, 196, 206, 205, 207, 203, 206, 208, 200,
- 207, 209, 213, 210, 211, 204, 214, 213, 216, 217,
- 559, 214, 218, 216, 208, 209, 211, 205, 210, 211,
- 215, 215, 220, 220, 215, 219, 215, 221, 218, 217,
- 222, 219, 223, 221, 559, 224, 222, 227, 215, 221,
- 215, 224, 225, 227, 228, 229, 230, 231, 225, 228,
- 230, 229, 223, 231, 232, 234, 232, 225, 233, 235,
- 236, 232, 238, 237, 233, 235, 239, 241, 234, 237,
- 240, 243, 241, 242, 239, 238, 244, 245, 248, 250,
-
- 236, 251, 242, 240, 238, 246, 243, 251, 247, 252,
- 246, 246, 244, 247, 249, 254, 248, 245, 249, 253,
- 257, 250, 261, 258, 255, 253, 259, 252, 252, 255,
- 258, 260, 259, 263, 262, 254, 264, 260, 267, 257,
- 262, 261, 265, 265, 267, 263, 266, 266, 268, 269,
- 264, 269, 270, 271, 268, 272, 274, 273, 271, 275,
- 276, 277, 267, 278, 274, 276, 279, 272, 269, 278,
- 283, 285, 279, 280, 282, 270, 273, 281, 280, 275,
- 282, 284, 281, 286, 277, 283, 287, 288, 290, 285,
- 289, 290, 292, 292, 287, 284, 289, 286, 291, 293,
-
- 291, 294, 293, 295, 295, 296, 296, 297, 299, 298,
- 300, 299, 288, 301, 300, 303, 302, 304, 174, 294,
- 305, 303, 301, 297, 298, 302, 305, 306, 307, 306,
- 310, 304, 308, 311, 307, 310, 308, 309, 309, 311,
- 312, 313, 314, 315, 316, 319, 312, 317, 317, 318,
- 320, 321, 318, 308, 320, 322, 324, 316, 323, 323,
- 314, 313, 327, 319, 315, 312, 325, 326, 327, 325,
- 321, 329, 328, 322, 324, 328, 331, 332, 335, 326,
- 336, 335, 337, 329, 333, 331, 325, 330, 338, 333,
- 338, 338, 169, 336, 337, 332, 330, 334, 340, 330,
-
- 334, 340, 334, 339, 330, 330, 330, 330, 339, 339,
- 341, 341, 342, 343, 346, 334, 344, 345, 334, 348,
- 348, 347, 349, 346, 350, 350, 352, 349, 343, 342,
- 347, 344, 342, 353, 345, 345, 351, 351, 353, 354,
- 355, 352, 356, 357, 358, 359, 359, 361, 359, 362,
- 358, 354, 370, 370, 362, 363, 367, 359, 357, 355,
- 364, 363, 356, 365, 359, 364, 366, 361, 365, 366,
- 367, 366, 368, 369, 365, 368, 373, 371, 372, 372,
- 376, 373, 369, 371, 377, 380, 378, 377, 368, 379,
- 419, 368, 419, 368, 374, 374, 383, 374, 385, 380,
-
- 376, 378, 386, 374, 379, 377, 382, 374, 388, 382,
- 383, 386, 374, 385, 388, 374, 375, 375, 387, 375,
- 389, 388, 392, 387, 387, 382, 390, 393, 394, 391,
- 396, 392, 375, 397, 394, 375, 395, 375, 167, 375,
- 384, 389, 384, 384, 391, 390, 393, 397, 400, 401,
- 396, 398, 384, 384, 384, 384, 384, 398, 399, 384,
- 402, 398, 395, 399, 404, 403, 405, 407, 400, 401,
- 403, 408, 405, 406, 406, 402, 409, 411, 410, 404,
- 412, 399, 416, 408, 410, 415, 413, 407, 417, 418,
- 409, 413, 414, 414, 424, 414, 412, 420, 416, 420,
-
- 420, 425, 411, 418, 417, 415, 421, 422, 423, 423,
- 421, 422, 426, 424, 427, 428, 425, 420, 431, 434,
- 442, 166, 429, 434, 431, 432, 422, 435, 426, 428,
- 429, 429, 427, 433, 432, 436, 435, 438, 433, 437,
- 442, 436, 429, 438, 429, 430, 440, 439, 441, 440,
- 430, 439, 444, 441, 443, 443, 445, 445, 430, 430,
- 437, 447, 430, 430, 446, 444, 430, 448, 448, 446,
- 449, 450, 451, 452, 447, 450, 449, 453, 454, 455,
- 455, 456, 453, 454, 457, 458, 459, 451, 455, 460,
- 461, 466, 460, 456, 452, 461, 462, 463, 459, 468,
-
- 462, 464, 464, 458, 457, 465, 467, 467, 472, 463,
- 465, 473, 466, 470, 470, 474, 475, 476, 477, 473,
- 478, 468, 479, 477, 481, 475, 483, 482, 503, 472,
- 486, 485, 503, 484, 479, 487, 474, 485, 476, 486,
- 478, 487, 481, 488, 481, 482, 483, 484, 488, 489,
- 490, 491, 492, 493, 491, 494, 495, 496, 490, 498,
- 499, 490, 495, 489, 494, 498, 492, 497, 493, 501,
- 497, 500, 502, 504, 499, 505, 500, 496, 504, 506,
- 507, 508, 509, 498, 506, 512, 528, 513, 514, 528,
- 505, 501, 516, 502, 515, 509, 507, 518, 515, 517,
-
- 508, 510, 510, 514, 517, 512, 519, 510, 513, 510,
- 519, 516, 164, 518, 520, 510, 521, 510, 523, 520,
- 510, 510, 525, 520, 522, 526, 524, 510, 525, 522,
- 527, 521, 529, 525, 523, 524, 530, 523, 531, 531,
- 526, 532, 533, 533, 534, 535, 527, 536, 537, 537,
- 538, 539, 541, 540, 162, 529, 530, 535, 540, 534,
- 542, 541, 536, 543, 544, 546, 532, 547, 548, 538,
- 544, 547, 548, 539, 546, 549, 550, 551, 543, 542,
- 552, 549, 553, 554, 555, 556, 560, 557, 550, 556,
- 160, 558, 551, 558, 560, 562, 553, 563, 554, 552,
-
- 557, 562, 555, 561, 561, 564, 565, 566, 567, 563,
- 566, 564, 568, 570, 569, 571, 570, 572, 565, 569,
- 573, 620, 567, 574, 571, 573, 573, 568, 575, 575,
- 620, 571, 582, 572, 571, 577, 574, 576, 576, 578,
- 578, 577, 579, 579, 580, 583, 581, 586, 587, 585,
- 580, 581, 581, 582, 585, 584, 587, 583, 584, 588,
- 589, 590, 588, 591, 592, 589, 586, 593, 592, 594,
- 595, 597, 596, 593, 595, 601, 597, 598, 599, 599,
- 600, 602, 591, 603, 590, 604, 602, 605, 606, 594,
- 596, 598, 607, 613, 606, 600, 601, 607, 608, 610,
-
- 612, 604, 603, 609, 611, 611, 609, 605, 614, 613,
- 616, 609, 608, 614, 609, 609, 615, 610, 612, 617,
- 619, 615, 621, 622, 616, 621, 619, 622, 623, 624,
- 625, 626, 624, 623, 617, 625, 627, 628, 629, 631,
- 630, 632, 632, 633, 628, 630, 634, 626, 635, 622,
- 636, 629, 633, 637, 627, 638, 644, 639, 640, 631,
- 645, 644, 637, 639, 640, 634, 636, 638, 641, 635,
- 646, 641, 642, 642, 643, 642, 647, 643, 645, 649,
- 648, 650, 654, 651, 646, 648, 652, 650, 651, 661,
- 647, 653, 652, 657, 653, 655, 656, 658, 649, 659,
-
- 655, 656, 656, 660, 659, 662, 657, 654, 661, 660,
- 658, 663, 664, 674, 662, 666, 663, 667, 659, 659,
- 665, 665, 666, 668, 667, 669, 668, 670, 671, 672,
- 676, 669, 664, 671, 672, 672, 673, 673, 674, 670,
- 675, 668, 675, 671, 677, 678, 677, 679, 680, 676,
- 681, 682, 683, 684, 688, 685, 85, 684, 683, 686,
- 687, 689, 691, 678, 685, 679, 680, 690, 693, 681,
- 690, 682, 688, 694, 686, 687, 692, 691, 695, 690,
- 689, 696, 692, 697, 698, 699, 701, 694, 693, 699,
- 695, 700, 702, 703, 704, 708, 705, 707, 707, 708,
-
- 696, 705, 701, 698, 697, 706, 709, 710, 712, 700,
- 702, 703, 703, 704, 711, 714, 713, 715, 720, 706,
- 709, 713, 712, 717, 716, 711, 710, 718, 719, 721,
- 717, 714, 718, 722, 721, 719, 715, 716, 722, 723,
- 724, 725, 720, 727, 726, 729, 737, 724, 728, 730,
- 725, 729, 727, 731, 730, 732, 731, 723, 726, 732,
- 728, 733, 734, 735, 746, 736, 749, 737, 738, 738,
- 744, 734, 739, 739, 742, 733, 740, 740, 735, 736,
- 741, 739, 745, 742, 746, 741, 747, 748, 745, 744,
- 747, 749, 750, 752, 751, 753, 754, 755, 756, 748,
-
- 751, 752, 753, 762, 759, 766, 765, 768, 769, 80,
- 750, 766, 771, 768, 754, 765, 771, 769, 756, 759,
- 762, 770, 755, 757, 776, 757, 772, 772, 757, 773,
- 773, 775, 757, 774, 777, 757, 812, 770, 776, 782,
- 778, 780, 757, 757, 774, 757, 778, 781, 783, 775,
- 812, 785, 781, 787, 777, 779, 779, 779, 787, 779,
- 782, 780, 779, 788, 784, 786, 783, 779, 784, 786,
- 791, 789, 790, 779, 779, 785, 789, 792, 793, 794,
- 792, 796, 788, 793, 793, 786, 794, 790, 795, 795,
- 798, 798, 797, 799, 75, 791, 796, 797, 799, 800,
-
- 801, 804, 800, 802, 802, 801, 803, 805, 803, 807,
- 806, 808, 809, 804, 806, 810, 810, 811, 813, 813,
- 809, 814, 815, 816, 828, 817, 805, 828, 818, 807,
- 808, 817, 811, 818, 815, 819, 819, 820, 823, 814,
- 824, 822, 820, 820, 823, 816, 822, 825, 74, 826,
- 827, 829, 830, 825, 826, 834, 827, 829, 833, 824,
- 830, 831, 831, 832, 832, 835, 833, 836, 837, 838,
- 835, 836, 839, 834, 840, 837, 841, 841, 843, 845,
- 842, 844, 844, 846, 850, 845, 843, 838, 839, 842,
- 848, 849, 851, 840, 852, 853, 854, 851, 853, 848,
-
- 849, 854, 846, 852, 855, 856, 857, 858, 850, 860,
- 862, 859, 861, 861, 863, 857, 859, 859, 855, 864,
- 858, 865, 866, 860, 867, 862, 871, 867, 864, 869,
- 856, 869, 873, 863, 872, 867, 870, 870, 874, 872,
- 866, 875, 876, 877, 879, 865, 878, 871, 880, 68,
- 881, 882, 880, 873, 883, 878, 884, 885, 874, 886,
- 883, 875, 887, 877, 876, 884, 888, 879, 881, 885,
- 882, 889, 891, 892, 890, 886, 894, 889, 892, 895,
- 888, 887, 890, 893, 893, 896, 891, 897, 898, 899,
- 900, 901, 903, 902, 896, 894, 898, 904, 903, 895,
-
- 905, 907, 906, 904, 908, 909, 912, 897, 906, 899,
- 901, 909, 900, 902, 905, 907, 910, 911, 913, 915,
- 63, 911, 910, 914, 908, 912, 916, 916, 914, 917,
- 913, 918, 920, 919, 921, 917, 919, 918, 913, 922,
- 915, 923, 924, 924, 925, 922, 926, 921, 928, 927,
- 920, 926, 927, 928, 928, 929, 930, 931, 931, 932,
- 930, 923, 925, 933, 934, 927, 935, 927, 937, 934,
- 929, 940, 938, 941, 942, 944, 944, 948, 945, 946,
- 975, 932, 945, 933, 940, 935, 938, 947, 947, 951,
- 58, 950, 937, 941, 946, 942, 943, 953, 975, 943,
-
- 949, 943, 948, 951, 949, 943, 950, 943, 952, 954,
- 955, 953, 943, 952, 954, 954, 956, 943, 957, 955,
- 958, 959, 957, 961, 962, 960, 959, 963, 961, 964,
- 956, 965, 973, 966, 957, 958, 959, 960, 962, 966,
- 965, 967, 971, 964, 968, 969, 967, 971, 963, 972,
- 968, 969, 970, 970, 973, 972, 974, 977, 978, 979,
- 980, 981, 981, 978, 984, 982, 983, 985, 986, 977,
- 982, 992, 980, 979, 983, 974, 976, 976, 987, 989,
- 984, 985, 976, 988, 976, 989, 990, 986, 991, 992,
- 976, 990, 993, 994, 995, 976, 976, 987, 998, 988,
-
- 991, 997, 976, 996, 996, 997, 1001, 1000, 993, 1001,
- 1002, 994, 995, 1000, 1003, 1004, 1005, 1007, 998, 1003,
- 1006, 1009, 1005, 1010, 1011, 1006, 1013, 1012, 1004, 1002,
- 1009, 1014, 1010, 1012, 1015, 1013, 1007, 1016, 1017, 1015,
- 1011, 1018, 1019, 1022, 1020, 1023, 1021, 1026, 1029, 1022,
- 1014, 1028, 1017, 1020, 1019, 1021, 1031, 1016, 1024, 1032,
- 1033, 1018, 1023, 1026, 1024, 1028, 1030, 1034, 1029, 1035,
- 1040, 1030, 1036, 1032, 1035, 1031, 1039, 1036, 1033, 1040,
- 1042, 1039, 1034, 1041, 1041, 1043, 1042, 1044, 1045, 1046,
- 1048, 1043, 1049, 1053, 1054, 1055, 1044, 1049, 1049, 1056,
-
- 1051, 1051, 1046, 1045, 1051, 1052, 1048, 1053, 1052, 1057,
- 1058, 1055, 1059, 1060, 1054, 1061, 1062, 1056, 1059, 1063,
- 1064, 1061, 1057, 1068, 1063, 1058, 1066, 1066, 57, 1067,
- 1069, 1062, 1067, 1060, 1064, 1069, 1070, 1071, 1072, 1075,
- 1073, 1070, 1078, 1074, 1068, 1073, 1077, 1072, 1074, 1079,
- 1080, 1075, 1077, 1071, 1082, 1079, 1080, 1083, 1078, 1081,
- 1081, 1084, 1086, 1082, 1084, 1085, 1085, 1087, 1088, 1089,
- 1090, 1091, 1089, 1092, 1126, 1083, 1093, 1091, 1126, 1092,
- 1086, 1096, 1093, 1090, 1094, 1095, 1087, 1096, 1088, 1094,
- 1095, 1097, 1098, 1101, 1100, 1102, 1097, 1103, 1098, 1100,
-
- 1104, 1105, 1105, 1103, 1106, 1104, 1108, 1107, 1109, 1110,
- 1112, 1101, 1110, 1106, 1111, 1102, 1107, 1111, 1113, 1114,
- 1115, 1112, 1116, 1113, 1108, 1117, 1122, 1109, 1118, 1119,
- 1120, 1117, 1115, 1123, 1118, 1120, 1124, 1114, 1121, 1121,
- 1125, 1116, 1127, 1128, 1119, 1122, 1129, 1123, 1124, 1130,
- 1132, 1134, 1128, 1133, 1133, 1137, 1135, 1136, 1125, 1134,
- 1127, 1135, 1136, 1139, 1140, 1129, 1141, 1142, 1145, 1132,
- 1146, 1143, 1142, 52, 1130, 1137, 1146, 1139, 1141, 1140,
- 1143, 1144, 1144, 1147, 1148, 1149, 1156, 1151, 1145, 1147,
- 1149, 1150, 1151, 1150, 1152, 1153, 1154, 1155, 1158, 1157,
-
- 1148, 1154, 1159, 1161, 1161, 1156, 1157, 1163, 1152, 1153,
- 1162, 1164, 1155, 1158, 1165, 1166, 1174, 1167, 47, 1169,
- 1165, 1159, 1167, 1169, 1162, 1163, 1164, 1170, 1170, 1171,
- 1174, 1167, 1173, 1167, 1171, 1166, 1167, 1172, 1172, 1173,
- 1175, 1176, 1178, 1175, 1177, 1179, 1180, 1181, 1182, 1183,
- 1179, 1178, 1185, 1182, 1190, 1184, 1187, 1187, 18, 1181,
- 1176, 1193, 1177, 1183, 1188, 1180, 1184, 1189, 1191, 1188,
- 1193, 1185, 1189, 1191, 1190, 1192, 1194, 1195, 1196, 1192,
- 1198, 1197, 1199, 1201, 1197, 1202, 1200, 1203, 1204, 1199,
- 1207, 1194, 1195, 1197, 1204, 1198, 1205, 1196, 1200, 1208,
-
- 1209, 1206, 1201, 1210, 1211, 1203, 1202, 1206, 1212, 1209,
- 1207, 1205, 1213, 1214, 1215, 1216, 1217, 1220, 1210, 1208,
- 1212, 1216, 1219, 1211, 1223, 1221, 1222, 1224, 1219, 1215,
- 1225, 1213, 1220, 1226, 1222, 1225, 1217, 1228, 1214, 1221,
- 1229, 1227, 1230, 1224, 1223, 1226, 1227, 1227, 1231, 1231,
- 1233, 1234, 1238, 1235, 1229, 1230, 1228, 1232, 1232, 1235,
- 1234, 1238, 1232, 1233, 1237, 1232, 1232, 1236, 1236, 1237,
- 1232, 1239, 1243, 1240, 1241, 1246, 1232, 1239, 1240, 1241,
- 1232, 1242, 1242, 1244, 1244, 1245, 1247, 1249, 1245, 1250,
- 1245, 1248, 1252, 1243, 1251, 1246, 1249, 1248, 1253, 1251,
-
- 1256, 1254, 1255, 1259, 1247, 1256, 1252, 1254, 1255, 1250,
- 1257, 1258, 1259, 1260, 1257, 1261, 1253, 1259, 1260, 1259,
- 1264, 1259, 1267, 1259, 1258, 1262, 1262, 1263, 1263, 1261,
- 1263, 1264, 1266, 1268, 1269, 1270, 1266, 1267, 1271, 1272,
- 1270, 1270, 1274, 1269, 1273, 1275, 1276, 1271, 1277, 1273,
- 1278, 1268, 1279, 1289, 1275, 1282, 1274, 1281, 1279, 1280,
- 1280, 1272, 1283, 1282, 1278, 1276, 1284, 1277, 1285, 1281,
- 1286, 1284, 1288, 1287, 1291, 1291, 1283, 1292, 1289, 1286,
- 1287, 1290, 1285, 1293, 1293, 1294, 1290, 1294, 1296, 1297,
- 1288, 1296, 1292, 1298, 1297, 1299, 1300, 1300, 1301, 1302,
-
- 1302, 1303, 1303, 1304, 1299, 1305, 1306, 1307, 1304, 1308,
- 1308, 1309, 1298, 1310, 1311, 1312, 1313, 1311, 1301, 1314,
- 1315, 1316, 1313, 1316, 1314, 1317, 1305, 1306, 1307, 1315,
- 1310, 1309, 1320, 1319, 1321, 1312, 1319, 1322, 1324, 1321,
- 1323, 1328, 1328, 1317, 1325, 1323, 1324, 1320, 1330, 1325,
- 1326, 1322, 1327, 1326, 1329, 1331, 1332, 1327, 1333, 1329,
- 1337, 1331, 1335, 1332, 1336, 1337, 1330, 1338, 1335, 1339,
- 1336, 1333, 1338, 1340, 1341, 1339, 1342, 1343, 1343, 1344,
- 1346, 1348, 1340, 1347, 1350, 1346, 1351, 1342, 1349, 1352,
- 1353, 1348, 1354, 1341, 1356, 1352, 1353, 1357, 1354, 1344,
-
- 1356, 1347, 1358, 1349, 1350, 1359, 1360, 1361, 1362, 1351,
- 1364, 1357, 1363, 1363, 1365, 1366, 1372, 1357, 1360, 1367,
- 1369, 1361, 1358, 1374, 1367, 1359, 1362, 1368, 1368, 1370,
- 1364, 1373, 1376, 1366, 1370, 1372, 1373, 1373, 1375, 1365,
- 1376, 1374, 1377, 1369, 1378, 1379, 1380, 1375, 1381, 1385,
- 1382, 1380, 1382, 1383, 1380, 1385, 1377, 1381, 1386, 1378,
- 1379, 1387, 1386, 1379, 1388, 1389, 1390, 1383, 1391, 1388,
- 1388, 1392, 1387, 1393, 1395, 1394, 1392, 1396, 1393, 1397,
- 1400, 1399, 1396, 1401, 1389, 1403, 1391, 1402, 1402, 1403,
- 1404, 1405, 1390, 1394, 1395, 1399, 1406, 1407, 1400, 1397,
-
- 1408, 1401, 1406, 1409, 1410, 1411, 1412, 1413, 1404, 1407,
- 1405, 1417, 1414, 1418, 1416, 1419, 1408, 1414, 1410, 1416,
- 1411, 1412, 1409, 1415, 1419, 1421, 1413, 1420, 1420, 1417,
- 1415, 1423, 1422, 1425, 1418, 1424, 1424, 1426, 1427, 1425,
- 1421, 1422, 1430, 1426, 1428, 1428, 1429, 1429, 1430, 1431,
- 1432, 1423, 1427, 1433, 1434, 1435, 1436, 1443, 1433, 17,
- 1434, 1435, 1436, 1437, 1437, 1431, 1438, 1438, 1440, 1440,
- 1441, 1432, 1442, 1444, 1441, 1443, 1445, 1446, 1449, 1447,
- 1450, 1442, 1448, 1448, 1451, 1444, 1447, 1452, 1450, 1451,
- 1445, 1453, 1446, 1456, 1454, 1457, 1457, 1455, 1449, 1454,
-
- 1454, 1452, 1455, 1455, 1458, 1459, 1460, 1461, 1462, 1463,
- 1453, 1465, 1461, 1456, 1464, 1460, 1466, 1465, 1467, 1468,
- 1469, 1466, 1470, 1458, 1459, 1471, 1469, 1462, 1472, 1463,
- 1473, 1471, 1464, 1474, 1472, 1475, 1476, 1477, 1467, 1478,
- 1479, 1470, 1480, 1481, 1481, 1468, 1483, 1482, 1484, 1473,
- 1482, 1485, 1474, 1478, 1475, 1476, 1477, 1480, 1486, 1486,
- 1489, 1479, 1490, 1485, 1489, 1483, 1488, 1484, 1487, 1487,
- 1491, 1488, 1492, 1495, 1493, 1490, 1493, 1496, 1498, 1491,
- 1493, 1497, 1496, 1499, 1501, 1492, 1500, 1500, 1502, 1501,
- 1503, 1495, 1509, 1493, 1502, 1504, 1497, 1505, 1498, 1499,
-
- 1507, 1506, 1510, 1505, 1507, 1503, 1506, 1508, 1504, 1511,
- 1512, 1508, 1509, 1513, 1514, 1514, 1516, 1518, 1511, 1513,
- 1510, 1519, 1520, 1520, 1522, 1521, 1519, 1524, 1524, 1526,
- 1512, 1521, 1526, 1528, 1516, 1527, 1527, 1529, 1518, 1530,
- 1532, 1533, 1535, 1532, 1522, 1534, 1536, 1537, 1537, 1528,
- 1539, 1535, 1538, 1529, 1540, 1530, 1541, 1545, 1542, 1543,
- 1543, 1541, 1533, 1546, 1547, 1534, 1536, 1538, 1544, 1550,
- 1548, 1539, 1542, 1540, 1551, 1545, 1552, 1544, 1546, 1549,
- 1549, 1552, 1553, 1550, 1554, 1554, 1556, 1555, 1558, 1547,
- 1548, 1555, 1551, 1557, 1557, 1559, 1560, 1553, 1561, 1562,
-
- 1563, 1570, 1561, 1565, 1565, 1563, 1556, 1560, 1566, 1567,
- 1558, 1566, 1568, 1569, 1559, 1572, 1571, 1568, 1562, 1570,
- 1574, 1576, 1567, 1573, 1575, 1575, 1576, 1577, 1578, 1569,
- 1571, 1579, 1579, 1580, 1572, 1572, 1581, 1573, 1582, 1586,
- 1595, 1581, 1580, 1591, 1583, 1574, 1583, 1577, 1578, 1584,
- 1585, 1587, 1589, 1647, 1584, 1647, 1585, 1587, 1582, 1586,
- 1590, 1590, 1591, 1592, 1595, 1594, 1589, 1596, 1596, 1592,
- 1594, 1597, 1597, 1598, 1599, 1600, 1601, 1602, 1602, 1601,
- 1603, 1604, 1605, 1606, 1613, 1607, 1606, 1598, 1745, 1606,
- 1600, 1607, 1599, 1604, 1608, 1611, 1745, 1609, 1603, 1608,
-
- 1609, 1606, 1605, 1612, 1611, 1615, 1615, 1614, 1612, 1613,
- 1614, 1616, 1617, 1625, 1618, 1623, 1609, 1616, 1617, 1618,
- 1619, 1619, 1620, 1620, 1621, 1624, 1622, 1626, 1623, 1628,
- 1621, 1622, 1625, 1627, 1629, 1628, 1627, 1631, 1630, 1632,
- 1629, 1633, 1631, 1624, 1630, 1632, 1634, 1626, 1635, 1635,
- 1636, 1634, 1637, 1638, 1640, 1636, 1639, 1641, 1642, 1644,
- 1645, 1646, 1643, 1648, 1633, 1646, 1651, 1655, 1652, 0,
- 1637, 1641, 1642, 1638, 1640, 1639, 1643, 1644, 1651, 1649,
- 1652, 1653, 1648, 1654, 1656, 1645, 1649, 1655, 1657, 1654,
- 1658, 1659, 1661, 1661, 1653, 1662, 1663, 1664, 1665, 1665,
-
- 1656, 1663, 1666, 1668, 1658, 1667, 1669, 1670, 1657, 1664,
- 1671, 1672, 1659, 1674, 1673, 1662, 1670, 1666, 1672, 1667,
- 1676, 1678, 1682, 1673, 1669, 1671, 1673, 1668, 1679, 1674,
- 1683, 1679, 1680, 1680, 1682, 1676, 1681, 1681, 1684, 1686,
- 1676, 1684, 1685, 1685, 1687, 1688, 1678, 1691, 1683, 1692,
- 1688, 1689, 1686, 1690, 1689, 1693, 1694, 0, 1690, 1695,
- 1696, 1697, 1700, 1687, 1693, 1692, 1691, 1697, 1695, 1696,
- 1699, 1695, 1698, 1698, 1701, 1694, 1702, 1699, 1703, 1704,
- 1705, 1707, 1700, 1706, 1710, 1705, 1705, 1701, 1706, 1711,
- 1712, 1712, 1703, 1707, 1702, 1704, 1713, 1714, 1715, 1715,
-
- 1716, 1716, 1717, 1715, 1719, 1718, 1714, 1711, 1720, 1710,
- 1718, 1717, 1713, 1721, 1717, 1716, 1724, 1725, 1722, 1726,
- 1727, 1728, 1719, 1722, 1722, 1727, 1730, 1729, 1732, 1720,
- 1724, 1721, 1725, 1729, 1732, 1728, 1731, 1731, 1733, 1734,
- 1735, 1726, 1736, 1733, 1730, 1738, 1735, 1739, 1736, 1740,
- 1741, 1742, 1743, 1734, 1742, 1740, 1747, 1748, 1743, 1749,
- 1742, 1739, 1750, 1741, 1751, 1738, 1753, 1756, 1752, 1751,
- 1750, 1754, 1755, 1757, 0, 1747, 1748, 1752, 1749, 1753,
- 1754, 1756, 1758, 1758, 1759, 1755, 1760, 1757, 1761, 1763,
- 1759, 1765, 1760, 1762, 1762, 1764, 1766, 1766, 1767, 1768,
-
- 1769, 1761, 1770, 1771, 1758, 1768, 1773, 1773, 1774, 1763,
- 1765, 1767, 1775, 1764, 1776, 1777, 1775, 1780, 1770, 1776,
- 1778, 1771, 1769, 1781, 1779, 1778, 1780, 1783, 1774, 1779,
- 1784, 1785, 1786, 1787, 1785, 1777, 1788, 1788, 1783, 1784,
- 1789, 1790, 1791, 1793, 1786, 1794, 1781, 1799, 1787, 1792,
- 1792, 1795, 1794, 1790, 1796, 1798, 1800, 1793, 1801, 1789,
- 1802, 1791, 1800, 1795, 1809, 1803, 1796, 1799, 1804, 1804,
- 1801, 1803, 1805, 1809, 1798, 1805, 1806, 1806, 1802, 1808,
- 1810, 1811, 1811, 1812, 1808, 1813, 1810, 1813, 1814, 1815,
- 1816, 1814, 1817, 1818, 1819, 1812, 1820, 1821, 1823, 1819,
-
- 1824, 1820, 1822, 1826, 1829, 1824, 1821, 1825, 0, 1815,
- 1817, 1818, 1816, 1823, 1822, 1827, 1825, 1828, 1832, 1829,
- 1827, 1834, 1828, 1826, 1830, 1830, 1831, 1827, 1835, 1825,
- 1836, 1837, 1831, 1838, 1839, 1838, 1840, 1840, 1843, 1832,
- 1834, 1841, 1841, 1842, 1842, 1846, 1836, 1835, 1839, 1847,
- 1839, 1837, 1844, 1844, 1845, 1845, 1848, 1850, 1843, 1849,
- 1849, 1850, 1851, 1854, 1852, 1855, 1846, 1852, 1851, 1854,
- 1847, 1857, 1856, 1858, 1860, 1860, 1857, 1848, 1856, 1859,
- 1861, 1862, 1859, 1855, 1863, 1863, 1862, 1864, 1865, 1866,
- 1867, 1868, 1868, 1870, 1866, 1867, 1869, 1879, 1858, 1870,
-
- 1861, 1869, 1864, 1871, 1872, 1873, 1874, 1875, 1876, 1865,
- 1880, 1879, 0, 1875, 1878, 1871, 1871, 1871, 1883, 1878,
- 1878, 1882, 1871, 1873, 1872, 1880, 1874, 1881, 1876, 1881,
- 1884, 1885, 1882, 1883, 1886, 1887, 1884, 1888, 1888, 1889,
- 1885, 1890, 1890, 1891, 1892, 1893, 1893, 1894, 1894, 1895,
- 1898, 1898, 1899, 1900, 1886, 1902, 1887, 1903, 1905, 1906,
- 1906, 1904, 1900, 1891, 1902, 1889, 1892, 1904, 1907, 1895,
- 1908, 1910, 1909, 1911, 1905, 1912, 1912, 1899, 1903, 1909,
- 1910, 1913, 1914, 1917, 1916, 1908, 1918, 1920, 1917, 1907,
- 1916, 1919, 1918, 1924, 1920, 1921, 1929, 1925, 1914, 1911,
-
- 1922, 1921, 1922, 1925, 1926, 1926, 1928, 1913, 1927, 1930,
- 1932, 1919, 1924, 1927, 1931, 1928, 1929, 1931, 1933, 1934,
- 1935, 1933, 1932, 1936, 1936, 1937, 1938, 1939, 1930, 1940,
- 1941, 1937, 1938, 1943, 1941, 1944, 1945, 1934, 1946, 1946,
- 1947, 1945, 1948, 1949, 1940, 1952, 1935, 1939, 1951, 1952,
- 1941, 1953, 1953, 1943, 1954, 1957, 1955, 1944, 1949, 1957,
- 1954, 1948, 1956, 1956, 1947, 1955, 1958, 1951, 1959, 1959,
- 1960, 1961, 1968, 1962, 1963, 1964, 1965, 1958, 1966, 1963,
- 1967, 1971, 1958, 1970, 1969, 1961, 1967, 1978, 1970, 1974,
- 1968, 1960, 1962, 1974, 1971, 1964, 1965, 1976, 1966, 1969,
-
- 1972, 1972, 1973, 1973, 1977, 1986, 1976, 1978, 1979, 1979,
- 1981, 1981, 1982, 1983, 0, 1977, 1985, 1982, 1982, 1983,
- 1977, 1987, 1985, 1988, 1989, 1991, 1987, 1993, 1992, 1995,
- 1989, 1986, 1992, 1994, 1994, 1988, 1996, 1991, 1997, 1993,
- 1998, 2001, 1996, 1999, 1999, 2000, 1998, 2002, 2006, 2074,
- 2003, 2005, 2002, 2007, 1995, 2013, 2009, 2074, 2007, 2009,
- 1997, 2001, 2003, 2005, 2000, 2010, 2010, 2006, 2011, 2011,
- 2012, 2012, 2014, 2015, 2017, 2013, 2016, 2018, 2014, 2015,
- 2017, 2016, 2020, 2023, 2026, 2022, 2018, 2020, 2022, 2024,
- 2024, 2027, 2028, 2029, 2029, 2023, 2026, 2028, 2030, 2031,
-
- 2032, 2034, 2034, 2027, 2031, 2032, 2033, 2030, 2035, 2033,
- 2036, 2037, 2038, 2039, 2042, 2040, 2041, 2039, 2043, 2036,
- 2040, 2044, 2041, 2045, 2047, 2047, 2048, 2043, 2035, 2037,
- 2050, 2038, 2042, 2049, 2051, 2051, 2047, 2045, 2052, 2044,
- 2053, 2054, 2049, 2055, 2048, 2056, 2061, 2052, 2055, 2061,
- 2050, 2062, 2053, 2059, 2059, 2063, 2064, 2068, 2056, 2066,
- 2069, 2067, 2054, 2068, 2070, 2070, 2071, 2062, 2071, 2072,
- 2079, 2063, 2064, 2088, 2066, 2067, 2084, 2069, 2073, 2073,
- 2076, 2076, 2077, 2077, 2080, 2081, 2082, 2072, 2083, 2085,
- 2080, 2081, 2087, 2079, 2088, 2083, 2086, 2086, 2084, 2089,
-
- 2082, 2087, 2090, 2091, 2092, 2093, 2094, 2097, 2099, 2085,
- 2098, 2089, 2101, 2095, 2090, 2095, 2092, 2102, 2091, 2095,
- 2099, 2094, 2100, 2100, 2104, 2103, 2105, 2097, 2103, 2104,
- 2101, 2093, 2095, 2098, 2107, 2109, 2108, 2102, 2108, 2107,
- 2110, 2111, 2113, 2115, 2119, 2110, 2105, 2116, 2111, 2120,
- 2117, 2113, 2118, 2109, 2118, 2120, 2116, 2122, 2123, 2122,
- 2125, 2115, 2117, 2119, 2124, 2124, 2126, 2127, 2128, 2127,
- 2129, 2126, 2123, 2128, 2130, 2129, 2131, 2132, 2133, 2136,
- 2134, 2140, 2135, 2137, 2133, 2134, 2125, 2141, 2137, 2137,
- 2138, 2136, 2130, 2145, 2131, 2135, 2144, 2132, 2138, 2146,
-
- 2140, 2141, 2142, 2142, 2143, 2143, 2147, 2144, 2145, 2148,
- 2150, 2149, 2147, 2149, 2148, 2151, 2152, 2152, 2153, 2146,
- 2154, 2154, 2157, 2151, 2155, 2155, 2156, 2157, 2150, 2158,
- 2153, 2151, 2160, 2161, 2163, 2156, 2160, 2162, 2164, 2162,
- 2165, 2166, 2161, 2164, 2164, 2161, 2167, 2158, 2169, 2170,
- 2166, 2171, 2165, 2173, 2170, 2163, 2171, 2174, 2167, 2175,
- 2169, 2176, 2176, 2177, 2178, 2179, 2173, 2181, 2175, 2180,
- 2182, 2183, 0, 2184, 2188, 2186, 2187, 2174, 2184, 2197,
- 2191, 2177, 2178, 2179, 2182, 2180, 2183, 2186, 2187, 2191,
- 2189, 2190, 2181, 2194, 2188, 2189, 2190, 2196, 2198, 2194,
-
- 2199, 2200, 2197, 2196, 2205, 2201, 2202, 2202, 2203, 2204,
- 2204, 2206, 2194, 2198, 2201, 2207, 2208, 2203, 2199, 2207,
- 2209, 2208, 2205, 2211, 2213, 2212, 2200, 2219, 0, 2214,
- 2206, 2212, 2215, 2209, 2214, 2214, 2217, 2216, 2215, 2217,
- 2218, 2228, 2211, 2216, 2222, 2222, 2213, 2219, 2218, 2223,
- 2223, 2224, 2225, 2225, 2226, 2226, 2227, 2229, 2241, 2228,
- 2224, 2230, 2233, 2229, 2223, 2237, 2230, 2233, 2227, 2231,
- 2231, 2232, 2232, 2234, 2236, 2223, 2238, 2239, 2236, 2234,
- 2238, 2242, 2243, 2241, 2244, 2237, 2242, 2245, 2246, 2248,
- 2249, 2247, 2245, 2250, 2252, 2249, 2253, 2239, 2252, 2244,
-
- 2251, 2251, 2255, 2254, 2256, 2243, 2246, 2247, 2254, 2248,
- 2258, 2253, 2257, 2259, 2260, 2250, 2261, 2264, 2259, 2262,
- 2262, 2265, 2256, 2266, 2257, 2264, 2267, 2260, 2255, 2258,
- 2268, 2269, 2270, 2271, 2261, 2272, 2273, 2274, 2305, 2278,
- 2265, 2276, 2266, 2274, 2279, 2267, 2281, 2272, 2281, 2282,
- 2305, 2270, 2278, 2268, 2271, 2269, 2276, 2273, 2279, 2280,
- 2283, 2283, 2284, 2285, 2286, 2280, 2285, 2284, 2287, 2282,
- 2288, 2289, 2289, 2290, 2290, 2293, 2291, 2286, 2291, 2292,
- 2292, 2294, 2287, 2288, 2295, 2295, 2296, 2296, 2297, 2303,
- 2293, 2298, 2298, 2300, 2294, 2299, 2299, 2297, 2300, 2302,
-
- 2297, 2304, 2306, 2306, 2302, 2307, 2307, 2308, 2312, 2303,
- 2309, 2309, 2310, 2311, 2311, 2313, 2314, 2314, 2315, 2315,
- 2313, 2304, 2316, 2312, 2317, 2318, 2308, 2319, 2320, 2322,
- 2310, 2323, 2323, 2317, 2322, 2324, 2316, 2325, 2325, 2326,
- 2327, 2319, 2318, 2328, 2332, 2327, 2333, 2320, 2329, 2328,
- 2336, 2329, 2330, 2330, 2324, 2331, 2331, 2326, 2334, 2337,
- 2334, 2333, 2340, 2332, 2341, 2336, 2338, 2338, 2330, 2342,
- 2343, 2344, 2345, 2345, 2346, 2344, 2347, 2352, 2337, 2341,
- 2348, 2347, 2340, 2349, 2353, 2343, 2351, 2351, 2354, 2355,
- 2356, 2353, 2342, 2346, 2357, 2348, 2358, 2352, 2349, 2359,
-
- 2359, 2360, 2354, 2361, 2365, 2361, 2364, 2355, 2356, 2357,
- 2360, 2362, 2364, 2366, 2362, 2367, 2365, 2368, 2366, 2369,
- 2367, 2371, 2358, 2370, 2372, 2374, 2371, 2380, 2375, 2362,
- 2374, 2362, 2369, 2375, 2376, 2378, 2377, 2379, 2381, 2376,
- 2382, 2378, 2368, 2379, 2370, 2385, 2382, 2383, 2380, 2384,
- 2372, 2377, 2383, 2381, 2384, 2386, 2387, 2388, 2389, 2387,
- 2390, 2392, 2391, 2397, 2399, 2400, 2388, 2389, 2386, 2390,
- 2385, 2391, 2393, 2394, 2400, 2392, 2395, 0, 2393, 2394,
- 2395, 2401, 2401, 2397, 2399, 2402, 2403, 2403, 2404, 2405,
- 2405, 2402, 2407, 2406, 2409, 2403, 2412, 2404, 2406, 2410,
-
- 2411, 2411, 2416, 2421, 2413, 2415, 2417, 2418, 2421, 2422,
- 2409, 2412, 2407, 2413, 2407, 2410, 2423, 2415, 2416, 2418,
- 2420, 2417, 0, 2420, 2424, 2424, 2425, 2425, 2423, 2422,
- 2427, 2427, 2428, 2429, 2430, 2428, 2431, 2432, 2429, 2434,
- 2430, 2437, 2431, 2433, 2433, 2436, 2432, 2435, 2435, 2438,
- 2439, 2439, 2440, 2434, 2442, 2437, 2441, 2436, 2440, 2442,
- 2444, 2450, 2445, 2448, 2444, 2445, 2446, 2446, 2438, 2447,
- 2441, 2449, 2448, 2451, 2447, 2452, 2452, 2451, 2453, 2455,
- 2449, 2450, 2456, 2457, 2455, 2458, 2459, 2461, 2460, 2462,
- 2463, 2453, 2460, 2464, 2462, 2466, 2463, 2465, 2465, 2464,
-
- 2459, 2467, 2456, 2457, 2468, 2458, 2469, 2461, 2470, 2471,
- 2471, 2469, 2473, 2466, 2474, 2478, 2475, 2478, 2477, 2476,
- 2467, 2475, 2480, 2468, 2473, 2476, 2477, 2482, 2486, 2470,
- 2474, 2480, 2483, 2483, 2484, 2485, 2492, 2484, 2485, 2487,
- 2487, 2482, 2490, 2491, 2493, 2493, 2490, 2494, 2492, 2491,
- 2497, 2497, 2499, 2501, 2486, 2502, 2494, 2505, 2506, 2507,
- 2508, 2509, 2505, 2510, 2510, 2508, 2509, 2501, 2512, 2512,
- 2499, 2502, 2514, 2515, 2516, 2516, 2517, 2518, 2514, 2521,
- 2507, 2519, 2522, 2523, 2506, 2522, 2519, 2527, 2524, 2525,
- 2525, 2528, 2517, 2515, 2530, 2523, 2527, 2528, 2521, 2518,
-
- 2524, 2529, 2531, 2533, 2533, 2534, 2535, 2529, 2534, 2536,
- 2538, 2538, 2530, 2539, 2539, 2540, 2541, 2531, 2543, 2542,
- 2540, 2544, 2545, 2546, 2545, 2535, 2544, 2536, 2542, 2547,
- 2548, 2543, 2550, 2549, 2541, 2551, 2552, 2546, 2549, 2553,
- 2553, 2552, 2548, 2547, 2554, 2554, 2555, 2555, 2556, 2556,
- 2557, 2558, 2550, 2559, 2563, 2551, 2560, 2560, 2559, 2561,
- 2561, 2564, 2557, 2562, 2562, 2565, 2563, 2566, 2567, 2558,
- 2568, 2569, 2569, 2570, 2571, 2571, 2574, 2565, 2572, 2572,
- 2573, 2564, 2576, 2575, 2577, 2579, 2568, 2566, 2574, 2567,
- 2575, 2573, 2570, 2578, 2576, 2580, 2581, 2581, 2578, 2582,
-
- 2583, 2583, 2584, 2585, 2577, 2579, 2586, 2587, 2582, 2591,
- 2588, 2589, 2590, 2593, 2590, 2580, 2592, 2592, 2597, 2586,
- 2594, 2591, 2593, 2585, 2588, 2595, 2598, 2599, 2584, 2600,
- 2601, 2587, 2600, 2589, 2602, 2594, 2597, 2603, 2612, 2602,
- 2595, 2611, 2603, 2613, 2601, 2604, 2604, 2616, 2598, 2612,
- 2599, 2605, 2605, 2606, 2606, 2608, 2608, 2610, 2610, 2611,
- 2614, 2617, 2613, 2618, 2619, 2620, 2621, 2616, 2622, 2623,
- 2622, 2630, 2624, 2625, 2620, 2614, 2626, 2626, 2629, 2617,
- 2628, 2628, 2632, 2632, 2619, 2618, 2621, 2631, 2634, 2623,
- 2624, 2625, 2629, 2630, 2635, 2635, 2631, 2634, 2636, 2637,
-
- 2638, 2639, 2641, 2642, 2640, 2644, 2643, 2645, 2639, 2646,
- 2646, 2647, 2647, 2648, 2645, 0, 2636, 2637, 2638, 2640,
- 2641, 2642, 2643, 2649, 2644, 2650, 2652, 2652, 2653, 2653,
- 2654, 2650, 2655, 2648, 2656, 2657, 2654, 2658, 2659, 2660,
- 2662, 2649, 2661, 2659, 2664, 2669, 2664, 2663, 2672, 2656,
- 2655, 2658, 2663, 2661, 2657, 2665, 2665, 2667, 2667, 2660,
- 2662, 2666, 2671, 2666, 2669, 2673, 2674, 2672, 2675, 2676,
- 2677, 2671, 2678, 2675, 2676, 2681, 2682, 2673, 2683, 2684,
- 2684, 2683, 2685, 2686, 2687, 2687, 2674, 2688, 2689, 2690,
- 2677, 2678, 2692, 2690, 2682, 2681, 2693, 2685, 2688, 2696,
-
- 2694, 2686, 2693, 2689, 2694, 2695, 2695, 2692, 2698, 2699,
- 2700, 2704, 2696, 2701, 2701, 2703, 2708, 2705, 2706, 2706,
- 2704, 2705, 2712, 2698, 2707, 2707, 2714, 2703, 2710, 2699,
- 2700, 2709, 2709, 2710, 2711, 2708, 2713, 2721, 2712, 2715,
- 2715, 2720, 2720, 2711, 2722, 2722, 2714, 2723, 2713, 2724,
- 2725, 2730, 2726, 2729, 2729, 2727, 2728, 2731, 0, 2721,
- 2723, 2726, 2724, 2725, 2727, 2728, 2733, 2733, 2736, 2737,
- 2738, 2730, 2731, 2736, 2737, 2739, 2741, 2740, 2742, 2745,
- 2739, 2743, 2749, 2747, 2738, 2740, 2748, 2742, 2747, 2743,
- 2753, 2748, 2750, 2750, 2745, 2741, 2752, 2749, 2751, 2751,
-
- 2755, 2752, 2754, 2754, 2757, 2756, 2758, 2755, 2759, 2753,
- 2756, 2760, 2761, 2761, 2759, 2762, 2760, 0, 2763, 2764,
- 2764, 2768, 2757, 2763, 2758, 2765, 2765, 2769, 2769, 2770,
- 2762, 2771, 2770, 2772, 2768, 2773, 2771, 2771, 2772, 2774,
- 2773, 2775, 2776, 2777, 2779, 2778, 2776, 2775, 2777, 2780,
- 2781, 2784, 2782, 2774, 2778, 2783, 2784, 2780, 2782, 2779,
- 2785, 2783, 2787, 2788, 2789, 2791, 2796, 2789, 2788, 2787,
- 2793, 2781, 2785, 2794, 2795, 2793, 2797, 2791, 2794, 2795,
- 2805, 2798, 2799, 2801, 2796, 2800, 2800, 2810, 2802, 2797,
- 2798, 2799, 2801, 2802, 2806, 2807, 2811, 2814, 2805, 2812,
-
- 2806, 2807, 2813, 2813, 2814, 2815, 2810, 2817, 2816, 2820,
- 2818, 2819, 2819, 2824, 2822, 2825, 2811, 2816, 2812, 2825,
- 2826, 2826, 2817, 2827, 2815, 2818, 2828, 2830, 2820, 2822,
- 2829, 2831, 2828, 2824, 2832, 2832, 2829, 2831, 2833, 2834,
- 2837, 2838, 2835, 2859, 2840, 2830, 2833, 2835, 2827, 2837,
- 2840, 2843, 2841, 2842, 2838, 2841, 2845, 2842, 2844, 2844,
- 2847, 2847, 2848, 2859, 2834, 2843, 2849, 2849, 2850, 2850,
- 2853, 2845, 2852, 2852, 2853, 2855, 2854, 2857, 2857, 2861,
- 2848, 2854, 2860, 2862, 2855, 2863, 2865, 2860, 2862, 2862,
- 2872, 2861, 2866, 2866, 2868, 2868, 2873, 2863, 2869, 2869,
-
- 2870, 2870, 2871, 2872, 2876, 2871, 2865, 2875, 2875, 2873,
- 2878, 2879, 2879, 2880, 2880, 2881, 2881, 2882, 2883, 2883,
- 2884, 2885, 2876, 2886, 2889, 2887, 2888, 2888, 2889, 2892,
- 2878, 2887, 2882, 2884, 2896, 2892, 2893, 2886, 2895, 2885,
- 2897, 2893, 2898, 2895, 2895, 2899, 2900, 2901, 2911, 2902,
- 2908, 2899, 2900, 2902, 2903, 2903, 2906, 2896, 2908, 2914,
- 2897, 2906, 2898, 2909, 2912, 2915, 2909, 2912, 2913, 2913,
- 2915, 2916, 2901, 2911, 2917, 2934, 2914, 2914, 2918, 2919,
- 2919, 2920, 2921, 2922, 2923, 2921, 2928, 2928, 2924, 2916,
- 2927, 2934, 2918, 2921, 2917, 2920, 2924, 2922, 2937, 2925,
-
- 0, 2926, 2936, 2923, 2925, 2925, 2926, 2926, 2940, 2927,
- 2929, 2929, 2930, 2930, 2931, 2931, 2932, 2932, 2933, 2933,
- 2935, 2938, 2936, 2939, 2937, 2935, 2941, 2940, 2939, 2942,
- 2943, 2941, 2944, 2946, 2946, 2938, 2947, 2947, 2942, 2948,
- 2949, 2950, 2948, 2952, 2952, 2963, 2949, 2953, 2954, 2954,
- 2943, 2955, 2944, 2958, 2953, 2959, 2955, 2957, 2957, 2950,
- 2960, 2961, 2958, 2963, 2959, 2964, 2964, 2965, 2965, 2960,
- 2961, 2966, 2967, 2968, 2969, 2966, 2970, 2971, 2974, 0,
- 2973, 2967, 2971, 2971, 2975, 2969, 2981, 2974, 2975, 2979,
- 2984, 2970, 2968, 2973, 2979, 2980, 2980, 2983, 2983, 2985,
-
- 2981, 2986, 2988, 2988, 2984, 2989, 2990, 2994, 2995, 2998,
- 2999, 2996, 3003, 2995, 2989, 3001, 2999, 3005, 2990, 2986,
- 2996, 3006, 3005, 3010, 2985, 3008, 3006, 3001, 3010, 2998,
- 3007, 3007, 2994, 3003, 3008, 3011, 3012, 3013, 3013, 3015,
- 3015, 3013, 3016, 3016, 3017, 3017, 3018, 3019, 3011, 3020,
- 3012, 3021, 3023, 3027, 3024, 3018, 3021, 3025, 3023, 3024,
- 3026, 3026, 3025, 3028, 3029, 3030, 3031, 3019, 3020, 3033,
- 3030, 3027, 3032, 3034, 3034, 3028, 3036, 3037, 3032, 3040,
- 3036, 3038, 3037, 3044, 3031, 3029, 3038, 3039, 3039, 3041,
- 3042, 3046, 3046, 3048, 3033, 3049, 3050, 3051, 3040, 3053,
-
- 3054, 3051, 3052, 3044, 3041, 3042, 3048, 3056, 3049, 3050,
- 3055, 3052, 3056, 3057, 3059, 3053, 3058, 3058, 3055, 3054,
- 3060, 3061, 3063, 3059, 3062, 3062, 3066, 3070, 3067, 3068,
- 3068, 3066, 3066, 3057, 3067, 3072, 3072, 3074, 3060, 3075,
- 3076, 3063, 3077, 3082, 3078, 3076, 3085, 3061, 3070, 3078,
- 3081, 3081, 3083, 3074, 3084, 3075, 3086, 3089, 3077, 3090,
- 3084, 3083, 3093, 3082, 3088, 3088, 3091, 3091, 3093, 3085,
- 3095, 3089, 3097, 3096, 3099, 3086, 3102, 3097, 3090, 3096,
- 3100, 3100, 3101, 3101, 3103, 3104, 3104, 3105, 3106, 3107,
- 3095, 3102, 3109, 3108, 3110, 3111, 3099, 3106, 3105, 3108,
-
- 3112, 3112, 3113, 3121, 3103, 3104, 3110, 3114, 3120, 3107,
- 3114, 3109, 3126, 3115, 0, 3111, 3115, 3113, 3116, 3116,
- 3120, 3122, 3125, 3121, 3123, 3123, 3124, 3122, 3125, 3124,
- 3126, 3128, 3129, 3129, 3130, 3131, 3128, 3132, 3133, 3130,
- 3134, 3134, 3137, 3132, 3138, 3136, 3139, 3140, 3140, 3141,
- 3142, 0, 3143, 3148, 3131, 3133, 3133, 3136, 3148, 3139,
- 3137, 3143, 3145, 3145, 3146, 3146, 3142, 3149, 3141, 3138,
- 3147, 3147, 3150, 3151, 3151, 3152, 3152, 3150, 3153, 3153,
- 3155, 3149, 3154, 3154, 3156, 3157, 3161, 3158, 3160, 3160,
- 3165, 3157, 3158, 3155, 3163, 3163, 3167, 3168, 3169, 3170,
-
- 3171, 3171, 3161, 3173, 3173, 3174, 3175, 3177, 3176, 3165,
- 3156, 3178, 3179, 3179, 3180, 3180, 3182, 3169, 3167, 3168,
- 3178, 3170, 3176, 3183, 3184, 3175, 3185, 3177, 3186, 3183,
- 3189, 3174, 0, 3186, 3182, 3190, 3190, 3192, 3192, 3194,
- 3196, 3193, 3195, 3203, 3184, 3185, 3193, 3197, 3195, 3198,
- 3198, 3189, 3196, 3194, 3199, 3197, 3201, 3202, 3204, 3199,
- 3201, 3205, 3202, 3203, 3206, 3207, 3205, 3209, 3210, 3211,
- 3212, 3207, 3215, 3214, 3240, 3209, 3206, 3216, 3204, 3217,
- 3218, 3220, 3221, 3225, 3227, 3218, 3220, 3210, 3215, 3211,
- 3212, 3214, 3222, 3240, 3216, 3216, 3223, 3227, 3222, 0,
-
- 3217, 3223, 3221, 3225, 3226, 3231, 3231, 3226, 3232, 3232,
- 3233, 3238, 3238, 3239, 3233, 3241, 3241, 3243, 3239, 3245,
- 3245, 3246, 3246, 3250, 3246, 3247, 3247, 3250, 3247, 3248,
- 3248, 3255, 3243, 3249, 3249, 3252, 3249, 3253, 3254, 3254,
- 3252, 3256, 3259, 3259, 3260, 3261, 3253, 3262, 3264, 3255,
- 3263, 3263, 3262, 3267, 3268, 3256, 3269, 3270, 3271, 3273,
- 3269, 3268, 3274, 3276, 3260, 3261, 3270, 3274, 3264, 3275,
- 3275, 3280, 3276, 3271, 3277, 3277, 3285, 3273, 3267, 3278,
- 3278, 3279, 3279, 3281, 3282, 3283, 3280, 3286, 3281, 3284,
- 3283, 3283, 3287, 3282, 3288, 3284, 3282, 3290, 3289, 3288,
-
- 3292, 3285, 3286, 3289, 3291, 3291, 3292, 3296, 3293, 3294,
- 3294, 3295, 3295, 3287, 3293, 3297, 3290, 3300, 3300, 3303,
- 3297, 3305, 3296, 3302, 3302, 3307, 3307, 3316, 3303, 3308,
- 3308, 3309, 3309, 3310, 3310, 3312, 3312, 3313, 3313, 3305,
- 3314, 3314, 3315, 3315, 3322, 3318, 3319, 3319, 3320, 3320,
- 3321, 3323, 3328, 3316, 3318, 3326, 3322, 3325, 3325, 3321,
- 3327, 3327, 3329, 3334, 3330, 3331, 3331, 3328, 3332, 3332,
- 3338, 3323, 3335, 3335, 3326, 3329, 3330, 3339, 3334, 3340,
- 3339, 3341, 3341, 3342, 3344, 3345, 3346, 3344, 3338, 3347,
- 3348, 3345, 3349, 3352, 3347, 3350, 3360, 3353, 3356, 3352,
-
- 3346, 3342, 3356, 3357, 3361, 3340, 3353, 3370, 3374, 3348,
- 3349, 3350, 3370, 3371, 3375, 3375, 3371, 3380, 3357, 3376,
- 3376, 3374, 3360, 3381, 3361, 3378, 3378, 3382, 3383, 3385,
- 3387, 3382, 3381, 3388, 3389, 3390, 3391, 3390, 3394, 3389,
- 3380, 3392, 3392, 3385, 3388, 3393, 3395, 3396, 3383, 3397,
- 3398, 3391, 3399, 3387, 3400, 3401, 3402, 3394, 3393, 3404,
- 3401, 3399, 3403, 3396, 3395, 3398, 3400, 3403, 3405, 3405,
- 3406, 3407, 3411, 3412, 3397, 3414, 3407, 3402, 3404, 3413,
- 3413, 3415, 3415, 3419, 3414, 3420, 3411, 3416, 3416, 3424,
- 3406, 3417, 3417, 3412, 3418, 3418, 3421, 3425, 3422, 3421,
-
- 3436, 3423, 3419, 3422, 3426, 3420, 3423, 3427, 3428, 3431,
- 3426, 3429, 3425, 3437, 3424, 3436, 3429, 3430, 3430, 3440,
- 3428, 3427, 3432, 3432, 3433, 3433, 3435, 3435, 3442, 3431,
- 3438, 3438, 3437, 3447, 3440, 3445, 3445, 3446, 3446, 3448,
- 3451, 3447, 3449, 3450, 3452, 3453, 3442, 3454, 3449, 3450,
- 3455, 3455, 3454, 3461, 3451, 3457, 3457, 3452, 3448, 3462,
- 3467, 3464, 3465, 3468, 3453, 3469, 3465, 3472, 3468, 3470,
- 3471, 3473, 3474, 3478, 3461, 3464, 3473, 3474, 3479, 3462,
- 3467, 3480, 3470, 3471, 3469, 3483, 3472, 3475, 3475, 3481,
- 3481, 3483, 3482, 3478, 3484, 3484, 3479, 3482, 3485, 3486,
-
- 3480, 3487, 3488, 3485, 3486, 3489, 3487, 3491, 3491, 3492,
- 3496, 3489, 3493, 3493, 3492, 3495, 3497, 3498, 3499, 3495,
- 3500, 3488, 3501, 3497, 3509, 3502, 3500, 3504, 3504, 3496,
- 3506, 3506, 3510, 3507, 3508, 3511, 3498, 3499, 3502, 3508,
- 3514, 3501, 3507, 3509, 3513, 3507, 3512, 3512, 3511, 3513,
- 3516, 3510, 3518, 3514, 3517, 3517, 3519, 3519, 3520, 3520,
- 3521, 3522, 3523, 3524, 3524, 3521, 0, 3525, 3522, 3527,
- 3527, 3518, 3525, 3526, 3530, 3526, 3516, 3528, 3529, 3532,
- 3535, 3523, 3531, 3539, 3528, 3529, 3537, 3531, 3534, 3534,
- 3538, 3537, 3540, 3530, 3544, 3538, 3541, 3541, 3532, 3535,
-
- 3543, 3543, 3539, 3545, 3546, 3546, 3547, 3547, 3548, 3550,
- 3550, 3540, 3552, 3544, 3558, 3548, 3551, 3551, 3554, 3552,
- 3557, 3559, 3545, 3554, 0, 3557, 3560, 3560, 3561, 3561,
- 0, 0, 0, 3558, 0, 0, 0, 0, 0, 0,
- 3559, 3565, 3565, 3565, 3565, 3565, 3565, 3565, 3566, 3566,
- 3566, 3566, 3566, 3566, 3566, 3567, 3567, 3567, 3567, 3567,
- 3567, 3567, 3568, 3568, 3568, 3568, 3568, 3568, 3568, 3569,
- 3569, 3569, 3569, 3569, 3569, 3569, 3570, 3570, 3570, 3570,
- 3570, 3570, 3570, 3571, 3571, 3571, 3571, 3571, 3571, 3571,
- 3573, 3573, 0, 3573, 3573, 3573, 3573, 3574, 3574, 0,
-
- 0, 0, 3574, 3574, 3575, 3575, 0, 0, 3575, 0,
- 3575, 3576, 0, 0, 0, 0, 0, 3576, 3577, 3577,
- 0, 0, 0, 3577, 3577, 3578, 0, 0, 0, 0,
- 0, 3578, 3579, 3579, 0, 3579, 3579, 3579, 3579, 3580,
- 0, 0, 0, 0, 0, 3580, 3581, 3581, 0, 0,
- 0, 3581, 3581, 3582, 3582, 0, 3582, 3582, 3582, 3582,
- 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564,
- 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564,
- 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564,
- 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564, 3564,
-
- 3564
+ 185, 188, 184, 213, 182, 183, 193, 191, 190, 187,
+ 177, 193, 186, 191, 191, 189, 194, 194, 195, 197,
+ 196, 213, 196, 197, 195, 196, 198, 198, 197, 199,
+
+ 200, 201, 202, 197, 204, 200, 200, 202, 203, 197,
+ 197, 199, 196, 203, 205, 206, 204, 209, 207, 208,
+ 201, 206, 207, 210, 208, 211, 212, 214, 176, 218,
+ 215, 217, 214, 209, 205, 215, 217, 210, 212, 219,
+ 211, 212, 216, 216, 206, 220, 216, 224, 216, 218,
+ 223, 220, 221, 221, 259, 219, 223, 222, 225, 226,
+ 216, 259, 216, 222, 225, 226, 228, 224, 229, 222,
+ 230, 231, 228, 229, 226, 231, 230, 232, 233, 235,
+ 233, 234, 236, 232, 237, 233, 239, 234, 236, 238,
+ 240, 242, 235, 241, 243, 238, 242, 244, 240, 239,
+
+ 245, 246, 248, 243, 237, 247, 241, 248, 239, 249,
+ 247, 247, 244, 250, 251, 253, 245, 250, 252, 254,
+ 255, 246, 258, 256, 252, 254, 260, 249, 256, 261,
+ 262, 263, 260, 253, 253, 261, 251, 263, 264, 265,
+ 255, 258, 266, 266, 267, 267, 268, 273, 269, 262,
+ 264, 276, 268, 265, 269, 270, 271, 270, 272, 273,
+ 275, 274, 277, 272, 278, 289, 279, 277, 275, 280,
+ 268, 276, 279, 281, 270, 280, 282, 283, 281, 271,
+ 274, 282, 284, 283, 285, 286, 287, 278, 288, 290,
+ 289, 291, 293, 293, 291, 290, 288, 284, 285, 292,
+
+ 287, 292, 294, 286, 295, 294, 296, 296, 297, 297,
+ 298, 300, 299, 301, 300, 302, 303, 301, 304, 307,
+ 312, 312, 295, 306, 302, 303, 298, 299, 308, 306,
+ 309, 316, 309, 307, 308, 310, 311, 304, 313, 314,
+ 311, 310, 315, 313, 317, 314, 319, 318, 315, 320,
+ 320, 316, 321, 322, 323, 321, 324, 311, 323, 319,
+ 325, 327, 317, 326, 326, 329, 328, 315, 318, 328,
+ 330, 322, 332, 334, 335, 324, 330, 329, 325, 327,
+ 331, 339, 334, 331, 332, 336, 328, 333, 338, 340,
+ 336, 338, 335, 174, 339, 337, 333, 342, 337, 333,
+
+ 337, 340, 342, 342, 333, 333, 333, 333, 341, 343,
+ 341, 341, 343, 337, 344, 344, 337, 345, 346, 349,
+ 347, 348, 350, 351, 351, 352, 353, 353, 349, 355,
+ 352, 350, 358, 346, 345, 347, 357, 345, 348, 348,
+ 354, 354, 356, 359, 355, 360, 361, 356, 357, 364,
+ 365, 358, 361, 362, 362, 365, 362, 367, 366, 372,
+ 360, 767, 367, 359, 366, 362, 368, 370, 372, 364,
+ 369, 368, 362, 369, 374, 369, 371, 368, 767, 371,
+ 374, 370, 373, 373, 375, 375, 376, 381, 379, 382,
+ 388, 376, 371, 380, 392, 371, 380, 371, 377, 377,
+
+ 411, 377, 381, 383, 382, 388, 385, 377, 379, 385,
+ 386, 377, 411, 389, 380, 392, 377, 383, 393, 377,
+ 378, 378, 389, 378, 386, 385, 390, 391, 398, 395,
+ 394, 390, 390, 391, 396, 399, 378, 393, 395, 378,
+ 391, 378, 397, 378, 387, 394, 387, 387, 397, 403,
+ 400, 405, 404, 396, 398, 399, 387, 387, 387, 387,
+ 387, 401, 407, 387, 400, 402, 405, 401, 406, 403,
+ 402, 401, 404, 406, 408, 409, 409, 407, 410, 412,
+ 408, 413, 414, 415, 416, 418, 419, 413, 402, 416,
+ 420, 417, 417, 412, 417, 421, 425, 169, 410, 415,
+
+ 425, 422, 419, 422, 428, 418, 420, 414, 423, 421,
+ 427, 427, 424, 423, 424, 424, 426, 432, 429, 433,
+ 426, 430, 431, 428, 435, 436, 167, 433, 433, 441,
+ 435, 432, 424, 429, 436, 426, 439, 430, 437, 433,
+ 431, 433, 434, 437, 438, 439, 440, 434, 438, 443,
+ 441, 442, 440, 443, 446, 434, 434, 442, 444, 434,
+ 434, 444, 445, 434, 447, 447, 448, 445, 449, 449,
+ 450, 451, 452, 452, 446, 450, 453, 454, 455, 448,
+ 456, 454, 453, 457, 451, 458, 459, 459, 457, 461,
+ 458, 460, 462, 455, 463, 459, 464, 465, 470, 464,
+
+ 466, 456, 465, 460, 466, 467, 463, 468, 468, 461,
+ 462, 469, 471, 471, 472, 477, 469, 467, 476, 470,
+ 474, 474, 478, 477, 479, 480, 481, 482, 483, 487,
+ 485, 481, 489, 479, 486, 490, 472, 488, 489, 476,
+ 483, 507, 493, 478, 490, 507, 480, 482, 485, 487,
+ 485, 488, 486, 491, 494, 492, 493, 496, 495, 491,
+ 492, 495, 494, 497, 498, 494, 499, 500, 503, 502,
+ 505, 496, 499, 498, 501, 502, 504, 501, 497, 506,
+ 508, 504, 503, 509, 510, 508, 511, 500, 512, 510,
+ 513, 516, 505, 502, 517, 518, 528, 519, 509, 520,
+
+ 506, 519, 511, 513, 522, 528, 166, 512, 514, 514,
+ 518, 516, 521, 527, 514, 517, 514, 521, 520, 523,
+ 522, 524, 514, 523, 514, 525, 524, 514, 514, 527,
+ 524, 526, 527, 529, 514, 530, 526, 531, 532, 529,
+ 525, 532, 533, 534, 529, 535, 535, 536, 537, 537,
+ 530, 538, 539, 531, 540, 541, 541, 542, 543, 545,
+ 546, 164, 544, 534, 539, 533, 538, 544, 545, 540,
+ 547, 548, 536, 550, 551, 553, 542, 548, 551, 546,
+ 543, 553, 550, 552, 554, 547, 555, 552, 556, 557,
+ 558, 559, 562, 560, 562, 561, 554, 560, 563, 565,
+
+ 565, 555, 564, 557, 567, 558, 566, 556, 561, 559,
+ 564, 568, 566, 569, 571, 570, 567, 568, 570, 572,
+ 574, 573, 563, 574, 575, 569, 573, 590, 571, 576,
+ 577, 578, 590, 575, 572, 577, 577, 579, 579, 587,
+ 575, 580, 580, 575, 578, 576, 581, 582, 582, 583,
+ 583, 584, 581, 585, 586, 588, 591, 584, 585, 585,
+ 587, 589, 592, 593, 589, 595, 593, 588, 594, 599,
+ 592, 596, 586, 594, 597, 591, 598, 600, 597, 601,
+ 602, 600, 598, 606, 603, 602, 604, 604, 595, 599,
+ 596, 605, 608, 609, 607, 610, 611, 601, 603, 607,
+
+ 612, 615, 611, 613, 606, 612, 605, 616, 616, 609,
+ 614, 608, 617, 614, 622, 610, 618, 613, 614, 615,
+ 619, 614, 614, 620, 621, 619, 625, 624, 620, 622,
+ 617, 626, 618, 624, 626, 625, 627, 628, 621, 631,
+ 627, 629, 628, 630, 629, 632, 633, 634, 630, 635,
+ 636, 637, 637, 633, 635, 631, 638, 639, 640, 641,
+ 634, 644, 627, 632, 642, 638, 643, 644, 645, 646,
+ 636, 654, 646, 642, 645, 641, 639, 650, 643, 640,
+ 647, 647, 648, 647, 649, 648, 651, 652, 653, 649,
+ 654, 655, 657, 653, 656, 650, 659, 655, 657, 656,
+
+ 651, 652, 658, 660, 661, 658, 662, 663, 660, 661,
+ 661, 664, 665, 666, 667, 669, 664, 668, 665, 662,
+ 663, 659, 668, 667, 670, 670, 671, 672, 675, 162,
+ 664, 664, 666, 671, 672, 669, 673, 674, 679, 673,
+ 675, 676, 677, 674, 678, 678, 676, 677, 677, 680,
+ 681, 680, 683, 682, 673, 682, 676, 684, 685, 686,
+ 687, 688, 689, 679, 690, 694, 689, 688, 691, 681,
+ 683, 692, 693, 690, 696, 684, 685, 698, 686, 695,
+ 687, 697, 695, 691, 694, 699, 692, 697, 700, 696,
+ 693, 695, 701, 702, 703, 711, 706, 698, 704, 699,
+
+ 700, 705, 704, 707, 708, 709, 712, 712, 715, 711,
+ 710, 701, 706, 703, 702, 710, 713, 714, 716, 705,
+ 713, 707, 708, 708, 709, 717, 719, 715, 718, 716,
+ 720, 714, 721, 718, 722, 723, 724, 725, 728, 717,
+ 723, 722, 719, 724, 730, 721, 726, 727, 729, 720,
+ 731, 726, 727, 730, 732, 729, 728, 733, 738, 734,
+ 740, 725, 735, 732, 731, 734, 737, 735, 736, 733,
+ 737, 736, 738, 739, 741, 740, 742, 743, 743, 749,
+ 744, 744, 739, 745, 745, 746, 747, 750, 741, 744,
+ 746, 751, 752, 750, 753, 747, 752, 742, 749, 754,
+
+ 755, 756, 757, 759, 760, 758, 753, 756, 761, 771,
+ 757, 751, 758, 770, 773, 771, 764, 774, 755, 778,
+ 778, 759, 770, 774, 754, 775, 783, 776, 761, 760,
+ 762, 764, 762, 777, 775, 762, 773, 777, 781, 762,
+ 779, 779, 762, 776, 780, 782, 783, 784, 786, 762,
+ 762, 789, 762, 784, 788, 780, 781, 791, 787, 782,
+ 785, 785, 785, 787, 785, 794, 790, 785, 786, 789,
+ 790, 793, 785, 792, 796, 788, 793, 792, 785, 785,
+ 795, 791, 797, 798, 794, 795, 798, 800, 802, 796,
+ 799, 801, 801, 792, 800, 799, 799, 803, 804, 804,
+
+ 805, 806, 803, 802, 806, 805, 807, 797, 808, 808,
+ 809, 807, 809, 810, 811, 812, 813, 817, 814, 812,
+ 815, 816, 816, 820, 818, 810, 819, 819, 815, 822,
+ 821, 160, 817, 811, 823, 830, 813, 814, 818, 824,
+ 823, 820, 821, 826, 824, 825, 825, 828, 826, 826,
+ 829, 822, 828, 831, 830, 832, 829, 833, 834, 831,
+ 832, 834, 835, 833, 836, 837, 837, 839, 835, 838,
+ 838, 840, 836, 841, 843, 839, 842, 844, 841, 848,
+ 842, 843, 845, 846, 847, 847, 849, 851, 848, 840,
+ 850, 850, 852, 851, 849, 844, 854, 855, 845, 856,
+
+ 858, 859, 846, 857, 859, 854, 855, 860, 857, 858,
+ 861, 852, 860, 862, 864, 865, 863, 866, 867, 867,
+ 865, 865, 868, 856, 861, 863, 869, 864, 871, 872,
+ 870, 866, 873, 877, 875, 873, 875, 868, 862, 870,
+ 876, 876, 879, 873, 878, 869, 880, 872, 881, 878,
+ 882, 883, 871, 884, 877, 885, 886, 887, 888, 889,
+ 886, 890, 884, 879, 891, 889, 880, 892, 881, 893,
+ 890, 883, 882, 894, 895, 887, 891, 888, 885, 897,
+ 895, 896, 900, 892, 901, 898, 902, 894, 893, 896,
+ 898, 899, 899, 897, 903, 902, 905, 904, 906, 907,
+
+ 909, 900, 908, 910, 901, 904, 909, 911, 914, 910,
+ 913, 912, 918, 915, 903, 919, 905, 912, 907, 915,
+ 906, 911, 908, 916, 913, 921, 917, 919, 914, 916,
+ 917, 918, 920, 922, 922, 919, 923, 920, 924, 926,
+ 925, 927, 923, 925, 924, 928, 921, 929, 930, 930,
+ 931, 928, 85, 932, 927, 934, 933, 926, 932, 933,
+ 934, 934, 935, 937, 937, 936, 938, 929, 931, 936,
+ 939, 940, 933, 941, 933, 943, 940, 935, 946, 944,
+ 947, 948, 950, 950, 954, 951, 952, 982, 938, 951,
+ 939, 946, 941, 944, 953, 953, 957, 80, 956, 943,
+
+ 947, 952, 948, 949, 959, 982, 949, 955, 949, 954,
+ 957, 955, 949, 956, 949, 958, 960, 961, 959, 949,
+ 958, 960, 960, 962, 949, 963, 961, 964, 965, 963,
+ 967, 968, 966, 965, 969, 967, 970, 962, 971, 977,
+ 977, 963, 964, 965, 966, 968, 972, 971, 973, 980,
+ 970, 972, 974, 975, 973, 969, 976, 974, 978, 975,
+ 979, 981, 976, 978, 984, 985, 979, 987, 991, 986,
+ 985, 980, 988, 988, 992, 993, 984, 994, 990, 987,
+ 981, 983, 983, 986, 991, 989, 990, 983, 992, 983,
+ 989, 996, 995, 997, 993, 983, 994, 996, 997, 998,
+
+ 983, 983, 999, 1000, 1001, 1002, 1005, 983, 995, 1003,
+ 1003, 998, 1004, 1009, 1008, 1007, 1004, 1008, 1011, 1000,
+ 999, 1007, 1001, 1002, 1010, 1013, 1005, 1012, 1014, 1010,
+ 1013, 1011, 1009, 1012, 1016, 1017, 1018, 1020, 1021, 1019,
+ 1023, 1024, 1025, 1016, 1017, 1019, 1020, 1014, 1022, 1026,
+ 1027, 1030, 1018, 1022, 1028, 1024, 1033, 1021, 1029, 1027,
+ 1023, 1026, 1025, 1028, 1029, 1031, 1035, 1036, 1030, 1037,
+ 1038, 1031, 1033, 1040, 1037, 75, 1039, 1041, 1042, 1043,
+ 1035, 1046, 1049, 1042, 1043, 1047, 1046, 1036, 1049, 1038,
+ 1039, 1040, 1041, 1050, 1047, 1048, 1048, 1051, 1052, 1050,
+
+ 1055, 1053, 1056, 1061, 1060, 1062, 1051, 1056, 1056, 1063,
+ 1065, 1058, 1058, 1052, 1053, 1058, 1055, 1059, 1060, 1064,
+ 1059, 1062, 1066, 1061, 1067, 1065, 1069, 1063, 1066, 1068,
+ 1075, 1070, 1064, 1071, 1078, 1068, 1070, 1073, 1073, 1074,
+ 1076, 1069, 1074, 1077, 1067, 1076, 1079, 1071, 1077, 1080,
+ 1078, 1075, 1081, 1082, 1080, 1079, 1084, 1081, 1085, 1089,
+ 1086, 1087, 1084, 1088, 1088, 1082, 1086, 1087, 1089, 1090,
+ 1091, 1092, 1092, 1091, 1085, 1093, 1094, 1095, 1096, 1097,
+ 1098, 1096, 1099, 1100, 1108, 1101, 1098, 1090, 1099, 1100,
+ 1101, 1102, 1097, 1093, 1103, 1094, 1102, 1095, 1104, 1105,
+
+ 1103, 1107, 1108, 1104, 1109, 1105, 1107, 1110, 1113, 1111,
+ 1112, 1112, 1114, 1110, 1111, 1115, 1116, 1113, 1119, 1117,
+ 1118, 1114, 1117, 1118, 1109, 1120, 1121, 1122, 1123, 1119,
+ 1120, 1124, 1125, 1115, 1126, 1116, 1127, 1124, 1125, 1122,
+ 1129, 1127, 1128, 1128, 1121, 1131, 1130, 1123, 1132, 1126,
+ 1133, 1134, 1135, 1136, 1133, 1137, 1139, 1131, 1144, 1129,
+ 1130, 1135, 1140, 1140, 74, 1141, 1132, 1146, 1147, 1134,
+ 1148, 1142, 1136, 1141, 1143, 1139, 1142, 1150, 1144, 1143,
+ 1137, 1146, 1148, 1147, 1149, 1152, 1150, 1151, 1151, 1149,
+ 1153, 1154, 1155, 1156, 1163, 1158, 1153, 1154, 1156, 1157,
+
+ 1158, 1157, 1159, 1160, 1161, 1152, 1162, 1164, 1155, 1161,
+ 1165, 1166, 1169, 1163, 1164, 1170, 1159, 1160, 1168, 1168,
+ 1171, 1162, 1172, 1173, 1178, 1165, 1169, 68, 1172, 1178,
+ 1166, 1174, 1181, 1170, 1176, 1171, 1174, 1180, 1176, 1177,
+ 1177, 1179, 1179, 1173, 1180, 1174, 1181, 1174, 1182, 1183,
+ 1174, 1182, 1184, 1185, 1186, 1187, 1190, 1188, 1189, 1186,
+ 1192, 1190, 1185, 1191, 1189, 1193, 1195, 1195, 1183, 1188,
+ 1184, 1192, 1198, 1196, 1187, 1197, 1199, 1191, 1196, 1200,
+ 1197, 1199, 1201, 1200, 1193, 1202, 1203, 1204, 1206, 1207,
+ 1205, 1201, 1198, 1205, 1209, 1208, 1207, 1210, 1211, 1212,
+
+ 1202, 1203, 1205, 1206, 1213, 1212, 1204, 1208, 1214, 1215,
+ 1216, 1217, 1218, 1209, 1214, 1219, 1211, 1221, 1210, 1213,
+ 1217, 1220, 1222, 1223, 1225, 1224, 1227, 1218, 1228, 1215,
+ 1216, 1224, 1227, 1220, 1219, 1229, 1221, 1230, 1223, 1231,
+ 1232, 1233, 1234, 1228, 1225, 1230, 1233, 1222, 1236, 1229,
+ 1237, 1265, 1235, 1238, 1234, 1265, 1232, 1235, 1235, 1231,
+ 1239, 1239, 1241, 1242, 1237, 1243, 1238, 1236, 1240, 1240,
+ 63, 1243, 1242, 1240, 1246, 1241, 1240, 1240, 1244, 1244,
+ 1245, 1240, 1247, 1246, 1248, 1245, 1251, 1240, 1247, 1248,
+ 1249, 1240, 1250, 1250, 1254, 1249, 1252, 1252, 1253, 1255,
+
+ 1256, 1253, 1257, 1253, 1258, 1259, 1256, 1251, 1260, 1261,
+ 1259, 1257, 1262, 1263, 1254, 1264, 1266, 1255, 1262, 1263,
+ 1264, 1267, 1260, 1268, 1258, 58, 1269, 1261, 1268, 1266,
+ 1267, 1270, 1270, 1271, 1271, 1267, 1271, 1267, 1272, 1267,
+ 1269, 1267, 1274, 1275, 1276, 1277, 1274, 1278, 1279, 1272,
+ 1280, 1281, 1278, 1278, 1277, 1282, 1281, 1279, 1275, 1283,
+ 1284, 1285, 1276, 1286, 1287, 1288, 1288, 1290, 1283, 1282,
+ 1287, 1289, 1280, 1291, 1293, 1290, 1292, 1286, 1295, 1284,
+ 1285, 1292, 1294, 1289, 1296, 1295, 1297, 1291, 1293, 1298,
+ 1300, 1294, 1299, 1299, 1298, 1301, 1301, 1302, 1304, 1302,
+
+ 1306, 1304, 1296, 1305, 1307, 1300, 1308, 1308, 1305, 1309,
+ 1313, 1297, 1314, 1307, 1310, 1310, 1311, 1311, 1312, 1306,
+ 1315, 1316, 1316, 1312, 1317, 1318, 1320, 1319, 1321, 1309,
+ 1319, 1313, 1322, 1314, 1321, 1325, 1323, 1322, 1324, 1328,
+ 1324, 1315, 1318, 1329, 1317, 1323, 1320, 1327, 1329, 1330,
+ 1327, 1331, 1332, 1325, 1328, 1334, 1331, 1333, 1334, 1335,
+ 1332, 1338, 1333, 1330, 1335, 1336, 1336, 1337, 1339, 1340,
+ 1341, 1343, 1337, 1345, 1339, 1344, 1340, 1343, 1345, 1338,
+ 1346, 1344, 1347, 1341, 1348, 1346, 1349, 1350, 1347, 1351,
+ 1351, 1352, 1354, 1348, 1355, 1357, 1356, 1354, 1350, 1358,
+
+ 1359, 1360, 1361, 1362, 1365, 1349, 1356, 1360, 1361, 1362,
+ 1357, 1352, 1355, 1366, 1364, 1367, 1368, 1369, 1365, 1358,
+ 1364, 1370, 1372, 1359, 1365, 1371, 1371, 1373, 1368, 1374,
+ 1377, 1369, 1375, 1366, 57, 1367, 1380, 1375, 1378, 1370,
+ 1376, 1376, 1372, 1378, 1381, 1382, 1384, 1374, 1383, 1381,
+ 1381, 1385, 1373, 1377, 1384, 1380, 1386, 1383, 1387, 1388,
+ 1389, 1391, 1397, 1382, 1388, 1385, 1390, 1388, 1390, 1389,
+ 1394, 1386, 1393, 1387, 1394, 1391, 1387, 1395, 1393, 1396,
+ 1398, 1397, 1399, 1403, 1396, 1396, 1400, 1401, 1395, 1402,
+ 1404, 1400, 1401, 1405, 1402, 1406, 1409, 1408, 1405, 1410,
+
+ 1399, 1403, 1411, 1411, 1412, 1413, 1398, 1414, 1412, 1416,
+ 1404, 1408, 1415, 1417, 1409, 1406, 1418, 1410, 1415, 1419,
+ 52, 1416, 1420, 1413, 1421, 1422, 1414, 1423, 1426, 1417,
+ 1427, 1424, 1423, 1419, 1428, 1418, 1425, 1420, 1424, 1421,
+ 1430, 1425, 1432, 1428, 1422, 1431, 1426, 1429, 1429, 1433,
+ 1433, 1427, 1434, 1435, 1431, 1430, 1436, 1440, 1434, 1435,
+ 1437, 1437, 1432, 1438, 1438, 1439, 1441, 1442, 1443, 1444,
+ 1436, 1439, 1442, 1440, 1443, 1444, 1445, 1446, 1446, 1447,
+ 1447, 1450, 1445, 1449, 1449, 1450, 1451, 1441, 1452, 1453,
+ 1454, 1456, 1455, 1457, 1457, 1451, 1458, 1459, 1456, 1461,
+
+ 1462, 1453, 1465, 1460, 1454, 1459, 1452, 1455, 1460, 1463,
+ 1466, 1466, 1464, 1461, 1463, 1463, 1458, 1464, 1464, 1462,
+ 1467, 1468, 1465, 1469, 1470, 1471, 1472, 1473, 1474, 1470,
+ 1475, 1476, 1469, 1477, 1474, 1475, 1478, 1479, 1482, 1467,
+ 1468, 1480, 1478, 1481, 1471, 1473, 1472, 1480, 1483, 1481,
+ 1484, 1476, 1485, 1486, 1487, 1488, 1479, 1482, 1489, 1477,
+ 1490, 1490, 1491, 1492, 1493, 1491, 1494, 1483, 1487, 1484,
+ 47, 1485, 1486, 1489, 1495, 1495, 1488, 1499, 1494, 1496,
+ 1496, 1497, 1492, 1493, 1498, 1500, 1497, 1501, 1498, 1502,
+ 1499, 1502, 1504, 1505, 1500, 1502, 1506, 1507, 1505, 1508,
+
+ 1501, 1509, 1509, 1512, 1510, 1518, 1511, 1513, 1502, 1510,
+ 1504, 1506, 1511, 1514, 1519, 1508, 1515, 1507, 1512, 1514,
+ 1513, 1515, 1516, 1517, 1520, 1518, 1516, 1517, 1521, 1522,
+ 1523, 1523, 1519, 1520, 1525, 1522, 1527, 1528, 1529, 1529,
+ 1530, 1531, 1528, 1533, 1533, 1542, 1530, 1535, 1521, 1537,
+ 1535, 1538, 1525, 1536, 1536, 1539, 1541, 1527, 1543, 1541,
+ 1544, 1531, 1545, 1546, 1546, 1537, 1542, 1538, 1547, 1544,
+ 1548, 1539, 1550, 1549, 1551, 1552, 1552, 1550, 1543, 1554,
+ 1553, 1555, 1545, 1547, 1556, 1557, 1558, 1558, 1551, 1553,
+ 1559, 1548, 1549, 1560, 1561, 1562, 1555, 1554, 1564, 1561,
+
+ 1563, 1563, 1564, 1565, 1559, 1557, 1566, 1566, 1567, 1556,
+ 1562, 1560, 1568, 1569, 1570, 1571, 1572, 1578, 1570, 1574,
+ 1574, 1572, 1575, 1565, 1569, 1575, 1576, 1577, 1579, 1580,
+ 1567, 1568, 1577, 1578, 1571, 1581, 1582, 1583, 1586, 1576,
+ 1584, 1584, 1585, 1580, 1587, 1591, 1579, 1585, 1588, 1588,
+ 1582, 1589, 1590, 1595, 1581, 1581, 1598, 1590, 1586, 1592,
+ 1589, 1592, 1583, 1593, 1587, 1591, 1594, 1600, 1593, 1596,
+ 1598, 1604, 1594, 1595, 1601, 1596, 1599, 1599, 1603, 1607,
+ 1601, 1605, 1605, 1603, 1606, 1606, 1600, 1608, 1609, 1610,
+ 1611, 1611, 1610, 1607, 1612, 1604, 1613, 1614, 1615, 1622,
+
+ 1616, 1615, 1617, 1609, 1615, 1608, 1616, 1617, 1613, 1620,
+ 1618, 1625, 1612, 1618, 1621, 18, 1615, 1614, 1620, 1621,
+ 1623, 1624, 1624, 1623, 1622, 1626, 1627, 1634, 1628, 1618,
+ 1633, 1626, 1627, 1628, 1631, 1625, 1629, 1629, 1630, 1630,
+ 1631, 1632, 1635, 1633, 1636, 1634, 1632, 1637, 1638, 1639,
+ 1637, 1640, 1643, 1641, 1638, 1639, 1642, 1640, 1641, 1647,
+ 1644, 1635, 1642, 1646, 1636, 1644, 1645, 1645, 1646, 1648,
+ 1651, 1649, 1650, 1652, 1653, 1643, 1654, 1647, 1655, 1656,
+ 1657, 1658, 1657, 1656, 1651, 1661, 1659, 1652, 1653, 1648,
+ 1649, 1663, 1650, 1659, 1654, 1662, 1664, 1661, 1665, 1666,
+
+ 1658, 1667, 1664, 1655, 1663, 1668, 1669, 1662, 1671, 1671,
+ 1672, 1673, 1674, 1675, 1675, 1666, 1673, 1676, 1665, 1668,
+ 1677, 1667, 1678, 1679, 1674, 1681, 1680, 1669, 1684, 1682,
+ 1672, 1688, 1676, 1683, 1677, 1680, 1682, 1686, 1690, 1690,
+ 1681, 1679, 1683, 1692, 1684, 1683, 1678, 1689, 1691, 1691,
+ 1689, 1693, 1686, 1695, 1695, 1692, 1688, 1686, 1694, 1696,
+ 1697, 1694, 1698, 1699, 1701, 1700, 1699, 1698, 1702, 1693,
+ 1700, 1703, 1696, 1704, 17, 1707, 1705, 1706, 1710, 1697,
+ 1703, 1707, 1711, 1701, 1702, 1705, 1706, 1709, 1705, 1708,
+ 1708, 1712, 1704, 1713, 1709, 1711, 1714, 1715, 1710, 1716,
+
+ 1720, 1717, 1715, 1715, 1716, 1721, 1723, 1713, 1724, 1712,
+ 1722, 1722, 1714, 1717, 1725, 1725, 1729, 1724, 1727, 1725,
+ 1726, 1726, 1723, 1721, 1728, 1720, 1730, 1727, 1731, 1728,
+ 1727, 1732, 1736, 1735, 1729, 1726, 1732, 1732, 1734, 1737,
+ 1740, 1738, 0, 1739, 1737, 1748, 1731, 1730, 1735, 1739,
+ 1741, 1741, 1734, 1742, 1736, 1738, 1743, 1744, 1740, 1742,
+ 1745, 1743, 1746, 1749, 1750, 1748, 1745, 1751, 1746, 1752,
+ 1750, 1744, 1752, 1753, 1755, 1757, 1758, 1749, 1752, 1753,
+ 1751, 1759, 1755, 1760, 1761, 1763, 1765, 1762, 1764, 1761,
+ 1766, 1760, 1767, 0, 1757, 1758, 1762, 1764, 1763, 1765,
+
+ 1759, 1768, 1768, 1769, 1766, 1770, 1767, 1771, 1773, 1769,
+ 1775, 1770, 1772, 1772, 1774, 1776, 1776, 1777, 1778, 1779,
+ 1771, 1780, 1781, 1768, 1778, 1783, 1783, 1784, 1773, 1775,
+ 1777, 1785, 1774, 1786, 1787, 1785, 1790, 1780, 1786, 1788,
+ 1781, 1779, 1791, 1789, 1788, 1790, 1793, 1784, 1789, 1794,
+ 1795, 1796, 1797, 1795, 1787, 1798, 1798, 1793, 1794, 1799,
+ 1800, 1801, 1803, 1796, 1804, 1791, 1809, 1797, 1802, 1802,
+ 1805, 1804, 1800, 1806, 1808, 1810, 1803, 1811, 1799, 1812,
+ 1801, 1810, 1805, 1819, 1813, 1806, 1809, 1814, 1814, 1811,
+ 1813, 1815, 1819, 1808, 1815, 1816, 1816, 1812, 1818, 1820,
+
+ 1821, 1821, 1822, 1818, 1823, 1820, 1823, 1824, 1825, 1826,
+ 1824, 1827, 1828, 1829, 1822, 1830, 1831, 1833, 1829, 1834,
+ 1830, 1832, 1836, 1839, 1834, 1831, 1835, 0, 1825, 1827,
+ 1828, 1826, 1833, 1832, 1837, 1835, 1838, 1842, 1839, 1837,
+ 1844, 1838, 1836, 1840, 1840, 1841, 1837, 1845, 1835, 1846,
+ 1848, 1841, 1849, 1847, 1849, 1854, 1844, 1850, 1842, 1851,
+ 1851, 1852, 1852, 1853, 1853, 1857, 1845, 1858, 1846, 1847,
+ 1848, 1850, 1859, 1850, 1866, 1854, 1855, 1855, 1856, 1856,
+ 1860, 1860, 1863, 1861, 1862, 1863, 1857, 1861, 1858, 1865,
+ 1862, 1867, 1866, 1859, 1868, 1865, 1869, 1867, 1870, 1868,
+
+ 1872, 1870, 1871, 1871, 1873, 1874, 1874, 1875, 1876, 1873,
+ 1877, 1878, 1879, 1879, 1880, 1877, 1878, 1881, 1882, 1880,
+ 1872, 1869, 1875, 1881, 1883, 1884, 1885, 1886, 1887, 1876,
+ 1882, 1882, 1882, 1886, 1889, 1890, 1891, 1882, 1894, 1889,
+ 1889, 1893, 1897, 1884, 1883, 1892, 1885, 1892, 1887, 1890,
+ 1895, 1891, 1893, 1894, 1896, 1898, 1895, 1899, 1899, 1900,
+ 1901, 1901, 1897, 1896, 1902, 1903, 1904, 1904, 1905, 1905,
+ 1906, 1909, 1909, 1910, 1911, 1914, 1898, 1913, 1916, 1917,
+ 1917, 1918, 1915, 1911, 1902, 1900, 1913, 1903, 1915, 1919,
+ 1906, 1921, 1920, 1922, 1916, 1924, 1914, 1925, 1910, 1920,
+
+ 1921, 1927, 1918, 1928, 1919, 1923, 1923, 1927, 1928, 1929,
+ 1930, 1931, 1935, 1925, 1932, 1929, 1940, 1936, 1931, 1922,
+ 1932, 1924, 1933, 1936, 1933, 1937, 1937, 1938, 1939, 1941,
+ 1930, 1935, 1938, 1943, 1945, 1942, 1940, 1939, 1942, 1944,
+ 1946, 1948, 1944, 1947, 1947, 1943, 1951, 1948, 1941, 1949,
+ 1950, 1954, 1945, 1952, 1955, 1949, 1958, 1952, 1956, 1957,
+ 1957, 1951, 1959, 1956, 1960, 1962, 1946, 0, 1963, 1966,
+ 1950, 1954, 1963, 1952, 1964, 1964, 1955, 1965, 1966, 1960,
+ 1958, 1959, 1969, 1965, 1962, 1967, 1967, 1968, 1970, 1970,
+ 1971, 1968, 1972, 1969, 1973, 1974, 1975, 1976, 1969, 1977,
+
+ 1974, 1978, 1979, 1980, 1981, 0, 1972, 1978, 1982, 1981,
+ 1989, 1971, 2081, 1973, 1983, 1983, 1975, 1976, 1980, 1977,
+ 1979, 1982, 1984, 1984, 1985, 1987, 1988, 1997, 1985, 2081,
+ 1989, 1990, 1990, 1993, 1987, 1992, 1992, 1988, 1993, 1993,
+ 1994, 1996, 1988, 1998, 1999, 2000, 1994, 1996, 1998, 2002,
+ 2003, 2000, 2004, 1997, 2003, 2006, 1999, 2005, 2005, 2007,
+ 2008, 2002, 2009, 2012, 2004, 2007, 2010, 2010, 2009, 2011,
+ 2013, 2017, 2014, 2016, 2018, 2013, 2021, 2021, 2020, 2018,
+ 2006, 2020, 2008, 2012, 2014, 2016, 2022, 2022, 2011, 2024,
+ 2017, 2023, 2023, 2025, 2026, 2029, 2027, 2028, 2034, 2025,
+
+ 2026, 2027, 2031, 2028, 2029, 2033, 2037, 2031, 2033, 2024,
+ 2034, 2035, 2035, 2038, 2039, 2040, 2040, 2041, 2037, 2039,
+ 2046, 2044, 2042, 2043, 2044, 2038, 2041, 2042, 2043, 2045,
+ 2045, 2048, 2047, 2049, 2050, 2053, 2055, 2051, 2050, 2052,
+ 2046, 2047, 2051, 2056, 2059, 2052, 2054, 2058, 2058, 2048,
+ 2062, 2060, 2049, 2053, 2055, 2054, 2061, 2056, 2064, 2058,
+ 2060, 2065, 2059, 2063, 2063, 2061, 2066, 2064, 2068, 2067,
+ 2062, 2071, 2071, 2065, 2067, 2073, 2074, 2075, 2073, 2076,
+ 2079, 2068, 2078, 2080, 2082, 2082, 2083, 2066, 2083, 2080,
+ 2084, 2091, 2074, 2075, 2079, 2076, 2086, 2078, 2085, 2085,
+
+ 2088, 2088, 2089, 2089, 2086, 2092, 2093, 2094, 2084, 2095,
+ 2096, 2092, 2093, 2097, 2091, 2099, 2095, 2098, 2098, 2100,
+ 2105, 2094, 2101, 2102, 2099, 2104, 2103, 2106, 2109, 2110,
+ 2112, 2112, 2096, 2097, 2101, 2102, 2113, 2104, 2111, 2114,
+ 2100, 2103, 2106, 2107, 2115, 2107, 2105, 2115, 2109, 2107,
+ 2111, 2116, 2110, 2117, 2113, 2119, 2116, 2121, 2123, 2114,
+ 2119, 2120, 2107, 2120, 2122, 2123, 2127, 2125, 2128, 2122,
+ 2129, 2131, 2130, 2117, 2130, 2121, 2125, 2128, 2134, 2132,
+ 2134, 2135, 2129, 2137, 2127, 2132, 2136, 2136, 2138, 2139,
+ 2131, 2139, 2140, 2138, 2141, 2135, 2142, 2140, 2143, 2141,
+
+ 2144, 2145, 2147, 2146, 2152, 2148, 2149, 2145, 2146, 2137,
+ 2150, 2149, 2149, 2153, 2142, 2147, 2143, 2148, 2150, 2156,
+ 2144, 2154, 2154, 2152, 2155, 2155, 2157, 2153, 2158, 2159,
+ 2156, 2160, 2161, 2162, 2161, 2159, 2160, 2163, 2164, 2164,
+ 2165, 2157, 2166, 2166, 2170, 2163, 2167, 2167, 2158, 2168,
+ 2169, 2162, 2165, 2163, 2173, 2169, 2172, 2174, 2168, 2174,
+ 2172, 2175, 2170, 2173, 2176, 2177, 2173, 2178, 2179, 2176,
+ 2176, 2181, 2185, 2182, 2183, 2186, 2178, 2177, 2182, 2183,
+ 2179, 2187, 2175, 2181, 2189, 2185, 2188, 2188, 2190, 2191,
+ 2187, 2193, 2192, 2196, 2195, 2186, 2194, 2200, 2196, 2198,
+
+ 2199, 2294, 2189, 2294, 2212, 2209, 2190, 2191, 2192, 2195,
+ 2194, 2198, 2199, 2201, 2202, 2203, 2193, 2200, 2201, 2202,
+ 2206, 2208, 2210, 2211, 2203, 2213, 2206, 2208, 2209, 2212,
+ 2214, 2214, 2217, 2215, 2213, 2216, 2216, 2210, 2218, 2206,
+ 2219, 2211, 2215, 2220, 2219, 2221, 2223, 2224, 2220, 2225,
+ 2217, 2234, 2234, 2224, 2226, 2227, 2228, 2218, 2221, 2226,
+ 2226, 2227, 2228, 2229, 2230, 2223, 2229, 2231, 2235, 2235,
+ 2236, 2225, 2230, 2237, 2237, 2238, 2238, 2239, 2240, 2236,
+ 2241, 2243, 2243, 2235, 2249, 2242, 2241, 2231, 2245, 2239,
+ 2242, 2244, 2244, 2245, 2235, 2246, 2240, 2251, 2248, 2250,
+
+ 2253, 2246, 2248, 2250, 2249, 2254, 2255, 2256, 2257, 2258,
+ 2254, 2260, 2259, 2257, 2261, 2262, 2268, 2251, 2265, 2261,
+ 2263, 2263, 2256, 2267, 2270, 2253, 2264, 2258, 2259, 2255,
+ 2264, 2260, 2269, 2265, 2266, 2271, 2270, 2262, 2272, 2266,
+ 2273, 2267, 2268, 2272, 2274, 2275, 2275, 2277, 2278, 2279,
+ 2269, 2280, 2281, 2273, 2271, 2277, 2282, 2283, 2284, 2285,
+ 2286, 2291, 2274, 2287, 2292, 2295, 2366, 2278, 2279, 2287,
+ 2280, 2285, 2289, 2366, 2291, 2281, 2283, 2293, 2292, 2284,
+ 2282, 2286, 2299, 2293, 2300, 2295, 2297, 2289, 2296, 2296,
+ 2298, 2297, 2301, 2298, 2306, 2299, 2302, 2302, 2300, 2303,
+
+ 2303, 2304, 2307, 2304, 0, 2301, 2305, 2305, 2310, 2306,
+ 2308, 2308, 2309, 2309, 2316, 2307, 2317, 2310, 2311, 2311,
+ 2310, 2312, 2312, 2313, 2315, 2318, 2319, 2319, 2313, 2315,
+ 2320, 2320, 2321, 2325, 2316, 2323, 2317, 2318, 2322, 2322,
+ 2324, 2324, 2326, 2327, 2327, 2328, 2328, 2326, 2325, 2329,
+ 2330, 2321, 2331, 2323, 2332, 2333, 2335, 2336, 2336, 2330,
+ 2337, 2335, 2339, 2329, 2338, 2338, 2340, 2341, 2332, 2331,
+ 2345, 2340, 2342, 2341, 2333, 2342, 2343, 2343, 2346, 2337,
+ 2339, 2344, 2344, 2347, 2349, 2347, 2350, 2351, 2351, 2345,
+ 2353, 2354, 2343, 2346, 2355, 2359, 2356, 2357, 2361, 2349,
+
+ 2362, 2357, 2358, 2358, 2360, 2350, 2354, 2364, 2364, 2360,
+ 2353, 2356, 2365, 2361, 2359, 2362, 2367, 2355, 2368, 2369,
+ 2370, 2371, 2372, 2372, 2373, 2374, 2375, 2374, 2377, 2375,
+ 2367, 2378, 2365, 2373, 2377, 2370, 2368, 2369, 2381, 2382,
+ 2379, 2383, 2385, 2378, 2375, 2379, 2375, 2371, 2380, 2384,
+ 2387, 2388, 2382, 2380, 2384, 2387, 2388, 2390, 2393, 2389,
+ 2391, 2392, 2383, 2381, 2389, 2394, 2391, 2392, 2385, 2395,
+ 2398, 2396, 2390, 2397, 2399, 2395, 2396, 2401, 2397, 2393,
+ 2394, 2400, 2402, 2403, 2400, 2404, 2401, 2399, 2405, 2410,
+ 2406, 2402, 2403, 2407, 2404, 2398, 2406, 2408, 2412, 2407,
+
+ 2415, 2408, 2405, 2413, 2414, 2414, 2415, 2416, 2416, 2410,
+ 2417, 2420, 2413, 2418, 2418, 2419, 2416, 2425, 2412, 2417,
+ 2419, 2422, 2423, 2424, 2424, 2426, 2429, 2428, 2430, 2431,
+ 2434, 2420, 2425, 2420, 2426, 2434, 2435, 2422, 2423, 2428,
+ 2436, 2431, 2429, 2430, 2433, 2437, 2437, 2433, 2438, 2438,
+ 2440, 2440, 2436, 2442, 2441, 2443, 2435, 2441, 2442, 2444,
+ 2445, 2443, 2446, 2446, 2447, 2444, 2448, 2448, 2449, 2445,
+ 2450, 2451, 2452, 2452, 2454, 2453, 2462, 2455, 2447, 2457,
+ 2449, 2453, 2455, 2457, 2450, 2462, 2458, 2463, 2454, 2458,
+ 2451, 2459, 2459, 2460, 2461, 2464, 2463, 2465, 2460, 2461,
+
+ 2467, 2465, 2466, 2466, 2469, 2470, 2471, 2472, 2473, 2469,
+ 2474, 2475, 2476, 2467, 2474, 2464, 2480, 2476, 2477, 2479,
+ 2479, 2481, 2473, 2478, 2477, 2470, 2471, 2472, 2482, 2478,
+ 2483, 2475, 2484, 2487, 2480, 2483, 2485, 2485, 2488, 2489,
+ 2481, 2491, 2490, 2496, 2489, 2487, 2494, 2482, 2490, 2491,
+ 2492, 2500, 2492, 2484, 2488, 2494, 2505, 2496, 2497, 2497,
+ 2498, 2499, 2505, 2498, 2499, 2501, 2501, 2504, 2506, 2507,
+ 2507, 2504, 2508, 2511, 2511, 2513, 2515, 2500, 2516, 2519,
+ 2506, 2508, 2520, 2521, 2519, 2529, 2522, 2523, 2524, 2524,
+ 2515, 2522, 2523, 2513, 2516, 2526, 2526, 2528, 2530, 2530,
+
+ 2531, 2532, 2533, 2528, 2521, 2529, 2535, 2533, 2520, 2536,
+ 2537, 2541, 2536, 2542, 2538, 2543, 2531, 2539, 2539, 2542,
+ 2541, 2543, 2537, 2532, 2544, 2535, 2538, 2549, 2545, 2547,
+ 2547, 2548, 2550, 2555, 2548, 2552, 2552, 2553, 2553, 2554,
+ 2556, 2557, 2544, 2545, 2554, 2560, 2549, 2558, 2561, 2556,
+ 2550, 2555, 2558, 2559, 2557, 2559, 2562, 2564, 2563, 2560,
+ 2565, 2566, 2561, 2563, 2567, 2567, 2566, 2571, 2562, 2568,
+ 2568, 2569, 2569, 2570, 2570, 2572, 2573, 2564, 2577, 2571,
+ 2565, 2573, 2574, 2574, 2575, 2575, 2576, 2576, 2578, 2579,
+ 2577, 2580, 2581, 2572, 2582, 2583, 2583, 2584, 2585, 2585,
+
+ 2588, 2579, 2586, 2586, 2587, 2590, 2591, 2589, 2578, 2593,
+ 2582, 2580, 2588, 2581, 2589, 2587, 2584, 2590, 2592, 2594,
+ 2595, 2595, 2596, 2592, 2597, 2597, 2591, 2598, 2599, 2593,
+ 2600, 2596, 2601, 2602, 2604, 2603, 2604, 2605, 2613, 2594,
+ 2606, 2606, 2607, 2600, 2608, 2609, 2611, 2602, 2599, 2605,
+ 2612, 2607, 2614, 2598, 2615, 2614, 2601, 2603, 2616, 2608,
+ 2609, 2613, 2617, 2616, 2611, 2618, 2618, 2617, 2615, 2619,
+ 2619, 2625, 2612, 2620, 2620, 2622, 2622, 2624, 2624, 2626,
+ 2627, 2628, 2630, 2631, 2632, 2633, 2634, 2635, 2637, 2625,
+ 2626, 2636, 2638, 2636, 2639, 2634, 2628, 2640, 2640, 2627,
+
+ 2642, 2631, 2630, 2644, 2642, 2633, 2632, 2635, 2637, 2645,
+ 2638, 2646, 2639, 2643, 2643, 2647, 2647, 2644, 2649, 2651,
+ 2646, 2650, 2650, 2652, 2653, 2654, 2656, 2649, 2655, 2657,
+ 2658, 2645, 2654, 2659, 2661, 2661, 2663, 2651, 2660, 2662,
+ 2662, 2652, 2653, 2655, 2656, 2660, 2658, 2657, 2664, 2665,
+ 2667, 2667, 2659, 2668, 2668, 2665, 2663, 2669, 2670, 2671,
+ 2672, 2673, 2674, 2669, 2675, 2677, 2664, 2674, 2678, 2676,
+ 2679, 2684, 2679, 2678, 2671, 2673, 2670, 2680, 2680, 2672,
+ 2676, 2681, 2686, 2681, 2675, 2677, 2682, 2682, 2687, 2688,
+ 2684, 2686, 2689, 2690, 2691, 2692, 2697, 2693, 2690, 2691,
+
+ 2696, 2688, 2698, 2699, 2699, 2698, 2700, 2687, 2701, 2702,
+ 2702, 2703, 2689, 2704, 2697, 2692, 2693, 2707, 2708, 2705,
+ 2696, 2700, 2703, 2705, 2708, 2709, 2701, 2711, 2704, 2709,
+ 2710, 2710, 2707, 2713, 2714, 2715, 2716, 2716, 2718, 2720,
+ 2711, 2723, 2719, 2720, 2721, 2721, 2722, 2722, 2713, 2726,
+ 2718, 2719, 2724, 2724, 2714, 2715, 2725, 2727, 2726, 2728,
+ 2723, 2725, 2729, 2730, 2730, 2735, 2735, 2736, 2737, 2737,
+ 2738, 2728, 2739, 2727, 2740, 2741, 2745, 2742, 2746, 2743,
+ 2744, 2744, 2729, 2738, 2741, 2739, 2742, 2740, 2743, 2736,
+ 2748, 2748, 2751, 2746, 2752, 2753, 2745, 2751, 2754, 2752,
+
+ 2755, 2756, 2757, 2754, 2758, 2762, 2760, 2764, 2755, 2753,
+ 2762, 2757, 2758, 2763, 2765, 2765, 2766, 2766, 2763, 2767,
+ 2756, 2760, 2764, 2768, 2767, 2769, 2769, 2770, 2771, 2772,
+ 2773, 2774, 2783, 2771, 2770, 2775, 2777, 2774, 2776, 2776,
+ 2775, 2778, 2768, 2779, 2779, 2783, 2778, 2772, 2773, 2780,
+ 2780, 2777, 2784, 2784, 2785, 2786, 2789, 2785, 2787, 2788,
+ 2786, 2786, 2790, 2787, 2788, 2791, 2792, 2793, 2790, 2791,
+ 2789, 2792, 2794, 2795, 2796, 2799, 2793, 2797, 2798, 2800,
+ 2799, 2795, 2803, 2797, 2798, 2801, 2801, 2794, 2804, 2803,
+ 2807, 2800, 2812, 2804, 2805, 2796, 2809, 2805, 2810, 2811,
+
+ 2813, 2809, 2807, 2810, 2811, 2814, 2815, 2816, 2816, 2817,
+ 2812, 2818, 2821, 2813, 2814, 2815, 2818, 2822, 2817, 2823,
+ 2826, 2827, 2830, 2822, 2828, 2823, 2829, 2829, 2831, 2830,
+ 2821, 2832, 2836, 2833, 2834, 2835, 2835, 2838, 2840, 2826,
+ 2832, 2827, 2841, 2828, 2842, 2842, 2841, 2831, 2833, 2834,
+ 2843, 2836, 2838, 2844, 2845, 2846, 2847, 2849, 2840, 2844,
+ 2845, 2850, 2847, 2848, 2848, 2849, 2851, 2853, 2854, 2951,
+ 2859, 2851, 2856, 2846, 2857, 2843, 2853, 2857, 2856, 2858,
+ 2861, 2854, 2864, 2858, 2859, 2951, 2850, 2860, 2860, 2863,
+ 2863, 2865, 2865, 2866, 2866, 2861, 2868, 2868, 2869, 2870,
+
+ 2864, 2871, 2869, 2875, 2870, 2873, 2873, 2876, 2877, 2878,
+ 2871, 2881, 2876, 2879, 2878, 2878, 2882, 2882, 2884, 2884,
+ 2877, 2885, 2885, 2875, 2888, 2879, 2886, 2886, 2889, 2887,
+ 2892, 2881, 2887, 2891, 2891, 2894, 2898, 2888, 2895, 2895,
+ 2900, 2889, 2896, 2896, 2897, 2897, 2899, 2899, 2892, 2901,
+ 2902, 2898, 2903, 2900, 2908, 2894, 2904, 2904, 2903, 2905,
+ 2908, 2909, 2912, 2905, 2902, 2911, 2909, 2901, 2913, 2914,
+ 2911, 2911, 2915, 2916, 2917, 2924, 2918, 2927, 2915, 2916,
+ 2918, 2919, 2919, 2924, 2925, 2912, 2922, 2925, 2913, 2914,
+ 2928, 2922, 2930, 2928, 2929, 2929, 2931, 2932, 2933, 2917,
+
+ 2934, 2931, 2927, 2935, 2935, 2936, 2938, 2939, 2983, 2930,
+ 2930, 2944, 2983, 2937, 2934, 2932, 2937, 2940, 2933, 2936,
+ 2938, 2954, 2942, 0, 2937, 2940, 2939, 2942, 2942, 2943,
+ 2944, 2945, 2945, 2953, 2943, 2943, 2946, 2946, 2947, 2947,
+ 2948, 2948, 2949, 2949, 2950, 2950, 2952, 2954, 2955, 2956,
+ 2957, 2952, 2958, 2953, 2956, 2959, 2960, 2958, 2961, 2963,
+ 2963, 2967, 2955, 0, 2959, 2964, 2964, 2965, 2966, 2957,
+ 2965, 2969, 2969, 2970, 2966, 2980, 2960, 2975, 2961, 2967,
+ 2970, 2971, 2971, 2972, 2974, 2974, 2975, 2976, 2972, 2977,
+ 2978, 2981, 2981, 2980, 2982, 2982, 2976, 2984, 2977, 2978,
+
+ 2985, 2986, 2987, 2988, 2991, 2990, 2984, 2992, 2988, 2988,
+ 2996, 2992, 2986, 2991, 2998, 2996, 3001, 2987, 2990, 2985,
+ 2997, 2997, 3000, 3000, 3002, 3003, 3005, 3005, 2998, 3006,
+ 3001, 3011, 3007, 3013, 3012, 3015, 3018, 3020, 3006, 3012,
+ 3016, 0, 3013, 3003, 3007, 3022, 3016, 3023, 3018, 3002,
+ 3022, 3025, 3023, 3024, 3024, 3015, 3011, 3027, 3020, 3028,
+ 3025, 3029, 3027, 3030, 3030, 3032, 3032, 3030, 3033, 3033,
+ 3034, 3034, 3028, 3035, 3036, 3029, 3037, 0, 3038, 3040,
+ 3044, 3041, 3035, 3038, 3042, 3040, 3041, 3043, 3043, 3042,
+ 3045, 3046, 3047, 3048, 3036, 3037, 3050, 3047, 3044, 3049,
+
+ 3051, 3051, 3045, 3053, 3054, 3049, 3057, 3053, 3055, 3054,
+ 3061, 3048, 3046, 3055, 3056, 3056, 3058, 3059, 3063, 3063,
+ 3065, 3050, 3066, 3067, 3068, 3057, 3070, 3071, 3068, 3069,
+ 3061, 3058, 3059, 3065, 3073, 3066, 3067, 3072, 3069, 3073,
+ 3074, 3076, 3070, 3075, 3075, 3072, 3071, 3077, 3078, 3080,
+ 3076, 3079, 3079, 3083, 3087, 3084, 3085, 3085, 3083, 3083,
+ 3074, 3084, 3089, 3089, 3091, 3077, 3092, 3093, 3080, 3094,
+ 3099, 3095, 3093, 3102, 3078, 3087, 3095, 3098, 3098, 3100,
+ 3091, 3101, 3092, 3103, 3106, 3094, 3107, 3101, 3100, 3110,
+ 3099, 3105, 3105, 3108, 3108, 3110, 3102, 3112, 3106, 3114,
+
+ 3113, 3116, 3103, 3119, 3114, 3107, 3113, 3117, 3117, 3118,
+ 3118, 3120, 3121, 3121, 3122, 3123, 3124, 3112, 3119, 3126,
+ 3125, 3127, 3128, 3116, 3123, 3122, 3125, 3129, 3129, 3130,
+ 3138, 3120, 3121, 3127, 3131, 3137, 3124, 3131, 3126, 3143,
+ 3132, 0, 3128, 3132, 3130, 3133, 3133, 3137, 3139, 3142,
+ 3138, 3140, 3140, 3141, 3139, 3142, 3141, 3143, 3145, 3146,
+ 3146, 3147, 3148, 3145, 3149, 3150, 3147, 3151, 3151, 3154,
+ 3149, 3155, 3153, 3156, 3157, 3157, 3158, 3159, 0, 3160,
+ 3165, 3148, 3150, 3150, 3153, 3165, 3156, 3154, 3160, 3162,
+ 3162, 3163, 3163, 3159, 3166, 3158, 3155, 3164, 3164, 3167,
+
+ 3168, 3168, 3169, 3169, 3167, 3170, 3170, 3172, 3166, 3171,
+ 3171, 3173, 3174, 3178, 3175, 3177, 3177, 3182, 3174, 3175,
+ 3172, 3180, 3180, 3184, 3185, 3186, 3187, 3188, 3188, 3178,
+ 3190, 3190, 3191, 3192, 3194, 3193, 3182, 3173, 3195, 3196,
+ 3196, 3197, 3197, 3199, 3186, 3184, 3185, 3195, 3187, 3193,
+ 3200, 3201, 3192, 3202, 3194, 3203, 3200, 3206, 3191, 0,
+ 3203, 3199, 3207, 3207, 3209, 3209, 3211, 3213, 3210, 3212,
+ 3220, 3201, 3202, 3210, 3214, 3212, 3215, 3215, 3206, 3213,
+ 3211, 3216, 3214, 3218, 3219, 3221, 3216, 3218, 3222, 3219,
+ 3220, 3223, 3224, 3222, 3226, 3227, 3228, 3229, 3224, 3232,
+
+ 3231, 3257, 3226, 3223, 3233, 3221, 3234, 3235, 3237, 3238,
+ 3242, 3244, 3235, 3237, 3227, 3232, 3228, 3229, 3231, 3239,
+ 3257, 3233, 3233, 3240, 3244, 3239, 0, 3234, 3240, 3238,
+ 3242, 3243, 3248, 3248, 3243, 3249, 3249, 3250, 3255, 3255,
+ 3256, 3250, 3258, 3258, 3260, 3256, 3262, 3262, 3263, 3263,
+ 3267, 3263, 3264, 3264, 3267, 3264, 3265, 3265, 3272, 3260,
+ 3266, 3266, 3269, 3266, 3270, 3271, 3271, 3269, 3273, 3276,
+ 3276, 3277, 3278, 3270, 3279, 3281, 3272, 3280, 3280, 3279,
+ 3284, 3285, 3273, 3286, 3287, 3288, 3290, 3286, 3285, 3291,
+ 3293, 3277, 3278, 3287, 3291, 3281, 3292, 3292, 3297, 3293,
+
+ 3288, 3294, 3294, 3302, 3290, 3284, 3295, 3295, 3296, 3296,
+ 3298, 3299, 3300, 3297, 3303, 3298, 3301, 3300, 3300, 3304,
+ 3299, 3305, 3301, 3299, 3307, 3306, 3305, 3309, 3302, 3303,
+ 3306, 3308, 3308, 3309, 3313, 3310, 3311, 3311, 3312, 3312,
+ 3304, 3310, 3314, 3307, 3317, 3317, 3320, 3314, 3322, 3313,
+ 3319, 3319, 3324, 3324, 3333, 3320, 3325, 3325, 3326, 3326,
+ 3327, 3327, 3329, 3329, 3330, 3330, 3322, 3331, 3331, 3332,
+ 3332, 3339, 3335, 3336, 3336, 3337, 3337, 3338, 3340, 3345,
+ 3333, 3335, 3343, 3339, 3342, 3342, 3338, 3344, 3344, 3346,
+ 3351, 3347, 3348, 3348, 3345, 3349, 3349, 3355, 3340, 3352,
+
+ 3352, 3343, 3346, 3347, 3356, 3351, 3357, 3356, 3358, 3358,
+ 3359, 3361, 3362, 3363, 3361, 3355, 3364, 3365, 3362, 3366,
+ 3369, 3364, 3367, 3377, 3370, 3373, 3369, 3363, 3359, 3373,
+ 3374, 3378, 3357, 3370, 3387, 3391, 3365, 3366, 3367, 3387,
+ 3388, 3392, 3392, 3388, 3397, 3374, 3393, 3393, 3391, 3377,
+ 3398, 3378, 3395, 3395, 3399, 3400, 3402, 3404, 3399, 3398,
+ 3405, 3406, 3407, 3408, 3407, 3411, 3406, 3397, 3409, 3409,
+ 3402, 3405, 3410, 3412, 3413, 3400, 3414, 3415, 3408, 3416,
+ 3404, 3417, 3418, 3419, 3411, 3410, 3421, 3418, 3416, 3420,
+ 3413, 3412, 3415, 3417, 3420, 3422, 3422, 3423, 3424, 3428,
+
+ 3429, 3414, 3431, 3424, 3419, 3421, 3430, 3430, 3432, 3432,
+ 3436, 3431, 3437, 3428, 3433, 3433, 3441, 3423, 3434, 3434,
+ 3429, 3435, 3435, 3438, 3442, 3439, 3438, 3453, 3440, 3436,
+ 3439, 3443, 3437, 3440, 3444, 3445, 3448, 3443, 3446, 3442,
+ 3454, 3441, 3453, 3446, 3447, 3447, 3457, 3445, 3444, 3449,
+ 3449, 3450, 3450, 3452, 3452, 3459, 3448, 3455, 3455, 3454,
+ 3464, 3457, 3462, 3462, 3463, 3463, 3465, 3468, 3464, 3466,
+ 3467, 3469, 3470, 3459, 3471, 3466, 3467, 3472, 3472, 3471,
+ 3478, 3468, 3474, 3474, 3469, 3465, 3479, 3484, 3481, 3482,
+ 3485, 3470, 3486, 3482, 3489, 3485, 3487, 3488, 3490, 3491,
+
+ 3495, 3478, 3481, 3490, 3491, 3496, 3479, 3484, 3497, 3487,
+ 3488, 3486, 3500, 3489, 3492, 3492, 3498, 3498, 3500, 3499,
+ 3495, 3501, 3501, 3496, 3499, 3502, 3503, 3497, 3504, 3505,
+ 3502, 3503, 3506, 3504, 3508, 3508, 3509, 3513, 3506, 3510,
+ 3510, 3509, 3512, 3514, 3515, 3516, 3512, 3517, 3505, 3518,
+ 3514, 3526, 3519, 3517, 3521, 3521, 3513, 3523, 3523, 3527,
+ 3524, 3525, 3528, 3515, 3516, 3519, 3525, 3531, 3518, 3524,
+ 3526, 3530, 3524, 3529, 3529, 3528, 3530, 3533, 3527, 3535,
+ 3531, 3534, 3534, 3536, 3536, 3537, 3537, 3538, 3539, 3540,
+ 3541, 3541, 3538, 0, 3542, 3539, 3544, 3544, 3535, 3542,
+
+ 3543, 3547, 3543, 3533, 3545, 3546, 3549, 3552, 3540, 3548,
+ 3556, 3545, 3546, 3554, 3548, 3551, 3551, 3555, 3554, 3557,
+ 3547, 3561, 3555, 3558, 3558, 3549, 3552, 3560, 3560, 3556,
+ 3562, 3563, 3563, 3564, 3564, 3565, 3567, 3567, 3557, 3569,
+ 3561, 3575, 3565, 3568, 3568, 3571, 3569, 3574, 3576, 3562,
+ 3571, 0, 3574, 3577, 3577, 3578, 3578, 0, 0, 0,
+ 3575, 0, 0, 0, 0, 0, 0, 3576, 3582, 3582,
+ 3582, 3582, 3582, 3582, 3582, 3583, 3583, 3583, 3583, 3583,
+ 3583, 3583, 3584, 3584, 3584, 3584, 3584, 3584, 3584, 3585,
+ 3585, 3585, 3585, 3585, 3585, 3585, 3586, 3586, 3586, 3586,
+
+ 3586, 3586, 3586, 3587, 3587, 3587, 3587, 3587, 3587, 3587,
+ 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3590, 3590, 0,
+ 3590, 3590, 3590, 3590, 3591, 3591, 0, 0, 0, 3591,
+ 3591, 3592, 3592, 0, 0, 3592, 0, 3592, 3593, 0,
+ 0, 0, 0, 0, 3593, 3594, 3594, 0, 0, 0,
+ 3594, 3594, 3595, 0, 0, 0, 0, 0, 3595, 3596,
+ 3596, 0, 3596, 3596, 3596, 3596, 3597, 0, 0, 0,
+ 0, 0, 3597, 3598, 3598, 0, 0, 0, 3598, 3598,
+ 3599, 3599, 0, 3599, 3599, 3599, 3599, 3581, 3581, 3581,
+ 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581,
+
+ 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581,
+ 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581,
+ 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581
} ;
static yy_state_type yy_last_accepting_state;
cfg_parser->filename = nm;
cfg_parser->line = 1;
inc_toplevel = toplevel;
- yy_switch_to_buffer(yy_create_buffer(input, YY_BUF_SIZE));
+ yy_switch_to_buffer(yy_create_buffer(input,YY_BUF_SIZE));
}
static void config_start_include_glob(const char* filename, int toplevel)
#define yy_set_bol(at_bol) \
{ \
if ( ! yy_current_buffer ) \
- yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer = yy_create_buffer(yyin,YY_BUF_SIZE ); \
yy_current_buffer->yy_ch_buf[0] = ((at_bol)?'\n':' '); \
}
#endif
-#line 3349 "<stdout>"
#define YY_NO_INPUT 1
#line 191 "./util/configlexer.lex"
#ifndef YY_NO_UNPUT
#ifndef YY_NO_INPUT
#define YY_NO_INPUT 1
#endif
-#line 3358 "<stdout>"
-#line 3360 "<stdout>"
+#line 3378 "<stdout>"
#define INITIAL 0
#define quotedstring 1
#define YY_EXTRA_TYPE void *
#endif
-static int yy_init_globals ( void );
+static int yy_init_globals (void );
/* Accessor methods to globals.
These are made visible to non-reentrant scanners for convenience. */
-int yylex_destroy ( void );
+int yylex_destroy (void );
-int yyget_debug ( void );
+int yyget_debug (void );
-void yyset_debug ( int debug_flag );
+void yyset_debug (int debug_flag );
-YY_EXTRA_TYPE yyget_extra ( void );
+YY_EXTRA_TYPE yyget_extra (void );
-void yyset_extra ( YY_EXTRA_TYPE user_defined );
+void yyset_extra (YY_EXTRA_TYPE user_defined );
-FILE *yyget_in ( void );
+FILE *yyget_in (void );
-void yyset_in ( FILE * _in_str );
+void yyset_in (FILE * in_str );
-FILE *yyget_out ( void );
+FILE *yyget_out (void );
-void yyset_out ( FILE * _out_str );
+void yyset_out (FILE * out_str );
- int yyget_leng ( void );
+yy_size_t yyget_leng (void );
-char *yyget_text ( void );
+char *yyget_text (void );
-int yyget_lineno ( void );
+int yyget_lineno (void );
-void yyset_lineno ( int _line_number );
+void yyset_lineno (int line_number );
/* Macros after this point can all be overridden by user definitions in
* section 1.
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
-extern "C" int yywrap ( void );
+extern "C" int yywrap (void );
#else
-extern int yywrap ( void );
+extern int yywrap (void );
#endif
#endif
-#ifndef YY_NO_UNPUT
-
-#endif
-
#ifndef yytext_ptr
-static void yy_flex_strncpy ( char *, const char *, int );
+static void yy_flex_strncpy (char *,yyconst char *,int );
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen ( const char * );
+static int yy_flex_strlen (yyconst char * );
#endif
#ifndef YY_NO_INPUT
+
#ifdef __cplusplus
-static int yyinput ( void );
+static int yyinput (void );
#else
-static int input ( void );
+static int input (void );
#endif
#endif
/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
-#ifdef __ia64__
-/* On IA-64, the buffer size is 16k, not 8k */
-#define YY_READ_BUF_SIZE 16384
-#else
#define YY_READ_BUF_SIZE 8192
-#endif /* __ia64__ */
#endif
/* Copy whatever the last rule matched to the standard output. */
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
-#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
+#define ECHO fwrite( yytext, yyleng, 1, yyout )
#endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
- int n; \
+ yy_size_t n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
else \
{ \
errno=0; \
- while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
+ while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
{ \
if( errno != EINTR) \
{ \
/* Code executed at the end of each rule. */
#ifndef YY_BREAK
-#define YY_BREAK /*LINTED*/break;
+#define YY_BREAK break;
#endif
#define YY_RULE_SETUP \
*/
YY_DECL
{
- yy_state_type yy_current_state;
- char *yy_cp, *yy_bp;
- int yy_act;
+ register yy_state_type yy_current_state;
+ register char *yy_cp, *yy_bp;
+ register int yy_act;
+#line 211 "./util/configlexer.lex"
+
+#line 3567 "<stdout>"
+
if ( !(yy_init) )
{
(yy_init) = 1;
if ( ! YY_CURRENT_BUFFER ) {
yyensure_buffer_stack ();
YY_CURRENT_BUFFER_LVALUE =
- yy_create_buffer( yyin, YY_BUF_SIZE );
+ yy_create_buffer(yyin,YY_BUF_SIZE );
}
- yy_load_buffer_state( );
+ yy_load_buffer_state( );
}
- {
-#line 211 "./util/configlexer.lex"
-
-#line 3584 "<stdout>"
-
- while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
+ while ( 1 ) /* loops until end-of-file is reached */
{
(yy_more_len) = 0;
if ( (yy_more_flag) )
{
- (yy_more_len) = (int) ((yy_c_buf_p) - (yytext_ptr));
+ (yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
(yy_more_flag) = 0;
}
yy_cp = (yy_c_buf_p);
yy_match:
do
{
- YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
+ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 3565 )
- yy_c = yy_meta[yy_c];
+ if ( yy_current_state >= 3582 )
+ yy_c = yy_meta[(unsigned int) yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_base[yy_current_state] != 6961 );
+ while ( yy_base[yy_current_state] != 6988 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
case 191:
YY_RULE_SETUP
#line 405 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SERVE_ORIGINAL_TTL) }
+{ YDVAR(1, VAR_EDE_SERVE_EXPIRED) }
YY_BREAK
case 192:
YY_RULE_SETUP
#line 406 "./util/configlexer.lex"
-{ YDVAR(1, VAR_FAKE_DSA) }
+{ YDVAR(1, VAR_SERVE_ORIGINAL_TTL) }
YY_BREAK
case 193:
YY_RULE_SETUP
#line 407 "./util/configlexer.lex"
-{ YDVAR(1, VAR_FAKE_SHA1) }
+{ YDVAR(1, VAR_FAKE_DSA) }
YY_BREAK
case 194:
YY_RULE_SETUP
#line 408 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_LOG_LEVEL) }
+{ YDVAR(1, VAR_FAKE_SHA1) }
YY_BREAK
case 195:
YY_RULE_SETUP
#line 409 "./util/configlexer.lex"
-{ YDVAR(1, VAR_KEY_CACHE_SIZE) }
+{ YDVAR(1, VAR_VAL_LOG_LEVEL) }
YY_BREAK
case 196:
YY_RULE_SETUP
#line 410 "./util/configlexer.lex"
-{ YDVAR(1, VAR_KEY_CACHE_SLABS) }
+{ YDVAR(1, VAR_KEY_CACHE_SIZE) }
YY_BREAK
case 197:
YY_RULE_SETUP
#line 411 "./util/configlexer.lex"
-{ YDVAR(1, VAR_NEG_CACHE_SIZE) }
+{ YDVAR(1, VAR_KEY_CACHE_SLABS) }
YY_BREAK
case 198:
YY_RULE_SETUP
#line 412 "./util/configlexer.lex"
-{
- YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
+{ YDVAR(1, VAR_NEG_CACHE_SIZE) }
YY_BREAK
case 199:
YY_RULE_SETUP
-#line 414 "./util/configlexer.lex"
-{ YDVAR(1, VAR_ZONEMD_PERMISSIVE_MODE) }
+#line 413 "./util/configlexer.lex"
+{
+ YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
YY_BREAK
case 200:
YY_RULE_SETUP
#line 415 "./util/configlexer.lex"
-{ YDVAR(1, VAR_ZONEMD_CHECK) }
+{ YDVAR(1, VAR_ZONEMD_PERMISSIVE_MODE) }
YY_BREAK
case 201:
YY_RULE_SETUP
#line 416 "./util/configlexer.lex"
-{ YDVAR(1, VAR_ZONEMD_REJECT_ABSENCE) }
+{ YDVAR(1, VAR_ZONEMD_CHECK) }
YY_BREAK
case 202:
YY_RULE_SETUP
#line 417 "./util/configlexer.lex"
-{ YDVAR(1, VAR_ADD_HOLDDOWN) }
+{ YDVAR(1, VAR_ZONEMD_REJECT_ABSENCE) }
YY_BREAK
case 203:
YY_RULE_SETUP
#line 418 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DEL_HOLDDOWN) }
+{ YDVAR(1, VAR_ADD_HOLDDOWN) }
YY_BREAK
case 204:
YY_RULE_SETUP
#line 419 "./util/configlexer.lex"
-{ YDVAR(1, VAR_KEEP_MISSING) }
+{ YDVAR(1, VAR_DEL_HOLDDOWN) }
YY_BREAK
case 205:
YY_RULE_SETUP
#line 420 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) }
+{ YDVAR(1, VAR_KEEP_MISSING) }
YY_BREAK
case 206:
YY_RULE_SETUP
#line 421 "./util/configlexer.lex"
-{ YDVAR(1, VAR_USE_SYSLOG) }
+{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) }
YY_BREAK
case 207:
YY_RULE_SETUP
#line 422 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOG_IDENTITY) }
+{ YDVAR(1, VAR_USE_SYSLOG) }
YY_BREAK
case 208:
YY_RULE_SETUP
#line 423 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOG_TIME_ASCII) }
+{ YDVAR(1, VAR_LOG_IDENTITY) }
YY_BREAK
case 209:
YY_RULE_SETUP
#line 424 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOG_QUERIES) }
+{ YDVAR(1, VAR_LOG_TIME_ASCII) }
YY_BREAK
case 210:
YY_RULE_SETUP
#line 425 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOG_REPLIES) }
+{ YDVAR(1, VAR_LOG_QUERIES) }
YY_BREAK
case 211:
YY_RULE_SETUP
#line 426 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOG_TAG_QUERYREPLY) }
+{ YDVAR(1, VAR_LOG_REPLIES) }
YY_BREAK
case 212:
YY_RULE_SETUP
#line 427 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOG_LOCAL_ACTIONS) }
+{ YDVAR(1, VAR_LOG_TAG_QUERYREPLY) }
YY_BREAK
case 213:
YY_RULE_SETUP
#line 428 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOG_SERVFAIL) }
+{ YDVAR(1, VAR_LOG_LOCAL_ACTIONS) }
YY_BREAK
case 214:
YY_RULE_SETUP
#line 429 "./util/configlexer.lex"
-{ YDVAR(2, VAR_LOCAL_ZONE) }
+{ YDVAR(1, VAR_LOG_SERVFAIL) }
YY_BREAK
case 215:
YY_RULE_SETUP
#line 430 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOCAL_DATA) }
+{ YDVAR(2, VAR_LOCAL_ZONE) }
YY_BREAK
case 216:
YY_RULE_SETUP
#line 431 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOCAL_DATA_PTR) }
+{ YDVAR(1, VAR_LOCAL_DATA) }
YY_BREAK
case 217:
YY_RULE_SETUP
#line 432 "./util/configlexer.lex"
-{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
+{ YDVAR(1, VAR_LOCAL_DATA_PTR) }
YY_BREAK
case 218:
YY_RULE_SETUP
#line 433 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INSECURE_LAN_ZONES) }
+{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
YY_BREAK
case 219:
YY_RULE_SETUP
#line 434 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STATISTICS_INTERVAL) }
+{ YDVAR(1, VAR_INSECURE_LAN_ZONES) }
YY_BREAK
case 220:
YY_RULE_SETUP
#line 435 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
+{ YDVAR(1, VAR_STATISTICS_INTERVAL) }
YY_BREAK
case 221:
YY_RULE_SETUP
#line 436 "./util/configlexer.lex"
-{ YDVAR(1, VAR_EXTENDED_STATISTICS) }
+{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
YY_BREAK
case 222:
YY_RULE_SETUP
#line 437 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SHM_ENABLE) }
+{ YDVAR(1, VAR_EXTENDED_STATISTICS) }
YY_BREAK
case 223:
YY_RULE_SETUP
#line 438 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SHM_KEY) }
+{ YDVAR(1, VAR_SHM_ENABLE) }
YY_BREAK
case 224:
YY_RULE_SETUP
#line 439 "./util/configlexer.lex"
-{ YDVAR(0, VAR_REMOTE_CONTROL) }
+{ YDVAR(1, VAR_SHM_KEY) }
YY_BREAK
case 225:
YY_RULE_SETUP
#line 440 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_ENABLE) }
+{ YDVAR(0, VAR_REMOTE_CONTROL) }
YY_BREAK
case 226:
YY_RULE_SETUP
#line 441 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_INTERFACE) }
+{ YDVAR(1, VAR_CONTROL_ENABLE) }
YY_BREAK
case 227:
YY_RULE_SETUP
#line 442 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_PORT) }
+{ YDVAR(1, VAR_CONTROL_INTERFACE) }
YY_BREAK
case 228:
YY_RULE_SETUP
#line 443 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_USE_CERT) }
+{ YDVAR(1, VAR_CONTROL_PORT) }
YY_BREAK
case 229:
YY_RULE_SETUP
#line 444 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SERVER_KEY_FILE) }
+{ YDVAR(1, VAR_CONTROL_USE_CERT) }
YY_BREAK
case 230:
YY_RULE_SETUP
#line 445 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SERVER_CERT_FILE) }
+{ YDVAR(1, VAR_SERVER_KEY_FILE) }
YY_BREAK
case 231:
YY_RULE_SETUP
#line 446 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_KEY_FILE) }
+{ YDVAR(1, VAR_SERVER_CERT_FILE) }
YY_BREAK
case 232:
YY_RULE_SETUP
#line 447 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_CERT_FILE) }
+{ YDVAR(1, VAR_CONTROL_KEY_FILE) }
YY_BREAK
case 233:
YY_RULE_SETUP
#line 448 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PYTHON_SCRIPT) }
+{ YDVAR(1, VAR_CONTROL_CERT_FILE) }
YY_BREAK
case 234:
YY_RULE_SETUP
#line 449 "./util/configlexer.lex"
-{ YDVAR(0, VAR_PYTHON) }
+{ YDVAR(1, VAR_PYTHON_SCRIPT) }
YY_BREAK
case 235:
YY_RULE_SETUP
#line 450 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DYNLIB_FILE) }
+{ YDVAR(0, VAR_PYTHON) }
YY_BREAK
case 236:
YY_RULE_SETUP
#line 451 "./util/configlexer.lex"
-{ YDVAR(0, VAR_DYNLIB) }
+{ YDVAR(1, VAR_DYNLIB_FILE) }
YY_BREAK
case 237:
YY_RULE_SETUP
#line 452 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DOMAIN_INSECURE) }
+{ YDVAR(0, VAR_DYNLIB) }
YY_BREAK
case 238:
YY_RULE_SETUP
#line 453 "./util/configlexer.lex"
-{ YDVAR(1, VAR_MINIMAL_RESPONSES) }
+{ YDVAR(1, VAR_DOMAIN_INSECURE) }
YY_BREAK
case 239:
YY_RULE_SETUP
#line 454 "./util/configlexer.lex"
-{ YDVAR(1, VAR_RRSET_ROUNDROBIN) }
+{ YDVAR(1, VAR_MINIMAL_RESPONSES) }
YY_BREAK
case 240:
YY_RULE_SETUP
#line 455 "./util/configlexer.lex"
-{ YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) }
+{ YDVAR(1, VAR_RRSET_ROUNDROBIN) }
YY_BREAK
case 241:
YY_RULE_SETUP
#line 456 "./util/configlexer.lex"
-{ YDVAR(1, VAR_MAX_UDP_SIZE) }
+{ YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) }
YY_BREAK
case 242:
YY_RULE_SETUP
#line 457 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNS64_PREFIX) }
+{ YDVAR(1, VAR_MAX_UDP_SIZE) }
YY_BREAK
case 243:
YY_RULE_SETUP
#line 458 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNS64_SYNTHALL) }
+{ YDVAR(1, VAR_DNS64_PREFIX) }
YY_BREAK
case 244:
YY_RULE_SETUP
#line 459 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNS64_IGNORE_AAAA) }
+{ YDVAR(1, VAR_DNS64_SYNTHALL) }
YY_BREAK
case 245:
YY_RULE_SETUP
#line 460 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DEFINE_TAG) }
+{ YDVAR(1, VAR_DNS64_IGNORE_AAAA) }
YY_BREAK
case 246:
YY_RULE_SETUP
#line 461 "./util/configlexer.lex"
-{ YDVAR(2, VAR_LOCAL_ZONE_TAG) }
+{ YDVAR(1, VAR_DEFINE_TAG) }
YY_BREAK
case 247:
YY_RULE_SETUP
#line 462 "./util/configlexer.lex"
-{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) }
+{ YDVAR(2, VAR_LOCAL_ZONE_TAG) }
YY_BREAK
case 248:
YY_RULE_SETUP
#line 463 "./util/configlexer.lex"
-{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) }
+{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) }
YY_BREAK
case 249:
YY_RULE_SETUP
#line 464 "./util/configlexer.lex"
-{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) }
+{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) }
YY_BREAK
case 250:
YY_RULE_SETUP
#line 465 "./util/configlexer.lex"
-{ YDVAR(2, VAR_ACCESS_CONTROL_VIEW) }
+{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) }
YY_BREAK
case 251:
YY_RULE_SETUP
#line 466 "./util/configlexer.lex"
-{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) }
+{ YDVAR(2, VAR_ACCESS_CONTROL_VIEW) }
YY_BREAK
case 252:
YY_RULE_SETUP
#line 467 "./util/configlexer.lex"
-{ YDVAR(0, VAR_DNSTAP) }
+{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) }
YY_BREAK
case 253:
YY_RULE_SETUP
#line 468 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_ENABLE) }
+{ YDVAR(0, VAR_DNSTAP) }
YY_BREAK
case 254:
YY_RULE_SETUP
#line 469 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_BIDIRECTIONAL) }
+{ YDVAR(1, VAR_DNSTAP_ENABLE) }
YY_BREAK
case 255:
YY_RULE_SETUP
#line 470 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
+{ YDVAR(1, VAR_DNSTAP_BIDIRECTIONAL) }
YY_BREAK
case 256:
YY_RULE_SETUP
#line 471 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_IP) }
+{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
YY_BREAK
case 257:
YY_RULE_SETUP
#line 472 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_TLS) }
+{ YDVAR(1, VAR_DNSTAP_IP) }
YY_BREAK
case 258:
YY_RULE_SETUP
#line 473 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_TLS_SERVER_NAME) }
+{ YDVAR(1, VAR_DNSTAP_TLS) }
YY_BREAK
case 259:
YY_RULE_SETUP
#line 474 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_TLS_CERT_BUNDLE) }
+{ YDVAR(1, VAR_DNSTAP_TLS_SERVER_NAME) }
YY_BREAK
case 260:
YY_RULE_SETUP
#line 475 "./util/configlexer.lex"
-{
- YDVAR(1, VAR_DNSTAP_TLS_CLIENT_KEY_FILE) }
+{ YDVAR(1, VAR_DNSTAP_TLS_CERT_BUNDLE) }
YY_BREAK
case 261:
YY_RULE_SETUP
-#line 477 "./util/configlexer.lex"
+#line 476 "./util/configlexer.lex"
{
- YDVAR(1, VAR_DNSTAP_TLS_CLIENT_CERT_FILE) }
+ YDVAR(1, VAR_DNSTAP_TLS_CLIENT_KEY_FILE) }
YY_BREAK
case 262:
YY_RULE_SETUP
-#line 479 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
+#line 478 "./util/configlexer.lex"
+{
+ YDVAR(1, VAR_DNSTAP_TLS_CLIENT_CERT_FILE) }
YY_BREAK
case 263:
YY_RULE_SETUP
#line 480 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
+{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
YY_BREAK
case 264:
YY_RULE_SETUP
#line 481 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_IDENTITY) }
+{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
YY_BREAK
case 265:
YY_RULE_SETUP
#line 482 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_VERSION) }
+{ YDVAR(1, VAR_DNSTAP_IDENTITY) }
YY_BREAK
case 266:
YY_RULE_SETUP
#line 483 "./util/configlexer.lex"
-{
- YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
+{ YDVAR(1, VAR_DNSTAP_VERSION) }
YY_BREAK
case 267:
YY_RULE_SETUP
-#line 485 "./util/configlexer.lex"
+#line 484 "./util/configlexer.lex"
{
- YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
+ YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
YY_BREAK
case 268:
YY_RULE_SETUP
-#line 487 "./util/configlexer.lex"
+#line 486 "./util/configlexer.lex"
{
- YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
+ YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
YY_BREAK
case 269:
YY_RULE_SETUP
-#line 489 "./util/configlexer.lex"
+#line 488 "./util/configlexer.lex"
{
- YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
+ YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
YY_BREAK
case 270:
YY_RULE_SETUP
-#line 491 "./util/configlexer.lex"
+#line 490 "./util/configlexer.lex"
{
- YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
+ YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
YY_BREAK
case 271:
YY_RULE_SETUP
-#line 493 "./util/configlexer.lex"
+#line 492 "./util/configlexer.lex"
{
- YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
+ YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
YY_BREAK
case 272:
YY_RULE_SETUP
-#line 495 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) }
+#line 494 "./util/configlexer.lex"
+{
+ YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
YY_BREAK
case 273:
YY_RULE_SETUP
#line 496 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IP_RATELIMIT) }
+{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) }
YY_BREAK
case 274:
YY_RULE_SETUP
#line 497 "./util/configlexer.lex"
-{ YDVAR(1, VAR_RATELIMIT) }
+{ YDVAR(1, VAR_IP_RATELIMIT) }
YY_BREAK
case 275:
YY_RULE_SETUP
#line 498 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IP_RATELIMIT_SLABS) }
+{ YDVAR(1, VAR_RATELIMIT) }
YY_BREAK
case 276:
YY_RULE_SETUP
#line 499 "./util/configlexer.lex"
-{ YDVAR(1, VAR_RATELIMIT_SLABS) }
+{ YDVAR(1, VAR_IP_RATELIMIT_SLABS) }
YY_BREAK
case 277:
YY_RULE_SETUP
#line 500 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IP_RATELIMIT_SIZE) }
+{ YDVAR(1, VAR_RATELIMIT_SLABS) }
YY_BREAK
case 278:
YY_RULE_SETUP
#line 501 "./util/configlexer.lex"
-{ YDVAR(1, VAR_RATELIMIT_SIZE) }
+{ YDVAR(1, VAR_IP_RATELIMIT_SIZE) }
YY_BREAK
case 279:
YY_RULE_SETUP
#line 502 "./util/configlexer.lex"
-{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) }
+{ YDVAR(1, VAR_RATELIMIT_SIZE) }
YY_BREAK
case 280:
YY_RULE_SETUP
#line 503 "./util/configlexer.lex"
-{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) }
+{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) }
YY_BREAK
case 281:
YY_RULE_SETUP
#line 504 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IP_RATELIMIT_FACTOR) }
+{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) }
YY_BREAK
case 282:
YY_RULE_SETUP
#line 505 "./util/configlexer.lex"
-{ YDVAR(1, VAR_RATELIMIT_FACTOR) }
+{ YDVAR(1, VAR_IP_RATELIMIT_FACTOR) }
YY_BREAK
case 283:
YY_RULE_SETUP
#line 506 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IP_RATELIMIT_BACKOFF) }
+{ YDVAR(1, VAR_RATELIMIT_FACTOR) }
YY_BREAK
case 284:
YY_RULE_SETUP
#line 507 "./util/configlexer.lex"
-{ YDVAR(1, VAR_RATELIMIT_BACKOFF) }
+{ YDVAR(1, VAR_IP_RATELIMIT_BACKOFF) }
YY_BREAK
case 285:
YY_RULE_SETUP
#line 508 "./util/configlexer.lex"
-{ YDVAR(1, VAR_OUTBOUND_MSG_RETRY) }
+{ YDVAR(1, VAR_RATELIMIT_BACKOFF) }
YY_BREAK
case 286:
YY_RULE_SETUP
#line 509 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOW_RTT) }
+{ YDVAR(1, VAR_OUTBOUND_MSG_RETRY) }
YY_BREAK
case 287:
YY_RULE_SETUP
#line 510 "./util/configlexer.lex"
-{ YDVAR(1, VAR_FAST_SERVER_NUM) }
+{ YDVAR(1, VAR_LOW_RTT) }
YY_BREAK
case 288:
YY_RULE_SETUP
#line 511 "./util/configlexer.lex"
-{ YDVAR(1, VAR_FAST_SERVER_PERMIL) }
+{ YDVAR(1, VAR_FAST_SERVER_NUM) }
YY_BREAK
case 289:
YY_RULE_SETUP
case 291:
YY_RULE_SETUP
#line 514 "./util/configlexer.lex"
-{ YDVAR(2, VAR_RESPONSE_IP_TAG) }
+{ YDVAR(1, VAR_FAST_SERVER_PERMIL) }
YY_BREAK
case 292:
YY_RULE_SETUP
#line 515 "./util/configlexer.lex"
-{ YDVAR(2, VAR_RESPONSE_IP) }
+{ YDVAR(2, VAR_RESPONSE_IP_TAG) }
YY_BREAK
case 293:
YY_RULE_SETUP
#line 516 "./util/configlexer.lex"
-{ YDVAR(2, VAR_RESPONSE_IP_DATA) }
+{ YDVAR(2, VAR_RESPONSE_IP) }
YY_BREAK
case 294:
YY_RULE_SETUP
#line 517 "./util/configlexer.lex"
-{ YDVAR(0, VAR_DNSCRYPT) }
+{ YDVAR(2, VAR_RESPONSE_IP_DATA) }
YY_BREAK
case 295:
YY_RULE_SETUP
#line 518 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSCRYPT_ENABLE) }
+{ YDVAR(0, VAR_DNSCRYPT) }
YY_BREAK
case 296:
YY_RULE_SETUP
#line 519 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSCRYPT_PORT) }
+{ YDVAR(1, VAR_DNSCRYPT_ENABLE) }
YY_BREAK
case 297:
YY_RULE_SETUP
#line 520 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSCRYPT_PROVIDER) }
+{ YDVAR(1, VAR_DNSCRYPT_PORT) }
YY_BREAK
case 298:
YY_RULE_SETUP
#line 521 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) }
+{ YDVAR(1, VAR_DNSCRYPT_PROVIDER) }
YY_BREAK
case 299:
YY_RULE_SETUP
#line 522 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) }
+{ YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) }
YY_BREAK
case 300:
YY_RULE_SETUP
#line 523 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) }
+{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) }
YY_BREAK
case 301:
YY_RULE_SETUP
#line 524 "./util/configlexer.lex"
-{
- YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) }
+{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) }
YY_BREAK
case 302:
YY_RULE_SETUP
-#line 526 "./util/configlexer.lex"
+#line 525 "./util/configlexer.lex"
{
- YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) }
+ YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) }
YY_BREAK
case 303:
YY_RULE_SETUP
-#line 528 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) }
+#line 527 "./util/configlexer.lex"
+{
+ YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) }
YY_BREAK
case 304:
YY_RULE_SETUP
#line 529 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) }
+{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) }
YY_BREAK
case 305:
YY_RULE_SETUP
#line 530 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PAD_RESPONSES) }
+{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) }
YY_BREAK
case 306:
YY_RULE_SETUP
#line 531 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PAD_RESPONSES_BLOCK_SIZE) }
+{ YDVAR(1, VAR_PAD_RESPONSES) }
YY_BREAK
case 307:
YY_RULE_SETUP
#line 532 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PAD_QUERIES) }
+{ YDVAR(1, VAR_PAD_RESPONSES_BLOCK_SIZE) }
YY_BREAK
case 308:
YY_RULE_SETUP
#line 533 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PAD_QUERIES_BLOCK_SIZE) }
+{ YDVAR(1, VAR_PAD_QUERIES) }
YY_BREAK
case 309:
YY_RULE_SETUP
#line 534 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IPSECMOD_ENABLED) }
+{ YDVAR(1, VAR_PAD_QUERIES_BLOCK_SIZE) }
YY_BREAK
case 310:
YY_RULE_SETUP
#line 535 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) }
+{ YDVAR(1, VAR_IPSECMOD_ENABLED) }
YY_BREAK
case 311:
YY_RULE_SETUP
#line 536 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IPSECMOD_HOOK) }
+{ YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) }
YY_BREAK
case 312:
YY_RULE_SETUP
#line 537 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IPSECMOD_MAX_TTL) }
+{ YDVAR(1, VAR_IPSECMOD_HOOK) }
YY_BREAK
case 313:
YY_RULE_SETUP
#line 538 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IPSECMOD_WHITELIST) }
+{ YDVAR(1, VAR_IPSECMOD_MAX_TTL) }
YY_BREAK
case 314:
YY_RULE_SETUP
case 315:
YY_RULE_SETUP
#line 540 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IPSECMOD_STRICT) }
+{ YDVAR(1, VAR_IPSECMOD_WHITELIST) }
YY_BREAK
case 316:
YY_RULE_SETUP
#line 541 "./util/configlexer.lex"
-{ YDVAR(0, VAR_CACHEDB) }
+{ YDVAR(1, VAR_IPSECMOD_STRICT) }
YY_BREAK
case 317:
YY_RULE_SETUP
#line 542 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CACHEDB_BACKEND) }
+{ YDVAR(0, VAR_CACHEDB) }
YY_BREAK
case 318:
YY_RULE_SETUP
#line 543 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CACHEDB_SECRETSEED) }
+{ YDVAR(1, VAR_CACHEDB_BACKEND) }
YY_BREAK
case 319:
YY_RULE_SETUP
#line 544 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CACHEDB_REDISHOST) }
+{ YDVAR(1, VAR_CACHEDB_SECRETSEED) }
YY_BREAK
case 320:
YY_RULE_SETUP
#line 545 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CACHEDB_REDISPORT) }
+{ YDVAR(1, VAR_CACHEDB_REDISHOST) }
YY_BREAK
case 321:
YY_RULE_SETUP
#line 546 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) }
+{ YDVAR(1, VAR_CACHEDB_REDISPORT) }
YY_BREAK
case 322:
YY_RULE_SETUP
#line 547 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) }
+{ YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) }
YY_BREAK
case 323:
YY_RULE_SETUP
#line 548 "./util/configlexer.lex"
-{ YDVAR(0, VAR_IPSET) }
+{ YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) }
YY_BREAK
case 324:
YY_RULE_SETUP
#line 549 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IPSET_NAME_V4) }
+{ YDVAR(0, VAR_IPSET) }
YY_BREAK
case 325:
YY_RULE_SETUP
#line 550 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IPSET_NAME_V6) }
+{ YDVAR(1, VAR_IPSET_NAME_V4) }
YY_BREAK
case 326:
YY_RULE_SETUP
#line 551 "./util/configlexer.lex"
-{ YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) }
+{ YDVAR(1, VAR_IPSET_NAME_V6) }
YY_BREAK
case 327:
YY_RULE_SETUP
#line 552 "./util/configlexer.lex"
-{ YDVAR(2, VAR_TCP_CONNECTION_LIMIT) }
+{ YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) }
YY_BREAK
case 328:
YY_RULE_SETUP
#line 553 "./util/configlexer.lex"
-{ YDVAR(2, VAR_EDNS_CLIENT_STRING) }
+{ YDVAR(2, VAR_TCP_CONNECTION_LIMIT) }
YY_BREAK
case 329:
YY_RULE_SETUP
#line 554 "./util/configlexer.lex"
-{ YDVAR(1, VAR_EDNS_CLIENT_STRING_OPCODE) }
+{ YDVAR(2, VAR_EDNS_CLIENT_STRING) }
YY_BREAK
case 330:
YY_RULE_SETUP
#line 555 "./util/configlexer.lex"
-{ YDVAR(1, VAR_NSID ) }
+{ YDVAR(1, VAR_EDNS_CLIENT_STRING_OPCODE) }
YY_BREAK
case 331:
-/* rule 331 can match eol */
YY_RULE_SETUP
#line 556 "./util/configlexer.lex"
+{ YDVAR(1, VAR_NSID ) }
+ YY_BREAK
+case 332:
+YY_RULE_SETUP
+#line 557 "./util/configlexer.lex"
+{ YDVAR(1, VAR_EDE ) }
+ YY_BREAK
+case 333:
+/* rule 333 can match eol */
+YY_RULE_SETUP
+#line 558 "./util/configlexer.lex"
{ LEXOUT(("NL\n")); cfg_parser->line++; }
YY_BREAK
/* Quoted strings. Strip leading and ending quotes */
-case 332:
+case 334:
YY_RULE_SETUP
-#line 559 "./util/configlexer.lex"
+#line 561 "./util/configlexer.lex"
{ BEGIN(quotedstring); LEXOUT(("QS ")); }
YY_BREAK
case YY_STATE_EOF(quotedstring):
-#line 560 "./util/configlexer.lex"
+#line 562 "./util/configlexer.lex"
{
yyerror("EOF inside quoted string");
if(--num_args == 0) { BEGIN(INITIAL); }
else { BEGIN(val); }
}
YY_BREAK
-case 333:
+case 335:
YY_RULE_SETUP
-#line 565 "./util/configlexer.lex"
+#line 567 "./util/configlexer.lex"
{ LEXOUT(("STR(%s) ", yytext)); yymore(); }
YY_BREAK
-case 334:
-/* rule 334 can match eol */
+case 336:
+/* rule 336 can match eol */
YY_RULE_SETUP
-#line 566 "./util/configlexer.lex"
+#line 568 "./util/configlexer.lex"
{ yyerror("newline inside quoted string, no end \"");
cfg_parser->line++; BEGIN(INITIAL); }
YY_BREAK
-case 335:
+case 337:
YY_RULE_SETUP
-#line 568 "./util/configlexer.lex"
+#line 570 "./util/configlexer.lex"
{
LEXOUT(("QE "));
if(--num_args == 0) { BEGIN(INITIAL); }
}
YY_BREAK
/* Single Quoted strings. Strip leading and ending quotes */
-case 336:
+case 338:
YY_RULE_SETUP
-#line 580 "./util/configlexer.lex"
+#line 582 "./util/configlexer.lex"
{ BEGIN(singlequotedstr); LEXOUT(("SQS ")); }
YY_BREAK
case YY_STATE_EOF(singlequotedstr):
-#line 581 "./util/configlexer.lex"
+#line 583 "./util/configlexer.lex"
{
yyerror("EOF inside quoted string");
if(--num_args == 0) { BEGIN(INITIAL); }
else { BEGIN(val); }
}
YY_BREAK
-case 337:
+case 339:
YY_RULE_SETUP
-#line 586 "./util/configlexer.lex"
+#line 588 "./util/configlexer.lex"
{ LEXOUT(("STR(%s) ", yytext)); yymore(); }
YY_BREAK
-case 338:
-/* rule 338 can match eol */
+case 340:
+/* rule 340 can match eol */
YY_RULE_SETUP
-#line 587 "./util/configlexer.lex"
+#line 589 "./util/configlexer.lex"
{ yyerror("newline inside quoted string, no end '");
cfg_parser->line++; BEGIN(INITIAL); }
YY_BREAK
-case 339:
+case 341:
YY_RULE_SETUP
-#line 589 "./util/configlexer.lex"
+#line 591 "./util/configlexer.lex"
{
LEXOUT(("SQE "));
if(--num_args == 0) { BEGIN(INITIAL); }
}
YY_BREAK
/* include: directive */
-case 340:
+case 342:
YY_RULE_SETUP
-#line 601 "./util/configlexer.lex"
+#line 603 "./util/configlexer.lex"
{
LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); }
YY_BREAK
case YY_STATE_EOF(include):
-#line 603 "./util/configlexer.lex"
+#line 605 "./util/configlexer.lex"
{
yyerror("EOF inside include directive");
BEGIN(inc_prev);
}
YY_BREAK
-case 341:
+case 343:
YY_RULE_SETUP
-#line 607 "./util/configlexer.lex"
+#line 609 "./util/configlexer.lex"
{ LEXOUT(("ISP ")); /* ignore */ }
YY_BREAK
-case 342:
-/* rule 342 can match eol */
+case 344:
+/* rule 344 can match eol */
YY_RULE_SETUP
-#line 608 "./util/configlexer.lex"
+#line 610 "./util/configlexer.lex"
{ LEXOUT(("NL\n")); cfg_parser->line++;}
YY_BREAK
-case 343:
+case 345:
YY_RULE_SETUP
-#line 609 "./util/configlexer.lex"
+#line 611 "./util/configlexer.lex"
{ LEXOUT(("IQS ")); BEGIN(include_quoted); }
YY_BREAK
-case 344:
+case 346:
YY_RULE_SETUP
-#line 610 "./util/configlexer.lex"
+#line 612 "./util/configlexer.lex"
{
LEXOUT(("Iunquotedstr(%s) ", yytext));
config_start_include_glob(yytext, 0);
}
YY_BREAK
case YY_STATE_EOF(include_quoted):
-#line 615 "./util/configlexer.lex"
+#line 617 "./util/configlexer.lex"
{
yyerror("EOF inside quoted string");
BEGIN(inc_prev);
}
YY_BREAK
-case 345:
+case 347:
YY_RULE_SETUP
-#line 619 "./util/configlexer.lex"
+#line 621 "./util/configlexer.lex"
{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
YY_BREAK
-case 346:
-/* rule 346 can match eol */
+case 348:
+/* rule 348 can match eol */
YY_RULE_SETUP
-#line 620 "./util/configlexer.lex"
+#line 622 "./util/configlexer.lex"
{ yyerror("newline before \" in include name");
cfg_parser->line++; BEGIN(inc_prev); }
YY_BREAK
-case 347:
+case 349:
YY_RULE_SETUP
-#line 622 "./util/configlexer.lex"
+#line 624 "./util/configlexer.lex"
{
LEXOUT(("IQE "));
yytext[yyleng - 1] = '\0';
YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(val):
-#line 628 "./util/configlexer.lex"
+#line 630 "./util/configlexer.lex"
{
LEXOUT(("LEXEOF "));
yy_set_bol(1); /* Set beginning of line, so "^" rules match. */
}
YY_BREAK
/* include-toplevel: directive */
-case 348:
+case 350:
YY_RULE_SETUP
-#line 642 "./util/configlexer.lex"
+#line 644 "./util/configlexer.lex"
{
LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include_toplevel);
}
YY_BREAK
case YY_STATE_EOF(include_toplevel):
-#line 645 "./util/configlexer.lex"
+#line 647 "./util/configlexer.lex"
{
yyerror("EOF inside include_toplevel directive");
BEGIN(inc_prev);
}
YY_BREAK
-case 349:
+case 351:
YY_RULE_SETUP
-#line 649 "./util/configlexer.lex"
+#line 651 "./util/configlexer.lex"
{ LEXOUT(("ITSP ")); /* ignore */ }
YY_BREAK
-case 350:
-/* rule 350 can match eol */
+case 352:
+/* rule 352 can match eol */
YY_RULE_SETUP
-#line 650 "./util/configlexer.lex"
+#line 652 "./util/configlexer.lex"
{ LEXOUT(("NL\n")); cfg_parser->line++; }
YY_BREAK
-case 351:
+case 353:
YY_RULE_SETUP
-#line 651 "./util/configlexer.lex"
+#line 653 "./util/configlexer.lex"
{ LEXOUT(("ITQS ")); BEGIN(include_toplevel_quoted); }
YY_BREAK
-case 352:
+case 354:
YY_RULE_SETUP
-#line 652 "./util/configlexer.lex"
+#line 654 "./util/configlexer.lex"
{
LEXOUT(("ITunquotedstr(%s) ", yytext));
config_start_include_glob(yytext, 1);
}
YY_BREAK
case YY_STATE_EOF(include_toplevel_quoted):
-#line 658 "./util/configlexer.lex"
+#line 660 "./util/configlexer.lex"
{
yyerror("EOF inside quoted string");
BEGIN(inc_prev);
}
YY_BREAK
-case 353:
+case 355:
YY_RULE_SETUP
-#line 662 "./util/configlexer.lex"
+#line 664 "./util/configlexer.lex"
{ LEXOUT(("ITSTR(%s) ", yytext)); yymore(); }
YY_BREAK
-case 354:
-/* rule 354 can match eol */
+case 356:
+/* rule 356 can match eol */
YY_RULE_SETUP
-#line 663 "./util/configlexer.lex"
+#line 665 "./util/configlexer.lex"
{
yyerror("newline before \" in include name");
cfg_parser->line++; BEGIN(inc_prev);
}
YY_BREAK
-case 355:
+case 357:
YY_RULE_SETUP
-#line 667 "./util/configlexer.lex"
+#line 669 "./util/configlexer.lex"
{
LEXOUT(("ITQE "));
yytext[yyleng - 1] = '\0';
return (VAR_FORCE_TOPLEVEL);
}
YY_BREAK
-case 356:
+case 358:
YY_RULE_SETUP
-#line 675 "./util/configlexer.lex"
+#line 677 "./util/configlexer.lex"
{ LEXOUT(("unquotedstr(%s) ", yytext));
if(--num_args == 0) { BEGIN(INITIAL); }
yylval.str = strdup(yytext); return STRING_ARG; }
YY_BREAK
-case 357:
+case 359:
YY_RULE_SETUP
-#line 679 "./util/configlexer.lex"
+#line 681 "./util/configlexer.lex"
{
ub_c_error_msg("unknown keyword '%s'", yytext);
}
YY_BREAK
-case 358:
+case 360:
YY_RULE_SETUP
-#line 683 "./util/configlexer.lex"
+#line 685 "./util/configlexer.lex"
{
ub_c_error_msg("stray '%s'", yytext);
}
YY_BREAK
-case 359:
+case 361:
YY_RULE_SETUP
-#line 687 "./util/configlexer.lex"
+#line 689 "./util/configlexer.lex"
ECHO;
YY_BREAK
-#line 5580 "<stdout>"
+#line 5599 "<stdout>"
case YY_END_OF_BUFFER:
{
{
(yy_did_buffer_switch_on_eof) = 0;
- if ( yywrap( ) )
+ if ( yywrap( ) )
{
/* Note: because we've taken care in
* yy_get_next_buffer() to have set up
"fatal flex scanner internal error--no action found" );
} /* end of action switch */
} /* end of scanning one token */
- } /* end of user's declarations */
} /* end of yylex */
/* yy_get_next_buffer - try to read in a new buffer
*/
static int yy_get_next_buffer (void)
{
- char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
- char *source = (yytext_ptr);
- int number_to_move, i;
+ register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+ register char *source = (yytext_ptr);
+ register int number_to_move, i;
int ret_val;
if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
/* Try to read more data. */
/* First move last chars to start of buffer. */
- number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
+ number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
else
{
- int num_to_read =
+ yy_size_t num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
{ /* Not enough room in the buffer - grow it. */
/* just a shorter name for the current buffer */
- YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
+ YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
int yy_c_buf_p_offset =
(int) ((yy_c_buf_p) - b->yy_ch_buf);
if ( b->yy_is_our_buffer )
{
- int new_size = b->yy_buf_size * 2;
+ yy_size_t new_size = b->yy_buf_size * 2;
if ( new_size <= 0 )
b->yy_buf_size += b->yy_buf_size / 8;
b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */
- yyrealloc( (void *) b->yy_ch_buf,
- (yy_size_t) (b->yy_buf_size + 2) );
+ yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
}
else
/* Can't grow it, we don't own it. */
- b->yy_ch_buf = NULL;
+ b->yy_ch_buf = 0;
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR(
if ( number_to_move == YY_MORE_ADJ )
{
ret_val = EOB_ACT_END_OF_FILE;
- yyrestart( yyin );
+ yyrestart(yyin );
}
else
else
ret_val = EOB_ACT_CONTINUE_SCAN;
- if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
/* Extend the array by 50%, plus the number we really need. */
- int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
- YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
- (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
+ yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
- /* "- 2" to take care of EOB's */
- YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
}
(yy_n_chars) += number_to_move;
static yy_state_type yy_get_previous_state (void)
{
- yy_state_type yy_current_state;
- char *yy_cp;
+ register yy_state_type yy_current_state;
+ register char *yy_cp;
yy_current_state = (yy_start);
for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
{
- YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 3565 )
- yy_c = yy_meta[yy_c];
+ if ( yy_current_state >= 3582 )
+ yy_c = yy_meta[(unsigned int) yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
}
return yy_current_state;
*/
static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
{
- int yy_is_jam;
- char *yy_cp = (yy_c_buf_p);
+ register int yy_is_jam;
+ register char *yy_cp = (yy_c_buf_p);
- YY_CHAR yy_c = 1;
+ register YY_CHAR yy_c = 1;
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 3565 )
- yy_c = yy_meta[yy_c];
+ if ( yy_current_state >= 3582 )
+ yy_c = yy_meta[(unsigned int) yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 3564);
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_is_jam = (yy_current_state == 3581);
- return yy_is_jam ? 0 : yy_current_state;
+ return yy_is_jam ? 0 : yy_current_state;
}
-#ifndef YY_NO_UNPUT
-
-#endif
-
#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput (void)
else
{ /* need more input */
- int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
+ yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
++(yy_c_buf_p);
switch ( yy_get_next_buffer( ) )
*/
/* Reset buffer status. */
- yyrestart( yyin );
+ yyrestart(yyin );
/*FALLTHROUGH*/
case EOB_ACT_END_OF_FILE:
{
- if ( yywrap( ) )
+ if ( yywrap( ) )
return 0;
if ( ! (yy_did_buffer_switch_on_eof) )
if ( ! YY_CURRENT_BUFFER ){
yyensure_buffer_stack ();
YY_CURRENT_BUFFER_LVALUE =
- yy_create_buffer( yyin, YY_BUF_SIZE );
+ yy_create_buffer(yyin,YY_BUF_SIZE );
}
- yy_init_buffer( YY_CURRENT_BUFFER, input_file );
- yy_load_buffer_state( );
+ yy_init_buffer(YY_CURRENT_BUFFER,input_file );
+ yy_load_buffer_state( );
}
/** Switch to a different input buffer.
}
YY_CURRENT_BUFFER_LVALUE = new_buffer;
- yy_load_buffer_state( );
+ yy_load_buffer_state( );
/* We don't actually know whether we did this switch during
* EOF (yywrap()) processing, but the only time this flag
{
YY_BUFFER_STATE b;
- b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
+ b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
/* yy_ch_buf has to be 2 characters longer than the size given because
* we need to put in 2 end-of-buffer characters.
*/
- b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
+ b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
b->yy_is_our_buffer = 1;
- yy_init_buffer( b, file );
+ yy_init_buffer(b,file );
return b;
}
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
if ( b->yy_is_our_buffer )
- yyfree( (void *) b->yy_ch_buf );
+ yyfree((void *) b->yy_ch_buf );
- yyfree( (void *) b );
+ yyfree((void *) b );
}
+#ifndef __cplusplus
+extern int isatty (int );
+#endif /* __cplusplus */
+
/* Initializes or reinitializes a buffer.
* This function is sometimes called more than once on the same buffer,
* such as during a yyrestart() or at EOF.
{
int oerrno = errno;
- yy_flush_buffer( b );
+ yy_flush_buffer(b );
b->yy_input_file = file;
b->yy_fill_buffer = 1;
b->yy_buffer_status = YY_BUFFER_NEW;
if ( b == YY_CURRENT_BUFFER )
- yy_load_buffer_state( );
+ yy_load_buffer_state( );
}
/** Pushes the new state onto the stack. The new state becomes
YY_CURRENT_BUFFER_LVALUE = new_buffer;
/* copied from yy_switch_to_buffer. */
- yy_load_buffer_state( );
+ yy_load_buffer_state( );
(yy_did_buffer_switch_on_eof) = 1;
}
--(yy_buffer_stack_top);
if (YY_CURRENT_BUFFER) {
- yy_load_buffer_state( );
+ yy_load_buffer_state( );
(yy_did_buffer_switch_on_eof) = 1;
}
}
* scanner will even need a stack. We use 2 instead of 1 to avoid an
* immediate realloc on the next call.
*/
- num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
+ num_to_alloc = 1;
(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
(num_to_alloc * sizeof(struct yy_buffer_state*)
);
if ( ! (yy_buffer_stack) )
YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
+
memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-
+
(yy_buffer_stack_max) = num_to_alloc;
(yy_buffer_stack_top) = 0;
return;
if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
/* Increase the buffer to prepare for a possible push. */
- yy_size_t grow_size = 8 /* arbitrary grow size */;
+ int grow_size = 8 /* arbitrary grow size */;
num_to_alloc = (yy_buffer_stack_max) + grow_size;
(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
* @param base the character buffer
* @param size the size in bytes of the character buffer
*
- * @return the newly allocated buffer state object.
+ * @return the newly allocated buffer state object.
*/
YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
{
base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR )
/* They forgot to leave room for the EOB's. */
- return NULL;
+ return 0;
- b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
+ b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
- b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
+ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
b->yy_buf_pos = b->yy_ch_buf = base;
b->yy_is_our_buffer = 0;
- b->yy_input_file = NULL;
+ b->yy_input_file = 0;
b->yy_n_chars = b->yy_buf_size;
b->yy_is_interactive = 0;
b->yy_at_bol = 1;
b->yy_fill_buffer = 0;
b->yy_buffer_status = YY_BUFFER_NEW;
- yy_switch_to_buffer( b );
+ yy_switch_to_buffer(b );
return b;
}
* @note If you want to scan bytes that may contain NUL values, then use
* yy_scan_bytes() instead.
*/
-YY_BUFFER_STATE yy_scan_string (const char * yystr )
+YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
{
- return yy_scan_bytes( yystr, (int) strlen(yystr) );
+ return yy_scan_bytes(yystr,strlen(yystr) );
}
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
* scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
*
* @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
+YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
{
YY_BUFFER_STATE b;
char *buf;
- yy_size_t n;
- int i;
+ yy_size_t n, i;
/* Get memory for full buffer, including space for trailing EOB's. */
- n = (yy_size_t) (_yybytes_len + 2);
- buf = (char *) yyalloc( n );
+ n = _yybytes_len + 2;
+ buf = (char *) yyalloc(n );
if ( ! buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
- b = yy_scan_buffer( buf, n );
+ b = yy_scan_buffer(buf,n );
if ( ! b )
YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
#define YY_EXIT_FAILURE 2
#endif
-static void yynoreturn yy_fatal_error (const char* msg )
+static void yy_fatal_error (yyconst char* msg )
{
- fprintf( stderr, "%s\n", msg );
+ (void) fprintf( stderr, "%s\n", msg );
exit( YY_EXIT_FAILURE );
}
*/
int yyget_lineno (void)
{
-
+
return yylineno;
}
/** Get the length of the current token.
*
*/
-int yyget_leng (void)
+yy_size_t yyget_leng (void)
{
return yyleng;
}
}
/** Set the current line number.
- * @param _line_number line number
+ * @param line_number
*
*/
-void yyset_lineno (int _line_number )
+void yyset_lineno (int line_number )
{
- yylineno = _line_number;
+ yylineno = line_number;
}
/** Set the input stream. This does not discard the current
* input buffer.
- * @param _in_str A readable stream.
+ * @param in_str A readable stream.
*
* @see yy_switch_to_buffer
*/
-void yyset_in (FILE * _in_str )
+void yyset_in (FILE * in_str )
{
- yyin = _in_str ;
+ yyin = in_str ;
}
-void yyset_out (FILE * _out_str )
+void yyset_out (FILE * out_str )
{
- yyout = _out_str ;
+ yyout = out_str ;
}
int yyget_debug (void)
return yy_flex_debug;
}
-void yyset_debug (int _bdebug )
+void yyset_debug (int bdebug )
{
- yy_flex_debug = _bdebug ;
+ yy_flex_debug = bdebug ;
}
static int yy_init_globals (void)
* This function is called from yylex_destroy(), so don't allocate here.
*/
- (yy_buffer_stack) = NULL;
+ (yy_buffer_stack) = 0;
(yy_buffer_stack_top) = 0;
(yy_buffer_stack_max) = 0;
- (yy_c_buf_p) = NULL;
+ (yy_c_buf_p) = (char *) 0;
(yy_init) = 0;
(yy_start) = 0;
yyin = stdin;
yyout = stdout;
#else
- yyin = NULL;
- yyout = NULL;
+ yyin = (FILE *) 0;
+ yyout = (FILE *) 0;
#endif
/* For future reference: Set errno on error, since we are called by
/* Pop the buffer stack, destroying each element. */
while(YY_CURRENT_BUFFER){
- yy_delete_buffer( YY_CURRENT_BUFFER );
+ yy_delete_buffer(YY_CURRENT_BUFFER );
YY_CURRENT_BUFFER_LVALUE = NULL;
yypop_buffer_state();
}
*/
#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, const char * s2, int n )
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
{
-
- int i;
+ register int i;
for ( i = 0; i < n; ++i )
s1[i] = s2[i];
}
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (const char * s )
+static int yy_flex_strlen (yyconst char * s )
{
- int n;
+ register int n;
for ( n = 0; s[n]; ++n )
;
void *yyalloc (yy_size_t size )
{
- return malloc(size);
+ return (void *) malloc( size );
}
void *yyrealloc (void * ptr, yy_size_t size )
{
-
/* The cast to (char *) in the following accommodates both
* implementations that use char* generic pointers, and those
* that use void* generic pointers. It works with the latter
* any pointer type to void*, and deal with argument conversions
* as though doing an assignment.
*/
- return realloc(ptr, size);
+ return (void *) realloc( (char *) ptr, size );
}
void yyfree (void * ptr )
{
- free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
+ free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
}
#define YYTABLES_NAME "yytables"
-#line 687 "./util/configlexer.lex"
+#line 689 "./util/configlexer.lex"
+
serve-expired-ttl-reset{COLON} { YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) }
serve-expired-reply-ttl{COLON} { YDVAR(1, VAR_SERVE_EXPIRED_REPLY_TTL) }
serve-expired-client-timeout{COLON} { YDVAR(1, VAR_SERVE_EXPIRED_CLIENT_TIMEOUT) }
+ede-serve-expired{COLON} { YDVAR(1, VAR_EDE_SERVE_EXPIRED) }
serve-original-ttl{COLON} { YDVAR(1, VAR_SERVE_ORIGINAL_TTL) }
fake-dsa{COLON} { YDVAR(1, VAR_FAKE_DSA) }
fake-sha1{COLON} { YDVAR(1, VAR_FAKE_SHA1) }
edns-client-string{COLON} { YDVAR(2, VAR_EDNS_CLIENT_STRING) }
edns-client-string-opcode{COLON} { YDVAR(1, VAR_EDNS_CLIENT_STRING_OPCODE) }
nsid{COLON} { YDVAR(1, VAR_NSID ) }
+ede{COLON} { YDVAR(1, VAR_EDE ) }
<INITIAL,val>{NEWLINE} { LEXOUT(("NL\n")); cfg_parser->line++; }
/* Quoted strings. Strip leading and ending quotes */
-/* A Bison parser, made by GNU Bison 3.7.6. */
+/* A Bison parser, made by GNU Bison 2.3. */
-/* Bison implementation for Yacc-like parsers in C
+/* Skeleton implementation for Bison's Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
- Inc.
+ 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
+ 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.
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
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 <https://www.gnu.org/licenses/>. */
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
/* C LALR(1) parser skeleton written by Richard Stallman, by
simplifying the original so-called "semantic" parser. */
-/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
- especially those whose name start with YY_ or yy_. They are
- private implementation details that can be changed or removed. */
-
/* 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.
define necessary library symbols; they are noted "INFRINGES ON
USER NAME SPACE" below. */
-/* Identify Bison output, and Bison version. */
-#define YYBISON 30706
+/* Identify Bison output. */
+#define YYBISON 1
-/* Bison version string. */
-#define YYBISON_VERSION "3.7.6"
+/* Bison version. */
+#define YYBISON_VERSION "2.3"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
/* Pure parsers. */
#define YYPURE 0
-/* Push parsers. */
-#define YYPUSH 0
-
-/* Pull parsers. */
-#define YYPULL 1
-
-
-
-
-/* First part of user prologue. */
+/* Using locations. */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ SPACE = 258,
+ LETTER = 259,
+ NEWLINE = 260,
+ COMMENT = 261,
+ COLON = 262,
+ ANY = 263,
+ ZONESTR = 264,
+ STRING_ARG = 265,
+ VAR_FORCE_TOPLEVEL = 266,
+ VAR_SERVER = 267,
+ VAR_VERBOSITY = 268,
+ VAR_NUM_THREADS = 269,
+ VAR_PORT = 270,
+ VAR_OUTGOING_RANGE = 271,
+ VAR_INTERFACE = 272,
+ VAR_PREFER_IP4 = 273,
+ VAR_DO_IP4 = 274,
+ VAR_DO_IP6 = 275,
+ VAR_PREFER_IP6 = 276,
+ VAR_DO_UDP = 277,
+ VAR_DO_TCP = 278,
+ VAR_TCP_MSS = 279,
+ VAR_OUTGOING_TCP_MSS = 280,
+ VAR_TCP_IDLE_TIMEOUT = 281,
+ VAR_EDNS_TCP_KEEPALIVE = 282,
+ VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 283,
+ VAR_CHROOT = 284,
+ VAR_USERNAME = 285,
+ VAR_DIRECTORY = 286,
+ VAR_LOGFILE = 287,
+ VAR_PIDFILE = 288,
+ VAR_MSG_CACHE_SIZE = 289,
+ VAR_MSG_CACHE_SLABS = 290,
+ VAR_NUM_QUERIES_PER_THREAD = 291,
+ VAR_RRSET_CACHE_SIZE = 292,
+ VAR_RRSET_CACHE_SLABS = 293,
+ VAR_OUTGOING_NUM_TCP = 294,
+ VAR_INFRA_HOST_TTL = 295,
+ VAR_INFRA_LAME_TTL = 296,
+ VAR_INFRA_CACHE_SLABS = 297,
+ VAR_INFRA_CACHE_NUMHOSTS = 298,
+ VAR_INFRA_CACHE_LAME_SIZE = 299,
+ VAR_NAME = 300,
+ VAR_STUB_ZONE = 301,
+ VAR_STUB_HOST = 302,
+ VAR_STUB_ADDR = 303,
+ VAR_TARGET_FETCH_POLICY = 304,
+ VAR_HARDEN_SHORT_BUFSIZE = 305,
+ VAR_HARDEN_LARGE_QUERIES = 306,
+ VAR_FORWARD_ZONE = 307,
+ VAR_FORWARD_HOST = 308,
+ VAR_FORWARD_ADDR = 309,
+ VAR_DO_NOT_QUERY_ADDRESS = 310,
+ VAR_HIDE_IDENTITY = 311,
+ VAR_HIDE_VERSION = 312,
+ VAR_IDENTITY = 313,
+ VAR_VERSION = 314,
+ VAR_HARDEN_GLUE = 315,
+ VAR_MODULE_CONF = 316,
+ VAR_TRUST_ANCHOR_FILE = 317,
+ VAR_TRUST_ANCHOR = 318,
+ VAR_VAL_OVERRIDE_DATE = 319,
+ VAR_BOGUS_TTL = 320,
+ VAR_VAL_CLEAN_ADDITIONAL = 321,
+ VAR_VAL_PERMISSIVE_MODE = 322,
+ VAR_INCOMING_NUM_TCP = 323,
+ VAR_MSG_BUFFER_SIZE = 324,
+ VAR_KEY_CACHE_SIZE = 325,
+ VAR_KEY_CACHE_SLABS = 326,
+ VAR_TRUSTED_KEYS_FILE = 327,
+ VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 328,
+ VAR_USE_SYSLOG = 329,
+ VAR_OUTGOING_INTERFACE = 330,
+ VAR_ROOT_HINTS = 331,
+ VAR_DO_NOT_QUERY_LOCALHOST = 332,
+ VAR_CACHE_MAX_TTL = 333,
+ VAR_HARDEN_DNSSEC_STRIPPED = 334,
+ VAR_ACCESS_CONTROL = 335,
+ VAR_LOCAL_ZONE = 336,
+ VAR_LOCAL_DATA = 337,
+ VAR_INTERFACE_AUTOMATIC = 338,
+ VAR_STATISTICS_INTERVAL = 339,
+ VAR_DO_DAEMONIZE = 340,
+ VAR_USE_CAPS_FOR_ID = 341,
+ VAR_STATISTICS_CUMULATIVE = 342,
+ VAR_OUTGOING_PORT_PERMIT = 343,
+ VAR_OUTGOING_PORT_AVOID = 344,
+ VAR_DLV_ANCHOR_FILE = 345,
+ VAR_DLV_ANCHOR = 346,
+ VAR_NEG_CACHE_SIZE = 347,
+ VAR_HARDEN_REFERRAL_PATH = 348,
+ VAR_PRIVATE_ADDRESS = 349,
+ VAR_PRIVATE_DOMAIN = 350,
+ VAR_REMOTE_CONTROL = 351,
+ VAR_CONTROL_ENABLE = 352,
+ VAR_CONTROL_INTERFACE = 353,
+ VAR_CONTROL_PORT = 354,
+ VAR_SERVER_KEY_FILE = 355,
+ VAR_SERVER_CERT_FILE = 356,
+ VAR_CONTROL_KEY_FILE = 357,
+ VAR_CONTROL_CERT_FILE = 358,
+ VAR_CONTROL_USE_CERT = 359,
+ VAR_TCP_REUSE_TIMEOUT = 360,
+ VAR_MAX_REUSE_TCP_QUERIES = 361,
+ VAR_EXTENDED_STATISTICS = 362,
+ VAR_LOCAL_DATA_PTR = 363,
+ VAR_JOSTLE_TIMEOUT = 364,
+ VAR_STUB_PRIME = 365,
+ VAR_UNWANTED_REPLY_THRESHOLD = 366,
+ VAR_LOG_TIME_ASCII = 367,
+ VAR_DOMAIN_INSECURE = 368,
+ VAR_PYTHON = 369,
+ VAR_PYTHON_SCRIPT = 370,
+ VAR_VAL_SIG_SKEW_MIN = 371,
+ VAR_VAL_SIG_SKEW_MAX = 372,
+ VAR_VAL_MAX_RESTART = 373,
+ VAR_CACHE_MIN_TTL = 374,
+ VAR_VAL_LOG_LEVEL = 375,
+ VAR_AUTO_TRUST_ANCHOR_FILE = 376,
+ VAR_KEEP_MISSING = 377,
+ VAR_ADD_HOLDDOWN = 378,
+ VAR_DEL_HOLDDOWN = 379,
+ VAR_SO_RCVBUF = 380,
+ VAR_EDNS_BUFFER_SIZE = 381,
+ VAR_PREFETCH = 382,
+ VAR_PREFETCH_KEY = 383,
+ VAR_SO_SNDBUF = 384,
+ VAR_SO_REUSEPORT = 385,
+ VAR_HARDEN_BELOW_NXDOMAIN = 386,
+ VAR_IGNORE_CD_FLAG = 387,
+ VAR_LOG_QUERIES = 388,
+ VAR_LOG_REPLIES = 389,
+ VAR_LOG_LOCAL_ACTIONS = 390,
+ VAR_TCP_UPSTREAM = 391,
+ VAR_SSL_UPSTREAM = 392,
+ VAR_TCP_AUTH_QUERY_TIMEOUT = 393,
+ VAR_SSL_SERVICE_KEY = 394,
+ VAR_SSL_SERVICE_PEM = 395,
+ VAR_SSL_PORT = 396,
+ VAR_FORWARD_FIRST = 397,
+ VAR_STUB_SSL_UPSTREAM = 398,
+ VAR_FORWARD_SSL_UPSTREAM = 399,
+ VAR_TLS_CERT_BUNDLE = 400,
+ VAR_STUB_TCP_UPSTREAM = 401,
+ VAR_FORWARD_TCP_UPSTREAM = 402,
+ VAR_HTTPS_PORT = 403,
+ VAR_HTTP_ENDPOINT = 404,
+ VAR_HTTP_MAX_STREAMS = 405,
+ VAR_HTTP_QUERY_BUFFER_SIZE = 406,
+ VAR_HTTP_RESPONSE_BUFFER_SIZE = 407,
+ VAR_HTTP_NODELAY = 408,
+ VAR_HTTP_NOTLS_DOWNSTREAM = 409,
+ VAR_STUB_FIRST = 410,
+ VAR_MINIMAL_RESPONSES = 411,
+ VAR_RRSET_ROUNDROBIN = 412,
+ VAR_MAX_UDP_SIZE = 413,
+ VAR_DELAY_CLOSE = 414,
+ VAR_UDP_CONNECT = 415,
+ VAR_UNBLOCK_LAN_ZONES = 416,
+ VAR_INSECURE_LAN_ZONES = 417,
+ VAR_INFRA_CACHE_MIN_RTT = 418,
+ VAR_INFRA_KEEP_PROBING = 419,
+ VAR_DNS64_PREFIX = 420,
+ VAR_DNS64_SYNTHALL = 421,
+ VAR_DNS64_IGNORE_AAAA = 422,
+ VAR_DNSTAP = 423,
+ VAR_DNSTAP_ENABLE = 424,
+ VAR_DNSTAP_SOCKET_PATH = 425,
+ VAR_DNSTAP_IP = 426,
+ VAR_DNSTAP_TLS = 427,
+ VAR_DNSTAP_TLS_SERVER_NAME = 428,
+ VAR_DNSTAP_TLS_CERT_BUNDLE = 429,
+ VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 430,
+ VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 431,
+ VAR_DNSTAP_SEND_IDENTITY = 432,
+ VAR_DNSTAP_SEND_VERSION = 433,
+ VAR_DNSTAP_BIDIRECTIONAL = 434,
+ VAR_DNSTAP_IDENTITY = 435,
+ VAR_DNSTAP_VERSION = 436,
+ VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 437,
+ VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 438,
+ VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 439,
+ VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 440,
+ VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 441,
+ VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 442,
+ VAR_RESPONSE_IP_TAG = 443,
+ VAR_RESPONSE_IP = 444,
+ VAR_RESPONSE_IP_DATA = 445,
+ VAR_HARDEN_ALGO_DOWNGRADE = 446,
+ VAR_IP_TRANSPARENT = 447,
+ VAR_IP_DSCP = 448,
+ VAR_DISABLE_DNSSEC_LAME_CHECK = 449,
+ VAR_IP_RATELIMIT = 450,
+ VAR_IP_RATELIMIT_SLABS = 451,
+ VAR_IP_RATELIMIT_SIZE = 452,
+ VAR_RATELIMIT = 453,
+ VAR_RATELIMIT_SLABS = 454,
+ VAR_RATELIMIT_SIZE = 455,
+ VAR_OUTBOUND_MSG_RETRY = 456,
+ VAR_RATELIMIT_FOR_DOMAIN = 457,
+ VAR_RATELIMIT_BELOW_DOMAIN = 458,
+ VAR_IP_RATELIMIT_FACTOR = 459,
+ VAR_RATELIMIT_FACTOR = 460,
+ VAR_IP_RATELIMIT_BACKOFF = 461,
+ VAR_RATELIMIT_BACKOFF = 462,
+ VAR_SEND_CLIENT_SUBNET = 463,
+ VAR_CLIENT_SUBNET_ZONE = 464,
+ VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 465,
+ VAR_CLIENT_SUBNET_OPCODE = 466,
+ VAR_MAX_CLIENT_SUBNET_IPV4 = 467,
+ VAR_MAX_CLIENT_SUBNET_IPV6 = 468,
+ VAR_MIN_CLIENT_SUBNET_IPV4 = 469,
+ VAR_MIN_CLIENT_SUBNET_IPV6 = 470,
+ VAR_MAX_ECS_TREE_SIZE_IPV4 = 471,
+ VAR_MAX_ECS_TREE_SIZE_IPV6 = 472,
+ VAR_CAPS_WHITELIST = 473,
+ VAR_CACHE_MAX_NEGATIVE_TTL = 474,
+ VAR_PERMIT_SMALL_HOLDDOWN = 475,
+ VAR_QNAME_MINIMISATION = 476,
+ VAR_QNAME_MINIMISATION_STRICT = 477,
+ VAR_IP_FREEBIND = 478,
+ VAR_DEFINE_TAG = 479,
+ VAR_LOCAL_ZONE_TAG = 480,
+ VAR_ACCESS_CONTROL_TAG = 481,
+ VAR_LOCAL_ZONE_OVERRIDE = 482,
+ VAR_ACCESS_CONTROL_TAG_ACTION = 483,
+ VAR_ACCESS_CONTROL_TAG_DATA = 484,
+ VAR_VIEW = 485,
+ VAR_ACCESS_CONTROL_VIEW = 486,
+ VAR_VIEW_FIRST = 487,
+ VAR_SERVE_EXPIRED = 488,
+ VAR_SERVE_EXPIRED_TTL = 489,
+ VAR_SERVE_EXPIRED_TTL_RESET = 490,
+ VAR_SERVE_EXPIRED_REPLY_TTL = 491,
+ VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 492,
+ VAR_EDE_SERVE_EXPIRED = 493,
+ VAR_SERVE_ORIGINAL_TTL = 494,
+ VAR_FAKE_DSA = 495,
+ VAR_FAKE_SHA1 = 496,
+ VAR_LOG_IDENTITY = 497,
+ VAR_HIDE_TRUSTANCHOR = 498,
+ VAR_HIDE_HTTP_USER_AGENT = 499,
+ VAR_HTTP_USER_AGENT = 500,
+ VAR_TRUST_ANCHOR_SIGNALING = 501,
+ VAR_AGGRESSIVE_NSEC = 502,
+ VAR_USE_SYSTEMD = 503,
+ VAR_SHM_ENABLE = 504,
+ VAR_SHM_KEY = 505,
+ VAR_ROOT_KEY_SENTINEL = 506,
+ VAR_DNSCRYPT = 507,
+ VAR_DNSCRYPT_ENABLE = 508,
+ VAR_DNSCRYPT_PORT = 509,
+ VAR_DNSCRYPT_PROVIDER = 510,
+ VAR_DNSCRYPT_SECRET_KEY = 511,
+ VAR_DNSCRYPT_PROVIDER_CERT = 512,
+ VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 513,
+ VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 514,
+ VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 515,
+ VAR_DNSCRYPT_NONCE_CACHE_SIZE = 516,
+ VAR_DNSCRYPT_NONCE_CACHE_SLABS = 517,
+ VAR_PAD_RESPONSES = 518,
+ VAR_PAD_RESPONSES_BLOCK_SIZE = 519,
+ VAR_PAD_QUERIES = 520,
+ VAR_PAD_QUERIES_BLOCK_SIZE = 521,
+ VAR_IPSECMOD_ENABLED = 522,
+ VAR_IPSECMOD_HOOK = 523,
+ VAR_IPSECMOD_IGNORE_BOGUS = 524,
+ VAR_IPSECMOD_MAX_TTL = 525,
+ VAR_IPSECMOD_WHITELIST = 526,
+ VAR_IPSECMOD_STRICT = 527,
+ VAR_CACHEDB = 528,
+ VAR_CACHEDB_BACKEND = 529,
+ VAR_CACHEDB_SECRETSEED = 530,
+ VAR_CACHEDB_REDISHOST = 531,
+ VAR_CACHEDB_REDISPORT = 532,
+ VAR_CACHEDB_REDISTIMEOUT = 533,
+ VAR_CACHEDB_REDISEXPIRERECORDS = 534,
+ VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 535,
+ VAR_FOR_UPSTREAM = 536,
+ VAR_AUTH_ZONE = 537,
+ VAR_ZONEFILE = 538,
+ VAR_MASTER = 539,
+ VAR_URL = 540,
+ VAR_FOR_DOWNSTREAM = 541,
+ VAR_FALLBACK_ENABLED = 542,
+ VAR_TLS_ADDITIONAL_PORT = 543,
+ VAR_LOW_RTT = 544,
+ VAR_LOW_RTT_PERMIL = 545,
+ VAR_FAST_SERVER_PERMIL = 546,
+ VAR_FAST_SERVER_NUM = 547,
+ VAR_ALLOW_NOTIFY = 548,
+ VAR_TLS_WIN_CERT = 549,
+ VAR_TCP_CONNECTION_LIMIT = 550,
+ VAR_FORWARD_NO_CACHE = 551,
+ VAR_STUB_NO_CACHE = 552,
+ VAR_LOG_SERVFAIL = 553,
+ VAR_DENY_ANY = 554,
+ VAR_UNKNOWN_SERVER_TIME_LIMIT = 555,
+ VAR_LOG_TAG_QUERYREPLY = 556,
+ VAR_STREAM_WAIT_SIZE = 557,
+ VAR_TLS_CIPHERS = 558,
+ VAR_TLS_CIPHERSUITES = 559,
+ VAR_TLS_USE_SNI = 560,
+ VAR_IPSET = 561,
+ VAR_IPSET_NAME_V4 = 562,
+ VAR_IPSET_NAME_V6 = 563,
+ VAR_TLS_SESSION_TICKET_KEYS = 564,
+ VAR_RPZ = 565,
+ VAR_TAGS = 566,
+ VAR_RPZ_ACTION_OVERRIDE = 567,
+ VAR_RPZ_CNAME_OVERRIDE = 568,
+ VAR_RPZ_LOG = 569,
+ VAR_RPZ_LOG_NAME = 570,
+ VAR_DYNLIB = 571,
+ VAR_DYNLIB_FILE = 572,
+ VAR_EDNS_CLIENT_STRING = 573,
+ VAR_EDNS_CLIENT_STRING_OPCODE = 574,
+ VAR_NSID = 575,
+ VAR_ZONEMD_PERMISSIVE_MODE = 576,
+ VAR_ZONEMD_CHECK = 577,
+ VAR_ZONEMD_REJECT_ABSENCE = 578,
+ VAR_RPZ_SIGNAL_NXDOMAIN_RA = 579,
+ VAR_INTERFACE_AUTOMATIC_PORTS = 580,
+ VAR_EDE = 581
+ };
+#endif
+/* Tokens. */
+#define SPACE 258
+#define LETTER 259
+#define NEWLINE 260
+#define COMMENT 261
+#define COLON 262
+#define ANY 263
+#define ZONESTR 264
+#define STRING_ARG 265
+#define VAR_FORCE_TOPLEVEL 266
+#define VAR_SERVER 267
+#define VAR_VERBOSITY 268
+#define VAR_NUM_THREADS 269
+#define VAR_PORT 270
+#define VAR_OUTGOING_RANGE 271
+#define VAR_INTERFACE 272
+#define VAR_PREFER_IP4 273
+#define VAR_DO_IP4 274
+#define VAR_DO_IP6 275
+#define VAR_PREFER_IP6 276
+#define VAR_DO_UDP 277
+#define VAR_DO_TCP 278
+#define VAR_TCP_MSS 279
+#define VAR_OUTGOING_TCP_MSS 280
+#define VAR_TCP_IDLE_TIMEOUT 281
+#define VAR_EDNS_TCP_KEEPALIVE 282
+#define VAR_EDNS_TCP_KEEPALIVE_TIMEOUT 283
+#define VAR_CHROOT 284
+#define VAR_USERNAME 285
+#define VAR_DIRECTORY 286
+#define VAR_LOGFILE 287
+#define VAR_PIDFILE 288
+#define VAR_MSG_CACHE_SIZE 289
+#define VAR_MSG_CACHE_SLABS 290
+#define VAR_NUM_QUERIES_PER_THREAD 291
+#define VAR_RRSET_CACHE_SIZE 292
+#define VAR_RRSET_CACHE_SLABS 293
+#define VAR_OUTGOING_NUM_TCP 294
+#define VAR_INFRA_HOST_TTL 295
+#define VAR_INFRA_LAME_TTL 296
+#define VAR_INFRA_CACHE_SLABS 297
+#define VAR_INFRA_CACHE_NUMHOSTS 298
+#define VAR_INFRA_CACHE_LAME_SIZE 299
+#define VAR_NAME 300
+#define VAR_STUB_ZONE 301
+#define VAR_STUB_HOST 302
+#define VAR_STUB_ADDR 303
+#define VAR_TARGET_FETCH_POLICY 304
+#define VAR_HARDEN_SHORT_BUFSIZE 305
+#define VAR_HARDEN_LARGE_QUERIES 306
+#define VAR_FORWARD_ZONE 307
+#define VAR_FORWARD_HOST 308
+#define VAR_FORWARD_ADDR 309
+#define VAR_DO_NOT_QUERY_ADDRESS 310
+#define VAR_HIDE_IDENTITY 311
+#define VAR_HIDE_VERSION 312
+#define VAR_IDENTITY 313
+#define VAR_VERSION 314
+#define VAR_HARDEN_GLUE 315
+#define VAR_MODULE_CONF 316
+#define VAR_TRUST_ANCHOR_FILE 317
+#define VAR_TRUST_ANCHOR 318
+#define VAR_VAL_OVERRIDE_DATE 319
+#define VAR_BOGUS_TTL 320
+#define VAR_VAL_CLEAN_ADDITIONAL 321
+#define VAR_VAL_PERMISSIVE_MODE 322
+#define VAR_INCOMING_NUM_TCP 323
+#define VAR_MSG_BUFFER_SIZE 324
+#define VAR_KEY_CACHE_SIZE 325
+#define VAR_KEY_CACHE_SLABS 326
+#define VAR_TRUSTED_KEYS_FILE 327
+#define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 328
+#define VAR_USE_SYSLOG 329
+#define VAR_OUTGOING_INTERFACE 330
+#define VAR_ROOT_HINTS 331
+#define VAR_DO_NOT_QUERY_LOCALHOST 332
+#define VAR_CACHE_MAX_TTL 333
+#define VAR_HARDEN_DNSSEC_STRIPPED 334
+#define VAR_ACCESS_CONTROL 335
+#define VAR_LOCAL_ZONE 336
+#define VAR_LOCAL_DATA 337
+#define VAR_INTERFACE_AUTOMATIC 338
+#define VAR_STATISTICS_INTERVAL 339
+#define VAR_DO_DAEMONIZE 340
+#define VAR_USE_CAPS_FOR_ID 341
+#define VAR_STATISTICS_CUMULATIVE 342
+#define VAR_OUTGOING_PORT_PERMIT 343
+#define VAR_OUTGOING_PORT_AVOID 344
+#define VAR_DLV_ANCHOR_FILE 345
+#define VAR_DLV_ANCHOR 346
+#define VAR_NEG_CACHE_SIZE 347
+#define VAR_HARDEN_REFERRAL_PATH 348
+#define VAR_PRIVATE_ADDRESS 349
+#define VAR_PRIVATE_DOMAIN 350
+#define VAR_REMOTE_CONTROL 351
+#define VAR_CONTROL_ENABLE 352
+#define VAR_CONTROL_INTERFACE 353
+#define VAR_CONTROL_PORT 354
+#define VAR_SERVER_KEY_FILE 355
+#define VAR_SERVER_CERT_FILE 356
+#define VAR_CONTROL_KEY_FILE 357
+#define VAR_CONTROL_CERT_FILE 358
+#define VAR_CONTROL_USE_CERT 359
+#define VAR_TCP_REUSE_TIMEOUT 360
+#define VAR_MAX_REUSE_TCP_QUERIES 361
+#define VAR_EXTENDED_STATISTICS 362
+#define VAR_LOCAL_DATA_PTR 363
+#define VAR_JOSTLE_TIMEOUT 364
+#define VAR_STUB_PRIME 365
+#define VAR_UNWANTED_REPLY_THRESHOLD 366
+#define VAR_LOG_TIME_ASCII 367
+#define VAR_DOMAIN_INSECURE 368
+#define VAR_PYTHON 369
+#define VAR_PYTHON_SCRIPT 370
+#define VAR_VAL_SIG_SKEW_MIN 371
+#define VAR_VAL_SIG_SKEW_MAX 372
+#define VAR_VAL_MAX_RESTART 373
+#define VAR_CACHE_MIN_TTL 374
+#define VAR_VAL_LOG_LEVEL 375
+#define VAR_AUTO_TRUST_ANCHOR_FILE 376
+#define VAR_KEEP_MISSING 377
+#define VAR_ADD_HOLDDOWN 378
+#define VAR_DEL_HOLDDOWN 379
+#define VAR_SO_RCVBUF 380
+#define VAR_EDNS_BUFFER_SIZE 381
+#define VAR_PREFETCH 382
+#define VAR_PREFETCH_KEY 383
+#define VAR_SO_SNDBUF 384
+#define VAR_SO_REUSEPORT 385
+#define VAR_HARDEN_BELOW_NXDOMAIN 386
+#define VAR_IGNORE_CD_FLAG 387
+#define VAR_LOG_QUERIES 388
+#define VAR_LOG_REPLIES 389
+#define VAR_LOG_LOCAL_ACTIONS 390
+#define VAR_TCP_UPSTREAM 391
+#define VAR_SSL_UPSTREAM 392
+#define VAR_TCP_AUTH_QUERY_TIMEOUT 393
+#define VAR_SSL_SERVICE_KEY 394
+#define VAR_SSL_SERVICE_PEM 395
+#define VAR_SSL_PORT 396
+#define VAR_FORWARD_FIRST 397
+#define VAR_STUB_SSL_UPSTREAM 398
+#define VAR_FORWARD_SSL_UPSTREAM 399
+#define VAR_TLS_CERT_BUNDLE 400
+#define VAR_STUB_TCP_UPSTREAM 401
+#define VAR_FORWARD_TCP_UPSTREAM 402
+#define VAR_HTTPS_PORT 403
+#define VAR_HTTP_ENDPOINT 404
+#define VAR_HTTP_MAX_STREAMS 405
+#define VAR_HTTP_QUERY_BUFFER_SIZE 406
+#define VAR_HTTP_RESPONSE_BUFFER_SIZE 407
+#define VAR_HTTP_NODELAY 408
+#define VAR_HTTP_NOTLS_DOWNSTREAM 409
+#define VAR_STUB_FIRST 410
+#define VAR_MINIMAL_RESPONSES 411
+#define VAR_RRSET_ROUNDROBIN 412
+#define VAR_MAX_UDP_SIZE 413
+#define VAR_DELAY_CLOSE 414
+#define VAR_UDP_CONNECT 415
+#define VAR_UNBLOCK_LAN_ZONES 416
+#define VAR_INSECURE_LAN_ZONES 417
+#define VAR_INFRA_CACHE_MIN_RTT 418
+#define VAR_INFRA_KEEP_PROBING 419
+#define VAR_DNS64_PREFIX 420
+#define VAR_DNS64_SYNTHALL 421
+#define VAR_DNS64_IGNORE_AAAA 422
+#define VAR_DNSTAP 423
+#define VAR_DNSTAP_ENABLE 424
+#define VAR_DNSTAP_SOCKET_PATH 425
+#define VAR_DNSTAP_IP 426
+#define VAR_DNSTAP_TLS 427
+#define VAR_DNSTAP_TLS_SERVER_NAME 428
+#define VAR_DNSTAP_TLS_CERT_BUNDLE 429
+#define VAR_DNSTAP_TLS_CLIENT_KEY_FILE 430
+#define VAR_DNSTAP_TLS_CLIENT_CERT_FILE 431
+#define VAR_DNSTAP_SEND_IDENTITY 432
+#define VAR_DNSTAP_SEND_VERSION 433
+#define VAR_DNSTAP_BIDIRECTIONAL 434
+#define VAR_DNSTAP_IDENTITY 435
+#define VAR_DNSTAP_VERSION 436
+#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 437
+#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 438
+#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 439
+#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 440
+#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 441
+#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 442
+#define VAR_RESPONSE_IP_TAG 443
+#define VAR_RESPONSE_IP 444
+#define VAR_RESPONSE_IP_DATA 445
+#define VAR_HARDEN_ALGO_DOWNGRADE 446
+#define VAR_IP_TRANSPARENT 447
+#define VAR_IP_DSCP 448
+#define VAR_DISABLE_DNSSEC_LAME_CHECK 449
+#define VAR_IP_RATELIMIT 450
+#define VAR_IP_RATELIMIT_SLABS 451
+#define VAR_IP_RATELIMIT_SIZE 452
+#define VAR_RATELIMIT 453
+#define VAR_RATELIMIT_SLABS 454
+#define VAR_RATELIMIT_SIZE 455
+#define VAR_OUTBOUND_MSG_RETRY 456
+#define VAR_RATELIMIT_FOR_DOMAIN 457
+#define VAR_RATELIMIT_BELOW_DOMAIN 458
+#define VAR_IP_RATELIMIT_FACTOR 459
+#define VAR_RATELIMIT_FACTOR 460
+#define VAR_IP_RATELIMIT_BACKOFF 461
+#define VAR_RATELIMIT_BACKOFF 462
+#define VAR_SEND_CLIENT_SUBNET 463
+#define VAR_CLIENT_SUBNET_ZONE 464
+#define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 465
+#define VAR_CLIENT_SUBNET_OPCODE 466
+#define VAR_MAX_CLIENT_SUBNET_IPV4 467
+#define VAR_MAX_CLIENT_SUBNET_IPV6 468
+#define VAR_MIN_CLIENT_SUBNET_IPV4 469
+#define VAR_MIN_CLIENT_SUBNET_IPV6 470
+#define VAR_MAX_ECS_TREE_SIZE_IPV4 471
+#define VAR_MAX_ECS_TREE_SIZE_IPV6 472
+#define VAR_CAPS_WHITELIST 473
+#define VAR_CACHE_MAX_NEGATIVE_TTL 474
+#define VAR_PERMIT_SMALL_HOLDDOWN 475
+#define VAR_QNAME_MINIMISATION 476
+#define VAR_QNAME_MINIMISATION_STRICT 477
+#define VAR_IP_FREEBIND 478
+#define VAR_DEFINE_TAG 479
+#define VAR_LOCAL_ZONE_TAG 480
+#define VAR_ACCESS_CONTROL_TAG 481
+#define VAR_LOCAL_ZONE_OVERRIDE 482
+#define VAR_ACCESS_CONTROL_TAG_ACTION 483
+#define VAR_ACCESS_CONTROL_TAG_DATA 484
+#define VAR_VIEW 485
+#define VAR_ACCESS_CONTROL_VIEW 486
+#define VAR_VIEW_FIRST 487
+#define VAR_SERVE_EXPIRED 488
+#define VAR_SERVE_EXPIRED_TTL 489
+#define VAR_SERVE_EXPIRED_TTL_RESET 490
+#define VAR_SERVE_EXPIRED_REPLY_TTL 491
+#define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 492
+#define VAR_EDE_SERVE_EXPIRED 493
+#define VAR_SERVE_ORIGINAL_TTL 494
+#define VAR_FAKE_DSA 495
+#define VAR_FAKE_SHA1 496
+#define VAR_LOG_IDENTITY 497
+#define VAR_HIDE_TRUSTANCHOR 498
+#define VAR_HIDE_HTTP_USER_AGENT 499
+#define VAR_HTTP_USER_AGENT 500
+#define VAR_TRUST_ANCHOR_SIGNALING 501
+#define VAR_AGGRESSIVE_NSEC 502
+#define VAR_USE_SYSTEMD 503
+#define VAR_SHM_ENABLE 504
+#define VAR_SHM_KEY 505
+#define VAR_ROOT_KEY_SENTINEL 506
+#define VAR_DNSCRYPT 507
+#define VAR_DNSCRYPT_ENABLE 508
+#define VAR_DNSCRYPT_PORT 509
+#define VAR_DNSCRYPT_PROVIDER 510
+#define VAR_DNSCRYPT_SECRET_KEY 511
+#define VAR_DNSCRYPT_PROVIDER_CERT 512
+#define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 513
+#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 514
+#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 515
+#define VAR_DNSCRYPT_NONCE_CACHE_SIZE 516
+#define VAR_DNSCRYPT_NONCE_CACHE_SLABS 517
+#define VAR_PAD_RESPONSES 518
+#define VAR_PAD_RESPONSES_BLOCK_SIZE 519
+#define VAR_PAD_QUERIES 520
+#define VAR_PAD_QUERIES_BLOCK_SIZE 521
+#define VAR_IPSECMOD_ENABLED 522
+#define VAR_IPSECMOD_HOOK 523
+#define VAR_IPSECMOD_IGNORE_BOGUS 524
+#define VAR_IPSECMOD_MAX_TTL 525
+#define VAR_IPSECMOD_WHITELIST 526
+#define VAR_IPSECMOD_STRICT 527
+#define VAR_CACHEDB 528
+#define VAR_CACHEDB_BACKEND 529
+#define VAR_CACHEDB_SECRETSEED 530
+#define VAR_CACHEDB_REDISHOST 531
+#define VAR_CACHEDB_REDISPORT 532
+#define VAR_CACHEDB_REDISTIMEOUT 533
+#define VAR_CACHEDB_REDISEXPIRERECORDS 534
+#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 535
+#define VAR_FOR_UPSTREAM 536
+#define VAR_AUTH_ZONE 537
+#define VAR_ZONEFILE 538
+#define VAR_MASTER 539
+#define VAR_URL 540
+#define VAR_FOR_DOWNSTREAM 541
+#define VAR_FALLBACK_ENABLED 542
+#define VAR_TLS_ADDITIONAL_PORT 543
+#define VAR_LOW_RTT 544
+#define VAR_LOW_RTT_PERMIL 545
+#define VAR_FAST_SERVER_PERMIL 546
+#define VAR_FAST_SERVER_NUM 547
+#define VAR_ALLOW_NOTIFY 548
+#define VAR_TLS_WIN_CERT 549
+#define VAR_TCP_CONNECTION_LIMIT 550
+#define VAR_FORWARD_NO_CACHE 551
+#define VAR_STUB_NO_CACHE 552
+#define VAR_LOG_SERVFAIL 553
+#define VAR_DENY_ANY 554
+#define VAR_UNKNOWN_SERVER_TIME_LIMIT 555
+#define VAR_LOG_TAG_QUERYREPLY 556
+#define VAR_STREAM_WAIT_SIZE 557
+#define VAR_TLS_CIPHERS 558
+#define VAR_TLS_CIPHERSUITES 559
+#define VAR_TLS_USE_SNI 560
+#define VAR_IPSET 561
+#define VAR_IPSET_NAME_V4 562
+#define VAR_IPSET_NAME_V6 563
+#define VAR_TLS_SESSION_TICKET_KEYS 564
+#define VAR_RPZ 565
+#define VAR_TAGS 566
+#define VAR_RPZ_ACTION_OVERRIDE 567
+#define VAR_RPZ_CNAME_OVERRIDE 568
+#define VAR_RPZ_LOG 569
+#define VAR_RPZ_LOG_NAME 570
+#define VAR_DYNLIB 571
+#define VAR_DYNLIB_FILE 572
+#define VAR_EDNS_CLIENT_STRING 573
+#define VAR_EDNS_CLIENT_STRING_OPCODE 574
+#define VAR_NSID 575
+#define VAR_ZONEMD_PERMISSIVE_MODE 576
+#define VAR_ZONEMD_CHECK 577
+#define VAR_ZONEMD_REJECT_ABSENCE 578
+#define VAR_RPZ_SIGNAL_NXDOMAIN_RA 579
+#define VAR_INTERFACE_AUTOMATIC_PORTS 580
+#define VAR_EDE 581
+
+
+
+
+/* Copy the first part of user declarations. */
#line 38 "./util/configparser.y"
#include "config.h"
#endif
-#line 100 "util/configparser.c"
-# ifndef YY_CAST
-# ifdef __cplusplus
-# define YY_CAST(Type, Val) static_cast<Type> (Val)
-# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
-# else
-# define YY_CAST(Type, Val) ((Type) (Val))
-# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
-# endif
-# endif
-# ifndef YY_NULLPTR
-# if defined __cplusplus
-# if 201103L <= __cplusplus
-# define YY_NULLPTR nullptr
-# else
-# define YY_NULLPTR 0
-# endif
-# else
-# define YY_NULLPTR ((void*)0)
-# endif
-# endif
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
-#include "configparser.h"
-/* Symbol kind. */
-enum yysymbol_kind_t
-{
- YYSYMBOL_YYEMPTY = -2,
- YYSYMBOL_YYEOF = 0, /* "end of file" */
- YYSYMBOL_YYerror = 1, /* error */
- YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
- YYSYMBOL_SPACE = 3, /* SPACE */
- YYSYMBOL_LETTER = 4, /* LETTER */
- YYSYMBOL_NEWLINE = 5, /* NEWLINE */
- YYSYMBOL_COMMENT = 6, /* COMMENT */
- YYSYMBOL_COLON = 7, /* COLON */
- YYSYMBOL_ANY = 8, /* ANY */
- YYSYMBOL_ZONESTR = 9, /* ZONESTR */
- YYSYMBOL_STRING_ARG = 10, /* STRING_ARG */
- YYSYMBOL_VAR_FORCE_TOPLEVEL = 11, /* VAR_FORCE_TOPLEVEL */
- YYSYMBOL_VAR_SERVER = 12, /* VAR_SERVER */
- YYSYMBOL_VAR_VERBOSITY = 13, /* VAR_VERBOSITY */
- YYSYMBOL_VAR_NUM_THREADS = 14, /* VAR_NUM_THREADS */
- YYSYMBOL_VAR_PORT = 15, /* VAR_PORT */
- YYSYMBOL_VAR_OUTGOING_RANGE = 16, /* VAR_OUTGOING_RANGE */
- YYSYMBOL_VAR_INTERFACE = 17, /* VAR_INTERFACE */
- YYSYMBOL_VAR_PREFER_IP4 = 18, /* VAR_PREFER_IP4 */
- YYSYMBOL_VAR_DO_IP4 = 19, /* VAR_DO_IP4 */
- YYSYMBOL_VAR_DO_IP6 = 20, /* VAR_DO_IP6 */
- YYSYMBOL_VAR_PREFER_IP6 = 21, /* VAR_PREFER_IP6 */
- YYSYMBOL_VAR_DO_UDP = 22, /* VAR_DO_UDP */
- YYSYMBOL_VAR_DO_TCP = 23, /* VAR_DO_TCP */
- YYSYMBOL_VAR_TCP_MSS = 24, /* VAR_TCP_MSS */
- YYSYMBOL_VAR_OUTGOING_TCP_MSS = 25, /* VAR_OUTGOING_TCP_MSS */
- YYSYMBOL_VAR_TCP_IDLE_TIMEOUT = 26, /* VAR_TCP_IDLE_TIMEOUT */
- YYSYMBOL_VAR_EDNS_TCP_KEEPALIVE = 27, /* VAR_EDNS_TCP_KEEPALIVE */
- YYSYMBOL_VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 28, /* VAR_EDNS_TCP_KEEPALIVE_TIMEOUT */
- YYSYMBOL_VAR_CHROOT = 29, /* VAR_CHROOT */
- YYSYMBOL_VAR_USERNAME = 30, /* VAR_USERNAME */
- YYSYMBOL_VAR_DIRECTORY = 31, /* VAR_DIRECTORY */
- YYSYMBOL_VAR_LOGFILE = 32, /* VAR_LOGFILE */
- YYSYMBOL_VAR_PIDFILE = 33, /* VAR_PIDFILE */
- YYSYMBOL_VAR_MSG_CACHE_SIZE = 34, /* VAR_MSG_CACHE_SIZE */
- YYSYMBOL_VAR_MSG_CACHE_SLABS = 35, /* VAR_MSG_CACHE_SLABS */
- YYSYMBOL_VAR_NUM_QUERIES_PER_THREAD = 36, /* VAR_NUM_QUERIES_PER_THREAD */
- YYSYMBOL_VAR_RRSET_CACHE_SIZE = 37, /* VAR_RRSET_CACHE_SIZE */
- YYSYMBOL_VAR_RRSET_CACHE_SLABS = 38, /* VAR_RRSET_CACHE_SLABS */
- YYSYMBOL_VAR_OUTGOING_NUM_TCP = 39, /* VAR_OUTGOING_NUM_TCP */
- YYSYMBOL_VAR_INFRA_HOST_TTL = 40, /* VAR_INFRA_HOST_TTL */
- YYSYMBOL_VAR_INFRA_LAME_TTL = 41, /* VAR_INFRA_LAME_TTL */
- YYSYMBOL_VAR_INFRA_CACHE_SLABS = 42, /* VAR_INFRA_CACHE_SLABS */
- YYSYMBOL_VAR_INFRA_CACHE_NUMHOSTS = 43, /* VAR_INFRA_CACHE_NUMHOSTS */
- YYSYMBOL_VAR_INFRA_CACHE_LAME_SIZE = 44, /* VAR_INFRA_CACHE_LAME_SIZE */
- YYSYMBOL_VAR_NAME = 45, /* VAR_NAME */
- YYSYMBOL_VAR_STUB_ZONE = 46, /* VAR_STUB_ZONE */
- YYSYMBOL_VAR_STUB_HOST = 47, /* VAR_STUB_HOST */
- YYSYMBOL_VAR_STUB_ADDR = 48, /* VAR_STUB_ADDR */
- YYSYMBOL_VAR_TARGET_FETCH_POLICY = 49, /* VAR_TARGET_FETCH_POLICY */
- YYSYMBOL_VAR_HARDEN_SHORT_BUFSIZE = 50, /* VAR_HARDEN_SHORT_BUFSIZE */
- YYSYMBOL_VAR_HARDEN_LARGE_QUERIES = 51, /* VAR_HARDEN_LARGE_QUERIES */
- YYSYMBOL_VAR_FORWARD_ZONE = 52, /* VAR_FORWARD_ZONE */
- YYSYMBOL_VAR_FORWARD_HOST = 53, /* VAR_FORWARD_HOST */
- YYSYMBOL_VAR_FORWARD_ADDR = 54, /* VAR_FORWARD_ADDR */
- YYSYMBOL_VAR_DO_NOT_QUERY_ADDRESS = 55, /* VAR_DO_NOT_QUERY_ADDRESS */
- YYSYMBOL_VAR_HIDE_IDENTITY = 56, /* VAR_HIDE_IDENTITY */
- YYSYMBOL_VAR_HIDE_VERSION = 57, /* VAR_HIDE_VERSION */
- YYSYMBOL_VAR_IDENTITY = 58, /* VAR_IDENTITY */
- YYSYMBOL_VAR_VERSION = 59, /* VAR_VERSION */
- YYSYMBOL_VAR_HARDEN_GLUE = 60, /* VAR_HARDEN_GLUE */
- YYSYMBOL_VAR_MODULE_CONF = 61, /* VAR_MODULE_CONF */
- YYSYMBOL_VAR_TRUST_ANCHOR_FILE = 62, /* VAR_TRUST_ANCHOR_FILE */
- YYSYMBOL_VAR_TRUST_ANCHOR = 63, /* VAR_TRUST_ANCHOR */
- YYSYMBOL_VAR_VAL_OVERRIDE_DATE = 64, /* VAR_VAL_OVERRIDE_DATE */
- YYSYMBOL_VAR_BOGUS_TTL = 65, /* VAR_BOGUS_TTL */
- YYSYMBOL_VAR_VAL_CLEAN_ADDITIONAL = 66, /* VAR_VAL_CLEAN_ADDITIONAL */
- YYSYMBOL_VAR_VAL_PERMISSIVE_MODE = 67, /* VAR_VAL_PERMISSIVE_MODE */
- YYSYMBOL_VAR_INCOMING_NUM_TCP = 68, /* VAR_INCOMING_NUM_TCP */
- YYSYMBOL_VAR_MSG_BUFFER_SIZE = 69, /* VAR_MSG_BUFFER_SIZE */
- YYSYMBOL_VAR_KEY_CACHE_SIZE = 70, /* VAR_KEY_CACHE_SIZE */
- YYSYMBOL_VAR_KEY_CACHE_SLABS = 71, /* VAR_KEY_CACHE_SLABS */
- YYSYMBOL_VAR_TRUSTED_KEYS_FILE = 72, /* VAR_TRUSTED_KEYS_FILE */
- YYSYMBOL_VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 73, /* VAR_VAL_NSEC3_KEYSIZE_ITERATIONS */
- YYSYMBOL_VAR_USE_SYSLOG = 74, /* VAR_USE_SYSLOG */
- YYSYMBOL_VAR_OUTGOING_INTERFACE = 75, /* VAR_OUTGOING_INTERFACE */
- YYSYMBOL_VAR_ROOT_HINTS = 76, /* VAR_ROOT_HINTS */
- YYSYMBOL_VAR_DO_NOT_QUERY_LOCALHOST = 77, /* VAR_DO_NOT_QUERY_LOCALHOST */
- YYSYMBOL_VAR_CACHE_MAX_TTL = 78, /* VAR_CACHE_MAX_TTL */
- YYSYMBOL_VAR_HARDEN_DNSSEC_STRIPPED = 79, /* VAR_HARDEN_DNSSEC_STRIPPED */
- YYSYMBOL_VAR_ACCESS_CONTROL = 80, /* VAR_ACCESS_CONTROL */
- YYSYMBOL_VAR_LOCAL_ZONE = 81, /* VAR_LOCAL_ZONE */
- YYSYMBOL_VAR_LOCAL_DATA = 82, /* VAR_LOCAL_DATA */
- YYSYMBOL_VAR_INTERFACE_AUTOMATIC = 83, /* VAR_INTERFACE_AUTOMATIC */
- YYSYMBOL_VAR_STATISTICS_INTERVAL = 84, /* VAR_STATISTICS_INTERVAL */
- YYSYMBOL_VAR_DO_DAEMONIZE = 85, /* VAR_DO_DAEMONIZE */
- YYSYMBOL_VAR_USE_CAPS_FOR_ID = 86, /* VAR_USE_CAPS_FOR_ID */
- YYSYMBOL_VAR_STATISTICS_CUMULATIVE = 87, /* VAR_STATISTICS_CUMULATIVE */
- YYSYMBOL_VAR_OUTGOING_PORT_PERMIT = 88, /* VAR_OUTGOING_PORT_PERMIT */
- YYSYMBOL_VAR_OUTGOING_PORT_AVOID = 89, /* VAR_OUTGOING_PORT_AVOID */
- YYSYMBOL_VAR_DLV_ANCHOR_FILE = 90, /* VAR_DLV_ANCHOR_FILE */
- YYSYMBOL_VAR_DLV_ANCHOR = 91, /* VAR_DLV_ANCHOR */
- YYSYMBOL_VAR_NEG_CACHE_SIZE = 92, /* VAR_NEG_CACHE_SIZE */
- YYSYMBOL_VAR_HARDEN_REFERRAL_PATH = 93, /* VAR_HARDEN_REFERRAL_PATH */
- YYSYMBOL_VAR_PRIVATE_ADDRESS = 94, /* VAR_PRIVATE_ADDRESS */
- YYSYMBOL_VAR_PRIVATE_DOMAIN = 95, /* VAR_PRIVATE_DOMAIN */
- YYSYMBOL_VAR_REMOTE_CONTROL = 96, /* VAR_REMOTE_CONTROL */
- YYSYMBOL_VAR_CONTROL_ENABLE = 97, /* VAR_CONTROL_ENABLE */
- YYSYMBOL_VAR_CONTROL_INTERFACE = 98, /* VAR_CONTROL_INTERFACE */
- YYSYMBOL_VAR_CONTROL_PORT = 99, /* VAR_CONTROL_PORT */
- YYSYMBOL_VAR_SERVER_KEY_FILE = 100, /* VAR_SERVER_KEY_FILE */
- YYSYMBOL_VAR_SERVER_CERT_FILE = 101, /* VAR_SERVER_CERT_FILE */
- YYSYMBOL_VAR_CONTROL_KEY_FILE = 102, /* VAR_CONTROL_KEY_FILE */
- YYSYMBOL_VAR_CONTROL_CERT_FILE = 103, /* VAR_CONTROL_CERT_FILE */
- YYSYMBOL_VAR_CONTROL_USE_CERT = 104, /* VAR_CONTROL_USE_CERT */
- YYSYMBOL_VAR_TCP_REUSE_TIMEOUT = 105, /* VAR_TCP_REUSE_TIMEOUT */
- YYSYMBOL_VAR_MAX_REUSE_TCP_QUERIES = 106, /* VAR_MAX_REUSE_TCP_QUERIES */
- YYSYMBOL_VAR_EXTENDED_STATISTICS = 107, /* VAR_EXTENDED_STATISTICS */
- YYSYMBOL_VAR_LOCAL_DATA_PTR = 108, /* VAR_LOCAL_DATA_PTR */
- YYSYMBOL_VAR_JOSTLE_TIMEOUT = 109, /* VAR_JOSTLE_TIMEOUT */
- YYSYMBOL_VAR_STUB_PRIME = 110, /* VAR_STUB_PRIME */
- YYSYMBOL_VAR_UNWANTED_REPLY_THRESHOLD = 111, /* VAR_UNWANTED_REPLY_THRESHOLD */
- YYSYMBOL_VAR_LOG_TIME_ASCII = 112, /* VAR_LOG_TIME_ASCII */
- YYSYMBOL_VAR_DOMAIN_INSECURE = 113, /* VAR_DOMAIN_INSECURE */
- YYSYMBOL_VAR_PYTHON = 114, /* VAR_PYTHON */
- YYSYMBOL_VAR_PYTHON_SCRIPT = 115, /* VAR_PYTHON_SCRIPT */
- YYSYMBOL_VAR_VAL_SIG_SKEW_MIN = 116, /* VAR_VAL_SIG_SKEW_MIN */
- YYSYMBOL_VAR_VAL_SIG_SKEW_MAX = 117, /* VAR_VAL_SIG_SKEW_MAX */
- YYSYMBOL_VAR_VAL_MAX_RESTART = 118, /* VAR_VAL_MAX_RESTART */
- YYSYMBOL_VAR_CACHE_MIN_TTL = 119, /* VAR_CACHE_MIN_TTL */
- YYSYMBOL_VAR_VAL_LOG_LEVEL = 120, /* VAR_VAL_LOG_LEVEL */
- YYSYMBOL_VAR_AUTO_TRUST_ANCHOR_FILE = 121, /* VAR_AUTO_TRUST_ANCHOR_FILE */
- YYSYMBOL_VAR_KEEP_MISSING = 122, /* VAR_KEEP_MISSING */
- YYSYMBOL_VAR_ADD_HOLDDOWN = 123, /* VAR_ADD_HOLDDOWN */
- YYSYMBOL_VAR_DEL_HOLDDOWN = 124, /* VAR_DEL_HOLDDOWN */
- YYSYMBOL_VAR_SO_RCVBUF = 125, /* VAR_SO_RCVBUF */
- YYSYMBOL_VAR_EDNS_BUFFER_SIZE = 126, /* VAR_EDNS_BUFFER_SIZE */
- YYSYMBOL_VAR_PREFETCH = 127, /* VAR_PREFETCH */
- YYSYMBOL_VAR_PREFETCH_KEY = 128, /* VAR_PREFETCH_KEY */
- YYSYMBOL_VAR_SO_SNDBUF = 129, /* VAR_SO_SNDBUF */
- YYSYMBOL_VAR_SO_REUSEPORT = 130, /* VAR_SO_REUSEPORT */
- YYSYMBOL_VAR_HARDEN_BELOW_NXDOMAIN = 131, /* VAR_HARDEN_BELOW_NXDOMAIN */
- YYSYMBOL_VAR_IGNORE_CD_FLAG = 132, /* VAR_IGNORE_CD_FLAG */
- YYSYMBOL_VAR_LOG_QUERIES = 133, /* VAR_LOG_QUERIES */
- YYSYMBOL_VAR_LOG_REPLIES = 134, /* VAR_LOG_REPLIES */
- YYSYMBOL_VAR_LOG_LOCAL_ACTIONS = 135, /* VAR_LOG_LOCAL_ACTIONS */
- YYSYMBOL_VAR_TCP_UPSTREAM = 136, /* VAR_TCP_UPSTREAM */
- YYSYMBOL_VAR_SSL_UPSTREAM = 137, /* VAR_SSL_UPSTREAM */
- YYSYMBOL_VAR_TCP_AUTH_QUERY_TIMEOUT = 138, /* VAR_TCP_AUTH_QUERY_TIMEOUT */
- YYSYMBOL_VAR_SSL_SERVICE_KEY = 139, /* VAR_SSL_SERVICE_KEY */
- YYSYMBOL_VAR_SSL_SERVICE_PEM = 140, /* VAR_SSL_SERVICE_PEM */
- YYSYMBOL_VAR_SSL_PORT = 141, /* VAR_SSL_PORT */
- YYSYMBOL_VAR_FORWARD_FIRST = 142, /* VAR_FORWARD_FIRST */
- YYSYMBOL_VAR_STUB_SSL_UPSTREAM = 143, /* VAR_STUB_SSL_UPSTREAM */
- YYSYMBOL_VAR_FORWARD_SSL_UPSTREAM = 144, /* VAR_FORWARD_SSL_UPSTREAM */
- YYSYMBOL_VAR_TLS_CERT_BUNDLE = 145, /* VAR_TLS_CERT_BUNDLE */
- YYSYMBOL_VAR_STUB_TCP_UPSTREAM = 146, /* VAR_STUB_TCP_UPSTREAM */
- YYSYMBOL_VAR_FORWARD_TCP_UPSTREAM = 147, /* VAR_FORWARD_TCP_UPSTREAM */
- YYSYMBOL_VAR_HTTPS_PORT = 148, /* VAR_HTTPS_PORT */
- YYSYMBOL_VAR_HTTP_ENDPOINT = 149, /* VAR_HTTP_ENDPOINT */
- YYSYMBOL_VAR_HTTP_MAX_STREAMS = 150, /* VAR_HTTP_MAX_STREAMS */
- YYSYMBOL_VAR_HTTP_QUERY_BUFFER_SIZE = 151, /* VAR_HTTP_QUERY_BUFFER_SIZE */
- YYSYMBOL_VAR_HTTP_RESPONSE_BUFFER_SIZE = 152, /* VAR_HTTP_RESPONSE_BUFFER_SIZE */
- YYSYMBOL_VAR_HTTP_NODELAY = 153, /* VAR_HTTP_NODELAY */
- YYSYMBOL_VAR_HTTP_NOTLS_DOWNSTREAM = 154, /* VAR_HTTP_NOTLS_DOWNSTREAM */
- YYSYMBOL_VAR_STUB_FIRST = 155, /* VAR_STUB_FIRST */
- YYSYMBOL_VAR_MINIMAL_RESPONSES = 156, /* VAR_MINIMAL_RESPONSES */
- YYSYMBOL_VAR_RRSET_ROUNDROBIN = 157, /* VAR_RRSET_ROUNDROBIN */
- YYSYMBOL_VAR_MAX_UDP_SIZE = 158, /* VAR_MAX_UDP_SIZE */
- YYSYMBOL_VAR_DELAY_CLOSE = 159, /* VAR_DELAY_CLOSE */
- YYSYMBOL_VAR_UDP_CONNECT = 160, /* VAR_UDP_CONNECT */
- YYSYMBOL_VAR_UNBLOCK_LAN_ZONES = 161, /* VAR_UNBLOCK_LAN_ZONES */
- YYSYMBOL_VAR_INSECURE_LAN_ZONES = 162, /* VAR_INSECURE_LAN_ZONES */
- YYSYMBOL_VAR_INFRA_CACHE_MIN_RTT = 163, /* VAR_INFRA_CACHE_MIN_RTT */
- YYSYMBOL_VAR_INFRA_KEEP_PROBING = 164, /* VAR_INFRA_KEEP_PROBING */
- YYSYMBOL_VAR_DNS64_PREFIX = 165, /* VAR_DNS64_PREFIX */
- YYSYMBOL_VAR_DNS64_SYNTHALL = 166, /* VAR_DNS64_SYNTHALL */
- YYSYMBOL_VAR_DNS64_IGNORE_AAAA = 167, /* VAR_DNS64_IGNORE_AAAA */
- YYSYMBOL_VAR_DNSTAP = 168, /* VAR_DNSTAP */
- YYSYMBOL_VAR_DNSTAP_ENABLE = 169, /* VAR_DNSTAP_ENABLE */
- YYSYMBOL_VAR_DNSTAP_SOCKET_PATH = 170, /* VAR_DNSTAP_SOCKET_PATH */
- YYSYMBOL_VAR_DNSTAP_IP = 171, /* VAR_DNSTAP_IP */
- YYSYMBOL_VAR_DNSTAP_TLS = 172, /* VAR_DNSTAP_TLS */
- YYSYMBOL_VAR_DNSTAP_TLS_SERVER_NAME = 173, /* VAR_DNSTAP_TLS_SERVER_NAME */
- YYSYMBOL_VAR_DNSTAP_TLS_CERT_BUNDLE = 174, /* VAR_DNSTAP_TLS_CERT_BUNDLE */
- YYSYMBOL_VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 175, /* VAR_DNSTAP_TLS_CLIENT_KEY_FILE */
- YYSYMBOL_VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 176, /* VAR_DNSTAP_TLS_CLIENT_CERT_FILE */
- YYSYMBOL_VAR_DNSTAP_SEND_IDENTITY = 177, /* VAR_DNSTAP_SEND_IDENTITY */
- YYSYMBOL_VAR_DNSTAP_SEND_VERSION = 178, /* VAR_DNSTAP_SEND_VERSION */
- YYSYMBOL_VAR_DNSTAP_BIDIRECTIONAL = 179, /* VAR_DNSTAP_BIDIRECTIONAL */
- YYSYMBOL_VAR_DNSTAP_IDENTITY = 180, /* VAR_DNSTAP_IDENTITY */
- YYSYMBOL_VAR_DNSTAP_VERSION = 181, /* VAR_DNSTAP_VERSION */
- YYSYMBOL_VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 182, /* VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES */
- YYSYMBOL_VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 183, /* VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES */
- YYSYMBOL_VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 184, /* VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES */
- YYSYMBOL_VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 185, /* VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES */
- YYSYMBOL_VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 186, /* VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES */
- YYSYMBOL_VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 187, /* VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES */
- YYSYMBOL_VAR_RESPONSE_IP_TAG = 188, /* VAR_RESPONSE_IP_TAG */
- YYSYMBOL_VAR_RESPONSE_IP = 189, /* VAR_RESPONSE_IP */
- YYSYMBOL_VAR_RESPONSE_IP_DATA = 190, /* VAR_RESPONSE_IP_DATA */
- YYSYMBOL_VAR_HARDEN_ALGO_DOWNGRADE = 191, /* VAR_HARDEN_ALGO_DOWNGRADE */
- YYSYMBOL_VAR_IP_TRANSPARENT = 192, /* VAR_IP_TRANSPARENT */
- YYSYMBOL_VAR_IP_DSCP = 193, /* VAR_IP_DSCP */
- YYSYMBOL_VAR_DISABLE_DNSSEC_LAME_CHECK = 194, /* VAR_DISABLE_DNSSEC_LAME_CHECK */
- YYSYMBOL_VAR_IP_RATELIMIT = 195, /* VAR_IP_RATELIMIT */
- YYSYMBOL_VAR_IP_RATELIMIT_SLABS = 196, /* VAR_IP_RATELIMIT_SLABS */
- YYSYMBOL_VAR_IP_RATELIMIT_SIZE = 197, /* VAR_IP_RATELIMIT_SIZE */
- YYSYMBOL_VAR_RATELIMIT = 198, /* VAR_RATELIMIT */
- YYSYMBOL_VAR_RATELIMIT_SLABS = 199, /* VAR_RATELIMIT_SLABS */
- YYSYMBOL_VAR_RATELIMIT_SIZE = 200, /* VAR_RATELIMIT_SIZE */
- YYSYMBOL_VAR_OUTBOUND_MSG_RETRY = 201, /* VAR_OUTBOUND_MSG_RETRY */
- YYSYMBOL_VAR_RATELIMIT_FOR_DOMAIN = 202, /* VAR_RATELIMIT_FOR_DOMAIN */
- YYSYMBOL_VAR_RATELIMIT_BELOW_DOMAIN = 203, /* VAR_RATELIMIT_BELOW_DOMAIN */
- YYSYMBOL_VAR_IP_RATELIMIT_FACTOR = 204, /* VAR_IP_RATELIMIT_FACTOR */
- YYSYMBOL_VAR_RATELIMIT_FACTOR = 205, /* VAR_RATELIMIT_FACTOR */
- YYSYMBOL_VAR_IP_RATELIMIT_BACKOFF = 206, /* VAR_IP_RATELIMIT_BACKOFF */
- YYSYMBOL_VAR_RATELIMIT_BACKOFF = 207, /* VAR_RATELIMIT_BACKOFF */
- YYSYMBOL_VAR_SEND_CLIENT_SUBNET = 208, /* VAR_SEND_CLIENT_SUBNET */
- YYSYMBOL_VAR_CLIENT_SUBNET_ZONE = 209, /* VAR_CLIENT_SUBNET_ZONE */
- YYSYMBOL_VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 210, /* VAR_CLIENT_SUBNET_ALWAYS_FORWARD */
- YYSYMBOL_VAR_CLIENT_SUBNET_OPCODE = 211, /* VAR_CLIENT_SUBNET_OPCODE */
- YYSYMBOL_VAR_MAX_CLIENT_SUBNET_IPV4 = 212, /* VAR_MAX_CLIENT_SUBNET_IPV4 */
- YYSYMBOL_VAR_MAX_CLIENT_SUBNET_IPV6 = 213, /* VAR_MAX_CLIENT_SUBNET_IPV6 */
- YYSYMBOL_VAR_MIN_CLIENT_SUBNET_IPV4 = 214, /* VAR_MIN_CLIENT_SUBNET_IPV4 */
- YYSYMBOL_VAR_MIN_CLIENT_SUBNET_IPV6 = 215, /* VAR_MIN_CLIENT_SUBNET_IPV6 */
- YYSYMBOL_VAR_MAX_ECS_TREE_SIZE_IPV4 = 216, /* VAR_MAX_ECS_TREE_SIZE_IPV4 */
- YYSYMBOL_VAR_MAX_ECS_TREE_SIZE_IPV6 = 217, /* VAR_MAX_ECS_TREE_SIZE_IPV6 */
- YYSYMBOL_VAR_CAPS_WHITELIST = 218, /* VAR_CAPS_WHITELIST */
- YYSYMBOL_VAR_CACHE_MAX_NEGATIVE_TTL = 219, /* VAR_CACHE_MAX_NEGATIVE_TTL */
- YYSYMBOL_VAR_PERMIT_SMALL_HOLDDOWN = 220, /* VAR_PERMIT_SMALL_HOLDDOWN */
- YYSYMBOL_VAR_QNAME_MINIMISATION = 221, /* VAR_QNAME_MINIMISATION */
- YYSYMBOL_VAR_QNAME_MINIMISATION_STRICT = 222, /* VAR_QNAME_MINIMISATION_STRICT */
- YYSYMBOL_VAR_IP_FREEBIND = 223, /* VAR_IP_FREEBIND */
- YYSYMBOL_VAR_DEFINE_TAG = 224, /* VAR_DEFINE_TAG */
- YYSYMBOL_VAR_LOCAL_ZONE_TAG = 225, /* VAR_LOCAL_ZONE_TAG */
- YYSYMBOL_VAR_ACCESS_CONTROL_TAG = 226, /* VAR_ACCESS_CONTROL_TAG */
- YYSYMBOL_VAR_LOCAL_ZONE_OVERRIDE = 227, /* VAR_LOCAL_ZONE_OVERRIDE */
- YYSYMBOL_VAR_ACCESS_CONTROL_TAG_ACTION = 228, /* VAR_ACCESS_CONTROL_TAG_ACTION */
- YYSYMBOL_VAR_ACCESS_CONTROL_TAG_DATA = 229, /* VAR_ACCESS_CONTROL_TAG_DATA */
- YYSYMBOL_VAR_VIEW = 230, /* VAR_VIEW */
- YYSYMBOL_VAR_ACCESS_CONTROL_VIEW = 231, /* VAR_ACCESS_CONTROL_VIEW */
- YYSYMBOL_VAR_VIEW_FIRST = 232, /* VAR_VIEW_FIRST */
- YYSYMBOL_VAR_SERVE_EXPIRED = 233, /* VAR_SERVE_EXPIRED */
- YYSYMBOL_VAR_SERVE_EXPIRED_TTL = 234, /* VAR_SERVE_EXPIRED_TTL */
- YYSYMBOL_VAR_SERVE_EXPIRED_TTL_RESET = 235, /* VAR_SERVE_EXPIRED_TTL_RESET */
- YYSYMBOL_VAR_SERVE_EXPIRED_REPLY_TTL = 236, /* VAR_SERVE_EXPIRED_REPLY_TTL */
- YYSYMBOL_VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 237, /* VAR_SERVE_EXPIRED_CLIENT_TIMEOUT */
- YYSYMBOL_VAR_SERVE_ORIGINAL_TTL = 238, /* VAR_SERVE_ORIGINAL_TTL */
- YYSYMBOL_VAR_FAKE_DSA = 239, /* VAR_FAKE_DSA */
- YYSYMBOL_VAR_FAKE_SHA1 = 240, /* VAR_FAKE_SHA1 */
- YYSYMBOL_VAR_LOG_IDENTITY = 241, /* VAR_LOG_IDENTITY */
- YYSYMBOL_VAR_HIDE_TRUSTANCHOR = 242, /* VAR_HIDE_TRUSTANCHOR */
- YYSYMBOL_VAR_HIDE_HTTP_USER_AGENT = 243, /* VAR_HIDE_HTTP_USER_AGENT */
- YYSYMBOL_VAR_HTTP_USER_AGENT = 244, /* VAR_HTTP_USER_AGENT */
- YYSYMBOL_VAR_TRUST_ANCHOR_SIGNALING = 245, /* VAR_TRUST_ANCHOR_SIGNALING */
- YYSYMBOL_VAR_AGGRESSIVE_NSEC = 246, /* VAR_AGGRESSIVE_NSEC */
- YYSYMBOL_VAR_USE_SYSTEMD = 247, /* VAR_USE_SYSTEMD */
- YYSYMBOL_VAR_SHM_ENABLE = 248, /* VAR_SHM_ENABLE */
- YYSYMBOL_VAR_SHM_KEY = 249, /* VAR_SHM_KEY */
- YYSYMBOL_VAR_ROOT_KEY_SENTINEL = 250, /* VAR_ROOT_KEY_SENTINEL */
- YYSYMBOL_VAR_DNSCRYPT = 251, /* VAR_DNSCRYPT */
- YYSYMBOL_VAR_DNSCRYPT_ENABLE = 252, /* VAR_DNSCRYPT_ENABLE */
- YYSYMBOL_VAR_DNSCRYPT_PORT = 253, /* VAR_DNSCRYPT_PORT */
- YYSYMBOL_VAR_DNSCRYPT_PROVIDER = 254, /* VAR_DNSCRYPT_PROVIDER */
- YYSYMBOL_VAR_DNSCRYPT_SECRET_KEY = 255, /* VAR_DNSCRYPT_SECRET_KEY */
- YYSYMBOL_VAR_DNSCRYPT_PROVIDER_CERT = 256, /* VAR_DNSCRYPT_PROVIDER_CERT */
- YYSYMBOL_VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 257, /* VAR_DNSCRYPT_PROVIDER_CERT_ROTATED */
- YYSYMBOL_VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 258, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE */
- YYSYMBOL_VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 259, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS */
- YYSYMBOL_VAR_DNSCRYPT_NONCE_CACHE_SIZE = 260, /* VAR_DNSCRYPT_NONCE_CACHE_SIZE */
- YYSYMBOL_VAR_DNSCRYPT_NONCE_CACHE_SLABS = 261, /* VAR_DNSCRYPT_NONCE_CACHE_SLABS */
- YYSYMBOL_VAR_PAD_RESPONSES = 262, /* VAR_PAD_RESPONSES */
- YYSYMBOL_VAR_PAD_RESPONSES_BLOCK_SIZE = 263, /* VAR_PAD_RESPONSES_BLOCK_SIZE */
- YYSYMBOL_VAR_PAD_QUERIES = 264, /* VAR_PAD_QUERIES */
- YYSYMBOL_VAR_PAD_QUERIES_BLOCK_SIZE = 265, /* VAR_PAD_QUERIES_BLOCK_SIZE */
- YYSYMBOL_VAR_IPSECMOD_ENABLED = 266, /* VAR_IPSECMOD_ENABLED */
- YYSYMBOL_VAR_IPSECMOD_HOOK = 267, /* VAR_IPSECMOD_HOOK */
- YYSYMBOL_VAR_IPSECMOD_IGNORE_BOGUS = 268, /* VAR_IPSECMOD_IGNORE_BOGUS */
- YYSYMBOL_VAR_IPSECMOD_MAX_TTL = 269, /* VAR_IPSECMOD_MAX_TTL */
- YYSYMBOL_VAR_IPSECMOD_WHITELIST = 270, /* VAR_IPSECMOD_WHITELIST */
- YYSYMBOL_VAR_IPSECMOD_STRICT = 271, /* VAR_IPSECMOD_STRICT */
- YYSYMBOL_VAR_CACHEDB = 272, /* VAR_CACHEDB */
- YYSYMBOL_VAR_CACHEDB_BACKEND = 273, /* VAR_CACHEDB_BACKEND */
- YYSYMBOL_VAR_CACHEDB_SECRETSEED = 274, /* VAR_CACHEDB_SECRETSEED */
- YYSYMBOL_VAR_CACHEDB_REDISHOST = 275, /* VAR_CACHEDB_REDISHOST */
- YYSYMBOL_VAR_CACHEDB_REDISPORT = 276, /* VAR_CACHEDB_REDISPORT */
- YYSYMBOL_VAR_CACHEDB_REDISTIMEOUT = 277, /* VAR_CACHEDB_REDISTIMEOUT */
- YYSYMBOL_VAR_CACHEDB_REDISEXPIRERECORDS = 278, /* VAR_CACHEDB_REDISEXPIRERECORDS */
- YYSYMBOL_VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 279, /* VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM */
- YYSYMBOL_VAR_FOR_UPSTREAM = 280, /* VAR_FOR_UPSTREAM */
- YYSYMBOL_VAR_AUTH_ZONE = 281, /* VAR_AUTH_ZONE */
- YYSYMBOL_VAR_ZONEFILE = 282, /* VAR_ZONEFILE */
- YYSYMBOL_VAR_MASTER = 283, /* VAR_MASTER */
- YYSYMBOL_VAR_URL = 284, /* VAR_URL */
- YYSYMBOL_VAR_FOR_DOWNSTREAM = 285, /* VAR_FOR_DOWNSTREAM */
- YYSYMBOL_VAR_FALLBACK_ENABLED = 286, /* VAR_FALLBACK_ENABLED */
- YYSYMBOL_VAR_TLS_ADDITIONAL_PORT = 287, /* VAR_TLS_ADDITIONAL_PORT */
- YYSYMBOL_VAR_LOW_RTT = 288, /* VAR_LOW_RTT */
- YYSYMBOL_VAR_LOW_RTT_PERMIL = 289, /* VAR_LOW_RTT_PERMIL */
- YYSYMBOL_VAR_FAST_SERVER_PERMIL = 290, /* VAR_FAST_SERVER_PERMIL */
- YYSYMBOL_VAR_FAST_SERVER_NUM = 291, /* VAR_FAST_SERVER_NUM */
- YYSYMBOL_VAR_ALLOW_NOTIFY = 292, /* VAR_ALLOW_NOTIFY */
- YYSYMBOL_VAR_TLS_WIN_CERT = 293, /* VAR_TLS_WIN_CERT */
- YYSYMBOL_VAR_TCP_CONNECTION_LIMIT = 294, /* VAR_TCP_CONNECTION_LIMIT */
- YYSYMBOL_VAR_FORWARD_NO_CACHE = 295, /* VAR_FORWARD_NO_CACHE */
- YYSYMBOL_VAR_STUB_NO_CACHE = 296, /* VAR_STUB_NO_CACHE */
- YYSYMBOL_VAR_LOG_SERVFAIL = 297, /* VAR_LOG_SERVFAIL */
- YYSYMBOL_VAR_DENY_ANY = 298, /* VAR_DENY_ANY */
- YYSYMBOL_VAR_UNKNOWN_SERVER_TIME_LIMIT = 299, /* VAR_UNKNOWN_SERVER_TIME_LIMIT */
- YYSYMBOL_VAR_LOG_TAG_QUERYREPLY = 300, /* VAR_LOG_TAG_QUERYREPLY */
- YYSYMBOL_VAR_STREAM_WAIT_SIZE = 301, /* VAR_STREAM_WAIT_SIZE */
- YYSYMBOL_VAR_TLS_CIPHERS = 302, /* VAR_TLS_CIPHERS */
- YYSYMBOL_VAR_TLS_CIPHERSUITES = 303, /* VAR_TLS_CIPHERSUITES */
- YYSYMBOL_VAR_TLS_USE_SNI = 304, /* VAR_TLS_USE_SNI */
- YYSYMBOL_VAR_IPSET = 305, /* VAR_IPSET */
- YYSYMBOL_VAR_IPSET_NAME_V4 = 306, /* VAR_IPSET_NAME_V4 */
- YYSYMBOL_VAR_IPSET_NAME_V6 = 307, /* VAR_IPSET_NAME_V6 */
- YYSYMBOL_VAR_TLS_SESSION_TICKET_KEYS = 308, /* VAR_TLS_SESSION_TICKET_KEYS */
- YYSYMBOL_VAR_RPZ = 309, /* VAR_RPZ */
- YYSYMBOL_VAR_TAGS = 310, /* VAR_TAGS */
- YYSYMBOL_VAR_RPZ_ACTION_OVERRIDE = 311, /* VAR_RPZ_ACTION_OVERRIDE */
- YYSYMBOL_VAR_RPZ_CNAME_OVERRIDE = 312, /* VAR_RPZ_CNAME_OVERRIDE */
- YYSYMBOL_VAR_RPZ_LOG = 313, /* VAR_RPZ_LOG */
- YYSYMBOL_VAR_RPZ_LOG_NAME = 314, /* VAR_RPZ_LOG_NAME */
- YYSYMBOL_VAR_DYNLIB = 315, /* VAR_DYNLIB */
- YYSYMBOL_VAR_DYNLIB_FILE = 316, /* VAR_DYNLIB_FILE */
- YYSYMBOL_VAR_EDNS_CLIENT_STRING = 317, /* VAR_EDNS_CLIENT_STRING */
- YYSYMBOL_VAR_EDNS_CLIENT_STRING_OPCODE = 318, /* VAR_EDNS_CLIENT_STRING_OPCODE */
- YYSYMBOL_VAR_NSID = 319, /* VAR_NSID */
- YYSYMBOL_VAR_ZONEMD_PERMISSIVE_MODE = 320, /* VAR_ZONEMD_PERMISSIVE_MODE */
- YYSYMBOL_VAR_ZONEMD_CHECK = 321, /* VAR_ZONEMD_CHECK */
- YYSYMBOL_VAR_ZONEMD_REJECT_ABSENCE = 322, /* VAR_ZONEMD_REJECT_ABSENCE */
- YYSYMBOL_VAR_RPZ_SIGNAL_NXDOMAIN_RA = 323, /* VAR_RPZ_SIGNAL_NXDOMAIN_RA */
- YYSYMBOL_VAR_INTERFACE_AUTOMATIC_PORTS = 324, /* VAR_INTERFACE_AUTOMATIC_PORTS */
- YYSYMBOL_YYACCEPT = 325, /* $accept */
- YYSYMBOL_toplevelvars = 326, /* toplevelvars */
- YYSYMBOL_toplevelvar = 327, /* toplevelvar */
- YYSYMBOL_force_toplevel = 328, /* force_toplevel */
- YYSYMBOL_serverstart = 329, /* serverstart */
- YYSYMBOL_contents_server = 330, /* contents_server */
- YYSYMBOL_content_server = 331, /* content_server */
- YYSYMBOL_stubstart = 332, /* stubstart */
- YYSYMBOL_contents_stub = 333, /* contents_stub */
- YYSYMBOL_content_stub = 334, /* content_stub */
- YYSYMBOL_forwardstart = 335, /* forwardstart */
- YYSYMBOL_contents_forward = 336, /* contents_forward */
- YYSYMBOL_content_forward = 337, /* content_forward */
- YYSYMBOL_viewstart = 338, /* viewstart */
- YYSYMBOL_contents_view = 339, /* contents_view */
- YYSYMBOL_content_view = 340, /* content_view */
- YYSYMBOL_authstart = 341, /* authstart */
- YYSYMBOL_contents_auth = 342, /* contents_auth */
- YYSYMBOL_content_auth = 343, /* content_auth */
- YYSYMBOL_rpz_tag = 344, /* rpz_tag */
- YYSYMBOL_rpz_action_override = 345, /* rpz_action_override */
- YYSYMBOL_rpz_cname_override = 346, /* rpz_cname_override */
- YYSYMBOL_rpz_log = 347, /* rpz_log */
- YYSYMBOL_rpz_log_name = 348, /* rpz_log_name */
- YYSYMBOL_rpz_signal_nxdomain_ra = 349, /* rpz_signal_nxdomain_ra */
- YYSYMBOL_rpzstart = 350, /* rpzstart */
- YYSYMBOL_contents_rpz = 351, /* contents_rpz */
- YYSYMBOL_content_rpz = 352, /* content_rpz */
- YYSYMBOL_server_num_threads = 353, /* server_num_threads */
- YYSYMBOL_server_verbosity = 354, /* server_verbosity */
- YYSYMBOL_server_statistics_interval = 355, /* server_statistics_interval */
- YYSYMBOL_server_statistics_cumulative = 356, /* server_statistics_cumulative */
- YYSYMBOL_server_extended_statistics = 357, /* server_extended_statistics */
- YYSYMBOL_server_shm_enable = 358, /* server_shm_enable */
- YYSYMBOL_server_shm_key = 359, /* server_shm_key */
- YYSYMBOL_server_port = 360, /* server_port */
- YYSYMBOL_server_send_client_subnet = 361, /* server_send_client_subnet */
- YYSYMBOL_server_client_subnet_zone = 362, /* server_client_subnet_zone */
- YYSYMBOL_server_client_subnet_always_forward = 363, /* server_client_subnet_always_forward */
- YYSYMBOL_server_client_subnet_opcode = 364, /* server_client_subnet_opcode */
- YYSYMBOL_server_max_client_subnet_ipv4 = 365, /* server_max_client_subnet_ipv4 */
- YYSYMBOL_server_max_client_subnet_ipv6 = 366, /* server_max_client_subnet_ipv6 */
- YYSYMBOL_server_min_client_subnet_ipv4 = 367, /* server_min_client_subnet_ipv4 */
- YYSYMBOL_server_min_client_subnet_ipv6 = 368, /* server_min_client_subnet_ipv6 */
- YYSYMBOL_server_max_ecs_tree_size_ipv4 = 369, /* server_max_ecs_tree_size_ipv4 */
- YYSYMBOL_server_max_ecs_tree_size_ipv6 = 370, /* server_max_ecs_tree_size_ipv6 */
- YYSYMBOL_server_interface = 371, /* server_interface */
- YYSYMBOL_server_outgoing_interface = 372, /* server_outgoing_interface */
- YYSYMBOL_server_outgoing_range = 373, /* server_outgoing_range */
- YYSYMBOL_server_outgoing_port_permit = 374, /* server_outgoing_port_permit */
- YYSYMBOL_server_outgoing_port_avoid = 375, /* server_outgoing_port_avoid */
- YYSYMBOL_server_outgoing_num_tcp = 376, /* server_outgoing_num_tcp */
- YYSYMBOL_server_incoming_num_tcp = 377, /* server_incoming_num_tcp */
- YYSYMBOL_server_interface_automatic = 378, /* server_interface_automatic */
- YYSYMBOL_server_interface_automatic_ports = 379, /* server_interface_automatic_ports */
- YYSYMBOL_server_do_ip4 = 380, /* server_do_ip4 */
- YYSYMBOL_server_do_ip6 = 381, /* server_do_ip6 */
- YYSYMBOL_server_do_udp = 382, /* server_do_udp */
- YYSYMBOL_server_do_tcp = 383, /* server_do_tcp */
- YYSYMBOL_server_prefer_ip4 = 384, /* server_prefer_ip4 */
- YYSYMBOL_server_prefer_ip6 = 385, /* server_prefer_ip6 */
- YYSYMBOL_server_tcp_mss = 386, /* server_tcp_mss */
- YYSYMBOL_server_outgoing_tcp_mss = 387, /* server_outgoing_tcp_mss */
- YYSYMBOL_server_tcp_idle_timeout = 388, /* server_tcp_idle_timeout */
- YYSYMBOL_server_max_reuse_tcp_queries = 389, /* server_max_reuse_tcp_queries */
- YYSYMBOL_server_tcp_reuse_timeout = 390, /* server_tcp_reuse_timeout */
- YYSYMBOL_server_tcp_auth_query_timeout = 391, /* server_tcp_auth_query_timeout */
- YYSYMBOL_server_tcp_keepalive = 392, /* server_tcp_keepalive */
- YYSYMBOL_server_tcp_keepalive_timeout = 393, /* server_tcp_keepalive_timeout */
- YYSYMBOL_server_tcp_upstream = 394, /* server_tcp_upstream */
- YYSYMBOL_server_udp_upstream_without_downstream = 395, /* server_udp_upstream_without_downstream */
- YYSYMBOL_server_ssl_upstream = 396, /* server_ssl_upstream */
- YYSYMBOL_server_ssl_service_key = 397, /* server_ssl_service_key */
- YYSYMBOL_server_ssl_service_pem = 398, /* server_ssl_service_pem */
- YYSYMBOL_server_ssl_port = 399, /* server_ssl_port */
- YYSYMBOL_server_tls_cert_bundle = 400, /* server_tls_cert_bundle */
- YYSYMBOL_server_tls_win_cert = 401, /* server_tls_win_cert */
- YYSYMBOL_server_tls_additional_port = 402, /* server_tls_additional_port */
- YYSYMBOL_server_tls_ciphers = 403, /* server_tls_ciphers */
- YYSYMBOL_server_tls_ciphersuites = 404, /* server_tls_ciphersuites */
- YYSYMBOL_server_tls_session_ticket_keys = 405, /* server_tls_session_ticket_keys */
- YYSYMBOL_server_tls_use_sni = 406, /* server_tls_use_sni */
- YYSYMBOL_server_https_port = 407, /* server_https_port */
- YYSYMBOL_server_http_endpoint = 408, /* server_http_endpoint */
- YYSYMBOL_server_http_max_streams = 409, /* server_http_max_streams */
- YYSYMBOL_server_http_query_buffer_size = 410, /* server_http_query_buffer_size */
- YYSYMBOL_server_http_response_buffer_size = 411, /* server_http_response_buffer_size */
- YYSYMBOL_server_http_nodelay = 412, /* server_http_nodelay */
- YYSYMBOL_server_http_notls_downstream = 413, /* server_http_notls_downstream */
- YYSYMBOL_server_use_systemd = 414, /* server_use_systemd */
- YYSYMBOL_server_do_daemonize = 415, /* server_do_daemonize */
- YYSYMBOL_server_use_syslog = 416, /* server_use_syslog */
- YYSYMBOL_server_log_time_ascii = 417, /* server_log_time_ascii */
- YYSYMBOL_server_log_queries = 418, /* server_log_queries */
- YYSYMBOL_server_log_replies = 419, /* server_log_replies */
- YYSYMBOL_server_log_tag_queryreply = 420, /* server_log_tag_queryreply */
- YYSYMBOL_server_log_servfail = 421, /* server_log_servfail */
- YYSYMBOL_server_log_local_actions = 422, /* server_log_local_actions */
- YYSYMBOL_server_chroot = 423, /* server_chroot */
- YYSYMBOL_server_username = 424, /* server_username */
- YYSYMBOL_server_directory = 425, /* server_directory */
- YYSYMBOL_server_logfile = 426, /* server_logfile */
- YYSYMBOL_server_pidfile = 427, /* server_pidfile */
- YYSYMBOL_server_root_hints = 428, /* server_root_hints */
- YYSYMBOL_server_dlv_anchor_file = 429, /* server_dlv_anchor_file */
- YYSYMBOL_server_dlv_anchor = 430, /* server_dlv_anchor */
- YYSYMBOL_server_auto_trust_anchor_file = 431, /* server_auto_trust_anchor_file */
- YYSYMBOL_server_trust_anchor_file = 432, /* server_trust_anchor_file */
- YYSYMBOL_server_trusted_keys_file = 433, /* server_trusted_keys_file */
- YYSYMBOL_server_trust_anchor = 434, /* server_trust_anchor */
- YYSYMBOL_server_trust_anchor_signaling = 435, /* server_trust_anchor_signaling */
- YYSYMBOL_server_root_key_sentinel = 436, /* server_root_key_sentinel */
- YYSYMBOL_server_domain_insecure = 437, /* server_domain_insecure */
- YYSYMBOL_server_hide_identity = 438, /* server_hide_identity */
- YYSYMBOL_server_hide_version = 439, /* server_hide_version */
- YYSYMBOL_server_hide_trustanchor = 440, /* server_hide_trustanchor */
- YYSYMBOL_server_hide_http_user_agent = 441, /* server_hide_http_user_agent */
- YYSYMBOL_server_identity = 442, /* server_identity */
- YYSYMBOL_server_version = 443, /* server_version */
- YYSYMBOL_server_http_user_agent = 444, /* server_http_user_agent */
- YYSYMBOL_server_nsid = 445, /* server_nsid */
- YYSYMBOL_server_so_rcvbuf = 446, /* server_so_rcvbuf */
- YYSYMBOL_server_so_sndbuf = 447, /* server_so_sndbuf */
- YYSYMBOL_server_so_reuseport = 448, /* server_so_reuseport */
- YYSYMBOL_server_ip_transparent = 449, /* server_ip_transparent */
- YYSYMBOL_server_ip_freebind = 450, /* server_ip_freebind */
- YYSYMBOL_server_ip_dscp = 451, /* server_ip_dscp */
- YYSYMBOL_server_stream_wait_size = 452, /* server_stream_wait_size */
- YYSYMBOL_server_edns_buffer_size = 453, /* server_edns_buffer_size */
- YYSYMBOL_server_msg_buffer_size = 454, /* server_msg_buffer_size */
- YYSYMBOL_server_msg_cache_size = 455, /* server_msg_cache_size */
- YYSYMBOL_server_msg_cache_slabs = 456, /* server_msg_cache_slabs */
- YYSYMBOL_server_num_queries_per_thread = 457, /* server_num_queries_per_thread */
- YYSYMBOL_server_jostle_timeout = 458, /* server_jostle_timeout */
- YYSYMBOL_server_delay_close = 459, /* server_delay_close */
- YYSYMBOL_server_udp_connect = 460, /* server_udp_connect */
- YYSYMBOL_server_unblock_lan_zones = 461, /* server_unblock_lan_zones */
- YYSYMBOL_server_insecure_lan_zones = 462, /* server_insecure_lan_zones */
- YYSYMBOL_server_rrset_cache_size = 463, /* server_rrset_cache_size */
- YYSYMBOL_server_rrset_cache_slabs = 464, /* server_rrset_cache_slabs */
- YYSYMBOL_server_infra_host_ttl = 465, /* server_infra_host_ttl */
- YYSYMBOL_server_infra_lame_ttl = 466, /* server_infra_lame_ttl */
- YYSYMBOL_server_infra_cache_numhosts = 467, /* server_infra_cache_numhosts */
- YYSYMBOL_server_infra_cache_lame_size = 468, /* server_infra_cache_lame_size */
- YYSYMBOL_server_infra_cache_slabs = 469, /* server_infra_cache_slabs */
- YYSYMBOL_server_infra_cache_min_rtt = 470, /* server_infra_cache_min_rtt */
- YYSYMBOL_server_infra_keep_probing = 471, /* server_infra_keep_probing */
- YYSYMBOL_server_target_fetch_policy = 472, /* server_target_fetch_policy */
- YYSYMBOL_server_harden_short_bufsize = 473, /* server_harden_short_bufsize */
- YYSYMBOL_server_harden_large_queries = 474, /* server_harden_large_queries */
- YYSYMBOL_server_harden_glue = 475, /* server_harden_glue */
- YYSYMBOL_server_harden_dnssec_stripped = 476, /* server_harden_dnssec_stripped */
- YYSYMBOL_server_harden_below_nxdomain = 477, /* server_harden_below_nxdomain */
- YYSYMBOL_server_harden_referral_path = 478, /* server_harden_referral_path */
- YYSYMBOL_server_harden_algo_downgrade = 479, /* server_harden_algo_downgrade */
- YYSYMBOL_server_use_caps_for_id = 480, /* server_use_caps_for_id */
- YYSYMBOL_server_caps_whitelist = 481, /* server_caps_whitelist */
- YYSYMBOL_server_private_address = 482, /* server_private_address */
- YYSYMBOL_server_private_domain = 483, /* server_private_domain */
- YYSYMBOL_server_prefetch = 484, /* server_prefetch */
- YYSYMBOL_server_prefetch_key = 485, /* server_prefetch_key */
- YYSYMBOL_server_deny_any = 486, /* server_deny_any */
- YYSYMBOL_server_unwanted_reply_threshold = 487, /* server_unwanted_reply_threshold */
- YYSYMBOL_server_do_not_query_address = 488, /* server_do_not_query_address */
- YYSYMBOL_server_do_not_query_localhost = 489, /* server_do_not_query_localhost */
- YYSYMBOL_server_access_control = 490, /* server_access_control */
- YYSYMBOL_server_module_conf = 491, /* server_module_conf */
- YYSYMBOL_server_val_override_date = 492, /* server_val_override_date */
- YYSYMBOL_server_val_sig_skew_min = 493, /* server_val_sig_skew_min */
- YYSYMBOL_server_val_sig_skew_max = 494, /* server_val_sig_skew_max */
- YYSYMBOL_server_val_max_restart = 495, /* server_val_max_restart */
- YYSYMBOL_server_cache_max_ttl = 496, /* server_cache_max_ttl */
- YYSYMBOL_server_cache_max_negative_ttl = 497, /* server_cache_max_negative_ttl */
- YYSYMBOL_server_cache_min_ttl = 498, /* server_cache_min_ttl */
- YYSYMBOL_server_bogus_ttl = 499, /* server_bogus_ttl */
- YYSYMBOL_server_val_clean_additional = 500, /* server_val_clean_additional */
- YYSYMBOL_server_val_permissive_mode = 501, /* server_val_permissive_mode */
- YYSYMBOL_server_aggressive_nsec = 502, /* server_aggressive_nsec */
- YYSYMBOL_server_ignore_cd_flag = 503, /* server_ignore_cd_flag */
- YYSYMBOL_server_serve_expired = 504, /* server_serve_expired */
- YYSYMBOL_server_serve_expired_ttl = 505, /* server_serve_expired_ttl */
- YYSYMBOL_server_serve_expired_ttl_reset = 506, /* server_serve_expired_ttl_reset */
- YYSYMBOL_server_serve_expired_reply_ttl = 507, /* server_serve_expired_reply_ttl */
- YYSYMBOL_server_serve_expired_client_timeout = 508, /* server_serve_expired_client_timeout */
- YYSYMBOL_server_serve_original_ttl = 509, /* server_serve_original_ttl */
- YYSYMBOL_server_fake_dsa = 510, /* server_fake_dsa */
- YYSYMBOL_server_fake_sha1 = 511, /* server_fake_sha1 */
- YYSYMBOL_server_val_log_level = 512, /* server_val_log_level */
- YYSYMBOL_server_val_nsec3_keysize_iterations = 513, /* server_val_nsec3_keysize_iterations */
- YYSYMBOL_server_zonemd_permissive_mode = 514, /* server_zonemd_permissive_mode */
- YYSYMBOL_server_add_holddown = 515, /* server_add_holddown */
- YYSYMBOL_server_del_holddown = 516, /* server_del_holddown */
- YYSYMBOL_server_keep_missing = 517, /* server_keep_missing */
- YYSYMBOL_server_permit_small_holddown = 518, /* server_permit_small_holddown */
- YYSYMBOL_server_key_cache_size = 519, /* server_key_cache_size */
- YYSYMBOL_server_key_cache_slabs = 520, /* server_key_cache_slabs */
- YYSYMBOL_server_neg_cache_size = 521, /* server_neg_cache_size */
- YYSYMBOL_server_local_zone = 522, /* server_local_zone */
- YYSYMBOL_server_local_data = 523, /* server_local_data */
- YYSYMBOL_server_local_data_ptr = 524, /* server_local_data_ptr */
- YYSYMBOL_server_minimal_responses = 525, /* server_minimal_responses */
- YYSYMBOL_server_rrset_roundrobin = 526, /* server_rrset_roundrobin */
- YYSYMBOL_server_unknown_server_time_limit = 527, /* server_unknown_server_time_limit */
- YYSYMBOL_server_max_udp_size = 528, /* server_max_udp_size */
- YYSYMBOL_server_dns64_prefix = 529, /* server_dns64_prefix */
- YYSYMBOL_server_dns64_synthall = 530, /* server_dns64_synthall */
- YYSYMBOL_server_dns64_ignore_aaaa = 531, /* server_dns64_ignore_aaaa */
- YYSYMBOL_server_define_tag = 532, /* server_define_tag */
- YYSYMBOL_server_local_zone_tag = 533, /* server_local_zone_tag */
- YYSYMBOL_server_access_control_tag = 534, /* server_access_control_tag */
- YYSYMBOL_server_access_control_tag_action = 535, /* server_access_control_tag_action */
- YYSYMBOL_server_access_control_tag_data = 536, /* server_access_control_tag_data */
- YYSYMBOL_server_local_zone_override = 537, /* server_local_zone_override */
- YYSYMBOL_server_access_control_view = 538, /* server_access_control_view */
- YYSYMBOL_server_response_ip_tag = 539, /* server_response_ip_tag */
- YYSYMBOL_server_ip_ratelimit = 540, /* server_ip_ratelimit */
- YYSYMBOL_server_ratelimit = 541, /* server_ratelimit */
- YYSYMBOL_server_ip_ratelimit_size = 542, /* server_ip_ratelimit_size */
- YYSYMBOL_server_ratelimit_size = 543, /* server_ratelimit_size */
- YYSYMBOL_server_ip_ratelimit_slabs = 544, /* server_ip_ratelimit_slabs */
- YYSYMBOL_server_ratelimit_slabs = 545, /* server_ratelimit_slabs */
- YYSYMBOL_server_ratelimit_for_domain = 546, /* server_ratelimit_for_domain */
- YYSYMBOL_server_ratelimit_below_domain = 547, /* server_ratelimit_below_domain */
- YYSYMBOL_server_ip_ratelimit_factor = 548, /* server_ip_ratelimit_factor */
- YYSYMBOL_server_ratelimit_factor = 549, /* server_ratelimit_factor */
- YYSYMBOL_server_ip_ratelimit_backoff = 550, /* server_ip_ratelimit_backoff */
- YYSYMBOL_server_ratelimit_backoff = 551, /* server_ratelimit_backoff */
- YYSYMBOL_server_outbound_msg_retry = 552, /* server_outbound_msg_retry */
- YYSYMBOL_server_low_rtt = 553, /* server_low_rtt */
- YYSYMBOL_server_fast_server_num = 554, /* server_fast_server_num */
- YYSYMBOL_server_fast_server_permil = 555, /* server_fast_server_permil */
- YYSYMBOL_server_qname_minimisation = 556, /* server_qname_minimisation */
- YYSYMBOL_server_qname_minimisation_strict = 557, /* server_qname_minimisation_strict */
- YYSYMBOL_server_pad_responses = 558, /* server_pad_responses */
- YYSYMBOL_server_pad_responses_block_size = 559, /* server_pad_responses_block_size */
- YYSYMBOL_server_pad_queries = 560, /* server_pad_queries */
- YYSYMBOL_server_pad_queries_block_size = 561, /* server_pad_queries_block_size */
- YYSYMBOL_server_ipsecmod_enabled = 562, /* server_ipsecmod_enabled */
- YYSYMBOL_server_ipsecmod_ignore_bogus = 563, /* server_ipsecmod_ignore_bogus */
- YYSYMBOL_server_ipsecmod_hook = 564, /* server_ipsecmod_hook */
- YYSYMBOL_server_ipsecmod_max_ttl = 565, /* server_ipsecmod_max_ttl */
- YYSYMBOL_server_ipsecmod_whitelist = 566, /* server_ipsecmod_whitelist */
- YYSYMBOL_server_ipsecmod_strict = 567, /* server_ipsecmod_strict */
- YYSYMBOL_server_edns_client_string = 568, /* server_edns_client_string */
- YYSYMBOL_server_edns_client_string_opcode = 569, /* server_edns_client_string_opcode */
- YYSYMBOL_stub_name = 570, /* stub_name */
- YYSYMBOL_stub_host = 571, /* stub_host */
- YYSYMBOL_stub_addr = 572, /* stub_addr */
- YYSYMBOL_stub_first = 573, /* stub_first */
- YYSYMBOL_stub_no_cache = 574, /* stub_no_cache */
- YYSYMBOL_stub_ssl_upstream = 575, /* stub_ssl_upstream */
- YYSYMBOL_stub_tcp_upstream = 576, /* stub_tcp_upstream */
- YYSYMBOL_stub_prime = 577, /* stub_prime */
- YYSYMBOL_forward_name = 578, /* forward_name */
- YYSYMBOL_forward_host = 579, /* forward_host */
- YYSYMBOL_forward_addr = 580, /* forward_addr */
- YYSYMBOL_forward_first = 581, /* forward_first */
- YYSYMBOL_forward_no_cache = 582, /* forward_no_cache */
- YYSYMBOL_forward_ssl_upstream = 583, /* forward_ssl_upstream */
- YYSYMBOL_forward_tcp_upstream = 584, /* forward_tcp_upstream */
- YYSYMBOL_auth_name = 585, /* auth_name */
- YYSYMBOL_auth_zonefile = 586, /* auth_zonefile */
- YYSYMBOL_auth_master = 587, /* auth_master */
- YYSYMBOL_auth_url = 588, /* auth_url */
- YYSYMBOL_auth_allow_notify = 589, /* auth_allow_notify */
- YYSYMBOL_auth_zonemd_check = 590, /* auth_zonemd_check */
- YYSYMBOL_auth_zonemd_reject_absence = 591, /* auth_zonemd_reject_absence */
- YYSYMBOL_auth_for_downstream = 592, /* auth_for_downstream */
- YYSYMBOL_auth_for_upstream = 593, /* auth_for_upstream */
- YYSYMBOL_auth_fallback_enabled = 594, /* auth_fallback_enabled */
- YYSYMBOL_view_name = 595, /* view_name */
- YYSYMBOL_view_local_zone = 596, /* view_local_zone */
- YYSYMBOL_view_response_ip = 597, /* view_response_ip */
- YYSYMBOL_view_response_ip_data = 598, /* view_response_ip_data */
- YYSYMBOL_view_local_data = 599, /* view_local_data */
- YYSYMBOL_view_local_data_ptr = 600, /* view_local_data_ptr */
- YYSYMBOL_view_first = 601, /* view_first */
- YYSYMBOL_rcstart = 602, /* rcstart */
- YYSYMBOL_contents_rc = 603, /* contents_rc */
- YYSYMBOL_content_rc = 604, /* content_rc */
- YYSYMBOL_rc_control_enable = 605, /* rc_control_enable */
- YYSYMBOL_rc_control_port = 606, /* rc_control_port */
- YYSYMBOL_rc_control_interface = 607, /* rc_control_interface */
- YYSYMBOL_rc_control_use_cert = 608, /* rc_control_use_cert */
- YYSYMBOL_rc_server_key_file = 609, /* rc_server_key_file */
- YYSYMBOL_rc_server_cert_file = 610, /* rc_server_cert_file */
- YYSYMBOL_rc_control_key_file = 611, /* rc_control_key_file */
- YYSYMBOL_rc_control_cert_file = 612, /* rc_control_cert_file */
- YYSYMBOL_dtstart = 613, /* dtstart */
- YYSYMBOL_contents_dt = 614, /* contents_dt */
- YYSYMBOL_content_dt = 615, /* content_dt */
- YYSYMBOL_dt_dnstap_enable = 616, /* dt_dnstap_enable */
- YYSYMBOL_dt_dnstap_bidirectional = 617, /* dt_dnstap_bidirectional */
- YYSYMBOL_dt_dnstap_socket_path = 618, /* dt_dnstap_socket_path */
- YYSYMBOL_dt_dnstap_ip = 619, /* dt_dnstap_ip */
- YYSYMBOL_dt_dnstap_tls = 620, /* dt_dnstap_tls */
- YYSYMBOL_dt_dnstap_tls_server_name = 621, /* dt_dnstap_tls_server_name */
- YYSYMBOL_dt_dnstap_tls_cert_bundle = 622, /* dt_dnstap_tls_cert_bundle */
- YYSYMBOL_dt_dnstap_tls_client_key_file = 623, /* dt_dnstap_tls_client_key_file */
- YYSYMBOL_dt_dnstap_tls_client_cert_file = 624, /* dt_dnstap_tls_client_cert_file */
- YYSYMBOL_dt_dnstap_send_identity = 625, /* dt_dnstap_send_identity */
- YYSYMBOL_dt_dnstap_send_version = 626, /* dt_dnstap_send_version */
- YYSYMBOL_dt_dnstap_identity = 627, /* dt_dnstap_identity */
- YYSYMBOL_dt_dnstap_version = 628, /* dt_dnstap_version */
- YYSYMBOL_dt_dnstap_log_resolver_query_messages = 629, /* dt_dnstap_log_resolver_query_messages */
- YYSYMBOL_dt_dnstap_log_resolver_response_messages = 630, /* dt_dnstap_log_resolver_response_messages */
- YYSYMBOL_dt_dnstap_log_client_query_messages = 631, /* dt_dnstap_log_client_query_messages */
- YYSYMBOL_dt_dnstap_log_client_response_messages = 632, /* dt_dnstap_log_client_response_messages */
- YYSYMBOL_dt_dnstap_log_forwarder_query_messages = 633, /* dt_dnstap_log_forwarder_query_messages */
- YYSYMBOL_dt_dnstap_log_forwarder_response_messages = 634, /* dt_dnstap_log_forwarder_response_messages */
- YYSYMBOL_pythonstart = 635, /* pythonstart */
- YYSYMBOL_contents_py = 636, /* contents_py */
- YYSYMBOL_content_py = 637, /* content_py */
- YYSYMBOL_py_script = 638, /* py_script */
- YYSYMBOL_dynlibstart = 639, /* dynlibstart */
- YYSYMBOL_contents_dl = 640, /* contents_dl */
- YYSYMBOL_content_dl = 641, /* content_dl */
- YYSYMBOL_dl_file = 642, /* dl_file */
- YYSYMBOL_server_disable_dnssec_lame_check = 643, /* server_disable_dnssec_lame_check */
- YYSYMBOL_server_log_identity = 644, /* server_log_identity */
- YYSYMBOL_server_response_ip = 645, /* server_response_ip */
- YYSYMBOL_server_response_ip_data = 646, /* server_response_ip_data */
- YYSYMBOL_dnscstart = 647, /* dnscstart */
- YYSYMBOL_contents_dnsc = 648, /* contents_dnsc */
- YYSYMBOL_content_dnsc = 649, /* content_dnsc */
- YYSYMBOL_dnsc_dnscrypt_enable = 650, /* dnsc_dnscrypt_enable */
- YYSYMBOL_dnsc_dnscrypt_port = 651, /* dnsc_dnscrypt_port */
- YYSYMBOL_dnsc_dnscrypt_provider = 652, /* dnsc_dnscrypt_provider */
- YYSYMBOL_dnsc_dnscrypt_provider_cert = 653, /* dnsc_dnscrypt_provider_cert */
- YYSYMBOL_dnsc_dnscrypt_provider_cert_rotated = 654, /* dnsc_dnscrypt_provider_cert_rotated */
- YYSYMBOL_dnsc_dnscrypt_secret_key = 655, /* dnsc_dnscrypt_secret_key */
- YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_size = 656, /* dnsc_dnscrypt_shared_secret_cache_size */
- YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_slabs = 657, /* dnsc_dnscrypt_shared_secret_cache_slabs */
- YYSYMBOL_dnsc_dnscrypt_nonce_cache_size = 658, /* dnsc_dnscrypt_nonce_cache_size */
- YYSYMBOL_dnsc_dnscrypt_nonce_cache_slabs = 659, /* dnsc_dnscrypt_nonce_cache_slabs */
- YYSYMBOL_cachedbstart = 660, /* cachedbstart */
- YYSYMBOL_contents_cachedb = 661, /* contents_cachedb */
- YYSYMBOL_content_cachedb = 662, /* content_cachedb */
- YYSYMBOL_cachedb_backend_name = 663, /* cachedb_backend_name */
- YYSYMBOL_cachedb_secret_seed = 664, /* cachedb_secret_seed */
- YYSYMBOL_redis_server_host = 665, /* redis_server_host */
- YYSYMBOL_redis_server_port = 666, /* redis_server_port */
- YYSYMBOL_redis_timeout = 667, /* redis_timeout */
- YYSYMBOL_redis_expire_records = 668, /* redis_expire_records */
- YYSYMBOL_server_tcp_connection_limit = 669, /* server_tcp_connection_limit */
- YYSYMBOL_ipsetstart = 670, /* ipsetstart */
- YYSYMBOL_contents_ipset = 671, /* contents_ipset */
- YYSYMBOL_content_ipset = 672, /* content_ipset */
- YYSYMBOL_ipset_name_v4 = 673, /* ipset_name_v4 */
- YYSYMBOL_ipset_name_v6 = 674 /* ipset_name_v6 */
-};
-typedef enum yysymbol_kind_t yysymbol_kind_t;
+/* 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
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+#line 66 "./util/configparser.y"
+{
+ char* str;
+}
+/* Line 193 of yacc.c. */
+#line 781 "util/configparser.c"
+ YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
-#ifdef short
-# undef short
-#endif
-/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
- <limits.h> and (if available) <stdint.h> are included
- so that the code can choose integer types of a good width. */
+/* Copy the second part of user declarations. */
-#ifndef __PTRDIFF_MAX__
-# include <limits.h> /* INFRINGES ON USER NAME SPACE */
-# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
-# include <stdint.h> /* INFRINGES ON USER NAME SPACE */
-# define YY_STDINT_H
-# endif
-#endif
-/* Narrow types that promote to a signed type and that can represent a
- signed or unsigned integer of at least N bits. In tables they can
- save space and decrease cache pressure. Promoting to a signed type
- helps avoid bugs in integer arithmetic. */
+/* Line 216 of yacc.c. */
+#line 794 "util/configparser.c"
-#ifdef __INT_LEAST8_MAX__
-typedef __INT_LEAST8_TYPE__ yytype_int8;
-#elif defined YY_STDINT_H
-typedef int_least8_t yytype_int8;
-#else
-typedef signed char yytype_int8;
+#ifdef short
+# undef short
#endif
-#ifdef __INT_LEAST16_MAX__
-typedef __INT_LEAST16_TYPE__ yytype_int16;
-#elif defined YY_STDINT_H
-typedef int_least16_t yytype_int16;
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
#else
-typedef short yytype_int16;
-#endif
-
-/* Work around bug in HP-UX 11.23, which defines these macros
- incorrectly for preprocessor constants. This workaround can likely
- be removed in 2023, as HPE has promised support for HP-UX 11.23
- (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
- <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */
-#ifdef __hpux
-# undef UINT_LEAST8_MAX
-# undef UINT_LEAST16_MAX
-# define UINT_LEAST8_MAX 255
-# define UINT_LEAST16_MAX 65535
+typedef unsigned char yytype_uint8;
#endif
-#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
-typedef __UINT_LEAST8_TYPE__ yytype_uint8;
-#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
- && UINT_LEAST8_MAX <= INT_MAX)
-typedef uint_least8_t yytype_uint8;
-#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
-typedef unsigned char yytype_uint8;
+#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 yytype_uint8;
+typedef short int yytype_int8;
#endif
-#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
-typedef __UINT_LEAST16_TYPE__ yytype_uint16;
-#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
- && UINT_LEAST16_MAX <= INT_MAX)
-typedef uint_least16_t yytype_uint16;
-#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
-typedef unsigned short yytype_uint16;
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
#else
-typedef int yytype_uint16;
+typedef unsigned short int yytype_uint16;
#endif
-#ifndef YYPTRDIFF_T
-# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
-# define YYPTRDIFF_T __PTRDIFF_TYPE__
-# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
-# elif defined PTRDIFF_MAX
-# ifndef ptrdiff_t
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# endif
-# define YYPTRDIFF_T ptrdiff_t
-# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
-# else
-# define YYPTRDIFF_T long
-# define YYPTRDIFF_MAXIMUM LONG_MAX
-# endif
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
#endif
#ifndef YYSIZE_T
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
-# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
-# define YYSIZE_T unsigned
+# define YYSIZE_T unsigned int
# endif
#endif
-#define YYSIZE_MAXIMUM \
- YY_CAST (YYPTRDIFF_T, \
- (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
- ? YYPTRDIFF_MAXIMUM \
- : YY_CAST (YYSIZE_T, -1)))
-
-#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
-
-
-/* Stored state numbers (used for stacks). */
-typedef yytype_int16 yy_state_t;
-
-/* State numbers in computations. */
-typedef int yy_state_fast_t;
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
#ifndef YY_
# if defined YYENABLE_NLS && YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
+# define YY_(msgid) dgettext ("bison-runtime", msgid)
# endif
# endif
# ifndef YY_
-# define YY_(Msgid) Msgid
-# endif
-#endif
-
-
-#ifndef YY_ATTRIBUTE_PURE
-# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
-# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
-# else
-# define YY_ATTRIBUTE_PURE
-# endif
-#endif
-
-#ifndef YY_ATTRIBUTE_UNUSED
-# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
-# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
-# else
-# define YY_ATTRIBUTE_UNUSED
+# define YY_(msgid) msgid
# endif
#endif
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
-# define YY_USE(E) ((void) (E))
+# define YYUSE(e) ((void) (e))
#else
-# define YY_USE(E) /* empty */
+# define YYUSE(e) /* empty */
#endif
-#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
-/* Suppress an incorrect diagnostic about yylval being uninitialized. */
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
- _Pragma ("GCC diagnostic push") \
- _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
- _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
- _Pragma ("GCC diagnostic pop")
+/* Identity function, used to suppress warnings about constant conditions. */
+#ifndef lint
+# define YYID(n) (n)
#else
-# define YY_INITIAL_VALUE(Value) Value
-#endif
-#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END
-#endif
-#ifndef YY_INITIAL_VALUE
-# define YY_INITIAL_VALUE(Value) /* Nothing. */
-#endif
-
-#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
-# define YY_IGNORE_USELESS_CAST_BEGIN \
- _Pragma ("GCC diagnostic push") \
- _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
-# define YY_IGNORE_USELESS_CAST_END \
- _Pragma ("GCC diagnostic pop")
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int i)
+#else
+static int
+YYID (i)
+ int i;
#endif
-#ifndef YY_IGNORE_USELESS_CAST_BEGIN
-# define YY_IGNORE_USELESS_CAST_BEGIN
-# define YY_IGNORE_USELESS_CAST_END
+{
+ return i;
+}
#endif
-
-#define YY_ASSERT(E) ((void) (0 && (E)))
-
-#if !defined yyoverflow
+#if ! defined yyoverflow || YYERROR_VERBOSE
/* The parser invokes alloca or malloc; define the necessary symbols. */
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
+# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
- /* Use EXIT_SUCCESS as a witness for stdlib.h. */
-# ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
+# ifndef _STDLIB_H
+# define _STDLIB_H 1
# endif
# endif
# endif
# endif
# ifdef YYSTACK_ALLOC
- /* Pacify GCC's 'empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+ /* 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
# ifndef YYSTACK_ALLOC_MAXIMUM
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
# endif
-# if (defined __cplusplus && ! defined EXIT_SUCCESS \
+# if (defined __cplusplus && ! defined _STDLIB_H \
&& ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
+ && (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
+# ifndef _STDLIB_H
+# define _STDLIB_H 1
# endif
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
-# if ! defined malloc && ! defined EXIT_SUCCESS
+# 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 EXIT_SUCCESS
+# 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 */
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
#if (! defined yyoverflow \
&& (! defined __cplusplus \
- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yy_state_t yyss_alloc;
- YYSTYPE yyvs_alloc;
-};
+ yytype_int16 yyss;
+ YYSTYPE yyvs;
+ };
/* The size of the maximum gap between one aligned stack and the next. */
-# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
+# 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) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
+ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ YYSTACK_GAP_MAXIMUM)
-# define YYCOPY_NEEDED 1
+/* 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 \
- { \
- YYPTRDIFF_T yynewbytes; \
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
- Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / YYSIZEOF (*yyptr); \
- } \
- while (0)
+# define YYSTACK_RELOCATE(Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack, Stack, yysize); \
+ Stack = &yyptr->Stack; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (YYID (0))
#endif
-#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
-/* Copy COUNT objects from SRC to DST. The source and destination do
- not overlap. */
-# ifndef YYCOPY
-# if defined __GNUC__ && 1 < __GNUC__
-# define YYCOPY(Dst, Src, Count) \
- __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
-# else
-# define YYCOPY(Dst, Src, Count) \
- do \
- { \
- YYPTRDIFF_T yyi; \
- for (yyi = 0; yyi < (Count); yyi++) \
- (Dst)[yyi] = (Src)[yyi]; \
- } \
- while (0)
-# endif
-# endif
-#endif /* !YYCOPY_NEEDED */
-
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 689
+#define YYLAST 693
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 325
+#define YYNTOKENS 327
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 350
+#define YYNNTS 352
/* YYNRULES -- Number of rules. */
-#define YYNRULES 677
-/* YYNSTATES -- Number of states. */
-#define YYNSTATES 1006
+#define YYNRULES 681
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 1012
-/* YYMAXUTOK -- Last valid token kind. */
-#define YYMAXUTOK 579
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 581
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
- as returned by yylex, with out-of-bounds checking. */
-#define YYTRANSLATE(YYX) \
- (0 <= (YYX) && (YYX) <= YYMAXUTOK \
- ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
- : YYSYMBOL_YYUNDEF)
-
-/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
- as returned by yylex. */
-static const yytype_int16 yytranslate[] =
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const yytype_uint16 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
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
+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326
};
#if YYDEBUG
- /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
-static const yytype_int16 yyrline[] =
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const yytype_uint16 yyprhs[] =
{
- 0, 194, 194, 194, 195, 195, 196, 196, 197, 197,
- 197, 198, 198, 199, 199, 200, 200, 201, 203, 209,
- 214, 215, 216, 216, 216, 217, 217, 218, 218, 218,
- 219, 219, 220, 220, 220, 221, 221, 222, 222, 222,
- 223, 223, 223, 224, 224, 225, 225, 226, 226, 227,
- 227, 228, 228, 229, 229, 230, 230, 231, 231, 232,
- 232, 232, 233, 233, 234, 234, 234, 235, 235, 235,
- 236, 236, 237, 237, 238, 238, 239, 239, 240, 240,
- 240, 241, 241, 242, 242, 243, 243, 243, 244, 244,
- 245, 245, 246, 246, 247, 247, 247, 248, 248, 249,
- 249, 250, 250, 251, 251, 252, 252, 253, 253, 254,
- 254, 255, 255, 256, 256, 256, 257, 257, 257, 258,
- 258, 258, 259, 259, 259, 259, 260, 261, 261, 261,
- 262, 262, 262, 263, 263, 264, 264, 265, 265, 265,
- 266, 266, 266, 267, 267, 268, 268, 268, 269, 269,
- 270, 270, 270, 271, 271, 272, 272, 273, 273, 274,
- 275, 275, 276, 276, 277, 277, 278, 278, 279, 279,
- 280, 280, 281, 281, 282, 282, 283, 283, 284, 284,
- 285, 285, 285, 286, 286, 287, 287, 288, 288, 289,
- 290, 290, 291, 291, 292, 293, 293, 294, 294, 295,
- 295, 296, 296, 297, 297, 297, 298, 298, 298, 299,
- 299, 300, 301, 301, 302, 302, 303, 303, 304, 304,
- 305, 305, 305, 306, 306, 306, 307, 307, 307, 308,
- 308, 309, 309, 310, 310, 311, 311, 312, 312, 313,
- 313, 314, 314, 315, 318, 331, 332, 333, 333, 333,
- 333, 333, 334, 334, 334, 336, 349, 350, 351, 351,
- 351, 351, 352, 352, 352, 354, 369, 370, 371, 371,
- 371, 371, 372, 372, 372, 374, 394, 395, 396, 396,
- 396, 396, 397, 397, 397, 398, 398, 398, 401, 420,
- 437, 445, 455, 462, 472, 490, 491, 492, 492, 492,
- 492, 492, 493, 493, 493, 494, 494, 494, 494, 496,
- 505, 514, 525, 534, 543, 552, 563, 572, 584, 598,
- 613, 624, 641, 658, 675, 692, 707, 722, 735, 750,
- 759, 768, 777, 786, 795, 804, 811, 820, 829, 838,
- 847, 856, 865, 874, 883, 896, 907, 918, 929, 938,
- 951, 960, 969, 978, 985, 992, 1001, 1008, 1017, 1025,
- 1032, 1039, 1047, 1056, 1064, 1080, 1088, 1096, 1104, 1112,
- 1120, 1129, 1138, 1152, 1161, 1170, 1179, 1188, 1197, 1206,
- 1213, 1220, 1246, 1254, 1261, 1268, 1275, 1282, 1290, 1298,
- 1306, 1313, 1324, 1335, 1342, 1351, 1360, 1369, 1378, 1385,
- 1392, 1399, 1415, 1423, 1431, 1441, 1451, 1461, 1475, 1483,
- 1496, 1507, 1515, 1528, 1537, 1546, 1555, 1564, 1574, 1584,
- 1592, 1605, 1614, 1622, 1631, 1639, 1652, 1661, 1671, 1678,
- 1688, 1698, 1708, 1718, 1728, 1738, 1748, 1758, 1765, 1772,
- 1779, 1788, 1797, 1806, 1815, 1822, 1832, 1852, 1859, 1877,
- 1890, 1903, 1916, 1925, 1934, 1943, 1952, 1962, 1972, 1983,
- 1992, 2001, 2010, 2019, 2028, 2037, 2046, 2059, 2072, 2081,
- 2088, 2097, 2106, 2115, 2124, 2133, 2141, 2154, 2162, 2217,
- 2224, 2239, 2249, 2259, 2266, 2273, 2280, 2289, 2297, 2311,
- 2332, 2353, 2365, 2377, 2389, 2398, 2419, 2428, 2437, 2445,
- 2453, 2466, 2479, 2494, 2509, 2518, 2527, 2537, 2547, 2556,
- 2562, 2571, 2580, 2590, 2600, 2610, 2619, 2629, 2638, 2651,
- 2664, 2676, 2690, 2702, 2716, 2725, 2737, 2747, 2754, 2761,
- 2770, 2779, 2789, 2799, 2809, 2819, 2826, 2833, 2842, 2851,
- 2861, 2871, 2881, 2888, 2895, 2902, 2910, 2920, 2930, 2940,
- 2950, 2960, 2970, 3026, 3036, 3044, 3052, 3067, 3076, 3081,
- 3082, 3083, 3083, 3083, 3084, 3084, 3084, 3085, 3085, 3087,
- 3097, 3106, 3113, 3120, 3127, 3134, 3141, 3148, 3153, 3154,
- 3155, 3155, 3155, 3156, 3156, 3156, 3157, 3158, 3158, 3159,
- 3159, 3160, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3168,
- 3177, 3187, 3194, 3201, 3210, 3217, 3224, 3231, 3238, 3247,
- 3256, 3263, 3270, 3280, 3290, 3300, 3310, 3320, 3330, 3335,
- 3336, 3337, 3339, 3345, 3350, 3351, 3352, 3354, 3360, 3370,
- 3377, 3386, 3394, 3399, 3400, 3402, 3402, 3402, 3403, 3403,
- 3404, 3405, 3406, 3407, 3408, 3410, 3420, 3429, 3436, 3445,
- 3452, 3461, 3469, 3482, 3490, 3503, 3508, 3509, 3510, 3510,
- 3511, 3511, 3511, 3512, 3514, 3526, 3538, 3550, 3565, 3578,
- 3591, 3602, 3607, 3608, 3609, 3609, 3611, 3626
+ 0, 0, 3, 4, 7, 10, 13, 16, 19, 22,
+ 25, 28, 31, 34, 37, 40, 43, 46, 48, 50,
+ 52, 55, 56, 58, 60, 62, 64, 66, 68, 70,
+ 72, 74, 76, 78, 80, 82, 84, 86, 88, 90,
+ 92, 94, 96, 98, 100, 102, 104, 106, 108, 110,
+ 112, 114, 116, 118, 120, 122, 124, 126, 128, 130,
+ 132, 134, 136, 138, 140, 142, 144, 146, 148, 150,
+ 152, 154, 156, 158, 160, 162, 164, 166, 168, 170,
+ 172, 174, 176, 178, 180, 182, 184, 186, 188, 190,
+ 192, 194, 196, 198, 200, 202, 204, 206, 208, 210,
+ 212, 214, 216, 218, 220, 222, 224, 226, 228, 230,
+ 232, 234, 236, 238, 240, 242, 244, 246, 248, 250,
+ 252, 254, 256, 258, 260, 262, 264, 266, 268, 270,
+ 272, 274, 276, 278, 280, 282, 284, 286, 288, 290,
+ 292, 294, 296, 298, 300, 302, 304, 306, 308, 310,
+ 312, 314, 316, 318, 320, 322, 324, 326, 328, 330,
+ 332, 334, 336, 338, 340, 342, 344, 346, 348, 350,
+ 352, 354, 356, 358, 360, 362, 364, 366, 368, 370,
+ 372, 374, 376, 378, 380, 382, 384, 386, 388, 390,
+ 392, 394, 396, 398, 400, 402, 404, 406, 408, 410,
+ 412, 414, 416, 418, 420, 422, 424, 426, 428, 430,
+ 432, 434, 436, 438, 440, 442, 444, 446, 448, 450,
+ 452, 454, 456, 458, 460, 462, 464, 466, 468, 470,
+ 472, 474, 476, 478, 480, 482, 484, 486, 488, 490,
+ 492, 494, 496, 498, 500, 502, 504, 506, 509, 510,
+ 512, 514, 516, 518, 520, 522, 524, 526, 528, 531,
+ 532, 534, 536, 538, 540, 542, 544, 546, 548, 551,
+ 552, 554, 556, 558, 560, 562, 564, 566, 568, 571,
+ 572, 574, 576, 578, 580, 582, 584, 586, 588, 590,
+ 592, 595, 598, 601, 604, 607, 610, 612, 615, 616,
+ 618, 620, 622, 624, 626, 628, 630, 632, 634, 636,
+ 638, 640, 643, 646, 649, 652, 655, 658, 661, 664,
+ 667, 670, 673, 676, 679, 682, 685, 688, 691, 694,
+ 697, 700, 703, 706, 709, 712, 715, 718, 721, 724,
+ 727, 730, 733, 736, 739, 742, 745, 748, 751, 754,
+ 757, 760, 763, 766, 769, 772, 775, 778, 781, 784,
+ 787, 790, 793, 796, 799, 802, 805, 808, 811, 814,
+ 817, 820, 823, 826, 829, 832, 835, 838, 841, 844,
+ 847, 850, 853, 856, 859, 862, 865, 868, 871, 874,
+ 877, 880, 883, 886, 889, 892, 895, 898, 901, 904,
+ 907, 910, 913, 916, 919, 922, 925, 928, 931, 934,
+ 937, 940, 943, 946, 949, 952, 955, 958, 961, 964,
+ 967, 970, 973, 976, 979, 982, 985, 988, 991, 994,
+ 997, 1000, 1003, 1006, 1009, 1012, 1015, 1018, 1021, 1024,
+ 1027, 1030, 1033, 1036, 1039, 1042, 1045, 1048, 1051, 1055,
+ 1058, 1061, 1064, 1067, 1070, 1073, 1076, 1079, 1082, 1085,
+ 1088, 1091, 1094, 1097, 1100, 1103, 1106, 1109, 1112, 1115,
+ 1118, 1121, 1124, 1127, 1130, 1133, 1136, 1139, 1142, 1145,
+ 1148, 1151, 1155, 1158, 1161, 1164, 1167, 1170, 1173, 1176,
+ 1179, 1182, 1185, 1189, 1193, 1198, 1203, 1208, 1212, 1216,
+ 1219, 1222, 1225, 1228, 1231, 1234, 1238, 1242, 1245, 1248,
+ 1251, 1254, 1257, 1260, 1263, 1266, 1269, 1272, 1275, 1278,
+ 1281, 1284, 1287, 1290, 1293, 1296, 1299, 1302, 1306, 1309,
+ 1312, 1315, 1318, 1321, 1324, 1327, 1330, 1333, 1336, 1339,
+ 1342, 1345, 1348, 1351, 1354, 1357, 1360, 1363, 1366, 1369,
+ 1372, 1375, 1378, 1381, 1384, 1387, 1390, 1394, 1398, 1402,
+ 1405, 1408, 1411, 1413, 1416, 1417, 1419, 1421, 1423, 1425,
+ 1427, 1429, 1431, 1433, 1436, 1439, 1442, 1445, 1448, 1451,
+ 1454, 1457, 1459, 1462, 1463, 1465, 1467, 1469, 1471, 1473,
+ 1475, 1477, 1479, 1481, 1483, 1485, 1487, 1489, 1491, 1493,
+ 1495, 1497, 1499, 1501, 1504, 1507, 1510, 1513, 1516, 1519,
+ 1522, 1525, 1528, 1531, 1534, 1537, 1540, 1543, 1546, 1549,
+ 1552, 1555, 1558, 1560, 1563, 1564, 1566, 1569, 1571, 1574,
+ 1575, 1577, 1580, 1583, 1586, 1590, 1594, 1596, 1599, 1600,
+ 1602, 1604, 1606, 1608, 1610, 1612, 1614, 1616, 1618, 1620,
+ 1623, 1626, 1629, 1632, 1635, 1638, 1641, 1644, 1647, 1650,
+ 1652, 1655, 1656, 1658, 1660, 1662, 1664, 1666, 1668, 1671,
+ 1674, 1677, 1680, 1683, 1686, 1690, 1692, 1695, 1696, 1698,
+ 1700, 1703
};
-#endif
-/** Accessing symbol of state STATE. */
-#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yytype_int16 yyrhs[] =
+{
+ 328, 0, -1, -1, 328, 329, -1, 331, 332, -1,
+ 334, 335, -1, 337, 338, -1, 639, 640, -1, 606,
+ 607, -1, 617, 618, -1, 340, 341, -1, 651, 652,
+ -1, 664, 665, -1, 674, 675, -1, 343, 344, -1,
+ 352, 353, -1, 643, 644, -1, 330, -1, 11, -1,
+ 12, -1, 332, 333, -1, -1, 355, -1, 356, -1,
+ 362, -1, 375, -1, 382, -1, 383, -1, 386, -1,
+ 387, -1, 384, -1, 385, -1, 388, -1, 389, -1,
+ 390, -1, 394, -1, 395, -1, 373, -1, 425, -1,
+ 426, -1, 427, -1, 428, -1, 429, -1, 457, -1,
+ 458, -1, 459, -1, 465, -1, 466, -1, 378, -1,
+ 467, -1, 468, -1, 471, -1, 469, -1, 470, -1,
+ 474, -1, 475, -1, 476, -1, 490, -1, 440, -1,
+ 441, -1, 444, -1, 445, -1, 443, -1, 446, -1,
+ 477, -1, 493, -1, 434, -1, 436, -1, 494, -1,
+ 501, -1, 502, -1, 503, -1, 379, -1, 456, -1,
+ 522, -1, 523, -1, 435, -1, 516, -1, 418, -1,
+ 374, -1, 430, -1, 491, -1, 498, -1, 478, -1,
+ 492, -1, 525, -1, 526, -1, 380, -1, 357, -1,
+ 417, -1, 482, -1, 358, -1, 376, -1, 377, -1,
+ 431, -1, 432, -1, 524, -1, 480, -1, 484, -1,
+ 485, -1, 359, -1, 527, -1, 460, -1, 489, -1,
+ 419, -1, 439, -1, 495, -1, 496, -1, 497, -1,
+ 500, -1, 515, -1, 433, -1, 518, -1, 519, -1,
+ 520, -1, 448, -1, 455, -1, 486, -1, 487, -1,
+ 449, -1, 479, -1, 505, -1, 420, -1, 421, -1,
+ 396, -1, 398, -1, 424, -1, 399, -1, 400, -1,
+ 401, -1, 409, -1, 410, -1, 411, -1, 412, -1,
+ 413, -1, 414, -1, 415, -1, 528, -1, 529, -1,
+ 531, -1, 450, -1, 461, -1, 462, -1, 463, -1,
+ 464, -1, 532, -1, 533, -1, 534, -1, 472, -1,
+ 481, -1, 451, -1, 543, -1, 544, -1, 453, -1,
+ 473, -1, 547, -1, 548, -1, 545, -1, 546, -1,
+ 549, -1, 550, -1, 552, -1, 551, -1, 554, -1,
+ 553, -1, 555, -1, 363, -1, 364, -1, 365, -1,
+ 366, -1, 367, -1, 368, -1, 369, -1, 370, -1,
+ 371, -1, 372, -1, 483, -1, 499, -1, 521, -1,
+ 559, -1, 452, -1, 535, -1, 536, -1, 647, -1,
+ 537, -1, 540, -1, 538, -1, 539, -1, 541, -1,
+ 560, -1, 561, -1, 562, -1, 563, -1, 564, -1,
+ 506, -1, 507, -1, 508, -1, 509, -1, 510, -1,
+ 511, -1, 512, -1, 513, -1, 648, -1, 416, -1,
+ 542, -1, 649, -1, 650, -1, 360, -1, 361, -1,
+ 514, -1, 442, -1, 437, -1, 438, -1, 565, -1,
+ 567, -1, 566, -1, 568, -1, 569, -1, 570, -1,
+ 397, -1, 504, -1, 402, -1, 404, -1, 556, -1,
+ 558, -1, 557, -1, 403, -1, 673, -1, 423, -1,
+ 488, -1, 530, -1, 422, -1, 454, -1, 405, -1,
+ 406, -1, 407, -1, 408, -1, 571, -1, 572, -1,
+ 447, -1, 517, -1, 391, -1, 392, -1, 393, -1,
+ 381, -1, 573, -1, 46, -1, 335, 336, -1, -1,
+ 574, -1, 575, -1, 576, -1, 581, -1, 577, -1,
+ 578, -1, 579, -1, 580, -1, 52, -1, 338, 339,
+ -1, -1, 582, -1, 583, -1, 584, -1, 585, -1,
+ 586, -1, 587, -1, 588, -1, 230, -1, 341, 342,
+ -1, -1, 599, -1, 600, -1, 603, -1, 605, -1,
+ 601, -1, 602, -1, 604, -1, 282, -1, 344, 345,
+ -1, -1, 589, -1, 590, -1, 591, -1, 592, -1,
+ 596, -1, 597, -1, 598, -1, 593, -1, 594, -1,
+ 595, -1, 311, 10, -1, 312, 10, -1, 313, 10,
+ -1, 314, 10, -1, 315, 10, -1, 324, 10, -1,
+ 310, -1, 353, 354, -1, -1, 589, -1, 590, -1,
+ 346, -1, 591, -1, 592, -1, 593, -1, 347, -1,
+ 348, -1, 349, -1, 350, -1, 351, -1, 596, -1,
+ 14, 10, -1, 13, 10, -1, 84, 10, -1, 87,
+ 10, -1, 107, 10, -1, 249, 10, -1, 250, 10,
+ -1, 15, 10, -1, 208, 10, -1, 209, 10, -1,
+ 210, 10, -1, 211, 10, -1, 212, 10, -1, 213,
+ 10, -1, 214, 10, -1, 215, 10, -1, 216, 10,
+ -1, 217, 10, -1, 17, 10, -1, 75, 10, -1,
+ 16, 10, -1, 88, 10, -1, 89, 10, -1, 39,
+ 10, -1, 68, 10, -1, 83, 10, -1, 325, 10,
+ -1, 19, 10, -1, 20, 10, -1, 22, 10, -1,
+ 23, 10, -1, 18, 10, -1, 21, 10, -1, 24,
+ 10, -1, 25, 10, -1, 26, 10, -1, 106, 10,
+ -1, 105, 10, -1, 138, 10, -1, 27, 10, -1,
+ 28, 10, -1, 136, 10, -1, 280, 10, -1, 137,
+ 10, -1, 139, 10, -1, 140, 10, -1, 141, 10,
+ -1, 145, 10, -1, 294, 10, -1, 288, 10, -1,
+ 303, 10, -1, 304, 10, -1, 309, 10, -1, 305,
+ 10, -1, 148, 10, -1, 149, 10, -1, 150, 10,
+ -1, 151, 10, -1, 152, 10, -1, 153, 10, -1,
+ 154, 10, -1, 248, 10, -1, 85, 10, -1, 74,
+ 10, -1, 112, 10, -1, 133, 10, -1, 134, 10,
+ -1, 301, 10, -1, 298, 10, -1, 135, 10, -1,
+ 29, 10, -1, 30, 10, -1, 31, 10, -1, 32,
+ 10, -1, 33, 10, -1, 76, 10, -1, 90, 10,
+ -1, 91, 10, -1, 121, 10, -1, 62, 10, -1,
+ 72, 10, -1, 63, 10, -1, 246, 10, -1, 251,
+ 10, -1, 113, 10, -1, 56, 10, -1, 57, 10,
+ -1, 243, 10, -1, 244, 10, -1, 58, 10, -1,
+ 59, 10, -1, 245, 10, -1, 320, 10, -1, 125,
+ 10, -1, 129, 10, -1, 130, 10, -1, 192, 10,
+ -1, 223, 10, -1, 193, 10, -1, 302, 10, -1,
+ 126, 10, -1, 69, 10, -1, 34, 10, -1, 35,
+ 10, -1, 36, 10, -1, 109, 10, -1, 159, 10,
+ -1, 160, 10, -1, 161, 10, -1, 162, 10, -1,
+ 37, 10, -1, 38, 10, -1, 40, 10, -1, 41,
+ 10, -1, 43, 10, -1, 44, 10, -1, 42, 10,
+ -1, 163, 10, -1, 164, 10, -1, 49, 10, -1,
+ 50, 10, -1, 51, 10, -1, 60, 10, -1, 79,
+ 10, -1, 131, 10, -1, 93, 10, -1, 191, 10,
+ -1, 86, 10, -1, 218, 10, -1, 94, 10, -1,
+ 95, 10, -1, 127, 10, -1, 128, 10, -1, 299,
+ 10, -1, 111, 10, -1, 55, 10, -1, 77, 10,
+ -1, 80, 10, 10, -1, 61, 10, -1, 64, 10,
+ -1, 116, 10, -1, 117, 10, -1, 118, 10, -1,
+ 78, 10, -1, 219, 10, -1, 119, 10, -1, 65,
+ 10, -1, 66, 10, -1, 67, 10, -1, 247, 10,
+ -1, 132, 10, -1, 233, 10, -1, 234, 10, -1,
+ 235, 10, -1, 236, 10, -1, 237, 10, -1, 238,
+ 10, -1, 239, 10, -1, 240, 10, -1, 241, 10,
+ -1, 120, 10, -1, 73, 10, -1, 321, 10, -1,
+ 123, 10, -1, 124, 10, -1, 122, 10, -1, 220,
+ 10, -1, 70, 10, -1, 71, 10, -1, 92, 10,
+ -1, 81, 10, 10, -1, 82, 10, -1, 108, 10,
+ -1, 156, 10, -1, 157, 10, -1, 300, 10, -1,
+ 158, 10, -1, 165, 10, -1, 166, 10, -1, 167,
+ 10, -1, 224, 10, -1, 225, 10, 10, -1, 226,
+ 10, 10, -1, 228, 10, 10, 10, -1, 229, 10,
+ 10, 10, -1, 227, 10, 10, 10, -1, 231, 10,
+ 10, -1, 188, 10, 10, -1, 195, 10, -1, 198,
+ 10, -1, 197, 10, -1, 200, 10, -1, 196, 10,
+ -1, 199, 10, -1, 202, 10, 10, -1, 203, 10,
+ 10, -1, 204, 10, -1, 205, 10, -1, 206, 10,
+ -1, 207, 10, -1, 201, 10, -1, 289, 10, -1,
+ 292, 10, -1, 291, 10, -1, 221, 10, -1, 222,
+ 10, -1, 263, 10, -1, 264, 10, -1, 265, 10,
+ -1, 266, 10, -1, 267, 10, -1, 269, 10, -1,
+ 268, 10, -1, 270, 10, -1, 271, 10, -1, 272,
+ 10, -1, 318, 10, 10, -1, 319, 10, -1, 326,
+ 10, -1, 45, 10, -1, 47, 10, -1, 48, 10,
+ -1, 155, 10, -1, 297, 10, -1, 143, 10, -1,
+ 146, 10, -1, 110, 10, -1, 45, 10, -1, 53,
+ 10, -1, 54, 10, -1, 142, 10, -1, 296, 10,
+ -1, 144, 10, -1, 147, 10, -1, 45, 10, -1,
+ 283, 10, -1, 284, 10, -1, 285, 10, -1, 293,
+ 10, -1, 322, 10, -1, 323, 10, -1, 286, 10,
+ -1, 281, 10, -1, 287, 10, -1, 45, 10, -1,
+ 81, 10, 10, -1, 189, 10, 10, -1, 190, 10,
+ 10, -1, 82, 10, -1, 108, 10, -1, 232, 10,
+ -1, 96, -1, 607, 608, -1, -1, 609, -1, 611,
+ -1, 610, -1, 613, -1, 614, -1, 615, -1, 616,
+ -1, 612, -1, 97, 10, -1, 99, 10, -1, 98,
+ 10, -1, 104, 10, -1, 100, 10, -1, 101, 10,
+ -1, 102, 10, -1, 103, 10, -1, 168, -1, 618,
+ 619, -1, -1, 620, -1, 622, -1, 621, -1, 623,
+ -1, 624, -1, 625, -1, 626, -1, 627, -1, 628,
+ -1, 629, -1, 630, -1, 631, -1, 632, -1, 633,
+ -1, 634, -1, 635, -1, 636, -1, 637, -1, 638,
+ -1, 169, 10, -1, 179, 10, -1, 170, 10, -1,
+ 171, 10, -1, 172, 10, -1, 173, 10, -1, 174,
+ 10, -1, 175, 10, -1, 176, 10, -1, 177, 10,
+ -1, 178, 10, -1, 180, 10, -1, 181, 10, -1,
+ 182, 10, -1, 183, 10, -1, 184, 10, -1, 185,
+ 10, -1, 186, 10, -1, 187, 10, -1, 114, -1,
+ 640, 641, -1, -1, 642, -1, 115, 10, -1, 316,
+ -1, 644, 645, -1, -1, 646, -1, 317, 10, -1,
+ 194, 10, -1, 242, 10, -1, 189, 10, 10, -1,
+ 190, 10, 10, -1, 252, -1, 652, 653, -1, -1,
+ 654, -1, 655, -1, 656, -1, 659, -1, 657, -1,
+ 658, -1, 660, -1, 661, -1, 662, -1, 663, -1,
+ 253, 10, -1, 254, 10, -1, 255, 10, -1, 257,
+ 10, -1, 258, 10, -1, 256, 10, -1, 259, 10,
+ -1, 260, 10, -1, 261, 10, -1, 262, 10, -1,
+ 273, -1, 665, 666, -1, -1, 667, -1, 668, -1,
+ 669, -1, 670, -1, 671, -1, 672, -1, 274, 10,
+ -1, 275, 10, -1, 276, 10, -1, 277, 10, -1,
+ 278, 10, -1, 279, 10, -1, 295, 10, 10, -1,
+ 306, -1, 675, 676, -1, -1, 677, -1, 678, -1,
+ 307, 10, -1, 308, 10, -1
+};
-#if YYDEBUG || 0
-/* The user-facing name of the symbol whose (internal) number is
- YYSYMBOL. No bounds checking. */
-static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const yytype_uint16 yyrline[] =
+{
+ 0, 195, 195, 195, 196, 196, 197, 197, 198, 198,
+ 198, 199, 199, 200, 200, 201, 201, 202, 204, 210,
+ 215, 216, 217, 217, 217, 218, 218, 219, 219, 219,
+ 220, 220, 221, 221, 221, 222, 222, 223, 223, 223,
+ 224, 224, 224, 225, 225, 226, 226, 227, 227, 228,
+ 228, 229, 229, 230, 230, 231, 231, 232, 232, 233,
+ 233, 233, 234, 234, 235, 235, 235, 236, 236, 236,
+ 237, 237, 238, 238, 239, 239, 240, 240, 241, 241,
+ 241, 242, 242, 243, 243, 244, 244, 244, 245, 245,
+ 246, 246, 247, 247, 248, 248, 248, 249, 249, 250,
+ 250, 251, 251, 252, 252, 253, 253, 254, 254, 255,
+ 255, 256, 256, 257, 257, 257, 258, 258, 258, 259,
+ 259, 259, 260, 260, 260, 260, 261, 262, 262, 262,
+ 263, 263, 263, 264, 264, 265, 265, 266, 266, 266,
+ 267, 267, 267, 268, 268, 269, 269, 269, 270, 270,
+ 271, 271, 271, 272, 272, 273, 273, 274, 274, 275,
+ 276, 276, 277, 277, 278, 278, 279, 279, 280, 280,
+ 281, 281, 282, 282, 283, 283, 284, 284, 285, 285,
+ 286, 286, 286, 287, 287, 288, 288, 289, 289, 290,
+ 291, 291, 292, 292, 293, 294, 294, 295, 295, 296,
+ 296, 296, 297, 297, 298, 298, 298, 299, 299, 299,
+ 300, 300, 301, 302, 302, 303, 303, 304, 304, 305,
+ 305, 306, 306, 306, 307, 307, 307, 308, 308, 308,
+ 309, 309, 310, 310, 311, 311, 312, 312, 313, 313,
+ 314, 314, 315, 315, 316, 316, 319, 332, 333, 334,
+ 334, 334, 334, 334, 335, 335, 335, 337, 350, 351,
+ 352, 352, 352, 352, 353, 353, 353, 355, 370, 371,
+ 372, 372, 372, 372, 373, 373, 373, 375, 395, 396,
+ 397, 397, 397, 397, 398, 398, 398, 399, 399, 399,
+ 402, 421, 438, 446, 456, 463, 473, 491, 492, 493,
+ 493, 493, 493, 493, 494, 494, 494, 495, 495, 495,
+ 495, 497, 506, 515, 526, 535, 544, 553, 564, 573,
+ 585, 599, 614, 625, 642, 659, 676, 693, 708, 723,
+ 736, 751, 760, 769, 778, 787, 796, 805, 812, 821,
+ 830, 839, 848, 857, 866, 875, 884, 897, 908, 919,
+ 930, 939, 952, 961, 970, 979, 986, 993, 1002, 1009,
+ 1018, 1026, 1033, 1040, 1048, 1057, 1065, 1081, 1089, 1097,
+ 1105, 1113, 1121, 1130, 1139, 1153, 1162, 1171, 1180, 1189,
+ 1198, 1207, 1214, 1221, 1247, 1255, 1262, 1269, 1276, 1283,
+ 1291, 1299, 1307, 1314, 1325, 1336, 1343, 1352, 1361, 1370,
+ 1379, 1386, 1393, 1400, 1416, 1424, 1432, 1442, 1452, 1462,
+ 1476, 1484, 1497, 1508, 1516, 1529, 1538, 1547, 1556, 1565,
+ 1575, 1585, 1593, 1606, 1615, 1623, 1632, 1640, 1653, 1662,
+ 1672, 1679, 1689, 1699, 1709, 1719, 1729, 1739, 1749, 1759,
+ 1766, 1773, 1780, 1789, 1798, 1807, 1816, 1823, 1833, 1853,
+ 1860, 1878, 1891, 1904, 1917, 1926, 1935, 1944, 1953, 1963,
+ 1973, 1984, 1993, 2002, 2011, 2020, 2029, 2038, 2047, 2056,
+ 2069, 2082, 2091, 2098, 2107, 2116, 2125, 2134, 2143, 2151,
+ 2164, 2172, 2227, 2234, 2249, 2259, 2269, 2276, 2283, 2290,
+ 2299, 2307, 2321, 2342, 2363, 2375, 2387, 2399, 2408, 2429,
+ 2438, 2447, 2455, 2463, 2476, 2489, 2504, 2519, 2528, 2537,
+ 2547, 2557, 2566, 2572, 2581, 2590, 2600, 2610, 2620, 2629,
+ 2639, 2648, 2661, 2674, 2686, 2700, 2712, 2726, 2735, 2746,
+ 2755, 2765, 2772, 2779, 2788, 2797, 2807, 2817, 2827, 2837,
+ 2844, 2851, 2860, 2869, 2879, 2889, 2899, 2906, 2913, 2920,
+ 2928, 2938, 2948, 2958, 2968, 2978, 2988, 3044, 3054, 3062,
+ 3070, 3085, 3094, 3099, 3100, 3101, 3101, 3101, 3102, 3102,
+ 3102, 3103, 3103, 3105, 3115, 3124, 3131, 3138, 3145, 3152,
+ 3159, 3166, 3171, 3172, 3173, 3173, 3173, 3174, 3174, 3174,
+ 3175, 3176, 3176, 3177, 3177, 3178, 3178, 3179, 3180, 3181,
+ 3182, 3183, 3184, 3186, 3195, 3205, 3212, 3219, 3228, 3235,
+ 3242, 3249, 3256, 3265, 3274, 3281, 3288, 3298, 3308, 3318,
+ 3328, 3338, 3348, 3353, 3354, 3355, 3357, 3363, 3368, 3369,
+ 3370, 3372, 3378, 3388, 3395, 3404, 3412, 3417, 3418, 3420,
+ 3420, 3420, 3421, 3421, 3422, 3423, 3424, 3425, 3426, 3428,
+ 3438, 3447, 3454, 3463, 3470, 3479, 3487, 3500, 3508, 3521,
+ 3526, 3527, 3528, 3528, 3529, 3529, 3529, 3530, 3532, 3544,
+ 3556, 3568, 3583, 3596, 3609, 3620, 3625, 3626, 3627, 3627,
+ 3629, 3644
+};
+#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 of file\"", "error", "\"invalid token\"", "SPACE", "LETTER",
- "NEWLINE", "COMMENT", "COLON", "ANY", "ZONESTR", "STRING_ARG",
- "VAR_FORCE_TOPLEVEL", "VAR_SERVER", "VAR_VERBOSITY", "VAR_NUM_THREADS",
- "VAR_PORT", "VAR_OUTGOING_RANGE", "VAR_INTERFACE", "VAR_PREFER_IP4",
- "VAR_DO_IP4", "VAR_DO_IP6", "VAR_PREFER_IP6", "VAR_DO_UDP", "VAR_DO_TCP",
+ "$end", "error", "$undefined", "SPACE", "LETTER", "NEWLINE", "COMMENT",
+ "COLON", "ANY", "ZONESTR", "STRING_ARG", "VAR_FORCE_TOPLEVEL",
+ "VAR_SERVER", "VAR_VERBOSITY", "VAR_NUM_THREADS", "VAR_PORT",
+ "VAR_OUTGOING_RANGE", "VAR_INTERFACE", "VAR_PREFER_IP4", "VAR_DO_IP4",
+ "VAR_DO_IP6", "VAR_PREFER_IP6", "VAR_DO_UDP", "VAR_DO_TCP",
"VAR_TCP_MSS", "VAR_OUTGOING_TCP_MSS", "VAR_TCP_IDLE_TIMEOUT",
"VAR_EDNS_TCP_KEEPALIVE", "VAR_EDNS_TCP_KEEPALIVE_TIMEOUT", "VAR_CHROOT",
"VAR_USERNAME", "VAR_DIRECTORY", "VAR_LOGFILE", "VAR_PIDFILE",
"VAR_VIEW", "VAR_ACCESS_CONTROL_VIEW", "VAR_VIEW_FIRST",
"VAR_SERVE_EXPIRED", "VAR_SERVE_EXPIRED_TTL",
"VAR_SERVE_EXPIRED_TTL_RESET", "VAR_SERVE_EXPIRED_REPLY_TTL",
- "VAR_SERVE_EXPIRED_CLIENT_TIMEOUT", "VAR_SERVE_ORIGINAL_TTL",
- "VAR_FAKE_DSA", "VAR_FAKE_SHA1", "VAR_LOG_IDENTITY",
- "VAR_HIDE_TRUSTANCHOR", "VAR_HIDE_HTTP_USER_AGENT",
+ "VAR_SERVE_EXPIRED_CLIENT_TIMEOUT", "VAR_EDE_SERVE_EXPIRED",
+ "VAR_SERVE_ORIGINAL_TTL", "VAR_FAKE_DSA", "VAR_FAKE_SHA1",
+ "VAR_LOG_IDENTITY", "VAR_HIDE_TRUSTANCHOR", "VAR_HIDE_HTTP_USER_AGENT",
"VAR_HTTP_USER_AGENT", "VAR_TRUST_ANCHOR_SIGNALING",
"VAR_AGGRESSIVE_NSEC", "VAR_USE_SYSTEMD", "VAR_SHM_ENABLE",
"VAR_SHM_KEY", "VAR_ROOT_KEY_SENTINEL", "VAR_DNSCRYPT",
"VAR_EDNS_CLIENT_STRING", "VAR_EDNS_CLIENT_STRING_OPCODE", "VAR_NSID",
"VAR_ZONEMD_PERMISSIVE_MODE", "VAR_ZONEMD_CHECK",
"VAR_ZONEMD_REJECT_ABSENCE", "VAR_RPZ_SIGNAL_NXDOMAIN_RA",
- "VAR_INTERFACE_AUTOMATIC_PORTS", "$accept", "toplevelvars",
+ "VAR_INTERFACE_AUTOMATIC_PORTS", "VAR_EDE", "$accept", "toplevelvars",
"toplevelvar", "force_toplevel", "serverstart", "contents_server",
"content_server", "stubstart", "contents_stub", "content_stub",
"forwardstart", "contents_forward", "content_forward", "viewstart",
"server_ignore_cd_flag", "server_serve_expired",
"server_serve_expired_ttl", "server_serve_expired_ttl_reset",
"server_serve_expired_reply_ttl", "server_serve_expired_client_timeout",
- "server_serve_original_ttl", "server_fake_dsa", "server_fake_sha1",
- "server_val_log_level", "server_val_nsec3_keysize_iterations",
- "server_zonemd_permissive_mode", "server_add_holddown",
- "server_del_holddown", "server_keep_missing",
+ "server_ede_serve_expired", "server_serve_original_ttl",
+ "server_fake_dsa", "server_fake_sha1", "server_val_log_level",
+ "server_val_nsec3_keysize_iterations", "server_zonemd_permissive_mode",
+ "server_add_holddown", "server_del_holddown", "server_keep_missing",
"server_permit_small_holddown", "server_key_cache_size",
"server_key_cache_slabs", "server_neg_cache_size", "server_local_zone",
"server_local_data", "server_local_data_ptr", "server_minimal_responses",
"server_ipsecmod_hook", "server_ipsecmod_max_ttl",
"server_ipsecmod_whitelist", "server_ipsecmod_strict",
"server_edns_client_string", "server_edns_client_string_opcode",
- "stub_name", "stub_host", "stub_addr", "stub_first", "stub_no_cache",
- "stub_ssl_upstream", "stub_tcp_upstream", "stub_prime", "forward_name",
- "forward_host", "forward_addr", "forward_first", "forward_no_cache",
- "forward_ssl_upstream", "forward_tcp_upstream", "auth_name",
- "auth_zonefile", "auth_master", "auth_url", "auth_allow_notify",
- "auth_zonemd_check", "auth_zonemd_reject_absence", "auth_for_downstream",
- "auth_for_upstream", "auth_fallback_enabled", "view_name",
- "view_local_zone", "view_response_ip", "view_response_ip_data",
- "view_local_data", "view_local_data_ptr", "view_first", "rcstart",
- "contents_rc", "content_rc", "rc_control_enable", "rc_control_port",
- "rc_control_interface", "rc_control_use_cert", "rc_server_key_file",
- "rc_server_cert_file", "rc_control_key_file", "rc_control_cert_file",
- "dtstart", "contents_dt", "content_dt", "dt_dnstap_enable",
- "dt_dnstap_bidirectional", "dt_dnstap_socket_path", "dt_dnstap_ip",
- "dt_dnstap_tls", "dt_dnstap_tls_server_name",
- "dt_dnstap_tls_cert_bundle", "dt_dnstap_tls_client_key_file",
- "dt_dnstap_tls_client_cert_file", "dt_dnstap_send_identity",
- "dt_dnstap_send_version", "dt_dnstap_identity", "dt_dnstap_version",
+ "server_ede", "stub_name", "stub_host", "stub_addr", "stub_first",
+ "stub_no_cache", "stub_ssl_upstream", "stub_tcp_upstream", "stub_prime",
+ "forward_name", "forward_host", "forward_addr", "forward_first",
+ "forward_no_cache", "forward_ssl_upstream", "forward_tcp_upstream",
+ "auth_name", "auth_zonefile", "auth_master", "auth_url",
+ "auth_allow_notify", "auth_zonemd_check", "auth_zonemd_reject_absence",
+ "auth_for_downstream", "auth_for_upstream", "auth_fallback_enabled",
+ "view_name", "view_local_zone", "view_response_ip",
+ "view_response_ip_data", "view_local_data", "view_local_data_ptr",
+ "view_first", "rcstart", "contents_rc", "content_rc",
+ "rc_control_enable", "rc_control_port", "rc_control_interface",
+ "rc_control_use_cert", "rc_server_key_file", "rc_server_cert_file",
+ "rc_control_key_file", "rc_control_cert_file", "dtstart", "contents_dt",
+ "content_dt", "dt_dnstap_enable", "dt_dnstap_bidirectional",
+ "dt_dnstap_socket_path", "dt_dnstap_ip", "dt_dnstap_tls",
+ "dt_dnstap_tls_server_name", "dt_dnstap_tls_cert_bundle",
+ "dt_dnstap_tls_client_key_file", "dt_dnstap_tls_client_cert_file",
+ "dt_dnstap_send_identity", "dt_dnstap_send_version",
+ "dt_dnstap_identity", "dt_dnstap_version",
"dt_dnstap_log_resolver_query_messages",
"dt_dnstap_log_resolver_response_messages",
"dt_dnstap_log_client_query_messages",
"cachedb_backend_name", "cachedb_secret_seed", "redis_server_host",
"redis_server_port", "redis_timeout", "redis_expire_records",
"server_tcp_connection_limit", "ipsetstart", "contents_ipset",
- "content_ipset", "ipset_name_v4", "ipset_name_v6", YY_NULLPTR
+ "content_ipset", "ipset_name_v4", "ipset_name_v6", 0
};
-
-static const char *
-yysymbol_name (yysymbol_kind_t yysymbol)
-{
- return yytname[yysymbol];
-}
#endif
-#ifdef YYPRINT
-/* YYTOKNUM[NUM] -- (External) token number corresponding to the
- (internal) symbol number NUM (which must be that of a token). */
-static const yytype_int16 yytoknum[] =
+# 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,
545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
- 575, 576, 577, 578, 579
+ 575, 576, 577, 578, 579, 580, 581
};
-#endif
-
-#define YYPACT_NINF (-310)
-
-#define yypact_value_is_default(Yyn) \
- ((Yyn) == YYPACT_NINF)
-
-#define YYTABLE_NINF (-1)
+# endif
-#define yytable_value_is_error(Yyn) \
- 0
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_uint16 yyr1[] =
+{
+ 0, 327, 328, 328, 329, 329, 329, 329, 329, 329,
+ 329, 329, 329, 329, 329, 329, 329, 329, 330, 331,
+ 332, 332, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 334, 335, 335, 336,
+ 336, 336, 336, 336, 336, 336, 336, 337, 338, 338,
+ 339, 339, 339, 339, 339, 339, 339, 340, 341, 341,
+ 342, 342, 342, 342, 342, 342, 342, 343, 344, 344,
+ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
+ 346, 347, 348, 349, 350, 351, 352, 353, 353, 354,
+ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
+ 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483,
+ 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
+ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
+ 524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
+ 534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
+ 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,
+ 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
+ 584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
+ 594, 595, 596, 597, 598, 599, 600, 601, 602, 603,
+ 604, 605, 606, 607, 607, 608, 608, 608, 608, 608,
+ 608, 608, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 618, 619, 619, 619, 619, 619, 619,
+ 619, 619, 619, 619, 619, 619, 619, 619, 619, 619,
+ 619, 619, 619, 620, 621, 622, 623, 624, 625, 626,
+ 627, 628, 629, 630, 631, 632, 633, 634, 635, 636,
+ 637, 638, 639, 640, 640, 641, 642, 643, 644, 644,
+ 645, 646, 647, 648, 649, 650, 651, 652, 652, 653,
+ 653, 653, 653, 653, 653, 653, 653, 653, 653, 654,
+ 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
+ 665, 665, 666, 666, 666, 666, 666, 666, 667, 668,
+ 669, 670, 671, 672, 673, 674, 675, 675, 676, 676,
+ 677, 678
+};
- /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-static const yytype_int16 yypact[] =
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const yytype_uint8 yyr2[] =
{
- -310, 0, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, 303, -39, -32, -43, -30, -44, -42, -97,
- -110, -309, -229, -233, -303, 4, 6, 7, 8, 9,
- 10, 23, 24, 25, 26, 27, 37, 38, 39, 40,
- 41, 43, 44, 53, 54, 56, 57, 58, 59, 60,
- 81, 82, 83, 84, 85, 87, 88, 89, 90, 91,
- 92, 93, 95, 96, 98, 99, 101, 103, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 159, 160, 161,
- 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
- 172, 173, 174, 175, 176, 177, 178, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 221, 222, 223,
- 224, 225, 226, 227, 232, 233, 234, 235, 236, 237,
- 239, 248, 249, 250, 251, 254, 255, 261, 263, 264,
- 265, 266, 267, 268, 270, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 296, 297, 298, 300,
- 301, 302, 304, 338, 339, 340, 341, 345, 346, 347,
- 389, 390, 391, 392, 393, 394, 395, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- 396, 397, 403, 407, 408, 435, 436, 437, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, 439, 440, 448,
- 461, 462, 463, 464, -310, -310, -310, -310, -310, -310,
- -310, -310, 465, 466, 467, 468, 469, 470, 471, -310,
- -310, -310, -310, -310, -310, -310, -310, 472, 473, 474,
- 475, 476, 477, 478, 479, 480, 523, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, 525, 544,
- 545, 546, 547, 548, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, 549, 550, 551,
- 552, 553, 554, 565, 566, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, 567, 568, 569, 570, 571, 573,
- 574, 575, 576, 577, 578, 579, 582, 585, 588, 589,
- 598, 599, 600, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, 602, -310, -310, 603, -310, -310, 604,
- 605, 606, 607, 608, 609, 614, 615, 616, 618, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- 619, 620, 621, 622, 623, 624, -310, -310, -310, -310,
- -310, -310, -310, 625, 626, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, 627, 628,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, 629, 630,
- 631, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, 632, 633, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, 634, 635, 636, 637, 638,
- 639, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, 640, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, 641, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, 642, -310, -310, 643,
- 644, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, 645, 646, 647, -310, -310, -310,
- -310, -310, -310, -310, -310, -310
+ 0, 2, 0, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 1, 1, 1,
+ 2, 0, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 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, 2, 0, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 2, 2, 2, 2, 2, 2, 1, 2, 0, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 3, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 3, 3, 4, 4, 4, 3, 3, 2,
+ 2, 2, 2, 2, 2, 3, 3, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 3, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 3, 3, 3, 2,
+ 2, 2, 1, 2, 0, 1, 1, 1, 1, 1,
+ 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
+ 2, 1, 2, 0, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 1, 2, 0, 1, 2, 1, 2, 0,
+ 1, 2, 2, 2, 3, 3, 1, 2, 0, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
+ 2, 0, 1, 1, 1, 1, 1, 1, 2, 2,
+ 2, 2, 2, 2, 3, 1, 2, 0, 1, 1,
+ 2, 2
};
- /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
- Performed when YYTABLE does not specify something else to do. Zero
- means the default is an error. */
-static const yytype_int16 yydefact[] =
+/* 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_uint16 yydefact[] =
{
- 2, 0, 1, 18, 19, 244, 255, 558, 618, 577,
- 265, 632, 655, 275, 671, 294, 623, 3, 17, 21,
- 246, 257, 267, 277, 296, 560, 579, 620, 625, 634,
- 657, 673, 4, 5, 6, 10, 14, 15, 8, 9,
+ 2, 0, 1, 18, 19, 246, 257, 562, 622, 581,
+ 267, 636, 659, 277, 675, 296, 627, 3, 17, 21,
+ 248, 259, 269, 279, 298, 564, 583, 624, 629, 638,
+ 661, 677, 4, 5, 6, 10, 14, 15, 8, 9,
7, 16, 11, 12, 13, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 20, 22, 23,
- 88, 91, 100, 206, 207, 24, 166, 167, 168, 169,
- 170, 171, 172, 173, 174, 175, 37, 79, 25, 92,
- 93, 48, 72, 87, 243, 26, 27, 30, 31, 28,
- 29, 32, 33, 34, 240, 241, 242, 35, 36, 124,
- 218, 125, 127, 128, 129, 220, 225, 221, 232, 233,
- 234, 235, 130, 131, 132, 133, 134, 135, 136, 202,
- 89, 78, 104, 122, 123, 230, 227, 126, 38, 39,
- 40, 41, 42, 80, 94, 95, 111, 66, 76, 67,
- 210, 211, 105, 58, 59, 209, 62, 60, 61, 63,
- 238, 115, 119, 140, 150, 180, 153, 231, 116, 73,
- 43, 44, 45, 102, 141, 142, 143, 144, 46, 47,
- 49, 50, 52, 53, 51, 148, 154, 54, 55, 56,
- 64, 83, 120, 97, 149, 90, 176, 98, 99, 117,
- 118, 228, 103, 57, 81, 84, 65, 68, 106, 107,
- 108, 82, 177, 109, 69, 70, 71, 219, 121, 194,
- 195, 196, 197, 198, 199, 200, 208, 110, 77, 239,
- 112, 113, 114, 178, 74, 75, 96, 85, 86, 101,
- 137, 138, 229, 139, 145, 146, 147, 181, 182, 184,
- 186, 187, 185, 188, 203, 151, 152, 157, 158, 155,
- 156, 159, 160, 162, 161, 164, 163, 165, 222, 224,
- 223, 179, 189, 190, 191, 192, 193, 212, 214, 213,
- 215, 216, 217, 236, 237, 183, 201, 204, 205, 226,
- 0, 0, 0, 0, 0, 0, 0, 0, 245, 247,
- 248, 249, 251, 252, 253, 254, 250, 0, 0, 0,
- 0, 0, 0, 0, 256, 258, 259, 260, 261, 262,
- 263, 264, 0, 0, 0, 0, 0, 0, 0, 266,
- 268, 269, 272, 273, 270, 274, 271, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 276, 278, 279,
- 280, 281, 285, 286, 287, 282, 283, 284, 0, 0,
- 0, 0, 0, 0, 299, 303, 304, 305, 306, 307,
- 295, 297, 298, 300, 301, 302, 308, 0, 0, 0,
- 0, 0, 0, 0, 0, 559, 561, 563, 562, 568,
- 564, 565, 566, 567, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 20,
+ 22, 23, 88, 91, 100, 207, 208, 24, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 37, 79,
+ 25, 92, 93, 48, 72, 87, 244, 26, 27, 30,
+ 31, 28, 29, 32, 33, 34, 241, 242, 243, 35,
+ 36, 124, 219, 125, 127, 128, 129, 221, 226, 222,
+ 233, 234, 235, 236, 130, 131, 132, 133, 134, 135,
+ 136, 203, 89, 78, 104, 122, 123, 231, 228, 126,
+ 38, 39, 40, 41, 42, 80, 94, 95, 111, 66,
+ 76, 67, 211, 212, 105, 58, 59, 210, 62, 60,
+ 61, 63, 239, 115, 119, 140, 150, 180, 153, 232,
+ 116, 73, 43, 44, 45, 102, 141, 142, 143, 144,
+ 46, 47, 49, 50, 52, 53, 51, 148, 154, 54,
+ 55, 56, 64, 83, 120, 97, 149, 90, 176, 98,
+ 99, 117, 118, 229, 103, 57, 81, 84, 65, 68,
+ 106, 107, 108, 82, 177, 109, 69, 70, 71, 220,
+ 121, 194, 195, 196, 197, 198, 199, 200, 201, 209,
+ 110, 77, 240, 112, 113, 114, 178, 74, 75, 96,
+ 85, 86, 101, 137, 138, 230, 139, 145, 146, 147,
+ 181, 182, 184, 186, 187, 185, 188, 204, 151, 152,
+ 157, 158, 155, 156, 159, 160, 162, 161, 164, 163,
+ 165, 223, 225, 224, 179, 189, 190, 191, 192, 193,
+ 213, 215, 214, 216, 217, 218, 237, 238, 245, 183,
+ 202, 205, 206, 227, 0, 0, 0, 0, 0, 0,
+ 0, 0, 247, 249, 250, 251, 253, 254, 255, 256,
+ 252, 0, 0, 0, 0, 0, 0, 0, 258, 260,
+ 261, 262, 263, 264, 265, 266, 0, 0, 0, 0,
+ 0, 0, 0, 268, 270, 271, 274, 275, 272, 276,
+ 273, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 278, 280, 281, 282, 283, 287, 288, 289, 284,
+ 285, 286, 0, 0, 0, 0, 0, 0, 301, 305,
+ 306, 307, 308, 309, 297, 299, 300, 302, 303, 304,
+ 310, 0, 0, 0, 0, 0, 0, 0, 0, 563,
+ 565, 567, 566, 572, 568, 569, 570, 571, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 578, 580, 582, 581, 583, 584, 585,
- 586, 587, 588, 589, 590, 591, 592, 593, 594, 595,
- 596, 597, 598, 0, 619, 621, 0, 624, 626, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 633,
- 635, 636, 637, 639, 640, 638, 641, 642, 643, 644,
- 0, 0, 0, 0, 0, 0, 656, 658, 659, 660,
- 661, 662, 663, 0, 0, 672, 674, 675, 310, 309,
- 316, 329, 327, 340, 336, 337, 341, 338, 339, 342,
- 343, 344, 348, 349, 379, 380, 381, 382, 383, 411,
- 412, 413, 419, 420, 332, 421, 422, 425, 423, 424,
- 428, 429, 430, 444, 394, 395, 398, 399, 431, 447,
- 388, 390, 448, 455, 456, 457, 333, 410, 475, 476,
- 389, 469, 372, 328, 384, 445, 452, 432, 0, 0,
- 479, 334, 311, 371, 436, 312, 330, 331, 385, 386,
- 477, 434, 438, 439, 346, 345, 313, 480, 414, 443,
- 373, 393, 449, 450, 451, 454, 468, 387, 473, 471,
- 472, 402, 409, 440, 441, 403, 404, 433, 459, 374,
- 375, 378, 350, 352, 347, 353, 354, 355, 356, 363,
- 364, 365, 366, 367, 368, 369, 481, 482, 484, 415,
- 416, 417, 418, 426, 427, 485, 486, 487, 0, 0,
- 0, 435, 405, 407, 628, 496, 500, 498, 497, 501,
- 499, 508, 0, 0, 504, 505, 506, 507, 317, 318,
- 319, 320, 321, 322, 323, 324, 325, 326, 437, 453,
- 474, 512, 513, 406, 488, 0, 0, 0, 0, 0,
- 0, 460, 461, 462, 463, 464, 465, 466, 467, 629,
- 396, 397, 400, 391, 458, 370, 314, 315, 392, 514,
- 515, 516, 517, 518, 520, 519, 521, 522, 523, 351,
- 358, 509, 511, 510, 357, 0, 377, 442, 483, 376,
- 408, 359, 360, 362, 361, 0, 525, 401, 470, 335,
- 526, 527, 528, 533, 531, 532, 529, 530, 534, 535,
- 536, 537, 539, 540, 538, 551, 0, 555, 556, 0,
- 0, 557, 541, 549, 542, 543, 544, 548, 550, 545,
- 546, 547, 288, 289, 290, 291, 292, 293, 569, 571,
- 570, 573, 574, 575, 576, 572, 599, 601, 602, 603,
- 604, 605, 606, 607, 608, 609, 600, 610, 611, 612,
- 613, 614, 615, 616, 617, 622, 627, 645, 646, 647,
- 650, 648, 649, 651, 652, 653, 654, 664, 665, 666,
- 667, 668, 669, 676, 677, 446, 478, 495, 630, 631,
- 502, 503, 489, 490, 0, 0, 0, 494, 670, 524,
- 552, 553, 554, 493, 491, 492
+ 0, 0, 0, 0, 0, 0, 0, 582, 584, 586,
+ 585, 587, 588, 589, 590, 591, 592, 593, 594, 595,
+ 596, 597, 598, 599, 600, 601, 602, 0, 623, 625,
+ 0, 628, 630, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 637, 639, 640, 641, 643, 644, 642,
+ 645, 646, 647, 648, 0, 0, 0, 0, 0, 0,
+ 660, 662, 663, 664, 665, 666, 667, 0, 0, 676,
+ 678, 679, 312, 311, 318, 331, 329, 342, 338, 339,
+ 343, 340, 341, 344, 345, 346, 350, 351, 381, 382,
+ 383, 384, 385, 413, 414, 415, 421, 422, 334, 423,
+ 424, 427, 425, 426, 430, 431, 432, 446, 396, 397,
+ 400, 401, 433, 449, 390, 392, 450, 457, 458, 459,
+ 335, 412, 478, 479, 391, 472, 374, 330, 386, 447,
+ 454, 434, 0, 0, 482, 336, 313, 373, 438, 314,
+ 332, 333, 387, 388, 480, 436, 440, 441, 348, 347,
+ 315, 483, 416, 445, 375, 395, 451, 452, 453, 456,
+ 471, 389, 476, 474, 475, 404, 411, 442, 443, 405,
+ 406, 435, 461, 376, 377, 380, 352, 354, 349, 355,
+ 356, 357, 358, 365, 366, 367, 368, 369, 370, 371,
+ 484, 485, 487, 417, 418, 419, 420, 428, 429, 488,
+ 489, 490, 0, 0, 0, 437, 407, 409, 632, 499,
+ 503, 501, 500, 504, 502, 511, 0, 0, 507, 508,
+ 509, 510, 319, 320, 321, 322, 323, 324, 325, 326,
+ 327, 328, 439, 455, 477, 515, 516, 408, 491, 0,
+ 0, 0, 0, 0, 0, 462, 463, 464, 465, 466,
+ 467, 468, 469, 470, 633, 398, 399, 402, 393, 460,
+ 372, 316, 317, 394, 517, 518, 519, 520, 521, 523,
+ 522, 524, 525, 526, 353, 360, 512, 514, 513, 359,
+ 0, 379, 444, 486, 378, 410, 361, 362, 364, 363,
+ 0, 528, 403, 473, 337, 529, 530, 531, 532, 537,
+ 535, 536, 533, 534, 538, 539, 540, 541, 543, 544,
+ 542, 555, 0, 559, 560, 0, 0, 561, 545, 553,
+ 546, 547, 548, 552, 554, 549, 550, 551, 290, 291,
+ 292, 293, 294, 295, 573, 575, 574, 577, 578, 579,
+ 580, 576, 603, 605, 606, 607, 608, 609, 610, 611,
+ 612, 613, 604, 614, 615, 616, 617, 618, 619, 620,
+ 621, 626, 631, 649, 650, 651, 654, 652, 653, 655,
+ 656, 657, 658, 668, 669, 670, 671, 672, 673, 680,
+ 681, 448, 481, 498, 634, 635, 505, 506, 492, 493,
+ 0, 0, 0, 497, 674, 527, 556, 557, 558, 496,
+ 494, 495
};
- /* YYPGOTO[NTERM-NUM]. */
-static const yytype_int16 yypgoto[] =
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int16 yydefgoto[] =
{
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -27, 648, 649, 650, 651, -310, -310, 652, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, -310
+ -1, 1, 17, 18, 19, 32, 269, 20, 33, 502,
+ 21, 34, 518, 22, 35, 533, 23, 36, 551, 568,
+ 569, 570, 571, 572, 573, 24, 37, 574, 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, 331,
+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
+ 452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
+ 482, 483, 484, 485, 486, 487, 488, 503, 504, 505,
+ 506, 507, 508, 509, 510, 519, 520, 521, 522, 523,
+ 524, 525, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 534, 535, 536, 537, 538, 539, 540, 25,
+ 38, 589, 590, 591, 592, 593, 594, 595, 596, 597,
+ 26, 39, 617, 618, 619, 620, 621, 622, 623, 624,
+ 625, 626, 627, 628, 629, 630, 631, 632, 633, 634,
+ 635, 636, 27, 40, 638, 639, 28, 41, 641, 642,
+ 489, 490, 491, 492, 29, 42, 653, 654, 655, 656,
+ 657, 658, 659, 660, 661, 662, 663, 30, 43, 670,
+ 671, 672, 673, 674, 675, 676, 493, 31, 44, 679,
+ 680, 681
};
- /* YYDEFGOTO[NTERM-NUM]. */
-static const yytype_int16 yydefgoto[] =
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -311
+static const yytype_int16 yypact[] =
{
- 0, 1, 17, 18, 19, 32, 267, 20, 33, 498,
- 21, 34, 514, 22, 35, 529, 23, 36, 547, 564,
- 565, 566, 567, 568, 569, 24, 37, 570, 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, 331, 332, 333, 334, 335, 336, 337, 338, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
- 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
- 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
- 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
- 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
- 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
- 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
- 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
- 480, 481, 482, 483, 484, 499, 500, 501, 502, 503,
- 504, 505, 506, 515, 516, 517, 518, 519, 520, 521,
- 548, 549, 550, 551, 552, 553, 554, 555, 556, 557,
- 530, 531, 532, 533, 534, 535, 536, 25, 38, 585,
- 586, 587, 588, 589, 590, 591, 592, 593, 26, 39,
- 613, 614, 615, 616, 617, 618, 619, 620, 621, 622,
- 623, 624, 625, 626, 627, 628, 629, 630, 631, 632,
- 27, 40, 634, 635, 28, 41, 637, 638, 485, 486,
- 487, 488, 29, 42, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 30, 43, 666, 667, 668,
- 669, 670, 671, 672, 489, 31, 44, 675, 676, 677
+ -311, 0, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, 304, -39, -32, -43, -30, -44, -42, -97,
+ -110, -310, -230, -234, -304, 4, 6, 7, 8, 9,
+ 10, 23, 24, 25, 26, 27, 37, 38, 39, 40,
+ 41, 43, 44, 53, 54, 56, 57, 58, 59, 60,
+ 81, 82, 83, 84, 85, 87, 88, 89, 90, 91,
+ 92, 93, 95, 96, 98, 99, 101, 103, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
+ 129, 130, 131, 132, 133, 134, 135, 138, 139, 140,
+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
+ 151, 152, 153, 154, 155, 156, 157, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, 217, 218, 219, 221, 222, 223,
+ 224, 225, 226, 227, 228, 233, 234, 235, 236, 237,
+ 238, 240, 249, 250, 251, 252, 255, 256, 262, 264,
+ 265, 266, 267, 268, 269, 271, 273, 274, 275, 276,
+ 277, 278, 279, 280, 281, 284, 285, 286, 287, 288,
+ 289, 290, 291, 292, 293, 294, 295, 297, 298, 299,
+ 301, 302, 303, 305, 339, 340, 341, 342, 346, 347,
+ 348, 390, 391, 392, 393, 394, 395, 396, 397, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, 398, 404, 408, 409, 436, 437,
+ 438, 440, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, 441, 449, 462, 463, 464, 465, 466, -311, -311,
+ -311, -311, -311, -311, -311, -311, 467, 468, 469, 470,
+ 471, 472, 473, -311, -311, -311, -311, -311, -311, -311,
+ -311, 474, 475, 476, 477, 478, 479, 480, 481, 524,
+ 526, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, 546, 547, 548, 549, 550, 551, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, 552, 553, 554, 555, 556, 567, 568, 569, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, 570, 571,
+ 572, 573, 575, 576, 577, 578, 579, 580, 581, 584,
+ 587, 590, 591, 600, 601, 602, 604, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, 605, -311, -311,
+ 606, -311, -311, 607, 608, 609, 610, 611, 616, 617,
+ 618, 621, 622, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, 623, 624, 625, 626, 627, 628,
+ -311, -311, -311, -311, -311, -311, -311, 629, 630, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, 631, 632, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, 633, 634, 635, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, 636, 637, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, 638,
+ 639, 640, 641, 642, 643, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ 644, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ 645, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, 646, -311, -311, 647, 648, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ 649, 650, 651, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311
};
- /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
- positive, shift that token. If negative, reduce the rule whose
- number is the opposite. If YYTABLE_NINF, syntax error. */
-static const yytype_int16 yytable[] =
+/* YYPGOTO[NTERM-NUM]. */
+static const yytype_int16 yypgoto[] =
{
- 2, 537, 522, 673, 674, 633, 490, 636, 491, 492,
- 571, 3, 4, 507, 678, 537, 679, 680, 681, 682,
- 683, 508, 509, 639, 640, 641, 642, 643, 644, 645,
- 646, 647, 648, 684, 685, 686, 687, 688, 523, 524,
- 660, 661, 662, 663, 664, 665, 5, 689, 690, 691,
- 692, 693, 6, 694, 695, 577, 578, 579, 580, 581,
- 582, 583, 584, 696, 697, 525, 698, 699, 700, 701,
- 702, 493, 594, 595, 596, 597, 598, 599, 600, 601,
- 602, 603, 604, 605, 606, 607, 608, 609, 610, 611,
- 612, 703, 704, 705, 706, 707, 7, 708, 709, 710,
- 711, 712, 713, 714, 494, 715, 716, 495, 717, 718,
- 510, 719, 511, 720, 8, 512, 496, 721, 722, 723,
- 724, 725, 726, 727, 728, 729, 730, 731, 732, 733,
- 734, 735, 736, 737, 738, 739, 740, 741, 742, 743,
- 744, 745, 746, 747, 748, 749, 526, 527, 750, 751,
- 752, 753, 754, 755, 756, 757, 758, 759, 760, 761,
- 762, 763, 764, 765, 766, 767, 768, 769, 9, 770,
- 771, 772, 773, 774, 775, 776, 777, 778, 779, 780,
- 781, 782, 783, 784, 785, 786, 787, 788, 789, 528,
- 790, 791, 792, 793, 794, 795, 796, 797, 798, 799,
- 800, 801, 802, 803, 804, 805, 806, 807, 808, 809,
- 810, 811, 812, 813, 814, 815, 816, 817, 818, 819,
- 820, 821, 822, 823, 824, 825, 826, 827, 828, 829,
- 10, 830, 831, 832, 833, 834, 835, 836, 539, 540,
- 541, 542, 837, 838, 839, 840, 841, 842, 544, 843,
- 538, 11, 539, 540, 541, 542, 543, 497, 844, 845,
- 846, 847, 544, 513, 848, 849, 558, 559, 560, 561,
- 562, 850, 12, 851, 852, 853, 854, 855, 856, 563,
- 857, 13, 858, 859, 860, 861, 862, 863, 864, 865,
- 866, 545, 546, 867, 868, 869, 870, 871, 872, 873,
- 874, 875, 876, 877, 878, 14, 879, 880, 881, 15,
- 882, 883, 884, 0, 885, 16, 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, 76, 886, 887,
- 888, 889, 77, 78, 79, 890, 891, 892, 80, 81,
- 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
- 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
- 112, 113, 114, 115, 116, 117, 118, 119, 120, 893,
- 894, 895, 896, 897, 898, 899, 900, 901, 121, 122,
- 123, 124, 125, 902, 126, 127, 128, 903, 904, 129,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
- 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
- 150, 151, 152, 153, 154, 905, 906, 907, 155, 908,
- 909, 156, 157, 158, 159, 160, 161, 162, 910, 163,
- 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
- 174, 911, 912, 913, 914, 915, 916, 917, 918, 919,
- 920, 921, 922, 923, 924, 925, 926, 927, 928, 929,
- 930, 175, 176, 177, 178, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
- 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, 215, 216, 931, 217, 932, 218, 219, 220, 221,
- 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
- 232, 233, 234, 235, 933, 934, 935, 936, 937, 938,
- 939, 940, 941, 942, 943, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 944, 945, 946, 947, 948,
- 949, 950, 246, 951, 952, 953, 954, 955, 956, 957,
- 247, 248, 958, 249, 250, 959, 251, 252, 960, 961,
- 253, 254, 255, 256, 257, 258, 259, 260, 962, 963,
- 964, 261, 965, 966, 967, 968, 969, 970, 971, 972,
- 262, 263, 264, 265, 973, 974, 975, 266, 976, 977,
- 978, 979, 980, 981, 982, 983, 984, 985, 986, 987,
- 988, 989, 990, 991, 992, 993, 994, 995, 996, 997,
- 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -27, 652, 653, 654, 655, -311, -311, 656,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
+ -311, -311
+};
+
+/* 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 -1
+static const yytype_uint16 yytable[] =
+{
+ 2, 541, 526, 677, 678, 637, 494, 640, 495, 496,
+ 575, 3, 4, 511, 682, 541, 683, 684, 685, 686,
+ 687, 512, 513, 643, 644, 645, 646, 647, 648, 649,
+ 650, 651, 652, 688, 689, 690, 691, 692, 527, 528,
+ 664, 665, 666, 667, 668, 669, 5, 693, 694, 695,
+ 696, 697, 6, 698, 699, 581, 582, 583, 584, 585,
+ 586, 587, 588, 700, 701, 529, 702, 703, 704, 705,
+ 706, 497, 598, 599, 600, 601, 602, 603, 604, 605,
+ 606, 607, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 707, 708, 709, 710, 711, 7, 712, 713, 714,
+ 715, 716, 717, 718, 498, 719, 720, 499, 721, 722,
+ 514, 723, 515, 724, 8, 516, 500, 725, 726, 727,
+ 728, 729, 730, 731, 732, 733, 734, 735, 736, 737,
+ 738, 739, 740, 741, 742, 743, 744, 745, 746, 747,
+ 748, 749, 750, 751, 752, 753, 530, 531, 754, 755,
+ 756, 757, 758, 759, 760, 761, 762, 763, 764, 765,
+ 766, 767, 768, 769, 770, 771, 772, 773, 9, 774,
+ 775, 776, 777, 778, 779, 780, 781, 782, 783, 784,
+ 785, 786, 787, 788, 789, 790, 791, 792, 793, 532,
+ 794, 795, 796, 797, 798, 799, 800, 801, 802, 803,
+ 804, 805, 806, 807, 808, 809, 810, 811, 812, 813,
+ 814, 815, 816, 817, 818, 819, 820, 821, 822, 823,
+ 824, 825, 826, 827, 828, 829, 830, 831, 832, 833,
+ 10, 834, 835, 836, 837, 838, 839, 840, 841, 543,
+ 544, 545, 546, 842, 843, 844, 845, 846, 847, 548,
+ 848, 542, 11, 543, 544, 545, 546, 547, 501, 849,
+ 850, 851, 852, 548, 517, 853, 854, 562, 563, 564,
+ 565, 566, 855, 12, 856, 857, 858, 859, 860, 861,
+ 567, 862, 13, 863, 864, 865, 866, 867, 868, 869,
+ 870, 871, 549, 550, 872, 873, 874, 875, 876, 877,
+ 878, 879, 880, 881, 882, 883, 14, 884, 885, 886,
+ 15, 887, 888, 889, 0, 890, 16, 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, 76, 891,
+ 892, 893, 894, 77, 78, 79, 895, 896, 897, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 898, 899, 900, 901, 902, 903, 904, 905, 906, 121,
+ 122, 123, 124, 125, 907, 126, 127, 128, 908, 909,
+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
+ 149, 150, 151, 152, 153, 154, 910, 911, 912, 155,
+ 913, 914, 156, 157, 158, 159, 160, 161, 162, 915,
+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
+ 173, 174, 916, 917, 918, 919, 920, 921, 922, 923,
+ 924, 925, 926, 927, 928, 929, 930, 931, 932, 933,
+ 934, 935, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, 936, 217, 937, 218, 219, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, 236, 938, 939, 940, 941,
+ 942, 943, 944, 945, 946, 947, 948, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 949, 950, 951,
+ 952, 953, 954, 955, 247, 956, 957, 958, 959, 960,
+ 961, 962, 248, 249, 963, 250, 251, 964, 252, 253,
+ 965, 966, 254, 255, 256, 257, 258, 259, 260, 261,
+ 967, 968, 969, 262, 970, 971, 972, 973, 974, 975,
+ 976, 977, 263, 264, 265, 266, 978, 979, 980, 267,
+ 268, 981, 982, 983, 984, 985, 986, 987, 988, 989,
+ 990, 991, 992, 993, 994, 995, 996, 997, 998, 999,
+ 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
+ 1010, 1011, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 572, 573, 574, 575, 576
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 576,
+ 577, 578, 579, 580
};
static const yytype_int16 yycheck[] =
{
- 0, 45, 45, 306, 307, 115, 45, 316, 47, 48,
+ 0, 45, 45, 307, 308, 115, 45, 317, 47, 48,
37, 11, 12, 45, 10, 45, 10, 10, 10, 10,
- 10, 53, 54, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 10, 10, 10, 10, 10, 81, 82,
- 273, 274, 275, 276, 277, 278, 46, 10, 10, 10,
+ 10, 53, 54, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 10, 10, 10, 10, 10, 81, 82,
+ 274, 275, 276, 277, 278, 279, 46, 10, 10, 10,
10, 10, 52, 10, 10, 97, 98, 99, 100, 101,
102, 103, 104, 10, 10, 108, 10, 10, 10, 10,
10, 110, 169, 170, 171, 172, 173, 174, 175, 176,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 230, 10, 10, 10, 10, 10, 10, 10, 282, 283,
- 284, 285, 10, 10, 10, 10, 10, 10, 292, 10,
- 280, 251, 282, 283, 284, 285, 286, 296, 10, 10,
- 10, 10, 292, 295, 10, 10, 310, 311, 312, 313,
- 314, 10, 272, 10, 10, 10, 10, 10, 10, 323,
- 10, 281, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 321, 322, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 10, 305, 10, 10, 10, 309,
- 10, 10, 10, -1, 10, 315, 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, 10, 10,
- 10, 10, 49, 50, 51, 10, 10, 10, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 10,
- 10, 10, 10, 10, 10, 10, 10, 10, 105, 106,
- 107, 108, 109, 10, 111, 112, 113, 10, 10, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 10, 10, 10, 145, 10,
- 10, 148, 149, 150, 151, 152, 153, 154, 10, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 230, 10, 10, 10, 10, 10, 10, 10, 10, 283,
+ 284, 285, 286, 10, 10, 10, 10, 10, 10, 293,
+ 10, 281, 252, 283, 284, 285, 286, 287, 297, 10,
+ 10, 10, 10, 293, 296, 10, 10, 311, 312, 313,
+ 314, 315, 10, 273, 10, 10, 10, 10, 10, 10,
+ 324, 10, 282, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 322, 323, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 306, 10, 10, 10,
+ 310, 10, 10, 10, -1, 10, 316, 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, 10,
+ 10, 10, 10, 49, 50, 51, 10, 10, 10, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 105,
+ 106, 107, 108, 109, 10, 111, 112, 113, 10, 10,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 10, 10, 10, 145,
+ 10, 10, 148, 149, 150, 151, 152, 153, 154, 10,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 10, 231, 10, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 10, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 10, 10, 10, 10, 10,
- 10, 10, 279, 10, 10, 10, 10, 10, 10, 10,
- 287, 288, 10, 290, 291, 10, 293, 294, 10, 10,
- 297, 298, 299, 300, 301, 302, 303, 304, 10, 10,
- 10, 308, 10, 10, 10, 10, 10, 10, 10, 10,
- 317, 318, 319, 320, 10, 10, 10, 324, 10, 10,
+ 10, 10, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 10, 231, 10, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 10, 10, 10,
+ 10, 10, 10, 10, 280, 10, 10, 10, 10, 10,
+ 10, 10, 288, 289, 10, 291, 292, 10, 294, 295,
+ 10, 10, 298, 299, 300, 301, 302, 303, 304, 305,
+ 10, 10, 10, 309, 10, 10, 10, 10, 10, 10,
+ 10, 10, 318, 319, 320, 321, 10, 10, 10, 325,
+ 326, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 10, 10, 10, 10, -1, -1,
+ 10, 10, -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, 37, 37, 37, 37, 37
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 37,
+ 37, 37, 37, 37
};
- /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
-static const yytype_int16 yystos[] =
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const yytype_uint16 yystos[] =
{
- 0, 326, 0, 11, 12, 46, 52, 96, 114, 168,
- 230, 251, 272, 281, 305, 309, 315, 327, 328, 329,
- 332, 335, 338, 341, 350, 602, 613, 635, 639, 647,
- 660, 670, 330, 333, 336, 339, 342, 351, 603, 614,
- 636, 640, 648, 661, 671, 13, 14, 15, 16, 17,
+ 0, 328, 0, 11, 12, 46, 52, 96, 114, 168,
+ 230, 252, 273, 282, 306, 310, 316, 329, 330, 331,
+ 334, 337, 340, 343, 352, 606, 617, 639, 643, 651,
+ 664, 674, 332, 335, 338, 341, 344, 353, 607, 618,
+ 640, 644, 652, 665, 675, 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, 49, 50, 51,
213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
223, 224, 225, 226, 227, 228, 229, 231, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 262, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 279, 287, 288, 290,
- 291, 293, 294, 297, 298, 299, 300, 301, 302, 303,
- 304, 308, 317, 318, 319, 320, 324, 331, 353, 354,
+ 245, 246, 247, 248, 249, 250, 251, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 280, 288, 289,
+ 291, 292, 294, 295, 298, 299, 300, 301, 302, 303,
+ 304, 305, 309, 318, 319, 320, 321, 325, 326, 333,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
- 565, 566, 567, 568, 569, 643, 644, 645, 646, 669,
- 45, 47, 48, 110, 143, 146, 155, 296, 334, 570,
- 571, 572, 573, 574, 575, 576, 577, 45, 53, 54,
- 142, 144, 147, 295, 337, 578, 579, 580, 581, 582,
- 583, 584, 45, 81, 82, 108, 189, 190, 232, 340,
- 595, 596, 597, 598, 599, 600, 601, 45, 280, 282,
- 283, 284, 285, 286, 292, 321, 322, 343, 585, 586,
- 587, 588, 589, 590, 591, 592, 593, 594, 310, 311,
- 312, 313, 314, 323, 344, 345, 346, 347, 348, 349,
- 352, 585, 586, 587, 588, 589, 592, 97, 98, 99,
- 100, 101, 102, 103, 104, 604, 605, 606, 607, 608,
- 609, 610, 611, 612, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 615, 616, 617, 618, 619, 620, 621,
+ 565, 566, 567, 568, 569, 570, 571, 572, 573, 647,
+ 648, 649, 650, 673, 45, 47, 48, 110, 143, 146,
+ 155, 297, 336, 574, 575, 576, 577, 578, 579, 580,
+ 581, 45, 53, 54, 142, 144, 147, 296, 339, 582,
+ 583, 584, 585, 586, 587, 588, 45, 81, 82, 108,
+ 189, 190, 232, 342, 599, 600, 601, 602, 603, 604,
+ 605, 45, 281, 283, 284, 285, 286, 287, 293, 322,
+ 323, 345, 589, 590, 591, 592, 593, 594, 595, 596,
+ 597, 598, 311, 312, 313, 314, 315, 324, 346, 347,
+ 348, 349, 350, 351, 354, 589, 590, 591, 592, 593,
+ 596, 97, 98, 99, 100, 101, 102, 103, 104, 608,
+ 609, 610, 611, 612, 613, 614, 615, 616, 169, 170,
+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
+ 181, 182, 183, 184, 185, 186, 187, 619, 620, 621,
622, 623, 624, 625, 626, 627, 628, 629, 630, 631,
- 632, 633, 634, 115, 637, 638, 316, 641, 642, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 273, 274, 275, 276, 277, 278, 662, 663, 664, 665,
- 666, 667, 668, 306, 307, 672, 673, 674, 10, 10,
+ 632, 633, 634, 635, 636, 637, 638, 115, 641, 642,
+ 317, 645, 646, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 274, 275, 276, 277, 278, 279,
+ 666, 667, 668, 669, 670, 671, 672, 307, 308, 676,
+ 677, 678, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 10, 10
+ 10, 10
};
- /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_int16 yyr1[] =
-{
- 0, 325, 326, 326, 327, 327, 327, 327, 327, 327,
- 327, 327, 327, 327, 327, 327, 327, 327, 328, 329,
- 330, 330, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 331, 332, 333, 333, 334, 334, 334,
- 334, 334, 334, 334, 334, 335, 336, 336, 337, 337,
- 337, 337, 337, 337, 337, 338, 339, 339, 340, 340,
- 340, 340, 340, 340, 340, 341, 342, 342, 343, 343,
- 343, 343, 343, 343, 343, 343, 343, 343, 344, 345,
- 346, 347, 348, 349, 350, 351, 351, 352, 352, 352,
- 352, 352, 352, 352, 352, 352, 352, 352, 352, 353,
- 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
- 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
- 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
- 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
- 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
- 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
- 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
- 474, 475, 476, 477, 478, 479, 480, 481, 482, 483,
- 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
- 494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
- 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
- 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
- 524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
- 534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
- 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
- 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
- 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,
- 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
- 584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
- 594, 595, 596, 597, 598, 599, 600, 601, 602, 603,
- 603, 604, 604, 604, 604, 604, 604, 604, 604, 605,
- 606, 607, 608, 609, 610, 611, 612, 613, 614, 614,
- 615, 615, 615, 615, 615, 615, 615, 615, 615, 615,
- 615, 615, 615, 615, 615, 615, 615, 615, 615, 616,
- 617, 618, 619, 620, 621, 622, 623, 624, 625, 626,
- 627, 628, 629, 630, 631, 632, 633, 634, 635, 636,
- 636, 637, 638, 639, 640, 640, 641, 642, 643, 644,
- 645, 646, 647, 648, 648, 649, 649, 649, 649, 649,
- 649, 649, 649, 649, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 661, 661, 662, 662,
- 662, 662, 662, 662, 663, 664, 665, 666, 667, 668,
- 669, 670, 671, 671, 672, 672, 673, 674
-};
+#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
- /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
-static const yytype_int8 yyr2[] =
-{
- 0, 2, 0, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 1, 1, 1,
- 2, 0, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 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, 2, 0, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 2, 0, 1, 1,
- 1, 1, 1, 1, 1, 1, 2, 0, 1, 1,
- 1, 1, 1, 1, 1, 1, 2, 0, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
- 2, 2, 2, 2, 1, 2, 0, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 3, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
- 3, 4, 4, 4, 3, 3, 2, 2, 2, 2,
- 2, 2, 3, 3, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 3, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 3, 3, 3, 2, 2, 2, 1, 2,
- 0, 1, 1, 1, 1, 1, 1, 1, 1, 2,
- 2, 2, 2, 2, 2, 2, 2, 1, 2, 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 1, 2,
- 0, 1, 2, 1, 2, 0, 1, 2, 2, 2,
- 3, 3, 1, 2, 0, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 1, 2, 0, 1, 1,
- 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
- 3, 1, 2, 0, 1, 1, 2, 2
-};
+/* 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. */
-enum { YYENOMEM = -2 };
+#define YYFAIL goto yyerrlab
-#define yyerrok (yyerrstatus = 0)
-#define yyclearin (yychar = YYEMPTY)
+#define YYRECOVERING() (!!yyerrstatus)
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
+#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
-#define YYRECOVERING() (!!yyerrstatus)
+/* 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 defined YYLTYPE_IS_TRIVIAL && 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
-#define YYBACKUP(Token, Value) \
- do \
- if (yychar == YYEMPTY) \
- { \
- yychar = (Token); \
- yylval = (Value); \
- YYPOPSTACK (yylen); \
- yystate = *yyssp; \
- goto yybackup; \
- } \
- else \
- { \
- yyerror (YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
- while (0)
-
-/* Backward compatibility with an undocumented macro.
- Use YYerror or YYUNDEF. */
-#define YYERRCODE YYUNDEF
+/* 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
# define YYFPRINTF fprintf
# endif
-# define YYDPRINTF(Args) \
-do { \
- if (yydebug) \
- YYFPRINTF Args; \
-} while (0)
-
-/* This macro is provided for backward compatibility. */
-# ifndef YY_LOCATION_PRINT
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-# endif
-
-
-# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, \
- Kind, Value); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (0)
-
-
-/*-----------------------------------.
-| Print this symbol's value on YYO. |
-`-----------------------------------*/
-
+# 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 (FILE *yyo,
- yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
+yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+#endif
{
- FILE *yyoutput = yyo;
- YY_USE (yyoutput);
if (!yyvaluep)
return;
# ifdef YYPRINT
- if (yykind < YYNTOKENS)
- YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
+ if (yytype < YYNTOKENS)
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+ YYUSE (yyoutput);
# endif
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- YY_USE (yykind);
- YY_IGNORE_MAYBE_UNINITIALIZED_END
+ switch (yytype)
+ {
+ default:
+ break;
+ }
}
-/*---------------------------.
-| Print this symbol on YYO. |
-`---------------------------*/
+/*--------------------------------.
+| 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 (FILE *yyo,
- yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
+yy_symbol_print (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+#endif
{
- YYFPRINTF (yyo, "%s %s (",
- yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
+ if (yytype < YYNTOKENS)
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
- yy_symbol_value_print (yyo, yykind, yyvaluep);
- YYFPRINTF (yyo, ")");
+ yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+ YYFPRINTF (yyoutput, ")");
}
/*------------------------------------------------------------------.
| TOP (included). |
`------------------------------------------------------------------*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+#else
static void
-yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
+yy_stack_print (bottom, top)
+ yytype_int16 *bottom;
+ yytype_int16 *top;
+#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; yybottom <= yytop; yybottom++)
- {
- int yybot = *yybottom;
- YYFPRINTF (stderr, " %d", yybot);
- }
+ for (; bottom <= top; ++bottom)
+ YYFPRINTF (stderr, " %d", *bottom);
YYFPRINTF (stderr, "\n");
}
-# define YY_STACK_PRINT(Bottom, Top) \
-do { \
- if (yydebug) \
- yy_stack_print ((Bottom), (Top)); \
-} while (0)
+# 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 (yy_state_t *yyssp, YYSTYPE *yyvsp,
- int yyrule)
+yy_reduce_print (yyvsp, yyrule)
+ YYSTYPE *yyvsp;
+ int yyrule;
+#endif
{
- int yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
- YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
- yyrule - 1, yylno);
+ 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,
- YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
- &yyvsp[(yyi + 1) - (yynrhs)]);
- YYFPRINTF (stderr, "\n");
+ fprintf (stderr, " $%d = ", yyi + 1);
+ yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+ &(yyvsp[(yyi + 1) - (yynrhs)])
+ );
+ fprintf (stderr, "\n");
}
}
-# define YY_REDUCE_PRINT(Rule) \
-do { \
- if (yydebug) \
- yy_reduce_print (yyssp, yyvsp, Rule); \
-} while (0)
+# 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) ((void) 0)
-# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
+# 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
+#ifndef YYINITDEPTH
# define YYINITDEPTH 200
#endif
# define YYMAXDEPTH 10000
#endif
+\f
+
+#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
+
+# 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;
+
+ 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)
+{
+ 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 (! 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
+ {
+ 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 */
+\f
/*-----------------------------------------------.
| 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 (const char *yymsg,
- yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
+yydestruct (yymsg, yytype, yyvaluep)
+ const char *yymsg;
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
{
- YY_USE (yyvaluep);
+ YYUSE (yyvaluep);
+
if (!yymsg)
yymsg = "Deleting";
- YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
+ YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+ switch (yytype)
+ {
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- YY_USE (yykind);
- YY_IGNORE_MAYBE_UNINITIALIZED_END
+ default:
+ break;
+ }
}
+\f
+/* Prevent warnings from -Wmissing-prototypes. */
-/* Lookahead token kind. */
+#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 */
+
+
+
+/* The look-ahead symbol. */
int yychar;
-/* The semantic value of the lookahead symbol. */
+/* The semantic value of the look-ahead symbol. */
YYSTYPE yylval;
+
/* Number of syntax errors so far. */
int yynerrs;
-
/*----------.
| yyparse. |
`----------*/
+#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
{
- yy_state_fast_t yystate = 0;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus = 0;
+
+ int yystate;
+ int yyn;
+ int yyresult;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+ /* Look-ahead token as an internal (translated) token number. */
+ int yytoken = 0;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
- /* Refer to the stacks through separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ /* Three stacks and their tools:
+ `yyss': related to states,
+ `yyvs': related to semantic values,
+ `yyls': related to locations.
- /* Their size. */
- YYPTRDIFF_T yystacksize = YYINITDEPTH;
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
- /* The state stack: array, bottom, top. */
- yy_state_t yyssa[YYINITDEPTH];
- yy_state_t *yyss = yyssa;
- yy_state_t *yyssp = yyss;
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss = yyssa;
+ yytype_int16 *yyssp;
- /* The semantic value stack: array, bottom, top. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp = yyvs;
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+ YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
+
+ YYSIZE_T yystacksize = YYINITDEPTH;
- int yyn;
- /* The return value of yyparse. */
- int yyresult;
- /* Lookahead symbol kind. */
- yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
-
-#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;
YYDPRINTF ((stderr, "Starting parse\n"));
- yychar = YYEMPTY; /* Cause a token to be read. */
- goto yysetstate;
+ 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 -- Push a new state, which is found in yystate. |
`------------------------------------------------------------*/
-yynewstate:
+ 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 -- set current state (the top of the stack) to yystate. |
-`--------------------------------------------------------------------*/
-yysetstate:
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
- YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
- YY_IGNORE_USELESS_CAST_BEGIN
- *yyssp = YY_CAST (yy_state_t, yystate);
- YY_IGNORE_USELESS_CAST_END
- YY_STACK_PRINT (yyss, yyssp);
+ yysetstate:
+ *yyssp = yystate;
if (yyss + yystacksize - 1 <= yyssp)
-#if !defined yyoverflow && !defined YYSTACK_RELOCATE
- goto yyexhaustedlab;
-#else
{
/* Get the current used size of the three stacks, in elements. */
- YYPTRDIFF_T yysize = yyssp - yyss + 1;
+ YYSIZE_T yysize = yyssp - yyss + 1;
-# if defined yyoverflow
+#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. */
- yy_state_t *yyss1 = yyss;
- YYSTYPE *yyvs1 = yyvs;
-
- /* 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 * YYSIZEOF (*yyssp),
- &yyvs1, yysize * YYSIZEOF (*yyvsp),
- &yystacksize);
- yyss = yyss1;
- yyvs = yyvs1;
+ /* 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 /* defined YYSTACK_RELOCATE */
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyexhaustedlab;
+# else
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
- goto yyexhaustedlab;
+ goto yyexhaustedlab;
yystacksize *= 2;
if (YYMAXDEPTH < yystacksize)
- yystacksize = YYMAXDEPTH;
+ yystacksize = YYMAXDEPTH;
{
- yy_state_t *yyss1 = yyss;
- union yyalloc *yyptr =
- YY_CAST (union yyalloc *,
- YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
- if (! yyptr)
- goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ yytype_int16 *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyexhaustedlab;
+ YYSTACK_RELOCATE (yyss);
+ YYSTACK_RELOCATE (yyvs);
+
# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
}
# endif
+#endif /* no yyoverflow */
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
- YY_IGNORE_USELESS_CAST_BEGIN
- YYDPRINTF ((stderr, "Stack size increased to %ld\n",
- YY_CAST (long, yystacksize)));
- YY_IGNORE_USELESS_CAST_END
+
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
+ YYABORT;
}
-#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
- if (yystate == YYFINAL)
- YYACCEPT;
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
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. */
+ look-ahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to lookahead token. */
+ /* First try to decide what to do without reference to look-ahead token. */
yyn = yypact[yystate];
- if (yypact_value_is_default (yyn))
+ if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a lookahead token if don't already have one. */
+ /* Not known => get a look-ahead token if don't already have one. */
- /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
if (yychar == YYEMPTY)
{
- YYDPRINTF ((stderr, "Reading a token\n"));
- yychar = yylex ();
+ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = YYLEX;
}
if (yychar <= YYEOF)
{
- yychar = YYEOF;
- yytoken = YYSYMBOL_YYEOF;
+ yychar = yytoken = YYEOF;
YYDPRINTF ((stderr, "Now at end of input.\n"));
}
- else if (yychar == YYerror)
- {
- /* The scanner already issued an error message, process directly
- to error recovery. But do not keep the error token as
- lookahead, it is too special and may lead us to an endless
- loop in error recovery. */
- yychar = YYUNDEF;
- yytoken = YYSYMBOL_YYerror;
- goto yyerrlab1;
- }
else
{
yytoken = YYTRANSLATE (yychar);
yyn = yytable[yyn];
if (yyn <= 0)
{
- if (yytable_value_is_error (yyn))
- goto yyerrlab;
+ if (yyn == 0 || yyn == YYTABLE_NINF)
+ goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the lookahead token. */
+ /* Shift the look-ahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+ /* Discard the shifted token unless it is eof. */
+ if (yychar != YYEOF)
+ yychar = YYEMPTY;
+
yystate = yyn;
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
- YY_IGNORE_MAYBE_UNINITIALIZED_END
- /* Discard the shifted token. */
- yychar = YYEMPTY;
goto yynewstate;
/*-----------------------------.
-| yyreduce -- do a reduction. |
+| 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'.
+ `$$ = $1'.
Otherwise, the following line sets YYVAL to garbage.
This behavior is undocumented and Bison
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
- case 18: /* force_toplevel: VAR_FORCE_TOPLEVEL */
-#line 204 "./util/configparser.y"
- {
+ case 18:
+#line 205 "./util/configparser.y"
+ {
OUTYY(("\nP(force-toplevel)\n"));
}
-#line 2787 "util/configparser.c"
break;
- case 19: /* serverstart: VAR_SERVER */
-#line 210 "./util/configparser.y"
- {
+ case 19:
+#line 211 "./util/configparser.y"
+ {
OUTYY(("\nP(server:)\n"));
}
-#line 2795 "util/configparser.c"
break;
- case 244: /* stubstart: VAR_STUB_ZONE */
-#line 319 "./util/configparser.y"
- {
+ case 246:
+#line 320 "./util/configparser.y"
+ {
struct config_stub* s;
OUTYY(("\nP(stub_zone:)\n"));
s = (struct config_stub*)calloc(1, sizeof(struct config_stub));
yyerror("out of memory");
}
}
-#line 2811 "util/configparser.c"
break;
- case 255: /* forwardstart: VAR_FORWARD_ZONE */
-#line 337 "./util/configparser.y"
- {
+ case 257:
+#line 338 "./util/configparser.y"
+ {
struct config_stub* s;
OUTYY(("\nP(forward_zone:)\n"));
s = (struct config_stub*)calloc(1, sizeof(struct config_stub));
yyerror("out of memory");
}
}
-#line 2827 "util/configparser.c"
break;
- case 265: /* viewstart: VAR_VIEW */
-#line 355 "./util/configparser.y"
- {
+ case 267:
+#line 356 "./util/configparser.y"
+ {
struct config_view* s;
OUTYY(("\nP(view:)\n"));
s = (struct config_view*)calloc(1, sizeof(struct config_view));
yyerror("out of memory");
}
}
-#line 2845 "util/configparser.c"
break;
- case 275: /* authstart: VAR_AUTH_ZONE */
-#line 375 "./util/configparser.y"
- {
+ case 277:
+#line 376 "./util/configparser.y"
+ {
struct config_auth* s;
OUTYY(("\nP(auth_zone:)\n"));
s = (struct config_auth*)calloc(1, sizeof(struct config_auth));
yyerror("out of memory");
}
}
-#line 2868 "util/configparser.c"
break;
- case 288: /* rpz_tag: VAR_TAGS STRING_ARG */
-#line 402 "./util/configparser.y"
- {
+ case 290:
+#line 403 "./util/configparser.y"
+ {
uint8_t* bitlist;
size_t len = 0;
- OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[0].str)));
- bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
+ OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[(2) - (2)].str)));
+ bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[(2) - (2)].str),
&len);
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
if(!bitlist) {
yyerror("could not parse tags, (define-tag them first)");
}
}
}
-#line 2889 "util/configparser.c"
break;
- case 289: /* rpz_action_override: VAR_RPZ_ACTION_OVERRIDE STRING_ARG */
-#line 421 "./util/configparser.y"
- {
- OUTYY(("P(rpz_action_override:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "nxdomain")!=0 && strcmp((yyvsp[0].str), "nodata")!=0 &&
- strcmp((yyvsp[0].str), "passthru")!=0 && strcmp((yyvsp[0].str), "drop")!=0 &&
- strcmp((yyvsp[0].str), "cname")!=0 && strcmp((yyvsp[0].str), "disabled")!=0) {
+ case 291:
+#line 422 "./util/configparser.y"
+ {
+ OUTYY(("P(rpz_action_override:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "nxdomain")!=0 && strcmp((yyvsp[(2) - (2)].str), "nodata")!=0 &&
+ strcmp((yyvsp[(2) - (2)].str), "passthru")!=0 && strcmp((yyvsp[(2) - (2)].str), "drop")!=0 &&
+ strcmp((yyvsp[(2) - (2)].str), "cname")!=0 && strcmp((yyvsp[(2) - (2)].str), "disabled")!=0) {
yyerror("rpz-action-override action: expected nxdomain, "
"nodata, passthru, drop, cname or disabled");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
cfg_parser->cfg->auths->rpz_action_override = NULL;
}
else {
- cfg_parser->cfg->auths->rpz_action_override = (yyvsp[0].str);
+ cfg_parser->cfg->auths->rpz_action_override = (yyvsp[(2) - (2)].str);
}
}
-#line 2908 "util/configparser.c"
break;
- case 290: /* rpz_cname_override: VAR_RPZ_CNAME_OVERRIDE STRING_ARG */
-#line 438 "./util/configparser.y"
- {
- OUTYY(("P(rpz_cname_override:%s)\n", (yyvsp[0].str)));
+ case 292:
+#line 439 "./util/configparser.y"
+ {
+ OUTYY(("P(rpz_cname_override:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->auths->rpz_cname);
- cfg_parser->cfg->auths->rpz_cname = (yyvsp[0].str);
+ cfg_parser->cfg->auths->rpz_cname = (yyvsp[(2) - (2)].str);
}
-#line 2918 "util/configparser.c"
break;
- case 291: /* rpz_log: VAR_RPZ_LOG STRING_ARG */
-#line 446 "./util/configparser.y"
- {
- OUTYY(("P(rpz_log:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 293:
+#line 447 "./util/configparser.y"
+ {
+ OUTYY(("P(rpz_log:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->auths->rpz_log = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->auths->rpz_log = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 2930 "util/configparser.c"
break;
- case 292: /* rpz_log_name: VAR_RPZ_LOG_NAME STRING_ARG */
-#line 456 "./util/configparser.y"
- {
- OUTYY(("P(rpz_log_name:%s)\n", (yyvsp[0].str)));
+ case 294:
+#line 457 "./util/configparser.y"
+ {
+ OUTYY(("P(rpz_log_name:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->auths->rpz_log_name);
- cfg_parser->cfg->auths->rpz_log_name = (yyvsp[0].str);
+ cfg_parser->cfg->auths->rpz_log_name = (yyvsp[(2) - (2)].str);
}
-#line 2940 "util/configparser.c"
break;
- case 293: /* rpz_signal_nxdomain_ra: VAR_RPZ_SIGNAL_NXDOMAIN_RA STRING_ARG */
-#line 463 "./util/configparser.y"
- {
- OUTYY(("P(rpz_signal_nxdomain_ra:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 295:
+#line 464 "./util/configparser.y"
+ {
+ OUTYY(("P(rpz_signal_nxdomain_ra:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->auths->rpz_signal_nxdomain_ra = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->auths->rpz_signal_nxdomain_ra = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 2952 "util/configparser.c"
break;
- case 294: /* rpzstart: VAR_RPZ */
-#line 473 "./util/configparser.y"
- {
+ case 296:
+#line 474 "./util/configparser.y"
+ {
struct config_auth* s;
OUTYY(("\nP(rpz:)\n"));
s = (struct config_auth*)calloc(1, sizeof(struct config_auth));
yyerror("out of memory");
}
}
-#line 2973 "util/configparser.c"
break;
- case 309: /* server_num_threads: VAR_NUM_THREADS STRING_ARG */
-#line 497 "./util/configparser.y"
- {
- OUTYY(("P(server_num_threads:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 311:
+#line 498 "./util/configparser.y"
+ {
+ OUTYY(("P(server_num_threads:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->num_threads = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->num_threads = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 2985 "util/configparser.c"
break;
- case 310: /* server_verbosity: VAR_VERBOSITY STRING_ARG */
-#line 506 "./util/configparser.y"
- {
- OUTYY(("P(server_verbosity:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 312:
+#line 507 "./util/configparser.y"
+ {
+ OUTYY(("P(server_verbosity:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->verbosity = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->verbosity = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 2997 "util/configparser.c"
break;
- case 311: /* server_statistics_interval: VAR_STATISTICS_INTERVAL STRING_ARG */
-#line 515 "./util/configparser.y"
- {
- OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "") == 0 || strcmp((yyvsp[0].str), "0") == 0)
+ case 313:
+#line 516 "./util/configparser.y"
+ {
+ OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "") == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0)
cfg_parser->cfg->stat_interval = 0;
- else if(atoi((yyvsp[0].str)) == 0)
+ else if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("number expected");
- else cfg_parser->cfg->stat_interval = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->stat_interval = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3011 "util/configparser.c"
break;
- case 312: /* server_statistics_cumulative: VAR_STATISTICS_CUMULATIVE STRING_ARG */
-#line 526 "./util/configparser.y"
- {
- OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 314:
+#line 527 "./util/configparser.y"
+ {
+ OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->stat_cumulative = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->stat_cumulative = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3023 "util/configparser.c"
break;
- case 313: /* server_extended_statistics: VAR_EXTENDED_STATISTICS STRING_ARG */
-#line 535 "./util/configparser.y"
- {
- OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 315:
+#line 536 "./util/configparser.y"
+ {
+ OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->stat_extended = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->stat_extended = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3035 "util/configparser.c"
break;
- case 314: /* server_shm_enable: VAR_SHM_ENABLE STRING_ARG */
-#line 544 "./util/configparser.y"
- {
- OUTYY(("P(server_shm_enable:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 316:
+#line 545 "./util/configparser.y"
+ {
+ OUTYY(("P(server_shm_enable:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->shm_enable = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->shm_enable = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3047 "util/configparser.c"
break;
- case 315: /* server_shm_key: VAR_SHM_KEY STRING_ARG */
-#line 553 "./util/configparser.y"
- {
- OUTYY(("P(server_shm_key:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "") == 0 || strcmp((yyvsp[0].str), "0") == 0)
+ case 317:
+#line 554 "./util/configparser.y"
+ {
+ OUTYY(("P(server_shm_key:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "") == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0)
cfg_parser->cfg->shm_key = 0;
- else if(atoi((yyvsp[0].str)) == 0)
+ else if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("number expected");
- else cfg_parser->cfg->shm_key = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->shm_key = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3061 "util/configparser.c"
break;
- case 316: /* server_port: VAR_PORT STRING_ARG */
-#line 564 "./util/configparser.y"
- {
- OUTYY(("P(server_port:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0)
+ case 318:
+#line 565 "./util/configparser.y"
+ {
+ OUTYY(("P(server_port:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("port number expected");
- else cfg_parser->cfg->port = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->port = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3073 "util/configparser.c"
break;
- case 317: /* server_send_client_subnet: VAR_SEND_CLIENT_SUBNET STRING_ARG */
-#line 573 "./util/configparser.y"
- {
+ case 319:
+#line 574 "./util/configparser.y"
+ {
#ifdef CLIENT_SUBNET
- OUTYY(("P(server_send_client_subnet:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet, (yyvsp[0].str)))
+ OUTYY(("P(server_send_client_subnet:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet, (yyvsp[(2) - (2)].str)))
fatal_exit("out of memory adding client-subnet");
#else
OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
#endif
}
-#line 3088 "util/configparser.c"
break;
- case 318: /* server_client_subnet_zone: VAR_CLIENT_SUBNET_ZONE STRING_ARG */
-#line 585 "./util/configparser.y"
- {
+ case 320:
+#line 586 "./util/configparser.y"
+ {
#ifdef CLIENT_SUBNET
- OUTYY(("P(server_client_subnet_zone:%s)\n", (yyvsp[0].str)));
+ OUTYY(("P(server_client_subnet_zone:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet_zone,
- (yyvsp[0].str)))
+ (yyvsp[(2) - (2)].str)))
fatal_exit("out of memory adding client-subnet-zone");
#else
OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
#endif
}
-#line 3104 "util/configparser.c"
break;
- case 319: /* server_client_subnet_always_forward: VAR_CLIENT_SUBNET_ALWAYS_FORWARD STRING_ARG */
-#line 599 "./util/configparser.y"
- {
+ case 321:
+#line 600 "./util/configparser.y"
+ {
#ifdef CLIENT_SUBNET
- OUTYY(("P(server_client_subnet_always_forward:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ OUTYY(("P(server_client_subnet_always_forward:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else
cfg_parser->cfg->client_subnet_always_forward =
- (strcmp((yyvsp[0].str), "yes")==0);
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
#else
OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3122 "util/configparser.c"
break;
- case 320: /* server_client_subnet_opcode: VAR_CLIENT_SUBNET_OPCODE STRING_ARG */
-#line 614 "./util/configparser.y"
- {
+ case 322:
+#line 615 "./util/configparser.y"
+ {
#ifdef CLIENT_SUBNET
- OUTYY(("P(client_subnet_opcode:%s)\n", (yyvsp[0].str)));
+ OUTYY(("P(client_subnet_opcode:%s)\n", (yyvsp[(2) - (2)].str)));
OUTYY(("P(Deprecated option, ignoring)\n"));
#else
OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3136 "util/configparser.c"
break;
- case 321: /* server_max_client_subnet_ipv4: VAR_MAX_CLIENT_SUBNET_IPV4 STRING_ARG */
-#line 625 "./util/configparser.y"
- {
+ case 323:
+#line 626 "./util/configparser.y"
+ {
#ifdef CLIENT_SUBNET
- OUTYY(("P(max_client_subnet_ipv4:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ OUTYY(("P(max_client_subnet_ipv4:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("IPv4 subnet length expected");
- else if (atoi((yyvsp[0].str)) > 32)
+ else if (atoi((yyvsp[(2) - (2)].str)) > 32)
cfg_parser->cfg->max_client_subnet_ipv4 = 32;
- else if (atoi((yyvsp[0].str)) < 0)
+ else if (atoi((yyvsp[(2) - (2)].str)) < 0)
cfg_parser->cfg->max_client_subnet_ipv4 = 0;
- else cfg_parser->cfg->max_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[0].str));
+ else cfg_parser->cfg->max_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[(2) - (2)].str));
#else
OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3156 "util/configparser.c"
break;
- case 322: /* server_max_client_subnet_ipv6: VAR_MAX_CLIENT_SUBNET_IPV6 STRING_ARG */
-#line 642 "./util/configparser.y"
- {
+ case 324:
+#line 643 "./util/configparser.y"
+ {
#ifdef CLIENT_SUBNET
- OUTYY(("P(max_client_subnet_ipv6:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ OUTYY(("P(max_client_subnet_ipv6:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("Ipv6 subnet length expected");
- else if (atoi((yyvsp[0].str)) > 128)
+ else if (atoi((yyvsp[(2) - (2)].str)) > 128)
cfg_parser->cfg->max_client_subnet_ipv6 = 128;
- else if (atoi((yyvsp[0].str)) < 0)
+ else if (atoi((yyvsp[(2) - (2)].str)) < 0)
cfg_parser->cfg->max_client_subnet_ipv6 = 0;
- else cfg_parser->cfg->max_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[0].str));
+ else cfg_parser->cfg->max_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[(2) - (2)].str));
#else
OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3176 "util/configparser.c"
break;
- case 323: /* server_min_client_subnet_ipv4: VAR_MIN_CLIENT_SUBNET_IPV4 STRING_ARG */
-#line 659 "./util/configparser.y"
- {
+ case 325:
+#line 660 "./util/configparser.y"
+ {
#ifdef CLIENT_SUBNET
- OUTYY(("P(min_client_subnet_ipv4:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ OUTYY(("P(min_client_subnet_ipv4:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("IPv4 subnet length expected");
- else if (atoi((yyvsp[0].str)) > 32)
+ else if (atoi((yyvsp[(2) - (2)].str)) > 32)
cfg_parser->cfg->min_client_subnet_ipv4 = 32;
- else if (atoi((yyvsp[0].str)) < 0)
+ else if (atoi((yyvsp[(2) - (2)].str)) < 0)
cfg_parser->cfg->min_client_subnet_ipv4 = 0;
- else cfg_parser->cfg->min_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[0].str));
+ else cfg_parser->cfg->min_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[(2) - (2)].str));
#else
OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3196 "util/configparser.c"
break;
- case 324: /* server_min_client_subnet_ipv6: VAR_MIN_CLIENT_SUBNET_IPV6 STRING_ARG */
-#line 676 "./util/configparser.y"
- {
+ case 326:
+#line 677 "./util/configparser.y"
+ {
#ifdef CLIENT_SUBNET
- OUTYY(("P(min_client_subnet_ipv6:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ OUTYY(("P(min_client_subnet_ipv6:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("Ipv6 subnet length expected");
- else if (atoi((yyvsp[0].str)) > 128)
+ else if (atoi((yyvsp[(2) - (2)].str)) > 128)
cfg_parser->cfg->min_client_subnet_ipv6 = 128;
- else if (atoi((yyvsp[0].str)) < 0)
+ else if (atoi((yyvsp[(2) - (2)].str)) < 0)
cfg_parser->cfg->min_client_subnet_ipv6 = 0;
- else cfg_parser->cfg->min_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[0].str));
+ else cfg_parser->cfg->min_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[(2) - (2)].str));
#else
OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3216 "util/configparser.c"
break;
- case 325: /* server_max_ecs_tree_size_ipv4: VAR_MAX_ECS_TREE_SIZE_IPV4 STRING_ARG */
-#line 693 "./util/configparser.y"
- {
+ case 327:
+#line 694 "./util/configparser.y"
+ {
#ifdef CLIENT_SUBNET
- OUTYY(("P(max_ecs_tree_size_ipv4:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ OUTYY(("P(max_ecs_tree_size_ipv4:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("IPv4 ECS tree size expected");
- else if (atoi((yyvsp[0].str)) < 0)
+ else if (atoi((yyvsp[(2) - (2)].str)) < 0)
cfg_parser->cfg->max_ecs_tree_size_ipv4 = 0;
- else cfg_parser->cfg->max_ecs_tree_size_ipv4 = (uint32_t)atoi((yyvsp[0].str));
+ else cfg_parser->cfg->max_ecs_tree_size_ipv4 = (uint32_t)atoi((yyvsp[(2) - (2)].str));
#else
OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3234 "util/configparser.c"
break;
- case 326: /* server_max_ecs_tree_size_ipv6: VAR_MAX_ECS_TREE_SIZE_IPV6 STRING_ARG */
-#line 708 "./util/configparser.y"
- {
+ case 328:
+#line 709 "./util/configparser.y"
+ {
#ifdef CLIENT_SUBNET
- OUTYY(("P(max_ecs_tree_size_ipv6:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ OUTYY(("P(max_ecs_tree_size_ipv6:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("IPv6 ECS tree size expected");
- else if (atoi((yyvsp[0].str)) < 0)
+ else if (atoi((yyvsp[(2) - (2)].str)) < 0)
cfg_parser->cfg->max_ecs_tree_size_ipv6 = 0;
- else cfg_parser->cfg->max_ecs_tree_size_ipv6 = (uint32_t)atoi((yyvsp[0].str));
+ else cfg_parser->cfg->max_ecs_tree_size_ipv6 = (uint32_t)atoi((yyvsp[(2) - (2)].str));
#else
OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3252 "util/configparser.c"
break;
- case 327: /* server_interface: VAR_INTERFACE STRING_ARG */
-#line 723 "./util/configparser.y"
- {
- OUTYY(("P(server_interface:%s)\n", (yyvsp[0].str)));
+ case 329:
+#line 724 "./util/configparser.y"
+ {
+ OUTYY(("P(server_interface:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->num_ifs == 0)
cfg_parser->cfg->ifs = calloc(1, sizeof(char*));
else cfg_parser->cfg->ifs = realloc(cfg_parser->cfg->ifs,
if(!cfg_parser->cfg->ifs)
yyerror("out of memory");
else
- cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[0].str);
+ cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[(2) - (2)].str);
}
-#line 3268 "util/configparser.c"
break;
- case 328: /* server_outgoing_interface: VAR_OUTGOING_INTERFACE STRING_ARG */
-#line 736 "./util/configparser.y"
- {
- OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[0].str)));
+ case 330:
+#line 737 "./util/configparser.y"
+ {
+ OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->num_out_ifs == 0)
cfg_parser->cfg->out_ifs = calloc(1, sizeof(char*));
else cfg_parser->cfg->out_ifs = realloc(
yyerror("out of memory");
else
cfg_parser->cfg->out_ifs[
- cfg_parser->cfg->num_out_ifs++] = (yyvsp[0].str);
+ cfg_parser->cfg->num_out_ifs++] = (yyvsp[(2) - (2)].str);
}
-#line 3286 "util/configparser.c"
break;
- case 329: /* server_outgoing_range: VAR_OUTGOING_RANGE STRING_ARG */
-#line 751 "./util/configparser.y"
- {
- OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0)
+ case 331:
+#line 752 "./util/configparser.y"
+ {
+ OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("number expected");
- else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3298 "util/configparser.c"
break;
- case 330: /* server_outgoing_port_permit: VAR_OUTGOING_PORT_PERMIT STRING_ARG */
-#line 760 "./util/configparser.y"
- {
- OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[0].str)));
- if(!cfg_mark_ports((yyvsp[0].str), 1,
+ case 332:
+#line 761 "./util/configparser.y"
+ {
+ OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 1,
cfg_parser->cfg->outgoing_avail_ports, 65536))
yyerror("port number or range (\"low-high\") expected");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3310 "util/configparser.c"
break;
- case 331: /* server_outgoing_port_avoid: VAR_OUTGOING_PORT_AVOID STRING_ARG */
-#line 769 "./util/configparser.y"
- {
- OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[0].str)));
- if(!cfg_mark_ports((yyvsp[0].str), 0,
+ case 333:
+#line 770 "./util/configparser.y"
+ {
+ OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 0,
cfg_parser->cfg->outgoing_avail_ports, 65536))
yyerror("port number or range (\"low-high\") expected");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3322 "util/configparser.c"
break;
- case 332: /* server_outgoing_num_tcp: VAR_OUTGOING_NUM_TCP STRING_ARG */
-#line 778 "./util/configparser.y"
- {
- OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 334:
+#line 779 "./util/configparser.y"
+ {
+ OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3334 "util/configparser.c"
break;
- case 333: /* server_incoming_num_tcp: VAR_INCOMING_NUM_TCP STRING_ARG */
-#line 787 "./util/configparser.y"
- {
- OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 335:
+#line 788 "./util/configparser.y"
+ {
+ OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3346 "util/configparser.c"
break;
- case 334: /* server_interface_automatic: VAR_INTERFACE_AUTOMATIC STRING_ARG */
-#line 796 "./util/configparser.y"
- {
- OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 336:
+#line 797 "./util/configparser.y"
+ {
+ OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->if_automatic = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->if_automatic = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3358 "util/configparser.c"
break;
- case 335: /* server_interface_automatic_ports: VAR_INTERFACE_AUTOMATIC_PORTS STRING_ARG */
-#line 805 "./util/configparser.y"
- {
- OUTYY(("P(server_interface_automatic_ports:%s)\n", (yyvsp[0].str)));
+ case 337:
+#line 806 "./util/configparser.y"
+ {
+ OUTYY(("P(server_interface_automatic_ports:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->if_automatic_ports);
- cfg_parser->cfg->if_automatic_ports = (yyvsp[0].str);
+ cfg_parser->cfg->if_automatic_ports = (yyvsp[(2) - (2)].str);
}
-#line 3368 "util/configparser.c"
break;
- case 336: /* server_do_ip4: VAR_DO_IP4 STRING_ARG */
-#line 812 "./util/configparser.y"
- {
- OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 338:
+#line 813 "./util/configparser.y"
+ {
+ OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->do_ip4 = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->do_ip4 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3380 "util/configparser.c"
break;
- case 337: /* server_do_ip6: VAR_DO_IP6 STRING_ARG */
-#line 821 "./util/configparser.y"
- {
- OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 339:
+#line 822 "./util/configparser.y"
+ {
+ OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->do_ip6 = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->do_ip6 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3392 "util/configparser.c"
break;
- case 338: /* server_do_udp: VAR_DO_UDP STRING_ARG */
-#line 830 "./util/configparser.y"
- {
- OUTYY(("P(server_do_udp:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 340:
+#line 831 "./util/configparser.y"
+ {
+ OUTYY(("P(server_do_udp:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->do_udp = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->do_udp = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3404 "util/configparser.c"
break;
- case 339: /* server_do_tcp: VAR_DO_TCP STRING_ARG */
-#line 839 "./util/configparser.y"
- {
- OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 341:
+#line 840 "./util/configparser.y"
+ {
+ OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->do_tcp = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->do_tcp = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3416 "util/configparser.c"
break;
- case 340: /* server_prefer_ip4: VAR_PREFER_IP4 STRING_ARG */
-#line 848 "./util/configparser.y"
- {
- OUTYY(("P(server_prefer_ip4:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 342:
+#line 849 "./util/configparser.y"
+ {
+ OUTYY(("P(server_prefer_ip4:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->prefer_ip4 = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->prefer_ip4 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3428 "util/configparser.c"
break;
- case 341: /* server_prefer_ip6: VAR_PREFER_IP6 STRING_ARG */
-#line 857 "./util/configparser.y"
- {
- OUTYY(("P(server_prefer_ip6:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 343:
+#line 858 "./util/configparser.y"
+ {
+ OUTYY(("P(server_prefer_ip6:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->prefer_ip6 = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->prefer_ip6 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3440 "util/configparser.c"
break;
- case 342: /* server_tcp_mss: VAR_TCP_MSS STRING_ARG */
-#line 866 "./util/configparser.y"
- {
- OUTYY(("P(server_tcp_mss:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 344:
+#line 867 "./util/configparser.y"
+ {
+ OUTYY(("P(server_tcp_mss:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->tcp_mss = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->tcp_mss = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3452 "util/configparser.c"
break;
- case 343: /* server_outgoing_tcp_mss: VAR_OUTGOING_TCP_MSS STRING_ARG */
-#line 875 "./util/configparser.y"
- {
- OUTYY(("P(server_outgoing_tcp_mss:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 345:
+#line 876 "./util/configparser.y"
+ {
+ OUTYY(("P(server_outgoing_tcp_mss:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->outgoing_tcp_mss = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->outgoing_tcp_mss = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3464 "util/configparser.c"
break;
- case 344: /* server_tcp_idle_timeout: VAR_TCP_IDLE_TIMEOUT STRING_ARG */
-#line 884 "./util/configparser.y"
- {
- OUTYY(("P(server_tcp_idle_timeout:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 346:
+#line 885 "./util/configparser.y"
+ {
+ OUTYY(("P(server_tcp_idle_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else if (atoi((yyvsp[0].str)) > 120000)
+ else if (atoi((yyvsp[(2) - (2)].str)) > 120000)
cfg_parser->cfg->tcp_idle_timeout = 120000;
- else if (atoi((yyvsp[0].str)) < 1)
+ else if (atoi((yyvsp[(2) - (2)].str)) < 1)
cfg_parser->cfg->tcp_idle_timeout = 1;
- else cfg_parser->cfg->tcp_idle_timeout = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->tcp_idle_timeout = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3480 "util/configparser.c"
break;
- case 345: /* server_max_reuse_tcp_queries: VAR_MAX_REUSE_TCP_QUERIES STRING_ARG */
-#line 897 "./util/configparser.y"
- {
- OUTYY(("P(server_max_reuse_tcp_queries:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 347:
+#line 898 "./util/configparser.y"
+ {
+ OUTYY(("P(server_max_reuse_tcp_queries:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else if (atoi((yyvsp[0].str)) < 1)
+ else if (atoi((yyvsp[(2) - (2)].str)) < 1)
cfg_parser->cfg->max_reuse_tcp_queries = 0;
- else cfg_parser->cfg->max_reuse_tcp_queries = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->max_reuse_tcp_queries = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3494 "util/configparser.c"
break;
- case 346: /* server_tcp_reuse_timeout: VAR_TCP_REUSE_TIMEOUT STRING_ARG */
-#line 908 "./util/configparser.y"
- {
- OUTYY(("P(server_tcp_reuse_timeout:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 348:
+#line 909 "./util/configparser.y"
+ {
+ OUTYY(("P(server_tcp_reuse_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else if (atoi((yyvsp[0].str)) < 1)
+ else if (atoi((yyvsp[(2) - (2)].str)) < 1)
cfg_parser->cfg->tcp_reuse_timeout = 0;
- else cfg_parser->cfg->tcp_reuse_timeout = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->tcp_reuse_timeout = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3508 "util/configparser.c"
break;
- case 347: /* server_tcp_auth_query_timeout: VAR_TCP_AUTH_QUERY_TIMEOUT STRING_ARG */
-#line 919 "./util/configparser.y"
- {
- OUTYY(("P(server_tcp_auth_query_timeout:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 349:
+#line 920 "./util/configparser.y"
+ {
+ OUTYY(("P(server_tcp_auth_query_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else if (atoi((yyvsp[0].str)) < 1)
+ else if (atoi((yyvsp[(2) - (2)].str)) < 1)
cfg_parser->cfg->tcp_auth_query_timeout = 0;
- else cfg_parser->cfg->tcp_auth_query_timeout = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->tcp_auth_query_timeout = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3522 "util/configparser.c"
break;
- case 348: /* server_tcp_keepalive: VAR_EDNS_TCP_KEEPALIVE STRING_ARG */
-#line 930 "./util/configparser.y"
- {
- OUTYY(("P(server_tcp_keepalive:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 350:
+#line 931 "./util/configparser.y"
+ {
+ OUTYY(("P(server_tcp_keepalive:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->do_tcp_keepalive = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->do_tcp_keepalive = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3534 "util/configparser.c"
break;
- case 349: /* server_tcp_keepalive_timeout: VAR_EDNS_TCP_KEEPALIVE_TIMEOUT STRING_ARG */
-#line 939 "./util/configparser.y"
- {
- OUTYY(("P(server_tcp_keepalive_timeout:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 351:
+#line 940 "./util/configparser.y"
+ {
+ OUTYY(("P(server_tcp_keepalive_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else if (atoi((yyvsp[0].str)) > 6553500)
+ else if (atoi((yyvsp[(2) - (2)].str)) > 6553500)
cfg_parser->cfg->tcp_keepalive_timeout = 6553500;
- else if (atoi((yyvsp[0].str)) < 1)
+ else if (atoi((yyvsp[(2) - (2)].str)) < 1)
cfg_parser->cfg->tcp_keepalive_timeout = 0;
- else cfg_parser->cfg->tcp_keepalive_timeout = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->tcp_keepalive_timeout = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3550 "util/configparser.c"
break;
- case 350: /* server_tcp_upstream: VAR_TCP_UPSTREAM STRING_ARG */
-#line 952 "./util/configparser.y"
- {
- OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 352:
+#line 953 "./util/configparser.y"
+ {
+ OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->tcp_upstream = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->tcp_upstream = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3562 "util/configparser.c"
break;
- case 351: /* server_udp_upstream_without_downstream: VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM STRING_ARG */
-#line 961 "./util/configparser.y"
- {
- OUTYY(("P(server_udp_upstream_without_downstream:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 353:
+#line 962 "./util/configparser.y"
+ {
+ OUTYY(("P(server_udp_upstream_without_downstream:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->udp_upstream_without_downstream = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->udp_upstream_without_downstream = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3574 "util/configparser.c"
break;
- case 352: /* server_ssl_upstream: VAR_SSL_UPSTREAM STRING_ARG */
-#line 970 "./util/configparser.y"
- {
- OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 354:
+#line 971 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->ssl_upstream = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->ssl_upstream = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3586 "util/configparser.c"
break;
- case 353: /* server_ssl_service_key: VAR_SSL_SERVICE_KEY STRING_ARG */
-#line 979 "./util/configparser.y"
- {
- OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[0].str)));
+ case 355:
+#line 980 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->ssl_service_key);
- cfg_parser->cfg->ssl_service_key = (yyvsp[0].str);
+ cfg_parser->cfg->ssl_service_key = (yyvsp[(2) - (2)].str);
}
-#line 3596 "util/configparser.c"
break;
- case 354: /* server_ssl_service_pem: VAR_SSL_SERVICE_PEM STRING_ARG */
-#line 986 "./util/configparser.y"
- {
- OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[0].str)));
+ case 356:
+#line 987 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->ssl_service_pem);
- cfg_parser->cfg->ssl_service_pem = (yyvsp[0].str);
+ cfg_parser->cfg->ssl_service_pem = (yyvsp[(2) - (2)].str);
}
-#line 3606 "util/configparser.c"
break;
- case 355: /* server_ssl_port: VAR_SSL_PORT STRING_ARG */
-#line 993 "./util/configparser.y"
- {
- OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0)
+ case 357:
+#line 994 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("port number expected");
- else cfg_parser->cfg->ssl_port = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->ssl_port = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3618 "util/configparser.c"
break;
- case 356: /* server_tls_cert_bundle: VAR_TLS_CERT_BUNDLE STRING_ARG */
-#line 1002 "./util/configparser.y"
- {
- OUTYY(("P(server_tls_cert_bundle:%s)\n", (yyvsp[0].str)));
+ case 358:
+#line 1003 "./util/configparser.y"
+ {
+ OUTYY(("P(server_tls_cert_bundle:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->tls_cert_bundle);
- cfg_parser->cfg->tls_cert_bundle = (yyvsp[0].str);
+ cfg_parser->cfg->tls_cert_bundle = (yyvsp[(2) - (2)].str);
}
-#line 3628 "util/configparser.c"
break;
- case 357: /* server_tls_win_cert: VAR_TLS_WIN_CERT STRING_ARG */
-#line 1009 "./util/configparser.y"
- {
- OUTYY(("P(server_tls_win_cert:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 359:
+#line 1010 "./util/configparser.y"
+ {
+ OUTYY(("P(server_tls_win_cert:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->tls_win_cert = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->tls_win_cert = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3640 "util/configparser.c"
break;
- case 358: /* server_tls_additional_port: VAR_TLS_ADDITIONAL_PORT STRING_ARG */
-#line 1018 "./util/configparser.y"
- {
- OUTYY(("P(server_tls_additional_port:%s)\n", (yyvsp[0].str)));
+ case 360:
+#line 1019 "./util/configparser.y"
+ {
+ OUTYY(("P(server_tls_additional_port:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->tls_additional_port,
- (yyvsp[0].str)))
+ (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 3651 "util/configparser.c"
break;
- case 359: /* server_tls_ciphers: VAR_TLS_CIPHERS STRING_ARG */
-#line 1026 "./util/configparser.y"
- {
- OUTYY(("P(server_tls_ciphers:%s)\n", (yyvsp[0].str)));
+ case 361:
+#line 1027 "./util/configparser.y"
+ {
+ OUTYY(("P(server_tls_ciphers:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->tls_ciphers);
- cfg_parser->cfg->tls_ciphers = (yyvsp[0].str);
+ cfg_parser->cfg->tls_ciphers = (yyvsp[(2) - (2)].str);
}
-#line 3661 "util/configparser.c"
break;
- case 360: /* server_tls_ciphersuites: VAR_TLS_CIPHERSUITES STRING_ARG */
-#line 1033 "./util/configparser.y"
- {
- OUTYY(("P(server_tls_ciphersuites:%s)\n", (yyvsp[0].str)));
+ case 362:
+#line 1034 "./util/configparser.y"
+ {
+ OUTYY(("P(server_tls_ciphersuites:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->tls_ciphersuites);
- cfg_parser->cfg->tls_ciphersuites = (yyvsp[0].str);
+ cfg_parser->cfg->tls_ciphersuites = (yyvsp[(2) - (2)].str);
}
-#line 3671 "util/configparser.c"
break;
- case 361: /* server_tls_session_ticket_keys: VAR_TLS_SESSION_TICKET_KEYS STRING_ARG */
-#line 1040 "./util/configparser.y"
- {
- OUTYY(("P(server_tls_session_ticket_keys:%s)\n", (yyvsp[0].str)));
+ case 363:
+#line 1041 "./util/configparser.y"
+ {
+ OUTYY(("P(server_tls_session_ticket_keys:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_append(&cfg_parser->cfg->tls_session_ticket_keys,
- (yyvsp[0].str)))
+ (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 3682 "util/configparser.c"
break;
- case 362: /* server_tls_use_sni: VAR_TLS_USE_SNI STRING_ARG */
-#line 1048 "./util/configparser.y"
- {
- OUTYY(("P(server_tls_use_sni:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 364:
+#line 1049 "./util/configparser.y"
+ {
+ OUTYY(("P(server_tls_use_sni:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->tls_use_sni = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->tls_use_sni = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3694 "util/configparser.c"
break;
- case 363: /* server_https_port: VAR_HTTPS_PORT STRING_ARG */
-#line 1057 "./util/configparser.y"
- {
- OUTYY(("P(server_https_port:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0)
+ case 365:
+#line 1058 "./util/configparser.y"
+ {
+ OUTYY(("P(server_https_port:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("port number expected");
- else cfg_parser->cfg->https_port = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->https_port = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3706 "util/configparser.c"
break;
- case 364: /* server_http_endpoint: VAR_HTTP_ENDPOINT STRING_ARG */
-#line 1065 "./util/configparser.y"
- {
- OUTYY(("P(server_http_endpoint:%s)\n", (yyvsp[0].str)));
+ case 366:
+#line 1066 "./util/configparser.y"
+ {
+ OUTYY(("P(server_http_endpoint:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->http_endpoint);
- if((yyvsp[0].str) && (yyvsp[0].str)[0] != '/') {
- cfg_parser->cfg->http_endpoint = malloc(strlen((yyvsp[0].str))+2);
+ if((yyvsp[(2) - (2)].str) && (yyvsp[(2) - (2)].str)[0] != '/') {
+ cfg_parser->cfg->http_endpoint = malloc(strlen((yyvsp[(2) - (2)].str))+2);
if(!cfg_parser->cfg->http_endpoint)
yyerror("out of memory");
cfg_parser->cfg->http_endpoint[0] = '/';
- memmove(cfg_parser->cfg->http_endpoint+1, (yyvsp[0].str),
- strlen((yyvsp[0].str))+1);
- free((yyvsp[0].str));
+ memmove(cfg_parser->cfg->http_endpoint+1, (yyvsp[(2) - (2)].str),
+ strlen((yyvsp[(2) - (2)].str))+1);
+ free((yyvsp[(2) - (2)].str));
} else {
- cfg_parser->cfg->http_endpoint = (yyvsp[0].str);
+ cfg_parser->cfg->http_endpoint = (yyvsp[(2) - (2)].str);
}
}
-#line 3726 "util/configparser.c"
break;
- case 365: /* server_http_max_streams: VAR_HTTP_MAX_STREAMS STRING_ARG */
-#line 1081 "./util/configparser.y"
- {
- OUTYY(("P(server_http_max_streams:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 367:
+#line 1082 "./util/configparser.y"
+ {
+ OUTYY(("P(server_http_max_streams:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->http_max_streams = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->http_max_streams = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3738 "util/configparser.c"
break;
- case 366: /* server_http_query_buffer_size: VAR_HTTP_QUERY_BUFFER_SIZE STRING_ARG */
-#line 1089 "./util/configparser.y"
- {
- OUTYY(("P(server_http_query_buffer_size:%s)\n", (yyvsp[0].str)));
- if(!cfg_parse_memsize((yyvsp[0].str),
+ case 368:
+#line 1090 "./util/configparser.y"
+ {
+ OUTYY(("P(server_http_query_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_parse_memsize((yyvsp[(2) - (2)].str),
&cfg_parser->cfg->http_query_buffer_size))
yyerror("memory size expected");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3750 "util/configparser.c"
break;
- case 367: /* server_http_response_buffer_size: VAR_HTTP_RESPONSE_BUFFER_SIZE STRING_ARG */
-#line 1097 "./util/configparser.y"
- {
- OUTYY(("P(server_http_response_buffer_size:%s)\n", (yyvsp[0].str)));
- if(!cfg_parse_memsize((yyvsp[0].str),
+ case 369:
+#line 1098 "./util/configparser.y"
+ {
+ OUTYY(("P(server_http_response_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_parse_memsize((yyvsp[(2) - (2)].str),
&cfg_parser->cfg->http_response_buffer_size))
yyerror("memory size expected");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3762 "util/configparser.c"
break;
- case 368: /* server_http_nodelay: VAR_HTTP_NODELAY STRING_ARG */
-#line 1105 "./util/configparser.y"
- {
- OUTYY(("P(server_http_nodelay:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 370:
+#line 1106 "./util/configparser.y"
+ {
+ OUTYY(("P(server_http_nodelay:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->http_nodelay = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->http_nodelay = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3774 "util/configparser.c"
break;
- case 369: /* server_http_notls_downstream: VAR_HTTP_NOTLS_DOWNSTREAM STRING_ARG */
-#line 1113 "./util/configparser.y"
- {
- OUTYY(("P(server_http_notls_downstream:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 371:
+#line 1114 "./util/configparser.y"
+ {
+ OUTYY(("P(server_http_notls_downstream:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->http_notls_downstream = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->http_notls_downstream = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3786 "util/configparser.c"
break;
- case 370: /* server_use_systemd: VAR_USE_SYSTEMD STRING_ARG */
-#line 1121 "./util/configparser.y"
- {
- OUTYY(("P(server_use_systemd:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 372:
+#line 1122 "./util/configparser.y"
+ {
+ OUTYY(("P(server_use_systemd:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->use_systemd = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->use_systemd = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3798 "util/configparser.c"
break;
- case 371: /* server_do_daemonize: VAR_DO_DAEMONIZE STRING_ARG */
-#line 1130 "./util/configparser.y"
- {
- OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 373:
+#line 1131 "./util/configparser.y"
+ {
+ OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->do_daemonize = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->do_daemonize = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3810 "util/configparser.c"
break;
- case 372: /* server_use_syslog: VAR_USE_SYSLOG STRING_ARG */
-#line 1139 "./util/configparser.y"
- {
- OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 374:
+#line 1140 "./util/configparser.y"
+ {
+ OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->use_syslog = (strcmp((yyvsp[0].str), "yes")==0);
+ else cfg_parser->cfg->use_syslog = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
#if !defined(HAVE_SYSLOG_H) && !defined(UB_ON_WINDOWS)
- if(strcmp((yyvsp[0].str), "yes") == 0)
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") == 0)
yyerror("no syslog services are available. "
"(reconfigure and compile to add)");
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3827 "util/configparser.c"
break;
- case 373: /* server_log_time_ascii: VAR_LOG_TIME_ASCII STRING_ARG */
-#line 1153 "./util/configparser.y"
- {
- OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 375:
+#line 1154 "./util/configparser.y"
+ {
+ OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->log_time_ascii = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->log_time_ascii = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3839 "util/configparser.c"
break;
- case 374: /* server_log_queries: VAR_LOG_QUERIES STRING_ARG */
-#line 1162 "./util/configparser.y"
- {
- OUTYY(("P(server_log_queries:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 376:
+#line 1163 "./util/configparser.y"
+ {
+ OUTYY(("P(server_log_queries:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->log_queries = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->log_queries = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3851 "util/configparser.c"
break;
- case 375: /* server_log_replies: VAR_LOG_REPLIES STRING_ARG */
-#line 1171 "./util/configparser.y"
- {
- OUTYY(("P(server_log_replies:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 377:
+#line 1172 "./util/configparser.y"
+ {
+ OUTYY(("P(server_log_replies:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->log_replies = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->log_replies = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3863 "util/configparser.c"
break;
- case 376: /* server_log_tag_queryreply: VAR_LOG_TAG_QUERYREPLY STRING_ARG */
-#line 1180 "./util/configparser.y"
- {
- OUTYY(("P(server_log_tag_queryreply:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 378:
+#line 1181 "./util/configparser.y"
+ {
+ OUTYY(("P(server_log_tag_queryreply:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->log_tag_queryreply = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->log_tag_queryreply = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3875 "util/configparser.c"
break;
- case 377: /* server_log_servfail: VAR_LOG_SERVFAIL STRING_ARG */
-#line 1189 "./util/configparser.y"
- {
- OUTYY(("P(server_log_servfail:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 379:
+#line 1190 "./util/configparser.y"
+ {
+ OUTYY(("P(server_log_servfail:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->log_servfail = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->log_servfail = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3887 "util/configparser.c"
break;
- case 378: /* server_log_local_actions: VAR_LOG_LOCAL_ACTIONS STRING_ARG */
-#line 1198 "./util/configparser.y"
- {
- OUTYY(("P(server_log_local_actions:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 380:
+#line 1199 "./util/configparser.y"
+ {
+ OUTYY(("P(server_log_local_actions:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->log_local_actions = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->log_local_actions = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 3899 "util/configparser.c"
break;
- case 379: /* server_chroot: VAR_CHROOT STRING_ARG */
-#line 1207 "./util/configparser.y"
- {
- OUTYY(("P(server_chroot:%s)\n", (yyvsp[0].str)));
+ case 381:
+#line 1208 "./util/configparser.y"
+ {
+ OUTYY(("P(server_chroot:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->chrootdir);
- cfg_parser->cfg->chrootdir = (yyvsp[0].str);
+ cfg_parser->cfg->chrootdir = (yyvsp[(2) - (2)].str);
}
-#line 3909 "util/configparser.c"
break;
- case 380: /* server_username: VAR_USERNAME STRING_ARG */
-#line 1214 "./util/configparser.y"
- {
- OUTYY(("P(server_username:%s)\n", (yyvsp[0].str)));
+ case 382:
+#line 1215 "./util/configparser.y"
+ {
+ OUTYY(("P(server_username:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->username);
- cfg_parser->cfg->username = (yyvsp[0].str);
+ cfg_parser->cfg->username = (yyvsp[(2) - (2)].str);
}
-#line 3919 "util/configparser.c"
break;
- case 381: /* server_directory: VAR_DIRECTORY STRING_ARG */
-#line 1221 "./util/configparser.y"
- {
- OUTYY(("P(server_directory:%s)\n", (yyvsp[0].str)));
+ case 383:
+#line 1222 "./util/configparser.y"
+ {
+ OUTYY(("P(server_directory:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->directory);
- cfg_parser->cfg->directory = (yyvsp[0].str);
+ cfg_parser->cfg->directory = (yyvsp[(2) - (2)].str);
/* change there right away for includes relative to this */
- if((yyvsp[0].str)[0]) {
+ if((yyvsp[(2) - (2)].str)[0]) {
char* d;
#ifdef UB_ON_WINDOWS
w_config_adjust_directory(cfg_parser->cfg);
}
}
}
-#line 3948 "util/configparser.c"
break;
- case 382: /* server_logfile: VAR_LOGFILE STRING_ARG */
-#line 1247 "./util/configparser.y"
- {
- OUTYY(("P(server_logfile:%s)\n", (yyvsp[0].str)));
+ case 384:
+#line 1248 "./util/configparser.y"
+ {
+ OUTYY(("P(server_logfile:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->logfile);
- cfg_parser->cfg->logfile = (yyvsp[0].str);
+ cfg_parser->cfg->logfile = (yyvsp[(2) - (2)].str);
cfg_parser->cfg->use_syslog = 0;
}
-#line 3959 "util/configparser.c"
break;
- case 383: /* server_pidfile: VAR_PIDFILE STRING_ARG */
-#line 1255 "./util/configparser.y"
- {
- OUTYY(("P(server_pidfile:%s)\n", (yyvsp[0].str)));
+ case 385:
+#line 1256 "./util/configparser.y"
+ {
+ OUTYY(("P(server_pidfile:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->pidfile);
- cfg_parser->cfg->pidfile = (yyvsp[0].str);
+ cfg_parser->cfg->pidfile = (yyvsp[(2) - (2)].str);
}
-#line 3969 "util/configparser.c"
break;
- case 384: /* server_root_hints: VAR_ROOT_HINTS STRING_ARG */
-#line 1262 "./util/configparser.y"
- {
- OUTYY(("P(server_root_hints:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[0].str)))
+ case 386:
+#line 1263 "./util/configparser.y"
+ {
+ OUTYY(("P(server_root_hints:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 3979 "util/configparser.c"
break;
- case 385: /* server_dlv_anchor_file: VAR_DLV_ANCHOR_FILE STRING_ARG */
-#line 1269 "./util/configparser.y"
- {
- OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[0].str)));
+ case 387:
+#line 1270 "./util/configparser.y"
+ {
+ OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
log_warn("option dlv-anchor-file ignored: DLV is decommissioned");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3989 "util/configparser.c"
break;
- case 386: /* server_dlv_anchor: VAR_DLV_ANCHOR STRING_ARG */
-#line 1276 "./util/configparser.y"
- {
- OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[0].str)));
+ case 388:
+#line 1277 "./util/configparser.y"
+ {
+ OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[(2) - (2)].str)));
log_warn("option dlv-anchor ignored: DLV is decommissioned");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 3999 "util/configparser.c"
break;
- case 387: /* server_auto_trust_anchor_file: VAR_AUTO_TRUST_ANCHOR_FILE STRING_ARG */
-#line 1283 "./util/configparser.y"
- {
- OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[0].str)));
+ case 389:
+#line 1284 "./util/configparser.y"
+ {
+ OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->
- auto_trust_anchor_file_list, (yyvsp[0].str)))
+ auto_trust_anchor_file_list, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 4010 "util/configparser.c"
break;
- case 388: /* server_trust_anchor_file: VAR_TRUST_ANCHOR_FILE STRING_ARG */
-#line 1291 "./util/configparser.y"
- {
- OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[0].str)));
+ case 390:
+#line 1292 "./util/configparser.y"
+ {
+ OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->
- trust_anchor_file_list, (yyvsp[0].str)))
+ trust_anchor_file_list, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 4021 "util/configparser.c"
break;
- case 389: /* server_trusted_keys_file: VAR_TRUSTED_KEYS_FILE STRING_ARG */
-#line 1299 "./util/configparser.y"
- {
- OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[0].str)));
+ case 391:
+#line 1300 "./util/configparser.y"
+ {
+ OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->
- trusted_keys_file_list, (yyvsp[0].str)))
+ trusted_keys_file_list, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 4032 "util/configparser.c"
break;
- case 390: /* server_trust_anchor: VAR_TRUST_ANCHOR STRING_ARG */
-#line 1307 "./util/configparser.y"
- {
- OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[0].str)))
+ case 392:
+#line 1308 "./util/configparser.y"
+ {
+ OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 4042 "util/configparser.c"
break;
- case 391: /* server_trust_anchor_signaling: VAR_TRUST_ANCHOR_SIGNALING STRING_ARG */
-#line 1314 "./util/configparser.y"
- {
- OUTYY(("P(server_trust_anchor_signaling:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 393:
+#line 1315 "./util/configparser.y"
+ {
+ OUTYY(("P(server_trust_anchor_signaling:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else
cfg_parser->cfg->trust_anchor_signaling =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4056 "util/configparser.c"
break;
- case 392: /* server_root_key_sentinel: VAR_ROOT_KEY_SENTINEL STRING_ARG */
-#line 1325 "./util/configparser.y"
- {
- OUTYY(("P(server_root_key_sentinel:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 394:
+#line 1326 "./util/configparser.y"
+ {
+ OUTYY(("P(server_root_key_sentinel:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else
cfg_parser->cfg->root_key_sentinel =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4070 "util/configparser.c"
break;
- case 393: /* server_domain_insecure: VAR_DOMAIN_INSECURE STRING_ARG */
-#line 1336 "./util/configparser.y"
- {
- OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[0].str)))
+ case 395:
+#line 1337 "./util/configparser.y"
+ {
+ OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 4080 "util/configparser.c"
break;
- case 394: /* server_hide_identity: VAR_HIDE_IDENTITY STRING_ARG */
-#line 1343 "./util/configparser.y"
- {
- OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 396:
+#line 1344 "./util/configparser.y"
+ {
+ OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->hide_identity = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->hide_identity = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4092 "util/configparser.c"
break;
- case 395: /* server_hide_version: VAR_HIDE_VERSION STRING_ARG */
-#line 1352 "./util/configparser.y"
- {
- OUTYY(("P(server_hide_version:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 397:
+#line 1353 "./util/configparser.y"
+ {
+ OUTYY(("P(server_hide_version:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->hide_version = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->hide_version = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4104 "util/configparser.c"
break;
- case 396: /* server_hide_trustanchor: VAR_HIDE_TRUSTANCHOR STRING_ARG */
-#line 1361 "./util/configparser.y"
- {
- OUTYY(("P(server_hide_trustanchor:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 398:
+#line 1362 "./util/configparser.y"
+ {
+ OUTYY(("P(server_hide_trustanchor:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->hide_trustanchor = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->hide_trustanchor = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4116 "util/configparser.c"
break;
- case 397: /* server_hide_http_user_agent: VAR_HIDE_HTTP_USER_AGENT STRING_ARG */
-#line 1370 "./util/configparser.y"
- {
- OUTYY(("P(server_hide_user_agent:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 399:
+#line 1371 "./util/configparser.y"
+ {
+ OUTYY(("P(server_hide_user_agent:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->hide_http_user_agent = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->hide_http_user_agent = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4128 "util/configparser.c"
break;
- case 398: /* server_identity: VAR_IDENTITY STRING_ARG */
-#line 1379 "./util/configparser.y"
- {
- OUTYY(("P(server_identity:%s)\n", (yyvsp[0].str)));
+ case 400:
+#line 1380 "./util/configparser.y"
+ {
+ OUTYY(("P(server_identity:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->identity);
- cfg_parser->cfg->identity = (yyvsp[0].str);
+ cfg_parser->cfg->identity = (yyvsp[(2) - (2)].str);
}
-#line 4138 "util/configparser.c"
break;
- case 399: /* server_version: VAR_VERSION STRING_ARG */
-#line 1386 "./util/configparser.y"
- {
- OUTYY(("P(server_version:%s)\n", (yyvsp[0].str)));
+ case 401:
+#line 1387 "./util/configparser.y"
+ {
+ OUTYY(("P(server_version:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->version);
- cfg_parser->cfg->version = (yyvsp[0].str);
+ cfg_parser->cfg->version = (yyvsp[(2) - (2)].str);
}
-#line 4148 "util/configparser.c"
break;
- case 400: /* server_http_user_agent: VAR_HTTP_USER_AGENT STRING_ARG */
-#line 1393 "./util/configparser.y"
- {
- OUTYY(("P(server_http_user_agent:%s)\n", (yyvsp[0].str)));
+ case 402:
+#line 1394 "./util/configparser.y"
+ {
+ OUTYY(("P(server_http_user_agent:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->http_user_agent);
- cfg_parser->cfg->http_user_agent = (yyvsp[0].str);
+ cfg_parser->cfg->http_user_agent = (yyvsp[(2) - (2)].str);
}
-#line 4158 "util/configparser.c"
break;
- case 401: /* server_nsid: VAR_NSID STRING_ARG */
-#line 1400 "./util/configparser.y"
- {
- OUTYY(("P(server_nsid:%s)\n", (yyvsp[0].str)));
+ case 403:
+#line 1401 "./util/configparser.y"
+ {
+ OUTYY(("P(server_nsid:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->nsid_cfg_str);
- cfg_parser->cfg->nsid_cfg_str = (yyvsp[0].str);
+ cfg_parser->cfg->nsid_cfg_str = (yyvsp[(2) - (2)].str);
free(cfg_parser->cfg->nsid);
cfg_parser->cfg->nsid = NULL;
cfg_parser->cfg->nsid_len = 0;
- if (*(yyvsp[0].str) == 0)
+ if (*(yyvsp[(2) - (2)].str) == 0)
; /* pass; empty string is not setting nsid */
else if (!(cfg_parser->cfg->nsid = cfg_parse_nsid(
- (yyvsp[0].str), &cfg_parser->cfg->nsid_len)))
+ (yyvsp[(2) - (2)].str), &cfg_parser->cfg->nsid_len)))
yyerror("the NSID must be either a hex string or an "
"ascii character string prepended with ascii_.");
}
-#line 4177 "util/configparser.c"
break;
- case 402: /* server_so_rcvbuf: VAR_SO_RCVBUF STRING_ARG */
-#line 1416 "./util/configparser.y"
- {
- OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[0].str)));
- if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_rcvbuf))
+ case 404:
+#line 1417 "./util/configparser.y"
+ {
+ OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_rcvbuf))
yyerror("buffer size expected");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4188 "util/configparser.c"
break;
- case 403: /* server_so_sndbuf: VAR_SO_SNDBUF STRING_ARG */
-#line 1424 "./util/configparser.y"
- {
- OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[0].str)));
- if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_sndbuf))
+ case 405:
+#line 1425 "./util/configparser.y"
+ {
+ OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_sndbuf))
yyerror("buffer size expected");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4199 "util/configparser.c"
break;
- case 404: /* server_so_reuseport: VAR_SO_REUSEPORT STRING_ARG */
-#line 1432 "./util/configparser.y"
- {
- OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 406:
+#line 1433 "./util/configparser.y"
+ {
+ OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->so_reuseport =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4212 "util/configparser.c"
break;
- case 405: /* server_ip_transparent: VAR_IP_TRANSPARENT STRING_ARG */
-#line 1442 "./util/configparser.y"
- {
- OUTYY(("P(server_ip_transparent:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 407:
+#line 1443 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ip_transparent:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->ip_transparent =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4225 "util/configparser.c"
break;
- case 406: /* server_ip_freebind: VAR_IP_FREEBIND STRING_ARG */
-#line 1452 "./util/configparser.y"
- {
- OUTYY(("P(server_ip_freebind:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 408:
+#line 1453 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ip_freebind:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->ip_freebind =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4238 "util/configparser.c"
break;
- case 407: /* server_ip_dscp: VAR_IP_DSCP STRING_ARG */
-#line 1462 "./util/configparser.y"
- {
- OUTYY(("P(server_ip_dscp:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 409:
+#line 1463 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ip_dscp:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else if (atoi((yyvsp[0].str)) > 63)
+ else if (atoi((yyvsp[(2) - (2)].str)) > 63)
yyerror("value too large (max 63)");
- else if (atoi((yyvsp[0].str)) < 0)
+ else if (atoi((yyvsp[(2) - (2)].str)) < 0)
yyerror("value too small (min 0)");
else
- cfg_parser->cfg->ip_dscp = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ cfg_parser->cfg->ip_dscp = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4255 "util/configparser.c"
break;
- case 408: /* server_stream_wait_size: VAR_STREAM_WAIT_SIZE STRING_ARG */
-#line 1476 "./util/configparser.y"
- {
- OUTYY(("P(server_stream_wait_size:%s)\n", (yyvsp[0].str)));
- if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->stream_wait_size))
+ case 410:
+#line 1477 "./util/configparser.y"
+ {
+ OUTYY(("P(server_stream_wait_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->stream_wait_size))
yyerror("memory size expected");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4266 "util/configparser.c"
break;
- case 409: /* server_edns_buffer_size: VAR_EDNS_BUFFER_SIZE STRING_ARG */
-#line 1484 "./util/configparser.y"
- {
- OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0)
+ case 411:
+#line 1485 "./util/configparser.y"
+ {
+ OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("number expected");
- else if (atoi((yyvsp[0].str)) < 12)
+ else if (atoi((yyvsp[(2) - (2)].str)) < 12)
yyerror("edns buffer size too small");
- else if (atoi((yyvsp[0].str)) > 65535)
+ else if (atoi((yyvsp[(2) - (2)].str)) > 65535)
cfg_parser->cfg->edns_buffer_size = 65535;
- else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4282 "util/configparser.c"
break;
- case 410: /* server_msg_buffer_size: VAR_MSG_BUFFER_SIZE STRING_ARG */
-#line 1497 "./util/configparser.y"
- {
- OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0)
+ case 412:
+#line 1498 "./util/configparser.y"
+ {
+ OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("number expected");
- else if (atoi((yyvsp[0].str)) < 4096)
+ else if (atoi((yyvsp[(2) - (2)].str)) < 4096)
yyerror("message buffer size too small (use 4096)");
- else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4296 "util/configparser.c"
break;
- case 411: /* server_msg_cache_size: VAR_MSG_CACHE_SIZE STRING_ARG */
-#line 1508 "./util/configparser.y"
- {
- OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[0].str)));
- if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->msg_cache_size))
+ case 413:
+#line 1509 "./util/configparser.y"
+ {
+ OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->msg_cache_size))
yyerror("memory size expected");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4307 "util/configparser.c"
break;
- case 412: /* server_msg_cache_slabs: VAR_MSG_CACHE_SLABS STRING_ARG */
-#line 1516 "./util/configparser.y"
- {
- OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0) {
+ case 414:
+#line 1517 "./util/configparser.y"
+ {
+ OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0) {
yyerror("number expected");
} else {
- cfg_parser->cfg->msg_cache_slabs = atoi((yyvsp[0].str));
+ cfg_parser->cfg->msg_cache_slabs = atoi((yyvsp[(2) - (2)].str));
if(!is_pow2(cfg_parser->cfg->msg_cache_slabs))
yyerror("must be a power of 2");
}
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4323 "util/configparser.c"
break;
- case 413: /* server_num_queries_per_thread: VAR_NUM_QUERIES_PER_THREAD STRING_ARG */
-#line 1529 "./util/configparser.y"
- {
- OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0)
+ case 415:
+#line 1530 "./util/configparser.y"
+ {
+ OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("number expected");
- else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4335 "util/configparser.c"
break;
- case 414: /* server_jostle_timeout: VAR_JOSTLE_TIMEOUT STRING_ARG */
-#line 1538 "./util/configparser.y"
- {
- OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 416:
+#line 1539 "./util/configparser.y"
+ {
+ OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->jostle_time = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->jostle_time = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4347 "util/configparser.c"
break;
- case 415: /* server_delay_close: VAR_DELAY_CLOSE STRING_ARG */
-#line 1547 "./util/configparser.y"
- {
- OUTYY(("P(server_delay_close:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 417:
+#line 1548 "./util/configparser.y"
+ {
+ OUTYY(("P(server_delay_close:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->delay_close = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->delay_close = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4359 "util/configparser.c"
break;
- case 416: /* server_udp_connect: VAR_UDP_CONNECT STRING_ARG */
-#line 1556 "./util/configparser.y"
- {
- OUTYY(("P(server_udp_connect:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 418:
+#line 1557 "./util/configparser.y"
+ {
+ OUTYY(("P(server_udp_connect:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->udp_connect = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->udp_connect = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4371 "util/configparser.c"
break;
- case 417: /* server_unblock_lan_zones: VAR_UNBLOCK_LAN_ZONES STRING_ARG */
-#line 1565 "./util/configparser.y"
- {
- OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 419:
+#line 1566 "./util/configparser.y"
+ {
+ OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->unblock_lan_zones =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4384 "util/configparser.c"
break;
- case 418: /* server_insecure_lan_zones: VAR_INSECURE_LAN_ZONES STRING_ARG */
-#line 1575 "./util/configparser.y"
- {
- OUTYY(("P(server_insecure_lan_zones:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 420:
+#line 1576 "./util/configparser.y"
+ {
+ OUTYY(("P(server_insecure_lan_zones:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->insecure_lan_zones =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4397 "util/configparser.c"
break;
- case 419: /* server_rrset_cache_size: VAR_RRSET_CACHE_SIZE STRING_ARG */
-#line 1585 "./util/configparser.y"
- {
- OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[0].str)));
- if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->rrset_cache_size))
+ case 421:
+#line 1586 "./util/configparser.y"
+ {
+ OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->rrset_cache_size))
yyerror("memory size expected");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4408 "util/configparser.c"
break;
- case 420: /* server_rrset_cache_slabs: VAR_RRSET_CACHE_SLABS STRING_ARG */
-#line 1593 "./util/configparser.y"
- {
- OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0) {
+ case 422:
+#line 1594 "./util/configparser.y"
+ {
+ OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0) {
yyerror("number expected");
} else {
- cfg_parser->cfg->rrset_cache_slabs = atoi((yyvsp[0].str));
+ cfg_parser->cfg->rrset_cache_slabs = atoi((yyvsp[(2) - (2)].str));
if(!is_pow2(cfg_parser->cfg->rrset_cache_slabs))
yyerror("must be a power of 2");
}
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4424 "util/configparser.c"
break;
- case 421: /* server_infra_host_ttl: VAR_INFRA_HOST_TTL STRING_ARG */
-#line 1606 "./util/configparser.y"
- {
- OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 423:
+#line 1607 "./util/configparser.y"
+ {
+ OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->host_ttl = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->host_ttl = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4436 "util/configparser.c"
break;
- case 422: /* server_infra_lame_ttl: VAR_INFRA_LAME_TTL STRING_ARG */
-#line 1615 "./util/configparser.y"
- {
- OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[0].str)));
+ case 424:
+#line 1616 "./util/configparser.y"
+ {
+ OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
verbose(VERB_DETAIL, "ignored infra-lame-ttl: %s (option "
- "removed, use infra-host-ttl)", (yyvsp[0].str));
- free((yyvsp[0].str));
+ "removed, use infra-host-ttl)", (yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4447 "util/configparser.c"
break;
- case 423: /* server_infra_cache_numhosts: VAR_INFRA_CACHE_NUMHOSTS STRING_ARG */
-#line 1623 "./util/configparser.y"
- {
- OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0)
+ case 425:
+#line 1624 "./util/configparser.y"
+ {
+ OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("number expected");
- else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4459 "util/configparser.c"
break;
- case 424: /* server_infra_cache_lame_size: VAR_INFRA_CACHE_LAME_SIZE STRING_ARG */
-#line 1632 "./util/configparser.y"
- {
- OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[0].str)));
+ case 426:
+#line 1633 "./util/configparser.y"
+ {
+ OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[(2) - (2)].str)));
verbose(VERB_DETAIL, "ignored infra-cache-lame-size: %s "
- "(option removed, use infra-cache-numhosts)", (yyvsp[0].str));
- free((yyvsp[0].str));
+ "(option removed, use infra-cache-numhosts)", (yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4470 "util/configparser.c"
break;
- case 425: /* server_infra_cache_slabs: VAR_INFRA_CACHE_SLABS STRING_ARG */
-#line 1640 "./util/configparser.y"
- {
- OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0) {
+ case 427:
+#line 1641 "./util/configparser.y"
+ {
+ OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0) {
yyerror("number expected");
} else {
- cfg_parser->cfg->infra_cache_slabs = atoi((yyvsp[0].str));
+ cfg_parser->cfg->infra_cache_slabs = atoi((yyvsp[(2) - (2)].str));
if(!is_pow2(cfg_parser->cfg->infra_cache_slabs))
yyerror("must be a power of 2");
}
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4486 "util/configparser.c"
break;
- case 426: /* server_infra_cache_min_rtt: VAR_INFRA_CACHE_MIN_RTT STRING_ARG */
-#line 1653 "./util/configparser.y"
- {
- OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 428:
+#line 1654 "./util/configparser.y"
+ {
+ OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->infra_cache_min_rtt = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->infra_cache_min_rtt = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4498 "util/configparser.c"
break;
- case 427: /* server_infra_keep_probing: VAR_INFRA_KEEP_PROBING STRING_ARG */
-#line 1662 "./util/configparser.y"
- {
- OUTYY(("P(server_infra_keep_probing:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 429:
+#line 1663 "./util/configparser.y"
+ {
+ OUTYY(("P(server_infra_keep_probing:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->infra_keep_probing =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4511 "util/configparser.c"
break;
- case 428: /* server_target_fetch_policy: VAR_TARGET_FETCH_POLICY STRING_ARG */
-#line 1672 "./util/configparser.y"
- {
- OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[0].str)));
+ case 430:
+#line 1673 "./util/configparser.y"
+ {
+ OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->target_fetch_policy);
- cfg_parser->cfg->target_fetch_policy = (yyvsp[0].str);
+ cfg_parser->cfg->target_fetch_policy = (yyvsp[(2) - (2)].str);
}
-#line 4521 "util/configparser.c"
break;
- case 429: /* server_harden_short_bufsize: VAR_HARDEN_SHORT_BUFSIZE STRING_ARG */
-#line 1679 "./util/configparser.y"
- {
- OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 431:
+#line 1680 "./util/configparser.y"
+ {
+ OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->harden_short_bufsize =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4534 "util/configparser.c"
break;
- case 430: /* server_harden_large_queries: VAR_HARDEN_LARGE_QUERIES STRING_ARG */
-#line 1689 "./util/configparser.y"
- {
- OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 432:
+#line 1690 "./util/configparser.y"
+ {
+ OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->harden_large_queries =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4547 "util/configparser.c"
break;
- case 431: /* server_harden_glue: VAR_HARDEN_GLUE STRING_ARG */
-#line 1699 "./util/configparser.y"
- {
- OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 433:
+#line 1700 "./util/configparser.y"
+ {
+ OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->harden_glue =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4560 "util/configparser.c"
break;
- case 432: /* server_harden_dnssec_stripped: VAR_HARDEN_DNSSEC_STRIPPED STRING_ARG */
-#line 1709 "./util/configparser.y"
- {
- OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 434:
+#line 1710 "./util/configparser.y"
+ {
+ OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->harden_dnssec_stripped =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4573 "util/configparser.c"
break;
- case 433: /* server_harden_below_nxdomain: VAR_HARDEN_BELOW_NXDOMAIN STRING_ARG */
-#line 1719 "./util/configparser.y"
- {
- OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 435:
+#line 1720 "./util/configparser.y"
+ {
+ OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->harden_below_nxdomain =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4586 "util/configparser.c"
break;
- case 434: /* server_harden_referral_path: VAR_HARDEN_REFERRAL_PATH STRING_ARG */
-#line 1729 "./util/configparser.y"
- {
- OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 436:
+#line 1730 "./util/configparser.y"
+ {
+ OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->harden_referral_path =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4599 "util/configparser.c"
break;
- case 435: /* server_harden_algo_downgrade: VAR_HARDEN_ALGO_DOWNGRADE STRING_ARG */
-#line 1739 "./util/configparser.y"
- {
- OUTYY(("P(server_harden_algo_downgrade:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 437:
+#line 1740 "./util/configparser.y"
+ {
+ OUTYY(("P(server_harden_algo_downgrade:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->harden_algo_downgrade =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4612 "util/configparser.c"
break;
- case 436: /* server_use_caps_for_id: VAR_USE_CAPS_FOR_ID STRING_ARG */
-#line 1749 "./util/configparser.y"
- {
- OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 438:
+#line 1750 "./util/configparser.y"
+ {
+ OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->use_caps_bits_for_id =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4625 "util/configparser.c"
break;
- case 437: /* server_caps_whitelist: VAR_CAPS_WHITELIST STRING_ARG */
-#line 1759 "./util/configparser.y"
- {
- OUTYY(("P(server_caps_whitelist:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, (yyvsp[0].str)))
+ case 439:
+#line 1760 "./util/configparser.y"
+ {
+ OUTYY(("P(server_caps_whitelist:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 4635 "util/configparser.c"
break;
- case 438: /* server_private_address: VAR_PRIVATE_ADDRESS STRING_ARG */
-#line 1766 "./util/configparser.y"
- {
- OUTYY(("P(server_private_address:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[0].str)))
+ case 440:
+#line 1767 "./util/configparser.y"
+ {
+ OUTYY(("P(server_private_address:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 4645 "util/configparser.c"
break;
- case 439: /* server_private_domain: VAR_PRIVATE_DOMAIN STRING_ARG */
-#line 1773 "./util/configparser.y"
- {
- OUTYY(("P(server_private_domain:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[0].str)))
+ case 441:
+#line 1774 "./util/configparser.y"
+ {
+ OUTYY(("P(server_private_domain:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 4655 "util/configparser.c"
break;
- case 440: /* server_prefetch: VAR_PREFETCH STRING_ARG */
-#line 1780 "./util/configparser.y"
- {
- OUTYY(("P(server_prefetch:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 442:
+#line 1781 "./util/configparser.y"
+ {
+ OUTYY(("P(server_prefetch:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->prefetch = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->prefetch = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4667 "util/configparser.c"
break;
- case 441: /* server_prefetch_key: VAR_PREFETCH_KEY STRING_ARG */
-#line 1789 "./util/configparser.y"
- {
- OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 443:
+#line 1790 "./util/configparser.y"
+ {
+ OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->prefetch_key = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->prefetch_key = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4679 "util/configparser.c"
break;
- case 442: /* server_deny_any: VAR_DENY_ANY STRING_ARG */
-#line 1798 "./util/configparser.y"
- {
- OUTYY(("P(server_deny_any:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 444:
+#line 1799 "./util/configparser.y"
+ {
+ OUTYY(("P(server_deny_any:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->deny_any = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->deny_any = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4691 "util/configparser.c"
break;
- case 443: /* server_unwanted_reply_threshold: VAR_UNWANTED_REPLY_THRESHOLD STRING_ARG */
-#line 1807 "./util/configparser.y"
- {
- OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 445:
+#line 1808 "./util/configparser.y"
+ {
+ OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4703 "util/configparser.c"
break;
- case 444: /* server_do_not_query_address: VAR_DO_NOT_QUERY_ADDRESS STRING_ARG */
-#line 1816 "./util/configparser.y"
- {
- OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[0].str)))
+ case 446:
+#line 1817 "./util/configparser.y"
+ {
+ OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 4713 "util/configparser.c"
break;
- case 445: /* server_do_not_query_localhost: VAR_DO_NOT_QUERY_LOCALHOST STRING_ARG */
-#line 1823 "./util/configparser.y"
- {
- OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 447:
+#line 1824 "./util/configparser.y"
+ {
+ OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->donotquery_localhost =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
- }
-#line 4726 "util/configparser.c"
- break;
-
- case 446: /* server_access_control: VAR_ACCESS_CONTROL STRING_ARG STRING_ARG */
-#line 1833 "./util/configparser.y"
- {
- OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "deny")!=0 && strcmp((yyvsp[0].str), "refuse")!=0 &&
- strcmp((yyvsp[0].str), "deny_non_local")!=0 &&
- strcmp((yyvsp[0].str), "refuse_non_local")!=0 &&
- strcmp((yyvsp[0].str), "allow_setrd")!=0 &&
- strcmp((yyvsp[0].str), "allow")!=0 &&
- strcmp((yyvsp[0].str), "allow_snoop")!=0) {
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
+ }
+ break;
+
+ case 448:
+#line 1834 "./util/configparser.y"
+ {
+ OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
+ if(strcmp((yyvsp[(3) - (3)].str), "deny")!=0 && strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 &&
+ strcmp((yyvsp[(3) - (3)].str), "deny_non_local")!=0 &&
+ strcmp((yyvsp[(3) - (3)].str), "refuse_non_local")!=0 &&
+ strcmp((yyvsp[(3) - (3)].str), "allow_setrd")!=0 &&
+ strcmp((yyvsp[(3) - (3)].str), "allow")!=0 &&
+ strcmp((yyvsp[(3) - (3)].str), "allow_snoop")!=0) {
yyerror("expected deny, refuse, deny_non_local, "
"refuse_non_local, allow, allow_setrd or "
"allow_snoop in access control action");
- free((yyvsp[-1].str));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (3)].str));
+ free((yyvsp[(3) - (3)].str));
} else {
- if(!cfg_str2list_insert(&cfg_parser->cfg->acls, (yyvsp[-1].str), (yyvsp[0].str)))
+ if(!cfg_str2list_insert(&cfg_parser->cfg->acls, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
fatal_exit("out of memory adding acl");
}
}
-#line 4749 "util/configparser.c"
break;
- case 447: /* server_module_conf: VAR_MODULE_CONF STRING_ARG */
-#line 1853 "./util/configparser.y"
- {
- OUTYY(("P(server_module_conf:%s)\n", (yyvsp[0].str)));
+ case 449:
+#line 1854 "./util/configparser.y"
+ {
+ OUTYY(("P(server_module_conf:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->module_conf);
- cfg_parser->cfg->module_conf = (yyvsp[0].str);
+ cfg_parser->cfg->module_conf = (yyvsp[(2) - (2)].str);
}
-#line 4759 "util/configparser.c"
break;
- case 448: /* server_val_override_date: VAR_VAL_OVERRIDE_DATE STRING_ARG */
-#line 1860 "./util/configparser.y"
- {
- OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[0].str)));
- if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) {
+ case 450:
+#line 1861 "./util/configparser.y"
+ {
+ OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(*(yyvsp[(2) - (2)].str) == '\0' || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
cfg_parser->cfg->val_date_override = 0;
- } else if(strlen((yyvsp[0].str)) == 14) {
+ } else if(strlen((yyvsp[(2) - (2)].str)) == 14) {
cfg_parser->cfg->val_date_override =
- cfg_convert_timeval((yyvsp[0].str));
+ cfg_convert_timeval((yyvsp[(2) - (2)].str));
if(!cfg_parser->cfg->val_date_override)
yyerror("bad date/time specification");
} else {
- if(atoi((yyvsp[0].str)) == 0)
+ if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("number expected");
- cfg_parser->cfg->val_date_override = atoi((yyvsp[0].str));
+ cfg_parser->cfg->val_date_override = atoi((yyvsp[(2) - (2)].str));
}
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4780 "util/configparser.c"
break;
- case 449: /* server_val_sig_skew_min: VAR_VAL_SIG_SKEW_MIN STRING_ARG */
-#line 1878 "./util/configparser.y"
- {
- OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[0].str)));
- if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) {
+ case 451:
+#line 1879 "./util/configparser.y"
+ {
+ OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(*(yyvsp[(2) - (2)].str) == '\0' || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
cfg_parser->cfg->val_sig_skew_min = 0;
} else {
- cfg_parser->cfg->val_sig_skew_min = atoi((yyvsp[0].str));
+ cfg_parser->cfg->val_sig_skew_min = atoi((yyvsp[(2) - (2)].str));
if(!cfg_parser->cfg->val_sig_skew_min)
yyerror("number expected");
}
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4796 "util/configparser.c"
break;
- case 450: /* server_val_sig_skew_max: VAR_VAL_SIG_SKEW_MAX STRING_ARG */
-#line 1891 "./util/configparser.y"
- {
- OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[0].str)));
- if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) {
+ case 452:
+#line 1892 "./util/configparser.y"
+ {
+ OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(*(yyvsp[(2) - (2)].str) == '\0' || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
cfg_parser->cfg->val_sig_skew_max = 0;
} else {
- cfg_parser->cfg->val_sig_skew_max = atoi((yyvsp[0].str));
+ cfg_parser->cfg->val_sig_skew_max = atoi((yyvsp[(2) - (2)].str));
if(!cfg_parser->cfg->val_sig_skew_max)
yyerror("number expected");
}
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4812 "util/configparser.c"
break;
- case 451: /* server_val_max_restart: VAR_VAL_MAX_RESTART STRING_ARG */
-#line 1904 "./util/configparser.y"
- {
- OUTYY(("P(server_val_max_restart:%s)\n", (yyvsp[0].str)));
- if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) {
+ case 453:
+#line 1905 "./util/configparser.y"
+ {
+ OUTYY(("P(server_val_max_restart:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(*(yyvsp[(2) - (2)].str) == '\0' || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
cfg_parser->cfg->val_max_restart = 0;
} else {
- cfg_parser->cfg->val_max_restart = atoi((yyvsp[0].str));
+ cfg_parser->cfg->val_max_restart = atoi((yyvsp[(2) - (2)].str));
if(!cfg_parser->cfg->val_max_restart)
yyerror("number expected");
}
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4828 "util/configparser.c"
break;
- case 452: /* server_cache_max_ttl: VAR_CACHE_MAX_TTL STRING_ARG */
-#line 1917 "./util/configparser.y"
- {
- OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 454:
+#line 1918 "./util/configparser.y"
+ {
+ OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->max_ttl = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->max_ttl = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4840 "util/configparser.c"
break;
- case 453: /* server_cache_max_negative_ttl: VAR_CACHE_MAX_NEGATIVE_TTL STRING_ARG */
-#line 1926 "./util/configparser.y"
- {
- OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 455:
+#line 1927 "./util/configparser.y"
+ {
+ OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4852 "util/configparser.c"
break;
- case 454: /* server_cache_min_ttl: VAR_CACHE_MIN_TTL STRING_ARG */
-#line 1935 "./util/configparser.y"
- {
- OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 456:
+#line 1936 "./util/configparser.y"
+ {
+ OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->min_ttl = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->min_ttl = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4864 "util/configparser.c"
break;
- case 455: /* server_bogus_ttl: VAR_BOGUS_TTL STRING_ARG */
-#line 1944 "./util/configparser.y"
- {
- OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 457:
+#line 1945 "./util/configparser.y"
+ {
+ OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4876 "util/configparser.c"
break;
- case 456: /* server_val_clean_additional: VAR_VAL_CLEAN_ADDITIONAL STRING_ARG */
-#line 1953 "./util/configparser.y"
- {
- OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 458:
+#line 1954 "./util/configparser.y"
+ {
+ OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->val_clean_additional =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4889 "util/configparser.c"
break;
- case 457: /* server_val_permissive_mode: VAR_VAL_PERMISSIVE_MODE STRING_ARG */
-#line 1963 "./util/configparser.y"
- {
- OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 459:
+#line 1964 "./util/configparser.y"
+ {
+ OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->val_permissive_mode =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4902 "util/configparser.c"
break;
- case 458: /* server_aggressive_nsec: VAR_AGGRESSIVE_NSEC STRING_ARG */
-#line 1973 "./util/configparser.y"
- {
- OUTYY(("P(server_aggressive_nsec:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 460:
+#line 1974 "./util/configparser.y"
+ {
+ OUTYY(("P(server_aggressive_nsec:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else
cfg_parser->cfg->aggressive_nsec =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4916 "util/configparser.c"
break;
- case 459: /* server_ignore_cd_flag: VAR_IGNORE_CD_FLAG STRING_ARG */
-#line 1984 "./util/configparser.y"
- {
- OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 461:
+#line 1985 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->ignore_cd = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->ignore_cd = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4928 "util/configparser.c"
break;
- case 460: /* server_serve_expired: VAR_SERVE_EXPIRED STRING_ARG */
-#line 1993 "./util/configparser.y"
- {
- OUTYY(("P(server_serve_expired:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 462:
+#line 1994 "./util/configparser.y"
+ {
+ OUTYY(("P(server_serve_expired:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->serve_expired = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->serve_expired = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4940 "util/configparser.c"
break;
- case 461: /* server_serve_expired_ttl: VAR_SERVE_EXPIRED_TTL STRING_ARG */
-#line 2002 "./util/configparser.y"
- {
- OUTYY(("P(server_serve_expired_ttl:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 463:
+#line 2003 "./util/configparser.y"
+ {
+ OUTYY(("P(server_serve_expired_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->serve_expired_ttl = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->serve_expired_ttl = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4952 "util/configparser.c"
break;
- case 462: /* server_serve_expired_ttl_reset: VAR_SERVE_EXPIRED_TTL_RESET STRING_ARG */
-#line 2011 "./util/configparser.y"
- {
- OUTYY(("P(server_serve_expired_ttl_reset:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 464:
+#line 2012 "./util/configparser.y"
+ {
+ OUTYY(("P(server_serve_expired_ttl_reset:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->serve_expired_ttl_reset = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->serve_expired_ttl_reset = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4964 "util/configparser.c"
break;
- case 463: /* server_serve_expired_reply_ttl: VAR_SERVE_EXPIRED_REPLY_TTL STRING_ARG */
-#line 2020 "./util/configparser.y"
- {
- OUTYY(("P(server_serve_expired_reply_ttl:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 465:
+#line 2021 "./util/configparser.y"
+ {
+ OUTYY(("P(server_serve_expired_reply_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->serve_expired_reply_ttl = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->serve_expired_reply_ttl = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 4976 "util/configparser.c"
break;
- case 464: /* server_serve_expired_client_timeout: VAR_SERVE_EXPIRED_CLIENT_TIMEOUT STRING_ARG */
-#line 2029 "./util/configparser.y"
- {
- OUTYY(("P(server_serve_expired_client_timeout:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 466:
+#line 2030 "./util/configparser.y"
+ {
+ OUTYY(("P(server_serve_expired_client_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->serve_expired_client_timeout = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->serve_expired_client_timeout = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
+ }
+ break;
+
+ case 467:
+#line 2039 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ede_serve_expired:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->ede_serve_expired = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 4988 "util/configparser.c"
break;
- case 465: /* server_serve_original_ttl: VAR_SERVE_ORIGINAL_TTL STRING_ARG */
-#line 2038 "./util/configparser.y"
- {
- OUTYY(("P(server_serve_original_ttl:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 468:
+#line 2048 "./util/configparser.y"
+ {
+ OUTYY(("P(server_serve_original_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->serve_original_ttl = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->serve_original_ttl = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5000 "util/configparser.c"
break;
- case 466: /* server_fake_dsa: VAR_FAKE_DSA STRING_ARG */
-#line 2047 "./util/configparser.y"
- {
- OUTYY(("P(server_fake_dsa:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 469:
+#line 2057 "./util/configparser.y"
+ {
+ OUTYY(("P(server_fake_dsa:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
#if defined(HAVE_SSL) || defined(HAVE_NETTLE)
- else fake_dsa = (strcmp((yyvsp[0].str), "yes")==0);
+ else fake_dsa = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
if(fake_dsa)
log_warn("test option fake_dsa is enabled");
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5016 "util/configparser.c"
break;
- case 467: /* server_fake_sha1: VAR_FAKE_SHA1 STRING_ARG */
-#line 2060 "./util/configparser.y"
- {
- OUTYY(("P(server_fake_sha1:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 470:
+#line 2070 "./util/configparser.y"
+ {
+ OUTYY(("P(server_fake_sha1:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
#if defined(HAVE_SSL) || defined(HAVE_NETTLE)
- else fake_sha1 = (strcmp((yyvsp[0].str), "yes")==0);
+ else fake_sha1 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
if(fake_sha1)
log_warn("test option fake_sha1 is enabled");
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5032 "util/configparser.c"
break;
- case 468: /* server_val_log_level: VAR_VAL_LOG_LEVEL STRING_ARG */
-#line 2073 "./util/configparser.y"
- {
- OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 471:
+#line 2083 "./util/configparser.y"
+ {
+ OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->val_log_level = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->val_log_level = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5044 "util/configparser.c"
break;
- case 469: /* server_val_nsec3_keysize_iterations: VAR_VAL_NSEC3_KEYSIZE_ITERATIONS STRING_ARG */
-#line 2082 "./util/configparser.y"
- {
- OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[0].str)));
+ case 472:
+#line 2092 "./util/configparser.y"
+ {
+ OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->val_nsec3_key_iterations);
- cfg_parser->cfg->val_nsec3_key_iterations = (yyvsp[0].str);
+ cfg_parser->cfg->val_nsec3_key_iterations = (yyvsp[(2) - (2)].str);
}
-#line 5054 "util/configparser.c"
break;
- case 470: /* server_zonemd_permissive_mode: VAR_ZONEMD_PERMISSIVE_MODE STRING_ARG */
-#line 2089 "./util/configparser.y"
- {
- OUTYY(("P(server_zonemd_permissive_mode:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 473:
+#line 2099 "./util/configparser.y"
+ {
+ OUTYY(("P(server_zonemd_permissive_mode:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->zonemd_permissive_mode = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->zonemd_permissive_mode = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5066 "util/configparser.c"
break;
- case 471: /* server_add_holddown: VAR_ADD_HOLDDOWN STRING_ARG */
-#line 2098 "./util/configparser.y"
- {
- OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 474:
+#line 2108 "./util/configparser.y"
+ {
+ OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->add_holddown = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->add_holddown = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5078 "util/configparser.c"
break;
- case 472: /* server_del_holddown: VAR_DEL_HOLDDOWN STRING_ARG */
-#line 2107 "./util/configparser.y"
- {
- OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 475:
+#line 2117 "./util/configparser.y"
+ {
+ OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->del_holddown = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->del_holddown = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5090 "util/configparser.c"
break;
- case 473: /* server_keep_missing: VAR_KEEP_MISSING STRING_ARG */
-#line 2116 "./util/configparser.y"
- {
- OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 476:
+#line 2126 "./util/configparser.y"
+ {
+ OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->keep_missing = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->keep_missing = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5102 "util/configparser.c"
break;
- case 474: /* server_permit_small_holddown: VAR_PERMIT_SMALL_HOLDDOWN STRING_ARG */
-#line 2125 "./util/configparser.y"
- {
- OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 477:
+#line 2135 "./util/configparser.y"
+ {
+ OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->permit_small_holddown =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5115 "util/configparser.c"
break;
- case 475: /* server_key_cache_size: VAR_KEY_CACHE_SIZE STRING_ARG */
-#line 2134 "./util/configparser.y"
- {
- OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[0].str)));
- if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->key_cache_size))
+ case 478:
+#line 2144 "./util/configparser.y"
+ {
+ OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->key_cache_size))
yyerror("memory size expected");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5126 "util/configparser.c"
break;
- case 476: /* server_key_cache_slabs: VAR_KEY_CACHE_SLABS STRING_ARG */
-#line 2142 "./util/configparser.y"
- {
- OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0) {
+ case 479:
+#line 2152 "./util/configparser.y"
+ {
+ OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0) {
yyerror("number expected");
} else {
- cfg_parser->cfg->key_cache_slabs = atoi((yyvsp[0].str));
+ cfg_parser->cfg->key_cache_slabs = atoi((yyvsp[(2) - (2)].str));
if(!is_pow2(cfg_parser->cfg->key_cache_slabs))
yyerror("must be a power of 2");
}
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5142 "util/configparser.c"
break;
- case 477: /* server_neg_cache_size: VAR_NEG_CACHE_SIZE STRING_ARG */
-#line 2155 "./util/configparser.y"
- {
- OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[0].str)));
- if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->neg_cache_size))
+ case 480:
+#line 2165 "./util/configparser.y"
+ {
+ OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->neg_cache_size))
yyerror("memory size expected");
- free((yyvsp[0].str));
- }
-#line 5153 "util/configparser.c"
- break;
-
- case 478: /* server_local_zone: VAR_LOCAL_ZONE STRING_ARG STRING_ARG */
-#line 2163 "./util/configparser.y"
- {
- OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 &&
- strcmp((yyvsp[0].str), "refuse")!=0 && strcmp((yyvsp[0].str), "redirect")!=0 &&
- strcmp((yyvsp[0].str), "transparent")!=0 && strcmp((yyvsp[0].str), "nodefault")!=0
- && strcmp((yyvsp[0].str), "typetransparent")!=0
- && strcmp((yyvsp[0].str), "always_transparent")!=0
- && strcmp((yyvsp[0].str), "always_refuse")!=0
- && strcmp((yyvsp[0].str), "always_nxdomain")!=0
- && strcmp((yyvsp[0].str), "always_nodata")!=0
- && strcmp((yyvsp[0].str), "always_deny")!=0
- && strcmp((yyvsp[0].str), "always_null")!=0
- && strcmp((yyvsp[0].str), "noview")!=0
- && strcmp((yyvsp[0].str), "inform")!=0 && strcmp((yyvsp[0].str), "inform_deny")!=0
- && strcmp((yyvsp[0].str), "inform_redirect") != 0
- && strcmp((yyvsp[0].str), "ipset") != 0) {
+ free((yyvsp[(2) - (2)].str));
+ }
+ break;
+
+ case 481:
+#line 2173 "./util/configparser.y"
+ {
+ OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
+ if(strcmp((yyvsp[(3) - (3)].str), "static")!=0 && strcmp((yyvsp[(3) - (3)].str), "deny")!=0 &&
+ strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 && strcmp((yyvsp[(3) - (3)].str), "redirect")!=0 &&
+ strcmp((yyvsp[(3) - (3)].str), "transparent")!=0 && strcmp((yyvsp[(3) - (3)].str), "nodefault")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "typetransparent")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "always_transparent")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "always_refuse")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "always_nxdomain")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "always_nodata")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "always_deny")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "always_null")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "noview")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "inform")!=0 && strcmp((yyvsp[(3) - (3)].str), "inform_deny")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "inform_redirect") != 0
+ && strcmp((yyvsp[(3) - (3)].str), "ipset") != 0) {
yyerror("local-zone type: expected static, deny, "
"refuse, redirect, transparent, "
"typetransparent, inform, inform_deny, "
"always_refuse, always_nxdomain, "
"always_nodata, always_deny, always_null, "
"noview, nodefault or ipset");
- free((yyvsp[-1].str));
- free((yyvsp[0].str));
- } else if(strcmp((yyvsp[0].str), "nodefault")==0) {
+ free((yyvsp[(2) - (3)].str));
+ free((yyvsp[(3) - (3)].str));
+ } else if(strcmp((yyvsp[(3) - (3)].str), "nodefault")==0) {
if(!cfg_strlist_insert(&cfg_parser->cfg->
- local_zones_nodefault, (yyvsp[-1].str)))
+ local_zones_nodefault, (yyvsp[(2) - (3)].str)))
fatal_exit("out of memory adding local-zone");
- free((yyvsp[0].str));
+ free((yyvsp[(3) - (3)].str));
#ifdef USE_IPSET
- } else if(strcmp((yyvsp[0].str), "ipset")==0) {
- size_t len = strlen((yyvsp[-1].str));
+ } else if(strcmp((yyvsp[(3) - (3)].str), "ipset")==0) {
+ size_t len = strlen((yyvsp[(2) - (3)].str));
/* Make sure to add the trailing dot.
* These are str compared to domain names. */
- if((yyvsp[-1].str)[len-1] != '.') {
- if(!((yyvsp[-1].str) = realloc((yyvsp[-1].str), len+2))) {
+ if((yyvsp[(2) - (3)].str)[len-1] != '.') {
+ if(!((yyvsp[(2) - (3)].str) = realloc((yyvsp[(2) - (3)].str), len+2))) {
fatal_exit("out of memory adding local-zone");
}
- (yyvsp[-1].str)[len] = '.';
- (yyvsp[-1].str)[len+1] = 0;
+ (yyvsp[(2) - (3)].str)[len] = '.';
+ (yyvsp[(2) - (3)].str)[len+1] = 0;
}
if(!cfg_strlist_insert(&cfg_parser->cfg->
- local_zones_ipset, (yyvsp[-1].str)))
+ local_zones_ipset, (yyvsp[(2) - (3)].str)))
fatal_exit("out of memory adding local-zone");
- free((yyvsp[0].str));
+ free((yyvsp[(3) - (3)].str));
#endif
} else {
if(!cfg_str2list_insert(&cfg_parser->cfg->local_zones,
- (yyvsp[-1].str), (yyvsp[0].str)))
+ (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
fatal_exit("out of memory adding local-zone");
}
}
-#line 5211 "util/configparser.c"
break;
- case 479: /* server_local_data: VAR_LOCAL_DATA STRING_ARG */
-#line 2218 "./util/configparser.y"
- {
- OUTYY(("P(server_local_data:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[0].str)))
+ case 482:
+#line 2228 "./util/configparser.y"
+ {
+ OUTYY(("P(server_local_data:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[(2) - (2)].str)))
fatal_exit("out of memory adding local-data");
}
-#line 5221 "util/configparser.c"
break;
- case 480: /* server_local_data_ptr: VAR_LOCAL_DATA_PTR STRING_ARG */
-#line 2225 "./util/configparser.y"
- {
+ case 483:
+#line 2235 "./util/configparser.y"
+ {
char* ptr;
- OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[0].str)));
- ptr = cfg_ptr_reverse((yyvsp[0].str));
- free((yyvsp[0].str));
+ OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str)));
+ ptr = cfg_ptr_reverse((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
if(ptr) {
if(!cfg_strlist_insert(&cfg_parser->cfg->
local_data, ptr))
yyerror("local-data-ptr could not be reversed");
}
}
-#line 5239 "util/configparser.c"
break;
- case 481: /* server_minimal_responses: VAR_MINIMAL_RESPONSES STRING_ARG */
-#line 2240 "./util/configparser.y"
- {
- OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 484:
+#line 2250 "./util/configparser.y"
+ {
+ OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->minimal_responses =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5252 "util/configparser.c"
break;
- case 482: /* server_rrset_roundrobin: VAR_RRSET_ROUNDROBIN STRING_ARG */
-#line 2250 "./util/configparser.y"
- {
- OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 485:
+#line 2260 "./util/configparser.y"
+ {
+ OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->rrset_roundrobin =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5265 "util/configparser.c"
break;
- case 483: /* server_unknown_server_time_limit: VAR_UNKNOWN_SERVER_TIME_LIMIT STRING_ARG */
-#line 2260 "./util/configparser.y"
- {
- OUTYY(("P(server_unknown_server_time_limit:%s)\n", (yyvsp[0].str)));
- cfg_parser->cfg->unknown_server_time_limit = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ case 486:
+#line 2270 "./util/configparser.y"
+ {
+ OUTYY(("P(server_unknown_server_time_limit:%s)\n", (yyvsp[(2) - (2)].str)));
+ cfg_parser->cfg->unknown_server_time_limit = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5275 "util/configparser.c"
break;
- case 484: /* server_max_udp_size: VAR_MAX_UDP_SIZE STRING_ARG */
-#line 2267 "./util/configparser.y"
- {
- OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[0].str)));
- cfg_parser->cfg->max_udp_size = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ case 487:
+#line 2277 "./util/configparser.y"
+ {
+ OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ cfg_parser->cfg->max_udp_size = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5285 "util/configparser.c"
break;
- case 485: /* server_dns64_prefix: VAR_DNS64_PREFIX STRING_ARG */
-#line 2274 "./util/configparser.y"
- {
- OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[0].str)));
+ case 488:
+#line 2284 "./util/configparser.y"
+ {
+ OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dns64_prefix);
- cfg_parser->cfg->dns64_prefix = (yyvsp[0].str);
+ cfg_parser->cfg->dns64_prefix = (yyvsp[(2) - (2)].str);
}
-#line 5295 "util/configparser.c"
break;
- case 486: /* server_dns64_synthall: VAR_DNS64_SYNTHALL STRING_ARG */
-#line 2281 "./util/configparser.y"
- {
- OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 489:
+#line 2291 "./util/configparser.y"
+ {
+ OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5307 "util/configparser.c"
break;
- case 487: /* server_dns64_ignore_aaaa: VAR_DNS64_IGNORE_AAAA STRING_ARG */
-#line 2290 "./util/configparser.y"
- {
- OUTYY(("P(dns64_ignore_aaaa:%s)\n", (yyvsp[0].str)));
+ case 490:
+#line 2300 "./util/configparser.y"
+ {
+ OUTYY(("P(dns64_ignore_aaaa:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->dns64_ignore_aaaa,
- (yyvsp[0].str)))
+ (yyvsp[(2) - (2)].str)))
fatal_exit("out of memory adding dns64-ignore-aaaa");
}
-#line 5318 "util/configparser.c"
break;
- case 488: /* server_define_tag: VAR_DEFINE_TAG STRING_ARG */
-#line 2298 "./util/configparser.y"
- {
- char* p, *s = (yyvsp[0].str);
- OUTYY(("P(server_define_tag:%s)\n", (yyvsp[0].str)));
+ case 491:
+#line 2308 "./util/configparser.y"
+ {
+ char* p, *s = (yyvsp[(2) - (2)].str);
+ OUTYY(("P(server_define_tag:%s)\n", (yyvsp[(2) - (2)].str)));
while((p=strsep(&s, " \t\n")) != NULL) {
if(*p) {
if(!config_add_tag(cfg_parser->cfg, p))
"out of memory");
}
}
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5335 "util/configparser.c"
break;
- case 489: /* server_local_zone_tag: VAR_LOCAL_ZONE_TAG STRING_ARG STRING_ARG */
-#line 2312 "./util/configparser.y"
- {
+ case 492:
+#line 2322 "./util/configparser.y"
+ {
size_t len = 0;
- uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
+ uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[(3) - (3)].str),
&len);
- free((yyvsp[0].str));
- OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[-1].str)));
+ free((yyvsp[(3) - (3)].str));
+ OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[(2) - (3)].str)));
if(!bitlist) {
yyerror("could not parse tags, (define-tag them first)");
- free((yyvsp[-1].str));
+ free((yyvsp[(2) - (3)].str));
}
if(bitlist) {
if(!cfg_strbytelist_insert(
&cfg_parser->cfg->local_zone_tags,
- (yyvsp[-1].str), bitlist, len)) {
+ (yyvsp[(2) - (3)].str), bitlist, len)) {
yyerror("out of memory");
- free((yyvsp[-1].str));
+ free((yyvsp[(2) - (3)].str));
}
}
}
-#line 5359 "util/configparser.c"
break;
- case 490: /* server_access_control_tag: VAR_ACCESS_CONTROL_TAG STRING_ARG STRING_ARG */
-#line 2333 "./util/configparser.y"
- {
+ case 493:
+#line 2343 "./util/configparser.y"
+ {
size_t len = 0;
- uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
+ uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[(3) - (3)].str),
&len);
- free((yyvsp[0].str));
- OUTYY(("P(server_access_control_tag:%s)\n", (yyvsp[-1].str)));
+ free((yyvsp[(3) - (3)].str));
+ OUTYY(("P(server_access_control_tag:%s)\n", (yyvsp[(2) - (3)].str)));
if(!bitlist) {
yyerror("could not parse tags, (define-tag them first)");
- free((yyvsp[-1].str));
+ free((yyvsp[(2) - (3)].str));
}
if(bitlist) {
if(!cfg_strbytelist_insert(
&cfg_parser->cfg->acl_tags,
- (yyvsp[-1].str), bitlist, len)) {
+ (yyvsp[(2) - (3)].str), bitlist, len)) {
yyerror("out of memory");
- free((yyvsp[-1].str));
+ free((yyvsp[(2) - (3)].str));
}
}
}
-#line 5383 "util/configparser.c"
break;
- case 491: /* server_access_control_tag_action: VAR_ACCESS_CONTROL_TAG_ACTION STRING_ARG STRING_ARG STRING_ARG */
-#line 2354 "./util/configparser.y"
- {
- OUTYY(("P(server_access_control_tag_action:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)));
+ case 494:
+#line 2364 "./util/configparser.y"
+ {
+ OUTYY(("P(server_access_control_tag_action:%s %s %s)\n", (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str)));
if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_actions,
- (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) {
+ (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str))) {
yyerror("out of memory");
- free((yyvsp[-2].str));
- free((yyvsp[-1].str));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (4)].str));
+ free((yyvsp[(3) - (4)].str));
+ free((yyvsp[(4) - (4)].str));
}
}
-#line 5398 "util/configparser.c"
break;
- case 492: /* server_access_control_tag_data: VAR_ACCESS_CONTROL_TAG_DATA STRING_ARG STRING_ARG STRING_ARG */
-#line 2366 "./util/configparser.y"
- {
- OUTYY(("P(server_access_control_tag_data:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)));
+ case 495:
+#line 2376 "./util/configparser.y"
+ {
+ OUTYY(("P(server_access_control_tag_data:%s %s %s)\n", (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str)));
if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_datas,
- (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) {
+ (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str))) {
yyerror("out of memory");
- free((yyvsp[-2].str));
- free((yyvsp[-1].str));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (4)].str));
+ free((yyvsp[(3) - (4)].str));
+ free((yyvsp[(4) - (4)].str));
}
}
-#line 5413 "util/configparser.c"
break;
- case 493: /* server_local_zone_override: VAR_LOCAL_ZONE_OVERRIDE STRING_ARG STRING_ARG STRING_ARG */
-#line 2378 "./util/configparser.y"
- {
- OUTYY(("P(server_local_zone_override:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)));
+ case 496:
+#line 2388 "./util/configparser.y"
+ {
+ OUTYY(("P(server_local_zone_override:%s %s %s)\n", (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str)));
if(!cfg_str3list_insert(&cfg_parser->cfg->local_zone_overrides,
- (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) {
+ (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str))) {
yyerror("out of memory");
- free((yyvsp[-2].str));
- free((yyvsp[-1].str));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (4)].str));
+ free((yyvsp[(3) - (4)].str));
+ free((yyvsp[(4) - (4)].str));
}
}
-#line 5428 "util/configparser.c"
break;
- case 494: /* server_access_control_view: VAR_ACCESS_CONTROL_VIEW STRING_ARG STRING_ARG */
-#line 2390 "./util/configparser.y"
- {
- OUTYY(("P(server_access_control_view:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
+ case 497:
+#line 2400 "./util/configparser.y"
+ {
+ OUTYY(("P(server_access_control_view:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
if(!cfg_str2list_insert(&cfg_parser->cfg->acl_view,
- (yyvsp[-1].str), (yyvsp[0].str))) {
+ (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) {
yyerror("out of memory");
}
}
-#line 5440 "util/configparser.c"
break;
- case 495: /* server_response_ip_tag: VAR_RESPONSE_IP_TAG STRING_ARG STRING_ARG */
-#line 2399 "./util/configparser.y"
- {
+ case 498:
+#line 2409 "./util/configparser.y"
+ {
size_t len = 0;
- uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
+ uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[(3) - (3)].str),
&len);
- free((yyvsp[0].str));
- OUTYY(("P(response_ip_tag:%s)\n", (yyvsp[-1].str)));
+ free((yyvsp[(3) - (3)].str));
+ OUTYY(("P(response_ip_tag:%s)\n", (yyvsp[(2) - (3)].str)));
if(!bitlist) {
yyerror("could not parse tags, (define-tag them first)");
- free((yyvsp[-1].str));
+ free((yyvsp[(2) - (3)].str));
}
if(bitlist) {
if(!cfg_strbytelist_insert(
&cfg_parser->cfg->respip_tags,
- (yyvsp[-1].str), bitlist, len)) {
+ (yyvsp[(2) - (3)].str), bitlist, len)) {
yyerror("out of memory");
- free((yyvsp[-1].str));
+ free((yyvsp[(2) - (3)].str));
}
}
}
-#line 5464 "util/configparser.c"
break;
- case 496: /* server_ip_ratelimit: VAR_IP_RATELIMIT STRING_ARG */
-#line 2420 "./util/configparser.y"
- {
- OUTYY(("P(server_ip_ratelimit:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 499:
+#line 2430 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ip_ratelimit:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->ip_ratelimit = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->ip_ratelimit = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5476 "util/configparser.c"
break;
- case 497: /* server_ratelimit: VAR_RATELIMIT STRING_ARG */
-#line 2429 "./util/configparser.y"
- {
- OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 500:
+#line 2439 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->ratelimit = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->ratelimit = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5488 "util/configparser.c"
break;
- case 498: /* server_ip_ratelimit_size: VAR_IP_RATELIMIT_SIZE STRING_ARG */
-#line 2438 "./util/configparser.y"
- {
- OUTYY(("P(server_ip_ratelimit_size:%s)\n", (yyvsp[0].str)));
- if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ip_ratelimit_size))
+ case 501:
+#line 2448 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ip_ratelimit_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->ip_ratelimit_size))
yyerror("memory size expected");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5499 "util/configparser.c"
break;
- case 499: /* server_ratelimit_size: VAR_RATELIMIT_SIZE STRING_ARG */
-#line 2446 "./util/configparser.y"
- {
- OUTYY(("P(server_ratelimit_size:%s)\n", (yyvsp[0].str)));
- if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ratelimit_size))
+ case 502:
+#line 2456 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ratelimit_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->ratelimit_size))
yyerror("memory size expected");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5510 "util/configparser.c"
break;
- case 500: /* server_ip_ratelimit_slabs: VAR_IP_RATELIMIT_SLABS STRING_ARG */
-#line 2454 "./util/configparser.y"
- {
- OUTYY(("P(server_ip_ratelimit_slabs:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0) {
+ case 503:
+#line 2464 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ip_ratelimit_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0) {
yyerror("number expected");
} else {
- cfg_parser->cfg->ip_ratelimit_slabs = atoi((yyvsp[0].str));
+ cfg_parser->cfg->ip_ratelimit_slabs = atoi((yyvsp[(2) - (2)].str));
if(!is_pow2(cfg_parser->cfg->ip_ratelimit_slabs))
yyerror("must be a power of 2");
}
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5526 "util/configparser.c"
break;
- case 501: /* server_ratelimit_slabs: VAR_RATELIMIT_SLABS STRING_ARG */
-#line 2467 "./util/configparser.y"
- {
- OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0) {
+ case 504:
+#line 2477 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0) {
yyerror("number expected");
} else {
- cfg_parser->cfg->ratelimit_slabs = atoi((yyvsp[0].str));
+ cfg_parser->cfg->ratelimit_slabs = atoi((yyvsp[(2) - (2)].str));
if(!is_pow2(cfg_parser->cfg->ratelimit_slabs))
yyerror("must be a power of 2");
}
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5542 "util/configparser.c"
break;
- case 502: /* server_ratelimit_for_domain: VAR_RATELIMIT_FOR_DOMAIN STRING_ARG STRING_ARG */
-#line 2480 "./util/configparser.y"
- {
- OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) {
+ case 505:
+#line 2490 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
+ if(atoi((yyvsp[(3) - (3)].str)) == 0 && strcmp((yyvsp[(3) - (3)].str), "0") != 0) {
yyerror("number expected");
- free((yyvsp[-1].str));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (3)].str));
+ free((yyvsp[(3) - (3)].str));
} else {
if(!cfg_str2list_insert(&cfg_parser->cfg->
- ratelimit_for_domain, (yyvsp[-1].str), (yyvsp[0].str)))
+ ratelimit_for_domain, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
fatal_exit("out of memory adding "
"ratelimit-for-domain");
}
}
-#line 5560 "util/configparser.c"
break;
- case 503: /* server_ratelimit_below_domain: VAR_RATELIMIT_BELOW_DOMAIN STRING_ARG STRING_ARG */
-#line 2495 "./util/configparser.y"
- {
- OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) {
+ case 506:
+#line 2505 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
+ if(atoi((yyvsp[(3) - (3)].str)) == 0 && strcmp((yyvsp[(3) - (3)].str), "0") != 0) {
yyerror("number expected");
- free((yyvsp[-1].str));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (3)].str));
+ free((yyvsp[(3) - (3)].str));
} else {
if(!cfg_str2list_insert(&cfg_parser->cfg->
- ratelimit_below_domain, (yyvsp[-1].str), (yyvsp[0].str)))
+ ratelimit_below_domain, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
fatal_exit("out of memory adding "
"ratelimit-below-domain");
}
}
-#line 5578 "util/configparser.c"
break;
- case 504: /* server_ip_ratelimit_factor: VAR_IP_RATELIMIT_FACTOR STRING_ARG */
-#line 2510 "./util/configparser.y"
- {
- OUTYY(("P(server_ip_ratelimit_factor:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 507:
+#line 2520 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ip_ratelimit_factor:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->ip_ratelimit_factor = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->ip_ratelimit_factor = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5590 "util/configparser.c"
break;
- case 505: /* server_ratelimit_factor: VAR_RATELIMIT_FACTOR STRING_ARG */
-#line 2519 "./util/configparser.y"
- {
- OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 508:
+#line 2529 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5602 "util/configparser.c"
break;
- case 506: /* server_ip_ratelimit_backoff: VAR_IP_RATELIMIT_BACKOFF STRING_ARG */
-#line 2528 "./util/configparser.y"
- {
- OUTYY(("P(server_ip_ratelimit_backoff:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 509:
+#line 2538 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ip_ratelimit_backoff:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->ip_ratelimit_backoff =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5615 "util/configparser.c"
break;
- case 507: /* server_ratelimit_backoff: VAR_RATELIMIT_BACKOFF STRING_ARG */
-#line 2538 "./util/configparser.y"
- {
- OUTYY(("P(server_ratelimit_backoff:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 510:
+#line 2548 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ratelimit_backoff:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->ratelimit_backoff =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5628 "util/configparser.c"
break;
- case 508: /* server_outbound_msg_retry: VAR_OUTBOUND_MSG_RETRY STRING_ARG */
-#line 2548 "./util/configparser.y"
- {
- OUTYY(("P(server_outbound_msg_retry:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 511:
+#line 2558 "./util/configparser.y"
+ {
+ OUTYY(("P(server_outbound_msg_retry:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->outbound_msg_retry = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->outbound_msg_retry = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5640 "util/configparser.c"
break;
- case 509: /* server_low_rtt: VAR_LOW_RTT STRING_ARG */
-#line 2557 "./util/configparser.y"
- {
+ case 512:
+#line 2567 "./util/configparser.y"
+ {
OUTYY(("P(low-rtt option is deprecated, use fast-server-num instead)\n"));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5649 "util/configparser.c"
break;
- case 510: /* server_fast_server_num: VAR_FAST_SERVER_NUM STRING_ARG */
-#line 2563 "./util/configparser.y"
- {
- OUTYY(("P(server_fast_server_num:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) <= 0)
+ case 513:
+#line 2573 "./util/configparser.y"
+ {
+ OUTYY(("P(server_fast_server_num:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) <= 0)
yyerror("number expected");
- else cfg_parser->cfg->fast_server_num = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->fast_server_num = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5661 "util/configparser.c"
break;
- case 511: /* server_fast_server_permil: VAR_FAST_SERVER_PERMIL STRING_ARG */
-#line 2572 "./util/configparser.y"
- {
- OUTYY(("P(server_fast_server_permil:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 514:
+#line 2582 "./util/configparser.y"
+ {
+ OUTYY(("P(server_fast_server_permil:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->fast_server_permil = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->fast_server_permil = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5673 "util/configparser.c"
break;
- case 512: /* server_qname_minimisation: VAR_QNAME_MINIMISATION STRING_ARG */
-#line 2581 "./util/configparser.y"
- {
- OUTYY(("P(server_qname_minimisation:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 515:
+#line 2591 "./util/configparser.y"
+ {
+ OUTYY(("P(server_qname_minimisation:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->qname_minimisation =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5686 "util/configparser.c"
break;
- case 513: /* server_qname_minimisation_strict: VAR_QNAME_MINIMISATION_STRICT STRING_ARG */
-#line 2591 "./util/configparser.y"
- {
- OUTYY(("P(server_qname_minimisation_strict:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 516:
+#line 2601 "./util/configparser.y"
+ {
+ OUTYY(("P(server_qname_minimisation_strict:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->qname_minimisation_strict =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5699 "util/configparser.c"
break;
- case 514: /* server_pad_responses: VAR_PAD_RESPONSES STRING_ARG */
-#line 2601 "./util/configparser.y"
- {
- OUTYY(("P(server_pad_responses:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 517:
+#line 2611 "./util/configparser.y"
+ {
+ OUTYY(("P(server_pad_responses:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->pad_responses =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5712 "util/configparser.c"
break;
- case 515: /* server_pad_responses_block_size: VAR_PAD_RESPONSES_BLOCK_SIZE STRING_ARG */
-#line 2611 "./util/configparser.y"
- {
- OUTYY(("P(server_pad_responses_block_size:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0)
+ case 518:
+#line 2621 "./util/configparser.y"
+ {
+ OUTYY(("P(server_pad_responses_block_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("number expected");
- else cfg_parser->cfg->pad_responses_block_size = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->pad_responses_block_size = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5724 "util/configparser.c"
break;
- case 516: /* server_pad_queries: VAR_PAD_QUERIES STRING_ARG */
-#line 2620 "./util/configparser.y"
- {
- OUTYY(("P(server_pad_queries:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 519:
+#line 2630 "./util/configparser.y"
+ {
+ OUTYY(("P(server_pad_queries:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->pad_queries =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5737 "util/configparser.c"
break;
- case 517: /* server_pad_queries_block_size: VAR_PAD_QUERIES_BLOCK_SIZE STRING_ARG */
-#line 2630 "./util/configparser.y"
- {
- OUTYY(("P(server_pad_queries_block_size:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0)
+ case 520:
+#line 2640 "./util/configparser.y"
+ {
+ OUTYY(("P(server_pad_queries_block_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("number expected");
- else cfg_parser->cfg->pad_queries_block_size = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->pad_queries_block_size = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5749 "util/configparser.c"
break;
- case 518: /* server_ipsecmod_enabled: VAR_IPSECMOD_ENABLED STRING_ARG */
-#line 2639 "./util/configparser.y"
- {
+ case 521:
+#line 2649 "./util/configparser.y"
+ {
#ifdef USE_IPSECMOD
- OUTYY(("P(server_ipsecmod_enabled:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ OUTYY(("P(server_ipsecmod_enabled:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->ipsecmod_enabled = (strcmp((yyvsp[0].str), "yes")==0);
+ else cfg_parser->cfg->ipsecmod_enabled = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
#else
OUTYY(("P(Compiled without IPsec module, ignoring)\n"));
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5765 "util/configparser.c"
break;
- case 519: /* server_ipsecmod_ignore_bogus: VAR_IPSECMOD_IGNORE_BOGUS STRING_ARG */
-#line 2652 "./util/configparser.y"
- {
+ case 522:
+#line 2662 "./util/configparser.y"
+ {
#ifdef USE_IPSECMOD
- OUTYY(("P(server_ipsecmod_ignore_bogus:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ OUTYY(("P(server_ipsecmod_ignore_bogus:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->ipsecmod_ignore_bogus = (strcmp((yyvsp[0].str), "yes")==0);
+ else cfg_parser->cfg->ipsecmod_ignore_bogus = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
#else
OUTYY(("P(Compiled without IPsec module, ignoring)\n"));
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 5781 "util/configparser.c"
break;
- case 520: /* server_ipsecmod_hook: VAR_IPSECMOD_HOOK STRING_ARG */
-#line 2665 "./util/configparser.y"
- {
+ case 523:
+#line 2675 "./util/configparser.y"
+ {
#ifdef USE_IPSECMOD
- OUTYY(("P(server_ipsecmod_hook:%s)\n", (yyvsp[0].str)));
+ OUTYY(("P(server_ipsecmod_hook:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->ipsecmod_hook);
- cfg_parser->cfg->ipsecmod_hook = (yyvsp[0].str);
+ cfg_parser->cfg->ipsecmod_hook = (yyvsp[(2) - (2)].str);
#else
OUTYY(("P(Compiled without IPsec module, ignoring)\n"));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
#endif
}
-#line 5796 "util/configparser.c"
break;
- case 521: /* server_ipsecmod_max_ttl: VAR_IPSECMOD_MAX_TTL STRING_ARG */
-#line 2677 "./util/configparser.y"
- {
+ case 524:
+#line 2687 "./util/configparser.y"
+ {
#ifdef USE_IPSECMOD
- OUTYY(("P(server_ipsecmod_max_ttl:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ OUTYY(("P(server_ipsecmod_max_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->ipsecmod_max_ttl = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->ipsecmod_max_ttl = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
#else
OUTYY(("P(Compiled without IPsec module, ignoring)\n"));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
#endif
}
-#line 5813 "util/configparser.c"
break;
- case 522: /* server_ipsecmod_whitelist: VAR_IPSECMOD_WHITELIST STRING_ARG */
-#line 2691 "./util/configparser.y"
- {
+ case 525:
+#line 2701 "./util/configparser.y"
+ {
#ifdef USE_IPSECMOD
- OUTYY(("P(server_ipsecmod_whitelist:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->ipsecmod_whitelist, (yyvsp[0].str)))
+ OUTYY(("P(server_ipsecmod_whitelist:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->ipsecmod_whitelist, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
#else
OUTYY(("P(Compiled without IPsec module, ignoring)\n"));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
#endif
}
-#line 5828 "util/configparser.c"
break;
- case 523: /* server_ipsecmod_strict: VAR_IPSECMOD_STRICT STRING_ARG */
-#line 2703 "./util/configparser.y"
- {
+ case 526:
+#line 2713 "./util/configparser.y"
+ {
#ifdef USE_IPSECMOD
- OUTYY(("P(server_ipsecmod_strict:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ OUTYY(("P(server_ipsecmod_strict:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->ipsecmod_strict = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->ipsecmod_strict = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
#else
OUTYY(("P(Compiled without IPsec module, ignoring)\n"));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
#endif
}
-#line 5845 "util/configparser.c"
break;
- case 524: /* server_edns_client_string: VAR_EDNS_CLIENT_STRING STRING_ARG STRING_ARG */
-#line 2717 "./util/configparser.y"
- {
- OUTYY(("P(server_edns_client_string:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
+ case 527:
+#line 2727 "./util/configparser.y"
+ {
+ OUTYY(("P(server_edns_client_string:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
if(!cfg_str2list_insert(
- &cfg_parser->cfg->edns_client_strings, (yyvsp[-1].str), (yyvsp[0].str)))
+ &cfg_parser->cfg->edns_client_strings, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
fatal_exit("out of memory adding "
"edns-client-string");
}
-#line 5857 "util/configparser.c"
break;
- case 525: /* server_edns_client_string_opcode: VAR_EDNS_CLIENT_STRING_OPCODE STRING_ARG */
-#line 2726 "./util/configparser.y"
- {
- OUTYY(("P(edns_client_string_opcode:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
+ case 528:
+#line 2736 "./util/configparser.y"
+ {
+ OUTYY(("P(edns_client_string_opcode:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
yyerror("option code expected");
- else if(atoi((yyvsp[0].str)) > 65535 || atoi((yyvsp[0].str)) < 0)
+ else if(atoi((yyvsp[(2) - (2)].str)) > 65535 || atoi((yyvsp[(2) - (2)].str)) < 0)
yyerror("option code must be in interval [0, 65535]");
- else cfg_parser->cfg->edns_client_string_opcode = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->edns_client_string_opcode = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
+ }
+ break;
+ case 529:
+#line 2747 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ede:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->ede = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5872 "util/configparser.c"
break;
- case 526: /* stub_name: VAR_NAME STRING_ARG */
-#line 2738 "./util/configparser.y"
- {
- OUTYY(("P(name:%s)\n", (yyvsp[0].str)));
+ case 530:
+#line 2756 "./util/configparser.y"
+ {
+ OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->stubs->name)
yyerror("stub name override, there must be one name "
"for one stub-zone");
free(cfg_parser->cfg->stubs->name);
- cfg_parser->cfg->stubs->name = (yyvsp[0].str);
+ cfg_parser->cfg->stubs->name = (yyvsp[(2) - (2)].str);
}
-#line 5885 "util/configparser.c"
break;
- case 527: /* stub_host: VAR_STUB_HOST STRING_ARG */
-#line 2748 "./util/configparser.y"
- {
- OUTYY(("P(stub-host:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[0].str)))
+ case 531:
+#line 2766 "./util/configparser.y"
+ {
+ OUTYY(("P(stub-host:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 5895 "util/configparser.c"
break;
- case 528: /* stub_addr: VAR_STUB_ADDR STRING_ARG */
-#line 2755 "./util/configparser.y"
- {
- OUTYY(("P(stub-addr:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[0].str)))
+ case 532:
+#line 2773 "./util/configparser.y"
+ {
+ OUTYY(("P(stub-addr:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 5905 "util/configparser.c"
break;
- case 529: /* stub_first: VAR_STUB_FIRST STRING_ARG */
-#line 2762 "./util/configparser.y"
- {
- OUTYY(("P(stub-first:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 533:
+#line 2780 "./util/configparser.y"
+ {
+ OUTYY(("P(stub-first:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5917 "util/configparser.c"
break;
- case 530: /* stub_no_cache: VAR_STUB_NO_CACHE STRING_ARG */
-#line 2771 "./util/configparser.y"
- {
- OUTYY(("P(stub-no-cache:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 534:
+#line 2789 "./util/configparser.y"
+ {
+ OUTYY(("P(stub-no-cache:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->stubs->no_cache=(strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->stubs->no_cache=(strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5929 "util/configparser.c"
break;
- case 531: /* stub_ssl_upstream: VAR_STUB_SSL_UPSTREAM STRING_ARG */
-#line 2780 "./util/configparser.y"
- {
- OUTYY(("P(stub-ssl-upstream:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 535:
+#line 2798 "./util/configparser.y"
+ {
+ OUTYY(("P(stub-ssl-upstream:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->stubs->ssl_upstream =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5942 "util/configparser.c"
break;
- case 532: /* stub_tcp_upstream: VAR_STUB_TCP_UPSTREAM STRING_ARG */
-#line 2790 "./util/configparser.y"
- {
- OUTYY(("P(stub-tcp-upstream:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 536:
+#line 2808 "./util/configparser.y"
+ {
+ OUTYY(("P(stub-tcp-upstream:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->stubs->tcp_upstream =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5955 "util/configparser.c"
break;
- case 533: /* stub_prime: VAR_STUB_PRIME STRING_ARG */
-#line 2800 "./util/configparser.y"
- {
- OUTYY(("P(stub-prime:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 537:
+#line 2818 "./util/configparser.y"
+ {
+ OUTYY(("P(stub-prime:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->stubs->isprime =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 5968 "util/configparser.c"
break;
- case 534: /* forward_name: VAR_NAME STRING_ARG */
-#line 2810 "./util/configparser.y"
- {
- OUTYY(("P(name:%s)\n", (yyvsp[0].str)));
+ case 538:
+#line 2828 "./util/configparser.y"
+ {
+ OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->forwards->name)
yyerror("forward name override, there must be one "
"name for one forward-zone");
free(cfg_parser->cfg->forwards->name);
- cfg_parser->cfg->forwards->name = (yyvsp[0].str);
+ cfg_parser->cfg->forwards->name = (yyvsp[(2) - (2)].str);
}
-#line 5981 "util/configparser.c"
break;
- case 535: /* forward_host: VAR_FORWARD_HOST STRING_ARG */
-#line 2820 "./util/configparser.y"
- {
- OUTYY(("P(forward-host:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[0].str)))
+ case 539:
+#line 2838 "./util/configparser.y"
+ {
+ OUTYY(("P(forward-host:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 5991 "util/configparser.c"
break;
- case 536: /* forward_addr: VAR_FORWARD_ADDR STRING_ARG */
-#line 2827 "./util/configparser.y"
- {
- OUTYY(("P(forward-addr:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[0].str)))
+ case 540:
+#line 2845 "./util/configparser.y"
+ {
+ OUTYY(("P(forward-addr:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 6001 "util/configparser.c"
break;
- case 537: /* forward_first: VAR_FORWARD_FIRST STRING_ARG */
-#line 2834 "./util/configparser.y"
- {
- OUTYY(("P(forward-first:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 541:
+#line 2852 "./util/configparser.y"
+ {
+ OUTYY(("P(forward-first:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6013 "util/configparser.c"
break;
- case 538: /* forward_no_cache: VAR_FORWARD_NO_CACHE STRING_ARG */
-#line 2843 "./util/configparser.y"
- {
- OUTYY(("P(forward-no-cache:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 542:
+#line 2861 "./util/configparser.y"
+ {
+ OUTYY(("P(forward-no-cache:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->forwards->no_cache=(strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->forwards->no_cache=(strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6025 "util/configparser.c"
break;
- case 539: /* forward_ssl_upstream: VAR_FORWARD_SSL_UPSTREAM STRING_ARG */
-#line 2852 "./util/configparser.y"
- {
- OUTYY(("P(forward-ssl-upstream:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 543:
+#line 2870 "./util/configparser.y"
+ {
+ OUTYY(("P(forward-ssl-upstream:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->forwards->ssl_upstream =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6038 "util/configparser.c"
break;
- case 540: /* forward_tcp_upstream: VAR_FORWARD_TCP_UPSTREAM STRING_ARG */
-#line 2862 "./util/configparser.y"
- {
- OUTYY(("P(forward-tcp-upstream:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 544:
+#line 2880 "./util/configparser.y"
+ {
+ OUTYY(("P(forward-tcp-upstream:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->forwards->tcp_upstream =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6051 "util/configparser.c"
break;
- case 541: /* auth_name: VAR_NAME STRING_ARG */
-#line 2872 "./util/configparser.y"
- {
- OUTYY(("P(name:%s)\n", (yyvsp[0].str)));
+ case 545:
+#line 2890 "./util/configparser.y"
+ {
+ OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->auths->name)
yyerror("auth name override, there must be one name "
"for one auth-zone");
free(cfg_parser->cfg->auths->name);
- cfg_parser->cfg->auths->name = (yyvsp[0].str);
+ cfg_parser->cfg->auths->name = (yyvsp[(2) - (2)].str);
}
-#line 6064 "util/configparser.c"
break;
- case 542: /* auth_zonefile: VAR_ZONEFILE STRING_ARG */
-#line 2882 "./util/configparser.y"
- {
- OUTYY(("P(zonefile:%s)\n", (yyvsp[0].str)));
+ case 546:
+#line 2900 "./util/configparser.y"
+ {
+ OUTYY(("P(zonefile:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->auths->zonefile);
- cfg_parser->cfg->auths->zonefile = (yyvsp[0].str);
+ cfg_parser->cfg->auths->zonefile = (yyvsp[(2) - (2)].str);
}
-#line 6074 "util/configparser.c"
break;
- case 543: /* auth_master: VAR_MASTER STRING_ARG */
-#line 2889 "./util/configparser.y"
- {
- OUTYY(("P(master:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->auths->masters, (yyvsp[0].str)))
+ case 547:
+#line 2907 "./util/configparser.y"
+ {
+ OUTYY(("P(master:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->auths->masters, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 6084 "util/configparser.c"
break;
- case 544: /* auth_url: VAR_URL STRING_ARG */
-#line 2896 "./util/configparser.y"
- {
- OUTYY(("P(url:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->auths->urls, (yyvsp[0].str)))
+ case 548:
+#line 2914 "./util/configparser.y"
+ {
+ OUTYY(("P(url:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->auths->urls, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 6094 "util/configparser.c"
break;
- case 545: /* auth_allow_notify: VAR_ALLOW_NOTIFY STRING_ARG */
-#line 2903 "./util/configparser.y"
- {
- OUTYY(("P(allow-notify:%s)\n", (yyvsp[0].str)));
+ case 549:
+#line 2921 "./util/configparser.y"
+ {
+ OUTYY(("P(allow-notify:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->auths->allow_notify,
- (yyvsp[0].str)))
+ (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 6105 "util/configparser.c"
break;
- case 546: /* auth_zonemd_check: VAR_ZONEMD_CHECK STRING_ARG */
-#line 2911 "./util/configparser.y"
- {
- OUTYY(("P(zonemd-check:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 550:
+#line 2929 "./util/configparser.y"
+ {
+ OUTYY(("P(zonemd-check:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->auths->zonemd_check =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6118 "util/configparser.c"
break;
- case 547: /* auth_zonemd_reject_absence: VAR_ZONEMD_REJECT_ABSENCE STRING_ARG */
-#line 2921 "./util/configparser.y"
- {
- OUTYY(("P(zonemd-reject-absence:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 551:
+#line 2939 "./util/configparser.y"
+ {
+ OUTYY(("P(zonemd-reject-absence:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->auths->zonemd_reject_absence =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6131 "util/configparser.c"
break;
- case 548: /* auth_for_downstream: VAR_FOR_DOWNSTREAM STRING_ARG */
-#line 2931 "./util/configparser.y"
- {
- OUTYY(("P(for-downstream:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 552:
+#line 2949 "./util/configparser.y"
+ {
+ OUTYY(("P(for-downstream:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->auths->for_downstream =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6144 "util/configparser.c"
break;
- case 549: /* auth_for_upstream: VAR_FOR_UPSTREAM STRING_ARG */
-#line 2941 "./util/configparser.y"
- {
- OUTYY(("P(for-upstream:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 553:
+#line 2959 "./util/configparser.y"
+ {
+ OUTYY(("P(for-upstream:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->auths->for_upstream =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6157 "util/configparser.c"
break;
- case 550: /* auth_fallback_enabled: VAR_FALLBACK_ENABLED STRING_ARG */
-#line 2951 "./util/configparser.y"
- {
- OUTYY(("P(fallback-enabled:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 554:
+#line 2969 "./util/configparser.y"
+ {
+ OUTYY(("P(fallback-enabled:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->auths->fallback_enabled =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6170 "util/configparser.c"
break;
- case 551: /* view_name: VAR_NAME STRING_ARG */
-#line 2961 "./util/configparser.y"
- {
- OUTYY(("P(name:%s)\n", (yyvsp[0].str)));
+ case 555:
+#line 2979 "./util/configparser.y"
+ {
+ OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->views->name)
yyerror("view name override, there must be one "
"name for one view");
free(cfg_parser->cfg->views->name);
- cfg_parser->cfg->views->name = (yyvsp[0].str);
- }
-#line 6183 "util/configparser.c"
- break;
-
- case 552: /* view_local_zone: VAR_LOCAL_ZONE STRING_ARG STRING_ARG */
-#line 2971 "./util/configparser.y"
- {
- OUTYY(("P(view_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 &&
- strcmp((yyvsp[0].str), "refuse")!=0 && strcmp((yyvsp[0].str), "redirect")!=0 &&
- strcmp((yyvsp[0].str), "transparent")!=0 && strcmp((yyvsp[0].str), "nodefault")!=0
- && strcmp((yyvsp[0].str), "typetransparent")!=0
- && strcmp((yyvsp[0].str), "always_transparent")!=0
- && strcmp((yyvsp[0].str), "always_refuse")!=0
- && strcmp((yyvsp[0].str), "always_nxdomain")!=0
- && strcmp((yyvsp[0].str), "always_nodata")!=0
- && strcmp((yyvsp[0].str), "always_deny")!=0
- && strcmp((yyvsp[0].str), "always_null")!=0
- && strcmp((yyvsp[0].str), "noview")!=0
- && strcmp((yyvsp[0].str), "inform")!=0 && strcmp((yyvsp[0].str), "inform_deny")!=0
- && strcmp((yyvsp[0].str), "inform_redirect") != 0
- && strcmp((yyvsp[0].str), "ipset") != 0) {
+ cfg_parser->cfg->views->name = (yyvsp[(2) - (2)].str);
+ }
+ break;
+
+ case 556:
+#line 2989 "./util/configparser.y"
+ {
+ OUTYY(("P(view_local_zone:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
+ if(strcmp((yyvsp[(3) - (3)].str), "static")!=0 && strcmp((yyvsp[(3) - (3)].str), "deny")!=0 &&
+ strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 && strcmp((yyvsp[(3) - (3)].str), "redirect")!=0 &&
+ strcmp((yyvsp[(3) - (3)].str), "transparent")!=0 && strcmp((yyvsp[(3) - (3)].str), "nodefault")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "typetransparent")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "always_transparent")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "always_refuse")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "always_nxdomain")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "always_nodata")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "always_deny")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "always_null")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "noview")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "inform")!=0 && strcmp((yyvsp[(3) - (3)].str), "inform_deny")!=0
+ && strcmp((yyvsp[(3) - (3)].str), "inform_redirect") != 0
+ && strcmp((yyvsp[(3) - (3)].str), "ipset") != 0) {
yyerror("local-zone type: expected static, deny, "
"refuse, redirect, transparent, "
"typetransparent, inform, inform_deny, "
"always_refuse, always_nxdomain, "
"always_nodata, always_deny, always_null, "
"noview, nodefault or ipset");
- free((yyvsp[-1].str));
- free((yyvsp[0].str));
- } else if(strcmp((yyvsp[0].str), "nodefault")==0) {
+ free((yyvsp[(2) - (3)].str));
+ free((yyvsp[(3) - (3)].str));
+ } else if(strcmp((yyvsp[(3) - (3)].str), "nodefault")==0) {
if(!cfg_strlist_insert(&cfg_parser->cfg->views->
- local_zones_nodefault, (yyvsp[-1].str)))
+ local_zones_nodefault, (yyvsp[(2) - (3)].str)))
fatal_exit("out of memory adding local-zone");
- free((yyvsp[0].str));
+ free((yyvsp[(3) - (3)].str));
#ifdef USE_IPSET
- } else if(strcmp((yyvsp[0].str), "ipset")==0) {
- size_t len = strlen((yyvsp[-1].str));
+ } else if(strcmp((yyvsp[(3) - (3)].str), "ipset")==0) {
+ size_t len = strlen((yyvsp[(2) - (3)].str));
/* Make sure to add the trailing dot.
* These are str compared to domain names. */
- if((yyvsp[-1].str)[len-1] != '.') {
- if(!((yyvsp[-1].str) = realloc((yyvsp[-1].str), len+2))) {
+ if((yyvsp[(2) - (3)].str)[len-1] != '.') {
+ if(!((yyvsp[(2) - (3)].str) = realloc((yyvsp[(2) - (3)].str), len+2))) {
fatal_exit("out of memory adding local-zone");
}
- (yyvsp[-1].str)[len] = '.';
- (yyvsp[-1].str)[len+1] = 0;
+ (yyvsp[(2) - (3)].str)[len] = '.';
+ (yyvsp[(2) - (3)].str)[len+1] = 0;
}
if(!cfg_strlist_insert(&cfg_parser->cfg->views->
- local_zones_ipset, (yyvsp[-1].str)))
+ local_zones_ipset, (yyvsp[(2) - (3)].str)))
fatal_exit("out of memory adding local-zone");
- free((yyvsp[0].str));
+ free((yyvsp[(3) - (3)].str));
#endif
} else {
if(!cfg_str2list_insert(
&cfg_parser->cfg->views->local_zones,
- (yyvsp[-1].str), (yyvsp[0].str)))
+ (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
fatal_exit("out of memory adding local-zone");
}
}
-#line 6242 "util/configparser.c"
break;
- case 553: /* view_response_ip: VAR_RESPONSE_IP STRING_ARG STRING_ARG */
-#line 3027 "./util/configparser.y"
- {
- OUTYY(("P(view_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
- validate_respip_action((yyvsp[0].str));
+ case 557:
+#line 3045 "./util/configparser.y"
+ {
+ OUTYY(("P(view_response_ip:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
+ validate_respip_action((yyvsp[(3) - (3)].str));
if(!cfg_str2list_insert(
- &cfg_parser->cfg->views->respip_actions, (yyvsp[-1].str), (yyvsp[0].str)))
+ &cfg_parser->cfg->views->respip_actions, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
fatal_exit("out of memory adding per-view "
"response-ip action");
}
-#line 6255 "util/configparser.c"
break;
- case 554: /* view_response_ip_data: VAR_RESPONSE_IP_DATA STRING_ARG STRING_ARG */
-#line 3037 "./util/configparser.y"
- {
- OUTYY(("P(view_response_ip_data:%s)\n", (yyvsp[-1].str)));
+ case 558:
+#line 3055 "./util/configparser.y"
+ {
+ OUTYY(("P(view_response_ip_data:%s)\n", (yyvsp[(2) - (3)].str)));
if(!cfg_str2list_insert(
- &cfg_parser->cfg->views->respip_data, (yyvsp[-1].str), (yyvsp[0].str)))
+ &cfg_parser->cfg->views->respip_data, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
fatal_exit("out of memory adding response-ip-data");
}
-#line 6266 "util/configparser.c"
break;
- case 555: /* view_local_data: VAR_LOCAL_DATA STRING_ARG */
-#line 3045 "./util/configparser.y"
- {
- OUTYY(("P(view_local_data:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, (yyvsp[0].str))) {
+ case 559:
+#line 3063 "./util/configparser.y"
+ {
+ OUTYY(("P(view_local_data:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, (yyvsp[(2) - (2)].str))) {
fatal_exit("out of memory adding local-data");
}
}
-#line 6277 "util/configparser.c"
break;
- case 556: /* view_local_data_ptr: VAR_LOCAL_DATA_PTR STRING_ARG */
-#line 3053 "./util/configparser.y"
- {
+ case 560:
+#line 3071 "./util/configparser.y"
+ {
char* ptr;
- OUTYY(("P(view_local_data_ptr:%s)\n", (yyvsp[0].str)));
- ptr = cfg_ptr_reverse((yyvsp[0].str));
- free((yyvsp[0].str));
+ OUTYY(("P(view_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str)));
+ ptr = cfg_ptr_reverse((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
if(ptr) {
if(!cfg_strlist_insert(&cfg_parser->cfg->views->
local_data, ptr))
yyerror("local-data-ptr could not be reversed");
}
}
-#line 6295 "util/configparser.c"
break;
- case 557: /* view_first: VAR_VIEW_FIRST STRING_ARG */
-#line 3068 "./util/configparser.y"
- {
- OUTYY(("P(view-first:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 561:
+#line 3086 "./util/configparser.y"
+ {
+ OUTYY(("P(view-first:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->views->isfirst=(strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->views->isfirst=(strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6307 "util/configparser.c"
break;
- case 558: /* rcstart: VAR_REMOTE_CONTROL */
-#line 3077 "./util/configparser.y"
- {
+ case 562:
+#line 3095 "./util/configparser.y"
+ {
OUTYY(("\nP(remote-control:)\n"));
}
-#line 6315 "util/configparser.c"
break;
- case 569: /* rc_control_enable: VAR_CONTROL_ENABLE STRING_ARG */
-#line 3088 "./util/configparser.y"
- {
- OUTYY(("P(control_enable:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 573:
+#line 3106 "./util/configparser.y"
+ {
+ OUTYY(("P(control_enable:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->remote_control_enable =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6328 "util/configparser.c"
break;
- case 570: /* rc_control_port: VAR_CONTROL_PORT STRING_ARG */
-#line 3098 "./util/configparser.y"
- {
- OUTYY(("P(control_port:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0)
+ case 574:
+#line 3116 "./util/configparser.y"
+ {
+ OUTYY(("P(control_port:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("control port number expected");
- else cfg_parser->cfg->control_port = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->control_port = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 6340 "util/configparser.c"
break;
- case 571: /* rc_control_interface: VAR_CONTROL_INTERFACE STRING_ARG */
-#line 3107 "./util/configparser.y"
- {
- OUTYY(("P(control_interface:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_append(&cfg_parser->cfg->control_ifs, (yyvsp[0].str)))
+ case 575:
+#line 3125 "./util/configparser.y"
+ {
+ OUTYY(("P(control_interface:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_append(&cfg_parser->cfg->control_ifs, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 6350 "util/configparser.c"
break;
- case 572: /* rc_control_use_cert: VAR_CONTROL_USE_CERT STRING_ARG */
-#line 3114 "./util/configparser.y"
- {
- OUTYY(("P(control_use_cert:%s)\n", (yyvsp[0].str)));
- cfg_parser->cfg->control_use_cert = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ case 576:
+#line 3132 "./util/configparser.y"
+ {
+ OUTYY(("P(control_use_cert:%s)\n", (yyvsp[(2) - (2)].str)));
+ cfg_parser->cfg->control_use_cert = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6360 "util/configparser.c"
break;
- case 573: /* rc_server_key_file: VAR_SERVER_KEY_FILE STRING_ARG */
-#line 3121 "./util/configparser.y"
- {
- OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[0].str)));
+ case 577:
+#line 3139 "./util/configparser.y"
+ {
+ OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->server_key_file);
- cfg_parser->cfg->server_key_file = (yyvsp[0].str);
+ cfg_parser->cfg->server_key_file = (yyvsp[(2) - (2)].str);
}
-#line 6370 "util/configparser.c"
break;
- case 574: /* rc_server_cert_file: VAR_SERVER_CERT_FILE STRING_ARG */
-#line 3128 "./util/configparser.y"
- {
- OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[0].str)));
+ case 578:
+#line 3146 "./util/configparser.y"
+ {
+ OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->server_cert_file);
- cfg_parser->cfg->server_cert_file = (yyvsp[0].str);
+ cfg_parser->cfg->server_cert_file = (yyvsp[(2) - (2)].str);
}
-#line 6380 "util/configparser.c"
break;
- case 575: /* rc_control_key_file: VAR_CONTROL_KEY_FILE STRING_ARG */
-#line 3135 "./util/configparser.y"
- {
- OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[0].str)));
+ case 579:
+#line 3153 "./util/configparser.y"
+ {
+ OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->control_key_file);
- cfg_parser->cfg->control_key_file = (yyvsp[0].str);
+ cfg_parser->cfg->control_key_file = (yyvsp[(2) - (2)].str);
}
-#line 6390 "util/configparser.c"
break;
- case 576: /* rc_control_cert_file: VAR_CONTROL_CERT_FILE STRING_ARG */
-#line 3142 "./util/configparser.y"
- {
- OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[0].str)));
+ case 580:
+#line 3160 "./util/configparser.y"
+ {
+ OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->control_cert_file);
- cfg_parser->cfg->control_cert_file = (yyvsp[0].str);
+ cfg_parser->cfg->control_cert_file = (yyvsp[(2) - (2)].str);
}
-#line 6400 "util/configparser.c"
break;
- case 577: /* dtstart: VAR_DNSTAP */
-#line 3149 "./util/configparser.y"
- {
+ case 581:
+#line 3167 "./util/configparser.y"
+ {
OUTYY(("\nP(dnstap:)\n"));
}
-#line 6408 "util/configparser.c"
break;
- case 599: /* dt_dnstap_enable: VAR_DNSTAP_ENABLE STRING_ARG */
-#line 3169 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 603:
+#line 3187 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->dnstap = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->dnstap = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6420 "util/configparser.c"
break;
- case 600: /* dt_dnstap_bidirectional: VAR_DNSTAP_BIDIRECTIONAL STRING_ARG */
-#line 3178 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_bidirectional:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 604:
+#line 3196 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_bidirectional:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->dnstap_bidirectional =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6433 "util/configparser.c"
break;
- case 601: /* dt_dnstap_socket_path: VAR_DNSTAP_SOCKET_PATH STRING_ARG */
-#line 3188 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[0].str)));
+ case 605:
+#line 3206 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dnstap_socket_path);
- cfg_parser->cfg->dnstap_socket_path = (yyvsp[0].str);
+ cfg_parser->cfg->dnstap_socket_path = (yyvsp[(2) - (2)].str);
}
-#line 6443 "util/configparser.c"
break;
- case 602: /* dt_dnstap_ip: VAR_DNSTAP_IP STRING_ARG */
-#line 3195 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_ip:%s)\n", (yyvsp[0].str)));
+ case 606:
+#line 3213 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_ip:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dnstap_ip);
- cfg_parser->cfg->dnstap_ip = (yyvsp[0].str);
+ cfg_parser->cfg->dnstap_ip = (yyvsp[(2) - (2)].str);
}
-#line 6453 "util/configparser.c"
break;
- case 603: /* dt_dnstap_tls: VAR_DNSTAP_TLS STRING_ARG */
-#line 3202 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_tls:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 607:
+#line 3220 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_tls:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->dnstap_tls = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->dnstap_tls = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6465 "util/configparser.c"
break;
- case 604: /* dt_dnstap_tls_server_name: VAR_DNSTAP_TLS_SERVER_NAME STRING_ARG */
-#line 3211 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_tls_server_name:%s)\n", (yyvsp[0].str)));
+ case 608:
+#line 3229 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_tls_server_name:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dnstap_tls_server_name);
- cfg_parser->cfg->dnstap_tls_server_name = (yyvsp[0].str);
+ cfg_parser->cfg->dnstap_tls_server_name = (yyvsp[(2) - (2)].str);
}
-#line 6475 "util/configparser.c"
break;
- case 605: /* dt_dnstap_tls_cert_bundle: VAR_DNSTAP_TLS_CERT_BUNDLE STRING_ARG */
-#line 3218 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_tls_cert_bundle:%s)\n", (yyvsp[0].str)));
+ case 609:
+#line 3236 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_tls_cert_bundle:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dnstap_tls_cert_bundle);
- cfg_parser->cfg->dnstap_tls_cert_bundle = (yyvsp[0].str);
+ cfg_parser->cfg->dnstap_tls_cert_bundle = (yyvsp[(2) - (2)].str);
}
-#line 6485 "util/configparser.c"
break;
- case 606: /* dt_dnstap_tls_client_key_file: VAR_DNSTAP_TLS_CLIENT_KEY_FILE STRING_ARG */
-#line 3225 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_tls_client_key_file:%s)\n", (yyvsp[0].str)));
+ case 610:
+#line 3243 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_tls_client_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dnstap_tls_client_key_file);
- cfg_parser->cfg->dnstap_tls_client_key_file = (yyvsp[0].str);
+ cfg_parser->cfg->dnstap_tls_client_key_file = (yyvsp[(2) - (2)].str);
}
-#line 6495 "util/configparser.c"
break;
- case 607: /* dt_dnstap_tls_client_cert_file: VAR_DNSTAP_TLS_CLIENT_CERT_FILE STRING_ARG */
-#line 3232 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_tls_client_cert_file:%s)\n", (yyvsp[0].str)));
+ case 611:
+#line 3250 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_tls_client_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dnstap_tls_client_cert_file);
- cfg_parser->cfg->dnstap_tls_client_cert_file = (yyvsp[0].str);
+ cfg_parser->cfg->dnstap_tls_client_cert_file = (yyvsp[(2) - (2)].str);
}
-#line 6505 "util/configparser.c"
break;
- case 608: /* dt_dnstap_send_identity: VAR_DNSTAP_SEND_IDENTITY STRING_ARG */
-#line 3239 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 612:
+#line 3257 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6517 "util/configparser.c"
break;
- case 609: /* dt_dnstap_send_version: VAR_DNSTAP_SEND_VERSION STRING_ARG */
-#line 3248 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 613:
+#line 3266 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6529 "util/configparser.c"
break;
- case 610: /* dt_dnstap_identity: VAR_DNSTAP_IDENTITY STRING_ARG */
-#line 3257 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[0].str)));
+ case 614:
+#line 3275 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dnstap_identity);
- cfg_parser->cfg->dnstap_identity = (yyvsp[0].str);
+ cfg_parser->cfg->dnstap_identity = (yyvsp[(2) - (2)].str);
}
-#line 6539 "util/configparser.c"
break;
- case 611: /* dt_dnstap_version: VAR_DNSTAP_VERSION STRING_ARG */
-#line 3264 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[0].str)));
+ case 615:
+#line 3282 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dnstap_version);
- cfg_parser->cfg->dnstap_version = (yyvsp[0].str);
+ cfg_parser->cfg->dnstap_version = (yyvsp[(2) - (2)].str);
}
-#line 6549 "util/configparser.c"
break;
- case 612: /* dt_dnstap_log_resolver_query_messages: VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES STRING_ARG */
-#line 3271 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 616:
+#line 3289 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->dnstap_log_resolver_query_messages =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6562 "util/configparser.c"
break;
- case 613: /* dt_dnstap_log_resolver_response_messages: VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES STRING_ARG */
-#line 3281 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 617:
+#line 3299 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->dnstap_log_resolver_response_messages =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6575 "util/configparser.c"
break;
- case 614: /* dt_dnstap_log_client_query_messages: VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES STRING_ARG */
-#line 3291 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 618:
+#line 3309 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->dnstap_log_client_query_messages =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6588 "util/configparser.c"
break;
- case 615: /* dt_dnstap_log_client_response_messages: VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES STRING_ARG */
-#line 3301 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 619:
+#line 3319 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->dnstap_log_client_response_messages =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6601 "util/configparser.c"
break;
- case 616: /* dt_dnstap_log_forwarder_query_messages: VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES STRING_ARG */
-#line 3311 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 620:
+#line 3329 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->dnstap_log_forwarder_query_messages =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6614 "util/configparser.c"
break;
- case 617: /* dt_dnstap_log_forwarder_response_messages: VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES STRING_ARG */
-#line 3321 "./util/configparser.y"
- {
- OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 621:
+#line 3339 "./util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->dnstap_log_forwarder_response_messages =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6627 "util/configparser.c"
break;
- case 618: /* pythonstart: VAR_PYTHON */
-#line 3331 "./util/configparser.y"
- {
+ case 622:
+#line 3349 "./util/configparser.y"
+ {
OUTYY(("\nP(python:)\n"));
}
-#line 6635 "util/configparser.c"
break;
- case 622: /* py_script: VAR_PYTHON_SCRIPT STRING_ARG */
-#line 3340 "./util/configparser.y"
- {
- OUTYY(("P(python-script:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_append_ex(&cfg_parser->cfg->python_script, (yyvsp[0].str)))
+ case 626:
+#line 3358 "./util/configparser.y"
+ {
+ OUTYY(("P(python-script:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_append_ex(&cfg_parser->cfg->python_script, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 6645 "util/configparser.c"
break;
- case 623: /* dynlibstart: VAR_DYNLIB */
-#line 3346 "./util/configparser.y"
- {
+ case 627:
+#line 3364 "./util/configparser.y"
+ {
OUTYY(("\nP(dynlib:)\n"));
}
-#line 6653 "util/configparser.c"
break;
- case 627: /* dl_file: VAR_DYNLIB_FILE STRING_ARG */
-#line 3355 "./util/configparser.y"
- {
- OUTYY(("P(dynlib-file:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_append_ex(&cfg_parser->cfg->dynlib_file, (yyvsp[0].str)))
+ case 631:
+#line 3373 "./util/configparser.y"
+ {
+ OUTYY(("P(dynlib-file:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_append_ex(&cfg_parser->cfg->dynlib_file, (yyvsp[(2) - (2)].str)))
yyerror("out of memory");
}
-#line 6663 "util/configparser.c"
break;
- case 628: /* server_disable_dnssec_lame_check: VAR_DISABLE_DNSSEC_LAME_CHECK STRING_ARG */
-#line 3361 "./util/configparser.y"
- {
- OUTYY(("P(disable_dnssec_lame_check:%s)\n", (yyvsp[0].str)));
- if (strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 632:
+#line 3379 "./util/configparser.y"
+ {
+ OUTYY(("P(disable_dnssec_lame_check:%s)\n", (yyvsp[(2) - (2)].str)));
+ if (strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->disable_dnssec_lame_check =
- (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6676 "util/configparser.c"
break;
- case 629: /* server_log_identity: VAR_LOG_IDENTITY STRING_ARG */
-#line 3371 "./util/configparser.y"
- {
- OUTYY(("P(server_log_identity:%s)\n", (yyvsp[0].str)));
+ case 633:
+#line 3389 "./util/configparser.y"
+ {
+ OUTYY(("P(server_log_identity:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->log_identity);
- cfg_parser->cfg->log_identity = (yyvsp[0].str);
+ cfg_parser->cfg->log_identity = (yyvsp[(2) - (2)].str);
}
-#line 6686 "util/configparser.c"
break;
- case 630: /* server_response_ip: VAR_RESPONSE_IP STRING_ARG STRING_ARG */
-#line 3378 "./util/configparser.y"
- {
- OUTYY(("P(server_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
- validate_respip_action((yyvsp[0].str));
+ case 634:
+#line 3396 "./util/configparser.y"
+ {
+ OUTYY(("P(server_response_ip:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
+ validate_respip_action((yyvsp[(3) - (3)].str));
if(!cfg_str2list_insert(&cfg_parser->cfg->respip_actions,
- (yyvsp[-1].str), (yyvsp[0].str)))
+ (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
fatal_exit("out of memory adding response-ip");
}
-#line 6698 "util/configparser.c"
break;
- case 631: /* server_response_ip_data: VAR_RESPONSE_IP_DATA STRING_ARG STRING_ARG */
-#line 3387 "./util/configparser.y"
- {
- OUTYY(("P(server_response_ip_data:%s)\n", (yyvsp[-1].str)));
+ case 635:
+#line 3405 "./util/configparser.y"
+ {
+ OUTYY(("P(server_response_ip_data:%s)\n", (yyvsp[(2) - (3)].str)));
if(!cfg_str2list_insert(&cfg_parser->cfg->respip_data,
- (yyvsp[-1].str), (yyvsp[0].str)))
+ (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
fatal_exit("out of memory adding response-ip-data");
}
-#line 6709 "util/configparser.c"
break;
- case 632: /* dnscstart: VAR_DNSCRYPT */
-#line 3395 "./util/configparser.y"
- {
+ case 636:
+#line 3413 "./util/configparser.y"
+ {
OUTYY(("\nP(dnscrypt:)\n"));
}
-#line 6717 "util/configparser.c"
break;
- case 645: /* dnsc_dnscrypt_enable: VAR_DNSCRYPT_ENABLE STRING_ARG */
-#line 3411 "./util/configparser.y"
- {
- OUTYY(("P(dnsc_dnscrypt_enable:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ case 649:
+#line 3429 "./util/configparser.y"
+ {
+ OUTYY(("P(dnsc_dnscrypt_enable:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->dnscrypt = (strcmp((yyvsp[0].str), "yes")==0);
- free((yyvsp[0].str));
+ else cfg_parser->cfg->dnscrypt = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
}
-#line 6729 "util/configparser.c"
break;
- case 646: /* dnsc_dnscrypt_port: VAR_DNSCRYPT_PORT STRING_ARG */
-#line 3421 "./util/configparser.y"
- {
- OUTYY(("P(dnsc_dnscrypt_port:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0)
+ case 650:
+#line 3439 "./util/configparser.y"
+ {
+ OUTYY(("P(dnsc_dnscrypt_port:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("port number expected");
- else cfg_parser->cfg->dnscrypt_port = atoi((yyvsp[0].str));
- free((yyvsp[0].str));
+ else cfg_parser->cfg->dnscrypt_port = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 6741 "util/configparser.c"
break;
- case 647: /* dnsc_dnscrypt_provider: VAR_DNSCRYPT_PROVIDER STRING_ARG */
-#line 3430 "./util/configparser.y"
- {
- OUTYY(("P(dnsc_dnscrypt_provider:%s)\n", (yyvsp[0].str)));
+ case 651:
+#line 3448 "./util/configparser.y"
+ {
+ OUTYY(("P(dnsc_dnscrypt_provider:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dnscrypt_provider);
- cfg_parser->cfg->dnscrypt_provider = (yyvsp[0].str);
+ cfg_parser->cfg->dnscrypt_provider = (yyvsp[(2) - (2)].str);
}
-#line 6751 "util/configparser.c"
break;
- case 648: /* dnsc_dnscrypt_provider_cert: VAR_DNSCRYPT_PROVIDER_CERT STRING_ARG */
-#line 3437 "./util/configparser.y"
- {
- OUTYY(("P(dnsc_dnscrypt_provider_cert:%s)\n", (yyvsp[0].str)));
- if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[0].str)))
- log_warn("dnscrypt-provider-cert %s is a duplicate", (yyvsp[0].str));
- if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[0].str)))
+ case 652:
+#line 3455 "./util/configparser.y"
+ {
+ OUTYY(("P(dnsc_dnscrypt_provider_cert:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[(2) - (2)].str)))
+ log_warn("dnscrypt-provider-cert %s is a duplicate", (yyvsp[(2) - (2)].str));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[(2) - (2)].str)))
fatal_exit("out of memory adding dnscrypt-provider-cert");
}
-#line 6763 "util/configparser.c"
break;
- case 649: /* dnsc_dnscrypt_provider_cert_rotated: VAR_DNSCRYPT_PROVIDER_CERT_ROTATED STRING_ARG */
-#line 3446 "./util/configparser.y"
- {
- OUTYY(("P(dnsc_dnscrypt_provider_cert_rotated:%s)\n", (yyvsp[0].str)));
- if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert_rotated, (yyvsp[0].str)))
+ case 653:
+#line 3464 "./util/configparser.y"
+ {
+ OUTYY(("P(dnsc_dnscrypt_provider_cert_rotated:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert_rotated, (yyvsp[(2) - (2)].str)))
fatal_exit("out of memory adding dnscrypt-provider-cert-rotated");
}
-#line 6773 "util/configparser.c"
break;
- case 650: /* dnsc_dnscrypt_secret_key: VAR_DNSCRYPT_SECRET_KEY STRING_ARG */
-#line 3453 "./util/configparser.y"
- {
- OUTYY(("P(dnsc_dnscrypt_secret_key:%s)\n", (yyvsp[0].str)));
- if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[0].str)))
- log_warn("dnscrypt-secret-key: %s is a duplicate", (yyvsp[0].str));
- if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[0].str)))
+ case 654:
+#line 3471 "./util/configparser.y"
+ {
+ OUTYY(("P(dnsc_dnscrypt_secret_key:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[(2) - (2)].str)))
+ log_warn("dnscrypt-secret-key: %s is a duplicate", (yyvsp[(2) - (2)].str));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[(2) - (2)].str)))
fatal_exit("out of memory adding dnscrypt-secret-key");
}
-#line 6785 "util/configparser.c"
break;
- case 651: /* dnsc_dnscrypt_shared_secret_cache_size: VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE STRING_ARG */
-#line 3462 "./util/configparser.y"
- {
- OUTYY(("P(dnscrypt_shared_secret_cache_size:%s)\n", (yyvsp[0].str)));
- if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_shared_secret_cache_size))
+ case 655:
+#line 3480 "./util/configparser.y"
+ {
+ OUTYY(("P(dnscrypt_shared_secret_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->dnscrypt_shared_secret_cache_size))
yyerror("memory size expected");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 6796 "util/configparser.c"
break;
- case 652: /* dnsc_dnscrypt_shared_secret_cache_slabs: VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS STRING_ARG */
-#line 3470 "./util/configparser.y"
- {
- OUTYY(("P(dnscrypt_shared_secret_cache_slabs:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0) {
+ case 656:
+#line 3488 "./util/configparser.y"
+ {
+ OUTYY(("P(dnscrypt_shared_secret_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0) {
yyerror("number expected");
} else {
- cfg_parser->cfg->dnscrypt_shared_secret_cache_slabs = atoi((yyvsp[0].str));
+ cfg_parser->cfg->dnscrypt_shared_secret_cache_slabs = atoi((yyvsp[(2) - (2)].str));
if(!is_pow2(cfg_parser->cfg->dnscrypt_shared_secret_cache_slabs))
yyerror("must be a power of 2");
}
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 6812 "util/configparser.c"
break;
- case 653: /* dnsc_dnscrypt_nonce_cache_size: VAR_DNSCRYPT_NONCE_CACHE_SIZE STRING_ARG */
-#line 3483 "./util/configparser.y"
- {
- OUTYY(("P(dnscrypt_nonce_cache_size:%s)\n", (yyvsp[0].str)));
- if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_nonce_cache_size))
+ case 657:
+#line 3501 "./util/configparser.y"
+ {
+ OUTYY(("P(dnscrypt_nonce_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->dnscrypt_nonce_cache_size))
yyerror("memory size expected");
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 6823 "util/configparser.c"
break;
- case 654: /* dnsc_dnscrypt_nonce_cache_slabs: VAR_DNSCRYPT_NONCE_CACHE_SLABS STRING_ARG */
-#line 3491 "./util/configparser.y"
- {
- OUTYY(("P(dnscrypt_nonce_cache_slabs:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0) {
+ case 658:
+#line 3509 "./util/configparser.y"
+ {
+ OUTYY(("P(dnscrypt_nonce_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0) {
yyerror("number expected");
} else {
- cfg_parser->cfg->dnscrypt_nonce_cache_slabs = atoi((yyvsp[0].str));
+ cfg_parser->cfg->dnscrypt_nonce_cache_slabs = atoi((yyvsp[(2) - (2)].str));
if(!is_pow2(cfg_parser->cfg->dnscrypt_nonce_cache_slabs))
yyerror("must be a power of 2");
}
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 6839 "util/configparser.c"
break;
- case 655: /* cachedbstart: VAR_CACHEDB */
-#line 3504 "./util/configparser.y"
- {
+ case 659:
+#line 3522 "./util/configparser.y"
+ {
OUTYY(("\nP(cachedb:)\n"));
}
-#line 6847 "util/configparser.c"
break;
- case 664: /* cachedb_backend_name: VAR_CACHEDB_BACKEND STRING_ARG */
-#line 3515 "./util/configparser.y"
- {
+ case 668:
+#line 3533 "./util/configparser.y"
+ {
#ifdef USE_CACHEDB
- OUTYY(("P(backend:%s)\n", (yyvsp[0].str)));
+ OUTYY(("P(backend:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->cachedb_backend);
- cfg_parser->cfg->cachedb_backend = (yyvsp[0].str);
+ cfg_parser->cfg->cachedb_backend = (yyvsp[(2) - (2)].str);
#else
OUTYY(("P(Compiled without cachedb, ignoring)\n"));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
#endif
}
-#line 6862 "util/configparser.c"
break;
- case 665: /* cachedb_secret_seed: VAR_CACHEDB_SECRETSEED STRING_ARG */
-#line 3527 "./util/configparser.y"
- {
+ case 669:
+#line 3545 "./util/configparser.y"
+ {
#ifdef USE_CACHEDB
- OUTYY(("P(secret-seed:%s)\n", (yyvsp[0].str)));
+ OUTYY(("P(secret-seed:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->cachedb_secret);
- cfg_parser->cfg->cachedb_secret = (yyvsp[0].str);
+ cfg_parser->cfg->cachedb_secret = (yyvsp[(2) - (2)].str);
#else
OUTYY(("P(Compiled without cachedb, ignoring)\n"));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
#endif
}
-#line 6877 "util/configparser.c"
break;
- case 666: /* redis_server_host: VAR_CACHEDB_REDISHOST STRING_ARG */
-#line 3539 "./util/configparser.y"
- {
+ case 670:
+#line 3557 "./util/configparser.y"
+ {
#if defined(USE_CACHEDB) && defined(USE_REDIS)
- OUTYY(("P(redis_server_host:%s)\n", (yyvsp[0].str)));
+ OUTYY(("P(redis_server_host:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->redis_server_host);
- cfg_parser->cfg->redis_server_host = (yyvsp[0].str);
+ cfg_parser->cfg->redis_server_host = (yyvsp[(2) - (2)].str);
#else
OUTYY(("P(Compiled without cachedb or redis, ignoring)\n"));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
#endif
}
-#line 6892 "util/configparser.c"
break;
- case 667: /* redis_server_port: VAR_CACHEDB_REDISPORT STRING_ARG */
-#line 3551 "./util/configparser.y"
- {
+ case 671:
+#line 3569 "./util/configparser.y"
+ {
#if defined(USE_CACHEDB) && defined(USE_REDIS)
int port;
- OUTYY(("P(redis_server_port:%s)\n", (yyvsp[0].str)));
- port = atoi((yyvsp[0].str));
+ OUTYY(("P(redis_server_port:%s)\n", (yyvsp[(2) - (2)].str)));
+ port = atoi((yyvsp[(2) - (2)].str));
if(port == 0 || port < 0 || port > 65535)
yyerror("valid redis server port number expected");
else cfg_parser->cfg->redis_server_port = port;
#else
OUTYY(("P(Compiled without cachedb or redis, ignoring)\n"));
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 6910 "util/configparser.c"
break;
- case 668: /* redis_timeout: VAR_CACHEDB_REDISTIMEOUT STRING_ARG */
-#line 3566 "./util/configparser.y"
- {
+ case 672:
+#line 3584 "./util/configparser.y"
+ {
#if defined(USE_CACHEDB) && defined(USE_REDIS)
- OUTYY(("P(redis_timeout:%s)\n", (yyvsp[0].str)));
- if(atoi((yyvsp[0].str)) == 0)
+ OUTYY(("P(redis_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0)
yyerror("redis timeout value expected");
- else cfg_parser->cfg->redis_timeout = atoi((yyvsp[0].str));
+ else cfg_parser->cfg->redis_timeout = atoi((yyvsp[(2) - (2)].str));
#else
OUTYY(("P(Compiled without cachedb or redis, ignoring)\n"));
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 6926 "util/configparser.c"
break;
- case 669: /* redis_expire_records: VAR_CACHEDB_REDISEXPIRERECORDS STRING_ARG */
-#line 3579 "./util/configparser.y"
- {
+ case 673:
+#line 3597 "./util/configparser.y"
+ {
#if defined(USE_CACHEDB) && defined(USE_REDIS)
- OUTYY(("P(redis_expire_records:%s)\n", (yyvsp[0].str)));
- if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+ OUTYY(("P(redis_expire_records:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->redis_expire_records = (strcmp((yyvsp[0].str), "yes")==0);
+ else cfg_parser->cfg->redis_expire_records = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
#else
OUTYY(("P(Compiled without cachedb or redis, ignoring)\n"));
#endif
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
}
-#line 6942 "util/configparser.c"
break;
- case 670: /* server_tcp_connection_limit: VAR_TCP_CONNECTION_LIMIT STRING_ARG STRING_ARG */
-#line 3592 "./util/configparser.y"
- {
- OUTYY(("P(server_tcp_connection_limit:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
- if (atoi((yyvsp[0].str)) < 0)
+ case 674:
+#line 3610 "./util/configparser.y"
+ {
+ OUTYY(("P(server_tcp_connection_limit:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
+ if (atoi((yyvsp[(3) - (3)].str)) < 0)
yyerror("positive number expected");
else {
- if(!cfg_str2list_insert(&cfg_parser->cfg->tcp_connection_limits, (yyvsp[-1].str), (yyvsp[0].str)))
+ if(!cfg_str2list_insert(&cfg_parser->cfg->tcp_connection_limits, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
fatal_exit("out of memory adding tcp connection limit");
}
}
-#line 6956 "util/configparser.c"
break;
- case 671: /* ipsetstart: VAR_IPSET */
-#line 3603 "./util/configparser.y"
- {
+ case 675:
+#line 3621 "./util/configparser.y"
+ {
OUTYY(("\nP(ipset:)\n"));
}
-#line 6964 "util/configparser.c"
break;
- case 676: /* ipset_name_v4: VAR_IPSET_NAME_V4 STRING_ARG */
-#line 3612 "./util/configparser.y"
- {
+ case 680:
+#line 3630 "./util/configparser.y"
+ {
#ifdef USE_IPSET
- OUTYY(("P(name-v4:%s)\n", (yyvsp[0].str)));
+ OUTYY(("P(name-v4:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->ipset_name_v4)
yyerror("ipset name v4 override, there must be one "
"name for ip v4");
free(cfg_parser->cfg->ipset_name_v4);
- cfg_parser->cfg->ipset_name_v4 = (yyvsp[0].str);
+ cfg_parser->cfg->ipset_name_v4 = (yyvsp[(2) - (2)].str);
#else
OUTYY(("P(Compiled without ipset, ignoring)\n"));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
#endif
}
-#line 6982 "util/configparser.c"
break;
- case 677: /* ipset_name_v6: VAR_IPSET_NAME_V6 STRING_ARG */
-#line 3627 "./util/configparser.y"
- {
+ case 681:
+#line 3645 "./util/configparser.y"
+ {
#ifdef USE_IPSET
- OUTYY(("P(name-v6:%s)\n", (yyvsp[0].str)));
+ OUTYY(("P(name-v6:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->ipset_name_v6)
yyerror("ipset name v6 override, there must be one "
"name for ip v6");
free(cfg_parser->cfg->ipset_name_v6);
- cfg_parser->cfg->ipset_name_v6 = (yyvsp[0].str);
+ cfg_parser->cfg->ipset_name_v6 = (yyvsp[(2) - (2)].str);
#else
OUTYY(("P(Compiled without ipset, ignoring)\n"));
- free((yyvsp[0].str));
+ free((yyvsp[(2) - (2)].str));
#endif
}
-#line 7000 "util/configparser.c"
break;
-#line 7004 "util/configparser.c"
-
+/* Line 1267 of yacc.c. */
+#line 7175 "util/configparser.c"
default: break;
}
- /* User semantic actions sometimes alter yychar, and that requires
- that yytoken be updated with the new translation. We take the
- approach of translating immediately before every use of yytoken.
- One alternative is translating here after every semantic action,
- but that translation would be missed if the semantic action invokes
- YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
- if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
- incorrect destructor might then be invoked immediately. In the
- case of YYERROR or YYBACKUP, subsequent parser actions might lead
- to an incorrect destructor call or verbose syntax error message
- before the lookahead is translated. */
- YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
+ 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
+
+ /* 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. */
- {
- const int yylhs = yyr1[yyn] - YYNTOKENS;
- const int yyi = yypgoto[yylhs] + *yyssp;
- yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
- ? yytable[yyi]
- : yydefgoto[yylhs]);
- }
+
+ 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 -- here on detecting error |
+`------------------------------------*/
yyerrlab:
- /* Make sure we have latest lookahead translation. See comments at
- user semantic actions for why this is necessary. */
- yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
/* If not already recovering from an error, report this error. */
if (!yyerrstatus)
{
++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 (yyerrstatus == 3)
{
- /* If just tried and failed to reuse lookahead token after an
- error, discard it. */
+ /* If just tried and failed to reuse look-ahead token after an
+ error, discard it. */
if (yychar <= YYEOF)
- {
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
- YYABORT;
- }
+ {
+ /* Return failure if at end of input. */
+ if (yychar == YYEOF)
+ YYABORT;
+ }
else
- {
- yydestruct ("Error: discarding",
- yytoken, &yylval);
- yychar = YYEMPTY;
- }
+ {
+ yydestruct ("Error: discarding",
+ yytoken, &yylval);
+ yychar = YYEMPTY;
+ }
}
- /* Else will try to reuse lookahead token after shifting the error
+ /* Else will try to reuse look-ahead token after shifting the error
token. */
goto yyerrlab1;
| yyerrorlab -- error raised explicitly by YYERROR. |
`---------------------------------------------------*/
yyerrorlab:
- /* Pacify compilers when the user code never invokes YYERROR and the
- label yyerrorlab therefore never appears in user code. */
- if (0)
- YYERROR;
- /* Do not reclaim the symbols of the rule whose action triggered
+ /* 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;
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
yyerrlab1:
- yyerrstatus = 3; /* Each real token shifted decrements this. */
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
- /* Pop stack until we find a state that shifts the error token. */
for (;;)
{
yyn = yypact[yystate];
- if (!yypact_value_is_default (yyn))
- {
- yyn += YYSYMBOL_YYerror;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
- {
- yyn = yytable[yyn];
- if (0 < yyn)
- break;
- }
- }
+ 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;
+ YYABORT;
yydestruct ("Error: popping",
- YY_ACCESSING_SYMBOL (yystate), yyvsp);
+ yystos[yystate], yyvsp);
YYPOPSTACK (1);
yystate = *yyssp;
YY_STACK_PRINT (yyss, yyssp);
}
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
*++yyvsp = yylval;
- YY_IGNORE_MAYBE_UNINITIALIZED_END
/* Shift the error token. */
- YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
+ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
yystate = yyn;
goto yynewstate;
yyresult = 0;
goto yyreturn;
-
/*-----------------------------------.
| yyabortlab -- YYABORT comes here. |
`-----------------------------------*/
yyresult = 1;
goto yyreturn;
-
-#if !defined yyoverflow
+#ifndef yyoverflow
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
yyexhaustedlab:
yyerror (YY_("memory exhausted"));
yyresult = 2;
- goto yyreturn;
+ /* Fall through. */
#endif
-
-/*-------------------------------------------------------.
-| yyreturn -- parsing is finished, clean up and return. |
-`-------------------------------------------------------*/
yyreturn:
- if (yychar != YYEMPTY)
- {
- /* Make sure we have latest lookahead translation. See comments at
- user semantic actions for why this is necessary. */
- yytoken = YYTRANSLATE (yychar);
- yydestruct ("Cleanup: discarding lookahead",
- yytoken, &yylval);
- }
- /* Do not reclaim the symbols of the rule whose action triggered
+ if (yychar != YYEOF && 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",
- YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
+ yystos[*yyssp], yyvsp);
YYPOPSTACK (1);
}
#ifndef yyoverflow
if (yyss != yyssa)
YYSTACK_FREE (yyss);
#endif
-
- return yyresult;
+#if YYERROR_VERBOSE
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+#endif
+ /* Make sure YYID is used. */
+ return YYID (yyresult);
}
-#line 3641 "./util/configparser.y"
+
+#line 3659 "./util/configparser.y"
/* parse helper routines could be here */
}
+
-/* A Bison parser, made by GNU Bison 3.7.6. */
+/* A Bison parser, made by GNU Bison 2.3. */
-/* Bison interface for Yacc-like parsers in C
+/* Skeleton interface for Bison's Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
- Inc.
+ 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
+ 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.
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
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 <https://www.gnu.org/licenses/>. */
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
-/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
- especially those whose name start with YY_ or yy_. They are
- private implementation details that can be changed or removed. */
-
-#ifndef YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
-# define YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
-/* Debug traces. */
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-#if YYDEBUG
-extern int yydebug;
-#endif
-
-/* Token kinds. */
+/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- enum yytokentype
- {
- YYEMPTY = -2,
- YYEOF = 0, /* "end of file" */
- YYerror = 256, /* error */
- YYUNDEF = 257, /* "invalid token" */
- SPACE = 258, /* SPACE */
- LETTER = 259, /* LETTER */
- NEWLINE = 260, /* NEWLINE */
- COMMENT = 261, /* COMMENT */
- COLON = 262, /* COLON */
- ANY = 263, /* ANY */
- ZONESTR = 264, /* ZONESTR */
- STRING_ARG = 265, /* STRING_ARG */
- VAR_FORCE_TOPLEVEL = 266, /* VAR_FORCE_TOPLEVEL */
- VAR_SERVER = 267, /* VAR_SERVER */
- VAR_VERBOSITY = 268, /* VAR_VERBOSITY */
- VAR_NUM_THREADS = 269, /* VAR_NUM_THREADS */
- VAR_PORT = 270, /* VAR_PORT */
- VAR_OUTGOING_RANGE = 271, /* VAR_OUTGOING_RANGE */
- VAR_INTERFACE = 272, /* VAR_INTERFACE */
- VAR_PREFER_IP4 = 273, /* VAR_PREFER_IP4 */
- VAR_DO_IP4 = 274, /* VAR_DO_IP4 */
- VAR_DO_IP6 = 275, /* VAR_DO_IP6 */
- VAR_PREFER_IP6 = 276, /* VAR_PREFER_IP6 */
- VAR_DO_UDP = 277, /* VAR_DO_UDP */
- VAR_DO_TCP = 278, /* VAR_DO_TCP */
- VAR_TCP_MSS = 279, /* VAR_TCP_MSS */
- VAR_OUTGOING_TCP_MSS = 280, /* VAR_OUTGOING_TCP_MSS */
- VAR_TCP_IDLE_TIMEOUT = 281, /* VAR_TCP_IDLE_TIMEOUT */
- VAR_EDNS_TCP_KEEPALIVE = 282, /* VAR_EDNS_TCP_KEEPALIVE */
- VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 283, /* VAR_EDNS_TCP_KEEPALIVE_TIMEOUT */
- VAR_CHROOT = 284, /* VAR_CHROOT */
- VAR_USERNAME = 285, /* VAR_USERNAME */
- VAR_DIRECTORY = 286, /* VAR_DIRECTORY */
- VAR_LOGFILE = 287, /* VAR_LOGFILE */
- VAR_PIDFILE = 288, /* VAR_PIDFILE */
- VAR_MSG_CACHE_SIZE = 289, /* VAR_MSG_CACHE_SIZE */
- VAR_MSG_CACHE_SLABS = 290, /* VAR_MSG_CACHE_SLABS */
- VAR_NUM_QUERIES_PER_THREAD = 291, /* VAR_NUM_QUERIES_PER_THREAD */
- VAR_RRSET_CACHE_SIZE = 292, /* VAR_RRSET_CACHE_SIZE */
- VAR_RRSET_CACHE_SLABS = 293, /* VAR_RRSET_CACHE_SLABS */
- VAR_OUTGOING_NUM_TCP = 294, /* VAR_OUTGOING_NUM_TCP */
- VAR_INFRA_HOST_TTL = 295, /* VAR_INFRA_HOST_TTL */
- VAR_INFRA_LAME_TTL = 296, /* VAR_INFRA_LAME_TTL */
- VAR_INFRA_CACHE_SLABS = 297, /* VAR_INFRA_CACHE_SLABS */
- VAR_INFRA_CACHE_NUMHOSTS = 298, /* VAR_INFRA_CACHE_NUMHOSTS */
- VAR_INFRA_CACHE_LAME_SIZE = 299, /* VAR_INFRA_CACHE_LAME_SIZE */
- VAR_NAME = 300, /* VAR_NAME */
- VAR_STUB_ZONE = 301, /* VAR_STUB_ZONE */
- VAR_STUB_HOST = 302, /* VAR_STUB_HOST */
- VAR_STUB_ADDR = 303, /* VAR_STUB_ADDR */
- VAR_TARGET_FETCH_POLICY = 304, /* VAR_TARGET_FETCH_POLICY */
- VAR_HARDEN_SHORT_BUFSIZE = 305, /* VAR_HARDEN_SHORT_BUFSIZE */
- VAR_HARDEN_LARGE_QUERIES = 306, /* VAR_HARDEN_LARGE_QUERIES */
- VAR_FORWARD_ZONE = 307, /* VAR_FORWARD_ZONE */
- VAR_FORWARD_HOST = 308, /* VAR_FORWARD_HOST */
- VAR_FORWARD_ADDR = 309, /* VAR_FORWARD_ADDR */
- VAR_DO_NOT_QUERY_ADDRESS = 310, /* VAR_DO_NOT_QUERY_ADDRESS */
- VAR_HIDE_IDENTITY = 311, /* VAR_HIDE_IDENTITY */
- VAR_HIDE_VERSION = 312, /* VAR_HIDE_VERSION */
- VAR_IDENTITY = 313, /* VAR_IDENTITY */
- VAR_VERSION = 314, /* VAR_VERSION */
- VAR_HARDEN_GLUE = 315, /* VAR_HARDEN_GLUE */
- VAR_MODULE_CONF = 316, /* VAR_MODULE_CONF */
- VAR_TRUST_ANCHOR_FILE = 317, /* VAR_TRUST_ANCHOR_FILE */
- VAR_TRUST_ANCHOR = 318, /* VAR_TRUST_ANCHOR */
- VAR_VAL_OVERRIDE_DATE = 319, /* VAR_VAL_OVERRIDE_DATE */
- VAR_BOGUS_TTL = 320, /* VAR_BOGUS_TTL */
- VAR_VAL_CLEAN_ADDITIONAL = 321, /* VAR_VAL_CLEAN_ADDITIONAL */
- VAR_VAL_PERMISSIVE_MODE = 322, /* VAR_VAL_PERMISSIVE_MODE */
- VAR_INCOMING_NUM_TCP = 323, /* VAR_INCOMING_NUM_TCP */
- VAR_MSG_BUFFER_SIZE = 324, /* VAR_MSG_BUFFER_SIZE */
- VAR_KEY_CACHE_SIZE = 325, /* VAR_KEY_CACHE_SIZE */
- VAR_KEY_CACHE_SLABS = 326, /* VAR_KEY_CACHE_SLABS */
- VAR_TRUSTED_KEYS_FILE = 327, /* VAR_TRUSTED_KEYS_FILE */
- VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 328, /* VAR_VAL_NSEC3_KEYSIZE_ITERATIONS */
- VAR_USE_SYSLOG = 329, /* VAR_USE_SYSLOG */
- VAR_OUTGOING_INTERFACE = 330, /* VAR_OUTGOING_INTERFACE */
- VAR_ROOT_HINTS = 331, /* VAR_ROOT_HINTS */
- VAR_DO_NOT_QUERY_LOCALHOST = 332, /* VAR_DO_NOT_QUERY_LOCALHOST */
- VAR_CACHE_MAX_TTL = 333, /* VAR_CACHE_MAX_TTL */
- VAR_HARDEN_DNSSEC_STRIPPED = 334, /* VAR_HARDEN_DNSSEC_STRIPPED */
- VAR_ACCESS_CONTROL = 335, /* VAR_ACCESS_CONTROL */
- VAR_LOCAL_ZONE = 336, /* VAR_LOCAL_ZONE */
- VAR_LOCAL_DATA = 337, /* VAR_LOCAL_DATA */
- VAR_INTERFACE_AUTOMATIC = 338, /* VAR_INTERFACE_AUTOMATIC */
- VAR_STATISTICS_INTERVAL = 339, /* VAR_STATISTICS_INTERVAL */
- VAR_DO_DAEMONIZE = 340, /* VAR_DO_DAEMONIZE */
- VAR_USE_CAPS_FOR_ID = 341, /* VAR_USE_CAPS_FOR_ID */
- VAR_STATISTICS_CUMULATIVE = 342, /* VAR_STATISTICS_CUMULATIVE */
- VAR_OUTGOING_PORT_PERMIT = 343, /* VAR_OUTGOING_PORT_PERMIT */
- VAR_OUTGOING_PORT_AVOID = 344, /* VAR_OUTGOING_PORT_AVOID */
- VAR_DLV_ANCHOR_FILE = 345, /* VAR_DLV_ANCHOR_FILE */
- VAR_DLV_ANCHOR = 346, /* VAR_DLV_ANCHOR */
- VAR_NEG_CACHE_SIZE = 347, /* VAR_NEG_CACHE_SIZE */
- VAR_HARDEN_REFERRAL_PATH = 348, /* VAR_HARDEN_REFERRAL_PATH */
- VAR_PRIVATE_ADDRESS = 349, /* VAR_PRIVATE_ADDRESS */
- VAR_PRIVATE_DOMAIN = 350, /* VAR_PRIVATE_DOMAIN */
- VAR_REMOTE_CONTROL = 351, /* VAR_REMOTE_CONTROL */
- VAR_CONTROL_ENABLE = 352, /* VAR_CONTROL_ENABLE */
- VAR_CONTROL_INTERFACE = 353, /* VAR_CONTROL_INTERFACE */
- VAR_CONTROL_PORT = 354, /* VAR_CONTROL_PORT */
- VAR_SERVER_KEY_FILE = 355, /* VAR_SERVER_KEY_FILE */
- VAR_SERVER_CERT_FILE = 356, /* VAR_SERVER_CERT_FILE */
- VAR_CONTROL_KEY_FILE = 357, /* VAR_CONTROL_KEY_FILE */
- VAR_CONTROL_CERT_FILE = 358, /* VAR_CONTROL_CERT_FILE */
- VAR_CONTROL_USE_CERT = 359, /* VAR_CONTROL_USE_CERT */
- VAR_TCP_REUSE_TIMEOUT = 360, /* VAR_TCP_REUSE_TIMEOUT */
- VAR_MAX_REUSE_TCP_QUERIES = 361, /* VAR_MAX_REUSE_TCP_QUERIES */
- VAR_EXTENDED_STATISTICS = 362, /* VAR_EXTENDED_STATISTICS */
- VAR_LOCAL_DATA_PTR = 363, /* VAR_LOCAL_DATA_PTR */
- VAR_JOSTLE_TIMEOUT = 364, /* VAR_JOSTLE_TIMEOUT */
- VAR_STUB_PRIME = 365, /* VAR_STUB_PRIME */
- VAR_UNWANTED_REPLY_THRESHOLD = 366, /* VAR_UNWANTED_REPLY_THRESHOLD */
- VAR_LOG_TIME_ASCII = 367, /* VAR_LOG_TIME_ASCII */
- VAR_DOMAIN_INSECURE = 368, /* VAR_DOMAIN_INSECURE */
- VAR_PYTHON = 369, /* VAR_PYTHON */
- VAR_PYTHON_SCRIPT = 370, /* VAR_PYTHON_SCRIPT */
- VAR_VAL_SIG_SKEW_MIN = 371, /* VAR_VAL_SIG_SKEW_MIN */
- VAR_VAL_SIG_SKEW_MAX = 372, /* VAR_VAL_SIG_SKEW_MAX */
- VAR_VAL_MAX_RESTART = 373, /* VAR_VAL_MAX_RESTART */
- VAR_CACHE_MIN_TTL = 374, /* VAR_CACHE_MIN_TTL */
- VAR_VAL_LOG_LEVEL = 375, /* VAR_VAL_LOG_LEVEL */
- VAR_AUTO_TRUST_ANCHOR_FILE = 376, /* VAR_AUTO_TRUST_ANCHOR_FILE */
- VAR_KEEP_MISSING = 377, /* VAR_KEEP_MISSING */
- VAR_ADD_HOLDDOWN = 378, /* VAR_ADD_HOLDDOWN */
- VAR_DEL_HOLDDOWN = 379, /* VAR_DEL_HOLDDOWN */
- VAR_SO_RCVBUF = 380, /* VAR_SO_RCVBUF */
- VAR_EDNS_BUFFER_SIZE = 381, /* VAR_EDNS_BUFFER_SIZE */
- VAR_PREFETCH = 382, /* VAR_PREFETCH */
- VAR_PREFETCH_KEY = 383, /* VAR_PREFETCH_KEY */
- VAR_SO_SNDBUF = 384, /* VAR_SO_SNDBUF */
- VAR_SO_REUSEPORT = 385, /* VAR_SO_REUSEPORT */
- VAR_HARDEN_BELOW_NXDOMAIN = 386, /* VAR_HARDEN_BELOW_NXDOMAIN */
- VAR_IGNORE_CD_FLAG = 387, /* VAR_IGNORE_CD_FLAG */
- VAR_LOG_QUERIES = 388, /* VAR_LOG_QUERIES */
- VAR_LOG_REPLIES = 389, /* VAR_LOG_REPLIES */
- VAR_LOG_LOCAL_ACTIONS = 390, /* VAR_LOG_LOCAL_ACTIONS */
- VAR_TCP_UPSTREAM = 391, /* VAR_TCP_UPSTREAM */
- VAR_SSL_UPSTREAM = 392, /* VAR_SSL_UPSTREAM */
- VAR_TCP_AUTH_QUERY_TIMEOUT = 393, /* VAR_TCP_AUTH_QUERY_TIMEOUT */
- VAR_SSL_SERVICE_KEY = 394, /* VAR_SSL_SERVICE_KEY */
- VAR_SSL_SERVICE_PEM = 395, /* VAR_SSL_SERVICE_PEM */
- VAR_SSL_PORT = 396, /* VAR_SSL_PORT */
- VAR_FORWARD_FIRST = 397, /* VAR_FORWARD_FIRST */
- VAR_STUB_SSL_UPSTREAM = 398, /* VAR_STUB_SSL_UPSTREAM */
- VAR_FORWARD_SSL_UPSTREAM = 399, /* VAR_FORWARD_SSL_UPSTREAM */
- VAR_TLS_CERT_BUNDLE = 400, /* VAR_TLS_CERT_BUNDLE */
- VAR_STUB_TCP_UPSTREAM = 401, /* VAR_STUB_TCP_UPSTREAM */
- VAR_FORWARD_TCP_UPSTREAM = 402, /* VAR_FORWARD_TCP_UPSTREAM */
- VAR_HTTPS_PORT = 403, /* VAR_HTTPS_PORT */
- VAR_HTTP_ENDPOINT = 404, /* VAR_HTTP_ENDPOINT */
- VAR_HTTP_MAX_STREAMS = 405, /* VAR_HTTP_MAX_STREAMS */
- VAR_HTTP_QUERY_BUFFER_SIZE = 406, /* VAR_HTTP_QUERY_BUFFER_SIZE */
- VAR_HTTP_RESPONSE_BUFFER_SIZE = 407, /* VAR_HTTP_RESPONSE_BUFFER_SIZE */
- VAR_HTTP_NODELAY = 408, /* VAR_HTTP_NODELAY */
- VAR_HTTP_NOTLS_DOWNSTREAM = 409, /* VAR_HTTP_NOTLS_DOWNSTREAM */
- VAR_STUB_FIRST = 410, /* VAR_STUB_FIRST */
- VAR_MINIMAL_RESPONSES = 411, /* VAR_MINIMAL_RESPONSES */
- VAR_RRSET_ROUNDROBIN = 412, /* VAR_RRSET_ROUNDROBIN */
- VAR_MAX_UDP_SIZE = 413, /* VAR_MAX_UDP_SIZE */
- VAR_DELAY_CLOSE = 414, /* VAR_DELAY_CLOSE */
- VAR_UDP_CONNECT = 415, /* VAR_UDP_CONNECT */
- VAR_UNBLOCK_LAN_ZONES = 416, /* VAR_UNBLOCK_LAN_ZONES */
- VAR_INSECURE_LAN_ZONES = 417, /* VAR_INSECURE_LAN_ZONES */
- VAR_INFRA_CACHE_MIN_RTT = 418, /* VAR_INFRA_CACHE_MIN_RTT */
- VAR_INFRA_KEEP_PROBING = 419, /* VAR_INFRA_KEEP_PROBING */
- VAR_DNS64_PREFIX = 420, /* VAR_DNS64_PREFIX */
- VAR_DNS64_SYNTHALL = 421, /* VAR_DNS64_SYNTHALL */
- VAR_DNS64_IGNORE_AAAA = 422, /* VAR_DNS64_IGNORE_AAAA */
- VAR_DNSTAP = 423, /* VAR_DNSTAP */
- VAR_DNSTAP_ENABLE = 424, /* VAR_DNSTAP_ENABLE */
- VAR_DNSTAP_SOCKET_PATH = 425, /* VAR_DNSTAP_SOCKET_PATH */
- VAR_DNSTAP_IP = 426, /* VAR_DNSTAP_IP */
- VAR_DNSTAP_TLS = 427, /* VAR_DNSTAP_TLS */
- VAR_DNSTAP_TLS_SERVER_NAME = 428, /* VAR_DNSTAP_TLS_SERVER_NAME */
- VAR_DNSTAP_TLS_CERT_BUNDLE = 429, /* VAR_DNSTAP_TLS_CERT_BUNDLE */
- VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 430, /* VAR_DNSTAP_TLS_CLIENT_KEY_FILE */
- VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 431, /* VAR_DNSTAP_TLS_CLIENT_CERT_FILE */
- VAR_DNSTAP_SEND_IDENTITY = 432, /* VAR_DNSTAP_SEND_IDENTITY */
- VAR_DNSTAP_SEND_VERSION = 433, /* VAR_DNSTAP_SEND_VERSION */
- VAR_DNSTAP_BIDIRECTIONAL = 434, /* VAR_DNSTAP_BIDIRECTIONAL */
- VAR_DNSTAP_IDENTITY = 435, /* VAR_DNSTAP_IDENTITY */
- VAR_DNSTAP_VERSION = 436, /* VAR_DNSTAP_VERSION */
- VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 437, /* VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES */
- VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 438, /* VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES */
- VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 439, /* VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES */
- VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 440, /* VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES */
- VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 441, /* VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES */
- VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 442, /* VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES */
- VAR_RESPONSE_IP_TAG = 443, /* VAR_RESPONSE_IP_TAG */
- VAR_RESPONSE_IP = 444, /* VAR_RESPONSE_IP */
- VAR_RESPONSE_IP_DATA = 445, /* VAR_RESPONSE_IP_DATA */
- VAR_HARDEN_ALGO_DOWNGRADE = 446, /* VAR_HARDEN_ALGO_DOWNGRADE */
- VAR_IP_TRANSPARENT = 447, /* VAR_IP_TRANSPARENT */
- VAR_IP_DSCP = 448, /* VAR_IP_DSCP */
- VAR_DISABLE_DNSSEC_LAME_CHECK = 449, /* VAR_DISABLE_DNSSEC_LAME_CHECK */
- VAR_IP_RATELIMIT = 450, /* VAR_IP_RATELIMIT */
- VAR_IP_RATELIMIT_SLABS = 451, /* VAR_IP_RATELIMIT_SLABS */
- VAR_IP_RATELIMIT_SIZE = 452, /* VAR_IP_RATELIMIT_SIZE */
- VAR_RATELIMIT = 453, /* VAR_RATELIMIT */
- VAR_RATELIMIT_SLABS = 454, /* VAR_RATELIMIT_SLABS */
- VAR_RATELIMIT_SIZE = 455, /* VAR_RATELIMIT_SIZE */
- VAR_OUTBOUND_MSG_RETRY = 456, /* VAR_OUTBOUND_MSG_RETRY */
- VAR_RATELIMIT_FOR_DOMAIN = 457, /* VAR_RATELIMIT_FOR_DOMAIN */
- VAR_RATELIMIT_BELOW_DOMAIN = 458, /* VAR_RATELIMIT_BELOW_DOMAIN */
- VAR_IP_RATELIMIT_FACTOR = 459, /* VAR_IP_RATELIMIT_FACTOR */
- VAR_RATELIMIT_FACTOR = 460, /* VAR_RATELIMIT_FACTOR */
- VAR_IP_RATELIMIT_BACKOFF = 461, /* VAR_IP_RATELIMIT_BACKOFF */
- VAR_RATELIMIT_BACKOFF = 462, /* VAR_RATELIMIT_BACKOFF */
- VAR_SEND_CLIENT_SUBNET = 463, /* VAR_SEND_CLIENT_SUBNET */
- VAR_CLIENT_SUBNET_ZONE = 464, /* VAR_CLIENT_SUBNET_ZONE */
- VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 465, /* VAR_CLIENT_SUBNET_ALWAYS_FORWARD */
- VAR_CLIENT_SUBNET_OPCODE = 466, /* VAR_CLIENT_SUBNET_OPCODE */
- VAR_MAX_CLIENT_SUBNET_IPV4 = 467, /* VAR_MAX_CLIENT_SUBNET_IPV4 */
- VAR_MAX_CLIENT_SUBNET_IPV6 = 468, /* VAR_MAX_CLIENT_SUBNET_IPV6 */
- VAR_MIN_CLIENT_SUBNET_IPV4 = 469, /* VAR_MIN_CLIENT_SUBNET_IPV4 */
- VAR_MIN_CLIENT_SUBNET_IPV6 = 470, /* VAR_MIN_CLIENT_SUBNET_IPV6 */
- VAR_MAX_ECS_TREE_SIZE_IPV4 = 471, /* VAR_MAX_ECS_TREE_SIZE_IPV4 */
- VAR_MAX_ECS_TREE_SIZE_IPV6 = 472, /* VAR_MAX_ECS_TREE_SIZE_IPV6 */
- VAR_CAPS_WHITELIST = 473, /* VAR_CAPS_WHITELIST */
- VAR_CACHE_MAX_NEGATIVE_TTL = 474, /* VAR_CACHE_MAX_NEGATIVE_TTL */
- VAR_PERMIT_SMALL_HOLDDOWN = 475, /* VAR_PERMIT_SMALL_HOLDDOWN */
- VAR_QNAME_MINIMISATION = 476, /* VAR_QNAME_MINIMISATION */
- VAR_QNAME_MINIMISATION_STRICT = 477, /* VAR_QNAME_MINIMISATION_STRICT */
- VAR_IP_FREEBIND = 478, /* VAR_IP_FREEBIND */
- VAR_DEFINE_TAG = 479, /* VAR_DEFINE_TAG */
- VAR_LOCAL_ZONE_TAG = 480, /* VAR_LOCAL_ZONE_TAG */
- VAR_ACCESS_CONTROL_TAG = 481, /* VAR_ACCESS_CONTROL_TAG */
- VAR_LOCAL_ZONE_OVERRIDE = 482, /* VAR_LOCAL_ZONE_OVERRIDE */
- VAR_ACCESS_CONTROL_TAG_ACTION = 483, /* VAR_ACCESS_CONTROL_TAG_ACTION */
- VAR_ACCESS_CONTROL_TAG_DATA = 484, /* VAR_ACCESS_CONTROL_TAG_DATA */
- VAR_VIEW = 485, /* VAR_VIEW */
- VAR_ACCESS_CONTROL_VIEW = 486, /* VAR_ACCESS_CONTROL_VIEW */
- VAR_VIEW_FIRST = 487, /* VAR_VIEW_FIRST */
- VAR_SERVE_EXPIRED = 488, /* VAR_SERVE_EXPIRED */
- VAR_SERVE_EXPIRED_TTL = 489, /* VAR_SERVE_EXPIRED_TTL */
- VAR_SERVE_EXPIRED_TTL_RESET = 490, /* VAR_SERVE_EXPIRED_TTL_RESET */
- VAR_SERVE_EXPIRED_REPLY_TTL = 491, /* VAR_SERVE_EXPIRED_REPLY_TTL */
- VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 492, /* VAR_SERVE_EXPIRED_CLIENT_TIMEOUT */
- VAR_SERVE_ORIGINAL_TTL = 493, /* VAR_SERVE_ORIGINAL_TTL */
- VAR_FAKE_DSA = 494, /* VAR_FAKE_DSA */
- VAR_FAKE_SHA1 = 495, /* VAR_FAKE_SHA1 */
- VAR_LOG_IDENTITY = 496, /* VAR_LOG_IDENTITY */
- VAR_HIDE_TRUSTANCHOR = 497, /* VAR_HIDE_TRUSTANCHOR */
- VAR_HIDE_HTTP_USER_AGENT = 498, /* VAR_HIDE_HTTP_USER_AGENT */
- VAR_HTTP_USER_AGENT = 499, /* VAR_HTTP_USER_AGENT */
- VAR_TRUST_ANCHOR_SIGNALING = 500, /* VAR_TRUST_ANCHOR_SIGNALING */
- VAR_AGGRESSIVE_NSEC = 501, /* VAR_AGGRESSIVE_NSEC */
- VAR_USE_SYSTEMD = 502, /* VAR_USE_SYSTEMD */
- VAR_SHM_ENABLE = 503, /* VAR_SHM_ENABLE */
- VAR_SHM_KEY = 504, /* VAR_SHM_KEY */
- VAR_ROOT_KEY_SENTINEL = 505, /* VAR_ROOT_KEY_SENTINEL */
- VAR_DNSCRYPT = 506, /* VAR_DNSCRYPT */
- VAR_DNSCRYPT_ENABLE = 507, /* VAR_DNSCRYPT_ENABLE */
- VAR_DNSCRYPT_PORT = 508, /* VAR_DNSCRYPT_PORT */
- VAR_DNSCRYPT_PROVIDER = 509, /* VAR_DNSCRYPT_PROVIDER */
- VAR_DNSCRYPT_SECRET_KEY = 510, /* VAR_DNSCRYPT_SECRET_KEY */
- VAR_DNSCRYPT_PROVIDER_CERT = 511, /* VAR_DNSCRYPT_PROVIDER_CERT */
- VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 512, /* VAR_DNSCRYPT_PROVIDER_CERT_ROTATED */
- VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 513, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE */
- VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 514, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS */
- VAR_DNSCRYPT_NONCE_CACHE_SIZE = 515, /* VAR_DNSCRYPT_NONCE_CACHE_SIZE */
- VAR_DNSCRYPT_NONCE_CACHE_SLABS = 516, /* VAR_DNSCRYPT_NONCE_CACHE_SLABS */
- VAR_PAD_RESPONSES = 517, /* VAR_PAD_RESPONSES */
- VAR_PAD_RESPONSES_BLOCK_SIZE = 518, /* VAR_PAD_RESPONSES_BLOCK_SIZE */
- VAR_PAD_QUERIES = 519, /* VAR_PAD_QUERIES */
- VAR_PAD_QUERIES_BLOCK_SIZE = 520, /* VAR_PAD_QUERIES_BLOCK_SIZE */
- VAR_IPSECMOD_ENABLED = 521, /* VAR_IPSECMOD_ENABLED */
- VAR_IPSECMOD_HOOK = 522, /* VAR_IPSECMOD_HOOK */
- VAR_IPSECMOD_IGNORE_BOGUS = 523, /* VAR_IPSECMOD_IGNORE_BOGUS */
- VAR_IPSECMOD_MAX_TTL = 524, /* VAR_IPSECMOD_MAX_TTL */
- VAR_IPSECMOD_WHITELIST = 525, /* VAR_IPSECMOD_WHITELIST */
- VAR_IPSECMOD_STRICT = 526, /* VAR_IPSECMOD_STRICT */
- VAR_CACHEDB = 527, /* VAR_CACHEDB */
- VAR_CACHEDB_BACKEND = 528, /* VAR_CACHEDB_BACKEND */
- VAR_CACHEDB_SECRETSEED = 529, /* VAR_CACHEDB_SECRETSEED */
- VAR_CACHEDB_REDISHOST = 530, /* VAR_CACHEDB_REDISHOST */
- VAR_CACHEDB_REDISPORT = 531, /* VAR_CACHEDB_REDISPORT */
- VAR_CACHEDB_REDISTIMEOUT = 532, /* VAR_CACHEDB_REDISTIMEOUT */
- VAR_CACHEDB_REDISEXPIRERECORDS = 533, /* VAR_CACHEDB_REDISEXPIRERECORDS */
- VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 534, /* VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM */
- VAR_FOR_UPSTREAM = 535, /* VAR_FOR_UPSTREAM */
- VAR_AUTH_ZONE = 536, /* VAR_AUTH_ZONE */
- VAR_ZONEFILE = 537, /* VAR_ZONEFILE */
- VAR_MASTER = 538, /* VAR_MASTER */
- VAR_URL = 539, /* VAR_URL */
- VAR_FOR_DOWNSTREAM = 540, /* VAR_FOR_DOWNSTREAM */
- VAR_FALLBACK_ENABLED = 541, /* VAR_FALLBACK_ENABLED */
- VAR_TLS_ADDITIONAL_PORT = 542, /* VAR_TLS_ADDITIONAL_PORT */
- VAR_LOW_RTT = 543, /* VAR_LOW_RTT */
- VAR_LOW_RTT_PERMIL = 544, /* VAR_LOW_RTT_PERMIL */
- VAR_FAST_SERVER_PERMIL = 545, /* VAR_FAST_SERVER_PERMIL */
- VAR_FAST_SERVER_NUM = 546, /* VAR_FAST_SERVER_NUM */
- VAR_ALLOW_NOTIFY = 547, /* VAR_ALLOW_NOTIFY */
- VAR_TLS_WIN_CERT = 548, /* VAR_TLS_WIN_CERT */
- VAR_TCP_CONNECTION_LIMIT = 549, /* VAR_TCP_CONNECTION_LIMIT */
- VAR_FORWARD_NO_CACHE = 550, /* VAR_FORWARD_NO_CACHE */
- VAR_STUB_NO_CACHE = 551, /* VAR_STUB_NO_CACHE */
- VAR_LOG_SERVFAIL = 552, /* VAR_LOG_SERVFAIL */
- VAR_DENY_ANY = 553, /* VAR_DENY_ANY */
- VAR_UNKNOWN_SERVER_TIME_LIMIT = 554, /* VAR_UNKNOWN_SERVER_TIME_LIMIT */
- VAR_LOG_TAG_QUERYREPLY = 555, /* VAR_LOG_TAG_QUERYREPLY */
- VAR_STREAM_WAIT_SIZE = 556, /* VAR_STREAM_WAIT_SIZE */
- VAR_TLS_CIPHERS = 557, /* VAR_TLS_CIPHERS */
- VAR_TLS_CIPHERSUITES = 558, /* VAR_TLS_CIPHERSUITES */
- VAR_TLS_USE_SNI = 559, /* VAR_TLS_USE_SNI */
- VAR_IPSET = 560, /* VAR_IPSET */
- VAR_IPSET_NAME_V4 = 561, /* VAR_IPSET_NAME_V4 */
- VAR_IPSET_NAME_V6 = 562, /* VAR_IPSET_NAME_V6 */
- VAR_TLS_SESSION_TICKET_KEYS = 563, /* VAR_TLS_SESSION_TICKET_KEYS */
- VAR_RPZ = 564, /* VAR_RPZ */
- VAR_TAGS = 565, /* VAR_TAGS */
- VAR_RPZ_ACTION_OVERRIDE = 566, /* VAR_RPZ_ACTION_OVERRIDE */
- VAR_RPZ_CNAME_OVERRIDE = 567, /* VAR_RPZ_CNAME_OVERRIDE */
- VAR_RPZ_LOG = 568, /* VAR_RPZ_LOG */
- VAR_RPZ_LOG_NAME = 569, /* VAR_RPZ_LOG_NAME */
- VAR_DYNLIB = 570, /* VAR_DYNLIB */
- VAR_DYNLIB_FILE = 571, /* VAR_DYNLIB_FILE */
- VAR_EDNS_CLIENT_STRING = 572, /* VAR_EDNS_CLIENT_STRING */
- VAR_EDNS_CLIENT_STRING_OPCODE = 573, /* VAR_EDNS_CLIENT_STRING_OPCODE */
- VAR_NSID = 574, /* VAR_NSID */
- VAR_ZONEMD_PERMISSIVE_MODE = 575, /* VAR_ZONEMD_PERMISSIVE_MODE */
- VAR_ZONEMD_CHECK = 576, /* VAR_ZONEMD_CHECK */
- VAR_ZONEMD_REJECT_ABSENCE = 577, /* VAR_ZONEMD_REJECT_ABSENCE */
- VAR_RPZ_SIGNAL_NXDOMAIN_RA = 578, /* VAR_RPZ_SIGNAL_NXDOMAIN_RA */
- VAR_INTERFACE_AUTOMATIC_PORTS = 579 /* VAR_INTERFACE_AUTOMATIC_PORTS */
- };
- typedef enum yytokentype yytoken_kind_t;
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ SPACE = 258,
+ LETTER = 259,
+ NEWLINE = 260,
+ COMMENT = 261,
+ COLON = 262,
+ ANY = 263,
+ ZONESTR = 264,
+ STRING_ARG = 265,
+ VAR_FORCE_TOPLEVEL = 266,
+ VAR_SERVER = 267,
+ VAR_VERBOSITY = 268,
+ VAR_NUM_THREADS = 269,
+ VAR_PORT = 270,
+ VAR_OUTGOING_RANGE = 271,
+ VAR_INTERFACE = 272,
+ VAR_PREFER_IP4 = 273,
+ VAR_DO_IP4 = 274,
+ VAR_DO_IP6 = 275,
+ VAR_PREFER_IP6 = 276,
+ VAR_DO_UDP = 277,
+ VAR_DO_TCP = 278,
+ VAR_TCP_MSS = 279,
+ VAR_OUTGOING_TCP_MSS = 280,
+ VAR_TCP_IDLE_TIMEOUT = 281,
+ VAR_EDNS_TCP_KEEPALIVE = 282,
+ VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 283,
+ VAR_CHROOT = 284,
+ VAR_USERNAME = 285,
+ VAR_DIRECTORY = 286,
+ VAR_LOGFILE = 287,
+ VAR_PIDFILE = 288,
+ VAR_MSG_CACHE_SIZE = 289,
+ VAR_MSG_CACHE_SLABS = 290,
+ VAR_NUM_QUERIES_PER_THREAD = 291,
+ VAR_RRSET_CACHE_SIZE = 292,
+ VAR_RRSET_CACHE_SLABS = 293,
+ VAR_OUTGOING_NUM_TCP = 294,
+ VAR_INFRA_HOST_TTL = 295,
+ VAR_INFRA_LAME_TTL = 296,
+ VAR_INFRA_CACHE_SLABS = 297,
+ VAR_INFRA_CACHE_NUMHOSTS = 298,
+ VAR_INFRA_CACHE_LAME_SIZE = 299,
+ VAR_NAME = 300,
+ VAR_STUB_ZONE = 301,
+ VAR_STUB_HOST = 302,
+ VAR_STUB_ADDR = 303,
+ VAR_TARGET_FETCH_POLICY = 304,
+ VAR_HARDEN_SHORT_BUFSIZE = 305,
+ VAR_HARDEN_LARGE_QUERIES = 306,
+ VAR_FORWARD_ZONE = 307,
+ VAR_FORWARD_HOST = 308,
+ VAR_FORWARD_ADDR = 309,
+ VAR_DO_NOT_QUERY_ADDRESS = 310,
+ VAR_HIDE_IDENTITY = 311,
+ VAR_HIDE_VERSION = 312,
+ VAR_IDENTITY = 313,
+ VAR_VERSION = 314,
+ VAR_HARDEN_GLUE = 315,
+ VAR_MODULE_CONF = 316,
+ VAR_TRUST_ANCHOR_FILE = 317,
+ VAR_TRUST_ANCHOR = 318,
+ VAR_VAL_OVERRIDE_DATE = 319,
+ VAR_BOGUS_TTL = 320,
+ VAR_VAL_CLEAN_ADDITIONAL = 321,
+ VAR_VAL_PERMISSIVE_MODE = 322,
+ VAR_INCOMING_NUM_TCP = 323,
+ VAR_MSG_BUFFER_SIZE = 324,
+ VAR_KEY_CACHE_SIZE = 325,
+ VAR_KEY_CACHE_SLABS = 326,
+ VAR_TRUSTED_KEYS_FILE = 327,
+ VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 328,
+ VAR_USE_SYSLOG = 329,
+ VAR_OUTGOING_INTERFACE = 330,
+ VAR_ROOT_HINTS = 331,
+ VAR_DO_NOT_QUERY_LOCALHOST = 332,
+ VAR_CACHE_MAX_TTL = 333,
+ VAR_HARDEN_DNSSEC_STRIPPED = 334,
+ VAR_ACCESS_CONTROL = 335,
+ VAR_LOCAL_ZONE = 336,
+ VAR_LOCAL_DATA = 337,
+ VAR_INTERFACE_AUTOMATIC = 338,
+ VAR_STATISTICS_INTERVAL = 339,
+ VAR_DO_DAEMONIZE = 340,
+ VAR_USE_CAPS_FOR_ID = 341,
+ VAR_STATISTICS_CUMULATIVE = 342,
+ VAR_OUTGOING_PORT_PERMIT = 343,
+ VAR_OUTGOING_PORT_AVOID = 344,
+ VAR_DLV_ANCHOR_FILE = 345,
+ VAR_DLV_ANCHOR = 346,
+ VAR_NEG_CACHE_SIZE = 347,
+ VAR_HARDEN_REFERRAL_PATH = 348,
+ VAR_PRIVATE_ADDRESS = 349,
+ VAR_PRIVATE_DOMAIN = 350,
+ VAR_REMOTE_CONTROL = 351,
+ VAR_CONTROL_ENABLE = 352,
+ VAR_CONTROL_INTERFACE = 353,
+ VAR_CONTROL_PORT = 354,
+ VAR_SERVER_KEY_FILE = 355,
+ VAR_SERVER_CERT_FILE = 356,
+ VAR_CONTROL_KEY_FILE = 357,
+ VAR_CONTROL_CERT_FILE = 358,
+ VAR_CONTROL_USE_CERT = 359,
+ VAR_TCP_REUSE_TIMEOUT = 360,
+ VAR_MAX_REUSE_TCP_QUERIES = 361,
+ VAR_EXTENDED_STATISTICS = 362,
+ VAR_LOCAL_DATA_PTR = 363,
+ VAR_JOSTLE_TIMEOUT = 364,
+ VAR_STUB_PRIME = 365,
+ VAR_UNWANTED_REPLY_THRESHOLD = 366,
+ VAR_LOG_TIME_ASCII = 367,
+ VAR_DOMAIN_INSECURE = 368,
+ VAR_PYTHON = 369,
+ VAR_PYTHON_SCRIPT = 370,
+ VAR_VAL_SIG_SKEW_MIN = 371,
+ VAR_VAL_SIG_SKEW_MAX = 372,
+ VAR_VAL_MAX_RESTART = 373,
+ VAR_CACHE_MIN_TTL = 374,
+ VAR_VAL_LOG_LEVEL = 375,
+ VAR_AUTO_TRUST_ANCHOR_FILE = 376,
+ VAR_KEEP_MISSING = 377,
+ VAR_ADD_HOLDDOWN = 378,
+ VAR_DEL_HOLDDOWN = 379,
+ VAR_SO_RCVBUF = 380,
+ VAR_EDNS_BUFFER_SIZE = 381,
+ VAR_PREFETCH = 382,
+ VAR_PREFETCH_KEY = 383,
+ VAR_SO_SNDBUF = 384,
+ VAR_SO_REUSEPORT = 385,
+ VAR_HARDEN_BELOW_NXDOMAIN = 386,
+ VAR_IGNORE_CD_FLAG = 387,
+ VAR_LOG_QUERIES = 388,
+ VAR_LOG_REPLIES = 389,
+ VAR_LOG_LOCAL_ACTIONS = 390,
+ VAR_TCP_UPSTREAM = 391,
+ VAR_SSL_UPSTREAM = 392,
+ VAR_TCP_AUTH_QUERY_TIMEOUT = 393,
+ VAR_SSL_SERVICE_KEY = 394,
+ VAR_SSL_SERVICE_PEM = 395,
+ VAR_SSL_PORT = 396,
+ VAR_FORWARD_FIRST = 397,
+ VAR_STUB_SSL_UPSTREAM = 398,
+ VAR_FORWARD_SSL_UPSTREAM = 399,
+ VAR_TLS_CERT_BUNDLE = 400,
+ VAR_STUB_TCP_UPSTREAM = 401,
+ VAR_FORWARD_TCP_UPSTREAM = 402,
+ VAR_HTTPS_PORT = 403,
+ VAR_HTTP_ENDPOINT = 404,
+ VAR_HTTP_MAX_STREAMS = 405,
+ VAR_HTTP_QUERY_BUFFER_SIZE = 406,
+ VAR_HTTP_RESPONSE_BUFFER_SIZE = 407,
+ VAR_HTTP_NODELAY = 408,
+ VAR_HTTP_NOTLS_DOWNSTREAM = 409,
+ VAR_STUB_FIRST = 410,
+ VAR_MINIMAL_RESPONSES = 411,
+ VAR_RRSET_ROUNDROBIN = 412,
+ VAR_MAX_UDP_SIZE = 413,
+ VAR_DELAY_CLOSE = 414,
+ VAR_UDP_CONNECT = 415,
+ VAR_UNBLOCK_LAN_ZONES = 416,
+ VAR_INSECURE_LAN_ZONES = 417,
+ VAR_INFRA_CACHE_MIN_RTT = 418,
+ VAR_INFRA_KEEP_PROBING = 419,
+ VAR_DNS64_PREFIX = 420,
+ VAR_DNS64_SYNTHALL = 421,
+ VAR_DNS64_IGNORE_AAAA = 422,
+ VAR_DNSTAP = 423,
+ VAR_DNSTAP_ENABLE = 424,
+ VAR_DNSTAP_SOCKET_PATH = 425,
+ VAR_DNSTAP_IP = 426,
+ VAR_DNSTAP_TLS = 427,
+ VAR_DNSTAP_TLS_SERVER_NAME = 428,
+ VAR_DNSTAP_TLS_CERT_BUNDLE = 429,
+ VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 430,
+ VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 431,
+ VAR_DNSTAP_SEND_IDENTITY = 432,
+ VAR_DNSTAP_SEND_VERSION = 433,
+ VAR_DNSTAP_BIDIRECTIONAL = 434,
+ VAR_DNSTAP_IDENTITY = 435,
+ VAR_DNSTAP_VERSION = 436,
+ VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 437,
+ VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 438,
+ VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 439,
+ VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 440,
+ VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 441,
+ VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 442,
+ VAR_RESPONSE_IP_TAG = 443,
+ VAR_RESPONSE_IP = 444,
+ VAR_RESPONSE_IP_DATA = 445,
+ VAR_HARDEN_ALGO_DOWNGRADE = 446,
+ VAR_IP_TRANSPARENT = 447,
+ VAR_IP_DSCP = 448,
+ VAR_DISABLE_DNSSEC_LAME_CHECK = 449,
+ VAR_IP_RATELIMIT = 450,
+ VAR_IP_RATELIMIT_SLABS = 451,
+ VAR_IP_RATELIMIT_SIZE = 452,
+ VAR_RATELIMIT = 453,
+ VAR_RATELIMIT_SLABS = 454,
+ VAR_RATELIMIT_SIZE = 455,
+ VAR_OUTBOUND_MSG_RETRY = 456,
+ VAR_RATELIMIT_FOR_DOMAIN = 457,
+ VAR_RATELIMIT_BELOW_DOMAIN = 458,
+ VAR_IP_RATELIMIT_FACTOR = 459,
+ VAR_RATELIMIT_FACTOR = 460,
+ VAR_IP_RATELIMIT_BACKOFF = 461,
+ VAR_RATELIMIT_BACKOFF = 462,
+ VAR_SEND_CLIENT_SUBNET = 463,
+ VAR_CLIENT_SUBNET_ZONE = 464,
+ VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 465,
+ VAR_CLIENT_SUBNET_OPCODE = 466,
+ VAR_MAX_CLIENT_SUBNET_IPV4 = 467,
+ VAR_MAX_CLIENT_SUBNET_IPV6 = 468,
+ VAR_MIN_CLIENT_SUBNET_IPV4 = 469,
+ VAR_MIN_CLIENT_SUBNET_IPV6 = 470,
+ VAR_MAX_ECS_TREE_SIZE_IPV4 = 471,
+ VAR_MAX_ECS_TREE_SIZE_IPV6 = 472,
+ VAR_CAPS_WHITELIST = 473,
+ VAR_CACHE_MAX_NEGATIVE_TTL = 474,
+ VAR_PERMIT_SMALL_HOLDDOWN = 475,
+ VAR_QNAME_MINIMISATION = 476,
+ VAR_QNAME_MINIMISATION_STRICT = 477,
+ VAR_IP_FREEBIND = 478,
+ VAR_DEFINE_TAG = 479,
+ VAR_LOCAL_ZONE_TAG = 480,
+ VAR_ACCESS_CONTROL_TAG = 481,
+ VAR_LOCAL_ZONE_OVERRIDE = 482,
+ VAR_ACCESS_CONTROL_TAG_ACTION = 483,
+ VAR_ACCESS_CONTROL_TAG_DATA = 484,
+ VAR_VIEW = 485,
+ VAR_ACCESS_CONTROL_VIEW = 486,
+ VAR_VIEW_FIRST = 487,
+ VAR_SERVE_EXPIRED = 488,
+ VAR_SERVE_EXPIRED_TTL = 489,
+ VAR_SERVE_EXPIRED_TTL_RESET = 490,
+ VAR_SERVE_EXPIRED_REPLY_TTL = 491,
+ VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 492,
+ VAR_EDE_SERVE_EXPIRED = 493,
+ VAR_SERVE_ORIGINAL_TTL = 494,
+ VAR_FAKE_DSA = 495,
+ VAR_FAKE_SHA1 = 496,
+ VAR_LOG_IDENTITY = 497,
+ VAR_HIDE_TRUSTANCHOR = 498,
+ VAR_HIDE_HTTP_USER_AGENT = 499,
+ VAR_HTTP_USER_AGENT = 500,
+ VAR_TRUST_ANCHOR_SIGNALING = 501,
+ VAR_AGGRESSIVE_NSEC = 502,
+ VAR_USE_SYSTEMD = 503,
+ VAR_SHM_ENABLE = 504,
+ VAR_SHM_KEY = 505,
+ VAR_ROOT_KEY_SENTINEL = 506,
+ VAR_DNSCRYPT = 507,
+ VAR_DNSCRYPT_ENABLE = 508,
+ VAR_DNSCRYPT_PORT = 509,
+ VAR_DNSCRYPT_PROVIDER = 510,
+ VAR_DNSCRYPT_SECRET_KEY = 511,
+ VAR_DNSCRYPT_PROVIDER_CERT = 512,
+ VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 513,
+ VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 514,
+ VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 515,
+ VAR_DNSCRYPT_NONCE_CACHE_SIZE = 516,
+ VAR_DNSCRYPT_NONCE_CACHE_SLABS = 517,
+ VAR_PAD_RESPONSES = 518,
+ VAR_PAD_RESPONSES_BLOCK_SIZE = 519,
+ VAR_PAD_QUERIES = 520,
+ VAR_PAD_QUERIES_BLOCK_SIZE = 521,
+ VAR_IPSECMOD_ENABLED = 522,
+ VAR_IPSECMOD_HOOK = 523,
+ VAR_IPSECMOD_IGNORE_BOGUS = 524,
+ VAR_IPSECMOD_MAX_TTL = 525,
+ VAR_IPSECMOD_WHITELIST = 526,
+ VAR_IPSECMOD_STRICT = 527,
+ VAR_CACHEDB = 528,
+ VAR_CACHEDB_BACKEND = 529,
+ VAR_CACHEDB_SECRETSEED = 530,
+ VAR_CACHEDB_REDISHOST = 531,
+ VAR_CACHEDB_REDISPORT = 532,
+ VAR_CACHEDB_REDISTIMEOUT = 533,
+ VAR_CACHEDB_REDISEXPIRERECORDS = 534,
+ VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 535,
+ VAR_FOR_UPSTREAM = 536,
+ VAR_AUTH_ZONE = 537,
+ VAR_ZONEFILE = 538,
+ VAR_MASTER = 539,
+ VAR_URL = 540,
+ VAR_FOR_DOWNSTREAM = 541,
+ VAR_FALLBACK_ENABLED = 542,
+ VAR_TLS_ADDITIONAL_PORT = 543,
+ VAR_LOW_RTT = 544,
+ VAR_LOW_RTT_PERMIL = 545,
+ VAR_FAST_SERVER_PERMIL = 546,
+ VAR_FAST_SERVER_NUM = 547,
+ VAR_ALLOW_NOTIFY = 548,
+ VAR_TLS_WIN_CERT = 549,
+ VAR_TCP_CONNECTION_LIMIT = 550,
+ VAR_FORWARD_NO_CACHE = 551,
+ VAR_STUB_NO_CACHE = 552,
+ VAR_LOG_SERVFAIL = 553,
+ VAR_DENY_ANY = 554,
+ VAR_UNKNOWN_SERVER_TIME_LIMIT = 555,
+ VAR_LOG_TAG_QUERYREPLY = 556,
+ VAR_STREAM_WAIT_SIZE = 557,
+ VAR_TLS_CIPHERS = 558,
+ VAR_TLS_CIPHERSUITES = 559,
+ VAR_TLS_USE_SNI = 560,
+ VAR_IPSET = 561,
+ VAR_IPSET_NAME_V4 = 562,
+ VAR_IPSET_NAME_V6 = 563,
+ VAR_TLS_SESSION_TICKET_KEYS = 564,
+ VAR_RPZ = 565,
+ VAR_TAGS = 566,
+ VAR_RPZ_ACTION_OVERRIDE = 567,
+ VAR_RPZ_CNAME_OVERRIDE = 568,
+ VAR_RPZ_LOG = 569,
+ VAR_RPZ_LOG_NAME = 570,
+ VAR_DYNLIB = 571,
+ VAR_DYNLIB_FILE = 572,
+ VAR_EDNS_CLIENT_STRING = 573,
+ VAR_EDNS_CLIENT_STRING_OPCODE = 574,
+ VAR_NSID = 575,
+ VAR_ZONEMD_PERMISSIVE_MODE = 576,
+ VAR_ZONEMD_CHECK = 577,
+ VAR_ZONEMD_REJECT_ABSENCE = 578,
+ VAR_RPZ_SIGNAL_NXDOMAIN_RA = 579,
+ VAR_INTERFACE_AUTOMATIC_PORTS = 580,
+ VAR_EDE = 581
+ };
#endif
-/* Token kinds. */
-#define YYEMPTY -2
-#define YYEOF 0
-#define YYerror 256
-#define YYUNDEF 257
+/* Tokens. */
#define SPACE 258
#define LETTER 259
#define NEWLINE 260
#define VAR_SERVE_EXPIRED_TTL_RESET 490
#define VAR_SERVE_EXPIRED_REPLY_TTL 491
#define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 492
-#define VAR_SERVE_ORIGINAL_TTL 493
-#define VAR_FAKE_DSA 494
-#define VAR_FAKE_SHA1 495
-#define VAR_LOG_IDENTITY 496
-#define VAR_HIDE_TRUSTANCHOR 497
-#define VAR_HIDE_HTTP_USER_AGENT 498
-#define VAR_HTTP_USER_AGENT 499
-#define VAR_TRUST_ANCHOR_SIGNALING 500
-#define VAR_AGGRESSIVE_NSEC 501
-#define VAR_USE_SYSTEMD 502
-#define VAR_SHM_ENABLE 503
-#define VAR_SHM_KEY 504
-#define VAR_ROOT_KEY_SENTINEL 505
-#define VAR_DNSCRYPT 506
-#define VAR_DNSCRYPT_ENABLE 507
-#define VAR_DNSCRYPT_PORT 508
-#define VAR_DNSCRYPT_PROVIDER 509
-#define VAR_DNSCRYPT_SECRET_KEY 510
-#define VAR_DNSCRYPT_PROVIDER_CERT 511
-#define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 512
-#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 513
-#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 514
-#define VAR_DNSCRYPT_NONCE_CACHE_SIZE 515
-#define VAR_DNSCRYPT_NONCE_CACHE_SLABS 516
-#define VAR_PAD_RESPONSES 517
-#define VAR_PAD_RESPONSES_BLOCK_SIZE 518
-#define VAR_PAD_QUERIES 519
-#define VAR_PAD_QUERIES_BLOCK_SIZE 520
-#define VAR_IPSECMOD_ENABLED 521
-#define VAR_IPSECMOD_HOOK 522
-#define VAR_IPSECMOD_IGNORE_BOGUS 523
-#define VAR_IPSECMOD_MAX_TTL 524
-#define VAR_IPSECMOD_WHITELIST 525
-#define VAR_IPSECMOD_STRICT 526
-#define VAR_CACHEDB 527
-#define VAR_CACHEDB_BACKEND 528
-#define VAR_CACHEDB_SECRETSEED 529
-#define VAR_CACHEDB_REDISHOST 530
-#define VAR_CACHEDB_REDISPORT 531
-#define VAR_CACHEDB_REDISTIMEOUT 532
-#define VAR_CACHEDB_REDISEXPIRERECORDS 533
-#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 534
-#define VAR_FOR_UPSTREAM 535
-#define VAR_AUTH_ZONE 536
-#define VAR_ZONEFILE 537
-#define VAR_MASTER 538
-#define VAR_URL 539
-#define VAR_FOR_DOWNSTREAM 540
-#define VAR_FALLBACK_ENABLED 541
-#define VAR_TLS_ADDITIONAL_PORT 542
-#define VAR_LOW_RTT 543
-#define VAR_LOW_RTT_PERMIL 544
-#define VAR_FAST_SERVER_PERMIL 545
-#define VAR_FAST_SERVER_NUM 546
-#define VAR_ALLOW_NOTIFY 547
-#define VAR_TLS_WIN_CERT 548
-#define VAR_TCP_CONNECTION_LIMIT 549
-#define VAR_FORWARD_NO_CACHE 550
-#define VAR_STUB_NO_CACHE 551
-#define VAR_LOG_SERVFAIL 552
-#define VAR_DENY_ANY 553
-#define VAR_UNKNOWN_SERVER_TIME_LIMIT 554
-#define VAR_LOG_TAG_QUERYREPLY 555
-#define VAR_STREAM_WAIT_SIZE 556
-#define VAR_TLS_CIPHERS 557
-#define VAR_TLS_CIPHERSUITES 558
-#define VAR_TLS_USE_SNI 559
-#define VAR_IPSET 560
-#define VAR_IPSET_NAME_V4 561
-#define VAR_IPSET_NAME_V6 562
-#define VAR_TLS_SESSION_TICKET_KEYS 563
-#define VAR_RPZ 564
-#define VAR_TAGS 565
-#define VAR_RPZ_ACTION_OVERRIDE 566
-#define VAR_RPZ_CNAME_OVERRIDE 567
-#define VAR_RPZ_LOG 568
-#define VAR_RPZ_LOG_NAME 569
-#define VAR_DYNLIB 570
-#define VAR_DYNLIB_FILE 571
-#define VAR_EDNS_CLIENT_STRING 572
-#define VAR_EDNS_CLIENT_STRING_OPCODE 573
-#define VAR_NSID 574
-#define VAR_ZONEMD_PERMISSIVE_MODE 575
-#define VAR_ZONEMD_CHECK 576
-#define VAR_ZONEMD_REJECT_ABSENCE 577
-#define VAR_RPZ_SIGNAL_NXDOMAIN_RA 578
-#define VAR_INTERFACE_AUTOMATIC_PORTS 579
+#define VAR_EDE_SERVE_EXPIRED 493
+#define VAR_SERVE_ORIGINAL_TTL 494
+#define VAR_FAKE_DSA 495
+#define VAR_FAKE_SHA1 496
+#define VAR_LOG_IDENTITY 497
+#define VAR_HIDE_TRUSTANCHOR 498
+#define VAR_HIDE_HTTP_USER_AGENT 499
+#define VAR_HTTP_USER_AGENT 500
+#define VAR_TRUST_ANCHOR_SIGNALING 501
+#define VAR_AGGRESSIVE_NSEC 502
+#define VAR_USE_SYSTEMD 503
+#define VAR_SHM_ENABLE 504
+#define VAR_SHM_KEY 505
+#define VAR_ROOT_KEY_SENTINEL 506
+#define VAR_DNSCRYPT 507
+#define VAR_DNSCRYPT_ENABLE 508
+#define VAR_DNSCRYPT_PORT 509
+#define VAR_DNSCRYPT_PROVIDER 510
+#define VAR_DNSCRYPT_SECRET_KEY 511
+#define VAR_DNSCRYPT_PROVIDER_CERT 512
+#define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 513
+#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 514
+#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 515
+#define VAR_DNSCRYPT_NONCE_CACHE_SIZE 516
+#define VAR_DNSCRYPT_NONCE_CACHE_SLABS 517
+#define VAR_PAD_RESPONSES 518
+#define VAR_PAD_RESPONSES_BLOCK_SIZE 519
+#define VAR_PAD_QUERIES 520
+#define VAR_PAD_QUERIES_BLOCK_SIZE 521
+#define VAR_IPSECMOD_ENABLED 522
+#define VAR_IPSECMOD_HOOK 523
+#define VAR_IPSECMOD_IGNORE_BOGUS 524
+#define VAR_IPSECMOD_MAX_TTL 525
+#define VAR_IPSECMOD_WHITELIST 526
+#define VAR_IPSECMOD_STRICT 527
+#define VAR_CACHEDB 528
+#define VAR_CACHEDB_BACKEND 529
+#define VAR_CACHEDB_SECRETSEED 530
+#define VAR_CACHEDB_REDISHOST 531
+#define VAR_CACHEDB_REDISPORT 532
+#define VAR_CACHEDB_REDISTIMEOUT 533
+#define VAR_CACHEDB_REDISEXPIRERECORDS 534
+#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 535
+#define VAR_FOR_UPSTREAM 536
+#define VAR_AUTH_ZONE 537
+#define VAR_ZONEFILE 538
+#define VAR_MASTER 539
+#define VAR_URL 540
+#define VAR_FOR_DOWNSTREAM 541
+#define VAR_FALLBACK_ENABLED 542
+#define VAR_TLS_ADDITIONAL_PORT 543
+#define VAR_LOW_RTT 544
+#define VAR_LOW_RTT_PERMIL 545
+#define VAR_FAST_SERVER_PERMIL 546
+#define VAR_FAST_SERVER_NUM 547
+#define VAR_ALLOW_NOTIFY 548
+#define VAR_TLS_WIN_CERT 549
+#define VAR_TCP_CONNECTION_LIMIT 550
+#define VAR_FORWARD_NO_CACHE 551
+#define VAR_STUB_NO_CACHE 552
+#define VAR_LOG_SERVFAIL 553
+#define VAR_DENY_ANY 554
+#define VAR_UNKNOWN_SERVER_TIME_LIMIT 555
+#define VAR_LOG_TAG_QUERYREPLY 556
+#define VAR_STREAM_WAIT_SIZE 557
+#define VAR_TLS_CIPHERS 558
+#define VAR_TLS_CIPHERSUITES 559
+#define VAR_TLS_USE_SNI 560
+#define VAR_IPSET 561
+#define VAR_IPSET_NAME_V4 562
+#define VAR_IPSET_NAME_V6 563
+#define VAR_TLS_SESSION_TICKET_KEYS 564
+#define VAR_RPZ 565
+#define VAR_TAGS 566
+#define VAR_RPZ_ACTION_OVERRIDE 567
+#define VAR_RPZ_CNAME_OVERRIDE 568
+#define VAR_RPZ_LOG 569
+#define VAR_RPZ_LOG_NAME 570
+#define VAR_DYNLIB 571
+#define VAR_DYNLIB_FILE 572
+#define VAR_EDNS_CLIENT_STRING 573
+#define VAR_EDNS_CLIENT_STRING_OPCODE 574
+#define VAR_NSID 575
+#define VAR_ZONEMD_PERMISSIVE_MODE 576
+#define VAR_ZONEMD_CHECK 577
+#define VAR_ZONEMD_REJECT_ABSENCE 578
+#define VAR_RPZ_SIGNAL_NXDOMAIN_RA 579
+#define VAR_INTERFACE_AUTOMATIC_PORTS 580
+#define VAR_EDE 581
-/* Value type. */
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-union YYSTYPE
-{
-#line 66 "./util/configparser.y"
- char* str;
-#line 719 "util/configparser.h"
-};
-typedef union YYSTYPE YYSTYPE;
-# define YYSTYPE_IS_TRIVIAL 1
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+#line 66 "./util/configparser.y"
+{
+ char* str;
+}
+/* Line 1529 of yacc.c. */
+#line 705 "util/configparser.h"
+ YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
#endif
-
extern YYSTYPE yylval;
-int yyparse (void);
-
-#endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED */
%token VAR_ACCESS_CONTROL_TAG_DATA VAR_VIEW VAR_ACCESS_CONTROL_VIEW
%token VAR_VIEW_FIRST VAR_SERVE_EXPIRED VAR_SERVE_EXPIRED_TTL
%token VAR_SERVE_EXPIRED_TTL_RESET VAR_SERVE_EXPIRED_REPLY_TTL
-%token VAR_SERVE_EXPIRED_CLIENT_TIMEOUT VAR_SERVE_ORIGINAL_TTL VAR_FAKE_DSA
+%token VAR_SERVE_EXPIRED_CLIENT_TIMEOUT VAR_EDE_SERVE_EXPIRED
+%token VAR_SERVE_ORIGINAL_TTL VAR_FAKE_DSA
%token VAR_FAKE_SHA1 VAR_LOG_IDENTITY VAR_HIDE_TRUSTANCHOR
%token VAR_HIDE_HTTP_USER_AGENT VAR_HTTP_USER_AGENT
%token VAR_TRUST_ANCHOR_SIGNALING VAR_AGGRESSIVE_NSEC VAR_USE_SYSTEMD
%token VAR_DYNLIB VAR_DYNLIB_FILE VAR_EDNS_CLIENT_STRING
%token VAR_EDNS_CLIENT_STRING_OPCODE VAR_NSID
%token VAR_ZONEMD_PERMISSIVE_MODE VAR_ZONEMD_CHECK VAR_ZONEMD_REJECT_ABSENCE
-%token VAR_RPZ_SIGNAL_NXDOMAIN_RA VAR_INTERFACE_AUTOMATIC_PORTS
+%token VAR_RPZ_SIGNAL_NXDOMAIN_RA VAR_INTERFACE_AUTOMATIC_PORTS VAR_EDE
%%
toplevelvars: /* empty */ | toplevelvars toplevelvar ;
server_serve_expired |
server_serve_expired_ttl | server_serve_expired_ttl_reset |
server_serve_expired_reply_ttl | server_serve_expired_client_timeout |
- server_serve_original_ttl | server_fake_dsa |
+ server_ede_serve_expired | server_serve_original_ttl | server_fake_dsa |
server_log_identity | server_use_systemd |
server_response_ip_tag | server_response_ip | server_response_ip_data |
server_shm_enable | server_shm_key | server_fake_sha1 |
server_edns_client_string_opcode | server_nsid |
server_zonemd_permissive_mode | server_max_reuse_tcp_queries |
server_tcp_reuse_timeout | server_tcp_auth_query_timeout |
- server_interface_automatic_ports
+ server_interface_automatic_ports | server_ede
;
stubstart: VAR_STUB_ZONE
free($2);
}
;
+server_ede_serve_expired: VAR_EDE_SERVE_EXPIRED STRING_ARG
+ {
+ OUTYY(("P(server_ede_serve_expired:%s)\n", $2));
+ if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->ede_serve_expired = (strcmp($2, "yes")==0);
+ free($2);
+ }
+ ;
server_serve_original_ttl: VAR_SERVE_ORIGINAL_TTL STRING_ARG
{
OUTYY(("P(server_serve_original_ttl:%s)\n", $2));
yyerror("option code must be in interval [0, 65535]");
else cfg_parser->cfg->edns_client_string_opcode = atoi($2);
free($2);
-
+ }
+ ;
+server_ede: VAR_EDE STRING_ARG
+ {
+ OUTYY(("P(server_ede:%s)\n", $2));
+ if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->ede = (strcmp($2, "yes")==0);
+ free($2);
}
;
stub_name: VAR_NAME STRING_ARG
}
/** skip RRs from packet */
-static int
+int
skip_pkt_rrs(sldns_buffer* pkt, int num)
{
int i;
}
}
}
+
int parse_extract_edns_from_response_msg(struct msg_parse* msg,
struct edns_data* edns, struct regional* region);
+/**
+ * Skip RRs from packet
+ * @param pkt: the packet. position at start must be right after the query
+ * section. At end, right after EDNS data or no movement if failed.
+ * @param num: Limit of the number of records we want to parse.
+ * @return: 0 on success, 1 on failure.
+ */
+int skip_pkt_rrs(struct sldns_buffer* pkt, int num);
+
/**
* If EDNS data follows a query section, extract it and initialize edns struct.
* @param pkt: the packet. position at start must be right after the query
rep->ar_numrrsets = ar;
rep->rrset_count = total;
rep->security = sec;
+ rep->reason_bogus = LDNS_EDE_NONE;
rep->authoritative = 0;
/* array starts after the refs */
if(region)
return rep;
}
+int edns_opt_list_append_ede(struct edns_option** list, struct regional* region,
+ sldns_ede_code code, const char *txt)
+{
+ struct edns_option** prevp;
+ struct edns_option* opt;
+ size_t txt_len = txt ? strlen(txt) : 0;
+
+ /* allocate new element */
+ opt = (struct edns_option*)regional_alloc(region, sizeof(*opt));
+ if(!opt)
+ return 0;
+ opt->next = NULL;
+ opt->opt_code = LDNS_EDNS_EDE;
+ opt->opt_len = txt_len + sizeof(uint16_t);
+ opt->opt_data = regional_alloc(region, txt_len + sizeof(uint16_t));
+ if(!opt->opt_data)
+ return 0;
+ sldns_write_uint16(opt->opt_data, (uint16_t)code);
+ if (txt_len)
+ memmove(opt->opt_data + 2, txt, txt_len);
+
+ /* append at end of list */
+ prevp = list;
+ while(*prevp != NULL)
+ prevp = &((*prevp)->next);
+ verbose(VERB_ALGO, "attached EDE code: %d with message: %s", code, txt);
+ *prevp = opt;
+ return 1;
+}
+
int edns_opt_list_append(struct edns_option** list, uint16_t code, size_t len,
uint8_t* data, struct regional* region)
{
#define UTIL_DATA_MSGREPLY_H
#include "util/storage/lruhash.h"
#include "util/data/packed_rrset.h"
+#include "sldns/rrdef.h"
struct sldns_buffer;
struct comm_reply;
struct alloc_cache;
*/
enum sec_status security;
+ /**
+ * EDE (rfc8914) code with reason for DNSSEC bogus status.
+ */
+ sldns_ede_code reason_bogus;
+
/**
* Number of RRsets in each section.
* The answer section. Add up the RRs in every RRset to calculate
* @return false on failure.
*/
int edns_opt_list_append(struct edns_option** list, uint16_t code, size_t len,
- uint8_t* data, struct regional* region);
+ uint8_t* data, struct regional* region);
+
+/**
+ * Append edns EDE option to edns options list
+ * @param LIST: the edns option list to append the edns option to.
+ * @param REGION: region to allocate the new edns option.
+ * @param CODE: the EDE code.
+ * @param TXT: Additional text for the option
+ */
+#define EDNS_OPT_LIST_APPEND_EDE(LIST, REGION, CODE, TXT) \
+ do { \
+ struct { \
+ uint16_t code; \
+ char text[sizeof(TXT) - 1]; \
+ } ede = { htons(CODE), TXT }; \
+ verbose(VERB_ALGO, "attached EDE code: %d with" \
+ " message: %s", CODE, TXT); \
+ edns_opt_list_append((LIST), LDNS_EDNS_EDE, \
+ sizeof(uint16_t) + sizeof(TXT) - 1, \
+ (void *)&ede, (REGION)); \
+ } while(0)
+
+/**
+ * Append edns EDE option to edns options list
+ * @param list: the edns option list to append the edns option to.
+ * @param region: region to allocate the new edns option.
+ * @param code: the EDE code.
+ * @param txt: Additional text for the option
+ * @return false on failure.
+ */
+int edns_opt_list_append_ede(struct edns_option** list, struct regional* region,
+ sldns_ede_code code, const char *txt);
/**
* Remove any option found on the edns option list that matches the code.
#include "config.h"
#include "util/module.h"
#include "sldns/wire2str.h"
+#include "util/config_file.h"
+#include "util/regional.h"
+#include "util/data/dname.h"
+#include "util/net_help.h"
const char*
strextstate(enum module_ext_state s)
return "bad_event_value";
}
+void errinf(struct module_qstate* qstate, const char* str)
+{
+ errinf_ede(qstate, str, LDNS_EDE_NONE);
+}
+
+void errinf_ede(struct module_qstate* qstate,
+ const char* str, sldns_ede_code reason_bogus)
+{
+ struct errinf_strlist* p;
+ if((qstate->env->cfg->val_log_level < 2 && !qstate->env->cfg->log_servfail) || !str)
+ return;
+ p = (struct errinf_strlist*)regional_alloc(qstate->region, sizeof(*p));
+ if(!p) {
+ log_err("malloc failure in validator-error-info string");
+ return;
+ }
+ p->next = NULL;
+ p->str = regional_strdup(qstate->region, str);
+ p->reason_bogus = reason_bogus;
+ if(!p->str) {
+ log_err("malloc failure in validator-error-info string");
+ return;
+ }
+ /* add at end */
+ if(qstate->errinf) {
+ struct errinf_strlist* q = qstate->errinf;
+ while(q->next)
+ q = q->next;
+ q->next = p;
+ } else qstate->errinf = p;
+}
+
+void errinf_origin(struct module_qstate* qstate, struct sock_list *origin)
+{
+ struct sock_list* p;
+ if(qstate->env->cfg->val_log_level < 2 && !qstate->env->cfg->log_servfail)
+ return;
+ for(p=origin; p; p=p->next) {
+ char buf[256];
+ if(p == origin)
+ snprintf(buf, sizeof(buf), "from ");
+ else snprintf(buf, sizeof(buf), "and ");
+ if(p->len == 0)
+ snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf),
+ "cache");
+ else
+ addr_to_str(&p->addr, p->len, buf+strlen(buf),
+ sizeof(buf)-strlen(buf));
+ errinf(qstate, buf);
+ }
+}
+
+char* errinf_to_str_bogus(struct module_qstate* qstate)
+{
+ char buf[20480];
+ char* p = buf;
+ size_t left = sizeof(buf);
+ struct errinf_strlist* s;
+ char dname[LDNS_MAX_DOMAINLEN+1];
+ char t[16], c[16];
+ sldns_wire2str_type_buf(qstate->qinfo.qtype, t, sizeof(t));
+ sldns_wire2str_class_buf(qstate->qinfo.qclass, c, sizeof(c));
+ dname_str(qstate->qinfo.qname, dname);
+ snprintf(p, left, "validation failure <%s %s %s>:", dname, t, c);
+ left -= strlen(p); p += strlen(p);
+ if(!qstate->errinf)
+ snprintf(p, left, " misc failure");
+ else for(s=qstate->errinf; s; s=s->next) {
+ snprintf(p, left, " %s", s->str);
+ left -= strlen(p); p += strlen(p);
+ }
+ p = strdup(buf);
+ if(!p)
+ log_err("malloc failure in errinf_to_str");
+ return p;
+}
+
+sldns_ede_code errinf_to_reason_bogus(struct module_qstate* qstate)
+{
+ struct errinf_strlist* s;
+ for(s=qstate->errinf; s; s=s->next) {
+ if (s->reason_bogus != LDNS_EDE_NONE) {
+ return s->reason_bogus;
+ }
+ }
+ return LDNS_EDE_NONE;
+}
+
+char* errinf_to_str_servfail(struct module_qstate* qstate)
+{
+ char buf[20480];
+ char* p = buf;
+ size_t left = sizeof(buf);
+ struct errinf_strlist* s;
+ char dname[LDNS_MAX_DOMAINLEN+1];
+ char t[16], c[16];
+ sldns_wire2str_type_buf(qstate->qinfo.qtype, t, sizeof(t));
+ sldns_wire2str_class_buf(qstate->qinfo.qclass, c, sizeof(c));
+ dname_str(qstate->qinfo.qname, dname);
+ snprintf(p, left, "SERVFAIL <%s %s %s>:", dname, t, c);
+ left -= strlen(p); p += strlen(p);
+ if(!qstate->errinf)
+ snprintf(p, left, " misc failure");
+ else for(s=qstate->errinf; s; s=s->next) {
+ snprintf(p, left, " %s", s->str);
+ left -= strlen(p); p += strlen(p);
+ }
+ p = strdup(buf);
+ if(!p)
+ log_err("malloc failure in errinf_to_str");
+ return p;
+}
+
+void errinf_rrset(struct module_qstate* qstate, struct ub_packed_rrset_key *rr)
+{
+ char buf[1024];
+ char dname[LDNS_MAX_DOMAINLEN+1];
+ char t[16], c[16];
+ if((qstate->env->cfg->val_log_level < 2 && !qstate->env->cfg->log_servfail) || !rr)
+ return;
+ sldns_wire2str_type_buf(ntohs(rr->rk.type), t, sizeof(t));
+ sldns_wire2str_class_buf(ntohs(rr->rk.rrset_class), c, sizeof(c));
+ dname_str(rr->rk.dname, dname);
+ snprintf(buf, sizeof(buf), "for <%s %s %s>", dname, t, c);
+ errinf(qstate, buf);
+}
+
+void errinf_dname(struct module_qstate* qstate, const char* str, uint8_t* dname)
+{
+ char b[1024];
+ char buf[LDNS_MAX_DOMAINLEN+1];
+ if((qstate->env->cfg->val_log_level < 2 && !qstate->env->cfg->log_servfail) || !str || !dname)
+ return;
+ dname_str(dname, buf);
+ snprintf(b, sizeof(b), "%s %s", str, buf);
+ errinf(qstate, b);
+}
+
int
edns_known_options_init(struct module_env* env)
{
/** Maximum number of known edns options */
#define MAX_KNOWN_EDNS_OPTS 256
+struct errinf_strlist {
+ /** next item in list */
+ struct errinf_strlist* next;
+ /** config option string */
+ char* str;
+ /** EDE code companion to the error str */
+ int reason_bogus;
+};
+
enum inplace_cb_list_type {
/* Inplace callbacks for when a resolved reply is ready to be sent to the
* front.*/
/** region for this query. Cleared when query process finishes. */
struct regional* region;
/** failure reason information if val-log-level is high */
- struct config_strlist* errinf;
-
+ struct errinf_strlist* errinf;
/** which module is executing */
int curmod;
/** module states */
*/
const char* strmodulevent(enum module_ev e);
+/**
+ * Append text to the error info for validation.
+ * @param qstate: query state.
+ * @param str: copied into query region and appended.
+ * Failures to allocate are logged.
+ */
+void errinf(struct module_qstate* qstate, const char* str);
+void errinf_ede(struct module_qstate* qstate, const char* str,
+ sldns_ede_code reason_bogus);
+
+/**
+ * Append text to error info: from 1.2.3.4
+ * @param qstate: query state.
+ * @param origin: sock list with origin of trouble.
+ * Every element added.
+ * If NULL: nothing is added.
+ * if 0len element: 'from cache' is added.
+ */
+void errinf_origin(struct module_qstate* qstate, struct sock_list *origin);
+
+/**
+ * Append text to error info: for RRset name type class
+ * @param qstate: query state.
+ * @param rr: rrset_key.
+ */
+void errinf_rrset(struct module_qstate* qstate, struct ub_packed_rrset_key *rr);
+
+/**
+ * Append text to error info: str dname
+ * @param qstate: query state.
+ * @param str: explanation string
+ * @param dname: the dname.
+ */
+void errinf_dname(struct module_qstate* qstate, const char* str,
+ uint8_t* dname);
+
+/**
+ * Create error info in string. For validation failures.
+ * @param qstate: query state.
+ * @return string or NULL on malloc failure (already logged).
+ * This string is malloced and has to be freed by caller.
+ */
+char* errinf_to_str_bogus(struct module_qstate* qstate);
+/**
+ * Check the sldns_ede_code of the qstate.
+ * @param qstate: query state.
+ * @return LDNS_EDE_DNSSEC_BOGUS by default, or the first explicitly set
+ * sldns_ede_code.
+ */
+sldns_ede_code errinf_to_reason_bogus(struct module_qstate* qstate);
+
+/**
+ * Create error info in string. For other servfails.
+ * @param qstate: query state.
+ * @return string or NULL on malloc failure (already logged).
+ * This string is malloced and has to be freed by caller.
+ */
+char* errinf_to_str_servfail(struct module_qstate* qstate);
+
/**
* Initialize the edns known options by allocating the required space.
* @param env: the module environment.
int downprot = env->cfg->harden_algo_downgrade;
enum sec_status sec = val_verify_DNSKEY_with_TA(env, ve, rrset,
tp->ds_rrset, tp->dnskey_rrset, downprot?sigalg:NULL, &reason,
- qstate);
+ NULL, qstate);
/* sigalg is ignored, it returns algorithms signalled to exist, but
* in 5011 there are no other rrsets to check. if downprot is
* enabled, then it checks that the DNSKEY is signed with all
/* no algorithm downgrade protection necessary, if it is selfsigned
* revoked it can be removed. */
sec = dnskey_verify_rrset(env, ve, dnskey_rrset, dnskey_rrset, i,
- &reason, LDNS_SECTION_ANSWER, qstate);
+ &reason, NULL, LDNS_SECTION_ANSWER, qstate);
return (sec == sec_status_secure);
}
qstate->env->cfg->val_log_level >= 2) {
/* on malloc failure there is simply no reason string */
key_entry_set_reason(k, errinf_to_str_bogus(qstate));
+ key_entry_set_reason_bogus(k, errinf_to_reason_bogus(qstate));
}
key_entry_hash(k);
slabhash_insert(kcache->slab, k->entry.hash, &k->entry,
d->reason = reason;
}
+void
+key_entry_set_reason_bogus(struct key_entry_key* kkey, sldns_ede_code ede)
+{
+ struct key_entry_data* d = (struct key_entry_data*)kkey->entry.data;
+ if (ede != LDNS_EDE_NONE) { /* reason_bogus init is LDNS_EDE_NONE already */
+ d->reason_bogus = ede;
+ }
+}
+
char*
key_entry_get_reason(struct key_entry_key* kkey)
{
return d->reason;
}
+sldns_ede_code
+key_entry_get_reason_bogus(struct key_entry_key* kkey)
+{
+ struct key_entry_data* d = (struct key_entry_data*)kkey->entry.data;
+ return d->reason_bogus;
+
+}
+
/** setup key entry in region */
static int
key_entry_setup(struct regional* region,
d->ttl = now + ttl;
d->isbad = 0;
d->reason = NULL;
+ d->reason_bogus = LDNS_EDE_NONE;
d->rrset_type = LDNS_RR_TYPE_DNSKEY;
d->rrset_data = NULL;
d->algo = NULL;
d->ttl = rd->ttl + now;
d->isbad = 0;
d->reason = NULL;
+ d->reason_bogus = LDNS_EDE_NONE;
d->rrset_type = ntohs(rrset->rk.type);
d->rrset_data = (struct packed_rrset_data*)regional_alloc_init(region,
rd, packed_rrset_sizeof(rd));
d->ttl = now + ttl;
d->isbad = 1;
d->reason = NULL;
+ d->reason_bogus = LDNS_EDE_NONE;
d->rrset_type = LDNS_RR_TYPE_DNSKEY;
d->rrset_data = NULL;
d->algo = NULL;
struct regional;
struct ub_packed_rrset_key;
#include "util/storage/lruhash.h"
+#include "sldns/rrdef.h"
/**
* A key entry for the validator.
struct packed_rrset_data* rrset_data;
/** not NULL sometimes to give reason why bogus */
char* reason;
+ /** not NULL to give reason why bogus */
+ sldns_ede_code reason_bogus;
/** list of algorithms signalled, ends with 0, or NULL */
uint8_t* algo;
/** DNS RR type of the rrset data (host order) */
*/
void key_entry_set_reason(struct key_entry_key* kkey, char* reason);
+/**
+ * Set the EDE (RFC8914) code why the key is bad, if it
+ * exists (so not LDNS_EDE_NONE).
+ * @param kkey: bad key.
+ * @param ede: EDE code to attach to this key.
+ */
+void key_entry_set_reason_bogus(struct key_entry_key* kkey, sldns_ede_code ede);
+
+
/**
* Get reason why a key is bad.
* @param kkey: bad key
*/
char* key_entry_get_reason(struct key_entry_key* kkey);
+/**
+ * Get the EDE (RFC8914) code why a key is bad. Can return LDNS_EDE_NONE.
+ * @param kkey: bad key
+ * @return the ede code.
+ */
+sldns_ede_code key_entry_get_reason_bogus(struct key_entry_key* kkey);
+
/**
* Create a null entry, in the given region.
* @param region: where to allocate
if(d->security == sec_status_secure)
return 1;
d->security = val_verify_rrset_entry(env, ve, nsec, kkey, reason,
- LDNS_SECTION_AUTHORITY, qstate);
+ NULL, LDNS_SECTION_AUTHORITY, qstate);
if(d->security == sec_status_secure) {
rrset_update_sec_status(env->rrset_cache, nsec, *env->now);
return 1;
static int
list_is_secure(struct module_env* env, struct val_env* ve,
struct ub_packed_rrset_key** list, size_t num,
- struct key_entry_key* kkey, char** reason, struct module_qstate* qstate)
+ struct key_entry_key* kkey, char** reason, sldns_ede_code *reason_bogus,
+ struct module_qstate* qstate)
{
struct packed_rrset_data* d;
size_t i;
if(d->security == sec_status_secure)
continue;
d->security = val_verify_rrset_entry(env, ve, list[i], kkey,
- reason, LDNS_SECTION_AUTHORITY, qstate);
+ reason, reason_bogus, LDNS_SECTION_AUTHORITY, qstate);
if(d->security != sec_status_secure) {
verbose(VERB_ALGO, "NSEC3 did not verify");
return 0;
nsec3_prove_nods(struct module_env* env, struct val_env* ve,
struct ub_packed_rrset_key** list, size_t num,
struct query_info* qinfo, struct key_entry_key* kkey, char** reason,
- struct module_qstate* qstate)
+ sldns_ede_code* reason_bogus, struct module_qstate* qstate)
{
rbtree_type ct;
struct nsec3_filter flt;
*reason = "no valid NSEC3s";
return sec_status_bogus; /* no valid NSEC3s, bogus */
}
- if(!list_is_secure(env, ve, list, num, kkey, reason, qstate))
+ if(!list_is_secure(env, ve, list, num, kkey, reason, reason_bogus, qstate)) {
+ *reason = "not all NSEC3 records secure";
return sec_status_bogus; /* not all NSEC3 records secure */
+ }
rbtree_init(&ct, &nsec3_hash_cmp); /* init names-to-hash cache */
filter_init(&flt, list, num, qinfo); /* init RR iterator */
if(!flt.zone) {
#define VALIDATOR_VAL_NSEC3_H
#include "util/rbtree.h"
#include "util/data/packed_rrset.h"
+#include "sldns/rrdef.h"
struct val_env;
struct regional;
struct module_env;
* @param qinfo: query that is verified for.
* @param kkey: key entry that signed the NSEC3s.
* @param reason: string for bogus result.
+ * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure.
* @param qstate: qstate with region.
* @return:
* sec_status SECURE of the proposition is proven by the NSEC3 RRs,
nsec3_prove_nods(struct module_env* env, struct val_env* ve,
struct ub_packed_rrset_key** list, size_t num,
struct query_info* qinfo, struct key_entry_key* kkey, char** reason,
- struct module_qstate* qstate);
+ sldns_ede_code* reason_bogus, struct module_qstate* qstate);
/**
* Prove NXDOMAIN or NODATA.
return 0;
}
+static enum sec_status
+dnskeyset_verify_rrset_sig(struct module_env* env, struct val_env* ve,
+ time_t now, struct ub_packed_rrset_key* rrset,
+ struct ub_packed_rrset_key* dnskey, size_t sig_idx,
+ struct rbtree_type** sortree,
+ char** reason, sldns_ede_code *reason_bogus,
+ sldns_pkt_section section, struct module_qstate* qstate);
+
enum sec_status
dnskeyset_verify_rrset(struct module_env* env, struct val_env* ve,
struct ub_packed_rrset_key* rrset, struct ub_packed_rrset_key* dnskey,
- uint8_t* sigalg, char** reason, sldns_pkt_section section,
- struct module_qstate* qstate)
+ uint8_t* sigalg, char** reason, sldns_ede_code *reason_bogus,
+ sldns_pkt_section section, struct module_qstate* qstate)
{
enum sec_status sec;
size_t i, num;
verbose(VERB_QUERY, "rrset failed to verify due to a lack of "
"signatures");
*reason = "no signatures";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_RRSIGS_MISSING;
return sec_status_bogus;
}
if(algo_needs_num_missing(&needs) == 0) {
verbose(VERB_QUERY, "zone has no known algorithms");
*reason = "zone has no known algorithms";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_UNSUPPORTED_DNSKEY_ALG;
return sec_status_insecure;
}
}
for(i=0; i<num; i++) {
sec = dnskeyset_verify_rrset_sig(env, ve, *env->now, rrset,
- dnskey, i, &sortree, reason, section, qstate);
+ dnskey, i, &sortree, reason, reason_bogus,
+ section, qstate);
/* see which algorithm has been fixed up */
if(sec == sec_status_secure) {
if(!sigalg)
enum sec_status
dnskey_verify_rrset(struct module_env* env, struct val_env* ve,
struct ub_packed_rrset_key* rrset, struct ub_packed_rrset_key* dnskey,
- size_t dnskey_idx, char** reason, sldns_pkt_section section,
- struct module_qstate* qstate)
+ size_t dnskey_idx, char** reason, sldns_ede_code *reason_bogus,
+ sldns_pkt_section section, struct module_qstate* qstate)
{
enum sec_status sec;
size_t i, num, numchecked = 0;
verbose(VERB_QUERY, "rrset failed to verify due to a lack of "
"signatures");
*reason = "no signatures";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_RRSIGS_MISSING;
return sec_status_bogus;
}
for(i=0; i<num; i++) {
tag != rrset_get_sig_keytag(rrset, i))
continue;
buf_canon = 0;
- sec = dnskey_verify_rrset_sig(env->scratch,
+ sec = dnskey_verify_rrset_sig(env->scratch,
env->scratch_buffer, ve, *env->now, rrset,
dnskey, dnskey_idx, i, &sortree, &buf_canon, reason,
- section, qstate);
+ reason_bogus, section, qstate);
if(sec == sec_status_secure)
return sec;
numchecked ++;
return sec_status_bogus;
}
-enum sec_status
-dnskeyset_verify_rrset_sig(struct module_env* env, struct val_env* ve,
- time_t now, struct ub_packed_rrset_key* rrset,
- struct ub_packed_rrset_key* dnskey, size_t sig_idx,
- struct rbtree_type** sortree, char** reason, sldns_pkt_section section,
- struct module_qstate* qstate)
+static enum sec_status
+dnskeyset_verify_rrset_sig(struct module_env* env, struct val_env* ve,
+ time_t now, struct ub_packed_rrset_key* rrset,
+ struct ub_packed_rrset_key* dnskey, size_t sig_idx,
+ struct rbtree_type** sortree,
+ char** reason, sldns_ede_code *reason_bogus,
+ sldns_pkt_section section, struct module_qstate* qstate)
{
/* find matching keys and check them */
enum sec_status sec = sec_status_bogus;
int buf_canon = 0;
verbose(VERB_ALGO, "verify sig %d %d", (int)tag, algo);
if(!dnskey_algo_id_is_supported(algo)) {
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_UNSUPPORTED_DNSKEY_ALG;
verbose(VERB_QUERY, "verify sig: unknown algorithm");
return sec_status_insecure;
}
-
+
for(i=0; i<num; i++) {
/* see if key matches keytag and algo */
if(algo != dnskey_get_algo(dnskey, i) ||
numchecked ++;
/* see if key verifies */
- sec = dnskey_verify_rrset_sig(env->scratch,
- env->scratch_buffer, ve, now, rrset, dnskey, i,
- sig_idx, sortree, &buf_canon, reason, section, qstate);
+ sec = dnskey_verify_rrset_sig(env->scratch,
+ env->scratch_buffer, ve, now, rrset, dnskey, i,
+ sig_idx, sortree, &buf_canon, reason, reason_bogus,
+ section, qstate);
if(sec == sec_status_secure)
return sec;
}
if(numchecked == 0) {
*reason = "signatures from unknown keys";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_DNSKEY_MISSING;
verbose(VERB_QUERY, "verify: could not find appropriate key");
return sec_status_bogus;
}
/** check rrsig dates */
static int
-check_dates(struct val_env* ve, uint32_t unow,
- uint8_t* expi_p, uint8_t* incep_p, char** reason)
+check_dates(struct val_env* ve, uint32_t unow, uint8_t* expi_p,
+ uint8_t* incep_p, char** reason, sldns_ede_code *reason_bogus)
{
/* read out the dates */
uint32_t expi, incep, now;
sigdate_error("verify: inception after expiration, "
"signature bad", expi, incep, now);
*reason = "signature inception after expiration";
+ if(reason_bogus){
+ /* from RFC8914 on Signature Not Yet Valid: The resolver
+ * attempted to perform DNSSEC validation, but no
+ * signatures are presently valid and at least some are
+ * not yet valid. */
+ *reason_bogus = LDNS_EDE_SIGNATURE_NOT_YET_VALID;
+ }
+
return 0;
}
if(compare_1982(incep, now) > 0) {
sigdate_error("verify: signature bad, current time is"
" before inception date", expi, incep, now);
*reason = "signature before inception date";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_SIGNATURE_NOT_YET_VALID;
return 0;
}
sigdate_error("verify warning suspicious signature inception "
sigdate_error("verify: signature expired", expi,
incep, now);
*reason = "signature expired";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_SIGNATURE_EXPIRED;
return 0;
}
sigdate_error("verify warning suspicious signature expiration "
struct val_env* ve, time_t now,
struct ub_packed_rrset_key* rrset, struct ub_packed_rrset_key* dnskey,
size_t dnskey_idx, size_t sig_idx,
- struct rbtree_type** sortree, int* buf_canon, char** reason,
+ struct rbtree_type** sortree, int* buf_canon,
+ char** reason, sldns_ede_code *reason_bogus,
sldns_pkt_section section, struct module_qstate* qstate)
{
enum sec_status sec;
if(siglen < 2+20) {
verbose(VERB_QUERY, "verify: signature too short");
*reason = "signature too short";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_DNSSEC_BOGUS;
return sec_status_bogus;
}
if(!(dnskey_get_flags(dnskey, dnskey_idx) & DNSKEY_BIT_ZSK)) {
verbose(VERB_QUERY, "verify: dnskey without ZSK flag");
*reason = "dnskey without ZSK flag";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_NO_ZONE_KEY_BIT_SET;
return sec_status_bogus;
}
/* RFC 4034 says DNSKEY PROTOCOL MUST be 3 */
verbose(VERB_QUERY, "verify: dnskey has wrong key protocol");
*reason = "dnskey has wrong protocolnumber";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_DNSSEC_BOGUS;
return sec_status_bogus;
}
if(!signer_len) {
verbose(VERB_QUERY, "verify: malformed signer name");
*reason = "signer name malformed";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_DNSSEC_BOGUS;
return sec_status_bogus; /* signer name invalid */
}
if(!dname_subdomain_c(rrset->rk.dname, signer)) {
verbose(VERB_QUERY, "verify: signer name is off-tree");
*reason = "signer name off-tree";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_DNSSEC_BOGUS;
return sec_status_bogus; /* signer name offtree */
}
sigblock = (unsigned char*)signer+signer_len;
if(siglen < 2+18+signer_len+1) {
verbose(VERB_QUERY, "verify: too short, no signature data");
*reason = "signature too short, no signature data";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_DNSSEC_BOGUS;
return sec_status_bogus; /* sig rdf is < 1 byte */
}
sigblock_len = (unsigned int)(siglen - 2 - 18 - signer_len);
log_nametypeclass(VERB_QUERY, "the key name is",
dnskey->rk.dname, 0, 0);
*reason = "signer name mismatches key name";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_DNSSEC_BOGUS;
return sec_status_bogus;
}
if(memcmp(sig+2, &rrset->rk.type, 2) != 0) {
verbose(VERB_QUERY, "verify: wrong type covered");
*reason = "signature covers wrong type";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_DNSSEC_BOGUS;
return sec_status_bogus;
}
/* verify keytag and sig algo (possibly again) */
if((int)sig[2+2] != dnskey_get_algo(dnskey, dnskey_idx)) {
verbose(VERB_QUERY, "verify: wrong algorithm");
*reason = "signature has wrong algorithm";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_DNSSEC_BOGUS;
return sec_status_bogus;
}
ktag = htons(dnskey_calc_keytag(dnskey, dnskey_idx));
if(memcmp(sig+2+16, &ktag, 2) != 0) {
verbose(VERB_QUERY, "verify: wrong keytag");
*reason = "signature has wrong keytag";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_DNSSEC_BOGUS;
return sec_status_bogus;
}
if((int)sig[2+3] > dname_signame_label_count(rrset->rk.dname)) {
verbose(VERB_QUERY, "verify: labelcount out of range");
*reason = "signature labelcount out of range";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_DNSSEC_BOGUS;
return sec_status_bogus;
}
/* verify inception, expiration dates
* Do this last so that if you ignore expired-sigs the
* rest is sure to be OK. */
- if(!check_dates(ve, now, sig+2+8, sig+2+12, reason)) {
+ if(!check_dates(ve, now, sig+2+8, sig+2+12,
+ reason, reason_bogus)) {
return sec_status_bogus;
}
}
#define VALIDATOR_VAL_SIGCRYPT_H
#include "util/data/packed_rrset.h"
#include "sldns/pkthdr.h"
+#include "sldns/rrdef.h"
struct val_env;
struct module_env;
struct module_qstate;
* @param sigalg: if nonNULL provide downgrade protection otherwise one
* algorithm is enough.
* @param reason: if bogus, a string returned, fixed or alloced in scratch.
+ * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure.
* @param section: section of packet where this rrset comes from.
* @param qstate: qstate with region.
* @return SECURE if one key in the set verifies one rrsig.
*/
enum sec_status dnskeyset_verify_rrset(struct module_env* env,
struct val_env* ve, struct ub_packed_rrset_key* rrset,
- struct ub_packed_rrset_key* dnskey, uint8_t* sigalg, char** reason,
+ struct ub_packed_rrset_key* dnskey, uint8_t* sigalg,
+ char** reason, sldns_ede_code *reason_bogus,
sldns_pkt_section section, struct module_qstate* qstate);
+
/**
* verify rrset against one specific dnskey (from rrset)
* @param env: module environment, scratch space is used.
* @param dnskey: DNSKEY rrset, keyset.
* @param dnskey_idx: which key from the rrset to try.
* @param reason: if bogus, a string returned, fixed or alloced in scratch.
+ * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure.
* @param section: section of packet where this rrset comes from.
* @param qstate: qstate with region.
* @return secure if *this* key signs any of the signatures on rrset.
* unchecked on error or and bogus on bad signature.
*/
-enum sec_status dnskey_verify_rrset(struct module_env* env,
- struct val_env* ve, struct ub_packed_rrset_key* rrset,
- struct ub_packed_rrset_key* dnskey, size_t dnskey_idx, char** reason,
+enum sec_status dnskey_verify_rrset(struct module_env* env, struct val_env* ve,
+ struct ub_packed_rrset_key* rrset, struct ub_packed_rrset_key* dnskey,
+ size_t dnskey_idx, char** reason, sldns_ede_code *reason_bogus,
sldns_pkt_section section, struct module_qstate* qstate);
-/**
- * verify rrset, with dnskey rrset, for a specific rrsig in rrset
- * @param env: module environment, scratch space is used.
- * @param ve: validator environment, date settings.
- * @param now: current time for validation (can be overridden).
- * @param rrset: to be validated.
- * @param dnskey: DNSKEY rrset, keyset to try.
- * @param sig_idx: which signature to try to validate.
- * @param sortree: reused sorted order. Stored in region. Pass NULL at start,
- * and for a new rrset.
- * @param reason: if bogus, a string returned, fixed or alloced in scratch.
- * @param section: section of packet where this rrset comes from.
- * @param qstate: qstate with region.
- * @return secure if any key signs *this* signature. bogus if no key signs it,
- * or unchecked on error.
- */
-enum sec_status dnskeyset_verify_rrset_sig(struct module_env* env,
- struct val_env* ve, time_t now, struct ub_packed_rrset_key* rrset,
- struct ub_packed_rrset_key* dnskey, size_t sig_idx,
- struct rbtree_type** sortree, char** reason, sldns_pkt_section section,
- struct module_qstate* qstate);
-
/**
* verify rrset, with specific dnskey(from set), for a specific rrsig
* @param region: scratch region used for temporary allocation.
* pass false at start. pass old value only for same rrset and same
* signature (but perhaps different key) for reuse.
* @param reason: if bogus, a string returned, fixed or alloced in scratch.
+ * @param reason_bogus: EDE (8914) code paired with the reason of failure.
* @param section: section of packet where this rrset comes from.
* @param qstate: qstate with region.
* @return secure if this key signs this signature. unchecked on error or
* bogus if it did not validate.
*/
-enum sec_status dnskey_verify_rrset_sig(struct regional* region,
- struct sldns_buffer* buf, struct val_env* ve, time_t now,
- struct ub_packed_rrset_key* rrset, struct ub_packed_rrset_key* dnskey,
- size_t dnskey_idx, size_t sig_idx,
- struct rbtree_type** sortree, int* buf_canon, char** reason,
- sldns_pkt_section section, struct module_qstate* qstate);
+enum sec_status dnskey_verify_rrset_sig(struct regional* region,
+ struct sldns_buffer* buf, struct val_env* ve, time_t now,
+ struct ub_packed_rrset_key* rrset, struct ub_packed_rrset_key* dnskey,
+ size_t dnskey_idx, size_t sig_idx,
+ struct rbtree_type** sortree, int* buf_canon,
+ char** reason, sldns_ede_code *reason_bogus,
+ sldns_pkt_section section, struct module_qstate* qstate);
/**
* canonical compare for two tree entries
return d->ttl;
}
-enum sec_status
+static enum sec_status
val_verify_rrset(struct module_env* env, struct val_env* ve,
struct ub_packed_rrset_key* rrset, struct ub_packed_rrset_key* keys,
- uint8_t* sigalg, char** reason, sldns_pkt_section section,
- struct module_qstate* qstate)
+ uint8_t* sigalg, char** reason, sldns_ede_code *reason_bogus,
+ sldns_pkt_section section, struct module_qstate* qstate)
{
enum sec_status sec;
struct packed_rrset_data* d = (struct packed_rrset_data*)rrset->
log_nametypeclass(VERB_ALGO, "verify rrset", rrset->rk.dname,
ntohs(rrset->rk.type), ntohs(rrset->rk.rrset_class));
sec = dnskeyset_verify_rrset(env, ve, rrset, keys, sigalg, reason,
- section, qstate);
+ reason_bogus, section, qstate);
verbose(VERB_ALGO, "verify result: %s", sec_status_to_string(sec));
regional_free_all(env->scratch);
enum sec_status
val_verify_rrset_entry(struct module_env* env, struct val_env* ve,
struct ub_packed_rrset_key* rrset, struct key_entry_key* kkey,
- char** reason, sldns_pkt_section section, struct module_qstate* qstate)
+ char** reason, sldns_ede_code *reason_bogus,
+ sldns_pkt_section section, struct module_qstate* qstate)
{
/* temporary dnskey rrset-key */
struct ub_packed_rrset_key dnskey;
dnskey.entry.key = &dnskey;
dnskey.entry.data = kd->rrset_data;
sec = val_verify_rrset(env, ve, rrset, &dnskey, kd->algo, reason,
- section, qstate);
+ reason_bogus, section, qstate);
return sec;
}
/** verify that a DS RR hashes to a key and that key signs the set */
static enum sec_status
-verify_dnskeys_with_ds_rr(struct module_env* env, struct val_env* ve,
- struct ub_packed_rrset_key* dnskey_rrset,
+verify_dnskeys_with_ds_rr(struct module_env* env, struct val_env* ve,
+ struct ub_packed_rrset_key* dnskey_rrset,
struct ub_packed_rrset_key* ds_rrset, size_t ds_idx, char** reason,
- struct module_qstate* qstate)
+ sldns_ede_code *reason_bogus, struct module_qstate* qstate)
{
enum sec_status sec = sec_status_bogus;
size_t i, num, numchecked = 0, numhashok = 0, numsizesupp = 0;
/* Otherwise, we have a match! Make sure that the DNSKEY
* verifies *with this key* */
- sec = dnskey_verify_rrset(env, ve, dnskey_rrset,
- dnskey_rrset, i, reason, LDNS_SECTION_ANSWER, qstate);
+ sec = dnskey_verify_rrset(env, ve, dnskey_rrset, dnskey_rrset,
+ i, reason, reason_bogus, LDNS_SECTION_ANSWER, qstate);
if(sec == sec_status_secure) {
return sec;
}
return digest_algo;
}
-enum sec_status
+// @TODO change the use of this function to _ede function in authzone.c:8111
+enum sec_status
val_verify_DNSKEY_with_DS(struct module_env* env, struct val_env* ve,
struct ub_packed_rrset_key* dnskey_rrset,
struct ub_packed_rrset_key* ds_rrset, uint8_t* sigalg, char** reason,
- struct module_qstate* qstate)
+ sldns_ede_code *reason_bogus, struct module_qstate* qstate)
{
/* as long as this is false, we can consider this DS rrset to be
* equivalent to no DS rrset. */
}
sec = verify_dnskeys_with_ds_rr(env, ve, dnskey_rrset,
- ds_rrset, i, reason, qstate);
+ ds_rrset, i, reason, reason_bogus, qstate);
if(sec == sec_status_insecure)
continue;
return sec_status_bogus;
}
-struct key_entry_key*
+struct key_entry_key*
val_verify_new_DNSKEYs(struct regional* region, struct module_env* env,
struct val_env* ve, struct ub_packed_rrset_key* dnskey_rrset,
struct ub_packed_rrset_key* ds_rrset, int downprot, char** reason,
- struct module_qstate* qstate)
+ sldns_ede_code *reason_bogus, struct module_qstate* qstate)
{
uint8_t sigalg[ALGO_NEEDS_MAX+1];
- enum sec_status sec = val_verify_DNSKEY_with_DS(env, ve,
- dnskey_rrset, ds_rrset, downprot?sigalg:NULL, reason, qstate);
+ enum sec_status sec = val_verify_DNSKEY_with_DS(env, ve,
+ dnskey_rrset, ds_rrset, downprot?sigalg:NULL, reason,
+ reason_bogus, qstate);
if(sec == sec_status_secure) {
return key_entry_create_rrset(region,
BOGUS_KEY_TTL, *env->now);
}
-enum sec_status
+enum sec_status
val_verify_DNSKEY_with_TA(struct module_env* env, struct val_env* ve,
struct ub_packed_rrset_key* dnskey_rrset,
struct ub_packed_rrset_key* ta_ds,
struct ub_packed_rrset_key* ta_dnskey, uint8_t* sigalg, char** reason,
- struct module_qstate* qstate)
+ sldns_ede_code *reason_bogus, struct module_qstate* qstate)
{
/* as long as this is false, we can consider this anchor to be
* equivalent to no anchor. */
verbose(VERB_QUERY, "DNSKEY RRset did not match DS RRset "
"by name");
*reason = "DNSKEY RRset did not match DS RRset by name";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_DNSKEY_MISSING;
return sec_status_bogus;
}
if(ta_dnskey && (dnskey_rrset->rk.dname_len != ta_dnskey->rk.dname_len
verbose(VERB_QUERY, "DNSKEY RRset did not match anchor RRset "
"by name");
*reason = "DNSKEY RRset did not match anchor RRset by name";
+ if(reason_bogus)
+ *reason_bogus = LDNS_EDE_DNSKEY_MISSING;
return sec_status_bogus;
}
continue;
sec = verify_dnskeys_with_ds_rr(env, ve, dnskey_rrset,
- ta_ds, i, reason, qstate);
+ ta_ds, i, reason, reason_bogus, qstate);
if(sec == sec_status_insecure)
continue;
has_useful_ta = 1;
sec = dnskey_verify_rrset(env, ve, dnskey_rrset,
- ta_dnskey, i, reason, LDNS_SECTION_ANSWER, qstate);
+ ta_dnskey, i, reason, NULL, LDNS_SECTION_ANSWER, qstate);
if(sec == sec_status_secure) {
if(!sigalg || algo_needs_set_secure(&needs,
(uint8_t)dnskey_get_algo(ta_dnskey, i))) {
struct key_entry_key*
val_verify_new_DNSKEYs_with_ta(struct regional* region, struct module_env* env,
- struct val_env* ve, struct ub_packed_rrset_key* dnskey_rrset,
+ struct val_env* ve, struct ub_packed_rrset_key* dnskey_rrset,
struct ub_packed_rrset_key* ta_ds_rrset,
struct ub_packed_rrset_key* ta_dnskey_rrset, int downprot,
- char** reason, struct module_qstate* qstate)
+ char** reason, sldns_ede_code *reason_bogus, struct module_qstate* qstate)
{
uint8_t sigalg[ALGO_NEEDS_MAX+1];
- enum sec_status sec = val_verify_DNSKEY_with_TA(env, ve,
+ enum sec_status sec = val_verify_DNSKEY_with_TA(env, ve,
dnskey_rrset, ta_ds_rrset, ta_dnskey_rrset,
- downprot?sigalg:NULL, reason, qstate);
+ downprot?sigalg:NULL, reason, reason_bogus, qstate);
if(sec == sec_status_secure) {
- return key_entry_create_rrset(region,
+ return key_entry_create_rrset(region,
dnskey_rrset->rk.dname, dnskey_rrset->rk.dname_len,
ntohs(dnskey_rrset->rk.rrset_class), dnskey_rrset,
downprot?sigalg:NULL, *env->now);
} else if(sec == sec_status_insecure) {
return key_entry_create_null(region, dnskey_rrset->rk.dname,
- dnskey_rrset->rk.dname_len,
+ dnskey_rrset->rk.dname_len,
ntohs(dnskey_rrset->rk.rrset_class),
rrset_get_ttl(dnskey_rrset), *env->now);
}
BOGUS_KEY_TTL, *env->now);
}
-int
+int
val_dsset_isusable(struct ub_packed_rrset_key* ds_rrset)
{
size_t i;
if(lt) snprintf(aerr, sizeof(aerr), "%s", lt->name);
else snprintf(aerr, sizeof(aerr), "%d",
(int)ds_get_key_algo(ds_rrset, 0));
+
verbose(VERB_ALGO, "DS unsupported, hash %s %s, "
"key algorithm %s %s", herr,
(ds_digest_algo_is_supported(ds_rrset, 0)?
#define VALIDATOR_VAL_UTILS_H
#include "util/data/packed_rrset.h"
#include "sldns/pkthdr.h"
+#include "sldns/rrdef.h"
struct query_info;
struct reply_info;
struct val_env;
struct query_info* qinf, struct reply_info* rep,
size_t cname_skip, uint8_t** signer_name, size_t* signer_len);
-/**
- * Verify RRset with keys
- * @param env: module environment (scratch buffer)
- * @param ve: validator environment (verification settings)
- * @param rrset: what to verify
- * @param keys: dnskey rrset to verify with.
- * @param sigalg: if nonNULL provide downgrade protection otherwise one
- * algorithm is enough. Algo list is constructed in here.
- * @param reason: reason of failure. Fixed string or alloced in scratch.
- * @param section: section of packet where this rrset comes from.
- * @param qstate: qstate with region.
- * @return security status of verification.
- */
-enum sec_status val_verify_rrset(struct module_env* env, struct val_env* ve,
- struct ub_packed_rrset_key* rrset, struct ub_packed_rrset_key* keys,
- uint8_t* sigalg, char** reason, sldns_pkt_section section,
- struct module_qstate* qstate);
-
/**
* Verify RRset with keys from a keyset.
* @param env: module environment (scratch buffer)
* @param rrset: what to verify
* @param kkey: key_entry to verify with.
* @param reason: reason of failure. Fixed string or alloced in scratch.
+ * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure.
* @param section: section of packet where this rrset comes from.
* @param qstate: qstate with region.
* @return security status of verification.
*/
enum sec_status val_verify_rrset_entry(struct module_env* env,
struct val_env* ve, struct ub_packed_rrset_key* rrset,
- struct key_entry_key* kkey, char** reason, sldns_pkt_section section,
- struct module_qstate* qstate);
+ struct key_entry_key* kkey, char** reason, sldns_ede_code *reason_bogus,
+ sldns_pkt_section section, struct module_qstate* qstate);
/**
* Verify DNSKEYs with DS rrset. Like val_verify_new_DNSKEYs but
* algorithm is enough. The list of signalled algorithms is returned,
* must have enough space for ALGO_NEEDS_MAX+1.
* @param reason: reason of failure. Fixed string or alloced in scratch.
+ * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure.
* @param qstate: qstate with region.
* @return: sec_status_secure if a DS matches.
* sec_status_insecure if end of trust (i.e., unknown algorithms).
* sec_status_bogus if it fails.
*/
-enum sec_status val_verify_DNSKEY_with_DS(struct module_env* env,
- struct val_env* ve, struct ub_packed_rrset_key* dnskey_rrset,
- struct ub_packed_rrset_key* ds_rrset, uint8_t* sigalg, char** reason,
- struct module_qstate* qstate);
+enum sec_status val_verify_DNSKEY_with_DS(struct module_env* env,
+ struct val_env* ve, struct ub_packed_rrset_key* dnskey_rrset,
+ struct ub_packed_rrset_key* ds_rrset, uint8_t* sigalg, char** reason,
+ sldns_ede_code *reason_bogus, struct module_qstate* qstate);
/**
* Verify DNSKEYs with DS and DNSKEY rrset. Like val_verify_DNSKEY_with_DS
* algorithm is enough. The list of signalled algorithms is returned,
* must have enough space for ALGO_NEEDS_MAX+1.
* @param reason: reason of failure. Fixed string or alloced in scratch.
+* @param reason_bogus: EDE (RFC8914) code paired with the reason of failure.
* @param qstate: qstate with region.
* @return: sec_status_secure if a DS matches.
* sec_status_insecure if end of trust (i.e., unknown algorithms).
* sec_status_bogus if it fails.
*/
-enum sec_status val_verify_DNSKEY_with_TA(struct module_env* env,
- struct val_env* ve, struct ub_packed_rrset_key* dnskey_rrset,
- struct ub_packed_rrset_key* ta_ds,
- struct ub_packed_rrset_key* ta_dnskey, uint8_t* sigalg, char** reason,
- struct module_qstate* qstate);
+enum sec_status val_verify_DNSKEY_with_TA(struct module_env* env,
+ struct val_env* ve, struct ub_packed_rrset_key* dnskey_rrset,
+ struct ub_packed_rrset_key* ta_ds,
+ struct ub_packed_rrset_key* ta_dnskey, uint8_t* sigalg, char** reason,
+ sldns_ede_code *reason_bogus, struct module_qstate* qstate);
/**
* Verify new DNSKEYs with DS rrset. The DS contains hash values that should
* @param downprot: if true provide downgrade protection otherwise one
* algorithm is enough.
* @param reason: reason of failure. Fixed string or alloced in scratch.
+ * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure.
* @param qstate: qstate with region.
* @return a KeyEntry. This will either contain the now trusted
* dnskey_rrset, a "null" key entry indicating that this DS
* rrset.
* if downprot is set, a key entry with an algo list is made.
*/
-struct key_entry_key* val_verify_new_DNSKEYs(struct regional* region,
- struct module_env* env, struct val_env* ve,
- struct ub_packed_rrset_key* dnskey_rrset,
- struct ub_packed_rrset_key* ds_rrset, int downprot, char** reason,
- struct module_qstate* qstate);
-
+struct key_entry_key* val_verify_new_DNSKEYs(struct regional* region,
+ struct module_env* env, struct val_env* ve,
+ struct ub_packed_rrset_key* dnskey_rrset,
+ struct ub_packed_rrset_key* ds_rrset, int downprot, char** reason,
+ sldns_ede_code *reason_bogus, struct module_qstate* qstate);
/**
* Verify rrset with trust anchor: DS and DNSKEY rrset.
* @param downprot: if true provide downgrade protection otherwise one
* algorithm is enough.
* @param reason: reason of failure. Fixed string or alloced in scratch.
+ * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure.
* @param qstate: qstate with region.
* @return a KeyEntry. This will either contain the now trusted
* dnskey_rrset, a "null" key entry indicating that this DS
* if downprot is set, a key entry with an algo list is made.
*/
struct key_entry_key* val_verify_new_DNSKEYs_with_ta(struct regional* region,
- struct module_env* env, struct val_env* ve,
- struct ub_packed_rrset_key* dnskey_rrset,
- struct ub_packed_rrset_key* ta_ds_rrset,
- struct ub_packed_rrset_key* ta_dnskey_rrset,
- int downprot, char** reason, struct module_qstate* qstate);
+ struct module_env* env, struct val_env* ve,
+ struct ub_packed_rrset_key* dnskey_rrset,
+ struct ub_packed_rrset_key* ta_ds_rrset,
+ struct ub_packed_rrset_key* ta_dnskey_rrset, int downprot,
+ char** reason, sldns_ede_code *reason_bogus, struct module_qstate* qstate);
/**
* Determine if DS rrset is usable for validator or not.
struct val_qstate* vq, int id, int rcode, struct dns_msg* msg,
struct query_info* qinfo, struct sock_list* origin);
+
+/* Updates the suplied EDE (RFC8914) code selectively so we don't loose
+ * a more specific code
+ */
+static void
+update_reason_bogus(struct reply_info* rep, sldns_ede_code reason_bogus)
+{
+ if (rep->reason_bogus == LDNS_EDE_DNSSEC_BOGUS ||
+ rep->reason_bogus == LDNS_EDE_NONE) {
+ rep->reason_bogus = reason_bogus;
+ }
+}
+
+
/** fill up nsec3 key iterations config entry */
static int
fill_nsec3_iter(struct val_env* ve, char* s, int c)
vq->orig_msg->rep->flags = (uint16_t)(qstate->return_rcode&0xf)
|BIT_QR|BIT_RA|(qstate->query_flags|(BIT_CD|BIT_RD));
vq->orig_msg->rep->qdcount = 1;
+ vq->orig_msg->rep->reason_bogus = LDNS_EDE_NONE;
} else {
vq->orig_msg = qstate->return_msg;
}
enum sec_status sec;
int dname_seen = 0;
char* reason = NULL;
+ sldns_ede_code reason_bogus = LDNS_EDE_DNSSEC_BOGUS;
/* validate the ANSWER section */
for(i=0; i<chase_reply->an_numrrsets; i++) {
/* Verify the answer rrset */
sec = val_verify_rrset_entry(env, ve, s, key_entry, &reason,
- LDNS_SECTION_ANSWER, qstate);
+ &reason_bogus, LDNS_SECTION_ANSWER, qstate);
/* If the (answer) rrset failed to validate, then this
* message is BAD. */
if(sec != sec_status_secure) {
log_nametypeclass(VERB_QUERY, "validator: response "
"has failed ANSWER rrset:", s->rk.dname,
ntohs(s->rk.type), ntohs(s->rk.rrset_class));
- errinf(qstate, reason);
+ errinf_ede(qstate, reason, reason_bogus);
if(ntohs(s->rk.type) == LDNS_RR_TYPE_CNAME)
errinf(qstate, "for CNAME");
else if(ntohs(s->rk.type) == LDNS_RR_TYPE_DNAME)
errinf(qstate, "for DNAME");
errinf_origin(qstate, qstate->reply_origin);
chase_reply->security = sec_status_bogus;
+ update_reason_bogus(chase_reply, reason_bogus);
+
return 0;
}
chase_reply->ns_numrrsets; i++) {
s = chase_reply->rrsets[i];
sec = val_verify_rrset_entry(env, ve, s, key_entry, &reason,
- LDNS_SECTION_AUTHORITY, qstate);
+ &reason_bogus, LDNS_SECTION_AUTHORITY, qstate);
/* If anything in the authority section fails to be secure,
* we have a bad message. */
if(sec != sec_status_secure) {
log_nametypeclass(VERB_QUERY, "validator: response "
"has failed AUTHORITY rrset:", s->rk.dname,
ntohs(s->rk.type), ntohs(s->rk.rrset_class));
- errinf(qstate, reason);
+ errinf_ede(qstate, reason, reason_bogus);
errinf_origin(qstate, qstate->reply_origin);
errinf_rrset(qstate, s);
chase_reply->security = sec_status_bogus;
+ update_reason_bogus(chase_reply, reason_bogus);
return 0;
}
}
/* only validate rrs that have signatures with the key */
/* leave others unchecked, those get removed later on too */
val_find_rrset_signer(s, &sname, &slen);
+
if(sname && query_dname_compare(sname, key_entry->name)==0)
(void)val_verify_rrset_entry(env, ve, s, key_entry,
- &reason, LDNS_SECTION_ADDITIONAL, qstate);
+ &reason, NULL, LDNS_SECTION_ADDITIONAL, qstate);
/* the additional section can fail to be secure,
* it is optional, check signature in case we need
* to clean the additional section later. */
"inconsistent wildcard sigs:", s->rk.dname,
ntohs(s->rk.type), ntohs(s->rk.rrset_class));
chase_reply->security = sec_status_bogus;
+ update_reason_bogus(chase_reply, LDNS_EDE_DNSSEC_BOGUS);
return;
}
if(wc && !wc_cached && env->cfg->aggressive_nsec) {
"expansion and did not prove original data "
"did not exist");
chase_reply->security = sec_status_bogus;
+ update_reason_bogus(chase_reply, LDNS_EDE_DNSSEC_BOGUS);
return;
}
if(verbosity >= VERB_ALGO)
log_dns_msg("Failed NODATA", qchase, chase_reply);
chase_reply->security = sec_status_bogus;
+ update_reason_bogus(chase_reply, LDNS_EDE_DNSSEC_BOGUS);
return;
}
verbose(VERB_QUERY, "NameError response has failed to prove: "
"qname does not exist");
chase_reply->security = sec_status_bogus;
+ update_reason_bogus(chase_reply, LDNS_EDE_DNSSEC_BOGUS);
/* Be lenient with RCODE in NSEC NameError responses */
validate_nodata_response(env, ve, qchase, chase_reply, kkey);
if (chase_reply->security == sec_status_secure)
verbose(VERB_QUERY, "NameError response has failed to prove: "
"covering wildcard does not exist");
chase_reply->security = sec_status_bogus;
+ update_reason_bogus(chase_reply, LDNS_EDE_DNSSEC_BOGUS);
/* Be lenient with RCODE in NSEC NameError responses */
validate_nodata_response(env, ve, qchase, chase_reply, kkey);
if (chase_reply->security == sec_status_secure)
if(qchase->qtype != LDNS_RR_TYPE_ANY) {
log_err("internal error: ANY validation called for non-ANY");
chase_reply->security = sec_status_bogus;
+ update_reason_bogus(chase_reply, LDNS_EDE_DNSSEC_BOGUS);
return;
}
s->rk.dname, ntohs(s->rk.type),
ntohs(s->rk.rrset_class));
chase_reply->security = sec_status_bogus;
+ update_reason_bogus(chase_reply, LDNS_EDE_DNSSEC_BOGUS);
return;
}
}
"expansion and did not prove original data "
"did not exist");
chase_reply->security = sec_status_bogus;
+ update_reason_bogus(chase_reply, LDNS_EDE_DNSSEC_BOGUS);
return;
}
"inconsistent wildcard sigs:", s->rk.dname,
ntohs(s->rk.type), ntohs(s->rk.rrset_class));
chase_reply->security = sec_status_bogus;
+ update_reason_bogus(chase_reply, LDNS_EDE_DNSSEC_BOGUS);
return;
}
"wildcarded DNAME:", s->rk.dname,
ntohs(s->rk.type), ntohs(s->rk.rrset_class));
chase_reply->security = sec_status_bogus;
+ update_reason_bogus(chase_reply, LDNS_EDE_DNSSEC_BOGUS);
return;
}
"expansion and did not prove original data "
"did not exist");
chase_reply->security = sec_status_bogus;
+ update_reason_bogus(chase_reply, LDNS_EDE_DNSSEC_BOGUS);
return;
}
verbose(VERB_QUERY, "CNAMEchain to noanswer proves that name "
"exists and not exists, bogus");
chase_reply->security = sec_status_bogus;
+ update_reason_bogus(chase_reply, LDNS_EDE_DNSSEC_BOGUS);
return;
}
if(!nodata_valid_nsec && !nxdomain_valid_nsec && nsec3s_seen) {
if(verbosity >= VERB_ALGO)
log_dns_msg("Failed CNAMEnoanswer", qchase, chase_reply);
chase_reply->security = sec_status_bogus;
+ update_reason_bogus(chase_reply, LDNS_EDE_DNSSEC_BOGUS);
return;
}
verbose(VERB_ALGO, "restart count exceeded");
return val_error(qstate, id);
}
+
+ /* correctly initialize reason_bogus */
+ update_reason_bogus(vq->chase_reply, LDNS_EDE_DNSSEC_BOGUS);
+
verbose(VERB_ALGO, "validator classification %s",
val_classification_to_string(subtype));
if(subtype == VAL_CLASS_REFERRAL &&
verbose(VERB_QUERY, "unsigned parent zone denies"
" trust anchor, indeterminate");
vq->chase_reply->security = sec_status_indeterminate;
+ update_reason_bogus(vq->chase_reply, LDNS_EDE_DNSSEC_INDETERMINATE);
vq->state = VAL_FINISHED_STATE;
return 1;
}
if(vq->key_entry == NULL && anchor == NULL) {
/*response isn't under a trust anchor, so we cannot validate.*/
vq->chase_reply->security = sec_status_indeterminate;
+ update_reason_bogus(vq->chase_reply, LDNS_EDE_DNSSEC_INDETERMINATE);
/* go to finished state to cache this result */
vq->state = VAL_FINISHED_STATE;
return 1;
vq->state = VAL_FINISHED_STATE;
return 1;
} else if(key_entry_isbad(vq->key_entry)) {
+ sldns_ede_code ede = LDNS_EDE_DNSSEC_BOGUS;
+
+ /* the key could have a more spefic EDE than just bogus */
+ if(key_entry_get_reason_bogus(vq->key_entry) != LDNS_EDE_NONE) {
+ ede = key_entry_get_reason_bogus(vq->key_entry);
+ }
+
/* key is bad, chain is bad, reply is bogus */
errinf_dname(qstate, "key for validation", vq->key_entry->name);
- errinf(qstate, "is marked as invalid");
+ errinf_ede(qstate, "is marked as invalid", ede);
if(key_entry_get_reason(vq->key_entry)) {
errinf(qstate, "because of a previous");
errinf(qstate, key_entry_get_reason(vq->key_entry));
}
+
/* no retries, stop bothering the authority until timeout */
vq->restart_count = ve->max_restart;
vq->chase_reply->security = sec_status_bogus;
+ update_reason_bogus(vq->chase_reply, ede);
vq->state = VAL_FINISHED_STATE;
return 1;
}
vq->empty_DS_name) == 0) {
/* do not query for empty_DS_name again */
verbose(VERB_ALGO, "Cannot retrieve DS for signature");
- errinf(qstate, "no signatures");
+ errinf_ede(qstate, "no signatures", LDNS_EDE_RRSIGS_MISSING);
errinf_origin(qstate, qstate->reply_origin);
vq->chase_reply->security = sec_status_bogus;
+ update_reason_bogus(vq->chase_reply, LDNS_EDE_RRSIGS_MISSING);
vq->state = VAL_FINISHED_STATE;
return 1;
}
"of trust to keys for", vq->key_entry->name,
LDNS_RR_TYPE_DNSKEY, vq->key_entry->key_class);
vq->chase_reply->security = sec_status_bogus;
- errinf(qstate, "while building chain of trust");
+
+ update_reason_bogus(vq->chase_reply, LDNS_EDE_DNSKEY_MISSING);
+ errinf_ede(qstate, "while building chain of trust",
+ LDNS_EDE_DNSKEY_MISSING);
if(vq->restart_count >= ve->max_restart)
key_cache_insert(ve->kcache, vq->key_entry, qstate);
return 1;
"signer name", &vq->qchase);
verbose(VERB_DETAIL, "Could not establish validation of "
"INSECURE status of unsigned response.");
- errinf(qstate, "no signatures");
+ errinf_ede(qstate, "no signatures", LDNS_EDE_RRSIGS_MISSING);
errinf_origin(qstate, qstate->reply_origin);
vq->chase_reply->security = sec_status_bogus;
+ update_reason_bogus(vq->chase_reply, LDNS_EDE_RRSIGS_MISSING);
return 1;
}
subtype = val_classify_response(qstate->query_flags, &qstate->qinfo,
vq->orig_msg->rep, vq->rrset_skip);
/* store overall validation result in orig_msg */
- if(vq->rrset_skip == 0)
+ if(vq->rrset_skip == 0) {
vq->orig_msg->rep->security = vq->chase_reply->security;
- else if(subtype != VAL_CLASS_REFERRAL ||
+ update_reason_bogus(vq->orig_msg->rep, vq->chase_reply->reason_bogus);
+ } else if(subtype != VAL_CLASS_REFERRAL ||
vq->rrset_skip < vq->orig_msg->rep->an_numrrsets +
vq->orig_msg->rep->ns_numrrsets) {
/* ignore sec status of additional section if a referral
* type message skips there and
* use the lowest security status as end result. */
- if(vq->chase_reply->security < vq->orig_msg->rep->security)
+ if(vq->chase_reply->security < vq->orig_msg->rep->security) {
vq->orig_msg->rep->security =
vq->chase_reply->security;
+ update_reason_bogus(vq->orig_msg->rep, vq->chase_reply->reason_bogus);
+ }
}
if(subtype == VAL_CLASS_REFERRAL) {
&vq->rrset_skip)) {
verbose(VERB_ALGO, "validator: failed to chase CNAME");
vq->orig_msg->rep->security = sec_status_bogus;
+ update_reason_bogus(vq->orig_msg->rep, LDNS_EDE_DNSSEC_BOGUS);
} else {
/* restart process for new qchase at rrset_skip */
log_query_info(VERB_ALGO, "validator: chased to",
* queries. If we get here, it is bogus or an internal error */
if(qstate->qinfo.qclass == LDNS_RR_CLASS_ANY) {
verbose(VERB_ALGO, "cannot validate classANY: bogus");
- if(qstate->return_msg)
+ if(qstate->return_msg) {
qstate->return_msg->rep->security =
sec_status_bogus;
+ update_reason_bogus(qstate->return_msg->rep, LDNS_EDE_DNSSEC_BOGUS);
+ }
qstate->ext_state[id] = module_finished;
return;
}
struct key_entry_key* kkey = NULL;
enum sec_status sec = sec_status_unchecked;
char* reason = NULL;
+ sldns_ede_code reason_bogus = LDNS_EDE_DNSSEC_BOGUS;
int downprot = qstate->env->cfg->harden_algo_downgrade;
if(!dnskey_rrset) {
"could not fetch DNSKEY rrset",
ta->name, LDNS_RR_TYPE_DNSKEY, ta->dclass);
if(qstate->env->cfg->harden_dnssec_stripped) {
- errinf(qstate, "no DNSKEY rrset");
+ errinf_ede(qstate, "no DNSKEY rrset", LDNS_EDE_DNSKEY_MISSING);
kkey = key_entry_create_bad(qstate->region, ta->name,
ta->namelen, ta->dclass, BOGUS_KEY_TTL,
*qstate->env->now);
/* attempt to verify with trust anchor DS and DNSKEY */
kkey = val_verify_new_DNSKEYs_with_ta(qstate->region, qstate->env, ve,
dnskey_rrset, ta->ds_rrset, ta->dnskey_rrset, downprot,
- &reason, qstate);
+ &reason, &reason_bogus, qstate);
if(!kkey) {
log_err("out of memory: verifying prime TA");
return NULL;
/* NOTE: in this case, we should probably reject the trust
* anchor for longer, perhaps forever. */
if(qstate->env->cfg->harden_dnssec_stripped) {
- errinf(qstate, reason);
+ errinf_ede(qstate, reason, reason_bogus);
kkey = key_entry_create_bad(qstate->region, ta->name,
ta->namelen, ta->dclass, BOGUS_KEY_TTL,
*qstate->env->now);
{
struct val_env* ve = (struct val_env*)qstate->env->modinfo[id];
char* reason = NULL;
+ sldns_ede_code reason_bogus = LDNS_EDE_DNSSEC_BOGUS;
enum val_classification subtype;
if(rcode != LDNS_RCODE_NOERROR) {
char rc[16];
/* errors here pretty much break validation */
verbose(VERB_DETAIL, "DS response was error, thus bogus");
errinf(qstate, rc);
- errinf(qstate, "no DS");
+ errinf_ede(qstate, "no DS", LDNS_EDE_NETWORK_ERROR);
+
goto return_bogus;
}
if(!ds) {
log_warn("internal error: POSITIVE DS response was "
"missing DS.");
- errinf(qstate, "no DS record");
+ errinf_ede(qstate, "no DS record", LDNS_EDE_DNSSEC_BOGUS);
goto return_bogus;
}
/* Verify only returns BOGUS or SECURE. If the rrset is
* bogus, then we are done. */
- sec = val_verify_rrset_entry(qstate->env, ve, ds,
- vq->key_entry, &reason, LDNS_SECTION_ANSWER, qstate);
+ sec = val_verify_rrset_entry(qstate->env, ve, ds,
+ vq->key_entry, &reason, &reason_bogus, LDNS_SECTION_ANSWER, qstate);
if(sec != sec_status_secure) {
verbose(VERB_DETAIL, "DS rrset in DS response did "
"not verify");
- errinf(qstate, reason);
+ errinf_ede(qstate, reason, reason_bogus);
goto return_bogus;
}
if(!val_dsset_isusable(ds)) {
/* If they aren't usable, then we treat it like
* there was no DS. */
+
+ // @TODO add EDE Unsupported DS Digest Type
+
*ke = key_entry_create_null(qstate->region,
qinfo->qname, qinfo->qname_len, qinfo->qclass,
ub_packed_rrset_ttl(ds), *qstate->env->now);
/* make sure there are NSECs or NSEC3s with signatures */
if(!val_has_signed_nsecs(msg->rep, &reason)) {
verbose(VERB_ALGO, "no NSECs: %s", reason);
- errinf(qstate, reason);
+ errinf_ede(qstate, reason, LDNS_EDE_NSEC_MISSING);
goto return_bogus;
}
sec = nsec3_prove_nods(qstate->env, ve,
msg->rep->rrsets + msg->rep->an_numrrsets,
msg->rep->ns_numrrsets, qinfo, vq->key_entry, &reason,
- qstate);
+ &reason_bogus, qstate);
switch(sec) {
case sec_status_insecure:
/* case insecure also continues to unsigned
case sec_status_bogus:
verbose(VERB_DETAIL, "NSEC3s for the "
"referral did not prove no DS.");
- errinf(qstate, reason);
+ errinf_ede(qstate, reason, reason_bogus);
goto return_bogus;
case sec_status_unchecked:
default:
goto return_bogus;
}
sec = val_verify_rrset_entry(qstate->env, ve, cname,
- vq->key_entry, &reason, LDNS_SECTION_ANSWER, qstate);
+ vq->key_entry, &reason, NULL, LDNS_SECTION_ANSWER, qstate);
if(sec == sec_status_secure) {
verbose(VERB_ALGO, "CNAME validated, "
"proof that DS does not exist");
struct ub_packed_rrset_key* dnskey = NULL;
int downprot;
char* reason = NULL;
+ sldns_ede_code reason_bogus = LDNS_EDE_DNSSEC_BOGUS;
if(rcode == LDNS_RCODE_NOERROR)
dnskey = reply_find_answer_rrset(qinfo, msg->rep);
/* bad response */
verbose(VERB_DETAIL, "Missing DNSKEY RRset in response to "
"DNSKEY query.");
+
if(vq->restart_count < ve->max_restart) {
val_blacklist(&vq->chain_blacklist, qstate->region,
origin, 1);
log_err("alloc failure in missing dnskey response");
/* key_entry is NULL for failure in Validate */
}
- errinf(qstate, "No DNSKEY record");
+ errinf_ede(qstate, "No DNSKEY record", LDNS_EDE_DNSKEY_MISSING);
errinf_origin(qstate, origin);
errinf_dname(qstate, "for key", qinfo->qname);
vq->state = VAL_VALIDATE_STATE;
}
downprot = qstate->env->cfg->harden_algo_downgrade;
vq->key_entry = val_verify_new_DNSKEYs(qstate->region, qstate->env,
- ve, dnskey, vq->ds_rrset, downprot, &reason, qstate);
+ ve, dnskey, vq->ds_rrset, downprot, &reason, &reason_bogus, qstate);
if(!vq->key_entry) {
log_err("out of memory in verify new DNSKEYs");
}
verbose(VERB_DETAIL, "Did not match a DS to a DNSKEY, "
"thus bogus.");
- errinf(qstate, reason);
+ errinf_ede(qstate, reason, reason_bogus);
errinf_origin(qstate, origin);
errinf_dname(qstate, "for key", qinfo->qname);
}