diff options
Diffstat (limited to 'tests/no-backref.at')
-rw-r--r-- | tests/no-backref.at | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/no-backref.at b/tests/no-backref.at new file mode 100644 index 0000000..f7eb6aa --- /dev/null +++ b/tests/no-backref.at @@ -0,0 +1,73 @@ +# This file is part of GNU Anubis testsuite. -*- autotest -*- +# Copyright (C) 2003-2024 The Anubis Team. +# +# GNU Anubis is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 3 of the License, or (at your option) +# any later version. +# +# GNU Anubis is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with GNU Anubis. If not, see <http://www.gnu.org/licenses/>. + +# Use of regular expressions without reference groups used to cause +# segmentation fault unless the reference itself was a simple string +# (without any macro-characters). +# Reported by: Paolo <oopla@users.sourceforge.net> +# References: <20041018203449.GA26021@pp>,<20041027225812.GA19951@pp> +# http://lists.gnu.org/archive/html/bug-anubis/2004-10/msg00001.html + +AT_SETUP([Working regexp w/o reference groups]) +AT_ANUBIS_CONFIG([anubis.rc], +[BEGIN CONTROL +logfile $PWD/etc/anubis.log +local-mta $abs_builddir/mta -bs -d $PWD/etc/mta.log +use-pam no +END + +BEGIN RULE +modify body :re [[".*foo.*"]] "bar" +END +]) +AT_DATA([input], +[HELO localhost +MAIL FROM:<gray@gnu.org> +RCPT TO:<polak@gnu.org> +DATA +From: <gray@gnu.org> +To: <polak@gnu.org> +Subject: Regexp coredump + +foo +a foobar +. +QUIT +]) +AT_DATA([expout], +[HELO localhost +MAIL FROM:<gray@gnu.org> +RCPT TO:<polak@gnu.org> +DATA +From: <gray@gnu.org> +To: <polak@gnu.org> +Subject: Regexp coredump + +bar +bar +. +QUIT +]) +AT_CHECK([ +anubis --norc --relax-perm-check --altrc etc/anubis.rc --stdio < input | tr -d '\r' +], +[0], +[ignore], +[ignore]) +AT_CHECK([cat etc/mta.log], +[0], +[expout]) +AT_CLEANUP |