debian/0000775000000000000000000000000012306337331007171 5ustar debian/copyright0000664000000000000000000001647712306335375011151 0ustar This package was debianized by Jaldhar H. Vyas on Tue, 3 Dec 2002 01:10:07 -0500. It was downloaded from the following locations: - http://dovecot.org/download.html (dovecot) - http://pigeonhole.dovecot.org/download.html (sieve/managesieve support) Upstream Author: Timo Sirainen Pigeonhole Author: Stephan Bosch Copyright: Copyright (c) 2001-2009 Timo Sirainen Everything is LGPLv2.1 unless otherwise mentioned at the beginning of the file. Almost everything in src/lib/ is with MIT license. The exceptions are: src/lib/ - md5.c : Public Domain - base64.c, mkgmtime.c : BSD-like (read it) - hash.c, primes.c, strfuncs.c, tree.c : LGPL v2 src/lib-imap/imap-match.c : BSD-like (read it) The BSD, and LGPL can be found in /usr/share/common-licenses on a Debian system. The MIT license is as follows: Copyright (c) 2001-2002 Timo Sirainen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. src/lib/sha1.c, sha2.c : BSD license * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. * All rights reserved. * Copyright (C) 2005, 2007 Olivier Gay * All rights reserved. * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the project nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. src/lib/base64.c, utc-mktime.c : * Copyright (c) 2000 Carnegie Mellon University. All rights reserved. * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The name "Carnegie Mellon University" must not be used to * endorse or promote products derived from this software without * prior written permission. For permission or any other legal * details, please contact * Office of Technology Transfer * Carnegie Mellon University * 5000 Forbes Avenue * Pittsburgh, PA 15213-3890 * (412) 268-4387, fax: (412) 268-7395 * tech-transfer@andrew.cmu.edu * * 4. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by Computing Services * at Carnegie Mellon University (http://www.cmu.edu/computing/)." * * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * Copyright (c) 1987, 1989, 1993 * The Regents of the University of California. All rights reserved. * This code is derived from software contributed to Berkeley by * Arthur David Olson of the National Cancer Institute. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. debian/dovecot-imapd.triggers0000664000000000000000000000004212306335375013476 0ustar activate register-dovecot-plugin debian/dovecot-sqlite.dirs0000664000000000000000000000007312306335375013024 0ustar usr/lib/dovecot/modules/auth usr/lib/dovecot/modules/dict debian/dovecot-core.init0000664000000000000000000001217212306335375012460 0ustar #! /bin/sh ### BEGIN INIT INFO # Provides: dovecot # Required-Start: $local_fs $remote_fs $network $syslog $time # Required-Stop: $local_fs $remote_fs $network $syslog # Should-Start: postgresql mysql slapd winbind nslcd # Should-Stop: postgresql mysql slapd winbind nslcd # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Dovecot init script # Description: Init script for dovecot services ### END INIT INFO # Author: Miquel van Smoorenburg . # Modified for Debian GNU/Linux # by Ian Murdock . # # Do NOT "set -e" # PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="IMAP/POP3 mail server" NAME=dovecot DAEMON=/usr/sbin/dovecot DAEMON_ARGS="" SCRIPTNAME=/etc/init.d/$NAME CONF=/etc/dovecot/${NAME}.conf # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME # Exit if the package is not installed [ -x "$DAEMON" ] || exit 0 # Exit if the configuration file doesn't exist [ -f "$CONF" ] || exit 0 # Exit if explicitly told to [ "$ENABLED" != "0" ] || exit 0 # Allow core dumps if requested [ "$ALLOW_COREDUMPS" != "1" ] || ulimit -c unlimited # Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. . /lib/lsb/init-functions # conf file readable? if [ ! -r ${CONF} ]; then log_daemon_msg "${CONF}: not readable" "$NAME" && log_end_msg 1; exit 1; fi # dont check for inetd.conf if its not installed if [ -f /etc/inetd.conf ]; then # The init script should do nothing if dovecot or another imap/pop3 server # is being run from inetd, and dovecot is configured to run as an imap or # pop3 service for p in `sed -r "s/^ *(([^:]+|\[[^]]+]|\*):)?(pop3s?|imaps?)[ \t].*/\3/;t;d" \ /etc/inetd.conf` do for q in `doveconf -n -h protocols` do if [ $p = $q ]; then log_daemon_msg "protocol ${p} configured both in inetd and in dovecot" "$NAME" && log_end_msg 1 exit 0 fi done done fi # determine the location of the PID file # overide by setting base_dir in conf file or PIDBASE in /etc/defaults/$NAME PIDBASE=${PIDBASE:-`doveconf -n -c ${CONF} -h base_dir`} PIDFILE=${PIDBASE:-/var/run/dovecot}/master.pid # # Function that starts the daemon/service # do_start() { # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test -- -c ${CONF} > /dev/null \ || return 1 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- -c ${CONF} \ $DAEMON_ARGS \ || return 2 } # # Function that stops the daemon/service # do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name ${DAEMON##*/} RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 # Wait for children to finish too if this is a daemon that forks # and if the daemon is only ever run from this initscript. # If the above conditions are not satisfied then add some other code # that waits for the process to drop all resources that could be # needed by services started subsequently. A last resort is to # sleep for some time. start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --pidfile $PIDFILE --name ${DAEMON##*/} [ "$?" = 2 ] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f $PIDFILE return "$RETVAL" } # # Function that sends a SIGHUP to the daemon/service # do_reload() { # # If the daemon can reload its configuration without # restarting (for example, when it is sent a SIGHUP), # then implement that here. # start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE --name $NAME return 0 } case "$1" in start) log_daemon_msg "Starting $DESC" "$NAME" do_start case "$?" in 0|1) log_end_msg 0 ;; 2) log_end_msg 1 ;; esac ;; stop) log_daemon_msg "Stopping $DESC" "$NAME" do_stop case "$?" in 0|1) log_end_msg 0 ;; 2) log_end_msg 1 ;; esac ;; reload|force-reload) log_daemon_msg "Reloading $DESC" "$NAME" do_reload log_end_msg $? ;; restart) # # If the "reload" option is implemented then remove the # 'force-reload' alias # log_daemon_msg "Restarting $DESC" "$NAME" do_stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start esac ;; *) # Failed to stop log_end_msg 1 ;; esac ;; status) status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2 exit 3 ;; esac debian/dovecot-pop3d.dirs0000664000000000000000000000005112306335375012544 0ustar usr/lib/dovecot usr/share/dovecot/conf.d debian/dovecot-core.dovecot.upstart0000664000000000000000000000212112306335375014652 0ustar # dovecot - pop3/imap mail server # # Dovecot is a mail server whose major goals are security and extreme reliability. description "dovecot - pop3/imap mail server" start on runlevel [2345] stop on runlevel [!2345] respawn pre-start script test -x /usr/sbin/dovecot || { stop ; exit 0; } test -r /etc/dovecot/dovecot.conf || { stop ; exit 0; } # dont check for inetd.conf if its not installed if [ -f /etc/inetd.conf ]; then # The init script should do nothing if dovecot or another imap/pop3 server # is being run from inetd, and dovecot is configured to run as an imap or # pop3 service for p in `sed -r "s/^ *(([^:]+|\[[^]]+]|\*):)?(pop3s?|imaps?)[ \t].*/\3/;t;d" \ /etc/inetd.conf` do for q in `sed -r "s/^[ \t]*protocols[ \t]*=[ \t]*(([^\"]*)|\"(.*)\")/\2\3/;t;d" \ /etc/dovecot/dovecot.conf` do if [ $p = $q ]; then exit 0 fi done done fi end script script test -x /usr/sbin/ntp-wait && ntp-wait -n 2 || true exec /usr/sbin/dovecot -F -c /etc/dovecot/dovecot.conf end script debian/mail-stack-delivery.postrm0000664000000000000000000000145712306335375014322 0ustar #!/bin/sh set -e POSTFIX_BCKFILE="/var/backups/mail-stack-delivery/main.cf-backup" PATH=/usr/sbin:$PATH export PATH if [ "$1" = "remove" -o "$1" = "purge" ]; then # Restore postfix configuration if [ "$1" = "remove" ]; then if which postconf >/dev/null && [ -f "${POSTFIX_BCKFILE}" ]; then while read line; do postconf -e "$line" done < "${POSTFIX_BCKFILE}" rm -f "${POSTFIX_BCKFILE}" fi fi if [ -x "/etc/init.d/dovecot" ]; then if [ -x /usr/sbin/invoke-rc.d ]; then invoke-rc.d dovecot restart else service dovecot restart fi fi if [ -x "/etc/init.d/postfix" ]; then if [ -x /usr/sbin/invoke-rc.d ]; then invoke-rc.d postfix restart else service postfix restart fi fi fi #DEBHELPER# debian/dovecot-imapd.dirs0000664000000000000000000000010112306335375012605 0ustar usr/lib/dovecot usr/lib/dovecot/modules usr/share/dovecot/conf.d debian/dovecot-managesieved.dirs0000664000000000000000000000011212306335375014145 0ustar usr/lib/dovecot usr/lib/dovecot/modules/settings usr/share/dovecot/conf.d debian/dovecot-core.postrm0000664000000000000000000000205712306335375013042 0ustar #!/bin/sh set -e PATH=/usr/sbin:$PATH export PATH if [ "$1" = "purge" ] ; then for conffile in `ucfq --with-colons dovecot-core | cut -d: -f1`; do # we mimic dpkg as closely as possible, so we remove configuration # files with dpkg backup extensions too: ### Some of the following is from Tore Anderson: for ext in '~' '%' .bak .dpkg-tmp .dpkg-new .dpkg-old .dpkg-dist .ucf-new .ucf-old .ucf-dist; do rm -f $conffile$ext done # remove the configuration file itself rm -f $conffile # and finally clear it out from the ucf database if which ucf >/dev/null; then ucf --purge $conffile fi if which ucfr >/dev/null; then ucfr --purge dovecot-core $conffile fi done userdel dovecot || true; userdel dovenull || true; if [ -d /var/run/dovecot ]; then rm -rf /var/run/dovecot; fi fi if [ "$1" = "triggered" ]; then if [ -x "/etc/init.d/dovecot" ]; then if [ -x /usr/sbin/invoke-rc.d ]; then invoke-rc.d dovecot start else /etc/init.d/dovecot start fi fi fi #DEBHELPER# debian/dovecot-core.pam0000664000000000000000000000012112306335375012261 0ustar #%PAM-1.0 @include common-auth @include common-account @include common-session debian/dovecot-lmtpd.postinst0000664000000000000000000000102612306335375013564 0ustar #!/bin/sh set -e if [ "$1" = "configure" ]; then CONFFILES="conf.d/20-lmtp.conf" for conffile in $CONFFILES ; do # Tell ucf that the file in /usr/share/dovecot is the latest # maintainer version, and let it handle how to manage the real # configuration file in /etc/dovecot. ucf --three-way --debconf-ok /usr/share/dovecot/$conffile /etc/dovecot/$conffile ucfr dovecot-lmtpd /etc/dovecot/$conffile done echo 'protocols = $protocols lmtp' > /usr/share/dovecot/protocols.d/lmtpd.protocol fi #DEBHELPER# debian/dovecot-core.default0000664000000000000000000000024712306335375013141 0ustar # /etc/default/dovecot # Set to '0' to explicitly disable starting Dovecot #ENABLED=0 # Set to '1' to allow Dovecot daemons to produce core dumps #ALLOW_COREDUMPS=1 debian/dovecot-lmtpd.postrm0000664000000000000000000000142712306335375013232 0ustar #!/bin/sh set -e if [ "$1" = "purge" ] ; then for conffile in `ucfq --with-colons dovecot-lmtpd | cut -d: -f1`; do # we mimic dpkg as closely as possible, so we remove configuration # files with dpkg backup extensions too: ### Some of the following is from Tore Anderson: for ext in '~' '%' .bak .dpkg-tmp .dpkg-new .dpkg-old .dpkg-dist .ucf-new .ucf-old .ucf-dist; do rm -f $conffile$ext done # remove the configuration file itself rm -f $conffile # and finally clear it out from the ucf database if which ucf >/dev/null; then ucf --purge $conffile fi if which ucfr >/dev/null; then ucfr --purge dovecot-lmtpd $conffile fi done fi if [ "$1" = "purge" ] || [ "$1" = "remove" ]; then rm -f /usr/share/dovecot/protocols.d/lmtpd.protocol fi #DEBHELPER# debian/po/0000775000000000000000000000000012306337331007607 5ustar debian/po/templates.pot0000664000000000000000000000436012306335375012342 0ustar # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: dovecot\n" "Report-Msgid-Bugs-To: dovecot@packages.debian.org\n" "POT-Creation-Date: 2013-11-07 07:06+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Wrong location for SSL certificates" msgstr "" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "" "This machine uses SSL certificates for Dovecot. These certificates should be " "moved from /etc/ssl to /etc/dovecot and Dovecot's configuration file (/etc/" "dovecot/conf.d/10-ssl.conf) should be updated accordingly." msgstr "" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Please read /usr/share/doc/dovecot-core/README.Debian.gz for details." msgstr "" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "Create a self-signed SSL certificate?" msgstr "" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "An SSL certificate is needed in order to use IMAP or POP3 over SSL/TLS. No " "such certificate was found." msgstr "" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "Please choose whether you want to create one now. This will then be a self-" "signed certificate." msgstr "" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "If you choose not to create a certificate, please adapt Dovecot's " "configuration file (/etc/dovecot/conf.d/10-ssl.conf)." msgstr "" #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Host name:" msgstr "" #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Please enter the host name to use in the SSL certificate." msgstr "" #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "" "It will become the \"commonName\" field of the generated SSL certificate." msgstr "" debian/po/pl.po0000664000000000000000000000653112306335375010575 0ustar # Translation of dovecot debconf templates to Polish. # Copyright (C) 2013 # This file is distributed under the same license as the dovecot package. # # Michał Kułach , 2013. msgid "" msgstr "" "Project-Id-Version: dovecot\n" "Report-Msgid-Bugs-To: dovecot@packages.debian.org\n" "POT-Creation-Date: 2013-11-07 07:06+0100\n" "PO-Revision-Date: 2013-11-19 21:01+0100\n" "Last-Translator: Michał Kułach \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" "X-Generator: Lokalize 1.4\n" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Wrong location for SSL certificates" msgstr "Złe położenie certyfikatów SSL" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "" "This machine uses SSL certificates for Dovecot. These certificates should be " "moved from /etc/ssl to /etc/dovecot and Dovecot's configuration file (/etc/" "dovecot/conf.d/10-ssl.conf) should be updated accordingly." msgstr "" "Komputer używa certyfikatów SSL do Dovecot. Powinny być one przeniesione z /" "etc/ssl do /etc/dovecot, a plik konfiguracyjny Dovecot (/etc/dovecot/conf." "d/10-ssl.conf) powinien zostać odpowiednio zaktualizowany." #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Please read /usr/share/doc/dovecot-core/README.Debian.gz for details." msgstr "" "Proszę zapoznać się z /usr/share/doc/dovecot-core/README.Debian.gz aby " "poznać więcej szczegółów." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "Create a self-signed SSL certificate?" msgstr "Utworzyć podpisany przez siebie samego certyfikat SSL?" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "An SSL certificate is needed in order to use IMAP or POP3 over SSL/TLS. No " "such certificate was found." msgstr "" "Certyfikat SSL jest wymagany w celu używania IMAP lub POP3 przez SSL/TLS. " "Nie znaleziono takiego certyfikatu." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "Please choose whether you want to create one now. This will then be a self-" "signed certificate." msgstr "" "Proszę wybrać, czy powinien zostać utworzony teraz. Będzie to certyfikat " "podpisany przez siebie samego." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "If you choose not to create a certificate, please adapt Dovecot's " "configuration file (/etc/dovecot/conf.d/10-ssl.conf)." msgstr "" "Jeśli nie utworzy się go w tej chwili, trzeba będzie odpowiednio dopasować " "plik konfiguracyjny Dovecot (/etc/dovecot/conf.d/10-ssl.conf)." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Host name:" msgstr "Nazwa hosta:" #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Please enter the host name to use in the SSL certificate." msgstr "Proszę podać nazwę hosta, która ma zostać użyta w certyfikacie SSL." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "" "It will become the \"commonName\" field of the generated SSL certificate." msgstr "Pojawi się ona w polu \"commonName\" wygenerowanego certyfikatu SSL." debian/po/it.po0000664000000000000000000000632512306335375010577 0ustar # Italian translation of dovecot debconf messages. # Copyright (C) 2013, dovecot package copyright holder # This file is distributed under the same license as the dovecot package. # Beatrice Torracca , 2013. msgid "" msgstr "" "Project-Id-Version: dovecot\n" "Report-Msgid-Bugs-To: dovecot@packages.debian.org\n" "POT-Creation-Date: 2013-11-07 07:06+0100\n" "PO-Revision-Date: 2013-11-16 19:25+0200\n" "Last-Translator: Beatrice Torracca \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Virtaal 0.7.1\n" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Wrong location for SSL certificates" msgstr "Posizione non corretta per i certificati SSL" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "" "This machine uses SSL certificates for Dovecot. These certificates should be " "moved from /etc/ssl to /etc/dovecot and Dovecot's configuration file (/etc/" "dovecot/conf.d/10-ssl.conf) should be updated accordingly." msgstr "" "Questa macchina usa certificati SSL per Dovecot. Questi certificati " "dovrebbero essere spostati da /etc/ssl in /etc/dovecot e il file di " "configurazione di Dovecot (/etc/dovecot/conf.d/10-ssl.conf) dovrebbe essere " "aggiornato di conseguenza." #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Please read /usr/share/doc/dovecot-core/README.Debian.gz for details." msgstr "Leggere /usr/share/doc/dovecot-core/README.Debian.gz per i dettagli." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "Create a self-signed SSL certificate?" msgstr "Creare un certificato SSL auto-firmato?" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "An SSL certificate is needed in order to use IMAP or POP3 over SSL/TLS. No " "such certificate was found." msgstr "" "È necessario un certificato SSL per poter usare IMAP o POP3 via SSL/TLS. Non " "è stato trovato un certificato di questo tipo." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "Please choose whether you want to create one now. This will then be a self-" "signed certificate." msgstr "Scegliere se crearne uno ora. Sarà un certificato auto-firmato." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "If you choose not to create a certificate, please adapt Dovecot's " "configuration file (/etc/dovecot/conf.d/10-ssl.conf)." msgstr "" "Se si sceglie di non creare un certificato, adattare il file di " "configurazione di Dovecot (/etc/dovecot/conf.d/10-ssl.conf)." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Host name:" msgstr "Nome host:" #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Please enter the host name to use in the SSL certificate." msgstr "Inserire il nome host da usare nel certificato SSL." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "" "It will become the \"commonName\" field of the generated SSL certificate." msgstr "Diventerà il campo «commonName» del certificato SSL generato." debian/po/fr.po0000664000000000000000000000643412306335375010573 0ustar # Translation of dovecot debconf templates to french. # Copyright (C) 2013, French l10n team # This file is distributed under the same license as the dovecot package. # Julien Patriarca , 2013. # msgid "" msgstr "" "Project-Id-Version: dovecot\n" "Report-Msgid-Bugs-To: dovecot@packages.debian.org\n" "POT-Creation-Date: 2013-11-07 07:06+0100\n" "PO-Revision-Date: 2013-11-08 10:15+0100\n" "Last-Translator: Julien Patriarca \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Wrong location for SSL certificates" msgstr "Mauvais emplacement pour les certificats SSL" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "" "This machine uses SSL certificates for Dovecot. These certificates should be " "moved from /etc/ssl to /etc/dovecot and Dovecot's configuration file (/etc/" "dovecot/conf.d/10-ssl.conf) should be updated accordingly." msgstr "" "Cette machine utilise des certificats SSL pour Dovecot. Ces certificats " "doivent être déplacés de /etc/ssl vers /etc/dovecot, et le fichier de " "configuration de Dovecot (/etc/dovecot/conf.d/10-ssl.conf) doit être mis à " "jour en conséquence." #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Please read /usr/share/doc/dovecot-core/README.Debian.gz for details." msgstr "" "Veuillez lire le fichier /usr/share/doc/dovecot-core/README.Debian.gz pour " "les détails." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "Create a self-signed SSL certificate?" msgstr "Faut-il créer un certificat SSL auto-signé ?" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "An SSL certificate is needed in order to use IMAP or POP3 over SSL/TLS. No " "such certificate was found." msgstr "" "Un certificat SSL est nécessaire pour utiliser les protocoles IMAP et POP3 " "avec SSL. Aucun certificat n'a été trouvé." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "Please choose whether you want to create one now. This will then be a self-" "signed certificate." msgstr "" "Veuillez choisir si vous souhaitez en créer un maintenant. Ce sera alors un " "certificat auto-signé." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "If you choose not to create a certificate, please adapt Dovecot's " "configuration file (/etc/dovecot/conf.d/10-ssl.conf)." msgstr "" "Si vous choisissez de ne pas créer de certificat, veuillez modifier le " "fichier de configuration de Dovecot (/etc/dovecot/conf.d/10-ssl.conf)." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Host name:" msgstr "Nom d'hôte :" #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Please enter the host name to use in the SSL certificate." msgstr "Veuillez indiquer le nom d'hôte à utiliser dans le certificat SSL." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "" "It will become the \"commonName\" field of the generated SSL certificate." msgstr "Il constituera le champ « commonName » du certificat SSL créé." debian/po/POTFILES.in0000664000000000000000000000006112306335375011367 0ustar [type: gettext/rfc822deb] dovecot-core.templates debian/po/pt.po0000664000000000000000000000641612306335375010607 0ustar # Translation of dovecot's debconf messages to european portuguese # Copyright (C) 2013 THE dovecot'S COPYRIGHT HOLDER # This file is distributed under the same license as the dovecot package. # # Américo Monteiro , 2013. msgid "" msgstr "" "Project-Id-Version: dovecot 1:2.2.5-2\n" "Report-Msgid-Bugs-To: dovecot@packages.debian.org\n" "POT-Creation-Date: 2013-11-07 07:06+0100\n" "PO-Revision-Date: 2013-11-20 01:53+0000\n" "Last-Translator: Américo Monteiro \n" "Language-Team: Portuguese \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.4\n" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Wrong location for SSL certificates" msgstr "Localização errada para certificados SSL" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "" "This machine uses SSL certificates for Dovecot. These certificates should be " "moved from /etc/ssl to /etc/dovecot and Dovecot's configuration file (/etc/" "dovecot/conf.d/10-ssl.conf) should be updated accordingly." msgstr "" "Esta máquina usa certificados SSL para o Dovecot. Estes certificados devem " "ser movidos de /etc/ssl para /etc/dovecot e o ficheiro de configuração do " "Dovecot (/etc/dovecot/conf.d/10-ssl.conf) deve ser actualizado de acordo com " "a alteração." #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Please read /usr/share/doc/dovecot-core/README.Debian.gz for details." msgstr "" "Por favor leia /usr/share/doc/dovecot-core/README.Debian.gz para mais " "detalhes." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "Create a self-signed SSL certificate?" msgstr "Criar um certificado SSL auto-assinado?" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "An SSL certificate is needed in order to use IMAP or POP3 over SSL/TLS. No " "such certificate was found." msgstr "" "É necessário um certificado SSL de modo a usar IMAP ou POP3 por SSL/TLS. " "Nenhum certificado foi encontrado." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "Please choose whether you want to create one now. This will then be a self-" "signed certificate." msgstr "" "Por favor escolha se deseja criar um agora. Este será um certificado auto-" "assinado." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "If you choose not to create a certificate, please adapt Dovecot's " "configuration file (/etc/dovecot/conf.d/10-ssl.conf)." msgstr "" "Se escolher não criar um certificado, por favor adapte o ficheiro de " "configuração do Dovecot (/etc/dovecot/conf.d/10-ssl.conf)." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Host name:" msgstr "Nome de máquina:" #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Please enter the host name to use in the SSL certificate." msgstr "Por favor indique o nome de máquina a usar no certificado SSL." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "" "It will become the \"commonName\" field of the generated SSL certificate." msgstr "Irá ser o campo \"commonName\" do certificado SSL gerado." debian/po/ru.po0000664000000000000000000000732112306335375010606 0ustar # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the dovecot package. # # Yuri Kozlov , 2013. msgid "" msgstr "" "Project-Id-Version: dovecot 1:2.2.5-2\n" "Report-Msgid-Bugs-To: dovecot@packages.debian.org\n" "POT-Creation-Date: 2013-11-07 07:06+0100\n" "PO-Revision-Date: 2013-11-09 09:56+0400\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Lokalize 1.4\n" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Wrong location for SSL certificates" msgstr "Некорректное расположение сертификатов SSL" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "" "This machine uses SSL certificates for Dovecot. These certificates should be " "moved from /etc/ssl to /etc/dovecot and Dovecot's configuration file (/etc/" "dovecot/conf.d/10-ssl.conf) should be updated accordingly." msgstr "" "На данной машине в Dovecot используются сертификаты SSL. Они должны быть " "перемещены из /etc/ssl в /etc/dovecot и, согласно этому, исправлен файл " "настройки Dovecot (/etc/dovecot/conf.d/10-ssl.conf)." #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Please read /usr/share/doc/dovecot-core/README.Debian.gz for details." msgstr "" "Подробней об этом смотрите в файле /usr/share/doc/dovecot-core/README.Debian." "gz." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "Create a self-signed SSL certificate?" msgstr "Создать самоподписанный сертификат SSL?" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "An SSL certificate is needed in order to use IMAP or POP3 over SSL/TLS. No " "such certificate was found." msgstr "" "Для работы IMAP или POP3 через SSL/TLS требуется сертификат SSL. Подходящий " "сертификат не обнаружен." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "Please choose whether you want to create one now. This will then be a self-" "signed certificate." msgstr "" "Укажите, нужно ли создать такой прямо сейчас. Это будет самоподписанный " "сертификат." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "If you choose not to create a certificate, please adapt Dovecot's " "configuration file (/etc/dovecot/conf.d/10-ssl.conf)." msgstr "" "Если вы откажитесь от создания сертификата, то исправьте файл настройки " "Dovecot (/etc/dovecot/conf.d/10-ssl.conf)." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Host name:" msgstr "Имя узла:" #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Please enter the host name to use in the SSL certificate." msgstr "Введите имя машины, которое будет использовано в сертификате SSL." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "" "It will become the \"commonName\" field of the generated SSL certificate." msgstr "" "Оно будет указано в поле «commonName» сгенерированного сертификата SSL." debian/po/da.po0000664000000000000000000000616212306335375010546 0ustar # Danish translation dovecot. # Copyright (C) 2013 dovecot & nedenstående oversættere. # This file is distributed under the same license as the dovecot package. # Joe Hansen , 2013. # msgid "" msgstr "" "Project-Id-Version: dovecot\n" "Report-Msgid-Bugs-To: dovecot@packages.debian.org\n" "POT-Creation-Date: 2013-11-07 07:06+0100\n" "PO-Revision-Date: 2013-11-12 19:21+0100\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Wrong location for SSL certificates" msgstr "Forkert placering for SSL-certifikater" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "" "This machine uses SSL certificates for Dovecot. These certificates should be " "moved from /etc/ssl to /etc/dovecot and Dovecot's configuration file (/etc/" "dovecot/conf.d/10-ssl.conf) should be updated accordingly." msgstr "" "Denne maskine bruger SSL-certifikater for Dovecot. Disse certifikater skal " "flyttes fra /etc/ssl til /etc/dovecot og Dovecots konfigurationsfil (/etc/" "dovecot/conf.d/10-ssl.conf) skal opdateres jævnfør dette." #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Please read /usr/share/doc/dovecot-core/README.Debian.gz for details." msgstr "" "Læs venligst /usr/share/doc/dovecot-core/README.Debian.gz for detaljer." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "Create a self-signed SSL certificate?" msgstr "Opret et egenunderskrevet SSL-certifikat?" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "An SSL certificate is needed in order to use IMAP or POP3 over SSL/TLS. No " "such certificate was found." msgstr "" "Et SSL-certifikat er krævet for at bruge IMAP eller POP3 over SSL/TLS. Intet " "sådant certifikat blev fundet." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "Please choose whether you want to create one now. This will then be a self-" "signed certificate." msgstr "" "Vælg venligst hvorvidt du ønsker at oprette et nu. Det vil være et " "egenunderskrevet certifikat." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "If you choose not to create a certificate, please adapt Dovecot's " "configuration file (/etc/dovecot/conf.d/10-ssl.conf)." msgstr "" "Hvis du vælger ikke at oprette et certifikat, så adopter Dovecots " "konfigurationsfil (/etc/dovecot/conf.d/10-ssl.conf)." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Host name:" msgstr "Værtsnavn:" #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Please enter the host name to use in the SSL certificate." msgstr "Indtast venligst værtsnavnet der skal bruges i SSL-certifikatet." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "" "It will become the \"commonName\" field of the generated SSL certificate." msgstr "Det vil blive »commonName«-feltet for det oprettede SSL-certifikat." debian/po/de.po0000664000000000000000000000651212306335375010551 0ustar # German translation of the dovecot debconf template. # This file is distributed under the same license as the dovecot package. # Copyright © 2001-2009 Timo Sirainen. # Copyright © of this file: Chris Leick , 2013. # msgid "" msgstr "" "Project-Id-Version: dovecot 1:2.2.5-2\n" "Report-Msgid-Bugs-To: dovecot@packages.debian.org\n" "POT-Creation-Date: 2013-11-07 07:06+0100\n" "PO-Revision-Date: 2013-11-07 10:45+0100\n" "Last-Translator: Chris Leick \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Wrong location for SSL certificates" msgstr "Falscher Speicherort für SSL-Zertifikate" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "" "This machine uses SSL certificates for Dovecot. These certificates should be " "moved from /etc/ssl to /etc/dovecot and Dovecot's configuration file (/etc/" "dovecot/conf.d/10-ssl.conf) should be updated accordingly." msgstr "" "Dieser Rechner verwendet SSL-Zertifikate für Dovecot. Diese Zertifikate " "sollten von /etc/ssl nach /etc/dovecot verschoben und die " "Konfigurationsdatei von Dovecot (/etc/dovecot/conf.d/10-ssl.conf) " "entsprechend aktualisiert werden." #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Please read /usr/share/doc/dovecot-core/README.Debian.gz for details." msgstr "" "Bitte lesen Sie /usr/share/doc/dovecot-core/README.Debian.gz, um " "Einzelheiten zu erfahren." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "Create a self-signed SSL certificate?" msgstr "Ein selbstsigniertes SSL-Zertifikat erstellen?" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "An SSL certificate is needed in order to use IMAP or POP3 over SSL/TLS. No " "such certificate was found." msgstr "" "Um IMAP oder POP3 über SSL/TLS zu benutzen, wird ein SSL-Zertifikat " "benötigt. Es wurde kein derartiges Zertifikat gefunden." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "Please choose whether you want to create one now. This will then be a self-" "signed certificate." msgstr "" "Bitte wählen Sie, ob Sie nun eins erstellen möchten. Dies wird dann ein " "selbstsigniertes Zertifikat sein." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "If you choose not to create a certificate, please adapt Dovecot's " "configuration file (/etc/dovecot/conf.d/10-ssl.conf)." msgstr "" "Falls Sie sich entscheiden, kein Zertifikat zu erstellen, passen Sie bitte " "die Konfigurationsdatei von Dovecot (/etc/dovecot/conf.d/10-ssl.conf) an." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Host name:" msgstr "Rechnername:" #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Please enter the host name to use in the SSL certificate." msgstr "" "Bitte geben Sie den Rechnernamen ein, der im SSL-Zertifikat benutzt werden " "soll." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "" "It will become the \"commonName\" field of the generated SSL certificate." msgstr "Er wird das Feld »commonName« des erzeugten SSL-Zertifikats werden." debian/po/ja.po0000664000000000000000000000650012306335375010550 0ustar # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the dovecot package. # victory , 2013. # msgid "" msgstr "" "Project-Id-Version: dovecot\n" "Report-Msgid-Bugs-To: dovecot@packages.debian.org\n" "POT-Creation-Date: 2013-11-07 07:06+0100\n" "PO-Revision-Date: 2013-11-07 15:06+0900\n" "Last-Translator: victory \n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Wrong location for SSL certificates" msgstr "SSL 証明書が良くない位置にあります" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "" "This machine uses SSL certificates for Dovecot. These certificates should be " "moved from /etc/ssl to /etc/dovecot and Dovecot's configuration file (/etc/" "dovecot/conf.d/10-ssl.conf) should be updated accordingly." msgstr "" "このマシンでは Dovecot 用の SSL 証明書を利用しています。その証明書を /etc/" "ssl から /etc/dovecot に移動するとともに Dovecot の設定ファイル (/etc/" "dovecot/conf.d/10-ssl.conf) の設定をそれに合わせて更新すべきです。" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Please read /usr/share/doc/dovecot-core/README.Debian.gz for details." msgstr "" "詳細については /usr/share/doc/dovecot-core/README.Debian.gz を見てください。" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "Create a self-signed SSL certificate?" msgstr "自己署名した SSL 証明書を作成しますか?" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "An SSL certificate is needed in order to use IMAP or POP3 over SSL/TLS. No " "such certificate was found." msgstr "" "IMAP や POP3 を SSL/TLS 越しに利用するには証明書が必要ですが、その証明書が見" "つかりませんでした。" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "Please choose whether you want to create one now. This will then be a self-" "signed certificate." msgstr "" "ここで作成するかどうか選択してください。作成する場合は自己署名した証明書を作" "成します。" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "If you choose not to create a certificate, please adapt Dovecot's " "configuration file (/etc/dovecot/conf.d/10-ssl.conf)." msgstr "" "ここで作成しない場合は Dovecot の設定ファイル (/etc/dovecot/conf.d/10-ssl." "conf) をそれに合わせて変更してください。" #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Host name:" msgstr "ホスト名:" #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Please enter the host name to use in the SSL certificate." msgstr "SSL 証明書で利用するホスト名を入力してください。" #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "" "It will become the \"commonName\" field of the generated SSL certificate." msgstr "これは生成した SSL 証明書の「一般名 (CN)」として利用されます。" debian/po/sv.po0000664000000000000000000000620712306335375010612 0ustar # Translation of dovecot debconf template to Swedish # Copyright (C) 2013 Martin Bagge # This file is distributed under the same license as the dovecot package. # # Martin Bagge , 2013 msgid "" msgstr "" "Project-Id-Version: dovecot\n" "Report-Msgid-Bugs-To: dovecot@packages.debian.org\n" "POT-Creation-Date: 2013-11-07 07:06+0100\n" "PO-Revision-Date: 2013-11-22 12:58+0100\n" "Last-Translator: Martin Bagge / brother \n" "Language-Team: Swedish \n" "Language: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.4\n" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Wrong location for SSL certificates" msgstr "Fel plats för SSL-certifikat" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "" "This machine uses SSL certificates for Dovecot. These certificates should be " "moved from /etc/ssl to /etc/dovecot and Dovecot's configuration file (/etc/" "dovecot/conf.d/10-ssl.conf) should be updated accordingly." msgstr "" "Den maskinen använder SSL-cerifikat för Dovecot. Dessa certifikat ska " "flyttas från /etc/ssl till /etc/dovecot och Dovecots inställningsfil (/etc/" "dovecot/conf.d/10-ssl.conf) behöver uppdateras för detta." #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Please read /usr/share/doc/dovecot-core/README.Debian.gz for details." msgstr "Läs mer i /usr/share/doc/dovecot-core/README.Debian.gz." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "Create a self-signed SSL certificate?" msgstr "Skapa ett självsignerat SSL-certifikat?" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "An SSL certificate is needed in order to use IMAP or POP3 over SSL/TLS. No " "such certificate was found." msgstr "" "Ett SSL-certifikat behövs för att kunna använda IMAP eller POP3 över SSL/" "TLS. Inget sådant certifikat kunde hittas." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "Please choose whether you want to create one now. This will then be a self-" "signed certificate." msgstr "" "Ange om du vill skapat ett sådant nu. Detta kommer att vara ett " "självsignerat certifikat." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "If you choose not to create a certificate, please adapt Dovecot's " "configuration file (/etc/dovecot/conf.d/10-ssl.conf)." msgstr "" "Väljer du att inte skapa ett certifkat behövs justeringar i Dovecots " "inställningsfil (/etc/dovecot/conf.d/10-ssl.conf)." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Host name:" msgstr "Värdnamn:" #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Please enter the host name to use in the SSL certificate." msgstr "Ange värdnamnet som ska anvöndas i SSL-certifikatet." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "" "It will become the \"commonName\" field of the generated SSL certificate." msgstr "Detta kommer att hamna i SSL-certifikatets \"commonName\"-fält." debian/po/es.po0000664000000000000000000000767112306335375010577 0ustar # dovecot po-debconf translation to Spanish # Copyright (C) 2013 Software in the Public Interest # This file is distributed under the same license as the dovecot package. # Changes: # - Initial translation # Camaleón , 2013. # - Updates # Traductores, si no conocen el formato PO, merece la pena leer la # documentación de gettext, especialmente las secciones dedicadas a este # formato, por ejemplo ejecutando: # info -n '(gettext)PO Files' # info -n '(gettext)Header Entry' # Equipo de traducción al español, por favor lean antes de traducir # los siguientes documentos: # - El proyecto de traducción de Debian al español # http://www.debian.org/intl/spanish/ # especialmente las notas y normas de traducción en # http://www.debian.org/intl/spanish/notas # - La guía de traducción de po's de debconf: # /usr/share/doc/po-debconf/README-trans # o http://www.debian.org/intl/l10n/po-debconf/README-trans msgid "" msgstr "" "Project-Id-Version: dovecot 1:2.2.5-2\n" "Report-Msgid-Bugs-To: dovecot@packages.debian.org\n" "POT-Creation-Date: 2013-11-07 07:06+0100\n" "PO-Revision-Date: 2013-11-19 18:56+0200\n" "Last-Translator: Camaleón \n" "Language-Team: Debian Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Virtaal 0.7.1\n" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Wrong location for SSL certificates" msgstr "Ubicación incorrecta de los certificados SSL" #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "" "This machine uses SSL certificates for Dovecot. These certificates should be " "moved from /etc/ssl to /etc/dovecot and Dovecot's configuration file (/etc/" "dovecot/conf.d/10-ssl.conf) should be updated accordingly." msgstr "" "Este equipo utiliza certificados SSL para Dovecot. Debe mover estos " "certificados de «/etc/ssl» a «/etc/dovecot» y actualizar el archivo de " "configuración de Dovecot («/etc/dovecot/conf.d/10-ssl.conf») para reflejar " "este cambio." #. Type: error #. Description #: ../dovecot-core.templates:2001 msgid "Please read /usr/share/doc/dovecot-core/README.Debian.gz for details." msgstr "" "Consulte «/usr/share/doc/dovecot-core/README.Debian.gz» para más detalles." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "Create a self-signed SSL certificate?" msgstr "¿Desea crear un certificado SSL autofirmado?" #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "An SSL certificate is needed in order to use IMAP or POP3 over SSL/TLS. No " "such certificate was found." msgstr "" "Necesita un certificado SSL para utilizar IMAP o POP3 sobre SSL/TLS. No se " "ha encontrado ningún certificado." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "Please choose whether you want to create one now. This will then be a self-" "signed certificate." msgstr "Elija si desea crear uno ahora. Este será un certificado autofirmado." #. Type: boolean #. Description #: ../dovecot-core.templates:3001 msgid "" "If you choose not to create a certificate, please adapt Dovecot's " "configuration file (/etc/dovecot/conf.d/10-ssl.conf)." msgstr "" "Si decide no crear un certificado, modifique el archivo de configuración de " "Dovecot («/etc/dovecot/conf.d/10-ssl.conf»)." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Host name:" msgstr "Nombre del equipo:" #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "Please enter the host name to use in the SSL certificate." msgstr "Introduzca el nombre del equipo para utilizar en el certificado SSL." #. Type: string #. Description #: ../dovecot-core.templates:4001 msgid "" "It will become the \"commonName\" field of the generated SSL certificate." msgstr "Este será el campo «commonName» del certificado SSL generado." debian/dovecot-pop3d.postrm0000664000000000000000000000142712306335375013137 0ustar #!/bin/sh set -e if [ "$1" = "purge" ] ; then for conffile in `ucfq --with-colons dovecot-pop3d | cut -d: -f1`; do # we mimic dpkg as closely as possible, so we remove configuration # files with dpkg backup extensions too: ### Some of the following is from Tore Anderson: for ext in '~' '%' .bak .dpkg-tmp .dpkg-new .dpkg-old .dpkg-dist .ucf-new .ucf-old .ucf-dist; do rm -f $conffile$ext done # remove the configuration file itself rm -f $conffile # and finally clear it out from the ucf database if which ucf >/dev/null; then ucf --purge $conffile fi if which ucfr >/dev/null; then ucfr --purge dovecot-pop3d $conffile fi done fi if [ "$1" = "purge" ] || [ "$1" = "remove" ]; then rm -f /usr/share/dovecot/protocols.d/pop3d.protocol fi #DEBHELPER# debian/dovecot-mysql.triggers0000664000000000000000000000004212306335375013551 0ustar activate register-dovecot-plugin debian/dovecot-pop3d.prerm0000664000000000000000000000026012306335375012732 0ustar #!/bin/sh set -e if [ -x "/etc/init.d/dovecot" ]; then if [ -x /usr/sbin/invoke-rc.d ] ; then invoke-rc.d dovecot stop else /etc/init.d/dovecot stop fi fi #DEBHELPER# debian/compat0000664000000000000000000000000212306335375010375 0ustar 5 debian/dovecot-ldap.postrm0000664000000000000000000000133712306335375013032 0ustar #!/bin/sh set -e if [ "$1" = "purge" ] ; then CONFFILES="/etc/dovecot/dovecot-ldap.conf.ext \ /etc/dovecot/conf.d/auth-ldap.conf.ext" for conffile in $CONFFILES; do # we mimic dpkg as closely as possible, so we remove configuration # files with dpkg backup extensions too: ### Some of the following is from Tore Anderson: for ext in '~' '%' .bak .dpkg-tmp .dpkg-new .dpkg-old .dpkg-dist .ucf-new .ucf-old .ucf-dist; do rm -f $conffile$ext done # remove the configuration file itself rm -f $conffile # and finally clear it out from the ucf database if which ucf >/dev/null; then ucf --purge $conffile fi if which ucfr >/dev/null; then ucfr --purge dovecot-ldap $conffile fi done fi #DEBHELPER# debian/dovecot-pgsql.links0000664000000000000000000000007112306335375013026 0ustar /usr/share/bug/dovecot-core /usr/share/bug/dovecot-pgsql debian/dovecot-sqlite.triggers0000664000000000000000000000004212306335375013705 0ustar activate register-dovecot-plugin debian/dovecot-managesieved.lintian-overrides0000664000000000000000000000031612306335375016650 0ustar dovecot-managesieved: hardening-no-fortify-functions usr/lib/dovecot/managesieve-login dovecot-managesieved: hardening-no-fortify-functions usr/lib/dovecot/modules/settings/libmanagesieve_login_settings.so debian/dovecot-pgsql.dirs0000664000000000000000000000007312306335375012651 0ustar usr/lib/dovecot/modules/auth usr/lib/dovecot/modules/dict debian/maildirmake.dovecot0000664000000000000000000000101112306335375013034 0ustar #!/bin/sh # # maildirmake.dovecot -- create maildirs # Copyright (c) 2003, Jaldhar H. Vyas # "Do what thou wilt" shall be the whole of the license. # dir="$1" owner="$2" if [ -z "$dir" ]; then echo "Must supply a directory path" exit 1 fi if [ "$dir" = "-h" ]; then echo "usage: $0 directory [user]" exit 0 fi umask 077 mkdir -p "$dir/cur" "$dir/new" "$dir/tmp" || exit 1 chmod 0700 "$dir" "$dir/cur" "$dir/new" "$dir/tmp" || exit 1 if [ -n "$owner" ]; then chown -R "$owner" "$dir" || exit 1 fi exit 0 debian/dovecot-ldap.dirs0000664000000000000000000000006612306335375012445 0ustar usr/lib/dovecot/modules/auth usr/share/dovecot/conf.d debian/dovecot-ldap.lintian-overrides0000664000000000000000000000013512306335375015137 0ustar dovecot-ldap: hardening-no-fortify-functions usr/lib/dovecot/modules/auth/libauthdb_ldap.so debian/tests/0000775000000000000000000000000012306337327010340 5ustar debian/tests/general0000664000000000000000000001424412306335375011706 0ustar #!/usr/bin/python import unittest, subprocess, shutil, grp, os, os.path, sys, time import imaplib, poplib import testlib import testlib_dovecot class DovecotBasics(unittest.TestCase): '''Base operational tests for Dovecot server.''' def _setUp(self,config_mmap_disable=False): '''Create test scenario. dovecot is configured for all protocols (imap[s] and pop3[s]), a test user is set up, and /var/mail/$user contains an unread and a read mail. ''' self.user = testlib.TestUser() config = ''' protocols = imap imaps pop3 pop3s log_timestamp = "%Y-%m-%d %H:%M:%S " mail_extra_groups = mail ''' if config_mmap_disable: config += ''' mmap_disable = yes ''' config += ''' protocol imap { } protocol pop3 { pop3_uidl_format = %08Xu%08Xv } auth default { mechanisms = plain passdb pam { } userdb passwd { } user = root } ''' self.dovecot = testlib_dovecot.Dovecot(self.user,config) def tearDown(self): self.dovecot = None self.user = None def _test_pop3_proto(self, pop): '''Internal factorization of POP3 protocol checks with an established connection.''' # check empty password self.assertEqual(pop.user(self.user.login), '+OK') self.assertRaises(poplib.error_proto, pop.pass_, '') # check wrong password self.assertEqual(pop.user(self.user.login), '+OK') self.assertRaises(poplib.error_proto, pop.pass_, '123') # check correct password self.assertEqual(pop.user(self.user.login), '+OK') self.assertEqual(pop.pass_(self.user.password), '+OK Logged in.') # check messages self.assertEqual(pop.stat()[0], 2, '2 available messages') self.assertEqual(pop.list()[1], ['1 163', '2 161']) self.assertEqual('\n'.join(pop.retr(1)[1]), '''Date: Thu, 16 Nov 2006 17:12:23 -0800 From: Test User 1 To: Dovecot tester Subject: Test 1 Some really important news.''') self.assertEqual('\n'.join(pop.retr(2)[1]), '''Date: Tue, 28 Nov 2006 11:29:34 +0100 From: Test User 2 To: Dovecot tester Subject: Test 2 More news. Get cracking!''') self.assertEqual(pop.quit(), '+OK Logging out.') # check new status status = '' for l in open(self.dovecot.get_mailbox()): if l.startswith('Status:'): status += l self.assertEqual(status, 'Status: NRO\nStatus: RO\n') def test_pop3(self): '''Test POP3 protocol.''' pop = poplib.POP3('localhost') self.assertEqual(pop.getwelcome(), '+OK Dovecot ready.') self._test_pop3_proto(pop) def test_pop3s(self): '''Test POP3S protocol.''' pop = poplib.POP3_SSL('localhost') self.assertEqual(pop.getwelcome(), '+OK Dovecot ready.') self._test_pop3_proto(pop) def _test_imap_proto(self, imap): '''Internal factorization of IMAP4 protocol checks with an established connection.''' # invalid passwords self.assertRaises(imaplib.IMAP4.error, imap.login, self.user.login, '') self.assertRaises(imaplib.IMAP4.error, imap.login, self.user.login, '123') # correct password imap.login(self.user.login, self.user.password) # list mailboxes status, list = imap.list() self.assertEqual(status, 'OK') self.assert_(list[0].endswith('"INBOX"')) # check mails imap.select() self.assertEqual(imap.search(None, 'ALL'), ('OK', ['1 2'])) self.assertEqual(imap.fetch('1', '(FLAGS)'), ('OK', ['1 (FLAGS (\\Recent))'])) self.assertEqual(imap.fetch('2', '(FLAGS)'), ('OK', ['2 (FLAGS (\\Seen \\Recent))'])) self.assertEqual(imap.fetch('1', '(BODY[TEXT])')[1][0][1], 'Some really important news.\r\n') self.assertEqual(imap.fetch('2', '(BODY[TEXT])')[1][0][1], 'More news.\r\n\r\nGet cracking!') self.assertEqual(imap.fetch('1', '(RFC822)')[1], [('1 (RFC822 {163}', '''Date: Thu, 16 Nov 2006 17:12:23 -0800\r From: Test User 1 \r To: Dovecot tester \r Subject: Test 1\r \r Some really important news.\r '''), ')']) # delete mail 1 self.assertEqual(imap.store('1', '+FLAGS', '\\Deleted')[0], 'OK') self.assertEqual(imap.expunge()[0], 'OK') self.assertEqual(imap.search(None, 'ALL'), ('OK', ['1'])) # old mail 2 is mail 1 now self.assertEqual(imap.fetch('1', '(RFC822)')[1], [('1 (RFC822 {161}', '''Date: Tue, 28 Nov 2006 11:29:34 +0100\r From: Test User 2 \r To: Dovecot tester \r Subject: Test 2\r \r More news.\r \r Get cracking!'''), ')']) imap.close() imap.logout() def test_imap(self): '''Test IMAP4 protocol.''' imap = imaplib.IMAP4() self._test_imap_proto(imap) def test_imaps(self): '''Test IMAP4S protocol.''' imap = imaplib.IMAP4_SSL() self._test_imap_proto(imap) class DovecotMmapTest(DovecotBasics): '''Test dovecot with mmap support.''' def setUp(self): self._setUp() def test_configuration(self): '''Test dovecot configuration has mmap support.''' self.assertEquals(subprocess.call(['/bin/grep', '-q', '^mmap_disable = yes','/etc/dovecot/dovecot.conf'], stdout=subprocess.PIPE), 1) class DovecotDirectTest(DovecotBasics): '''Test dovecot without mmap support.''' def setUp(self): self._setUp(config_mmap_disable=True) def test_configuration(self): '''Test dovecot configuration has mmap disabled.''' self.assertEquals(subprocess.call(['/bin/grep', '-q', '^mmap_disable = yes','/etc/dovecot/dovecot.conf'], stdout=subprocess.PIPE), 0) if __name__ == '__main__': os.dup2(1,2) suite = unittest.TestSuite() suite.addTest(unittest.TestLoader().loadTestsFromTestCase(DovecotDirectTest)) suite.addTest(unittest.TestLoader().loadTestsFromTestCase(DovecotMmapTest)) unittest.TextTestRunner(verbosity=2).run(suite) #unittest.main() debian/tests/testlib_dovecot.py0000664000000000000000000000744412306335375014115 0ustar #!/usr/bin/python ''' Packages required: dovecot-imapd dovecot-pop3d ''' import subprocess, shutil, grp, os, os.path, sys, time class Dovecot: def get_mailbox(self): return self.mailbox def __init__(self,user,config=None): '''Create test scenario. dovecot is configured for all protocols (imap[s] and pop3[s]), a test user is set up, and /var/mail/$user contains an unread and a read mail. ''' self.old_version = False if config == None: if file("/etc/dovecot/dovecot.conf","r").read().find('auth_mechanisms = plain')>0: # Old dovecot config=''' protocols = imap imaps pop3 pop3s login = imap login = pop3 mail_extra_groups = mail auth = auth-cram auth_mechanisms = cram-md5 auth_passdb = passwd-file /etc/dovecot/test.passwd auth_user = root auth = auth-plain auth_mechanisms = plain auth_passdb = pam auth_user = root ''' self.old_version = True else: # Modern dovecot config=''' protocols = imap imaps pop3 pop3s log_timestamp = "%Y-%m-%d %H:%M:%S " mail_extra_groups = mail protocol imap { } protocol pop3 { pop3_uidl_format = %08Xu%08Xv } auth default { mechanisms = plain cram-md5 passdb passwd-file { args = /etc/dovecot/test.passwd } passdb pam { } userdb passwd { } user = root } ''' # make sure that /etc/inetd.conf exists to avoid init script errors self.created_inetdconf = False if not os.path.exists('/etc/inetd.conf'): open('/etc/inetd.conf', 'a') self.created_inetdconf = True # configure and restart dovecot if not os.path.exists('/etc/dovecot/dovecot.conf.autotest'): shutil.copyfile('/etc/dovecot/dovecot.conf', '/etc/dovecot/dovecot.conf.autotest') cfgfile = open('/etc/dovecot/dovecot.conf', 'w') cfgfile.write(config) cfgfile.close() file('/etc/dovecot/test.passwd','w').write('%s:{plain}%s\n' % (user.login, user.password) ) # restart will fail if dovecot is not already running subprocess.call(['/etc/init.d/dovecot', 'stop'], stdout=subprocess.PIPE) assert subprocess.call(['/etc/init.d/dovecot', 'start'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) == 0 # create test mailbox with one new and one old mail self.mailbox = '/var/mail/' + user.login self.orig_mbox = \ '''From test1@test1.com Fri Nov 17 02:21:08 2006 Date: Thu, 16 Nov 2006 17:12:23 -0800 From: Test User 1 To: Dovecot tester Subject: Test 1 Status: N Some really important news. From test2@test1.com Tue Nov 28 11:29:34 2006 Date: Tue, 28 Nov 2006 11:29:34 +0100 From: Test User 2 To: Dovecot tester Subject: Test 2 Status: R More news. Get cracking! ''' open(self.mailbox, 'w').write(self.orig_mbox) os.chown(self.mailbox, user.uid, grp.getgrnam('mail')[2]) os.chmod(self.mailbox, 0660) def __del__(self): # restore original configuration and restart dovecot os.rename('/etc/dovecot/dovecot.conf.autotest', '/etc/dovecot/dovecot.conf') # quiesce, default configuration has no protocols subprocess.call(['/etc/init.d/dovecot', 'restart'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) if self.created_inetdconf: os.unlink('/etc/inetd.conf') def get_ssl_fingerprint(self): pem = '/etc/ssl/certs/dovecot.pem' if not os.path.exists(pem): pem = '/etc/ssl/certs/ssl-cert-snakeoil.pem' sp = subprocess.Popen(['openssl','x509','-in',pem,'-noout','-md5','-fingerprint'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True) return sp.communicate(None)[0].split('=',1)[1].strip() debian/tests/testlib.py0000664000000000000000000000552712306335375012372 0ustar '''Common classes and functions for package tests.''' import string, random, crypt, subprocess, pwd, signal, time class TimedOutException(Exception): def __init__(self, value = "Timed Out"): self.value = value def __str__(self): return repr(self.value) def timeout(secs, f, *args): def handler(signum, frame): raise TimedOutException() old = signal.signal(signal.SIGALRM, handler) result = None signal.alarm(secs) try: result = f(*args) finally: signal.alarm(0) signal.signal(signal.SIGALRM, old) return result def random_string(length): '''Return a random string, consisting of ASCII letters, with given length.''' s = '' maxind = len(string.letters)-1 for l in range(length): s += string.letters[random.randint(0, maxind)] return s def login_exists(login): '''Checks whether the given login exists on the system.''' try: pwd.getpwnam(login) return True except KeyError: return False def cmd(command, input = None, stderr = subprocess.STDOUT): '''Try to execute given command (array) and return its stdout, or return a textual error if it failed.''' try: sp = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=stderr, close_fds=True) except OSError, e: return [127, str(e)] out = sp.communicate(input)[0] return [sp.returncode,out] class TestUser: '''Create a temporary test user and remove it again in the dtor.''' def __init__(self, login=None, home=True): '''Create a new user account with a random password. By default, the login name is random, too, but can be explicitly specified with 'login'. By default, a home directory is created, this can be suppressed with 'home=False'.''' self.login = None if login: if login_exists(login): raise ValueError, 'login name already exists' else: while(True): login = random_string(8) if not login_exists(login): break self.salt = random_string(2) self.password = random_string(8) self.crypted = crypt.crypt(self.password, self.salt) if home: assert subprocess.call(['useradd', '-p', self.crypted, '-m', login]) == 0 else: assert subprocess.call(['useradd', '-p', self.crypted, login]) == 0 self.login = login p = pwd.getpwnam(self.login) self.uid = p[2] self.gid = p[3] def __del__(self): '''Remove the created user account.''' if self.login: # seems to already have gone here try: import subprocess except: pass assert subprocess.call(['userdel', '-r', self.login]) == 0 debian/tests/control0000664000000000000000000000016012306335375011741 0ustar Tests: general Restrictions: needs-root Features: no-build-needed Depends: python, dovecot-imapd, dovecot-pop3d debian/dovecot-lmtpd.prerm0000664000000000000000000000026012306335375013025 0ustar #!/bin/sh set -e if [ -x "/etc/init.d/dovecot" ]; then if [ -x /usr/sbin/invoke-rc.d ] ; then invoke-rc.d dovecot stop else /etc/init.d/dovecot stop fi fi #DEBHELPER# debian/dovecot-sqlite.links0000664000000000000000000000007212306335375013202 0ustar /usr/share/bug/dovecot-core /usr/share/bug/dovecot-sqlite debian/dovecot-core.lintian-overrides0000664000000000000000000000252112306335375015150 0ustar dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/anvil dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/auth dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/config dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/dict dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/director dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/gdbhelper dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/libdovecot-login.so.0.0.0 dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/libdovecot-sql.so.0.0.0 dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/modules/auth/libauthdb_imap.so dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/modules/lib05_pop3_migration_plugin.so dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/modules/lib10_quota_plugin.so dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/modules/lib11_trash_plugin.so dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/modules/lib20_replication_plugin.so dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/modules/lib21_fts_squat_plugin.so dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/replicator dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/script dovecot-core: hardening-no-fortify-functions usr/lib/dovecot/script-login debian/dovecot-mysql.dirs0000664000000000000000000000007312306335375012670 0ustar usr/lib/dovecot/modules/auth usr/lib/dovecot/modules/dict debian/99-mail-stack-delivery.conf0000664000000000000000000000231012306335375014147 0ustar # Some general options protocols = imap pop3 sieve disable_plaintext_auth = yes ssl = yes ssl_cert = was automatically rejected:%n%r } # Plugins configuration plugin { sieve=~/.dovecot.sieve sieve_dir=~/sieve } # Authentication configuration auth_mechanisms = plain login service auth { # Postfix smtp-auth unix_listener /var/spool/postfix/private/dovecot-auth { mode = 0660 user = postfix group = postfix } } debian/dovecot-solr.triggers0000664000000000000000000000004212306335375013363 0ustar activate register-dovecot-plugin debian/dovecot-pop3d.links0000664000000000000000000000007112306335375012725 0ustar /usr/share/bug/dovecot-core /usr/share/bug/dovecot-pop3d debian/dovecot-core.README.Debian0000664000000000000000000002361612306335375013640 0ustar Dovecot debian package ====================== Please refer to http://wiki2.dovecot.org for the full documentation of this package and its configuration. Note that the default value for mbox_write_locks differs between Debian and upstream Dovecot: Debian: mbox_write_locks = "fnctl dotlock" Dovecot: mbox_write_locks = "dotlock fnctl" dovenull group -------------- Upstream recommends that for securities sake, the dovenull user should belong to its own private group to which no one else belongs. Prior to 2.2.9-1, the dovenull user was in the nogroup group which contains other users. This has been rectified for new installs but upgraders should make the change themselves like this: # addgroup --system --group dovenull # usermod -g dovenull dovenull Upgrading from 1.2 (squeeze) to 2.0 (wheezy) -------------------------------------------- * If you are upgrading from 1.2.15 in stable, be aware that a lot of settings have changed. Dovecot v2.0 can still use most of the v1.x configuration files, but it logs a lot of warnings at startup. A quick and easy way to convert your old config file to v2.0 format is: doveconf -n -c dovecot-1.conf > dovecot-2.conf This command logs a warning about each obsolete setting it converts to the new format. You can either go through the warnings to figure out what changes exactly were done, or you can simply trust doveconf and replace your old config with the newly generated one. * The biggest problem reported so far is due to an unfortunate packaging error in earlier versions of the 2.1.7 packages that left several files in /etc/dovecot/conf.d unmarked as conf files. This meant that dpkg didn't give them its usual protection against the overwriting of user changes and silently changed them to them to the package defaults even if you made your own local modifications. This was fixed in -3. Who is affected by this bug? + if you are upgrading to this version from 1.2.15 in stable you are not affected. + if you are upgrading from 2.1.7 -3 or higher, you are not affected. + if you are upgrading from 2.1.7 -2 or -1 from unstable, testing, or backports, you might be affected. If you are affected, check all the files in /etc/dovecot/conf.d carefully and remerge your local changes. Sorry for the inconvenience; this should not happen again. If you want to be absolutely sure nothing will happen to your configuration you can add it to /etc/dovecot/local.conf which is completely untouched by the dovecot package. * In conf.d/10-mail.conf, the default mail_location is set by default to mbox:~/mail:INBOX=/var/mail/%u This has to be set because Dovecots auto-detection of mailboxes fails when a user has no mail. I tried to provide a reasonable default but advanced users will certainly want to change this. People affected by the conf file bug mentioned above should also check that it is set to the right values. Related to this, you might see an error in the logs about dovecot not being able to chgrp certain files. This is because the default user mailboxes in Debian belong to group mail which dovecot is not part of (nor should be.) The Debian package has been patched so that the error will not be fatal but for a more permanent solution, see here: http://wiki2.dovecot.org/Errors/ChgrpNoPerm for some discussion. Or you can set mail_location (and the equivalent settings in your MDA) so that mailboxes are in the users home directory. Users bitten by the conf file bug or who did not have mail_location set at all may have found that mailbox detection worked anyway so they often ask me why it is necessary for the package to set it at all. Strictly speaking, it is not but we are trying to make the package plug-and-play for first time users while keeping things flexible for more advanced users and this is the best compromise that can be made. * Another file whose presence may cause problems is /etc/dovecot/conf.d/15-mailboxes.conf which defines mailboxes. By default this requires a "namespace inbox" section in /etc/dovecot/conf.d/10-mail.conf. Either add that namespace or comment out the contents of this file. * It was pointed out in bug #608719 that dovecots generated x.509 certificates should not be kept in /etc/ssl/certs. As of this version they are now created in /etc/dovecot on new installs. If you have an existing install, you can keep your certificates where they are or move them yourself. 1. Move /etc/ssl/certs/dovecot.pem to /etc/dovecot 2. Create a directory called /etc/dovecot/private owned by root:root with 0700 permissions. 3. Move /etc/ssl/certs/private/dovecot.pem to /etc/dovecot/private 4. In /etc/dovecot/conf.d/10-ssl.conf make sure you have these lines: ssl_cert = /usr/share/dovecot/protocols.d/managesieved.protocol fi #DEBHELPER# debian/dovecot-core.ufw.profile0000664000000000000000000000117712306335375013760 0ustar [Dovecot POP3] title=Secure mail server (POP3) description=Dovecot is a mail server whose major goals are security and extreme reliability. ports=110/tcp [Dovecot Secure POP3] title=Secure mail server (POP3S) description=Dovecot is a mail server whose major goals are security and extreme reliability. ports=995/tcp [Dovecot IMAP] title=Secure mail server (IMAP) description=Dovecot is a mail server whose major goals are security and extreme reliability. ports=143/tcp [Dovecot Secure IMAP] title=Secure mail server (IMAPS) description=Dovecot is a mail server whose major goals are security and extreme reliability. ports=993/tcp debian/dovecot-core.dirs0000664000000000000000000000023712306335375012455 0ustar etc/dovecot/private usr/sbin usr/share/dovecot/protocols.d usr/share/doc/dovecot-core etc/dovecot/conf.d etc/ssl/certs etc/ssl/private etc/ufw/applications.d debian/dovecot-sieve.postrm0000664000000000000000000000125212306335375013221 0ustar #!/bin/sh set -e if [ "$1" = "purge" ] ; then for conffile in `ucfq --with-colons dovecot-sieve | cut -d: -f1`; do # we mimic dpkg as closely as possible, so we remove configuration # files with dpkg backup extensions too: ### Some of the following is from Tore Anderson: for ext in '~' '%' .bak .dpkg-tmp .dpkg-new .dpkg-old .dpkg-dist .ucf-new .ucf-old .ucf-dist; do rm -f $conffile$ext done # remove the configuration file itself rm -f $conffile # and finally clear it out from the ucf database if which ucf >/dev/null; then ucf --purge $conffile fi if which ucfr >/dev/null; then ucfr --purge dovecot-sieve $conffile fi done fi #DEBHELPER# debian/dovecot-pop3d.lintian-overrides0000664000000000000000000000010412306335375015240 0ustar dovecot-pop3d: hardening-no-fortify-functions usr/lib/dovecot/pop3 debian/dovecot-core.bug-script0000664000000000000000000000106212306335375013570 0ustar #!/bin/bash set -e pecho() { echo "$@" echo "$@"|sed 's/./-/g' } if [ -x /usr/bin/doveconf ] then echo cat <<-EOF You can append "doveconf -n" output to the bug report. It will help the maintainers to better understand your configuration. It normally doesn't contain any sensitive information, but you should review it before sending. EOF echo yesno "Do you want to append \"doveconf -n\" output to your bug report? " yep if [ "$REPLY" == yep ] then echo >&3 pecho "dovecot configuration" >&3 /usr/bin/doveconf -n >&3 fi fi debian/watch0000664000000000000000000000026112306335375010227 0ustar # watch control file for uscan version=3 # Site Version Script http://dovecot.org/releases/2.1/dovecot-(.*\.[0-9]+)\.tar\.gz debian uupdate debian/dovecot-imapd.postrm0000664000000000000000000000142712306335375013204 0ustar #!/bin/sh set -e if [ "$1" = "purge" ] ; then for conffile in `ucfq --with-colons dovecot-imapd | cut -d: -f1`; do # we mimic dpkg as closely as possible, so we remove configuration # files with dpkg backup extensions too: ### Some of the following is from Tore Anderson: for ext in '~' '%' .bak .dpkg-tmp .dpkg-new .dpkg-old .dpkg-dist .ucf-new .ucf-old .ucf-dist; do rm -f $conffile$ext done # remove the configuration file itself rm -f $conffile # and finally clear it out from the ucf database if which ucf >/dev/null; then ucf --purge $conffile fi if which ucfr >/dev/null; then ucfr --purge dovecot-imapd $conffile fi done fi if [ "$1" = "purge" ] || [ "$1" = "remove" ]; then rm -f /usr/share/dovecot/protocols.d/imapd.protocol fi #DEBHELPER# debian/mail-stack-delivery.dirs0000664000000000000000000000005412306335375013727 0ustar var/backups var/backups/mail-stack-delivery debian/dovecot-dev.links0000664000000000000000000000006712306335375012463 0ustar /usr/share/bug/dovecot-core /usr/share/bug/dovecot-dev debian/dovecot-sieve.links0000664000000000000000000000007112306335375013013 0ustar /usr/share/bug/dovecot-core /usr/share/bug/dovecot-sieve debian/dovecot-solr.lintian-overrides0000664000000000000000000000013712306335375015200 0ustar dovecot-solr: hardening-no-fortify-functions usr/lib/dovecot/modules/lib21_fts_solr_plugin.so debian/source/0000775000000000000000000000000012306337327010476 5ustar debian/source/include-binaries0000664000000000000000000000007312306335375013637 0ustar pigeonhole/tests/extensions/include/execute/optional.svbin debian/source/format0000664000000000000000000000001412306335375011705 0ustar 3.0 (quilt) debian/dovecot-core.bug-control0000664000000000000000000000033012306335375013741 0ustar package-status: dovecot-common dovecot-core dovecot-dbg dovecot-dev dovecot-gssapi dovecot-imapd dovecot-ldap dovecot-lmtpd dovecot-managesieved dovecot-mysql dovecot-pgsql dovecot-pop3d dovecot-sieve dovecot-sqlite debian/source_dovecot.py0000664000000000000000000000250112306335375012572 0ustar #!/usr/bin/python '''Dovecot Apport interface Copyright (C) 2010 Canonical Ltd/ Author: Chuck Short This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See http://www.gnu.org/copyleft/gpl.html for the full text of the license. ''' from apport.hookutils import * def add_info(report, ui): response = ui.yesno("The output of dovecot -n may help developers diagnose your bug more quickly, however, it may contain sensitive information. Do you want to include it in your bug report?") if response == None: #user canceled raise StopIteration elif response == True: report['DovecotConf'] = root_command_output(['/usr/sbin/dovecot', '-n']) elif response == False: ui.information("The contents of dovecot -n will NOT be includeded in the bug report") packages=['dovecot-common', 'dovecot-core', 'dovecot-dev', 'dovecot-pop3d', 'dovecot-imapd', 'mail-stack-delivery', 'dovecot-postfix'] versions = '' for package in packages: try: version = package.get_version(package) except: version = 'N/A' versions += '%s %s\n' %(package, version) report['DovecotInstalledVersions'] = versions debian/dovecot-gssapi.links0000664000000000000000000000007212306335375013167 0ustar /usr/share/bug/dovecot-core /usr/share/bug/dovecot-gssapi debian/dovecot-managesieved.triggers0000664000000000000000000000004212306335375015034 0ustar activate register-dovecot-plugin debian/patches/0000775000000000000000000000000012306337327010625 5ustar debian/patches/pigeonhole.patch0000664000000000000000002565664412306335375014034 0ustar From: Stephan Bosch Date: Thu, 14 Oct 2010 23:17:44 +0200 Subject: pigeonhole Description: Adds support for Sieve and ManageSieve Origin: http://pigeonhole.dovecot.org/releases/2.2/dovecot-2.2-pigeonhole-0.4.2.tar.gz Last-Update: 2013-09-26 --- pigeonhole/AUTHORS | 8 + pigeonhole/COPYING | 4 + pigeonhole/COPYING.LGPL | 510 + pigeonhole/ChangeLog |15028 ++++++++++++++++++++ pigeonhole/INSTALL | 653 + pigeonhole/Makefile.am | 173 + pigeonhole/Makefile.in | 1019 ++ pigeonhole/NEWS | 1051 ++ pigeonhole/README | 314 + pigeonhole/TODO | 104 + pigeonhole/aclocal.m4 | 1036 ++ pigeonhole/config.guess | 1502 ++ pigeonhole/config.rpath | 672 + pigeonhole/config.sub | 1714 +++ pigeonhole/configure |14028 ++++++++++++++++++ pigeonhole/configure.ac | 139 + pigeonhole/depcomp | 632 + pigeonhole/doc/Makefile.am | 15 + pigeonhole/doc/Makefile.in | 682 + pigeonhole/doc/devel/DESIGN | 45 + pigeonhole/doc/example-config/Makefile.am | 2 + pigeonhole/doc/example-config/Makefile.in | 617 + .../doc/example-config/conf.d/20-managesieve.conf | 76 + .../conf.d/90-sieve-extprograms.conf | 44 + pigeonhole/doc/example-config/conf.d/90-sieve.conf | 105 + pigeonhole/doc/example-config/conf.d/Makefile.am | 10 + pigeonhole/doc/example-config/conf.d/Makefile.in | 482 + pigeonhole/doc/extensions/editheader.txt | 51 + pigeonhole/doc/extensions/include.txt | 32 + pigeonhole/doc/extensions/spamtest-virustest.txt | 140 + pigeonhole/doc/extensions/vacation.txt | 103 + .../doc/extensions/vnd.dovecot.duplicate.txt | 58 + pigeonhole/doc/man/Makefile.am | 48 + pigeonhole/doc/man/Makefile.in | 600 + pigeonhole/doc/man/pigeonhole.7.in | 93 + pigeonhole/doc/man/reporting-bugs.inc | 6 + pigeonhole/doc/man/sed.sh | 11 + pigeonhole/doc/man/sieve-dump.1.in | 106 + pigeonhole/doc/man/sieve-filter.1.in | 240 + pigeonhole/doc/man/sieve-test.1.in | 241 + pigeonhole/doc/man/sievec.1.in | 126 + pigeonhole/doc/man/sieved.1 | 1 + pigeonhole/doc/plugins/sieve_extprograms.txt | 175 + pigeonhole/doc/rfc/Makefile.am | 32 + pigeonhole/doc/rfc/Makefile.in | 449 + pigeonhole/doc/rfc/body.rfc5173.txt | 563 + pigeonhole/doc/script-location-dict.txt | 145 + pigeonhole/dummy-config.h.in | 65 + pigeonhole/examples/elvey.sieve | 153 + pigeonhole/examples/jerry.sieve | 224 + pigeonhole/examples/mjohnson.sieve | 421 + pigeonhole/examples/mklose.sieve | 303 + pigeonhole/examples/relational.rfc5231.sieve | 33 + pigeonhole/examples/rfc3028.sieve | 58 + pigeonhole/examples/sanjay.sieve | 171 + pigeonhole/examples/sieve_examples.sieve | 73 + pigeonhole/examples/subaddress.rfc5233.sieve | 23 + pigeonhole/examples/vacation.sieve | 23 + pigeonhole/examples/vivil.sieve | 94 + pigeonhole/install-sh | 520 + pigeonhole/ltmain.sh | 9661 +++++++++++++ pigeonhole/m4/dovecot.m4 | 95 + pigeonhole/m4/libtool.m4 | 8001 +++++++++++ pigeonhole/m4/ltoptions.m4 | 384 + pigeonhole/m4/ltsugar.m4 | 123 + pigeonhole/m4/ltversion.m4 | 23 + pigeonhole/m4/lt~obsolete.m4 | 98 + pigeonhole/missing | 378 + pigeonhole/pigeonhole-config.h.in | 9 + pigeonhole/src/Makefile.am | 22 + pigeonhole/src/Makefile.in | 636 + pigeonhole/src/lib-managesieve/Makefile.am | 15 + pigeonhole/src/lib-managesieve/Makefile.in | 550 + pigeonhole/src/lib-managesieve/managesieve-arg.c | 129 + pigeonhole/src/lib-managesieve/managesieve-arg.h | 111 + .../src/lib-managesieve/managesieve-parser.c | 750 + .../src/lib-managesieve/managesieve-parser.h | 68 + pigeonhole/src/lib-managesieve/managesieve-quote.c | 121 + pigeonhole/src/lib-managesieve/managesieve-quote.h | 20 + pigeonhole/src/lib-sieve-tool/Makefile.am | 14 + pigeonhole/src/lib-sieve-tool/Makefile.in | 549 + pigeonhole/src/lib-sieve-tool/mail-raw.c | 255 + pigeonhole/src/lib-sieve-tool/mail-raw.h | 28 + pigeonhole/src/lib-sieve-tool/sieve-tool.c | 618 + pigeonhole/src/lib-sieve-tool/sieve-tool.h | 100 + pigeonhole/src/lib-sieve/Makefile.am | 163 + pigeonhole/src/lib-sieve/Makefile.in | 1024 ++ pigeonhole/src/lib-sieve/cmd-discard.c | 143 + pigeonhole/src/lib-sieve/cmd-if.c | 272 + pigeonhole/src/lib-sieve/cmd-keep.c | 113 + pigeonhole/src/lib-sieve/cmd-redirect.c | 422 + pigeonhole/src/lib-sieve/cmd-require.c | 85 + pigeonhole/src/lib-sieve/cmd-stop.c | 88 + pigeonhole/src/lib-sieve/cmp-i-ascii-casemap.c | 96 + pigeonhole/src/lib-sieve/cmp-i-octet.c | 93 + pigeonhole/src/lib-sieve/edit-mail.c | 1924 +++ pigeonhole/src/lib-sieve/edit-mail.h | 49 + pigeonhole/src/lib-sieve/ext-encoded-character.c | 273 + pigeonhole/src/lib-sieve/ext-envelope.c | 623 + pigeonhole/src/lib-sieve/ext-fileinto.c | 223 + pigeonhole/src/lib-sieve/ext-reject.c | 424 + pigeonhole/src/lib-sieve/mcht-contains.c | 68 + pigeonhole/src/lib-sieve/mcht-is.c | 53 + pigeonhole/src/lib-sieve/mcht-matches.c | 429 + pigeonhole/src/lib-sieve/plugins/Makefile.am | 27 + pigeonhole/src/lib-sieve/plugins/Makefile.in | 639 + pigeonhole/src/lib-sieve/plugins/body/Makefile.am | 16 + pigeonhole/src/lib-sieve/plugins/body/Makefile.in | 554 + .../src/lib-sieve/plugins/body/ext-body-common.c | 605 + .../src/lib-sieve/plugins/body/ext-body-common.h | 43 + pigeonhole/src/lib-sieve/plugins/body/ext-body.c | 70 + pigeonhole/src/lib-sieve/plugins/body/tst-body.c | 393 + .../plugins/comparator-i-ascii-numeric/Makefile.am | 8 + .../plugins/comparator-i-ascii-numeric/Makefile.in | 541 + .../ext-cmp-i-ascii-numeric.c | 160 + pigeonhole/src/lib-sieve/plugins/copy/Makefile.am | 18 + pigeonhole/src/lib-sieve/plugins/copy/Makefile.in | 602 + pigeonhole/src/lib-sieve/plugins/copy/ext-copy.c | 186 + .../src/lib-sieve/plugins/copy/sieve-ext-copy.h | 24 + pigeonhole/src/lib-sieve/plugins/date/Makefile.am | 16 + pigeonhole/src/lib-sieve/plugins/date/Makefile.in | 554 + .../src/lib-sieve/plugins/date/ext-date-common.c | 589 + .../src/lib-sieve/plugins/date/ext-date-common.h | 83 + pigeonhole/src/lib-sieve/plugins/date/ext-date.c | 62 + pigeonhole/src/lib-sieve/plugins/date/tst-date.c | 491 + .../src/lib-sieve/plugins/editheader/Makefile.am | 18 + .../src/lib-sieve/plugins/editheader/Makefile.in | 558 + .../lib-sieve/plugins/editheader/cmd-addheader.c | 309 + .../plugins/editheader/cmd-deleteheader.c | 546 + .../plugins/editheader/ext-editheader-common.c | 166 + .../plugins/editheader/ext-editheader-common.h | 50 + .../plugins/editheader/ext-editheader-limits.h | 10 + .../lib-sieve/plugins/editheader/ext-editheader.c | 66 + .../src/lib-sieve/plugins/enotify/Makefile.am | 44 + .../src/lib-sieve/plugins/enotify/Makefile.in | 791 ++ .../src/lib-sieve/plugins/enotify/cmd-notify.c | 601 + .../lib-sieve/plugins/enotify/ext-enotify-common.c | 676 + .../lib-sieve/plugins/enotify/ext-enotify-common.h | 126 + .../lib-sieve/plugins/enotify/ext-enotify-limits.h | 9 + .../src/lib-sieve/plugins/enotify/ext-enotify.c | 103 + .../lib-sieve/plugins/enotify/mailto/Makefile.am | 15 + .../lib-sieve/plugins/enotify/mailto/Makefile.in | 550 + .../lib-sieve/plugins/enotify/mailto/ntfy-mailto.c | 601 + .../lib-sieve/plugins/enotify/mailto/uri-mailto.c | 617 + .../lib-sieve/plugins/enotify/mailto/uri-mailto.h | 45 + .../lib-sieve/plugins/enotify/sieve-ext-enotify.h | 171 + .../plugins/enotify/tst-notify-method-capability.c | 233 + .../plugins/enotify/tst-valid-notify-method.c | 144 + .../lib-sieve/plugins/enotify/vmodf-encodeurl.c | 84 + .../src/lib-sieve/plugins/environment/Makefile.am | 24 + .../src/lib-sieve/plugins/environment/Makefile.in | 614 + .../plugins/environment/ext-environment-common.c | 239 + .../plugins/environment/ext-environment-common.h | 57 + .../plugins/environment/ext-environment.c | 49 + .../plugins/environment/sieve-ext-environment.h | 21 + .../plugins/environment/tst-environment.c | 208 + pigeonhole/src/lib-sieve/plugins/ihave/Makefile.am | 22 + pigeonhole/src/lib-sieve/plugins/ihave/Makefile.in | 563 + pigeonhole/src/lib-sieve/plugins/ihave/cmd-error.c | 131 + .../src/lib-sieve/plugins/ihave/ext-ihave-binary.c | 245 + .../src/lib-sieve/plugins/ihave/ext-ihave-binary.h | 36 + .../src/lib-sieve/plugins/ihave/ext-ihave-common.c | 52 + .../src/lib-sieve/plugins/ihave/ext-ihave-common.h | 49 + pigeonhole/src/lib-sieve/plugins/ihave/ext-ihave.c | 60 + pigeonhole/src/lib-sieve/plugins/ihave/tst-ihave.c | 158 + .../src/lib-sieve/plugins/imap4flags/Makefile.am | 27 + .../src/lib-sieve/plugins/imap4flags/Makefile.in | 571 + .../src/lib-sieve/plugins/imap4flags/cmd-flag.c | 248 + .../plugins/imap4flags/ext-imap4flags-common.c | 714 + .../plugins/imap4flags/ext-imap4flags-common.h | 116 + .../lib-sieve/plugins/imap4flags/ext-imap4flags.c | 86 + .../lib-sieve/plugins/imap4flags/ext-imapflags.c | 190 + .../src/lib-sieve/plugins/imap4flags/tag-flags.c | 408 + .../src/lib-sieve/plugins/imap4flags/tst-hasflag.c | 245 + .../src/lib-sieve/plugins/include/Makefile.am | 24 + .../src/lib-sieve/plugins/include/Makefile.in | 568 + .../src/lib-sieve/plugins/include/cmd-global.c | 329 + .../src/lib-sieve/plugins/include/cmd-include.c | 402 + .../src/lib-sieve/plugins/include/cmd-return.c | 71 + .../lib-sieve/plugins/include/ext-include-binary.c | 489 + .../lib-sieve/plugins/include/ext-include-binary.h | 68 + .../lib-sieve/plugins/include/ext-include-common.c | 847 ++ .../lib-sieve/plugins/include/ext-include-common.h | 170 + .../lib-sieve/plugins/include/ext-include-limits.h | 12 + .../plugins/include/ext-include-variables.c | 249 + .../plugins/include/ext-include-variables.h | 43 + .../src/lib-sieve/plugins/include/ext-include.c | 121 + .../src/lib-sieve/plugins/mailbox/Makefile.am | 19 + .../src/lib-sieve/plugins/mailbox/Makefile.in | 559 + .../lib-sieve/plugins/mailbox/ext-mailbox-common.h | 40 + .../src/lib-sieve/plugins/mailbox/ext-mailbox.c | 57 + .../lib-sieve/plugins/mailbox/tag-mailbox-create.c | 176 + .../lib-sieve/plugins/mailbox/tst-mailboxexists.c | 210 + .../src/lib-sieve/plugins/notify/Makefile.am | 19 + .../src/lib-sieve/plugins/notify/Makefile.in | 557 + .../src/lib-sieve/plugins/notify/cmd-denotify.c | 387 + .../src/lib-sieve/plugins/notify/cmd-notify.c | 831 ++ .../lib-sieve/plugins/notify/ext-notify-common.c | 312 + .../lib-sieve/plugins/notify/ext-notify-common.h | 69 + .../lib-sieve/plugins/notify/ext-notify-limits.h | 10 + .../src/lib-sieve/plugins/notify/ext-notify.c | 97 + pigeonhole/src/lib-sieve/plugins/regex/Makefile.am | 13 + pigeonhole/src/lib-sieve/plugins/regex/Makefile.in | 550 + .../src/lib-sieve/plugins/regex/ext-regex-common.c | 23 + .../src/lib-sieve/plugins/regex/ext-regex-common.h | 27 + pigeonhole/src/lib-sieve/plugins/regex/ext-regex.c | 65 + .../src/lib-sieve/plugins/regex/mcht-regex.c | 388 + .../src/lib-sieve/plugins/relational/Makefile.am | 14 + .../src/lib-sieve/plugins/relational/Makefile.in | 553 + .../plugins/relational/ext-relational-common.c | 166 + .../plugins/relational/ext-relational-common.h | 93 + .../lib-sieve/plugins/relational/ext-relational.c | 53 + .../src/lib-sieve/plugins/relational/mcht-count.c | 121 + .../src/lib-sieve/plugins/relational/mcht-value.c | 85 + .../lib-sieve/plugins/spamvirustest/Makefile.am | 16 + .../lib-sieve/plugins/spamvirustest/Makefile.in | 555 + .../spamvirustest/ext-spamvirustest-common.c | 649 + .../spamvirustest/ext-spamvirustest-common.h | 38 + .../plugins/spamvirustest/ext-spamvirustest.c | 145 + .../plugins/spamvirustest/tst-spamvirustest.c | 307 + .../src/lib-sieve/plugins/subaddress/Makefile.am | 8 + .../src/lib-sieve/plugins/subaddress/Makefile.in | 540 + .../lib-sieve/plugins/subaddress/ext-subaddress.c | 189 + .../src/lib-sieve/plugins/vacation/Makefile.am | 18 + .../src/lib-sieve/plugins/vacation/Makefile.in | 557 + .../src/lib-sieve/plugins/vacation/cmd-vacation.c | 1257 ++ .../plugins/vacation/ext-vacation-common.c | 88 + .../plugins/vacation/ext-vacation-common.h | 58 + .../plugins/vacation/ext-vacation-seconds.c | 66 + .../src/lib-sieve/plugins/vacation/ext-vacation.c | 49 + .../src/lib-sieve/plugins/variables/Makefile.am | 41 + .../src/lib-sieve/plugins/variables/Makefile.in | 642 + .../src/lib-sieve/plugins/variables/cmd-set.c | 379 + .../plugins/variables/ext-variables-arguments.c | 423 + .../plugins/variables/ext-variables-arguments.h | 27 + .../plugins/variables/ext-variables-common.c | 795 ++ .../plugins/variables/ext-variables-common.h | 86 + .../plugins/variables/ext-variables-dump.c | 133 + .../plugins/variables/ext-variables-dump.h | 25 + .../plugins/variables/ext-variables-limits.h | 34 + .../plugins/variables/ext-variables-modifiers.c | 273 + .../plugins/variables/ext-variables-modifiers.h | 66 + .../plugins/variables/ext-variables-name.c | 110 + .../plugins/variables/ext-variables-name.h | 46 + .../plugins/variables/ext-variables-namespaces.c | 236 + .../plugins/variables/ext-variables-namespaces.h | 46 + .../plugins/variables/ext-variables-operands.c | 273 + .../plugins/variables/ext-variables-operands.h | 40 + .../lib-sieve/plugins/variables/ext-variables.c | 82 + .../plugins/variables/sieve-ext-variables.h | 311 + .../src/lib-sieve/plugins/variables/tst-string.c | 271 + .../src/lib-sieve/plugins/vnd.dovecot/Makefile.am | 3 + .../src/lib-sieve/plugins/vnd.dovecot/Makefile.in | 617 + .../plugins/vnd.dovecot/debug/Makefile.am | 15 + .../plugins/vnd.dovecot/debug/Makefile.in | 551 + .../plugins/vnd.dovecot/debug/cmd-debug-log.c | 131 + .../plugins/vnd.dovecot/debug/ext-debug-common.h | 25 + .../plugins/vnd.dovecot/debug/ext-debug.c | 70 + .../plugins/vnd.dovecot/duplicate/Makefile.am | 20 + .../plugins/vnd.dovecot/duplicate/Makefile.in | 559 + .../vnd.dovecot/duplicate/ext-duplicate-common.c | 231 + .../vnd.dovecot/duplicate/ext-duplicate-common.h | 45 + .../plugins/vnd.dovecot/duplicate/ext-duplicate.c | 50 + .../plugins/vnd.dovecot/duplicate/tst-duplicate.c | 364 + pigeonhole/src/lib-sieve/rfc2822.c | 236 + pigeonhole/src/lib-sieve/rfc2822.h | 45 + pigeonhole/src/lib-sieve/sieve-actions.c | 900 ++ pigeonhole/src/lib-sieve/sieve-actions.h | 267 + pigeonhole/src/lib-sieve/sieve-address-parts.c | 484 + pigeonhole/src/lib-sieve/sieve-address-parts.h | 139 + pigeonhole/src/lib-sieve/sieve-address.c | 941 ++ pigeonhole/src/lib-sieve/sieve-address.h | 103 + pigeonhole/src/lib-sieve/sieve-ast.c | 1078 ++ pigeonhole/src/lib-sieve/sieve-ast.h | 370 + pigeonhole/src/lib-sieve/sieve-binary-code.c | 395 + pigeonhole/src/lib-sieve/sieve-binary-debug.c | 256 + pigeonhole/src/lib-sieve/sieve-binary-dumper.c | 273 + pigeonhole/src/lib-sieve/sieve-binary-dumper.h | 48 + pigeonhole/src/lib-sieve/sieve-binary-file.c | 914 ++ pigeonhole/src/lib-sieve/sieve-binary-private.h | 209 + pigeonhole/src/lib-sieve/sieve-binary.c | 464 + pigeonhole/src/lib-sieve/sieve-binary.h | 273 + pigeonhole/src/lib-sieve/sieve-code-dumper.c | 321 + pigeonhole/src/lib-sieve/sieve-code-dumper.h | 58 + pigeonhole/src/lib-sieve/sieve-code.c | 1166 ++ pigeonhole/src/lib-sieve/sieve-code.h | 354 + pigeonhole/src/lib-sieve/sieve-commands.c | 389 + pigeonhole/src/lib-sieve/sieve-commands.h | 262 + pigeonhole/src/lib-sieve/sieve-common.h | 194 + pigeonhole/src/lib-sieve/sieve-comparators.c | 268 + pigeonhole/src/lib-sieve/sieve-comparators.h | 156 + pigeonhole/src/lib-sieve/sieve-config.h | 16 + pigeonhole/src/lib-sieve/sieve-dump.h | 33 + pigeonhole/src/lib-sieve/sieve-error-private.h | 139 + pigeonhole/src/lib-sieve/sieve-error.c | 1356 ++ pigeonhole/src/lib-sieve/sieve-error.h | 204 + pigeonhole/src/lib-sieve/sieve-extensions.c | 778 + pigeonhole/src/lib-sieve/sieve-extensions.h | 180 + pigeonhole/src/lib-sieve/sieve-generator.c | 522 + pigeonhole/src/lib-sieve/sieve-generator.h | 114 + pigeonhole/src/lib-sieve/sieve-interpreter.c | 622 + pigeonhole/src/lib-sieve/sieve-interpreter.h | 145 + pigeonhole/src/lib-sieve/sieve-lexer.c | 791 ++ pigeonhole/src/lib-sieve/sieve-lexer.h | 126 + pigeonhole/src/lib-sieve/sieve-limits.h | 43 + pigeonhole/src/lib-sieve/sieve-match-types.c | 569 + pigeonhole/src/lib-sieve/sieve-match-types.h | 236 + pigeonhole/src/lib-sieve/sieve-match.c | 281 + pigeonhole/src/lib-sieve/sieve-match.h | 71 + pigeonhole/src/lib-sieve/sieve-message.c | 569 + pigeonhole/src/lib-sieve/sieve-message.h | 76 + pigeonhole/src/lib-sieve/sieve-objects.c | 111 + pigeonhole/src/lib-sieve/sieve-objects.h | 66 + pigeonhole/src/lib-sieve/sieve-parser.c | 672 + pigeonhole/src/lib-sieve/sieve-parser.h | 19 + pigeonhole/src/lib-sieve/sieve-plugins.c | 181 + pigeonhole/src/lib-sieve/sieve-plugins.h | 12 + pigeonhole/src/lib-sieve/sieve-result.c | 1395 ++ pigeonhole/src/lib-sieve/sieve-result.h | 175 + pigeonhole/src/lib-sieve/sieve-runtime-trace.c | 153 + pigeonhole/src/lib-sieve/sieve-runtime-trace.h | 185 + pigeonhole/src/lib-sieve/sieve-runtime.h | 44 + pigeonhole/src/lib-sieve/sieve-script-dict.c | 296 + pigeonhole/src/lib-sieve/sieve-script-file.c | 399 + pigeonhole/src/lib-sieve/sieve-script-file.h | 31 + pigeonhole/src/lib-sieve/sieve-script-private.h | 103 + pigeonhole/src/lib-sieve/sieve-script.c | 595 + pigeonhole/src/lib-sieve/sieve-script.h | 95 + pigeonhole/src/lib-sieve/sieve-settings.c | 227 + pigeonhole/src/lib-sieve/sieve-settings.h | 58 + pigeonhole/src/lib-sieve/sieve-smtp.c | 33 + pigeonhole/src/lib-sieve/sieve-smtp.h | 19 + pigeonhole/src/lib-sieve/sieve-stringlist.c | 143 + pigeonhole/src/lib-sieve/sieve-stringlist.h | 69 + pigeonhole/src/lib-sieve/sieve-types.h | 245 + pigeonhole/src/lib-sieve/sieve-validator.c | 1474 ++ pigeonhole/src/lib-sieve/sieve-validator.h | 179 + pigeonhole/src/lib-sieve/sieve.c | 929 ++ pigeonhole/src/lib-sieve/sieve.h | 219 + pigeonhole/src/lib-sieve/tst-address.c | 269 + pigeonhole/src/lib-sieve/tst-allof.c | 107 + pigeonhole/src/lib-sieve/tst-anyof.c | 106 + pigeonhole/src/lib-sieve/tst-exists.c | 163 + pigeonhole/src/lib-sieve/tst-header.c | 199 + pigeonhole/src/lib-sieve/tst-not.c | 66 + pigeonhole/src/lib-sieve/tst-size.c | 304 + pigeonhole/src/lib-sieve/tst-truefalse.c | 102 + pigeonhole/src/lib-sievestorage/Makefile.am | 21 + pigeonhole/src/lib-sievestorage/Makefile.in | 561 + .../src/lib-sievestorage/sieve-storage-list.c | 112 + .../src/lib-sievestorage/sieve-storage-list.h | 29 + .../src/lib-sievestorage/sieve-storage-private.h | 69 + .../src/lib-sievestorage/sieve-storage-quota.c | 159 + .../src/lib-sievestorage/sieve-storage-quota.h | 28 + .../src/lib-sievestorage/sieve-storage-save.c | 459 + .../src/lib-sievestorage/sieve-storage-save.h | 39 + .../src/lib-sievestorage/sieve-storage-script.c | 693 + .../src/lib-sievestorage/sieve-storage-script.h | 34 + pigeonhole/src/lib-sievestorage/sieve-storage.c | 744 + pigeonhole/src/lib-sievestorage/sieve-storage.h | 58 + pigeonhole/src/managesieve-login/Makefile.am | 41 + pigeonhole/src/managesieve-login/Makefile.in | 717 + .../src/managesieve-login/client-authenticate.c | 331 + .../src/managesieve-login/client-authenticate.h | 24 + pigeonhole/src/managesieve-login/client.c | 486 + pigeonhole/src/managesieve-login/client.h | 67 + .../managesieve-login-settings-plugin.c | 225 + .../managesieve-login-settings-plugin.h | 12 + .../managesieve-login/managesieve-login-settings.c | 104 + .../managesieve-login/managesieve-login-settings.h | 20 + .../src/managesieve-login/managesieve-proxy.c | 373 + .../src/managesieve-login/managesieve-proxy.h | 12 + pigeonhole/src/managesieve/Makefile.am | 60 + pigeonhole/src/managesieve/Makefile.in | 735 + pigeonhole/src/managesieve/cmd-capability.c | 61 + pigeonhole/src/managesieve/cmd-deletescript.c | 41 + pigeonhole/src/managesieve/cmd-getscript.c | 134 + pigeonhole/src/managesieve/cmd-havespace.c | 53 + pigeonhole/src/managesieve/cmd-listscripts.c | 57 + pigeonhole/src/managesieve/cmd-logout.c | 21 + pigeonhole/src/managesieve/cmd-noop.c | 47 + pigeonhole/src/managesieve/cmd-putscript.c | 471 + pigeonhole/src/managesieve/cmd-renamescript.c | 38 + pigeonhole/src/managesieve/cmd-setactive.c | 104 + pigeonhole/src/managesieve/main.c | 326 + .../src/managesieve/managesieve-capabilities.c | 136 + .../src/managesieve/managesieve-capabilities.h | 9 + pigeonhole/src/managesieve/managesieve-client.c | 705 + pigeonhole/src/managesieve/managesieve-client.h | 139 + pigeonhole/src/managesieve/managesieve-commands.c | 109 + pigeonhole/src/managesieve/managesieve-commands.h | 49 + pigeonhole/src/managesieve/managesieve-common.h | 33 + pigeonhole/src/managesieve/managesieve-quota.c | 76 + pigeonhole/src/managesieve/managesieve-quota.h | 14 + pigeonhole/src/managesieve/managesieve-settings.c | 170 + pigeonhole/src/managesieve/managesieve-settings.h | 31 + pigeonhole/src/plugins/Makefile.am | 1 + pigeonhole/src/plugins/Makefile.in | 617 + pigeonhole/src/plugins/doveadm-sieve/Makefile.am | 15 + pigeonhole/src/plugins/doveadm-sieve/Makefile.in | 609 + .../plugins/doveadm-sieve/doveadm-sieve-plugin.c | 718 + pigeonhole/src/plugins/lda-sieve/Makefile.am | 18 + pigeonhole/src/plugins/lda-sieve/Makefile.in | 611 + .../src/plugins/lda-sieve/lda-sieve-plugin.c | 970 ++ .../src/plugins/lda-sieve/lda-sieve-plugin.h | 14 + .../src/plugins/sieve-extprograms/Makefile.am | 38 + .../src/plugins/sieve-extprograms/Makefile.in | 644 + .../src/plugins/sieve-extprograms/cmd-execute.c | 452 + .../src/plugins/sieve-extprograms/cmd-filter.c | 283 + .../src/plugins/sieve-extprograms/cmd-pipe.c | 391 + .../src/plugins/sieve-extprograms/ext-execute.c | 80 + .../src/plugins/sieve-extprograms/ext-filter.c | 80 + .../src/plugins/sieve-extprograms/ext-pipe.c | 111 + .../sieve-extprograms/script-client-local.c | 300 + .../sieve-extprograms/script-client-private.h | 59 + .../sieve-extprograms/script-client-remote.c | 319 + .../src/plugins/sieve-extprograms/script-client.c | 329 + .../src/plugins/sieve-extprograms/script-client.h | 35 + .../sieve-extprograms/sieve-extprograms-common.c | 594 + .../sieve-extprograms/sieve-extprograms-common.h | 98 + .../sieve-extprograms/sieve-extprograms-plugin.c | 65 + .../sieve-extprograms/sieve-extprograms-plugin.h | 23 + pigeonhole/src/sieve-tools/Makefile.am | 55 + pigeonhole/src/sieve-tools/Makefile.in | 658 + pigeonhole/src/sieve-tools/sieve-dump.c | 98 + pigeonhole/src/sieve-tools/sieve-filter.c | 567 + pigeonhole/src/sieve-tools/sieve-test.c | 400 + pigeonhole/src/sieve-tools/sievec.c | 159 + pigeonhole/src/testsuite/Makefile.am | 70 + pigeonhole/src/testsuite/Makefile.in | 649 + pigeonhole/src/testsuite/cmd-test-binary.c | 209 + pigeonhole/src/testsuite/cmd-test-config.c | 472 + pigeonhole/src/testsuite/cmd-test-fail.c | 150 + pigeonhole/src/testsuite/cmd-test-mailbox.c | 188 + pigeonhole/src/testsuite/cmd-test-message.c | 515 + pigeonhole/src/testsuite/cmd-test-result.c | 132 + pigeonhole/src/testsuite/cmd-test-set.c | 161 + pigeonhole/src/testsuite/cmd-test.c | 184 + pigeonhole/src/testsuite/ext-testsuite.c | 173 + pigeonhole/src/testsuite/testsuite-arguments.c | 192 + pigeonhole/src/testsuite/testsuite-arguments.h | 9 + pigeonhole/src/testsuite/testsuite-binary.c | 81 + pigeonhole/src/testsuite/testsuite-binary.h | 20 + pigeonhole/src/testsuite/testsuite-common.c | 313 + pigeonhole/src/testsuite/testsuite-common.h | 186 + pigeonhole/src/testsuite/testsuite-log.c | 290 + pigeonhole/src/testsuite/testsuite-log.h | 28 + pigeonhole/src/testsuite/testsuite-mailstore.c | 175 + pigeonhole/src/testsuite/testsuite-mailstore.h | 32 + pigeonhole/src/testsuite/testsuite-message.c | 174 + pigeonhole/src/testsuite/testsuite-message.h | 34 + pigeonhole/src/testsuite/testsuite-objects.c | 371 + pigeonhole/src/testsuite/testsuite-objects.h | 86 + pigeonhole/src/testsuite/testsuite-result.c | 176 + pigeonhole/src/testsuite/testsuite-result.h | 25 + pigeonhole/src/testsuite/testsuite-script.c | 223 + pigeonhole/src/testsuite/testsuite-script.h | 25 + pigeonhole/src/testsuite/testsuite-settings.c | 91 + pigeonhole/src/testsuite/testsuite-settings.h | 15 + pigeonhole/src/testsuite/testsuite-smtp.c | 134 + pigeonhole/src/testsuite/testsuite-smtp.h | 28 + pigeonhole/src/testsuite/testsuite-substitutions.c | 255 + pigeonhole/src/testsuite/testsuite-substitutions.h | 26 + pigeonhole/src/testsuite/testsuite-variables.c | 183 + pigeonhole/src/testsuite/testsuite-variables.h | 14 + pigeonhole/src/testsuite/testsuite.c | 233 + pigeonhole/src/testsuite/tst-test-error.c | 275 + pigeonhole/src/testsuite/tst-test-multiscript.c | 155 + pigeonhole/src/testsuite/tst-test-result-action.c | 270 + pigeonhole/src/testsuite/tst-test-result-execute.c | 96 + pigeonhole/src/testsuite/tst-test-script-compile.c | 144 + pigeonhole/src/testsuite/tst-test-script-run.c | 198 + pigeonhole/stamp.h.in | 1 + .../tests/comparators/i-ascii-casemap.svtest | 39 + pigeonhole/tests/comparators/i-octet.svtest | 37 + pigeonhole/tests/compile/compile.svtest | 16 + pigeonhole/tests/compile/errors.svtest | 367 + pigeonhole/tests/compile/errors/address-part.sieve | 17 + pigeonhole/tests/compile/errors/address.sieve | 71 + .../tests/compile/errors/encoded-character.sieve | 23 + pigeonhole/tests/compile/errors/envelope.sieve | 23 + pigeonhole/tests/compile/errors/header.sieve | 57 + pigeonhole/tests/compile/errors/if.sieve | 78 + pigeonhole/tests/compile/errors/keep.sieve | 14 + pigeonhole/tests/compile/errors/lexer.sieve | 71 + pigeonhole/tests/compile/errors/match-type.sieve | 7 + pigeonhole/tests/compile/errors/out-address.sieve | 27 + pigeonhole/tests/compile/errors/parser.sieve | 78 + pigeonhole/tests/compile/errors/require.sieve | 42 + pigeonhole/tests/compile/errors/size.sieve | 47 + pigeonhole/tests/compile/errors/stop.sieve | 33 + pigeonhole/tests/compile/errors/tag.sieve | 16 + pigeonhole/tests/compile/errors/typos.sieve | 29 + pigeonhole/tests/compile/errors/unsupported.sieve | 30 + pigeonhole/tests/compile/recover.svtest | 50 + .../tests/compile/recover/commands-endblock.sieve | 27 + .../tests/compile/recover/commands-semicolon.sieve | 16 + .../tests/compile/recover/tests-endcomma.sieve | 17 + pigeonhole/tests/compile/redirect.sieve | 23 + pigeonhole/tests/compile/trivial.sieve | 17 + pigeonhole/tests/compile/warnings.svtest | 8 + pigeonhole/tests/compile/warnings/eof.sieve | 2 + .../tests/compile/warnings/invalid-headers.sieve | 14 + pigeonhole/tests/control-if.svtest | 292 + pigeonhole/tests/control-stop.svtest | 29 + .../tests/deprecated/imapflags/errors.svtest | 14 + .../deprecated/imapflags/errors/imapflags.sieve | 4 + .../tests/deprecated/imapflags/execute.svtest | 92 + .../tests/deprecated/imapflags/execute/flags.sieve | 12 + .../tests/deprecated/imapflags/execute/mark.sieve | 11 + pigeonhole/tests/deprecated/notify/basic.svtest | 11 + pigeonhole/tests/deprecated/notify/denotify.svtest | 279 + pigeonhole/tests/deprecated/notify/errors.svtest | 13 + .../tests/deprecated/notify/errors/options.sieve | 11 + pigeonhole/tests/deprecated/notify/execute.svtest | 25 + .../deprecated/notify/execute/duplicates.sieve | 4 + pigeonhole/tests/deprecated/notify/mailto.svtest | 317 + pigeonhole/tests/execute/actions.svtest | 80 + pigeonhole/tests/execute/actions/fileinto.sieve | 17 + pigeonhole/tests/execute/actions/redirect.sieve | 17 + pigeonhole/tests/execute/errors.svtest | 135 + .../tests/execute/errors/action-duplicates.sieve | 4 + .../tests/execute/errors/actions-limit.sieve | 35 + .../execute/errors/conflict-reject-fileinto.sieve | 5 + .../execute/errors/conflict-reject-keep.sieve | 4 + .../execute/errors/conflict-reject-redirect.sieve | 4 + .../execute/errors/fileinto-invalid-name.sieve | 5 + pigeonhole/tests/execute/errors/fileinto.sieve | 3 + .../tests/execute/errors/redirect-limit.sieve | 5 + pigeonhole/tests/execute/examples.svtest | 115 + pigeonhole/tests/execute/mailstore.svtest | 84 + pigeonhole/tests/execute/smtp.svtest | 60 + pigeonhole/tests/extensions/body/basic.svtest | 97 + pigeonhole/tests/extensions/body/content.svtest | 333 + .../tests/extensions/body/match-values.svtest | 55 + pigeonhole/tests/extensions/body/raw.svtest | 85 + pigeonhole/tests/extensions/date/basic.svtest | 73 + pigeonhole/tests/extensions/date/date-parts.svtest | 120 + pigeonhole/tests/extensions/date/zones.svtest | 76 + .../tests/extensions/editheader/addheader.svtest | 527 + .../tests/extensions/editheader/alternating.svtest | 181 + .../extensions/editheader/deleteheader.svtest | 990 ++ .../tests/extensions/editheader/errors.svtest | 167 + .../editheader/errors/command-syntax.sieve | 42 + .../editheader/errors/field-name-runtime.sieve | 6 + .../extensions/editheader/errors/field-name.sieve | 19 + .../extensions/editheader/errors/field-value.sieve | 15 + .../editheader/errors/runtime-error.sieve | 6 + .../editheader/errors/size-limit-runtime.sieve | 46 + .../extensions/editheader/errors/size-limit.sieve | 43 + .../tests/extensions/editheader/protected.svtest | 74 + pigeonhole/tests/extensions/editheader/utf8.svtest | 97 + .../tests/extensions/encoded-character.svtest | 180 + pigeonhole/tests/extensions/enotify/basic.svtest | 15 + .../tests/extensions/enotify/encodeurl.svtest | 11 + pigeonhole/tests/extensions/enotify/errors.svtest | 45 + .../extensions/enotify/errors/from-mailto.sieve | 7 + .../tests/extensions/enotify/errors/options.sieve | 18 + .../extensions/enotify/errors/uri-mailto.sieve | 20 + .../tests/extensions/enotify/errors/uri.sieve | 5 + pigeonhole/tests/extensions/enotify/execute.svtest | 99 + .../extensions/enotify/execute/draft-rfc-ex1.sieve | 26 + .../extensions/enotify/execute/draft-rfc-ex2.sieve | 22 + .../extensions/enotify/execute/draft-rfc-ex3.sieve | 31 + .../extensions/enotify/execute/draft-rfc-ex5.sieve | 11 + .../extensions/enotify/execute/draft-rfc-ex6.sieve | 5 + .../extensions/enotify/execute/duplicates.sieve | 4 + pigeonhole/tests/extensions/enotify/mailto.svtest | 309 + .../enotify/notify_method_capability.svtest | 12 + .../extensions/enotify/valid_notify_method.svtest | 31 + pigeonhole/tests/extensions/envelope.svtest | 246 + .../tests/extensions/environment/basic.svtest | 33 + pigeonhole/tests/extensions/environment/rfc.svtest | 28 + pigeonhole/tests/extensions/ihave/errors.svtest | 19 + .../tests/extensions/ihave/errors/error.sieve | 3 + pigeonhole/tests/extensions/ihave/execute.svtest | 23 + .../tests/extensions/ihave/execute/ihave.sieve | 7 + .../tests/extensions/ihave/restrictions.svtest | 14 + .../tests/extensions/imap4flags/basic.svtest | 260 + .../tests/extensions/imap4flags/execute.svtest | 68 + .../imap4flags/execute/flags-side-effect.sieve | 18 + .../tests/extensions/imap4flags/flagstore.svtest | 146 + .../tests/extensions/imap4flags/flagstring.svtest | 82 + .../tests/extensions/imap4flags/hasflag.svtest | 91 + .../tests/extensions/imap4flags/multiscript.svtest | 55 + .../imap4flags/multiscript/fileinto.sieve | 4 + .../imap4flags/multiscript/group-spam.sieve | 14 + .../imap4flags/multiscript/sent-store.sieve | 7 + .../imap4flags/multiscript/setflag.sieve | 3 + .../extensions/imap4flags/multiscript/spam.sieve | 8 + pigeonhole/tests/extensions/include/errors.svtest | 149 + .../include/errors/action-conflicts.sieve | 4 + .../extensions/include/errors/circular-1.sieve | 5 + .../extensions/include/errors/circular-2.sieve | 5 + .../extensions/include/errors/circular-3.sieve | 5 + .../extensions/include/errors/depth-limit.sieve | 3 + .../tests/extensions/include/errors/generic.sieve | 7 + .../include/errors/global-namespace.sieve | 13 + .../extensions/include/errors/include-limit.sieve | 6 + .../extensions/include/errors/scriptname.sieve | 25 + .../include/errors/variables-inactive.sieve | 7 + .../extensions/include/errors/variables.sieve | 23 + pigeonhole/tests/extensions/include/execute.svtest | 68 + .../include/execute/actions-fileinto.sieve | 5 + .../extensions/include/execute/namespace.sieve | 26 + .../extensions/include/execute/optional.sieve | 5 + .../extensions/include/execute/optional.svbin | Bin 0 -> 233 bytes .../include/included-global/namespace.dict | 4 + .../include/included-global/namespace.sieve | 4 + .../included-global/rfc-ex1-spam_tests.sieve | 7 + .../include/included/action-fileinto.sieve | 3 + .../include/included/action-reject.sieve | 3 + .../include/included/actions-fileinto1.sieve | 3 + .../include/included/actions-fileinto2.sieve | 4 + .../include/included/actions-fileinto3.sieve | 3 + .../extensions/include/included/circular-one.sieve | 5 + .../include/included/circular-three-2.sieve | 3 + .../include/included/circular-three-3.sieve | 3 + .../include/included/circular-three.sieve | 7 + .../include/included/circular-two-2.sieve | 3 + .../extensions/include/included/circular-two.sieve | 7 + .../include/included/depth-limit-1.sieve | 3 + .../include/included/depth-limit-2.sieve | 3 + .../include/included/depth-limit-3.sieve | 1 + .../extensions/include/included/namespace.dict | 4 + .../extensions/include/included/namespace.sieve | 4 + .../tests/extensions/include/included/once-1.sieve | 9 + .../tests/extensions/include/included/once-2.sieve | 12 + .../tests/extensions/include/included/once-3.sieve | 3 + .../tests/extensions/include/included/once-4.sieve | 3 + .../extensions/include/included/optional-1.sieve | 9 + .../extensions/include/included/optional-2.sieve | 9 + .../include/included/rfc-ex1-always_allow.sieve | 8 + .../include/included/rfc-ex1-mailing_lists.sieve | 10 + .../include/included/rfc-ex1-spam_tests.sieve | 10 + .../included/rfc-ex2-spam_filter_script.sieve | 8 + .../extensions/include/included/twice-1.sieve | 7 + .../extensions/include/included/twice-2.sieve | 8 + .../include/included/variables-included1.sieve | 7 + .../include/included/variables-included2.sieve | 6 + .../include/included/variables-included3.sieve | 8 + pigeonhole/tests/extensions/include/once.svtest | 24 + .../tests/extensions/include/optional.svtest | 40 + .../tests/extensions/include/rfc-ex1-default.sieve | 6 + .../tests/extensions/include/rfc-ex2-default.sieve | 21 + pigeonhole/tests/extensions/include/rfc.svtest | 13 + pigeonhole/tests/extensions/include/twice.svtest | 20 + .../tests/extensions/include/variables.svtest | 29 + pigeonhole/tests/extensions/mailbox/execute.svtest | 80 + pigeonhole/tests/extensions/regex/basic.svtest | 51 + pigeonhole/tests/extensions/regex/errors.svtest | 29 + .../tests/extensions/regex/errors/compile.sieve | 25 + .../tests/extensions/regex/errors/runtime.sieve | 9 + .../tests/extensions/regex/match-values.svtest | 72 + pigeonhole/tests/extensions/reject/execute.svtest | 34 + .../tests/extensions/reject/execute/basic.sieve | 8 + pigeonhole/tests/extensions/reject/smtp.svtest | 56 + .../tests/extensions/relational/basic.svtest | 178 + .../tests/extensions/relational/comparators.svtest | 258 + .../tests/extensions/relational/errors.svtest | 15 + .../extensions/relational/errors/validation.sieve | 11 + pigeonhole/tests/extensions/relational/rfc.svtest | 71 + .../tests/extensions/spamvirustest/errors.svtest | 15 + .../spamvirustest/errors/syntax-errors.sieve | 19 + .../tests/extensions/spamvirustest/spamtest.svtest | 276 + .../extensions/spamvirustest/spamtestplus.svtest | 136 + .../extensions/spamvirustest/virustest.svtest | 143 + .../tests/extensions/subaddress/basic.svtest | 111 + .../tests/extensions/subaddress/config.svtest | 77 + pigeonhole/tests/extensions/subaddress/rfc.svtest | 59 + pigeonhole/tests/extensions/vacation/errors.svtest | 19 + .../vacation/errors/conflict-reject.sieve | 5 + .../tests/extensions/vacation/execute.svtest | 73 + .../tests/extensions/vacation/execute/action.sieve | 4 + .../extensions/vacation/execute/no-handle.sieve | 10 + .../extensions/vacation/execute/seconds.sieve | 4 + .../tests/extensions/vacation/message.svtest | 180 + .../tests/extensions/vacation/references.sieve | 4 + pigeonhole/tests/extensions/vacation/reply.svtest | 371 + pigeonhole/tests/extensions/vacation/smtp.svtest | 157 + pigeonhole/tests/extensions/vacation/utf-8.svtest | 86 + pigeonhole/tests/extensions/variables/basic.svtest | 223 + .../tests/extensions/variables/errors.svtest | 34 + .../tests/extensions/variables/errors/limits.sieve | 287 + .../extensions/variables/errors/namespace.sieve | 8 + .../tests/extensions/variables/errors/set.sieve | 19 + pigeonhole/tests/extensions/variables/match.svtest | 365 + .../tests/extensions/variables/modifiers.svtest | 152 + .../tests/extensions/variables/quoting.svtest | 36 + pigeonhole/tests/extensions/variables/regex.svtest | 35 + .../tests/extensions/variables/string.svtest | 37 + .../extensions/vnd.dovecot/debug/execute.svtest | 6 + .../extensions/vnd.dovecot/duplicate/errors.svtest | 18 + .../vnd.dovecot/duplicate/errors/syntax.sieve | 19 + .../vnd.dovecot/duplicate/execute.svtest | 20 + pigeonhole/tests/lexer.svtest | 39 + pigeonhole/tests/match-types/contains.svtest | 81 + pigeonhole/tests/match-types/is.svtest | 22 + pigeonhole/tests/match-types/matches.svtest | 213 + pigeonhole/tests/multiscript/basic.svtest | 91 + pigeonhole/tests/multiscript/conflicts.svtest | 100 + pigeonhole/tests/multiscript/fileinto-frop.sieve | 3 + pigeonhole/tests/multiscript/fileinto-inbox.sieve | 4 + pigeonhole/tests/multiscript/keep.sieve | 1 + pigeonhole/tests/multiscript/notify.sieve | 3 + pigeonhole/tests/multiscript/reject-1.sieve | 3 + pigeonhole/tests/multiscript/reject-2.sieve | 3 + pigeonhole/tests/multiscript/vacation.sieve | 3 + pigeonhole/tests/plugins/extprograms/bin/addheader | 6 + pigeonhole/tests/plugins/extprograms/bin/cat | 3 + pigeonhole/tests/plugins/extprograms/bin/env | 3 + pigeonhole/tests/plugins/extprograms/bin/frame | 7 + pigeonhole/tests/plugins/extprograms/bin/modify | 8 + pigeonhole/tests/plugins/extprograms/bin/program | 5 + pigeonhole/tests/plugins/extprograms/bin/replace | 12 + pigeonhole/tests/plugins/extprograms/bin/sleep10 | 3 + pigeonhole/tests/plugins/extprograms/bin/sleep2 | 3 + pigeonhole/tests/plugins/extprograms/bin/stderr | 20 + pigeonhole/tests/plugins/extprograms/errors.svtest | 32 + .../plugins/extprograms/errors/arguments.sieve | 5 + .../plugins/extprograms/errors/programname.sieve | 25 + .../plugins/extprograms/execute/command.svtest | 27 + .../plugins/extprograms/execute/errors.svtest | 35 + .../extprograms/execute/errors/syntax.sieve | 38 + .../extprograms/execute/errors/variables.sieve | 7 + .../plugins/extprograms/execute/execute.svtest | 104 + .../plugins/extprograms/filter/command.svtest | 10 + .../tests/plugins/extprograms/filter/errors.svtest | 21 + .../plugins/extprograms/filter/errors/syntax.sieve | 22 + .../plugins/extprograms/filter/execute.svtest | 180 + .../tests/plugins/extprograms/pipe/command.svtest | 10 + .../tests/plugins/extprograms/pipe/errors.svtest | 58 + .../plugins/extprograms/pipe/errors/syntax.sieve | 22 + .../plugins/extprograms/pipe/errors/timeout.sieve | 3 + .../tests/plugins/extprograms/pipe/execute.svtest | 56 + pigeonhole/tests/test-address.svtest | 396 + pigeonhole/tests/test-allof.svtest | 446 + pigeonhole/tests/test-anyof.svtest | 445 + pigeonhole/tests/test-exists.svtest | 93 + pigeonhole/tests/test-header.svtest | 270 + pigeonhole/tests/test-size.svtest | 74 + pigeonhole/tests/testsuite.svtest | 75 + 742 files changed, 181659 insertions(+) create mode 100644 pigeonhole/AUTHORS create mode 100644 pigeonhole/COPYING create mode 100644 pigeonhole/COPYING.LGPL create mode 100644 pigeonhole/ChangeLog create mode 100644 pigeonhole/INSTALL create mode 100644 pigeonhole/Makefile.am create mode 100644 pigeonhole/Makefile.in create mode 100644 pigeonhole/NEWS create mode 100644 pigeonhole/README create mode 100644 pigeonhole/TODO create mode 100644 pigeonhole/aclocal.m4 create mode 100755 pigeonhole/config.guess create mode 100755 pigeonhole/config.rpath create mode 100755 pigeonhole/config.sub create mode 100755 pigeonhole/configure create mode 100644 pigeonhole/configure.ac create mode 100755 pigeonhole/depcomp create mode 100644 pigeonhole/doc/Makefile.am create mode 100644 pigeonhole/doc/Makefile.in create mode 100644 pigeonhole/doc/devel/DESIGN create mode 100644 pigeonhole/doc/example-config/Makefile.am create mode 100644 pigeonhole/doc/example-config/Makefile.in create mode 100644 pigeonhole/doc/example-config/conf.d/20-managesieve.conf create mode 100644 pigeonhole/doc/example-config/conf.d/90-sieve-extprograms.conf create mode 100644 pigeonhole/doc/example-config/conf.d/90-sieve.conf create mode 100644 pigeonhole/doc/example-config/conf.d/Makefile.am create mode 100644 pigeonhole/doc/example-config/conf.d/Makefile.in create mode 100644 pigeonhole/doc/extensions/editheader.txt create mode 100644 pigeonhole/doc/extensions/include.txt create mode 100644 pigeonhole/doc/extensions/spamtest-virustest.txt create mode 100644 pigeonhole/doc/extensions/vacation.txt create mode 100644 pigeonhole/doc/extensions/vnd.dovecot.duplicate.txt create mode 100644 pigeonhole/doc/man/Makefile.am create mode 100644 pigeonhole/doc/man/Makefile.in create mode 100644 pigeonhole/doc/man/pigeonhole.7.in create mode 100644 pigeonhole/doc/man/reporting-bugs.inc create mode 100644 pigeonhole/doc/man/sed.sh create mode 100644 pigeonhole/doc/man/sieve-dump.1.in create mode 100644 pigeonhole/doc/man/sieve-filter.1.in create mode 100644 pigeonhole/doc/man/sieve-test.1.in create mode 100644 pigeonhole/doc/man/sievec.1.in create mode 100644 pigeonhole/doc/man/sieved.1 create mode 100644 pigeonhole/doc/plugins/sieve_extprograms.txt create mode 100644 pigeonhole/doc/rfc/Makefile.am create mode 100644 pigeonhole/doc/rfc/Makefile.in create mode 100644 pigeonhole/doc/rfc/body.rfc5173.txt create mode 100644 pigeonhole/doc/script-location-dict.txt create mode 100644 pigeonhole/dummy-config.h.in create mode 100644 pigeonhole/examples/elvey.sieve create mode 100644 pigeonhole/examples/jerry.sieve create mode 100644 pigeonhole/examples/mjohnson.sieve create mode 100644 pigeonhole/examples/mklose.sieve create mode 100644 pigeonhole/examples/relational.rfc5231.sieve create mode 100644 pigeonhole/examples/rfc3028.sieve create mode 100644 pigeonhole/examples/sanjay.sieve create mode 100644 pigeonhole/examples/sieve_examples.sieve create mode 100644 pigeonhole/examples/subaddress.rfc5233.sieve create mode 100644 pigeonhole/examples/vacation.sieve create mode 100644 pigeonhole/examples/vivil.sieve create mode 100755 pigeonhole/install-sh create mode 100644 pigeonhole/ltmain.sh create mode 100644 pigeonhole/m4/dovecot.m4 create mode 100644 pigeonhole/m4/libtool.m4 create mode 100644 pigeonhole/m4/ltoptions.m4 create mode 100644 pigeonhole/m4/ltsugar.m4 create mode 100644 pigeonhole/m4/ltversion.m4 create mode 100644 pigeonhole/m4/lt~obsolete.m4 create mode 100755 pigeonhole/missing create mode 100644 pigeonhole/pigeonhole-config.h.in create mode 100644 pigeonhole/src/Makefile.am create mode 100644 pigeonhole/src/Makefile.in create mode 100644 pigeonhole/src/lib-managesieve/Makefile.am create mode 100644 pigeonhole/src/lib-managesieve/Makefile.in create mode 100644 pigeonhole/src/lib-managesieve/managesieve-arg.c create mode 100644 pigeonhole/src/lib-managesieve/managesieve-arg.h create mode 100644 pigeonhole/src/lib-managesieve/managesieve-parser.c create mode 100644 pigeonhole/src/lib-managesieve/managesieve-parser.h create mode 100644 pigeonhole/src/lib-managesieve/managesieve-quote.c create mode 100644 pigeonhole/src/lib-managesieve/managesieve-quote.h create mode 100644 pigeonhole/src/lib-sieve-tool/Makefile.am create mode 100644 pigeonhole/src/lib-sieve-tool/Makefile.in create mode 100644 pigeonhole/src/lib-sieve-tool/mail-raw.c create mode 100644 pigeonhole/src/lib-sieve-tool/mail-raw.h create mode 100644 pigeonhole/src/lib-sieve-tool/sieve-tool.c create mode 100644 pigeonhole/src/lib-sieve-tool/sieve-tool.h create mode 100644 pigeonhole/src/lib-sieve/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/cmd-discard.c create mode 100644 pigeonhole/src/lib-sieve/cmd-if.c create mode 100644 pigeonhole/src/lib-sieve/cmd-keep.c create mode 100644 pigeonhole/src/lib-sieve/cmd-redirect.c create mode 100644 pigeonhole/src/lib-sieve/cmd-require.c create mode 100644 pigeonhole/src/lib-sieve/cmd-stop.c create mode 100644 pigeonhole/src/lib-sieve/cmp-i-ascii-casemap.c create mode 100644 pigeonhole/src/lib-sieve/cmp-i-octet.c create mode 100644 pigeonhole/src/lib-sieve/edit-mail.c create mode 100644 pigeonhole/src/lib-sieve/edit-mail.h create mode 100644 pigeonhole/src/lib-sieve/ext-encoded-character.c create mode 100644 pigeonhole/src/lib-sieve/ext-envelope.c create mode 100644 pigeonhole/src/lib-sieve/ext-fileinto.c create mode 100644 pigeonhole/src/lib-sieve/ext-reject.c create mode 100644 pigeonhole/src/lib-sieve/mcht-contains.c create mode 100644 pigeonhole/src/lib-sieve/mcht-is.c create mode 100644 pigeonhole/src/lib-sieve/mcht-matches.c create mode 100644 pigeonhole/src/lib-sieve/plugins/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/body/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/body/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/body/ext-body-common.c create mode 100644 pigeonhole/src/lib-sieve/plugins/body/ext-body-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/body/ext-body.c create mode 100644 pigeonhole/src/lib-sieve/plugins/body/tst-body.c create mode 100644 pigeonhole/src/lib-sieve/plugins/comparator-i-ascii-numeric/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/comparator-i-ascii-numeric/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i-ascii-numeric.c create mode 100644 pigeonhole/src/lib-sieve/plugins/copy/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/copy/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/copy/ext-copy.c create mode 100644 pigeonhole/src/lib-sieve/plugins/copy/sieve-ext-copy.h create mode 100644 pigeonhole/src/lib-sieve/plugins/date/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/date/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/date/ext-date-common.c create mode 100644 pigeonhole/src/lib-sieve/plugins/date/ext-date-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/date/ext-date.c create mode 100644 pigeonhole/src/lib-sieve/plugins/date/tst-date.c create mode 100644 pigeonhole/src/lib-sieve/plugins/editheader/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/editheader/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/editheader/cmd-addheader.c create mode 100644 pigeonhole/src/lib-sieve/plugins/editheader/cmd-deleteheader.c create mode 100644 pigeonhole/src/lib-sieve/plugins/editheader/ext-editheader-common.c create mode 100644 pigeonhole/src/lib-sieve/plugins/editheader/ext-editheader-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/editheader/ext-editheader-limits.h create mode 100644 pigeonhole/src/lib-sieve/plugins/editheader/ext-editheader.c create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/cmd-notify.c create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/ext-enotify-common.c create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/ext-enotify-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/ext-enotify-limits.h create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/ext-enotify.c create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/mailto/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/mailto/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/mailto/ntfy-mailto.c create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/mailto/uri-mailto.c create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/mailto/uri-mailto.h create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/sieve-ext-enotify.h create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/tst-notify-method-capability.c create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/tst-valid-notify-method.c create mode 100644 pigeonhole/src/lib-sieve/plugins/enotify/vmodf-encodeurl.c create mode 100644 pigeonhole/src/lib-sieve/plugins/environment/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/environment/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/environment/ext-environment-common.c create mode 100644 pigeonhole/src/lib-sieve/plugins/environment/ext-environment-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/environment/ext-environment.c create mode 100644 pigeonhole/src/lib-sieve/plugins/environment/sieve-ext-environment.h create mode 100644 pigeonhole/src/lib-sieve/plugins/environment/tst-environment.c create mode 100644 pigeonhole/src/lib-sieve/plugins/ihave/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/ihave/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/ihave/cmd-error.c create mode 100644 pigeonhole/src/lib-sieve/plugins/ihave/ext-ihave-binary.c create mode 100644 pigeonhole/src/lib-sieve/plugins/ihave/ext-ihave-binary.h create mode 100644 pigeonhole/src/lib-sieve/plugins/ihave/ext-ihave-common.c create mode 100644 pigeonhole/src/lib-sieve/plugins/ihave/ext-ihave-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/ihave/ext-ihave.c create mode 100644 pigeonhole/src/lib-sieve/plugins/ihave/tst-ihave.c create mode 100644 pigeonhole/src/lib-sieve/plugins/imap4flags/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/imap4flags/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/imap4flags/cmd-flag.c create mode 100644 pigeonhole/src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.c create mode 100644 pigeonhole/src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/imap4flags/ext-imap4flags.c create mode 100644 pigeonhole/src/lib-sieve/plugins/imap4flags/ext-imapflags.c create mode 100644 pigeonhole/src/lib-sieve/plugins/imap4flags/tag-flags.c create mode 100644 pigeonhole/src/lib-sieve/plugins/imap4flags/tst-hasflag.c create mode 100644 pigeonhole/src/lib-sieve/plugins/include/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/include/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/include/cmd-global.c create mode 100644 pigeonhole/src/lib-sieve/plugins/include/cmd-include.c create mode 100644 pigeonhole/src/lib-sieve/plugins/include/cmd-return.c create mode 100644 pigeonhole/src/lib-sieve/plugins/include/ext-include-binary.c create mode 100644 pigeonhole/src/lib-sieve/plugins/include/ext-include-binary.h create mode 100644 pigeonhole/src/lib-sieve/plugins/include/ext-include-common.c create mode 100644 pigeonhole/src/lib-sieve/plugins/include/ext-include-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/include/ext-include-limits.h create mode 100644 pigeonhole/src/lib-sieve/plugins/include/ext-include-variables.c create mode 100644 pigeonhole/src/lib-sieve/plugins/include/ext-include-variables.h create mode 100644 pigeonhole/src/lib-sieve/plugins/include/ext-include.c create mode 100644 pigeonhole/src/lib-sieve/plugins/mailbox/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/mailbox/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/mailbox/ext-mailbox-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/mailbox/ext-mailbox.c create mode 100644 pigeonhole/src/lib-sieve/plugins/mailbox/tag-mailbox-create.c create mode 100644 pigeonhole/src/lib-sieve/plugins/mailbox/tst-mailboxexists.c create mode 100644 pigeonhole/src/lib-sieve/plugins/notify/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/notify/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/notify/cmd-denotify.c create mode 100644 pigeonhole/src/lib-sieve/plugins/notify/cmd-notify.c create mode 100644 pigeonhole/src/lib-sieve/plugins/notify/ext-notify-common.c create mode 100644 pigeonhole/src/lib-sieve/plugins/notify/ext-notify-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/notify/ext-notify-limits.h create mode 100644 pigeonhole/src/lib-sieve/plugins/notify/ext-notify.c create mode 100644 pigeonhole/src/lib-sieve/plugins/regex/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/regex/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/regex/ext-regex-common.c create mode 100644 pigeonhole/src/lib-sieve/plugins/regex/ext-regex-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/regex/ext-regex.c create mode 100644 pigeonhole/src/lib-sieve/plugins/regex/mcht-regex.c create mode 100644 pigeonhole/src/lib-sieve/plugins/relational/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/relational/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/relational/ext-relational-common.c create mode 100644 pigeonhole/src/lib-sieve/plugins/relational/ext-relational-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/relational/ext-relational.c create mode 100644 pigeonhole/src/lib-sieve/plugins/relational/mcht-count.c create mode 100644 pigeonhole/src/lib-sieve/plugins/relational/mcht-value.c create mode 100644 pigeonhole/src/lib-sieve/plugins/spamvirustest/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/spamvirustest/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c create mode 100644 pigeonhole/src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/spamvirustest/ext-spamvirustest.c create mode 100644 pigeonhole/src/lib-sieve/plugins/spamvirustest/tst-spamvirustest.c create mode 100644 pigeonhole/src/lib-sieve/plugins/subaddress/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/subaddress/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/subaddress/ext-subaddress.c create mode 100644 pigeonhole/src/lib-sieve/plugins/vacation/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/vacation/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/vacation/cmd-vacation.c create mode 100644 pigeonhole/src/lib-sieve/plugins/vacation/ext-vacation-common.c create mode 100644 pigeonhole/src/lib-sieve/plugins/vacation/ext-vacation-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/vacation/ext-vacation-seconds.c create mode 100644 pigeonhole/src/lib-sieve/plugins/vacation/ext-vacation.c create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/cmd-set.c create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables-arguments.c create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables-arguments.h create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables-common.c create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables-dump.c create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables-dump.h create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables-limits.h create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables-modifiers.c create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables-modifiers.h create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables-name.c create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables-name.h create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables-namespaces.c create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables-namespaces.h create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables-operands.c create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables-operands.h create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/ext-variables.c create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/sieve-ext-variables.h create mode 100644 pigeonhole/src/lib-sieve/plugins/variables/tst-string.c create mode 100644 pigeonhole/src/lib-sieve/plugins/vnd.dovecot/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/vnd.dovecot/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/vnd.dovecot/debug/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/vnd.dovecot/debug/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/vnd.dovecot/debug/cmd-debug-log.c create mode 100644 pigeonhole/src/lib-sieve/plugins/vnd.dovecot/debug/ext-debug-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/vnd.dovecot/debug/ext-debug.c create mode 100644 pigeonhole/src/lib-sieve/plugins/vnd.dovecot/duplicate/Makefile.am create mode 100644 pigeonhole/src/lib-sieve/plugins/vnd.dovecot/duplicate/Makefile.in create mode 100644 pigeonhole/src/lib-sieve/plugins/vnd.dovecot/duplicate/ext-duplicate-common.c create mode 100644 pigeonhole/src/lib-sieve/plugins/vnd.dovecot/duplicate/ext-duplicate-common.h create mode 100644 pigeonhole/src/lib-sieve/plugins/vnd.dovecot/duplicate/ext-duplicate.c create mode 100644 pigeonhole/src/lib-sieve/plugins/vnd.dovecot/duplicate/tst-duplicate.c create mode 100644 pigeonhole/src/lib-sieve/rfc2822.c create mode 100644 pigeonhole/src/lib-sieve/rfc2822.h create mode 100644 pigeonhole/src/lib-sieve/sieve-actions.c create mode 100644 pigeonhole/src/lib-sieve/sieve-actions.h create mode 100644 pigeonhole/src/lib-sieve/sieve-address-parts.c create mode 100644 pigeonhole/src/lib-sieve/sieve-address-parts.h create mode 100644 pigeonhole/src/lib-sieve/sieve-address.c create mode 100644 pigeonhole/src/lib-sieve/sieve-address.h create mode 100644 pigeonhole/src/lib-sieve/sieve-ast.c create mode 100644 pigeonhole/src/lib-sieve/sieve-ast.h create mode 100644 pigeonhole/src/lib-sieve/sieve-binary-code.c create mode 100644 pigeonhole/src/lib-sieve/sieve-binary-debug.c create mode 100644 pigeonhole/src/lib-sieve/sieve-binary-dumper.c create mode 100644 pigeonhole/src/lib-sieve/sieve-binary-dumper.h create mode 100644 pigeonhole/src/lib-sieve/sieve-binary-file.c create mode 100644 pigeonhole/src/lib-sieve/sieve-binary-private.h create mode 100644 pigeonhole/src/lib-sieve/sieve-binary.c create mode 100644 pigeonhole/src/lib-sieve/sieve-binary.h create mode 100644 pigeonhole/src/lib-sieve/sieve-code-dumper.c create mode 100644 pigeonhole/src/lib-sieve/sieve-code-dumper.h create mode 100644 pigeonhole/src/lib-sieve/sieve-code.c create mode 100644 pigeonhole/src/lib-sieve/sieve-code.h create mode 100644 pigeonhole/src/lib-sieve/sieve-commands.c create mode 100644 pigeonhole/src/lib-sieve/sieve-commands.h create mode 100644 pigeonhole/src/lib-sieve/sieve-common.h create mode 100644 pigeonhole/src/lib-sieve/sieve-comparators.c create mode 100644 pigeonhole/src/lib-sieve/sieve-comparators.h create mode 100644 pigeonhole/src/lib-sieve/sieve-config.h create mode 100644 pigeonhole/src/lib-sieve/sieve-dump.h create mode 100644 pigeonhole/src/lib-sieve/sieve-error-private.h create mode 100644 pigeonhole/src/lib-sieve/sieve-error.c create mode 100644 pigeonhole/src/lib-sieve/sieve-error.h create mode 100644 pigeonhole/src/lib-sieve/sieve-extensions.c create mode 100644 pigeonhole/src/lib-sieve/sieve-extensions.h create mode 100644 pigeonhole/src/lib-sieve/sieve-generator.c create mode 100644 pigeonhole/src/lib-sieve/sieve-generator.h create mode 100644 pigeonhole/src/lib-sieve/sieve-interpreter.c create mode 100644 pigeonhole/src/lib-sieve/sieve-interpreter.h create mode 100644 pigeonhole/src/lib-sieve/sieve-lexer.c create mode 100644 pigeonhole/src/lib-sieve/sieve-lexer.h create mode 100644 pigeonhole/src/lib-sieve/sieve-limits.h create mode 100644 pigeonhole/src/lib-sieve/sieve-match-types.c create mode 100644 pigeonhole/src/lib-sieve/sieve-match-types.h create mode 100644 pigeonhole/src/lib-sieve/sieve-match.c create mode 100644 pigeonhole/src/lib-sieve/sieve-match.h create mode 100644 pigeonhole/src/lib-sieve/sieve-message.c create mode 100644 pigeonhole/src/lib-sieve/sieve-message.h create mode 100644 pigeonhole/src/lib-sieve/sieve-objects.c create mode 100644 pigeonhole/src/lib-sieve/sieve-objects.h create mode 100644 pigeonhole/src/lib-sieve/sieve-parser.c create mode 100644 pigeonhole/src/lib-sieve/sieve-parser.h create mode 100644 pigeonhole/src/lib-sieve/sieve-plugins.c create mode 100644 pigeonhole/src/lib-sieve/sieve-plugins.h create mode 100644 pigeonhole/src/lib-sieve/sieve-result.c create mode 100644 pigeonhole/src/lib-sieve/sieve-result.h create mode 100644 pigeonhole/src/lib-sieve/sieve-runtime-trace.c create mode 100644 pigeonhole/src/lib-sieve/sieve-runtime-trace.h create mode 100644 pigeonhole/src/lib-sieve/sieve-runtime.h create mode 100644 pigeonhole/src/lib-sieve/sieve-script-dict.c create mode 100644 pigeonhole/src/lib-sieve/sieve-script-file.c create mode 100644 pigeonhole/src/lib-sieve/sieve-script-file.h create mode 100644 pigeonhole/src/lib-sieve/sieve-script-private.h create mode 100644 pigeonhole/src/lib-sieve/sieve-script.c create mode 100644 pigeonhole/src/lib-sieve/sieve-script.h create mode 100644 pigeonhole/src/lib-sieve/sieve-settings.c create mode 100644 pigeonhole/src/lib-sieve/sieve-settings.h create mode 100644 pigeonhole/src/lib-sieve/sieve-smtp.c create mode 100644 pigeonhole/src/lib-sieve/sieve-smtp.h create mode 100644 pigeonhole/src/lib-sieve/sieve-stringlist.c create mode 100644 pigeonhole/src/lib-sieve/sieve-stringlist.h create mode 100644 pigeonhole/src/lib-sieve/sieve-types.h create mode 100644 pigeonhole/src/lib-sieve/sieve-validator.c create mode 100644 pigeonhole/src/lib-sieve/sieve-validator.h create mode 100644 pigeonhole/src/lib-sieve/sieve.c create mode 100644 pigeonhole/src/lib-sieve/sieve.h create mode 100644 pigeonhole/src/lib-sieve/tst-address.c create mode 100644 pigeonhole/src/lib-sieve/tst-allof.c create mode 100644 pigeonhole/src/lib-sieve/tst-anyof.c create mode 100644 pigeonhole/src/lib-sieve/tst-exists.c create mode 100644 pigeonhole/src/lib-sieve/tst-header.c create mode 100644 pigeonhole/src/lib-sieve/tst-not.c create mode 100644 pigeonhole/src/lib-sieve/tst-size.c create mode 100644 pigeonhole/src/lib-sieve/tst-truefalse.c create mode 100644 pigeonhole/src/lib-sievestorage/Makefile.am create mode 100644 pigeonhole/src/lib-sievestorage/Makefile.in create mode 100644 pigeonhole/src/lib-sievestorage/sieve-storage-list.c create mode 100644 pigeonhole/src/lib-sievestorage/sieve-storage-list.h create mode 100644 pigeonhole/src/lib-sievestorage/sieve-storage-private.h create mode 100644 pigeonhole/src/lib-sievestorage/sieve-storage-quota.c create mode 100644 pigeonhole/src/lib-sievestorage/sieve-storage-quota.h create mode 100644 pigeonhole/src/lib-sievestorage/sieve-storage-save.c create mode 100644 pigeonhole/src/lib-sievestorage/sieve-storage-save.h create mode 100644 pigeonhole/src/lib-sievestorage/sieve-storage-script.c create mode 100644 pigeonhole/src/lib-sievestorage/sieve-storage-script.h create mode 100644 pigeonhole/src/lib-sievestorage/sieve-storage.c create mode 100644 pigeonhole/src/lib-sievestorage/sieve-storage.h create mode 100644 pigeonhole/src/managesieve-login/Makefile.am create mode 100644 pigeonhole/src/managesieve-login/Makefile.in create mode 100644 pigeonhole/src/managesieve-login/client-authenticate.c create mode 100644 pigeonhole/src/managesieve-login/client-authenticate.h create mode 100644 pigeonhole/src/managesieve-login/client.c create mode 100644 pigeonhole/src/managesieve-login/client.h create mode 100644 pigeonhole/src/managesieve-login/managesieve-login-settings-plugin.c create mode 100644 pigeonhole/src/managesieve-login/managesieve-login-settings-plugin.h create mode 100644 pigeonhole/src/managesieve-login/managesieve-login-settings.c create mode 100644 pigeonhole/src/managesieve-login/managesieve-login-settings.h create mode 100644 pigeonhole/src/managesieve-login/managesieve-proxy.c create mode 100644 pigeonhole/src/managesieve-login/managesieve-proxy.h create mode 100644 pigeonhole/src/managesieve/Makefile.am create mode 100644 pigeonhole/src/managesieve/Makefile.in create mode 100644 pigeonhole/src/managesieve/cmd-capability.c create mode 100644 pigeonhole/src/managesieve/cmd-deletescript.c create mode 100644 pigeonhole/src/managesieve/cmd-getscript.c create mode 100644 pigeonhole/src/managesieve/cmd-havespace.c create mode 100644 pigeonhole/src/managesieve/cmd-listscripts.c create mode 100644 pigeonhole/src/managesieve/cmd-logout.c create mode 100644 pigeonhole/src/managesieve/cmd-noop.c create mode 100644 pigeonhole/src/managesieve/cmd-putscript.c create mode 100644 pigeonhole/src/managesieve/cmd-renamescript.c create mode 100644 pigeonhole/src/managesieve/cmd-setactive.c create mode 100644 pigeonhole/src/managesieve/main.c create mode 100644 pigeonhole/src/managesieve/managesieve-capabilities.c create mode 100644 pigeonhole/src/managesieve/managesieve-capabilities.h create mode 100644 pigeonhole/src/managesieve/managesieve-client.c create mode 100644 pigeonhole/src/managesieve/managesieve-client.h create mode 100644 pigeonhole/src/managesieve/managesieve-commands.c create mode 100644 pigeonhole/src/managesieve/managesieve-commands.h create mode 100644 pigeonhole/src/managesieve/managesieve-common.h create mode 100644 pigeonhole/src/managesieve/managesieve-quota.c create mode 100644 pigeonhole/src/managesieve/managesieve-quota.h create mode 100644 pigeonhole/src/managesieve/managesieve-settings.c create mode 100644 pigeonhole/src/managesieve/managesieve-settings.h create mode 100644 pigeonhole/src/plugins/Makefile.am create mode 100644 pigeonhole/src/plugins/Makefile.in create mode 100644 pigeonhole/src/plugins/doveadm-sieve/Makefile.am create mode 100644 pigeonhole/src/plugins/doveadm-sieve/Makefile.in create mode 100644 pigeonhole/src/plugins/doveadm-sieve/doveadm-sieve-plugin.c create mode 100644 pigeonhole/src/plugins/lda-sieve/Makefile.am create mode 100644 pigeonhole/src/plugins/lda-sieve/Makefile.in create mode 100644 pigeonhole/src/plugins/lda-sieve/lda-sieve-plugin.c create mode 100644 pigeonhole/src/plugins/lda-sieve/lda-sieve-plugin.h create mode 100644 pigeonhole/src/plugins/sieve-extprograms/Makefile.am create mode 100644 pigeonhole/src/plugins/sieve-extprograms/Makefile.in create mode 100644 pigeonhole/src/plugins/sieve-extprograms/cmd-execute.c create mode 100644 pigeonhole/src/plugins/sieve-extprograms/cmd-filter.c create mode 100644 pigeonhole/src/plugins/sieve-extprograms/cmd-pipe.c create mode 100644 pigeonhole/src/plugins/sieve-extprograms/ext-execute.c create mode 100644 pigeonhole/src/plugins/sieve-extprograms/ext-filter.c create mode 100644 pigeonhole/src/plugins/sieve-extprograms/ext-pipe.c create mode 100644 pigeonhole/src/plugins/sieve-extprograms/script-client-local.c create mode 100644 pigeonhole/src/plugins/sieve-extprograms/script-client-private.h create mode 100644 pigeonhole/src/plugins/sieve-extprograms/script-client-remote.c create mode 100644 pigeonhole/src/plugins/sieve-extprograms/script-client.c create mode 100644 pigeonhole/src/plugins/sieve-extprograms/script-client.h create mode 100644 pigeonhole/src/plugins/sieve-extprograms/sieve-extprograms-common.c create mode 100644 pigeonhole/src/plugins/sieve-extprograms/sieve-extprograms-common.h create mode 100644 pigeonhole/src/plugins/sieve-extprograms/sieve-extprograms-plugin.c create mode 100644 pigeonhole/src/plugins/sieve-extprograms/sieve-extprograms-plugin.h create mode 100644 pigeonhole/src/sieve-tools/Makefile.am create mode 100644 pigeonhole/src/sieve-tools/Makefile.in create mode 100644 pigeonhole/src/sieve-tools/sieve-dump.c create mode 100644 pigeonhole/src/sieve-tools/sieve-filter.c create mode 100644 pigeonhole/src/sieve-tools/sieve-test.c create mode 100644 pigeonhole/src/sieve-tools/sievec.c create mode 100644 pigeonhole/src/testsuite/Makefile.am create mode 100644 pigeonhole/src/testsuite/Makefile.in create mode 100644 pigeonhole/src/testsuite/cmd-test-binary.c create mode 100644 pigeonhole/src/testsuite/cmd-test-config.c create mode 100644 pigeonhole/src/testsuite/cmd-test-fail.c create mode 100644 pigeonhole/src/testsuite/cmd-test-mailbox.c create mode 100644 pigeonhole/src/testsuite/cmd-test-message.c create mode 100644 pigeonhole/src/testsuite/cmd-test-result.c create mode 100644 pigeonhole/src/testsuite/cmd-test-set.c create mode 100644 pigeonhole/src/testsuite/cmd-test.c create mode 100644 pigeonhole/src/testsuite/ext-testsuite.c create mode 100644 pigeonhole/src/testsuite/testsuite-arguments.c create mode 100644 pigeonhole/src/testsuite/testsuite-arguments.h create mode 100644 pigeonhole/src/testsuite/testsuite-binary.c create mode 100644 pigeonhole/src/testsuite/testsuite-binary.h create mode 100644 pigeonhole/src/testsuite/testsuite-common.c create mode 100644 pigeonhole/src/testsuite/testsuite-common.h create mode 100644 pigeonhole/src/testsuite/testsuite-log.c create mode 100644 pigeonhole/src/testsuite/testsuite-log.h create mode 100644 pigeonhole/src/testsuite/testsuite-mailstore.c create mode 100644 pigeonhole/src/testsuite/testsuite-mailstore.h create mode 100644 pigeonhole/src/testsuite/testsuite-message.c create mode 100644 pigeonhole/src/testsuite/testsuite-message.h create mode 100644 pigeonhole/src/testsuite/testsuite-objects.c create mode 100644 pigeonhole/src/testsuite/testsuite-objects.h create mode 100644 pigeonhole/src/testsuite/testsuite-result.c create mode 100644 pigeonhole/src/testsuite/testsuite-result.h create mode 100644 pigeonhole/src/testsuite/testsuite-script.c create mode 100644 pigeonhole/src/testsuite/testsuite-script.h create mode 100644 pigeonhole/src/testsuite/testsuite-settings.c create mode 100644 pigeonhole/src/testsuite/testsuite-settings.h create mode 100644 pigeonhole/src/testsuite/testsuite-smtp.c create mode 100644 pigeonhole/src/testsuite/testsuite-smtp.h create mode 100644 pigeonhole/src/testsuite/testsuite-substitutions.c create mode 100644 pigeonhole/src/testsuite/testsuite-substitutions.h create mode 100644 pigeonhole/src/testsuite/testsuite-variables.c create mode 100644 pigeonhole/src/testsuite/testsuite-variables.h create mode 100644 pigeonhole/src/testsuite/testsuite.c create mode 100644 pigeonhole/src/testsuite/tst-test-error.c create mode 100644 pigeonhole/src/testsuite/tst-test-multiscript.c create mode 100644 pigeonhole/src/testsuite/tst-test-result-action.c create mode 100644 pigeonhole/src/testsuite/tst-test-result-execute.c create mode 100644 pigeonhole/src/testsuite/tst-test-script-compile.c create mode 100644 pigeonhole/src/testsuite/tst-test-script-run.c create mode 100644 pigeonhole/stamp.h.in create mode 100644 pigeonhole/tests/comparators/i-ascii-casemap.svtest create mode 100644 pigeonhole/tests/comparators/i-octet.svtest create mode 100644 pigeonhole/tests/compile/compile.svtest create mode 100644 pigeonhole/tests/compile/errors.svtest create mode 100644 pigeonhole/tests/compile/errors/address-part.sieve create mode 100644 pigeonhole/tests/compile/errors/address.sieve create mode 100644 pigeonhole/tests/compile/errors/encoded-character.sieve create mode 100644 pigeonhole/tests/compile/errors/envelope.sieve create mode 100644 pigeonhole/tests/compile/errors/header.sieve create mode 100644 pigeonhole/tests/compile/errors/if.sieve create mode 100644 pigeonhole/tests/compile/errors/keep.sieve create mode 100644 pigeonhole/tests/compile/errors/lexer.sieve create mode 100644 pigeonhole/tests/compile/errors/match-type.sieve create mode 100644 pigeonhole/tests/compile/errors/out-address.sieve create mode 100644 pigeonhole/tests/compile/errors/parser.sieve create mode 100644 pigeonhole/tests/compile/errors/require.sieve create mode 100644 pigeonhole/tests/compile/errors/size.sieve create mode 100644 pigeonhole/tests/compile/errors/stop.sieve create mode 100644 pigeonhole/tests/compile/errors/tag.sieve create mode 100644 pigeonhole/tests/compile/errors/typos.sieve create mode 100644 pigeonhole/tests/compile/errors/unsupported.sieve create mode 100644 pigeonhole/tests/compile/recover.svtest create mode 100644 pigeonhole/tests/compile/recover/commands-endblock.sieve create mode 100644 pigeonhole/tests/compile/recover/commands-semicolon.sieve create mode 100644 pigeonhole/tests/compile/recover/tests-endcomma.sieve create mode 100644 pigeonhole/tests/compile/redirect.sieve create mode 100644 pigeonhole/tests/compile/trivial.sieve create mode 100644 pigeonhole/tests/compile/warnings.svtest create mode 100644 pigeonhole/tests/compile/warnings/eof.sieve create mode 100644 pigeonhole/tests/compile/warnings/invalid-headers.sieve create mode 100644 pigeonhole/tests/control-if.svtest create mode 100644 pigeonhole/tests/control-stop.svtest create mode 100644 pigeonhole/tests/deprecated/imapflags/errors.svtest create mode 100644 pigeonhole/tests/deprecated/imapflags/errors/imapflags.sieve create mode 100644 pigeonhole/tests/deprecated/imapflags/execute.svtest create mode 100644 pigeonhole/tests/deprecated/imapflags/execute/flags.sieve create mode 100644 pigeonhole/tests/deprecated/imapflags/execute/mark.sieve create mode 100644 pigeonhole/tests/deprecated/notify/basic.svtest create mode 100644 pigeonhole/tests/deprecated/notify/denotify.svtest create mode 100644 pigeonhole/tests/deprecated/notify/errors.svtest create mode 100644 pigeonhole/tests/deprecated/notify/errors/options.sieve create mode 100644 pigeonhole/tests/deprecated/notify/execute.svtest create mode 100644 pigeonhole/tests/deprecated/notify/execute/duplicates.sieve create mode 100644 pigeonhole/tests/deprecated/notify/mailto.svtest create mode 100644 pigeonhole/tests/execute/actions.svtest create mode 100644 pigeonhole/tests/execute/actions/fileinto.sieve create mode 100644 pigeonhole/tests/execute/actions/redirect.sieve create mode 100644 pigeonhole/tests/execute/errors.svtest create mode 100644 pigeonhole/tests/execute/errors/action-duplicates.sieve create mode 100644 pigeonhole/tests/execute/errors/actions-limit.sieve create mode 100644 pigeonhole/tests/execute/errors/conflict-reject-fileinto.sieve create mode 100644 pigeonhole/tests/execute/errors/conflict-reject-keep.sieve create mode 100644 pigeonhole/tests/execute/errors/conflict-reject-redirect.sieve create mode 100644 pigeonhole/tests/execute/errors/fileinto-invalid-name.sieve create mode 100644 pigeonhole/tests/execute/errors/fileinto.sieve create mode 100644 pigeonhole/tests/execute/errors/redirect-limit.sieve create mode 100644 pigeonhole/tests/execute/examples.svtest create mode 100644 pigeonhole/tests/execute/mailstore.svtest create mode 100644 pigeonhole/tests/execute/smtp.svtest create mode 100644 pigeonhole/tests/extensions/body/basic.svtest create mode 100644 pigeonhole/tests/extensions/body/content.svtest create mode 100644 pigeonhole/tests/extensions/body/match-values.svtest create mode 100644 pigeonhole/tests/extensions/body/raw.svtest create mode 100644 pigeonhole/tests/extensions/date/basic.svtest create mode 100644 pigeonhole/tests/extensions/date/date-parts.svtest create mode 100644 pigeonhole/tests/extensions/date/zones.svtest create mode 100644 pigeonhole/tests/extensions/editheader/addheader.svtest create mode 100644 pigeonhole/tests/extensions/editheader/alternating.svtest create mode 100644 pigeonhole/tests/extensions/editheader/deleteheader.svtest create mode 100644 pigeonhole/tests/extensions/editheader/errors.svtest create mode 100644 pigeonhole/tests/extensions/editheader/errors/command-syntax.sieve create mode 100644 pigeonhole/tests/extensions/editheader/errors/field-name-runtime.sieve create mode 100644 pigeonhole/tests/extensions/editheader/errors/field-name.sieve create mode 100644 pigeonhole/tests/extensions/editheader/errors/field-value.sieve create mode 100644 pigeonhole/tests/extensions/editheader/errors/runtime-error.sieve create mode 100644 pigeonhole/tests/extensions/editheader/errors/size-limit-runtime.sieve create mode 100644 pigeonhole/tests/extensions/editheader/errors/size-limit.sieve create mode 100644 pigeonhole/tests/extensions/editheader/protected.svtest create mode 100644 pigeonhole/tests/extensions/editheader/utf8.svtest create mode 100644 pigeonhole/tests/extensions/encoded-character.svtest create mode 100644 pigeonhole/tests/extensions/enotify/basic.svtest create mode 100644 pigeonhole/tests/extensions/enotify/encodeurl.svtest create mode 100644 pigeonhole/tests/extensions/enotify/errors.svtest create mode 100644 pigeonhole/tests/extensions/enotify/errors/from-mailto.sieve create mode 100644 pigeonhole/tests/extensions/enotify/errors/options.sieve create mode 100644 pigeonhole/tests/extensions/enotify/errors/uri-mailto.sieve create mode 100644 pigeonhole/tests/extensions/enotify/errors/uri.sieve create mode 100644 pigeonhole/tests/extensions/enotify/execute.svtest create mode 100644 pigeonhole/tests/extensions/enotify/execute/draft-rfc-ex1.sieve create mode 100644 pigeonhole/tests/extensions/enotify/execute/draft-rfc-ex2.sieve create mode 100644 pigeonhole/tests/extensions/enotify/execute/draft-rfc-ex3.sieve create mode 100644 pigeonhole/tests/extensions/enotify/execute/draft-rfc-ex5.sieve create mode 100644 pigeonhole/tests/extensions/enotify/execute/draft-rfc-ex6.sieve create mode 100644 pigeonhole/tests/extensions/enotify/execute/duplicates.sieve create mode 100644 pigeonhole/tests/extensions/enotify/mailto.svtest create mode 100644 pigeonhole/tests/extensions/enotify/notify_method_capability.svtest create mode 100644 pigeonhole/tests/extensions/enotify/valid_notify_method.svtest create mode 100644 pigeonhole/tests/extensions/envelope.svtest create mode 100644 pigeonhole/tests/extensions/environment/basic.svtest create mode 100644 pigeonhole/tests/extensions/environment/rfc.svtest create mode 100644 pigeonhole/tests/extensions/ihave/errors.svtest create mode 100644 pigeonhole/tests/extensions/ihave/errors/error.sieve create mode 100644 pigeonhole/tests/extensions/ihave/execute.svtest create mode 100644 pigeonhole/tests/extensions/ihave/execute/ihave.sieve create mode 100644 pigeonhole/tests/extensions/ihave/restrictions.svtest create mode 100644 pigeonhole/tests/extensions/imap4flags/basic.svtest create mode 100644 pigeonhole/tests/extensions/imap4flags/execute.svtest create mode 100644 pigeonhole/tests/extensions/imap4flags/execute/flags-side-effect.sieve create mode 100644 pigeonhole/tests/extensions/imap4flags/flagstore.svtest create mode 100644 pigeonhole/tests/extensions/imap4flags/flagstring.svtest create mode 100644 pigeonhole/tests/extensions/imap4flags/hasflag.svtest create mode 100644 pigeonhole/tests/extensions/imap4flags/multiscript.svtest create mode 100644 pigeonhole/tests/extensions/imap4flags/multiscript/fileinto.sieve create mode 100644 pigeonhole/tests/extensions/imap4flags/multiscript/group-spam.sieve create mode 100644 pigeonhole/tests/extensions/imap4flags/multiscript/sent-store.sieve create mode 100644 pigeonhole/tests/extensions/imap4flags/multiscript/setflag.sieve create mode 100644 pigeonhole/tests/extensions/imap4flags/multiscript/spam.sieve create mode 100644 pigeonhole/tests/extensions/include/errors.svtest create mode 100644 pigeonhole/tests/extensions/include/errors/action-conflicts.sieve create mode 100644 pigeonhole/tests/extensions/include/errors/circular-1.sieve create mode 100644 pigeonhole/tests/extensions/include/errors/circular-2.sieve create mode 100644 pigeonhole/tests/extensions/include/errors/circular-3.sieve create mode 100644 pigeonhole/tests/extensions/include/errors/depth-limit.sieve create mode 100644 pigeonhole/tests/extensions/include/errors/generic.sieve create mode 100644 pigeonhole/tests/extensions/include/errors/global-namespace.sieve create mode 100644 pigeonhole/tests/extensions/include/errors/include-limit.sieve create mode 100644 pigeonhole/tests/extensions/include/errors/scriptname.sieve create mode 100644 pigeonhole/tests/extensions/include/errors/variables-inactive.sieve create mode 100644 pigeonhole/tests/extensions/include/errors/variables.sieve create mode 100644 pigeonhole/tests/extensions/include/execute.svtest create mode 100644 pigeonhole/tests/extensions/include/execute/actions-fileinto.sieve create mode 100644 pigeonhole/tests/extensions/include/execute/namespace.sieve create mode 100644 pigeonhole/tests/extensions/include/execute/optional.sieve create mode 100644 pigeonhole/tests/extensions/include/execute/optional.svbin create mode 100644 pigeonhole/tests/extensions/include/included-global/namespace.dict create mode 100644 pigeonhole/tests/extensions/include/included-global/namespace.sieve create mode 100644 pigeonhole/tests/extensions/include/included-global/rfc-ex1-spam_tests.sieve create mode 100644 pigeonhole/tests/extensions/include/included/action-fileinto.sieve create mode 100644 pigeonhole/tests/extensions/include/included/action-reject.sieve create mode 100644 pigeonhole/tests/extensions/include/included/actions-fileinto1.sieve create mode 100644 pigeonhole/tests/extensions/include/included/actions-fileinto2.sieve create mode 100644 pigeonhole/tests/extensions/include/included/actions-fileinto3.sieve create mode 100644 pigeonhole/tests/extensions/include/included/circular-one.sieve create mode 100644 pigeonhole/tests/extensions/include/included/circular-three-2.sieve create mode 100644 pigeonhole/tests/extensions/include/included/circular-three-3.sieve create mode 100644 pigeonhole/tests/extensions/include/included/circular-three.sieve create mode 100644 pigeonhole/tests/extensions/include/included/circular-two-2.sieve create mode 100644 pigeonhole/tests/extensions/include/included/circular-two.sieve create mode 100644 pigeonhole/tests/extensions/include/included/depth-limit-1.sieve create mode 100644 pigeonhole/tests/extensions/include/included/depth-limit-2.sieve create mode 100644 pigeonhole/tests/extensions/include/included/depth-limit-3.sieve create mode 100644 pigeonhole/tests/extensions/include/included/namespace.dict create mode 100644 pigeonhole/tests/extensions/include/included/namespace.sieve create mode 100644 pigeonhole/tests/extensions/include/included/once-1.sieve create mode 100644 pigeonhole/tests/extensions/include/included/once-2.sieve create mode 100644 pigeonhole/tests/extensions/include/included/once-3.sieve create mode 100644 pigeonhole/tests/extensions/include/included/once-4.sieve create mode 100644 pigeonhole/tests/extensions/include/included/optional-1.sieve create mode 100644 pigeonhole/tests/extensions/include/included/optional-2.sieve create mode 100644 pigeonhole/tests/extensions/include/included/rfc-ex1-always_allow.sieve create mode 100644 pigeonhole/tests/extensions/include/included/rfc-ex1-mailing_lists.sieve create mode 100644 pigeonhole/tests/extensions/include/included/rfc-ex1-spam_tests.sieve create mode 100644 pigeonhole/tests/extensions/include/included/rfc-ex2-spam_filter_script.sieve create mode 100644 pigeonhole/tests/extensions/include/included/twice-1.sieve create mode 100644 pigeonhole/tests/extensions/include/included/twice-2.sieve create mode 100644 pigeonhole/tests/extensions/include/included/variables-included1.sieve create mode 100644 pigeonhole/tests/extensions/include/included/variables-included2.sieve create mode 100644 pigeonhole/tests/extensions/include/included/variables-included3.sieve create mode 100644 pigeonhole/tests/extensions/include/once.svtest create mode 100644 pigeonhole/tests/extensions/include/optional.svtest create mode 100644 pigeonhole/tests/extensions/include/rfc-ex1-default.sieve create mode 100644 pigeonhole/tests/extensions/include/rfc-ex2-default.sieve create mode 100644 pigeonhole/tests/extensions/include/rfc.svtest create mode 100644 pigeonhole/tests/extensions/include/twice.svtest create mode 100644 pigeonhole/tests/extensions/include/variables.svtest create mode 100644 pigeonhole/tests/extensions/mailbox/execute.svtest create mode 100644 pigeonhole/tests/extensions/regex/basic.svtest create mode 100644 pigeonhole/tests/extensions/regex/errors.svtest create mode 100644 pigeonhole/tests/extensions/regex/errors/compile.sieve create mode 100644 pigeonhole/tests/extensions/regex/errors/runtime.sieve create mode 100644 pigeonhole/tests/extensions/regex/match-values.svtest create mode 100644 pigeonhole/tests/extensions/reject/execute.svtest create mode 100644 pigeonhole/tests/extensions/reject/execute/basic.sieve create mode 100644 pigeonhole/tests/extensions/reject/smtp.svtest create mode 100644 pigeonhole/tests/extensions/relational/basic.svtest create mode 100644 pigeonhole/tests/extensions/relational/comparators.svtest create mode 100644 pigeonhole/tests/extensions/relational/errors.svtest create mode 100644 pigeonhole/tests/extensions/relational/errors/validation.sieve create mode 100644 pigeonhole/tests/extensions/relational/rfc.svtest create mode 100644 pigeonhole/tests/extensions/spamvirustest/errors.svtest create mode 100644 pigeonhole/tests/extensions/spamvirustest/errors/syntax-errors.sieve create mode 100644 pigeonhole/tests/extensions/spamvirustest/spamtest.svtest create mode 100644 pigeonhole/tests/extensions/spamvirustest/spamtestplus.svtest create mode 100644 pigeonhole/tests/extensions/spamvirustest/virustest.svtest create mode 100644 pigeonhole/tests/extensions/subaddress/basic.svtest create mode 100644 pigeonhole/tests/extensions/subaddress/config.svtest create mode 100644 pigeonhole/tests/extensions/subaddress/rfc.svtest create mode 100644 pigeonhole/tests/extensions/vacation/errors.svtest create mode 100644 pigeonhole/tests/extensions/vacation/errors/conflict-reject.sieve create mode 100644 pigeonhole/tests/extensions/vacation/execute.svtest create mode 100644 pigeonhole/tests/extensions/vacation/execute/action.sieve create mode 100644 pigeonhole/tests/extensions/vacation/execute/no-handle.sieve create mode 100644 pigeonhole/tests/extensions/vacation/execute/seconds.sieve create mode 100644 pigeonhole/tests/extensions/vacation/message.svtest create mode 100644 pigeonhole/tests/extensions/vacation/references.sieve create mode 100644 pigeonhole/tests/extensions/vacation/reply.svtest create mode 100644 pigeonhole/tests/extensions/vacation/smtp.svtest create mode 100644 pigeonhole/tests/extensions/vacation/utf-8.svtest create mode 100644 pigeonhole/tests/extensions/variables/basic.svtest create mode 100644 pigeonhole/tests/extensions/variables/errors.svtest create mode 100644 pigeonhole/tests/extensions/variables/errors/limits.sieve create mode 100644 pigeonhole/tests/extensions/variables/errors/namespace.sieve create mode 100644 pigeonhole/tests/extensions/variables/errors/set.sieve create mode 100644 pigeonhole/tests/extensions/variables/match.svtest create mode 100644 pigeonhole/tests/extensions/variables/modifiers.svtest create mode 100644 pigeonhole/tests/extensions/variables/quoting.svtest create mode 100644 pigeonhole/tests/extensions/variables/regex.svtest create mode 100644 pigeonhole/tests/extensions/variables/string.svtest create mode 100644 pigeonhole/tests/extensions/vnd.dovecot/debug/execute.svtest create mode 100644 pigeonhole/tests/extensions/vnd.dovecot/duplicate/errors.svtest create mode 100644 pigeonhole/tests/extensions/vnd.dovecot/duplicate/errors/syntax.sieve create mode 100644 pigeonhole/tests/extensions/vnd.dovecot/duplicate/execute.svtest create mode 100644 pigeonhole/tests/lexer.svtest create mode 100644 pigeonhole/tests/match-types/contains.svtest create mode 100644 pigeonhole/tests/match-types/is.svtest create mode 100644 pigeonhole/tests/match-types/matches.svtest create mode 100644 pigeonhole/tests/multiscript/basic.svtest create mode 100644 pigeonhole/tests/multiscript/conflicts.svtest create mode 100644 pigeonhole/tests/multiscript/fileinto-frop.sieve create mode 100644 pigeonhole/tests/multiscript/fileinto-inbox.sieve create mode 100644 pigeonhole/tests/multiscript/keep.sieve create mode 100644 pigeonhole/tests/multiscript/notify.sieve create mode 100644 pigeonhole/tests/multiscript/reject-1.sieve create mode 100644 pigeonhole/tests/multiscript/reject-2.sieve create mode 100644 pigeonhole/tests/multiscript/vacation.sieve create mode 100755 pigeonhole/tests/plugins/extprograms/bin/addheader create mode 100755 pigeonhole/tests/plugins/extprograms/bin/cat create mode 100755 pigeonhole/tests/plugins/extprograms/bin/env create mode 100755 pigeonhole/tests/plugins/extprograms/bin/frame create mode 100755 pigeonhole/tests/plugins/extprograms/bin/modify create mode 100755 pigeonhole/tests/plugins/extprograms/bin/program create mode 100755 pigeonhole/tests/plugins/extprograms/bin/replace create mode 100755 pigeonhole/tests/plugins/extprograms/bin/sleep10 create mode 100755 pigeonhole/tests/plugins/extprograms/bin/sleep2 create mode 100755 pigeonhole/tests/plugins/extprograms/bin/stderr create mode 100644 pigeonhole/tests/plugins/extprograms/errors.svtest create mode 100644 pigeonhole/tests/plugins/extprograms/errors/arguments.sieve create mode 100644 pigeonhole/tests/plugins/extprograms/errors/programname.sieve create mode 100644 pigeonhole/tests/plugins/extprograms/execute/command.svtest create mode 100644 pigeonhole/tests/plugins/extprograms/execute/errors.svtest create mode 100644 pigeonhole/tests/plugins/extprograms/execute/errors/syntax.sieve create mode 100644 pigeonhole/tests/plugins/extprograms/execute/errors/variables.sieve create mode 100644 pigeonhole/tests/plugins/extprograms/execute/execute.svtest create mode 100644 pigeonhole/tests/plugins/extprograms/filter/command.svtest create mode 100644 pigeonhole/tests/plugins/extprograms/filter/errors.svtest create mode 100644 pigeonhole/tests/plugins/extprograms/filter/errors/syntax.sieve create mode 100644 pigeonhole/tests/plugins/extprograms/filter/execute.svtest create mode 100644 pigeonhole/tests/plugins/extprograms/pipe/command.svtest create mode 100644 pigeonhole/tests/plugins/extprograms/pipe/errors.svtest create mode 100644 pigeonhole/tests/plugins/extprograms/pipe/errors/syntax.sieve create mode 100644 pigeonhole/tests/plugins/extprograms/pipe/errors/timeout.sieve create mode 100644 pigeonhole/tests/plugins/extprograms/pipe/execute.svtest create mode 100644 pigeonhole/tests/test-address.svtest create mode 100644 pigeonhole/tests/test-allof.svtest create mode 100644 pigeonhole/tests/test-anyof.svtest create mode 100644 pigeonhole/tests/test-exists.svtest create mode 100644 pigeonhole/tests/test-header.svtest create mode 100644 pigeonhole/tests/test-size.svtest create mode 100644 pigeonhole/tests/testsuite.svtest diff --git a/pigeonhole/AUTHORS b/pigeonhole/AUTHORS new file mode 100644 index 0000000..88a2e4b --- /dev/null +++ b/pigeonhole/AUTHORS @@ -0,0 +1,8 @@ +Stephan Bosch + +This package is built for and partly based on the Dovecot Secure IMAP server +written by: + +Timo Sirainen . + +Grepping 'patch by' from ChangeLog shows up more people. diff --git a/pigeonhole/COPYING b/pigeonhole/COPYING new file mode 100644 index 0000000..98aa091 --- /dev/null +++ b/pigeonhole/COPYING @@ -0,0 +1,4 @@ +See AUTHORS file for list of copyright holders. + +Everything is licenced under LGPLv2.1 (see COPYING.LGPL) unless otherwise +mentioned at the beginning of the file. diff --git a/pigeonhole/COPYING.LGPL b/pigeonhole/COPYING.LGPL new file mode 100644 index 0000000..cf9b6b9 --- /dev/null +++ b/pigeonhole/COPYING.LGPL @@ -0,0 +1,510 @@ + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations +below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. +^L + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it +becomes a de-facto standard. To achieve this, non-free programs must +be allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. +^L + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control +compilation and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. +^L + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. +^L + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at least + three years, to give the same user the materials specified in + Subsection 6a, above, for a charge no more than the cost of + performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. +^L + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. +^L + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply, and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License +may add an explicit geographical distribution limitation excluding those +countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. +^L + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS +^L + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms +of the ordinary General Public License). + + To apply these terms, attach the following notices to the library. +It is safest to attach them to the start of each source file to most +effectively convey the exclusion of warranty; and each file should +have at least the "copyright" line and a pointer to where the full +notice is found. + + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the library, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James + Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/pigeonhole/ChangeLog b/pigeonhole/ChangeLog new file mode 100644 index 0000000..6f0df43 --- /dev/null +++ b/pigeonhole/ChangeLog @@ -0,0 +1,15028 @@ +2013-09-23 Stephan Bosch + + * doc/extensions/vacation.txt, src/lib-sieve/plugins/vacation/cmd- + vacation.c, src/lib-sieve/plugins/vacation/ext-vacation-common.c, + src/lib-sieve/plugins/vacation/ext-vacation-common.h, + tests/extensions/vacation/message.svtest: + lib-sieve: vacation extension: Added support for sending vacation + messages with an actual sender. Use + sieve_vacation_send_from_recipient to enable this behavior. + Documentation in doc/extensions/vacation.txt is updated. + [4924724b7f4f] [tip] + + * src/managesieve-login/managesieve-login-settings.c: + managesieve: Updated to changes in Dovecot listeners regarding + SO_REUSEPORT. + [9b78ef1584c6] + +2013-09-22 Stephan Bosch + + * src/plugins/doveadm-sieve/doveadm-sieve-plugin.c: + doveadm sieve plugin: Fixed the `Invalid value for default sieve + attribute' problem. The attribute type code data was allocated on + the stack rather than statically, causing the returned stream to + point to invalid data. + [3163f3696498] + +2013-09-17 Stephan Bosch + + * src/lib-sievestorage/sieve-storage.h: + doveadm sieve plugin: Changed root attribute for Sieve. + [34a5db66fc52] + + * src/plugins/doveadm-sieve/doveadm-sieve-plugin.c: + doveadm sieve plugin: Small initialization fix. + [4a11a588b55c] + +2013-09-16 Stephan Bosch + + * src/lib-sieve/plugins/variables/cmd-set.c: + Merged changes from v0.3 tree. + [b1db52d0c0b3] + + * src/lib-sieve/plugins/variables/cmd-set.c: + lib-sieve: variables extension: Fixed code corruption bug in 'set' + command. Bug whould occur when modifier was used and the value + became "" at some point. In that case not all operands (modifiers) + were read, causing the subsequent operation to start at an erroneous + position. + [aadc77880254] + + * src/lib-sieve/sieve-binary-dumper.c: + sieve-dump tool: Fixed hex output. Messed up signed/unsigned + characters. + [5b4b8d0cf0f3] + + * src/lib-sieve/plugins/variables/cmd-set.c: + lib-sieve: variables extension: fixed data stack problem in 'set' + command. + [2b7472f55ec5] + +2013-09-15 Stephan Bosch + + * src/lib-sieve/sieve-binary-code.c: + lib-sieve: Fixed code block read bounds checking. + [0ad4ca692650] + + * src/plugins/doveadm-sieve/doveadm-sieve-plugin.c: + doveadm-sieve plugin: Fixed segfault bug. + [8be59d267be3] + + * Merged changes from Pigeonhole 0.3 tree. + [78215acd5614] + + * src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c: + lib-sieve: spamtest virustest extensions: Fixed end-of-string + testing in configuration parser. + [c20d078d0cf4] + +2013-09-04 Stephan Bosch + + * src/plugins/doveadm-sieve/doveadm-sieve-plugin.c: + doveadm-sieve plugin: Fixed a few crash issues. Patches by Timo + Sirainen. + [00fbc2bc1fad] + +2013-08-15 Stephan Bosch + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/sieve-validator.c, src + /managesieve-login/client-authenticate.c, src/testsuite/testsuite.c: + Merged changes from Pigeonhole v0.3 tree. + [09ce20eaa1c2] + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/sieve-address.c, src + /lib-sieve/sieve-validator.c, src/managesieve-login/client- + authenticate.c, src/testsuite/testsuite-objects.c, + src/testsuite/testsuite.c: + Various fixes for CLang warnings. Patch by Timo Sirainen (modified). + [e57214510465] + + * src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h: + lib-sieve: include extension: Fixed implementation of new :options + flag. Mixed up pre-existing boolean once parameter with new flags + parameter. This probably means that :optional partially implied + :once for previous revisions. + [bb5fa32f87bc] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + lda-sieve plugin: Don't access already freed memory when + deinitializing. Patch by Timo Sirainen (modified). + [0e7b22c65147] + + * src/plugins/sieve-extprograms/script-client-local.c: + extprograms plugin: Compiler warning fix for 32bit systems. Patch by + Timo Sirainen. + [2452dae5792f] + +2013-07-10 Stephan Bosch + + * src/lib-sieve/plugins/editheader/ext-editheader.c, src/lib- + sieve/plugins/environment/ext-environment.c, src/lib- + sieve/plugins/ihave/ext-ihave.c, src/lib-sieve/plugins/include/ext- + include.c, src/lib-sieve/plugins/mailbox/ext-mailbox.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest.c, src/lib- + sieve/plugins/vacation/ext-vacation-seconds.c, src/lib- + sieve/plugins/vnd.dovecot/debug/ext-debug.c, src/lib- + sieve/plugins/vnd.dovecot/duplicate/ext-duplicate.c, src/plugins + /sieve-extprograms/ext-execute.c, src/plugins/sieve-extprograms/ext- + filter.c, src/plugins/sieve-extprograms/ext-pipe.c: + Updated Sieve extension status in comments. + [a6a1c041c209] + +2013-07-03 Stephan Bosch + + * .hgsigs: + Added signature for changeset f1535e2255cd + [612d91d3b745] + + * .hgtags: + Added tag 0.4.1 for changeset f1535e2255cd + [931f00c28603] + + * NEWS, configure.ac: + Released v0.4.1 for Dovecot v2.2.4. + [f1535e2255cd] [0.4.1] + + * src/lib-sievestorage/Makefile.am: + Merged changes from Pigeonhole v0.3 tree. + [597c1dcbda11] + +2013-06-18 Stephan Bosch + + * src/lib-sievestorage/Makefile.am: + Fixed deprecated INCLUDE= assignment in Makefile.am + [53ee9655e78e] + + * src/lib-sievestorage/sieve-storage-script.c: + lib-sievestorage: Removed PATH_MAX limitation for active symlink. + Fixes issue for GNU/Hurd. + [1b1a0c271383] + + * src/lib-sieve/cmd-redirect.c: + Fixed line endings in X-Sieve headers added by redirect command. + Modified patch by Andriy Syrovenko. + [e439789e3211] + + * src/sieve-tools/sieve-filter.c: + Don't access ns->storage. Patch by Timo Sirainen. + [204d48dc7529] + +2013-06-02 Stephan Bosch + + * src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-redirect.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/plugins/enotify/cmd-notify.c, src + /lib-sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/mailbox/tag-mailbox-create.c, src/lib- + sieve/plugins/notify/cmd-notify.c, src/lib-sieve/plugins/vacation + /cmd-vacation.c, src/lib-sieve/plugins/vnd.dovecot/duplicate/ext- + duplicate-common.c, src/lib-sieve/sieve-actions.c, src/lib-sieve + /sieve-actions.h, src/lib-sieve/sieve-binary-file.c, src/lib-sieve + /sieve-result.c, src/lib-sieve/sieve-result.h, src/lib-sieve/sieve- + script-dict.c, src/lib-sieve/sieve-script-file.c, src/lib-sieve + /sieve-script.c, src/lib-sieve/sieve-types.h, src/lib-sieve/sieve.c, + src/lib-sieve/sieve.h, src/lib-sievestorage/sieve-storage.c, + src/managesieve/managesieve-client.c, src/plugins/lda-sieve/lda- + sieve-plugin.c, src/plugins/sieve-extprograms/cmd-pipe.c, + src/plugins/sieve-extprograms/sieve-extprograms-common.c, src/sieve- + tools/sieve-filter.c, src/sieve-tools/sieve-test.c, + src/testsuite/testsuite.c: + Finished support for temporary failures. This change is bigger than + I would have liked, so this needs to be tested more. + [ca6735be7bba] + +2013-05-24 Stephan Bosch + + * src/managesieve-login/client.c: + Merged changes from Pigeonhole v0.3 tree. + [eff46ace3456] + + * src/managesieve-login/client.c: + managesieve-login: Fixed '[' ']' stupidity for response codes. + Emerged when Sieve and ManageSieve were merged into Pigeonhole. + [d4ae981567e1] + +2013-05-12 Stephan Bosch + + * doc/example-config/conf.d/20-managesieve.conf: + Fixed setting name in example-config/conf.d/20-managesieve.conf. + [7319f0becc98] + +2013-05-20 Stephan Bosch + + * src/plugins/sieve-extprograms/script-client-remote.c, src/plugins + /sieve-extprograms/script-client.c: + Sieve extprograms plugin: Fixed interaction between pipe command and + remote script service. The output from the script service was never + read, causing a broken pipe error at the script service. Apparently, + this was broken since the I/O handling for extprograms was last + revised. + [d4e9ca7fddcf] + +2013-05-15 Stephan Bosch + + * src/lib-sieve/rfc2822.c: + lib-sieve: Fixed datastack problem in message header composition. + [04ad3c2f0765] + +2013-05-09 Stephan Bosch + + * README, doc/man/pigeonhole.7.in, doc/man/sieve-dump.1.in, doc/man + /sieve-filter.1.in, doc/man/sieve-test.1.in, doc/man/sievec.1.in: + Forgot to update Dovecot version in README and man pages. + [a32b12ab5ea6] + + * .hgsigs: + Added signature for changeset 3a8dc1250e9b + [1e0a6a4f4634] + + * .hgtags: + Added tag 0.4.0 for changeset 3a8dc1250e9b + [b41f5cf04b8f] + + * INSTALL, Makefile.am, NEWS, configure.ac, m4/dovecot.m4: + Released v0.4.0 for Dovecot v2.2.1. + [3a8dc1250e9b] [0.4.0] + + * .hgsigs: + Added signature for changeset 374ec9399958 + [34cb3668f86d] + + * .hgtags: + Added tag 0.3.5 for changeset 374ec9399958 + [59c48b78f3aa] + + * NEWS, configure.in: + Released v0.3.5 for Dovecot v2.1.16. + [374ec9399958] [0.3.5] + + * m4/dovecot.m4: + Fixed problem in `make distcheck`. Added --disable-shared to + DISTCHECK_CONFIGURE_FLAGS (in dovecot.m4) to prevent libtool from + relinking the libraries. + [9d76d51685e1] + + * m4/dovecot.m4: + Updated dovecot.m4 to latest version. + [01ac5c3f5b07] + + * configure.ac: + Removed UNSTABLE notice from configure. + [26c30ba221d0] + + * src/lib-sieve/edit-mail.c: + Merged changed from Pigeonhole v0.3. + [39848c052666] + +2013-05-02 Stephan Bosch + + * src/lib-sieve/edit-mail.c, src/lib-sieve/plugins/editheader/cmd- + deleteheader.c, tests/extensions/editheader/deleteheader.svtest: + lib-sieve: editheader extension: Fixed interaction with body + extension. Forgot to rewind mail stream before header parsing. + Wrapped mail stream is obtained long before parsing, so if it is + used in the mean time, it must be rewound to the beginning. + [0163c45094a3] + +2013-04-07 Stephan Bosch + + * tests/extensions/date/basic.svtest: + testsuite: fixed local timezone dependency in date extension tests. + [bc2126771d00] + +2013-05-09 Stephan Bosch + + * src/lib-sievestorage/sieve-storage-private.h, src/lib-sievestorage + /sieve-storage-save.c, src/lib-sievestorage/sieve-storage-script.c, + src/lib-sievestorage/sieve-storage.c, src/lib-sievestorage/sieve- + storage.h, src/managesieve/managesieve-client.c, src/plugins + /doveadm-sieve/doveadm-sieve-plugin.c: + doveadm-sieve: Fixed synchronization of script deletions. Sieve + storage now updates sieve attributes in the user's INBOX if used by + ManageSieve. + [676ca33ea4f6] + +2013-05-06 Stephan Bosch + + * src/lib-sievestorage/sieve-storage.c, src/plugins/doveadm-sieve + /doveadm-sieve-plugin.c: + doveadm-sieve: Fix ping-pong problem in active Sieve script + synchronization. Patch by Timo Sirainen. + [e2e1ecc75a72] + +2013-04-23 Stephan Bosch + + * src/lib-sievestorage/sieve-storage-private.h, src/lib-sievestorage + /sieve-storage-save.c, src/lib-sievestorage/sieve-storage-script.c, + src/lib-sievestorage/sieve-storage-script.h, src/lib-sievestorage + /sieve-storage.c, src/managesieve/cmd-setactive.c, src/plugins + /doveadm-sieve/doveadm-sieve-plugin.c: + doveadm-sieve: Fixed mtime updates. Patch by Timo Sirainen. + [5892c2ab9b0d] + +2013-04-20 Stephan Bosch + + * src/lib-sievestorage/sieve-storage-save.c, src/lib-sievestorage + /sieve-storage-save.h, src/lib-sievestorage/sieve-storage.c, src + /lib-sievestorage/sieve-storage.h, src/plugins/doveadm-sieve + /doveadm-sieve-plugin.c: + doveadm-sieve: Set mtime of modified scripts and sieve dir to + timestamp from dsync. Still does not fix the ping-pong issue. + [94cd5a1c85cf] + +2013-04-19 Stephan Bosch + + * src/lib-sievestorage/sieve-storage-save.c, src/lib-sievestorage + /sieve-storage-script.c: + doveadm-sieve: Made active script last_change time always dependent + on sieve_dir mtime. Change is preliminary. Still doing some + experiments, 'ping-pong' problem is not solved. + [2de5c020cc03] + + * src/lib-sievestorage/sieve-storage-private.h, src/lib-sievestorage + /sieve-storage-script.c, src/lib-sievestorage/sieve-storage.c, src + /lib-sievestorage/sieve-storage.h, src/managesieve/managesieve- + client.c, src/plugins/doveadm-sieve/doveadm-sieve-plugin.c: + doveadm-sieve: Prevented Sieve storage from logging useless while + synchronizing. Added flag to prevent warnings about non-link active + scripts and disable critical error logging. A rather fundamental + synchronization problem remains to be solved. + [9f14740cc1c0] + + * INSTALL, NEWS, README, TODO, doc/plugins/sieve_extprograms.txt: + Made preparations for first v0.4 release. + [5fa5e2dfbb57] + + * src/testsuite/testsuite-variables.c, + tests/plugins/extprograms/bin/sleep10, + tests/plugins/extprograms/execute/command.svtest, + tests/plugins/extprograms/execute/errors.svtest, + tests/plugins/extprograms/execute/execute.svtest, + tests/plugins/extprograms/filter/command.svtest, + tests/plugins/extprograms/filter/errors.svtest, + tests/plugins/extprograms/filter/execute.svtest, + tests/plugins/extprograms/pipe/command.svtest, + tests/plugins/extprograms/pipe/errors.svtest, + tests/plugins/extprograms/pipe/errors/timeout.sieve, + tests/plugins/extprograms/pipe/execute.svtest: + Fixed distcheck failure on sieve_extprograms plugin testsuite. + [ee5a40db9e73] + + * tests/plugins/extprograms/execute/execute.svtest: + Fixed test suite for vnd.dovecot.execute extension. Testsuite + hostname is now true local hostname. + [2688c750b426] + +2013-04-12 Stephan Bosch + + * src/lib-sieve/sieve.c: + Fixed doveconf crash caused by previous change. Patch by Timo + Sirainen. + [70f0b7140939] + +2013-04-11 Stephan Bosch + + * README, src/lib-sieve-tool/sieve-tool.c, src/lib- + sieve/plugins/environment/ext-environment-common.c, src/lib-sieve + /sieve-common.h, src/lib-sieve/sieve-types.h, src/lib-sieve/sieve.c, + src/plugins/lda-sieve/lda-sieve-plugin.c, + tests/extensions/environment/basic.svtest, + tests/extensions/environment/rfc.svtest: + lib-sieve: environment extension: Finally finished this extension a + much as possible. Some environment items in the base specification + are not (yet) applicable to Dovecot and are therefore not supported. + [9d38ca755000] + + * src/plugins/doveadm-sieve/doveadm-sieve-plugin.c: + doveadm-sieve: Updated to dsync changes in Dovecot mail storage API. + Patch by Timo Sirainen. + [1a3a4545fa10] + +2013-04-07 Stephan Bosch + + * src/plugins/sieve-extprograms/script-client-remote.c, src/plugins + /sieve-extprograms/sieve-extprograms-common.h: + Compile warning fixes. + [aafcff20c8a7] + + * TODO: + Updated TODO to include items related to sieve_extprograms plugin. + [1d2bf4a7dc9f] + + * INSTALL, Makefile.am, configure.ac, doc/Makefile.am, doc/example- + config/conf.d/90-sieve-extprograms.conf, doc/example- + config/conf.d/90-sieve.conf, doc/example-config/conf.d/Makefile.am, + doc/plugins/sieve_extprograms.txt, doc/rfc/spec-bosch-sieve- + extprograms.txt, doc/rfc/xml/reference.DSN.xml, + doc/rfc/xml/reference.MDN.xml, doc/rfc/xml/reference.NET- + UNICODE.xml, doc/rfc/xml/reference.RFC.3894.xml, + doc/rfc/xml/reference.RFC.5429.xml, + doc/rfc/xml/reference.SUBADDRESS.xml, + doc/rfc/xml/reference.UTF-8.xml, doc/rfc/xml/spec-bosch-sieve- + extprograms.xml, src/plugins/Makefile.am, src/plugins/sieve- + extprograms/Makefile.am, src/plugins/sieve-extprograms/cmd- + execute.c, src/plugins/sieve-extprograms/cmd-filter.c, src/plugins + /sieve-extprograms/cmd-pipe.c, src/plugins/sieve-extprograms/ext- + execute.c, src/plugins/sieve-extprograms/ext-filter.c, src/plugins + /sieve-extprograms/ext-pipe.c, src/plugins/sieve-extprograms/script- + client-local.c, src/plugins/sieve-extprograms/script-client- + private.h, src/plugins/sieve-extprograms/script-client-remote.c, + src/plugins/sieve-extprograms/script-client.c, src/plugins/sieve- + extprograms/script-client.h, src/plugins/sieve-extprograms/sieve- + extprograms-common.c, src/plugins/sieve-extprograms/sieve- + extprograms-common.h, src/plugins/sieve-extprograms/sieve- + extprograms-plugin.c, src/plugins/sieve-extprograms/sieve- + extprograms-plugin.h, tests/plugins/extprograms/bin/addheader, + tests/plugins/extprograms/bin/cat, + tests/plugins/extprograms/bin/env, + tests/plugins/extprograms/bin/frame, + tests/plugins/extprograms/bin/modify, + tests/plugins/extprograms/bin/program, + tests/plugins/extprograms/bin/replace, + tests/plugins/extprograms/bin/sleep2, + tests/plugins/extprograms/bin/stderr, + tests/plugins/extprograms/errors.svtest, + tests/plugins/extprograms/errors/arguments.sieve, + tests/plugins/extprograms/errors/programname.sieve, + tests/plugins/extprograms/execute/command.svtest, + tests/plugins/extprograms/execute/errors.svtest, + tests/plugins/extprograms/execute/errors/syntax.sieve, + tests/plugins/extprograms/execute/errors/variables.sieve, + tests/plugins/extprograms/execute/execute.svtest, + tests/plugins/extprograms/filter/command.svtest, + tests/plugins/extprograms/filter/errors.svtest, + tests/plugins/extprograms/filter/errors/syntax.sieve, + tests/plugins/extprograms/filter/execute.svtest, + tests/plugins/extprograms/pipe/command.svtest, + tests/plugins/extprograms/pipe/errors.svtest, + tests/plugins/extprograms/pipe/errors/syntax.sieve, + tests/plugins/extprograms/pipe/errors/timeout.sieve, + tests/plugins/extprograms/pipe/execute.svtest: + Added sieve_extprograms plugin to the main Pigeonhole tree. It is + still a plugin, but no longer a separate package. + [a68530fb25d4] + + * TODO: + Updated TODO. + [c6c6af49f8ac] + + * TODO, configure.ac, src/lib-managesieve/managesieve-parser.c, src + /lib-sieve-tool/mail-raw.c, src/lib-sieve/cmd-redirect.c, src/lib- + sieve/edit-mail.c, src/lib-sieve/ext-encoded-character.c, src/lib- + sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib-sieve + /ext-reject.c, src/lib-sieve/plugins/body/ext-body-common.c, src + /lib-sieve/plugins/body/ext-body.c, src/lib- + sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i-ascii-numeric.c, + src/lib-sieve/plugins/copy/ext-copy.c, src/lib-sieve/plugins/date + /ext-date-common.c, src/lib-sieve/plugins/date/ext-date.c, src/lib- + sieve/plugins/editheader/ext-editheader-common.c, src/lib- + sieve/plugins/editheader/ext-editheader.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ext-enotify.c, src/lib- + sieve/plugins/enotify/mailto/ntfy-mailto.c, src/lib- + sieve/plugins/environment/ext-environment-common.c, src/lib- + sieve/plugins/environment/ext-environment.c, src/lib- + sieve/plugins/ihave/ext-ihave-binary.c, src/lib-sieve/plugins/ihave + /ext-ihave-common.h, src/lib-sieve/plugins/ihave/ext-ihave.c, src + /lib-sieve/plugins/ihave/tst-ihave.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags.c, src/lib- + sieve/plugins/imap4flags/ext-imapflags.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/ext-include-binary.c, + src/lib-sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/mailbox + /ext-mailbox.c, src/lib-sieve/plugins/notify/cmd-notify.c, src/lib- + sieve/plugins/notify/ext-notify-common.c, src/lib- + sieve/plugins/notify/ext-notify.c, src/lib-sieve/plugins/regex/ext- + regex.c, src/lib-sieve/plugins/regex/mcht-regex.c, src/lib- + sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/vacation/ext-vacation-seconds.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-common.c, src/lib-sieve/plugins/variables/ext- + variables-dump.c, src/lib-sieve/plugins/variables/ext-variables.c, + src/lib-sieve/plugins/vnd.dovecot/debug/ext-debug.c, src/lib- + sieve/plugins/vnd.dovecot/duplicate/ext-duplicate-common.c, src/lib- + sieve/plugins/vnd.dovecot/duplicate/ext-duplicate.c, src/lib- + sieve/rfc2822.c, src/lib-sieve/rfc2822.h, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve- + ast.c, src/lib-sieve/sieve-binary-file.c, src/lib-sieve/sieve- + binary-private.h, src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve- + code-dumper.c, src/lib-sieve/sieve-comparators.c, src/lib-sieve + /sieve-error.c, src/lib-sieve/sieve-extensions.c, src/lib-sieve + /sieve-extensions.h, src/lib-sieve/sieve-generator.c, src/lib-sieve + /sieve-generator.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /sieve-lexer.c, src/lib-sieve/sieve-match-types.c, src/lib-sieve + /sieve-message.c, src/lib-sieve/sieve-plugins.c, src/lib-sieve + /sieve-result.c, src/lib-sieve/sieve-script-dict.c, src/lib-sieve + /sieve-script-file.c, src/lib-sieve/sieve-script-private.h, src/lib- + sieve/sieve-script.c, src/lib-sieve/sieve-script.h, src/lib-sieve + /sieve-smtp.c, src/lib-sieve/sieve-smtp.h, src/lib-sieve/sieve- + stringlist.c, src/lib-sieve/sieve-types.h, src/lib-sieve/sieve- + validator.c, src/lib-sieve/sieve.c, src/lib-sievestorage/sieve- + storage-list.c, src/lib-sievestorage/sieve-storage-private.h, src + /lib-sievestorage/sieve-storage-save.c, src/lib-sievestorage/sieve- + storage-save.h, src/lib-sievestorage/sieve-storage-script.c, src + /lib-sievestorage/sieve-storage-script.h, src/lib-sievestorage + /sieve-storage.c, src/lib-sievestorage/sieve-storage.h, src + /managesieve-login/client-authenticate.c, src/managesieve-login + /client-authenticate.h, src/managesieve-login/client.c, src + /managesieve-login/client.h, src/managesieve-login/managesieve- + login-settings-plugin.c, src/managesieve-login/managesieve-proxy.c, + src/managesieve-login/managesieve-proxy.h, src/managesieve/cmd- + getscript.c, src/managesieve/cmd-putscript.c, + src/managesieve/main.c, src/managesieve/managesieve-capabilities.c, + src/managesieve/managesieve-client.c, src/managesieve/managesieve- + commands.c, src/managesieve/managesieve-settings.c, src/plugins + /doveadm-sieve/doveadm-sieve-plugin.c, src/plugins/lda-sieve/lda- + sieve-plugin.c, src/sieve-tools/sieve-dump.c, src/sieve-tools/sieve- + test.c, src/sieve-tools/sievec.c, src/testsuite/ext-testsuite.c, + src/testsuite/testsuite-log.c, src/testsuite/testsuite-settings.c, + src/testsuite/testsuite-smtp.c, src/testsuite/testsuite-smtp.h: + Merged changes from Pigeonhole v0.3 tree. + [f4b4676a2784] + +2013-04-06 Stephan Bosch + + * .hgsigs: + Added signature for changeset 493202676845 + [e3700924ac8c] + + * .hgtags: + Added tag 0.3.4 for changeset 493202676845 + [c318f65361af] + + * NEWS, TODO, configure.in: + Released v0.3.4 for Dovecot v2.1.16. + [493202676845] [0.3.4] + + * src/lib-managesieve/managesieve-arg.c, src/lib-managesieve + /managesieve-arg.h, src/lib-managesieve/managesieve-parser.c, src + /lib-managesieve/managesieve-parser.h, src/lib-managesieve + /managesieve-quote.c, src/lib-managesieve/managesieve-quote.h, src + /lib-sieve-tool/mail-raw.c, src/lib-sieve-tool/mail-raw.h, src/lib- + sieve-tool/sieve-tool.c, src/lib-sieve-tool/sieve-tool.h, src/lib- + sieve/cmd-discard.c, src/lib-sieve/cmd-if.c, src/lib-sieve/cmd- + keep.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve/cmd-require.c, + src/lib-sieve/cmd-stop.c, src/lib-sieve/cmp-i-ascii-casemap.c, src + /lib-sieve/cmp-i-octet.c, src/lib-sieve/edit-mail.c, src/lib-sieve + /edit-mail.h, src/lib-sieve/ext-encoded-character.c, src/lib-sieve + /ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext- + reject.c, src/lib-sieve/mcht-contains.c, src/lib-sieve/mcht-is.c, + src/lib-sieve/mcht-matches.c, src/lib-sieve/plugins/body/ext-body- + common.c, src/lib-sieve/plugins/body/ext-body-common.h, src/lib- + sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/body/tst- + body.c, src/lib-sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i + -ascii-numeric.c, src/lib-sieve/plugins/copy/ext-copy.c, src/lib- + sieve/plugins/copy/sieve-ext-copy.h, src/lib-sieve/plugins/date/ext- + date-common.c, src/lib-sieve/plugins/date/ext-date-common.h, src + /lib-sieve/plugins/date/ext-date.c, src/lib-sieve/plugins/date/tst- + date.c, src/lib-sieve/plugins/editheader/cmd-addheader.c, src/lib- + sieve/plugins/editheader/cmd-deleteheader.c, src/lib- + sieve/plugins/editheader/ext-editheader-common.c, src/lib- + sieve/plugins/editheader/ext-editheader-common.h, src/lib- + sieve/plugins/editheader/ext-editheader-limits.h, src/lib- + sieve/plugins/editheader/ext-editheader.c, src/lib- + sieve/plugins/enotify/cmd-notify.c, src/lib-sieve/plugins/enotify + /ext-enotify-common.c, src/lib-sieve/plugins/enotify/ext-enotify- + common.h, src/lib-sieve/plugins/enotify/ext-enotify-limits.h, src + /lib-sieve/plugins/enotify/ext-enotify.c, src/lib- + sieve/plugins/enotify/mailto/ntfy-mailto.c, src/lib- + sieve/plugins/enotify/mailto/uri-mailto.c, src/lib- + sieve/plugins/enotify/mailto/uri-mailto.h, src/lib- + sieve/plugins/enotify/sieve-ext-enotify.h, src/lib- + sieve/plugins/enotify/tst-notify-method-capability.c, src/lib- + sieve/plugins/enotify/tst-valid-notify-method.c, src/lib- + sieve/plugins/enotify/vmodf-encodeurl.c, src/lib- + sieve/plugins/environment/ext-environment-common.c, src/lib- + sieve/plugins/environment/ext-environment-common.h, src/lib- + sieve/plugins/environment/ext-environment.c, src/lib- + sieve/plugins/environment/sieve-ext-environment.h, src/lib- + sieve/plugins/environment/tst-environment.c, src/lib- + sieve/plugins/ihave/cmd-error.c, src/lib-sieve/plugins/ihave/ext- + ihave-binary.c, src/lib-sieve/plugins/ihave/ext-ihave-binary.h, src + /lib-sieve/plugins/ihave/ext-ihave-common.c, src/lib- + sieve/plugins/ihave/ext-ihave-common.h, src/lib-sieve/plugins/ihave + /ext-ihave.c, src/lib-sieve/plugins/ihave/tst-ihave.c, src/lib- + sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.h, src/lib- + sieve/plugins/imap4flags/ext-imap4flags.c, src/lib- + sieve/plugins/imap4flags/ext-imapflags.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c, src/lib- + sieve/plugins/include/cmd-global.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include-limits.h, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/mailbox + /ext-mailbox-common.h, src/lib-sieve/plugins/mailbox/ext-mailbox.c, + src/lib-sieve/plugins/mailbox/tag-mailbox-create.c, src/lib- + sieve/plugins/mailbox/tst-mailboxexists.c, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/notify/ext-notify-common.c, src + /lib-sieve/plugins/notify/ext-notify-common.h, src/lib- + sieve/plugins/notify/ext-notify-limits.h, src/lib- + sieve/plugins/notify/ext-notify.c, src/lib-sieve/plugins/regex/ext- + regex-common.c, src/lib-sieve/plugins/regex/ext-regex-common.h, src + /lib-sieve/plugins/regex/ext-regex.c, src/lib-sieve/plugins/regex + /mcht-regex.c, src/lib-sieve/plugins/relational/ext-relational- + common.c, src/lib-sieve/plugins/relational/ext-relational-common.h, + src/lib-sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/relational/mcht-value.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest-common.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest-common.h, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest.c, src/lib- + sieve/plugins/spamvirustest/tst-spamvirustest.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.h, src/lib- + sieve/plugins/vacation/ext-vacation-seconds.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-arguments.c, src/lib-sieve/plugins/variables/ext- + variables-arguments.h, src/lib-sieve/plugins/variables/ext- + variables-common.c, src/lib-sieve/plugins/variables/ext-variables- + common.h, src/lib-sieve/plugins/variables/ext-variables-dump.c, src + /lib-sieve/plugins/variables/ext-variables-dump.h, src/lib- + sieve/plugins/variables/ext-variables-limits.h, src/lib- + sieve/plugins/variables/ext-variables-modifiers.c, src/lib- + sieve/plugins/variables/ext-variables-modifiers.h, src/lib- + sieve/plugins/variables/ext-variables-name.c, src/lib- + sieve/plugins/variables/ext-variables-name.h, src/lib- + sieve/plugins/variables/ext-variables-namespaces.c, src/lib- + sieve/plugins/variables/ext-variables-namespaces.h, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/ext-variables-operands.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, src/lib- + sieve/plugins/variables/tst-string.c, src/lib- + sieve/plugins/vnd.dovecot/debug/cmd-debug-log.c, src/lib- + sieve/plugins/vnd.dovecot/debug/ext-debug-common.h, src/lib- + sieve/plugins/vnd.dovecot/debug/ext-debug.c, src/lib- + sieve/plugins/vnd.dovecot/duplicate/ext-duplicate-common.c, src/lib- + sieve/plugins/vnd.dovecot/duplicate/ext-duplicate-common.h, src/lib- + sieve/plugins/vnd.dovecot/duplicate/ext-duplicate.c, src/lib- + sieve/plugins/vnd.dovecot/duplicate/tst-duplicate.c, src/lib- + sieve/rfc2822.c, src/lib-sieve/rfc2822.h, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve + /sieve-address.c, src/lib-sieve/sieve-address.h, src/lib-sieve + /sieve-ast.c, src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve-binary- + code.c, src/lib-sieve/sieve-binary-debug.c, src/lib-sieve/sieve- + binary-dumper.c, src/lib-sieve/sieve-binary-dumper.h, src/lib-sieve + /sieve-binary-file.c, src/lib-sieve/sieve-binary-private.h, src/lib- + sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve + /sieve-code-dumper.c, src/lib-sieve/sieve-code-dumper.h, src/lib- + sieve/sieve-code.c, src/lib-sieve/sieve-code.h, src/lib-sieve/sieve- + commands.c, src/lib-sieve/sieve-commands.h, src/lib-sieve/sieve- + common.h, src/lib-sieve/sieve-comparators.c, src/lib-sieve/sieve- + comparators.h, src/lib-sieve/sieve-config.h, src/lib-sieve/sieve- + dump.h, src/lib-sieve/sieve-error-private.h, src/lib-sieve/sieve- + error.c, src/lib-sieve/sieve-error.h, src/lib-sieve/sieve- + extensions.c, src/lib-sieve/sieve-extensions.h, src/lib-sieve/sieve- + generator.c, src/lib-sieve/sieve-generator.h, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib-sieve + /sieve-lexer.c, src/lib-sieve/sieve-lexer.h, src/lib-sieve/sieve- + limits.h, src/lib-sieve/sieve-match-types.c, src/lib-sieve/sieve- + match-types.h, src/lib-sieve/sieve-match.c, src/lib-sieve/sieve- + match.h, src/lib-sieve/sieve-message.c, src/lib-sieve/sieve- + message.h, src/lib-sieve/sieve-objects.c, src/lib-sieve/sieve- + objects.h, src/lib-sieve/sieve-parser.c, src/lib-sieve/sieve- + parser.h, src/lib-sieve/sieve-plugins.c, src/lib-sieve/sieve- + plugins.h, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + result.h, src/lib-sieve/sieve-runtime-trace.c, src/lib-sieve/sieve- + runtime-trace.h, src/lib-sieve/sieve-runtime.h, src/lib-sieve/sieve- + script-dict.c, src/lib-sieve/sieve-script-file.c, src/lib-sieve + /sieve-script-file.h, src/lib-sieve/sieve-script-private.h, src/lib- + sieve/sieve-script.c, src/lib-sieve/sieve-script.h, src/lib-sieve + /sieve-settings.c, src/lib-sieve/sieve-settings.h, src/lib-sieve + /sieve-smtp.c, src/lib-sieve/sieve-smtp.h, src/lib-sieve/sieve- + stringlist.c, src/lib-sieve/sieve-stringlist.h, src/lib-sieve/sieve- + types.h, src/lib-sieve/sieve-validator.c, src/lib-sieve/sieve- + validator.h, src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, src/lib- + sieve/tst-address.c, src/lib-sieve/tst-allof.c, src/lib-sieve/tst- + anyof.c, src/lib-sieve/tst-exists.c, src/lib-sieve/tst-header.c, src + /lib-sieve/tst-not.c, src/lib-sieve/tst-size.c, src/lib-sieve/tst- + truefalse.c, src/lib-sievestorage/sieve-storage-list.c, src/lib- + sievestorage/sieve-storage-list.h, src/lib-sievestorage/sieve- + storage-private.h, src/lib-sievestorage/sieve-storage-quota.c, src + /lib-sievestorage/sieve-storage-quota.h, src/lib-sievestorage/sieve- + storage-save.c, src/lib-sievestorage/sieve-storage-save.h, src/lib- + sievestorage/sieve-storage-script.c, src/lib-sievestorage/sieve- + storage-script.h, src/lib-sievestorage/sieve-storage.c, src/lib- + sievestorage/sieve-storage.h, src/managesieve-login/client- + authenticate.c, src/managesieve-login/client-authenticate.h, src + /managesieve-login/client.c, src/managesieve-login/client.h, src + /managesieve-login/managesieve-login-settings-plugin.c, src + /managesieve-login/managesieve-login-settings-plugin.h, src + /managesieve-login/managesieve-login-settings.c, src/managesieve- + login/managesieve-login-settings.h, src/managesieve-login + /managesieve-proxy.c, src/managesieve-login/managesieve-proxy.h, + src/managesieve/cmd-capability.c, src/managesieve/cmd- + deletescript.c, src/managesieve/cmd-getscript.c, src/managesieve + /cmd-havespace.c, src/managesieve/cmd-listscripts.c, src/managesieve + /cmd-logout.c, src/managesieve/cmd-noop.c, src/managesieve/cmd- + putscript.c, src/managesieve/cmd-renamescript.c, src/managesieve + /cmd-setactive.c, src/managesieve/main.c, src/managesieve + /managesieve-capabilities.c, src/managesieve/managesieve- + capabilities.h, src/managesieve/managesieve-client.c, + src/managesieve/managesieve-client.h, src/managesieve/managesieve- + commands.c, src/managesieve/managesieve-commands.h, src/managesieve + /managesieve-common.h, src/managesieve/managesieve-quota.c, + src/managesieve/managesieve-quota.h, src/managesieve/managesieve- + settings.c, src/managesieve/managesieve-settings.h, src/plugins/lda- + sieve/lda-sieve-plugin.c, src/plugins/lda-sieve/lda-sieve-plugin.h, + src/sieve-tools/sieve-dump.c, src/sieve-tools/sieve-filter.c, src + /sieve-tools/sieve-test.c, src/sieve-tools/sievec.c, src/testsuite + /cmd-test-binary.c, src/testsuite/cmd-test-config.c, src/testsuite + /cmd-test-fail.c, src/testsuite/cmd-test-mailbox.c, src/testsuite + /cmd-test-message.c, src/testsuite/cmd-test-result.c, src/testsuite + /cmd-test-set.c, src/testsuite/cmd-test.c, src/testsuite/ext- + testsuite.c, src/testsuite/testsuite-arguments.c, src/testsuite + /testsuite-arguments.h, src/testsuite/testsuite-binary.c, + src/testsuite/testsuite-binary.h, src/testsuite/testsuite-common.c, + src/testsuite/testsuite-common.h, src/testsuite/testsuite-log.c, + src/testsuite/testsuite-log.h, src/testsuite/testsuite-mailstore.c, + src/testsuite/testsuite-mailstore.h, src/testsuite/testsuite- + message.c, src/testsuite/testsuite-message.h, src/testsuite + /testsuite-objects.c, src/testsuite/testsuite-objects.h, + src/testsuite/testsuite-result.c, src/testsuite/testsuite-result.h, + src/testsuite/testsuite-script.c, src/testsuite/testsuite-script.h, + src/testsuite/testsuite-settings.c, src/testsuite/testsuite- + settings.h, src/testsuite/testsuite-smtp.c, src/testsuite/testsuite- + smtp.h, src/testsuite/testsuite-substitutions.c, src/testsuite + /testsuite-substitutions.h, src/testsuite/testsuite-variables.c, + src/testsuite/testsuite-variables.h, src/testsuite/testsuite.c, + src/testsuite/tst-test-error.c, src/testsuite/tst-test- + multiscript.c, src/testsuite/tst-test-result-action.c, src/testsuite + /tst-test-result-execute.c, src/testsuite/tst-test-script-compile.c, + src/testsuite/tst-test-script-run.c: + Updated copyright notices to include the year 2013. + [850cdbcf7976] + +2013-04-07 Stephan Bosch + + * src/plugins/doveadm-sieve/doveadm-sieve-plugin.c: + doveadm-sieve: Fixed handling of non-link active script. Unsetting + the normal active script attribute would 'rescue' the non-link + script and turn it into a symlink. + [1a06d4b9483c] + +2013-04-05 Stephan Bosch + + * src/plugins/doveadm-sieve/doveadm-sieve-plugin.c: + doveadm-sieve: Adjusted to Dovecot API change. + [3514cbec0e06] + +2013-04-03 Stephan Bosch + + * src/plugins/doveadm-sieve/doveadm-sieve-plugin.c: + doveadm-sieve: Prevented initializing the Sieve storage multiple + times. + [097d68a9dd32] + +2013-04-02 Stephan Bosch + + * src/lib-sieve/sieve-plugins.c: + Merged changes from Pigeonhole v0.3 tree. + [0dffac42192b] + + * src/lib-sieve/sieve-plugins.c, src/lib-sievestorage/sieve-storage- + list.c, src/lib-sievestorage/sieve-storage-save.c, src/lib- + sievestorage/sieve-storage-save.h, src/lib-sievestorage/sieve- + storage-script.c, src/lib-sievestorage/sieve-storage-script.h, src + /lib-sievestorage/sieve-storage.c, src/plugins/doveadm-sieve + /doveadm-sieve-plugin.c: + doveadm-sieve: Implemented handling the situation when the main + active script is a regular file. Tested whether this change breaks + ManageSieve and basic dsync, but not much more. More tests pending. + If you use sync be careful with this commit. + [8b8bba6e8c2c] + + * src/lib-sieve/sieve-plugins.c: + lib-sieve: Fixed plugin module load functionality. Initializing + multiple Sieve instances would hang. + [5860cbaaffaa] + +2013-03-28 Stephan Bosch + + * Merged changes from Pigeonhole v0.3 tree. + [5323b5e65289] + + * src/lib-sievestorage/sieve-storage-save.c: + lib-sievestorage: Fixed a few potential problems in script save + code. + [b086291b9b9a] + + * src/lib-sievestorage/sieve-storage-script.c, src/lib-sievestorage + /sieve-storage.c: + Merged changes from Pigeonhole v0.3 tree. + [42f11a1be763] + + * src/lib-sievestorage/sieve-storage-script.c, src/lib-sievestorage + /sieve-storage.c: + lib-sievestorage: A few debug messages were still logged using + i_info() instead of i_debug(). + [3ba1c379a6b8] + + * src/lib-sievestorage/sieve-storage-private.h, src/lib-sievestorage + /sieve-storage-script.c, src/lib-sievestorage/sieve-storage- + script.h, src/lib-sievestorage/sieve-storage.c, src/plugins/doveadm- + sieve/doveadm-sieve-plugin.c: + doveadm-sieve: Implemented obtaining last modification time for the + active script attribute. It compiles, doesn't break normal + ManageSieve operation, but it remains untested otherwise. + [c6e283350b5d] + +2013-03-25 Stephan Bosch + + * src/plugins/doveadm-sieve/doveadm-sieve-plugin.c: + doveadm-sieve: Crash instead of writing empty .sieve files. Patch by + Timo Sirainen. + [097764f6bbe3] + +2013-03-23 Stephan Bosch + + * src/Makefile.am: + Fixed compile order for previous change. + [cb910570ad88] + +2013-03-22 Stephan Bosch + + * configure.ac, src/lib-sievestorage/Makefile.am, src/lib-sievestorage + /sieve-storage.c, src/lib-sievestorage/sieve-storage.h, + src/managesieve/Makefile.am, src/plugins/Makefile.am, src/plugins + /doveadm-sieve/Makefile.am, src/plugins/doveadm-sieve/doveadm-sieve- + plugin.c: + Committed Timo's patch that adds a plugin that provides Sieve dsync + support. http://dovecot.org/patches/2.2/doveadm-sieve-plugin.diff + Made some small modifications. This code should not interfere with + normal ManageSieve operation, so I commit this right now without + much testing. The actual doveadm sieve plugin has a few open issues + that need to be resolved still. + [43b09b9a2f72] + +2013-03-04 Stephan Bosch + + * src/lib-sieve/sieve-actions.c: + lib-sieve: Fixed segfault bug in reject. Passed senv->script_context + rather than senv itself. Somehow the compiler fails to warn about + this. + [b75b00760b86] + +2013-03-03 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Merged changes from Pigeonhole v0.3. + [07983d15ad19] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + LDA Sieve plugin: further reduced useless error messages in + administrator log. + [06c89405bdc6] + + * src/lib-sieve/sieve-script.c, src/plugins/lda-sieve/lda-sieve- + plugin.c: + LDA Sieve plugin: fixed bug in opening script files for multiscript. + Used sieve_script_create instead of sieve_script_create_open. + Changed plugin debug output a bit as well. + [f43c7609497c] + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/edit-mail.c, src/lib- + sieve/plugins/editheader/ext-editheader-common.c, src/lib-sieve + /sieve-ast.c, src/lib-sieve/sieve-error.c, src/lib-sieve/sieve- + validator.c, src/managesieve-login/client-authenticate.c, + src/plugins/lda-sieve/lda-sieve-plugin.c: + Merged changes from Pigeonhole v0.3. + [feb8fca97a0e] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + LDA Sieve plugin: fixed stupid mistake in error handling for + multiscript. Used errno instead of error variable. + [9e8392895ab7] + +2013-03-02 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + LDA Sieve plugin: adjusted script compile/load error reporting. Made + normal compile error an info log item in the administrator log. + [5a440010d1cf] + +2013-02-28 Stephan Bosch + + * src/lib-sieve/edit-mail.c, + tests/extensions/editheader/alternating.svtest: + Sieve: editheader: fixed bug in header cloning for snapshot. Forgot + to increment count for the clone. + [994b45b58e91] + + * src/lib-sieve/edit-mail.c: + Sieve: editheader: fixed bug in full header parsing when addheader + :last is used. + [13d41cc284fc] + +2013-02-06 Stephan Bosch + + * src/managesieve-login/client-authenticate.c: + managesieve: Fixed bug in skipping of CRLF at end of AUTHENTICATE + command. Setting skip_newline is useless when the connection is + transfered to another process after successful login. + [32d178f5e1a2] + +2013-01-26 Stephan Bosch + + * src/lib-sieve/plugins/editheader/ext-editheader-common.c, src/lib- + sieve/sieve-ast.c, src/lib-sieve/sieve-binary.c, src/lib-sieve + /sieve-error.c, src/lib-sieve/sieve-validator.c: + lib-sieve: Increased a few initial memory pool sizes. + [f8fad363984d] + + * src/lib-sieve/cmd-redirect.c: + Changed behavior of redirect in case of a duplicate message delivery + or a mail loop. If a duplicate is detected the implicit keep is + canceled, as though the redirect was successful. This prevents + getting local deliveries. The original SMTP recipient is used when + it is available to augment the entry in the LDA duplicate database. + This way, duplicates are only detected when (initially) addressed to + the same recipient. The main goal of the duplicate detection is mail + loop prevention, but this also has the effect that mere duplicate + deliveries are handled specially whithout a good reason. We should + fix this in a future version. + [ab15c5eabc09] + +2013-03-02 Stephan Bosch + + * src/lib-sieve/sieve.c: + lib-sieve: added debug message showing Pigeonhole version at + initialization. Very useful to show that debugging is enabled and + what version of pigeonhole is actually running. + [44721c50833e] + +2013-01-14 Stephan Bosch + + * src/lib-sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/vnd.dovecot/duplicate/ext-duplicate-common.c, src/lib- + sieve/plugins/vnd.dovecot/duplicate/ext-duplicate.c, src/lib-sieve + /sieve-message.c: + Merged changes from Pigeonhole v0.3 tree. + [99eec511aa2c] + +2012-12-26 Stephan Bosch + + * src/lib-sieve/Makefile.am: + Fixed compile on Mageia Linux. Added LIBDOVECOT_STORAGE to library + dependencies in src/lib-sieve/Makefile.am. + [fe5f2738d538] + +2012-12-22 Stephan Bosch + + * src/lib-sieve/sieve-config.h, src/lib-sieve/sieve-message.c: + lib-sieve: Prevent passing NULL sender to raw mail storage when + active message is substituted. + [fc0bf6b1cb6b] + +2012-11-26 Stephan Bosch + + * src/lib-sieve/plugins/vacation/cmd-vacation.c: + lib-sieve: vacation extension: Fixed determination of From: address + for when sieve_vacation_dont_check_recipient is active. + [b56711807edc] + +2012-10-17 Stephan Bosch + + * doc/extensions/vnd.dovecot.duplicate.txt: + Updated installation documentation for vnd.dovecot.duplicate + extension. + [0dc8453e07c4] + + * src/lib-sieve/plugins/vnd.dovecot/duplicate/ext-duplicate-common.c: + lib-sieve: vnd.dovecot.duplicate: Fixed default max period setting. + [c3b14a8784dc] + + * doc/rfc/spec-bosch-sieve-duplicate.txt, + doc/rfc/xml/reference.INCLUDE.xml, doc/rfc/xml/spec-bosch-sieve- + duplicate.xml: + Improved specification of the vnd.dovecot.duplicate extension. + [fd7257cb40ea] + + * src/lib-sieve/plugins/vnd.dovecot/duplicate/ext-duplicate-common.c, + src/lib-sieve/plugins/vnd.dovecot/duplicate/ext-duplicate-common.h, + src/lib-sieve/plugins/vnd.dovecot/duplicate/tst-duplicate.c: + lib-sieve: vnd.dovecot.duplicate extension: Only track duplicate + when Sieve script executes successfully. + [762b6a885897] + + * src/lib-sieve/plugins/vnd.dovecot/duplicate/tst-duplicate.c: + lib-sieve: vnd.dovecot.duplicate extension: Fixed segfault occurring + in testsuite. + [3a972efe012b] + + * src/lib-sieve/plugins/vnd.dovecot/duplicate/tst-duplicate.c: + lib-sieve: vnd.dovecot.duplicate extension: fixed bug in previous + change. Forgot to initialize variable, causing a segfault at + runtime. + [2b767751ff27] + +2012-10-16 Stephan Bosch + + * doc/rfc/spec-bosch-sieve-duplicate.txt, + doc/rfc/xml/reference.IMAP4FLAGS.xml, + doc/rfc/xml/reference.MAILBOX.xml, + doc/rfc/xml/reference.VACATION.xml, doc/rfc/xml/spec-bosch-sieve- + duplicate.xml, src/lib-sieve/plugins/vnd.dovecot/duplicate/ext- + duplicate-common.c, src/lib-sieve/plugins/vnd.dovecot/duplicate/ext- + duplicate-common.h, src/lib-sieve/plugins/vnd.dovecot/duplicate/ext- + duplicate.c, src/lib-sieve/plugins/vnd.dovecot/duplicate/tst- + duplicate.c, tests/extensions/vnd.dovecot/duplicate/errors.svtest, + tests/extensions/vnd.dovecot/duplicate/errors/syntax.sieve, + tests/extensions/vnd.dovecot/duplicate/execute.svtest: + lib-sieve: vnd.dovecot.duplicate extension: Added new features to + the duplicate test. It is now possible to track duplicates based on + arbitrary headers or even arbitrary string values using the new + :header and :value arguments respectively. The experation time can + be configured using the new :seconds argument. This change is + backwards compatible as long as the name argument wasn't used. This + is now a :handle argument. + [12a4e11ecd4c] + +2013-01-09 Stephan Bosch + + * src/lib-sieve/sieve-smtp.c: + Fixed SMTP crash. By Timo Sirainen. + [c937a4060ee2] + + * src/lib-sieve/edit-mail.c: + Adjusted to changes in Dovecot. + [50c067006c67] + +2012-10-29 Stephan Bosch + + * configure.ac, configure.in: + Renamed configure.in to configure.ac. Apparently automakes in future + won't support configure.in anymore. + [613258f9f541] + +2012-10-17 Stephan Bosch + + * src/lib-sieve/sieve-script-dict.c: + lib-sieve: Fixed a stupidity in the dict script implementation. + [f147ddb83586] + +2012-10-13 Stephan Bosch + + * src/lib-sieve/sieve-script-dict.c: + Adjusted to Dovecot dict API changes. + [6979dbc334fa] + + * src/lib-sieve/plugins/date/ext-date-common.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-error.c, src/lib-sieve/sieve- + result.c, src/lib-sieve/sieve-script-dict.c, src/managesieve- + login/client.c, src/plugins/lda-sieve/lda-sieve-plugin.c: + Merged changes from Pigeonhole v0.3. + [9f9459bd038f] + + * src/lib-sieve/sieve-script-dict.c: + lib-sieve: dict script: fixed potential segfault occuring when dict + initialization fails. + [2b5ff3818a9f] + +2012-10-11 Stephan Bosch + + * src/managesieve-login/client.c: + ManageSieve: fixed handling of unkown commands pre-login. Forgot to + skip line upon error. + [ceef02768dee] + + * src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-error-private.h, + src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-error.h, src/lib- + sieve/sieve-result.c, src/lib-sieve/sieve-result.h, src/plugins/lda- + sieve/lda-sieve-plugin.c: + lib-sieve: Further improved handling of quota errors. Added means to + log user errors/warnings as info in master log. Previous change was + inadequate because an error was still logged. + [5c1ce25596ed] + + * src/lib-sieve/sieve-actions.c: + lib-sieve: fileinto/keep: don't log quota errors to syslog but + rather to user's log. Prevents administrator frustration about + useless log messages caused by users with too much mail. + [7301a7ed8800] + +2012-09-26 Stephan Bosch + + * tests/extensions/date/basic.svtest: + testsuite: date extension: Added test for date comparisons. + [1963a329c539] + + * src/lib-sieve/plugins/date/ext-date-common.c, src/lib- + sieve/plugins/date/ext-date-common.h, src/lib-sieve/plugins/date + /tst-date.c: + lib-sieve: date extension: Generate warning when invalid date part + is specified. + [bf7b7aa7f667] + +2012-10-12 Stephan Bosch + + * src/lib-sieve/sieve-plugins.c, src/managesieve-login/managesieve- + login-settings-plugin.c, src/managesieve/managesieve-settings.c: + Incorporated Dovecot plugin ABI changes (forgot a few issues). + [cf079ce8368b] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Incorporated Dovecot plugin ABI changes. + [c7db8f43e414] + +2012-10-03 Stephan Bosch + + * src/managesieve-login/client.h, src/managesieve/managesieve- + client.c: + Adjusted to changes in Dovecot network API. + [df0ac1d9be50] + +2012-09-23 Stephan Bosch + + * configure.in, src/lib-sieve/plugins/include/ext-include-binary.c, + src/sieve-tools/sieve-dump.c, src/sieve-tools/sieve-test.c, src + /sieve-tools/sievec.c: + Merged changes from Pigeonhole v0.3. + [7d171ec86a4c] + + * src/lib-sieve/plugins/mailbox/tag-mailbox-create.c: + lib-sieve: mailbox extension: After creating mailbox only open it, + don't bother syncing it. + [fcd5208ed8b2] + +2012-09-20 Stephan Bosch + + * doc/man/sieve-dump.1.in, doc/man/sievec.1.in, src/sieve-tools/sieve- + dump.c, src/sieve-tools/sievec.c: + sieve-tools: The -D option wasn't enabled and documented for all + tools. Change backported from Pigeonhole v0.4 tree, which means that + this change will duplicate there upon merge. + [d7b06a1be3e1] + + * src/lib-sieve/plugins/include/ext-include-binary.c: + lib-sieve: include extension: fixed missing error cleanup that + caused a resource leak. + [df4088161da0] + +2012-09-18 Stephan Bosch + + * .hgsigs: + Added signature for changeset 64474c359678 + [1e4ecd174edf] + + * .hgtags: + Added tag 0.3.3 for changeset 64474c359678 + [e4fe281d33e8] + + * NEWS, configure.in: + Released v0.3.3 for Dovecot v2.1.10. + [64474c359678] [0.3.3] + + * src/lib-sieve/Makefile.am: + Fixed compile against installed Dovecot headers. This was broken by + the ld.gold fix. + [8144fb698cb3] + + * .hgsigs: + Added signature for changeset 265061e0d3f4 + [2347ddfd9057] + + * .hgtags: + Added tag 0.3.2 for changeset 265061e0d3f4 + [2dbb17d08591] + + * configure.in: + Released v0.3.2 for Dovecot v2.1.9. + [265061e0d3f4] [0.3.2] + + * NEWS: + Updated NEWS file for next release. + [0505fc4b10c4] + +2012-09-09 Stephan Bosch + + * doc/man/sieve-filter.1.in: + sieve-refilter: improved man page documentation by explicitly + specifying the syntax used for mailbox arguments. + [b1bedb88e615] + +2012-08-16 Stephan Bosch + + * src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c, src + /lib-sieve/plugins/spamvirustest/tst-spamvirustest.c: + lib-sieve: spamvirustest: improved trace debugging of score + calculation. + [ff55c9946366] + +2012-08-15 Stephan Bosch + + * src/lib-sieve-tool/sieve-tool.c, src/lib-sieve-tool/sieve-tool.h, + src/sieve-tools/sieve-dump.c, src/sieve-tools/sieve-filter.c, src + /sieve-tools/sieve-test.c, src/sieve-tools/sievec.c, + src/testsuite/testsuite.c: + sieve-tools: sievec and sieve-dump now ignore mail_uid and mail_gid + settings when run as root. Before, sievec and sieve-dump would + switch to mail_uid:mail_gid and then fail to compile/dump a root + script. + [cfe8e9f49dfe] + +2012-09-20 Stephan Bosch + + * src/lib-sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-common.c: + lib-sieve: include extension: didn't get semantics of mixing + optional and non-optional includes for the same script quite right. + [ead2e76425bf] + + * src/lib-sieve/plugins/include/ext-include-binary.c: + Fixed a few resource leaks caused by previous change. + [3d3d8549c834] + + * Makefile.am, README, TODO, doc/rfc/draft-ietf-sieve-include-05.txt, + doc/rfc/include.rfc6609.txt, src/lib-sieve/plugins/include/cmd- + include.c, src/lib-sieve/plugins/include/ext-include-binary.c, src + /lib-sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/sieve-lexer.c, + src/lib-sieve/sieve-script-dict.c, src/lib-sieve/sieve-script- + file.c, src/lib-sieve/sieve-script-private.h, src/lib-sieve/sieve- + script.c, src/lib-sieve/sieve-script.h, src/lib-sieve/sieve.c, src + /lib-sievestorage/sieve-storage-script.c, src/managesieve/cmd- + getscript.c, src/plugins/lda-sieve/lda-sieve-plugin.c, + tests/extensions/include/execute/optional.sieve, + tests/extensions/include/included/optional-1.sieve, + tests/extensions/include/included/optional-2.sieve, + tests/extensions/include/optional.svtest: + lib-sieve: Finished implementation of include extension. Added + support for the :optional tag of the include command. Changed Sieve + script API in the process; opening the script is now available as a + separate step. + [7e2dbfc9206d] + + * doc/man/sieve-dump.1.in, doc/man/sievec.1.in, src/sieve-tools/sieve- + dump.c, src/sieve-tools/sievec.c: + sieve-tools: The -D option wasn't enabled and documented for all + tools. + [ea0eef5b5578] + +2012-09-19 Stephan Bosch + + * src/managesieve-login/managesieve-login-settings-plugin.c: + Last commit was quite inadequate. + [f069f8bff55b] + + * src/managesieve-login/managesieve-login-settings-plugin.c: + Updated to changes in Dovecot config API. + [b16a4c228dd5] + +2012-09-18 Stephan Bosch + + * TODO: + Minor change to TODO. + [fa9411b742f6] + + * src/lib-sieve/sieve-binary-file.c, src/lib-sieve/sieve-binary.h, src + /lib-sieve/sieve-extensions.h: + lib-sieve: Added version numbers to Sieve extensions. Those version + numbers are now also stored in the binary, making sure it is + recompiled when a new version of an extension is used. This avoids + updating the binary version for minor changes to extensions and also + makes this work for plugins. + [47c3b3dd8cf4] + + * src/lib-sieve/ext-encoded-character.c, src/lib-sieve/ext-envelope.c, + src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/comparator-i + -ascii-numeric/ext-cmp-i-ascii-numeric.c, src/lib-sieve/plugins/copy + /ext-copy.c, src/lib-sieve/plugins/date/ext-date.c, src/lib- + sieve/plugins/editheader/ext-editheader.c, src/lib- + sieve/plugins/enotify/ext-enotify.c, src/lib- + sieve/plugins/environment/ext-environment.c, src/lib- + sieve/plugins/ihave/ext-ihave.c, src/lib-sieve/plugins/imap4flags + /ext-imap4flags.c, src/lib-sieve/plugins/imap4flags/ext-imapflags.c, + src/lib-sieve/plugins/include/ext-include.c, src/lib- + sieve/plugins/mailbox/ext-mailbox.c, src/lib-sieve/plugins/notify + /ext-notify.c, src/lib-sieve/plugins/regex/ext-regex.c, src/lib- + sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/ext-vacation-seconds.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/vnd.dovecot/debug/ext-debug.c, src/lib- + sieve/plugins/vnd.dovecot/duplicate/ext-duplicate.c, src/lib-sieve + /sieve-address-parts.c, src/lib-sieve/sieve-comparators.c, src/lib- + sieve/sieve-extensions.c, src/lib-sieve/sieve-extensions.h, src/lib- + sieve/sieve-match-types.c, src/testsuite/ext-testsuite.c: + lib-sieve: Changed the way Sieve extensions are defined to a more + compact format. + [a80af8740468] + + * src/lib-sieve/plugins/date/ext-date-common.c: + lib-sieve: date extension: composition of iso8601 dates is moved to + Dovecot. + [fb47824079c7] + + * src/lib-sieve/plugins/body/ext-body-common.c, src/lib- + sieve/plugins/notify/ext-notify-common.c, src/lib-sieve/sieve- + script-dict.c: + Updated to recent changes in Dovecot. + [e31e89e7791b] + +2012-09-06 Stephan Bosch + + * src/managesieve/main.c: + Adjusted to buffer API change in Dovecot. + [dda9e3c21214] + +2012-09-02 Stephan Bosch + + * src/lib-sieve/Makefile.am: + Small compile fix. + [66adbdd89d5c] + +2012-08-29 Stephan Bosch + + * src/lib-sieve/edit-mail.c: + lib-sieve: fixed edit-mail istream to work with latest Dovecot. + Testsuite failed with an assertion, because the stream returned -2 + at an unexpected time. I've restructured the buffering + implementation to prevent this. The testsuite succeeds now, but this + needs to be tested more thoroughly. + [061d4993b509] + +2012-08-28 Stephan Bosch + + * src/lib-managesieve/managesieve-parser.c, src/lib-sieve/edit-mail.c, + src/lib-sieve/sieve-lexer.c: + Adjusted to changes in Dovecot istream API. + [0eafbad49e41] + +2012-08-20 Stephan Bosch + + * src/lib-sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib-sieve/sieve- + extensions.c, src/testsuite/testsuite-settings.c: + Adjusted to some more changes in Dovecot API. + [6ccbfb64bea5] + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/edit-mail.c, src/lib- + sieve/ext-envelope.c, src/lib-sieve/plugins/body/ext-body-common.c, + src/lib-sieve/plugins/editheader/ext-editheader-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/environment/ext-environment-common.c, src/lib- + sieve/plugins/ihave/ext-ihave-binary.c, src/lib-sieve/plugins/ihave + /ext-ihave-common.h, src/lib-sieve/plugins/ihave/tst-ihave.c, src + /lib-sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/regex/mcht-regex.c, src/lib-sieve/plugins/vacation + /cmd-vacation.c, src/lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-dump.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve-binary- + private.h, src/lib-sieve/sieve-code-dumper.c, src/lib-sieve/sieve- + error.c, src/lib-sieve/sieve-extensions.c, src/lib-sieve/sieve- + generator.c, src/lib-sieve/sieve-generator.h, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-match-types.c, src/lib-sieve + /sieve-message.c, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + stringlist.c, src/lib-sieve/sieve-validator.c, src/managesieve/cmd- + putscript.c, src/managesieve/managesieve-capabilities.c, + src/managesieve/managesieve-commands.c, src/testsuite/testsuite- + log.c, src/testsuite/testsuite-settings.c, src/testsuite/testsuite- + smtp.c: + Adjusted to changes in Dovecot API regarding arrays and hash tables. + Also contains a few other small fixes by Timo. + [02f24456eabf] + +2012-08-12 Stephan Bosch + + * src/lib-sieve/edit-mail.c: + lib-sieve: Adjusted edit-mail.c to changes in Dovecot mail storage + API. + [c5cebc7dbd6b] + + * TODO, configure.in, src/lib-managesieve/managesieve-parser.c, src + /lib-sieve-tool/mail-raw.c, src/lib-sieve/cmd-redirect.c, src/lib- + sieve/edit-mail.c, src/lib-sieve/plugins/body/ext-body-common.c, src + /lib-sieve/plugins/enotify/mailto/ntfy-mailto.c, src/lib- + sieve/plugins/notify/cmd-notify.c, src/lib-sieve/plugins/vacation + /cmd-vacation.c, src/lib-sieve/rfc2822.c, src/lib-sieve/rfc2822.h, + src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-types.h, src + /managesieve-login/client-authenticate.c, src/managesieve- + login/client.c, src/managesieve-login/client.h, src/managesieve- + login/managesieve-proxy.c, src/plugins/lda-sieve/lda-sieve-plugin.c, + src/sieve-tools/sieve-test.c, src/testsuite/testsuite-smtp.c, + src/testsuite/testsuite-smtp.h: + Merged changes from Pigeonhole v0.3. + [69ee3b171848] + + * AUTHORS, COPYING, INSTALL, Makefile.am, NEWS, README, TODO, + configure.in, doc/devel/DESIGN, doc/example- + config/conf.d/20-managesieve.conf, doc/example- + config/conf.d/90-sieve.conf, doc/extensions/editheader.txt, + doc/extensions/include.txt, doc/extensions/spamtest-virustest.txt, + doc/extensions/vacation.txt, doc/man/pigeonhole.7.in, doc/man/sieve- + dump.1.in, doc/man/sieve-filter.1.in, doc/man/sieve-test.1.in, + doc/man/sievec.1.in, doc/script-location-dict.txt, src/lib- + managesieve/Makefile.am, src/lib-managesieve/managesieve-arg.c, src + /lib-managesieve/managesieve-arg.h, src/lib-managesieve/managesieve- + parser.c, src/lib-managesieve/managesieve-parser.h, src/lib- + managesieve/managesieve-quote.c, src/lib-sieve-tool/mail-raw.c, src + /lib-sieve-tool/sieve-tool.c, src/lib-sieve-tool/sieve-tool.h, src + /lib-sieve/Makefile.am, src/lib-sieve/cmd-discard.c, src/lib-sieve + /cmd-if.c, src/lib-sieve/cmd-keep.c, src/lib-sieve/cmd-redirect.c, + src/lib-sieve/cmd-require.c, src/lib-sieve/cmd-stop.c, src/lib- + sieve/cmp-i-ascii-casemap.c, src/lib-sieve/cmp-i-octet.c, src/lib- + sieve/edit-mail.c, src/lib-sieve/ext-encoded-character.c, src/lib- + sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib-sieve + /ext-reject.c, src/lib-sieve/mcht-contains.c, src/lib-sieve/mcht- + is.c, src/lib-sieve/mcht-matches.c, src/lib- + sieve/plugins/Makefile.am, src/lib-sieve/plugins/body/ext-body- + common.c, src/lib-sieve/plugins/body/ext-body-common.h, src/lib- + sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/body/tst- + body.c, src/lib-sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i + -ascii-numeric.c, src/lib-sieve/plugins/copy/Makefile.am, src/lib- + sieve/plugins/copy/ext-copy.c, src/lib-sieve/plugins/date/ext-date- + common.c, src/lib-sieve/plugins/date/ext-date-common.h, src/lib- + sieve/plugins/date/ext-date.c, src/lib-sieve/plugins/date/tst- + date.c, src/lib-sieve/plugins/editheader/cmd-addheader.c, src/lib- + sieve/plugins/editheader/cmd-deleteheader.c, src/lib- + sieve/plugins/editheader/ext-editheader-common.c, src/lib- + sieve/plugins/editheader/ext-editheader-limits.h, src/lib- + sieve/plugins/editheader/ext-editheader.c, src/lib- + sieve/plugins/enotify/Makefile.am, src/lib-sieve/plugins/enotify + /cmd-notify.c, src/lib-sieve/plugins/enotify/ext-enotify-common.c, + src/lib-sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ext-enotify-limits.h, src/lib- + sieve/plugins/enotify/ext-enotify.c, src/lib- + sieve/plugins/enotify/mailto/ntfy-mailto.c, src/lib- + sieve/plugins/enotify/mailto/uri-mailto.c, src/lib- + sieve/plugins/enotify/mailto/uri-mailto.h, src/lib- + sieve/plugins/enotify/sieve-ext-enotify.h, src/lib- + sieve/plugins/enotify/tst-notify-method-capability.c, src/lib- + sieve/plugins/enotify/tst-valid-notify-method.c, src/lib- + sieve/plugins/enotify/vmodf-encodeurl.c, src/lib- + sieve/plugins/environment/ext-environment-common.c, src/lib- + sieve/plugins/environment/ext-environment-common.h, src/lib- + sieve/plugins/environment/ext-environment.c, src/lib- + sieve/plugins/environment/sieve-ext-environment.h, src/lib- + sieve/plugins/environment/tst-environment.c, src/lib- + sieve/plugins/ihave/ext-ihave-binary.c, src/lib-sieve/plugins/ihave + /ext-ihave-binary.h, src/lib-sieve/plugins/ihave/ext-ihave-common.c, + src/lib-sieve/plugins/ihave/ext-ihave.c, src/lib-sieve/plugins/ihave + /tst-ihave.c, src/lib-sieve/plugins/imap4flags/Makefile.am, src/lib- + sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.h, src/lib- + sieve/plugins/imap4flags/ext-imap4flags.c, src/lib- + sieve/plugins/imap4flags/ext-imapflags.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c, src/lib- + sieve/plugins/include/cmd-global.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/mailbox + /ext-mailbox.c, src/lib-sieve/plugins/mailbox/tag-mailbox-create.c, + src/lib-sieve/plugins/mailbox/tst-mailboxexists.c, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/notify/ext-notify-common.c, src + /lib-sieve/plugins/notify/ext-notify-common.h, src/lib- + sieve/plugins/notify/ext-notify-limits.h, src/lib- + sieve/plugins/notify/ext-notify.c, src/lib-sieve/plugins/regex/ext- + regex-common.c, src/lib-sieve/plugins/regex/ext-regex.c, src/lib- + sieve/plugins/regex/mcht-regex.c, src/lib- + sieve/plugins/relational/Makefile.am, src/lib- + sieve/plugins/relational/ext-relational-common.c, src/lib- + sieve/plugins/relational/ext-relational-common.h, src/lib- + sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/relational/mcht-value.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest-common.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest-common.h, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest.c, src/lib- + sieve/plugins/spamvirustest/tst-spamvirustest.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.h, src/lib- + sieve/plugins/vacation/ext-vacation-seconds.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/Makefile.am, src/lib-sieve/plugins/variables + /cmd-set.c, src/lib-sieve/plugins/variables/ext-variables- + arguments.c, src/lib-sieve/plugins/variables/ext-variables- + arguments.h, src/lib-sieve/plugins/variables/ext-variables-common.c, + src/lib-sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/ext-variables-dump.c, src/lib- + sieve/plugins/variables/ext-variables-dump.h, src/lib- + sieve/plugins/variables/ext-variables-limits.h, src/lib- + sieve/plugins/variables/ext-variables-modifiers.c, src/lib- + sieve/plugins/variables/ext-variables-modifiers.h, src/lib- + sieve/plugins/variables/ext-variables-name.h, src/lib- + sieve/plugins/variables/ext-variables-namespaces.c, src/lib- + sieve/plugins/variables/ext-variables-namespaces.h, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/ext-variables-operands.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, src/lib- + sieve/plugins/variables/tst-string.c, src/lib- + sieve/plugins/vnd.dovecot/duplicate/ext-duplicate-common.c, src/lib- + sieve/plugins/vnd.dovecot/duplicate/ext-duplicate-common.h, src/lib- + sieve/plugins/vnd.dovecot/duplicate/ext-duplicate.c, src/lib- + sieve/plugins/vnd.dovecot/duplicate/tst-duplicate.c, src/lib- + sieve/rfc2822.c, src/lib-sieve/rfc2822.h, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve + /sieve-address.c, src/lib-sieve/sieve-address.h, src/lib-sieve + /sieve-ast.c, src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve-binary- + code.c, src/lib-sieve/sieve-binary-debug.c, src/lib-sieve/sieve- + binary-dumper.c, src/lib-sieve/sieve-binary-dumper.h, src/lib-sieve + /sieve-binary-file.c, src/lib-sieve/sieve-binary-private.h, src/lib- + sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve + /sieve-code-dumper.c, src/lib-sieve/sieve-code-dumper.h, src/lib- + sieve/sieve-code.c, src/lib-sieve/sieve-code.h, src/lib-sieve/sieve- + commands.c, src/lib-sieve/sieve-commands.h, src/lib-sieve/sieve- + common.h, src/lib-sieve/sieve-comparators.c, src/lib-sieve/sieve- + comparators.h, src/lib-sieve/sieve-config.h, src/lib-sieve/sieve- + dump.h, src/lib-sieve/sieve-error-private.h, src/lib-sieve/sieve- + error.c, src/lib-sieve/sieve-error.h, src/lib-sieve/sieve- + extensions.c, src/lib-sieve/sieve-extensions.h, src/lib-sieve/sieve- + generator.c, src/lib-sieve/sieve-generator.h, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib-sieve + /sieve-lexer.c, src/lib-sieve/sieve-lexer.h, src/lib-sieve/sieve- + match-types.c, src/lib-sieve/sieve-match-types.h, src/lib-sieve + /sieve-match.c, src/lib-sieve/sieve-match.h, src/lib-sieve/sieve- + message.c, src/lib-sieve/sieve-message.h, src/lib-sieve/sieve- + objects.c, src/lib-sieve/sieve-objects.h, src/lib-sieve/sieve- + parser.c, src/lib-sieve/sieve-parser.h, src/lib-sieve/sieve- + plugins.c, src/lib-sieve/sieve-plugins.h, src/lib-sieve/sieve- + result.c, src/lib-sieve/sieve-result.h, src/lib-sieve/sieve-runtime- + trace.c, src/lib-sieve/sieve-runtime-trace.h, src/lib-sieve/sieve- + runtime.h, src/lib-sieve/sieve-script-dict.c, src/lib-sieve/sieve- + script-file.c, src/lib-sieve/sieve-script-file.h, src/lib-sieve + /sieve-script-private.h, src/lib-sieve/sieve-script.c, src/lib-sieve + /sieve-script.h, src/lib-sieve/sieve-settings.c, src/lib-sieve + /sieve-stringlist.c, src/lib-sieve/sieve-stringlist.h, src/lib-sieve + /sieve-types.h, src/lib-sieve/sieve-validator.c, src/lib-sieve + /sieve-validator.h, src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, + src/lib-sieve/tst-address.c, src/lib-sieve/tst-allof.c, src/lib- + sieve/tst-anyof.c, src/lib-sieve/tst-exists.c, src/lib-sieve/tst- + header.c, src/lib-sieve/tst-not.c, src/lib-sieve/tst-size.c, src + /lib-sieve/tst-truefalse.c, src/lib-sievestorage/Makefile.am, src + /lib-sievestorage/sieve-storage-list.c, src/lib-sievestorage/sieve- + storage-list.h, src/lib-sievestorage/sieve-storage-private.h, src + /lib-sievestorage/sieve-storage-quota.c, src/lib-sievestorage/sieve- + storage-quota.h, src/lib-sievestorage/sieve-storage-save.c, src/lib- + sievestorage/sieve-storage-script.c, src/lib-sievestorage/sieve- + storage.c, src/lib-sievestorage/sieve-storage.h, src/managesieve- + login/client-authenticate.c, src/managesieve-login/client.c, src + /managesieve-login/client.h, src/managesieve-login/managesieve- + login-settings-plugin.c, src/managesieve-login/managesieve-login- + settings.c, src/managesieve-login/managesieve-proxy.c, + src/managesieve/Makefile.am, src/managesieve/cmd-capability.c, + src/managesieve/cmd-deletescript.c, src/managesieve/cmd-getscript.c, + src/managesieve/cmd-listscripts.c, src/managesieve/cmd-putscript.c, + src/managesieve/cmd-renamescript.c, src/managesieve/cmd-setactive.c, + src/managesieve/managesieve-capabilities.c, src/managesieve + /managesieve-client.c, src/managesieve/managesieve-client.h, + src/managesieve/managesieve-commands.c, src/managesieve/managesieve- + quota.c, src/managesieve/managesieve-settings.c, src/plugins/lda- + sieve/Makefile.am, src/plugins/lda-sieve/lda-sieve-plugin.c, src + /sieve-tools/Makefile.am, src/sieve-tools/sieve-dump.c, src/sieve- + tools/sieve-filter.c, src/sieve-tools/sieve-test.c, src/sieve- + tools/sievec.c, src/testsuite/cmd-test-binary.c, src/testsuite/cmd- + test-config.c, src/testsuite/cmd-test-fail.c, src/testsuite/cmd- + test-mailbox.c, src/testsuite/cmd-test-message.c, src/testsuite/cmd- + test-result.c, src/testsuite/cmd-test-set.c, src/testsuite/cmd- + test.c, src/testsuite/ext-testsuite.c, src/testsuite/testsuite- + arguments.c, src/testsuite/testsuite-binary.c, src/testsuite + /testsuite-binary.h, src/testsuite/testsuite-common.c, src/testsuite + /testsuite-common.h, src/testsuite/testsuite-log.c, src/testsuite + /testsuite-mailstore.c, src/testsuite/testsuite-mailstore.h, + src/testsuite/testsuite-message.c, src/testsuite/testsuite- + objects.c, src/testsuite/testsuite-objects.h, src/testsuite + /testsuite-result.c, src/testsuite/testsuite-result.h, src/testsuite + /testsuite-script.c, src/testsuite/testsuite-script.h, src/testsuite + /testsuite-settings.c, src/testsuite/testsuite-smtp.c, src/testsuite + /testsuite-smtp.h, src/testsuite/testsuite-substitutions.c, + src/testsuite/testsuite-substitutions.h, src/testsuite/testsuite- + variables.c, src/testsuite/testsuite-variables.h, + src/testsuite/testsuite.c, src/testsuite/tst-test-error.c, + src/testsuite/tst-test-multiscript.c, src/testsuite/tst-test-result- + action.c, src/testsuite/tst-test-result-execute.c, src/testsuite + /tst-test-script-compile.c, src/testsuite/tst-test-script-run.c, + tests/compile/errors.svtest, tests/compile/errors/address.sieve, + tests/compile/errors/envelope.sieve, tests/compile/errors/if.sieve, + tests/compile/errors/keep.sieve, tests/compile/errors/lexer.sieve, + tests/compile/errors/out-address.sieve, + tests/compile/errors/parser.sieve, + tests/compile/errors/require.sieve, tests/compile/errors/size.sieve, + tests/compile/errors/tag.sieve, tests/compile/errors/typos.sieve, + tests/compile/errors/unsupported.sieve, + tests/compile/recover.svtest, tests/control-if.svtest, + tests/deprecated/notify/basic.svtest, + tests/deprecated/notify/mailto.svtest, tests/execute/actions.svtest, + tests/execute/actions/redirect.sieve, tests/execute/errors.svtest, + tests/execute/examples.svtest, tests/execute/mailstore.svtest, + tests/extensions/body/basic.svtest, + tests/extensions/body/content.svtest, + tests/extensions/body/raw.svtest, + tests/extensions/date/basic.svtest, + tests/extensions/date/zones.svtest, + tests/extensions/editheader/addheader.svtest, + tests/extensions/editheader/alternating.svtest, + tests/extensions/editheader/deleteheader.svtest, + tests/extensions/editheader/errors.svtest, + tests/extensions/editheader/errors/command-syntax.sieve, + tests/extensions/editheader/protected.svtest, tests/extensions + /encoded-character.svtest, tests/extensions/enotify/basic.svtest, + tests/extensions/enotify/errors/uri-mailto.sieve, + tests/extensions/enotify/mailto.svtest, + tests/extensions/enotify/valid_notify_method.svtest, + tests/extensions/envelope.svtest, + tests/extensions/environment/rfc.svtest, + tests/extensions/imap4flags/basic.svtest, + tests/extensions/imap4flags/execute.svtest, + tests/extensions/imap4flags/execute/flags-side-effect.sieve, + tests/extensions/imap4flags/hasflag.svtest, + tests/extensions/imap4flags/multiscript.svtest, + tests/extensions/include/execute.svtest, + tests/extensions/regex/basic.svtest, tests/extensions/regex/match- + values.svtest, tests/extensions/relational/basic.svtest, + tests/extensions/relational/comparators.svtest, + tests/extensions/relational/errors/validation.sieve, + tests/extensions/relational/rfc.svtest, + tests/extensions/spamvirustest/spamtest.svtest, + tests/extensions/subaddress/basic.svtest, + tests/extensions/subaddress/rfc.svtest, + tests/extensions/vacation/execute.svtest, + tests/extensions/vacation/execute/no-handle.sieve, + tests/extensions/vacation/message.svtest, + tests/extensions/vacation/reply.svtest, + tests/extensions/vacation/utf-8.svtest, + tests/extensions/variables/basic.svtest, + tests/extensions/variables/errors/limits.sieve, + tests/extensions/variables/match.svtest, + tests/extensions/variables/modifiers.svtest, + tests/extensions/variables/quoting.svtest, + tests/extensions/variables/regex.svtest, + tests/extensions/variables/string.svtest, tests/match- + types/contains.svtest, tests/match-types/is.svtest, tests/match- + types/matches.svtest, tests/multiscript/basic.svtest, + tests/multiscript/conflicts.svtest, tests/test-address.svtest, tests + /test-allof.svtest, tests/test-anyof.svtest, tests/test- + exists.svtest, tests/test-header.svtest, tests/testsuite.svtest: + Removed trailing whitespace everywhere. + [7e100dcd888a] + +2012-08-09 Stephan Bosch + + * Merged changes from Pigeonhole v0.3 tree. + [368c8f1c0511] + + * doc/rfc/spec-bosch-sieve-debug.txt, + doc/rfc/xml/reference.VARIABLES.xml, doc/rfc/xml/spec-bosch-sieve- + debug.xml, doc/rfc/xml/spec-bosch-sieve-duplicate.xml: + Created specification for the vnd.dovecot.debug extension. Also + fixed a small mistake in the spefication for the + vnd.dovecot.duplicate extension. + [54a0d0552be7] + +2012-08-07 Stephan Bosch + + * src/lib-sieve/sieve-result.c: + lib-sieve: increase action instance count (for limit checking) only + when an action is actually created. + [9d962388f5f6] + + * src/lib-sieve/sieve-result.c: + lib-sieve: fixed potential action duplication bug. + [837c108f0363] + +2012-08-06 Stephan Bosch + + * src/lib-sieve/sieve-result.c: + lib-sieve: made action limit error messages more verbose. + [b25d4208949f] + +2012-08-05 Stephan Bosch + + * src/testsuite/testsuite-variables.c: + Testsuite: fixed compiler warning. + [bb8a9332e3d5] + + * src/testsuite/Makefile.am, src/testsuite/cmd-test-binary.c, + src/testsuite/ext-testsuite.c, src/testsuite/testsuite-common.c, + src/testsuite/testsuite-common.h, src/testsuite/testsuite-script.c, + src/testsuite/testsuite-script.h, src/testsuite/testsuite- + variables.c, src/testsuite/testsuite-variables.h, + src/testsuite/testsuite.c, tests/extensions/include/execute.svtest, + tests/extensions/include/execute/namespace.sieve, + tests/extensions/include/included-global/namespace.dict, + tests/extensions/include/included/namespace.dict: + Testsuite: added support for executing sub-scripts and added tst + variables namespace. Added test for interaction between include + extension and dict script location support. + [e44101914a27] + +2012-08-04 Stephan Bosch + + * src/testsuite/testsuite-log.c: + Testsuite: fixed displaying debug messages. + [09e393e4274b] + +2012-08-03 Stephan Bosch + + * src/lib-sieve/sieve-script-dict.c, src/lib-sieve/sieve-script- + file.c, src/lib-sieve/sieve-script.c, + tests/extensions/include/execute.svtest, tests/extensions/include + /included-global/namespace.sieve, + tests/extensions/include/included/namespace.sieve: + Include: fixed namespace separation of :global and :personal + scripts. Sieve script equality function implementation was wrong. + [6a34eda7924e] + +2012-07-31 Stephan Bosch + + * src/lib-sieve/rfc2822.h: + Merged changes from Pigeonhole v0.2 tree. + [bea6fcece21e] + + * src/lib-sieve/Makefile.am: + Fix linkage with ld.gold. Patch by Eray Aslan. + [c52a0c561311] + +2012-07-30 Stephan Bosch + + * src/lib-sieve/rfc2822.h, src/lib-sieve/sieve-binary-dumper.c, src + /lib-sieve/sieve-binary-dumper.h, src/lib-sieve/sieve-error.c, src + /lib-sieve/sieve-result.h, src/lib-sieve/sieve-runtime-trace.c, src + /lib-sieve/sieve-runtime-trace.h, src/lib-sievestorage/sieve- + storage.c, src/testsuite/testsuite-log.c: + Fixed several Clang compile warnings and a few potential bugs. Patch + by Timo Sirainen. + [e3ea0270985a] + +2012-07-25 Stephan Bosch + + * src/lib-sieve/plugins/editheader/cmd-addheader.c: + Editheader: name of added header is now first sanitized to have + capital letters where conventional. + [b614a99f40f1] + +2012-07-16 Stephan Bosch + + * doc/example-config/conf.d/20-managesieve.conf: + Example config: disabled default sections for managesieve and + managesieve-login services. This currently breaks uninstall when the + settings plugins are removed and 20-managesieve.conf remains in + conf.d directory. These sections only need to be active in the + config file when settings for the services themselves need to be + disabled. + [e6d102e6f0fc] + +2012-07-13 Stephan Bosch + + * src/lib-managesieve/managesieve-parser.c: + ManageSieve: fixed segfault caused by Dovecot API change. + [a1668b71e657] + + * configure.in: + Merged changes from Dovecot v2.1. + [d6ccbf5136bd] + +2012-07-12 Stephan Bosch + + * src/lib-sievestorage/sieve-storage-save.c: + ManageSieve: fixed segfault bug triggered by CHECKSCRIPT command. + [6ceeb6421231] + +2012-05-26 Stephan Bosch + + * .hgsigs: + Added signature for changeset e9ed5d5cef4b + [602d93069d3a] + + * .hgtags: + Added tag 0.3.1 for changeset e9ed5d5cef4b + [396e429dc550] + + * NEWS, configure.in: + Released v0.3.1 for Dovecot v2.1.6. + [e9ed5d5cef4b] [0.3.1] + +2012-07-12 Stephan Bosch + + * src/lib-managesieve/managesieve-parser.c, src/lib-sieve-tool/mail- + raw.c, src/lib-sieve/edit-mail.c: + Adjusted to Dovecot API changes. + [f9b7eb9a567e] + +2012-05-20 Stephan Bosch + + * configure.in, doc/editheader.txt, doc/include.txt, doc/spamtest- + virustest.txt, doc/vacation.txt, src/lib-sieve-tool/mail-raw.c, src + /lib-sieve/cmd-redirect.c, src/lib-sieve/edit-mail.c, src/lib- + sieve/plugins/body/ext-body-common.c, src/lib-sieve/sieve-smtp.c, + src/managesieve-login/client-authenticate.c, src/plugins/lda-sieve + /lda-sieve-plugin.c, src/sieve-tools/sieve-test.c: + Merged changes from Pigeonhole v0.2 tree. + [258d83f111b9] + +2012-05-11 Stephan Bosch + + * INSTALL, Makefile.am, configure.in, doc/Makefile.am, + doc/editheader.txt, doc/extensions/editheader.txt, + doc/extensions/include.txt, doc/extensions/spamtest-virustest.txt, + doc/extensions/vacation.txt, + doc/extensions/vnd.dovecot.duplicate.txt, doc/include.txt, + doc/rfc/Makefile.am, doc/rfc/spec-bosch-sieve-duplicate.txt, + doc/rfc/xml/reference.KEYWORDS.xml, doc/rfc/xml/reference.SIEVE.xml, + doc/rfc/xml/spec-bosch-sieve-duplicate.xml, doc/spamtest- + virustest.txt, doc/vacation.txt, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/vnd.dovecot/Makefile.am, src/lib- + sieve/plugins/vnd.dovecot/duplicate/Makefile.am, src/lib- + sieve/plugins/vnd.dovecot/duplicate/ext-duplicate-common.c, src/lib- + sieve/plugins/vnd.dovecot/duplicate/ext-duplicate-common.h, src/lib- + sieve/plugins/vnd.dovecot/duplicate/ext-duplicate.c, src/lib- + sieve/plugins/vnd.dovecot/duplicate/tst-duplicate.c, src/lib-sieve + /sieve-extensions.c, + tests/extensions/vnd.dovecot/duplicate/errors.svtest, + tests/extensions/vnd.dovecot/duplicate/errors/syntax.sieve, + tests/extensions/vnd.dovecot/duplicate/execute.svtest: + Incorporated sieve_duplicate plugin into main Pigeonhole tree as a + normal extension (vnd.dovecot.duplicate). Also restructured doc dir + a bit in the process. + [12bcfe5e748a] + + * src/lib-sieve/sieve-validator.c: + Fixed compiler warning. + [f362b56485fa] + +2012-05-04 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + LDA Sieve plugin: fixed sieve_before bug that made it only work when + mail_debug=yes. + [aa611f912da6] + +2012-05-02 Stephan Bosch + + * src/lib-sieve-tool/mail-raw.c, src/lib-sieve/cmd-redirect.c, src + /lib-sieve/edit-mail.c, src/lib-sieve/mcht-matches.c, src/lib- + sieve/plugins/body/ext-body-common.c, src/lib- + sieve/plugins/editheader/ext-editheader-common.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/notify/ext-notify-common.c, + src/lib-sieve/plugins/variables/ext-variables-modifiers.c, src/lib- + sieve/plugins/variables/ext-variables-namespaces.c, src/lib-sieve + /sieve-address.c, src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve- + ast.h, src/lib-sieve/sieve-commands.h, src/lib-sieve/sieve-script.c, + src/lib-sieve/sieve-validator.c, src/lib-sieve/sieve.c, src/lib- + sievestorage/sieve-storage-quota.c, src/managesieve-login + /managesieve-login-settings-plugin.c, src/plugins/lda-sieve/lda- + sieve-plugin.c, src/sieve-tools/sieve-dump.c, src/sieve-tools/sieve- + filter.c, src/sieve-tools/sieve-test.c, src/sieve-tools/sievec.c, + src/testsuite/cmd-test-message.c, src/testsuite/testsuite.c: + Fixed several small issues, including a few potential segfault bugs, + based on static analysis. Clang static analyzer is happy now. + [7f9218fe9fac] + +2012-04-30 Stephan Bosch + + * INSTALL, README, doc/example-config/conf.d/90-sieve.conf, src/lib- + sieve/sieve.c, src/plugins/lda-sieve/lda-sieve-plugin.c: + Added support for specifying multiple sieve_before and sieve_after + paths. Additional paths are specified by adding a sequence number + (starting at 2) to the setting name. Added support for specifying + home-relative paths for sieve_before and sieve_after. This enables + administrators to specify user-specific global Sieve scripts that + cannot be viewed or changed by virtual users. + [b2ff597c2279] + +2012-04-27 Stephan Bosch + + * src/lib-sieve/sieve-smtp.c: + Fixed segfault bug. Forgot to change Sieve SMTP API to use scriptenv + in stead of script_context directly. + [f146790b5db3] + +2012-04-24 Stephan Bosch + + * src/lib-sieve/sieve-binary-file.c, src/lib-sieve/sieve-script- + file.c, src/lib-sieve/sieve.c: + sievec tool: fixed segfault bug and another bug making it omit + actually saving the binary. + [93bfa75d9ab9] + + * src/lib-managesieve/managesieve-parser.c, src/managesieve-login + /client-authenticate.c, src/managesieve/cmd-putscript.c: + lib-managesieve: changed EPROTO error to EIO in ManageSieve string + stream because it is apparently not known in BSD. + [ef5045159e6b] + +2012-05-20 Stephan Bosch + + * TODO, src/lib-sieve/plugins/enotify/mailto/ntfy-mailto.c, src/lib- + sieve/plugins/notify/cmd-notify.c, src/lib-sieve/plugins/vacation + /cmd-vacation.c, src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve- + types.h, src/managesieve-login/client-authenticate.c, src/plugins + /lda-sieve/lda-sieve-plugin.c, src/sieve-tools/sieve-test.c, + src/testsuite/testsuite-smtp.c, src/testsuite/testsuite-smtp.h: + Merged changes from Pigeonhole v0.2 tree. + [2841e6b2f973] + +2012-04-22 Stephan Bosch + + * src/lib-sieve/sieve-script-dict.c, src/lib-sieve/sieve-script.c: + lib-sieve: fixed cleanup bug in dict script implementation. + [2ff0a5c5c892] + + * doc/script-location-dict.txt: + Finished documentation example for SQL dict script location type. + [d07dad1ad41c] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + LDA Sieve: fixed bug in debug message. + [3161dcf7cd8e] + + * INSTALL, TODO, doc/script-location-dict.txt, src/lib-sieve-tool + /sieve-tool.c, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/enotify/mailto/ntfy-mailto.c, src/lib- + sieve/plugins/environment/ext-environment-common.c, src/lib- + sieve/plugins/environment/sieve-ext-environment.h, src/lib- + sieve/plugins/include/cmd-include.c, src/lib-sieve/plugins/include + /ext-include-binary.c, src/lib-sieve/plugins/include/ext-include- + common.c, src/lib-sieve/plugins/include/ext-include-common.h, src + /lib-sieve/plugins/notify/cmd-notify.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-binary-file.c, src/lib-sieve/sieve- + binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve- + common.h, src/lib-sieve/sieve-message.c, src/lib-sieve/sieve- + message.h, src/lib-sieve/sieve-script-dict.c, src/lib-sieve/sieve- + script-file.c, src/lib-sieve/sieve-script-file.h, src/lib-sieve + /sieve-script-private.h, src/lib-sieve/sieve-script.c, src/lib-sieve + /sieve-script.h, src/lib-sieve/sieve-settings.h, src/lib-sieve + /sieve-types.h, src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, src + /lib-sievestorage/sieve-storage-list.c, src/lib-sievestorage/sieve- + storage-quota.c, src/lib-sievestorage/sieve-storage-save.c, src/lib- + sievestorage/sieve-storage-script.c, src/lib-sievestorage/sieve- + storage.c, src/managesieve/cmd-getscript.c, src/managesieve + /managesieve-capabilities.c, src/managesieve/managesieve-client.c, + src/plugins/lda-sieve/lda-sieve-plugin.c, src/sieve-tools/sieve- + filter.c, src/sieve-tools/sieve-test.c, src/sieve-tools/sievec.c, + src/testsuite/testsuite-binary.c, src/testsuite/testsuite-script.c, + src/testsuite/testsuite-smtp.c, src/testsuite/testsuite-smtp.h, + src/testsuite/testsuite.c, + tests/extensions/environment/basic.svtest: + Added support for retrieving Sieve scripts from dict lookup. + - Built generic interface for alternative script sources. + - Implemented dict script location. NOTE: ManageSieve will not work + with this yet, nor will sieve_before/sieve_after. + [f7ea71241032] + +2012-05-20 Stephan Bosch + + * Merged minor changes from Pigeonhole v0.2 tree (causes a few + duplicate commit messages). + [39730d5f39e4] + +2012-03-26 Stephan Bosch + + * m4/dovecot.m4: + Updated dovecot.m4. + [a88c63b2d0b0] + +2012-03-19 Stephan Bosch + + * src/sieve-tools/sieve-filter.c, src/sieve-tools/sieve-test.c: + sieve-tools: forgot to enable debug in error handlers. + [916f09fc6a5e] + +2012-03-15 Stephan Bosch + + * src/managesieve-login/client-authenticate.c: + managesieve-login: fixed x86 compile warning. + [75c1a2fd9b26] + +2012-03-08 Stephan Bosch + + * src/managesieve/main.c, src/managesieve/managesieve-client.c, + src/managesieve/managesieve-client.h, src/managesieve/managesieve- + common.h: + Added a "session ID" string for managesieve connections, available + in %{session} variable. This change matches a similar change in + Dovecot for IMAP/POP3. Also includes other small changes that make + ManageSieve match IMAP implementation a little more closely. + [e55350fb6786] + +2012-03-07 Stephan Bosch + + * stamp.h.in: + Gave stamp.h.in some content to prevent it from disappearing in + patch files. + [36c9ab4d2b45] + +2012-02-29 Stephan Bosch + + * src/lib-sieve/sieve.c: + Fixed bug that caused SunStudio CC compile failure (reported by + Piotr Tarnowski). + [9da3a8398ea4] + +2012-02-22 Stephan Bosch + + * src/lib-sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/vnd.dovecot/debug/ext-debug.c, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-runtime.h: + lib-sieve: made error handler part of public runtime environment. + [a4ea7e3f8d9e] + +2012-02-16 Stephan Bosch + + * .hgsigs: + Added signature for changeset fe7bd7ee6c2e + [6cca5f460f86] + + * .hgtags: + Added tag 0.3.0 for changeset fe7bd7ee6c2e + [abf95290dc4d] + + * NEWS: + Released v0.3.0 for Dovecot v2.1.0. + [fe7bd7ee6c2e] [0.3.0] + +2012-02-29 Stephan Bosch + + * src/lib-sieve-tool/mail-raw.c, src/lib-sieve/cmd-redirect.c, src + /lib-sieve/edit-mail.c, src/lib-sieve/plugins/enotify/mailto/ntfy- + mailto.c, src/lib-sieve/plugins/notify/cmd-notify.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib-sieve/rfc2822.c, src + /lib-sieve/rfc2822.h, src/lib-sieve/sieve-actions.c, src/lib-sieve + /sieve-smtp.c, src/lib-sieve/sieve-smtp.h, src/lib-sieve/sieve- + types.h, src/plugins/lda-sieve/lda-sieve-plugin.c, src/sieve-tools + /sieve-test.c, src/testsuite/testsuite-smtp.c, src/testsuite + /testsuite-smtp.h: + Adjusted Sieve implementation and testsuite to Dovecot's new + smtp_client_open() API. + [b88a6d76839b] + + * src/lib-sieve/sieve.c: + Fixed bug that caused SunStudio CC compile failure (reported by + Piotr Tarnowski). + [7b8cc0897a79] + +2012-02-22 Stephan Bosch + + * src/lib-sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/vnd.dovecot/debug/ext-debug.c, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-runtime.h: + lib-sieve: made error handler part of public runtime environment. + [b4c69a7ae260] + +2012-02-13 Stephan Bosch + + * TODO, src/lib-sieve/plugins/body/ext-body-common.c: + Applied sieve-body-fix.patch. Fixes behavior of body test with + multipart MIME body parts. Testsuite needs to be extended + accordingly. + [eed6fba433f4] + +2012-02-12 Stephan Bosch + + * configure.in, src/managesieve-login/client-authenticate.c, src + /managesieve-login/client-authenticate.h, src/managesieve- + login/client.c, src/managesieve-login/client.h, src/managesieve- + login/managesieve-proxy.c, src/managesieve-login/managesieve- + proxy.h: + Updated to Dovecot v2.2. Updated version number to v0.4.0 and added + a warning to configure. Applied generic-login.patch. + [408cc4b15640] + +2012-01-28 Stephan Bosch + + * src/lib-managesieve/Makefile.am, src/lib-managesieve/managesieve- + arg.c, src/lib-managesieve/managesieve-arg.h, src/lib-managesieve + /managesieve-parser.c, src/lib-managesieve/managesieve-parser.h, src + /managesieve-login/client-authenticate.c, src/managesieve-login + /client-authenticate.h, src/managesieve-login/client.c, src + /managesieve-login/managesieve-proxy.c, src/managesieve/cmd- + havespace.c, src/managesieve/cmd-noop.c, src/managesieve/cmd- + putscript.c, src/managesieve/managesieve-client.c, src/managesieve + /managesieve-client.h: + ManageSieve: cleaned up parser and updated it to match newer + structure of imap parser. + [b2a456e15ed5] + +2012-01-27 Stephan Bosch + + * src/managesieve-login/managesieve-proxy.c: + managesieve-login: matched proxy and auth_verbose changes in + Dovecot. + [968410a02493] + + * src/testsuite/cmd-test-message.c: + testsuite: fixed compile warning. + [a130a50f82e1] + +2012-01-23 Stephan Bosch + + * src/managesieve/cmd-putscript.c: + ManageSieve: fixed quota problem in previous change. + [bc5acd9e957e] + +2012-01-22 Stephan Bosch + + * src/lib-managesieve/managesieve-parser.c, src/lib-managesieve + /managesieve-parser.h, src/lib-sievestorage/sieve-storage-quota.c, + src/lib-sievestorage/sieve-storage-quota.h, src/managesieve-login + /client-authenticate.c, src/managesieve-login/client.c, src + /managesieve-login/client.h, src/managesieve-login/managesieve- + proxy.c, src/managesieve/cmd-putscript.c, src/managesieve + /managesieve-client.c, src/managesieve/managesieve-quota.c, + src/managesieve/managesieve-quota.h: + ManageSieve: added support for reading quoted and literal strings as + a stream. Fixes support for handing large SASL responses. Also + resolves long-standing FIXME regarding the second parameter of + PUTSCRIPT: it can now be a quoted string. Includes a few small + changes in the login daemon that were done in the dovecot + equivalents before. + [ae857042882b] + +2012-01-20 Stephan Bosch + + * src/managesieve/main.c: + managesieve: Added -t parameter to specify post-login script timeout + (Dovecot change). + [66c9a4a82428] + +2012-01-12 Stephan Bosch + + * src/managesieve-login/client-authenticate.c: + managesieve-login: Include hostname and timestamp in "temporary auth + failure" message. + [523eae0118b1] + +2012-01-07 Stephan Bosch + + * doc/man/pigeonhole.7.in, doc/man/sieve-dump.1.in, doc/man/sieve- + filter.1.in, doc/man/sieve-test.1.in, doc/man/sievec.1.in, src/lib- + managesieve/managesieve-parser.c, src/lib-managesieve/managesieve- + parser.h, src/lib-managesieve/managesieve-quote.c, src/lib- + managesieve/managesieve-quote.h, src/lib-sieve-tool/mail-raw.c, src + /lib-sieve-tool/mail-raw.h, src/lib-sieve-tool/sieve-tool.c, src + /lib-sieve-tool/sieve-tool.h, src/lib-sieve/cmd-discard.c, src/lib- + sieve/cmd-if.c, src/lib-sieve/cmd-keep.c, src/lib-sieve/cmd- + redirect.c, src/lib-sieve/cmd-require.c, src/lib-sieve/cmd-stop.c, + src/lib-sieve/cmp-i-ascii-casemap.c, src/lib-sieve/cmp-i-octet.c, + src/lib-sieve/edit-mail.c, src/lib-sieve/edit-mail.h, src/lib-sieve + /ext-encoded-character.c, src/lib-sieve/ext-envelope.c, src/lib- + sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib-sieve + /mcht-contains.c, src/lib-sieve/mcht-is.c, src/lib-sieve/mcht- + matches.c, src/lib-sieve/plugins/body/ext-body-common.c, src/lib- + sieve/plugins/body/ext-body-common.h, src/lib-sieve/plugins/body + /ext-body.c, src/lib-sieve/plugins/body/tst-body.c, src/lib- + sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i-ascii-numeric.c, + src/lib-sieve/plugins/copy/ext-copy.c, src/lib-sieve/plugins/copy + /sieve-ext-copy.h, src/lib-sieve/plugins/date/ext-date-common.c, src + /lib-sieve/plugins/date/ext-date-common.h, src/lib- + sieve/plugins/date/ext-date.c, src/lib-sieve/plugins/date/tst- + date.c, src/lib-sieve/plugins/editheader/cmd-addheader.c, src/lib- + sieve/plugins/editheader/cmd-deleteheader.c, src/lib- + sieve/plugins/editheader/ext-editheader-common.c, src/lib- + sieve/plugins/editheader/ext-editheader-common.h, src/lib- + sieve/plugins/editheader/ext-editheader-limits.h, src/lib- + sieve/plugins/editheader/ext-editheader.c, src/lib- + sieve/plugins/enotify/cmd-notify.c, src/lib-sieve/plugins/enotify + /ext-enotify-common.c, src/lib-sieve/plugins/enotify/ext-enotify- + common.h, src/lib-sieve/plugins/enotify/ext-enotify-limits.h, src + /lib-sieve/plugins/enotify/ext-enotify.c, src/lib- + sieve/plugins/enotify/mailto/ntfy-mailto.c, src/lib- + sieve/plugins/enotify/mailto/uri-mailto.c, src/lib- + sieve/plugins/enotify/mailto/uri-mailto.h, src/lib- + sieve/plugins/enotify/sieve-ext-enotify.h, src/lib- + sieve/plugins/enotify/tst-notify-method-capability.c, src/lib- + sieve/plugins/enotify/tst-valid-notify-method.c, src/lib- + sieve/plugins/enotify/vmodf-encodeurl.c, src/lib- + sieve/plugins/environment/ext-environment-common.c, src/lib- + sieve/plugins/environment/ext-environment-common.h, src/lib- + sieve/plugins/environment/ext-environment.c, src/lib- + sieve/plugins/environment/sieve-ext-environment.h, src/lib- + sieve/plugins/environment/tst-environment.c, src/lib- + sieve/plugins/ihave/cmd-error.c, src/lib-sieve/plugins/ihave/ext- + ihave-binary.c, src/lib-sieve/plugins/ihave/ext-ihave-binary.h, src + /lib-sieve/plugins/ihave/ext-ihave-common.c, src/lib- + sieve/plugins/ihave/ext-ihave-common.h, src/lib-sieve/plugins/ihave + /ext-ihave.c, src/lib-sieve/plugins/ihave/tst-ihave.c, src/lib- + sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.h, src/lib- + sieve/plugins/imap4flags/ext-imap4flags.c, src/lib- + sieve/plugins/imap4flags/ext-imapflags.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c, src/lib- + sieve/plugins/include/cmd-global.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include-limits.h, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/mailbox + /ext-mailbox-common.h, src/lib-sieve/plugins/mailbox/ext-mailbox.c, + src/lib-sieve/plugins/mailbox/tag-mailbox-create.c, src/lib- + sieve/plugins/mailbox/tst-mailboxexists.c, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/notify/ext-notify-common.c, src + /lib-sieve/plugins/notify/ext-notify-common.h, src/lib- + sieve/plugins/notify/ext-notify-limits.h, src/lib- + sieve/plugins/notify/ext-notify.c, src/lib-sieve/plugins/regex/ext- + regex-common.c, src/lib-sieve/plugins/regex/ext-regex-common.h, src + /lib-sieve/plugins/regex/ext-regex.c, src/lib-sieve/plugins/regex + /mcht-regex.c, src/lib-sieve/plugins/relational/ext-relational- + common.c, src/lib-sieve/plugins/relational/ext-relational-common.h, + src/lib-sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/relational/mcht-value.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest-common.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest-common.h, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest.c, src/lib- + sieve/plugins/spamvirustest/tst-spamvirustest.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.h, src/lib- + sieve/plugins/vacation/ext-vacation-seconds.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-arguments.c, src/lib-sieve/plugins/variables/ext- + variables-arguments.h, src/lib-sieve/plugins/variables/ext- + variables-common.c, src/lib-sieve/plugins/variables/ext-variables- + common.h, src/lib-sieve/plugins/variables/ext-variables-dump.c, src + /lib-sieve/plugins/variables/ext-variables-dump.h, src/lib- + sieve/plugins/variables/ext-variables-limits.h, src/lib- + sieve/plugins/variables/ext-variables-modifiers.c, src/lib- + sieve/plugins/variables/ext-variables-modifiers.h, src/lib- + sieve/plugins/variables/ext-variables-name.c, src/lib- + sieve/plugins/variables/ext-variables-name.h, src/lib- + sieve/plugins/variables/ext-variables-namespaces.c, src/lib- + sieve/plugins/variables/ext-variables-namespaces.h, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/ext-variables-operands.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, src/lib- + sieve/plugins/variables/tst-string.c, src/lib- + sieve/plugins/vnd.dovecot/debug/cmd-debug-log.c, src/lib- + sieve/plugins/vnd.dovecot/debug/ext-debug-common.h, src/lib- + sieve/plugins/vnd.dovecot/debug/ext-debug.c, src/lib- + sieve/rfc2822.c, src/lib-sieve/rfc2822.h, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve + /sieve-address.c, src/lib-sieve/sieve-address.h, src/lib-sieve + /sieve-ast.c, src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve-binary- + code.c, src/lib-sieve/sieve-binary-debug.c, src/lib-sieve/sieve- + binary-dumper.c, src/lib-sieve/sieve-binary-dumper.h, src/lib-sieve + /sieve-binary-file.c, src/lib-sieve/sieve-binary-private.h, src/lib- + sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve + /sieve-code-dumper.c, src/lib-sieve/sieve-code-dumper.h, src/lib- + sieve/sieve-code.c, src/lib-sieve/sieve-code.h, src/lib-sieve/sieve- + commands.c, src/lib-sieve/sieve-commands.h, src/lib-sieve/sieve- + common.h, src/lib-sieve/sieve-comparators.c, src/lib-sieve/sieve- + comparators.h, src/lib-sieve/sieve-config.h, src/lib-sieve/sieve- + dump.h, src/lib-sieve/sieve-error-private.h, src/lib-sieve/sieve- + error.c, src/lib-sieve/sieve-error.h, src/lib-sieve/sieve- + extensions.c, src/lib-sieve/sieve-extensions.h, src/lib-sieve/sieve- + generator.c, src/lib-sieve/sieve-generator.h, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib-sieve + /sieve-lexer.c, src/lib-sieve/sieve-lexer.h, src/lib-sieve/sieve- + limits.h, src/lib-sieve/sieve-match-types.c, src/lib-sieve/sieve- + match-types.h, src/lib-sieve/sieve-match.c, src/lib-sieve/sieve- + match.h, src/lib-sieve/sieve-message.c, src/lib-sieve/sieve- + message.h, src/lib-sieve/sieve-objects.c, src/lib-sieve/sieve- + objects.h, src/lib-sieve/sieve-parser.c, src/lib-sieve/sieve- + parser.h, src/lib-sieve/sieve-plugins.c, src/lib-sieve/sieve- + plugins.h, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + result.h, src/lib-sieve/sieve-runtime-trace.c, src/lib-sieve/sieve- + runtime-trace.h, src/lib-sieve/sieve-runtime.h, src/lib-sieve/sieve- + script-private.h, src/lib-sieve/sieve-script.c, src/lib-sieve/sieve- + script.h, src/lib-sieve/sieve-settings.c, src/lib-sieve/sieve- + settings.h, src/lib-sieve/sieve-smtp.c, src/lib-sieve/sieve-smtp.h, + src/lib-sieve/sieve-stringlist.c, src/lib-sieve/sieve-stringlist.h, + src/lib-sieve/sieve-types.h, src/lib-sieve/sieve-validator.c, src + /lib-sieve/sieve-validator.h, src/lib-sieve/sieve.c, src/lib- + sieve/sieve.h, src/lib-sieve/tst-address.c, src/lib-sieve/tst- + allof.c, src/lib-sieve/tst-anyof.c, src/lib-sieve/tst-exists.c, src + /lib-sieve/tst-header.c, src/lib-sieve/tst-not.c, src/lib-sieve/tst- + size.c, src/lib-sieve/tst-truefalse.c, src/lib-sievestorage/sieve- + storage-list.c, src/lib-sievestorage/sieve-storage-list.h, src/lib- + sievestorage/sieve-storage-private.h, src/lib-sievestorage/sieve- + storage-quota.c, src/lib-sievestorage/sieve-storage-quota.h, src + /lib-sievestorage/sieve-storage-save.c, src/lib-sievestorage/sieve- + storage-save.h, src/lib-sievestorage/sieve-storage-script.c, src + /lib-sievestorage/sieve-storage-script.h, src/lib-sievestorage + /sieve-storage.c, src/lib-sievestorage/sieve-storage.h, src + /managesieve-login/client-authenticate.c, src/managesieve-login + /client-authenticate.h, src/managesieve-login/client.c, src + /managesieve-login/client.h, src/managesieve-login/managesieve- + login-settings-plugin.c, src/managesieve-login/managesieve-login- + settings-plugin.h, src/managesieve-login/managesieve-login- + settings.c, src/managesieve-login/managesieve-login-settings.h, src + /managesieve-login/managesieve-proxy.c, src/managesieve-login + /managesieve-proxy.h, src/managesieve/cmd-capability.c, + src/managesieve/cmd-deletescript.c, src/managesieve/cmd-getscript.c, + src/managesieve/cmd-havespace.c, src/managesieve/cmd-listscripts.c, + src/managesieve/cmd-logout.c, src/managesieve/cmd-noop.c, + src/managesieve/cmd-putscript.c, src/managesieve/cmd-renamescript.c, + src/managesieve/cmd-setactive.c, src/managesieve/main.c, + src/managesieve/managesieve-capabilities.c, src/managesieve + /managesieve-capabilities.h, src/managesieve/managesieve-client.c, + src/managesieve/managesieve-client.h, src/managesieve/managesieve- + commands.c, src/managesieve/managesieve-commands.h, src/managesieve + /managesieve-common.h, src/managesieve/managesieve-quota.c, + src/managesieve/managesieve-quota.h, src/managesieve/managesieve- + settings.c, src/managesieve/managesieve-settings.h, src/plugins/lda- + sieve/lda-sieve-plugin.c, src/plugins/lda-sieve/lda-sieve-plugin.h, + src/sieve-tools/sieve-dump.c, src/sieve-tools/sieve-filter.c, src + /sieve-tools/sieve-test.c, src/sieve-tools/sievec.c, src/testsuite + /cmd-test-binary.c, src/testsuite/cmd-test-config.c, src/testsuite + /cmd-test-fail.c, src/testsuite/cmd-test-mailbox.c, src/testsuite + /cmd-test-message.c, src/testsuite/cmd-test-result.c, src/testsuite + /cmd-test-set.c, src/testsuite/cmd-test.c, src/testsuite/ext- + testsuite.c, src/testsuite/testsuite-arguments.c, src/testsuite + /testsuite-arguments.h, src/testsuite/testsuite-binary.c, + src/testsuite/testsuite-binary.h, src/testsuite/testsuite-common.c, + src/testsuite/testsuite-common.h, src/testsuite/testsuite-log.c, + src/testsuite/testsuite-log.h, src/testsuite/testsuite-mailstore.c, + src/testsuite/testsuite-mailstore.h, src/testsuite/testsuite- + message.c, src/testsuite/testsuite-message.h, src/testsuite + /testsuite-objects.c, src/testsuite/testsuite-objects.h, + src/testsuite/testsuite-result.c, src/testsuite/testsuite-result.h, + src/testsuite/testsuite-script.c, src/testsuite/testsuite-script.h, + src/testsuite/testsuite-settings.c, src/testsuite/testsuite- + settings.h, src/testsuite/testsuite-smtp.c, src/testsuite/testsuite- + smtp.h, src/testsuite/testsuite-substitutions.c, src/testsuite + /testsuite-substitutions.h, src/testsuite/testsuite.c, src/testsuite + /tst-test-error.c, src/testsuite/tst-test-multiscript.c, + src/testsuite/tst-test-result-action.c, src/testsuite/tst-test- + result-execute.c, src/testsuite/tst-test-script-compile.c, + src/testsuite/tst-test-script-run.c: + Updated copyright notices to include year 2012. + [c2e3b2c93c8c] + + * INSTALL, README, doc/example-config/conf.d/90-sieve.conf, + src/plugins/lda-sieve/lda-sieve-plugin.c: + LDA Sieve plugin: renamed sieve_global_path setting to sieve_default + for clarity. Old name is now deprecated. Support for the even older + global_script_path name for this setting is dropped. + [bd5cffe2ed95] + + * INSTALL, doc/example-config/conf.d/90-sieve.conf, src/lib-sieve/cmd- + redirect.c: + lib-sieve: added means to prohibit use of redirect action. Setting + sieve_max_redirects=0 now means that redirects are prohibited rather + than unlimited. Now there is always a limit, but it can be enormous + if the administrator wants to. + [83fc2f6edefa] + +2012-01-06 Stephan Bosch + + * INSTALL, doc/editheader.txt, doc/include.txt, doc/spamtest- + virustest.txt, doc/vacation.txt: + Fixed indentation problems in documentation. + [8602aa5093be] + + * doc/editheader.txt, doc/example-config/conf.d/20-managesieve.conf, + doc/example-config/conf.d/90-sieve.conf, doc/spamtest-virustest.txt, + doc/vacation.txt: + Updated documentation and example config. + [2e94c8350e36] + +2011-12-27 Stephan Bosch + + * src/lib-sieve/sieve-message.c: + lib-sieve: fixed bug in message snapshots. Message substitutions + would not always cause a proper snapshot. + [d17f4a699ad2] + + * src/lib-sieve/sieve-message.c: + lib-sieve: fixed memory leak in previous change. + [c58e9eb1010d] + + * src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-keep.c, src/lib-sieve + /cmd-redirect.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/ext-body-common.c, src/lib-sieve/plugins/enotify + /cmd-notify.c, src/lib-sieve/plugins/notify/cmd-notify.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-message.c, src/lib-sieve/sieve- + message.h, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + result.h, src/testsuite/testsuite-message.c: + lib-sieve: added support for substituting the entire message. This + is needed for the new extprograms plugin. + [4cc6444438f6] + + * src/lib-sieve-tool/mail-raw.c: + lib-sieve-tool: mail_raw: started using mail_temp_dir setting. + [fc9923837fa0] + +2011-12-20 Stephan Bosch + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/plugins/date/tst-date.c, src/lib-sieve/plugins/editheader/cmd- + deleteheader.c, src/lib-sieve/plugins/imap4flags/tag-flags.c, src + /lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h: + lib-sieve: adjusted code fetch api for handling omitted operands + better. Removes quite a bit of duplicated source code. + [35639e4925a7] + +2011-12-17 Stephan Bosch + + * src/lib-sieve/sieve-config.h, src/lib-sieve/sieve-script.c, src/lib- + sieve/sieve-script.h, src/lib-sieve/sieve.c, src/lib-sievestorage + /sieve-storage-list.c, src/lib-sievestorage/sieve-storage-quota.c, + src/lib-sievestorage/sieve-storage-save.c, src/lib-sievestorage + /sieve-storage-script.c, src/lib-sievestorage/sieve-storage- + script.h, src/lib-sievestorage/sieve-storage.c, src/sieve- + tools/sievec.c, src/testsuite/testsuite-binary.c, + tests/extensions/include/errors/circular-1.sieve, + tests/extensions/include/errors/circular-2.sieve, + tests/extensions/include/included/circular-one.sieve, + tests/extensions/include/included/circular-three-2.sieve, + tests/extensions/include/included/circular-three.sieve, + tests/extensions/include/included/circular-two.sieve, + tests/extensions/include/included/once-2.sieve, + tests/extensions/include/included/twice-2.sieve: + lib-sieve: made uniform scriptname <-> filename conversion + functions. This puts the ".sieve" and ".svbin" file extension + definitions in a single locatio. IMPORTANT: this fixes a bug in the + include extension that implicitly mapped script names like + "name.sieve" to "name". + [66b7b1636c8c] + + * src/lib-sievestorage/sieve-storage-private.h, src/lib-sievestorage + /sieve-storage.c: + lib-managesieve-storage: added code to cleanup tmp directory every + once in a while. This is borrowed from Dovecot's lib- + storage/index/maildir. + [5834cc823e38] + + * TODO, src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib-sieve/sieve- + commands.h, src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve- + generator.h, src/lib-sieve/sieve-types.h, src/lib-sieve/sieve.c, src + /lib-sievestorage/sieve-storage-save.c, src/lib-sievestorage/sieve- + storage-save.h, src/lib-sievestorage/sieve-storage-script.c, src + /lib-sievestorage/sieve-storage-script.h, src/managesieve/cmd- + putscript.c, src/managesieve/cmd-setactive.c: + Fixed interaction of Sieve include extension with ManageSieve. Upon + upload, the include extension is more lenient towards circular + includes and missing scripts as required by RFC. The script is now + also verified upon SETACTIVE when it was not active before. However, + this new SETACTIVE behavior is not optimal for the situation where + the active script was updated with PUTSCRIPT and contains an + nonexistent include (ignored during upload). This can still cause + runtime errors, since an already active script is not verified again + during SETACTIVE. + [c67b7a0aec7b] + + * src/lib-sieve/sieve-error.c: + lib-sieve: fixed copy-paste error in sieve_get_warnings() It + returned the number of errors in stead of the number of warnings. + [f566e0fce176] + + * doc/man/pigeonhole.7.in, doc/man/sieve-dump.1.in, doc/man/sieve- + filter.1.in, doc/man/sieve-test.1.in, doc/man/sievec.1.in: + Updated man pages. + [8632ccc7173f] + +2011-12-16 Stephan Bosch + + * src/lib-sieve/edit-mail.c, src/lib-sieve/sieve-actions.c: + lib-sieve: made sure that modified messages are not stored in the + source mailbox when it was opened read-only. This is currently only + relevant for the sieve-filter tool to avoid duplicating messages in + the source folder. This can happen when the messages are modified + (e.g. by the editheader extension) and the source folder is opened + read-only, thus preventing deletion of the original message. + [a8780b39f887] + +2011-12-12 Stephan Bosch + + * src/lib-sieve/sieve-actions.c: + lib-sieve: store action: copy flags and keywords from input mail, + also when imap4flags extension is not active. This is currently only + relevant for sieve-filter, which now properly preserves flags with + this change. + [a2d645ca6e32] + + * doc/man/sieve-dump.1.in, doc/man/sieve-filter.1.in, doc/man/sieve- + test.1.in, doc/man/sievec.1.in: + Updated man pages with recent extension configuration changes. + [8fe82c5f0185] + + * TODO: + Updated TODO. + [b5a2419f0dee] + + * INSTALL, src/lib-sieve-tool/sieve-tool.c, src/lib- + sieve/plugins/ihave/ext-ihave-binary.c, src/lib-sieve/plugins/ihave + /tst-ihave.c, src/lib-sieve/plugins/include/ext-include-binary.c, + src/lib-sieve/plugins/include/ext-include-common.c, src/lib-sieve + /sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve- + common.h, src/lib-sieve/sieve-extensions.c, src/lib-sieve/sieve- + extensions.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /sieve-interpreter.h, src/lib-sieve/sieve-plugins.c, src/lib-sieve + /sieve-runtime.h, src/lib-sieve/sieve-types.h, src/lib-sieve/sieve- + validator.c, src/lib-sieve/sieve-validator.h, src/lib-sieve/sieve.c, + src/lib-sieve/sieve.h, src/managesieve/cmd-putscript.c, src/plugins + /lda-sieve/lda-sieve-plugin.c, src/sieve-tools/sieve-filter.c, src + /sieve-tools/sieve-test.c, src/testsuite/testsuite-script.c, + src/testsuite/testsuite.c: + lib-sieve: added support for restricting certain extensions to + (admin-controled) global scripts + - Added sieve_global_extensions setting. + [595ce12806d9] + + * src/lib-sieve/sieve-error.c: + lib-sieve: made sure error locations never report `line 0'. + [d56a318174db] + + * src/lib-sieve/sieve.c: + lib-sieve: fixed potention segfault occuring when interpreter + initialization fails. + [a224cdad4aa3] + +2011-12-07 Stephan Bosch + + * TODO, doc/man/Makefile.am, doc/man/sieve-filter.1.in, src/sieve- + tools/Makefile.am, src/sieve-tools/sieve-filter.c: + Completed sieve-filter tool to a useful state. + - Now compiles regularly without --with-unfinished-features + - Still experimental though, so be careful. + - Changed command structure a bit, removing the useless -M option. + [3eb7a7460fa3] + +2011-12-05 Stephan Bosch + + * src/lib-sieve/edit-mail.c: + lib-sieve: fixed -Wunused-but-set-variable compiler warning in edit- + mail.c. + [5c6c99a303da] + +2011-11-29 Stephan Bosch + + * INSTALL, TODO, doc/editheader.txt, src/lib-sieve/sieve-extensions.c: + lib-sieve: implementation of editheader extension completed + - Updated documentation. + - Made editheader extension disabled by default + [b3bff60a18da] + + * TODO, src/lib-sieve/plugins/editheader/Makefile.am, src/lib- + sieve/plugins/editheader/cmd-addheader.c, src/lib- + sieve/plugins/editheader/cmd-deleteheader.c, src/lib- + sieve/plugins/editheader/ext-editheader-common.c, src/lib- + sieve/plugins/editheader/ext-editheader-common.h, src/lib- + sieve/plugins/editheader/ext-editheader-limits.h, + tests/extensions/editheader/errors.svtest, + tests/extensions/editheader/errors/size-limit-runtime.sieve, + tests/extensions/editheader/errors/size-limit.sieve: + lib-sieve: editheader: implemented configurable length limit. + [00c5cd8ca1d2] + + * tests/extensions/editheader/errors.svtest: + testsuite: editheader: fixed test name for command syntax checks. + [3cacf01fbbab] + + * src/lib-sieve/plugins/vacation/cmd-vacation.c: + lib-sieve: vacation: made vacation action header checks use the + modified message (editheader). + [77a20a67153d] + + * TODO, tests/extensions/editheader/errors.svtest, + tests/extensions/editheader/errors/command-syntax.sieve: + testsuite: editheader: added command syntax checks. + [3fc2c1bfb4ca] + +2011-11-28 Stephan Bosch + + * src/lib-sieve/edit-mail.c, + tests/extensions/editheader/deleteheader.svtest: + lib-sieve: editheader: made deleteheader match ignore leading and + trailing whitespace. + [9a0b9ca3aca5] + + * Makefile.am, TODO, src/lib-sieve/plugins/editheader/Makefile.am, src + /lib-sieve/plugins/editheader/cmd-addheader.c, src/lib- + sieve/plugins/editheader/cmd-deleteheader.c, src/lib- + sieve/plugins/editheader/ext-editheader-common.c, src/lib- + sieve/plugins/editheader/ext-editheader-common.h, src/lib- + sieve/plugins/editheader/ext-editheader.c, + tests/extensions/editheader/protected.svtest: + lib-sieve: editheader: added simple configuration for protected + headers. + [8d0cfe6f66f0] + + * src/lib-sieve/sieve-result.c, + tests/extensions/editheader/addheader.svtest, + tests/extensions/editheader/deleteheader.svtest: + lib-sieve: editheader: fixed normal implicit keep. This was broken + by previous change. It now properly uses the final version of the + message instead of the original. + [f13a2fc82fa0] + + * TODO: + Updated TODO. + [6798ae05aa0a] + + * src/lib-sieve/sieve-actions.c, + tests/extensions/editheader/errors.svtest, + tests/extensions/editheader/errors/runtime-error.sieve: + lib-sieve: editheader: fixed implicit keep after runtime error. It + did not use the original message in this case. + [9c2fa28f7123] + +2011-11-26 Stephan Bosch + + * tests/extensions/editheader/addheader.svtest, + tests/extensions/editheader/deleteheader.svtest: + testsuite: editheader extension: added various tests for folded + headers. + [23fbd8454d98] + + * src/lib-sieve/edit-mail.c: + lib-sieve: editheader extension: fixed handling of pre-folded header + values for added header fields. + [f7ec0ff8c3ba] + + * src/lib-sieve/plugins/editheader/cmd-deleteheader.c: + lib-sieve: editheader extension: fixed compile warning caused by + spurious comma. + [3d01485cb539] + + * src/testsuite/cmd-test-message.c, src/testsuite/ext-testsuite.c, + src/testsuite/testsuite-common.h: + testsuite: added test_message_print command to print the current + message content. + [8af074872b41] + + * src/lib-sieve/plugins/editheader/cmd-addheader.c, src/lib- + sieve/plugins/editheader/cmd-deleteheader.c, src/lib- + sieve/rfc2822.c, tests/extensions/editheader/errors.svtest, + tests/extensions/editheader/errors/field-value.sieve: + testsuite: editheader extension: added error tests for header value + verification. + [df95edf614c4] + + * src/lib-sieve/rfc2822.c: + lib-sieve: fixed bug caused by last change to rfc2822 header + verification. + [1143c225b528] + + * Makefile.am, tests/extensions/editheader/errors.svtest, + tests/extensions/editheader/errors/field-name-runtime.sieve, + tests/extensions/editheader/errors/field-name.sieve: + testsuite: editheader extension: added error tests for header field + name verification. + [258108f6eea5] + + * src/lib-sieve/plugins/editheader/cmd-addheader.c, src/lib- + sieve/plugins/editheader/cmd-deleteheader.c: + lib-sieve: editheader extension: added runtime header field name + verification. + [a691c5c035f2] + + * src/lib-sieve/plugins/enotify/mailto/uri-mailto.c, src/lib- + sieve/rfc2822.c, src/lib-sieve/rfc2822.h: + lib-sieve: updated rfc2822 header field body verification to exclude + non-printing characters (RFC5322). + [cdf52ef61f65] + +2011-11-24 Stephan Bosch + + * tests/extensions/editheader/utf8.svtest: + lib-sieve: editheader extension: added utf8-decoding-related + testsuite item. + [6757a772b086] + + * Makefile.am, README, TODO, configure.in, + doc/rfc/editheader.rfc5293.txt, src/lib-sieve/Makefile.am, src/lib- + sieve/cmd-keep.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve/edit- + mail.c, src/lib-sieve/edit-mail.h, src/lib-sieve/ext-fileinto.c, src + /lib-sieve/plugins/Makefile.am, src/lib- + sieve/plugins/editheader/Makefile.am, src/lib- + sieve/plugins/editheader/cmd-addheader.c, src/lib- + sieve/plugins/editheader/cmd-deleteheader.c, src/lib- + sieve/plugins/editheader/ext-editheader-common.c, src/lib- + sieve/plugins/editheader/ext-editheader-common.h, src/lib- + sieve/plugins/editheader/ext-editheader.c, src/lib-sieve/rfc2822.c, + src/lib-sieve/rfc2822.h, src/lib-sieve/sieve-actions.c, src/lib- + sieve/sieve-actions.h, src/lib-sieve/sieve-extensions.c, src/lib- + sieve/sieve-interpreter.c, src/lib-sieve/sieve-match-types.c, src + /lib-sieve/sieve-match-types.h, src/lib-sieve/sieve-message.c, src + /lib-sieve/sieve-message.h, src/lib-sieve/sieve-result.c, src/lib- + sieve/tst-exists.c, src/lib-sieve/tst-size.c, src/testsuite + /testsuite-message.c, tests/extensions/editheader/addheader.svtest, + tests/extensions/editheader/alternating.svtest, + tests/extensions/editheader/deleteheader.svtest, + tests/extensions/editheader/utf8.svtest: + Added editheader support. + [253a0672ad92] + +2011-11-19 Stephan Bosch + + * INSTALL, NEWS, README, TODO, configure.in, doc/man/pigeonhole.7.in, + doc/man/sieve-dump.1.in, doc/man/sieve-filter.1.in, doc/man/sieve- + test.1.in, doc/man/sievec.1.in: + Upgraded package version to 0.3.0 and updated documentation. + [c94b71745f38] + + * src/lib-sieve-tool/mail-raw.c, src/lib-sieve-tool/mail-raw.h, src + /lib-sieve-tool/sieve-tool.c, src/lib-sieve/plugins/mailbox/tst- + mailboxexists.c, src/lib-sieve/sieve-actions.c, src/managesieve- + login/client.c, src/testsuite/testsuite-mailstore.c: + Upgraded to Dovecot v2.1. + [7de7d7d01d55] + + * .hgsigs: + Added signature for changeset 873baa85e220 + [e2c092d3198e] + + * .hgtags: + Added tag 0.2.5 for changeset 873baa85e220 + [618ccb1e3750] + + * NEWS, configure.in: + Released v0.2.5 for Dovecot v2.0.16. + [873baa85e220] [0.2.5] + +2011-11-09 Stephan Bosch + + * src/managesieve-login/managesieve-login-settings.c: + managesieve-login: Use default_vsz_limit instead of adding our own. + This change matches identical changes for Dovecot's imap-login and + pop3-login. + [5b1080bbeee5] + +2011-10-05 Stephan Bosch + + * src/lib-sieve/plugins/vacation/cmd-vacation.c: + lib-sieve: vacation extension: further tinkered on log message about + implicitly delivered messages. + [bf72eada1f1b] + + * src/sieve-tools/sieve-test.c: + sieve-test tool: mixed up original and final envelope recipient in + actual implementation. + [027f450bd498] + + * doc/man/sieve-dump.1.in, doc/man/sieve-filter.1.in, doc/man/sieve- + test.1.in, doc/man/sievec.1.in, src/sieve-tools/sieve-dump.c, src + /sieve-tools/sieve-test.c, src/sieve-tools/sievec.c: + Updated documentation of sieve tools. + [78e92af7aa61] + + * src/lib-sieve/plugins/vacation/cmd-vacation.c: + lib-sieve: vacation extension: made discard message for implicit + deliver more verbose. + [936f29175330] + +2011-09-21 Stephan Bosch + + * tests/extensions/vacation/message.svtest: + test suite: forgot to remove test_result_print command in previous + change. + [e10d402769fb] + + * src/lib-sieve/plugins/vacation/cmd-vacation.c: + lib-sieve: vacation: handled FIXME regarding the use of variables in + the :handle argument. Variables are now handled correctly. + [fe6df3425850] + + * tests/extensions/vacation/message.svtest: + test suite: added test for usage of variables in vacation command. + [4353ad991f1c] + +2011-09-17 Stephan Bosch + + * Merged concurrent changes. + [b4f0fe1f54c3] + +2011-09-16 Stephan Bosch + + * TODO: + Updated TODO. + [78654f55c9a0] + +2011-09-14 Stephan Bosch + + * src/testsuite/testsuite-script.c: + testsuite: fixed compiler warning. + [6cb7f5478ca4] + + * src/lib-sieve/plugins/body/ext-body-common.c, + tests/extensions/body/content.svtest: + body extension: fixed handling of :content message/rfc822. + [f3a4ddd68bc8] + +2011-09-17 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Last change did not even compile. + [7cd2dce9ab6b] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + lda-sieve: fall back to global recipient_delimiter setting if + plugin/recipient_delimiter is not set. + [296bb15850b4] + +2011-09-13 Stephan Bosch + + * .hgsigs: + Added signature for changeset 0d071eaa6d5e + [9e0d1a75c546] + + * .hgtags: + Added tag 0.2.4 for changeset 0d071eaa6d5e + [5459f69f6aa2] + + * NEWS, configure.in: + Released v0.2.4 for Dovecot v2.0.14. + [0d071eaa6d5e] [0.2.4] + +2011-09-11 Stephan Bosch + + * INSTALL, doc/include.txt, doc/rfc/draft-ietf-sieve-include-03.txt, + doc/rfc/draft-ietf-sieve-include-05.txt, doc/vacation.txt: + Updated INSTALL documentation for new configuration options of the + include extension. + [6e46c17ab0b7] + + * src/lib-sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include-limits.h, src/testsuite/testsuite- + script.c, tests/extensions/include/errors.svtest, + tests/extensions/include/errors/depth-limit.sieve, + tests/extensions/include/errors/include-limit.sieve, + tests/extensions/include/included/depth-limit-1.sieve, + tests/extensions/include/included/depth-limit-2.sieve, + tests/extensions/include/included/depth-limit-3.sieve: + include extension: made nesting_depth and max_includes limits + configurable. + [f12899a3d02f] + + * src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, src/testsuite/testsuite.c, + tests/extensions/include/errors/included/action-fileinto.sieve, + tests/extensions/include/errors/included/action-reject.sieve, + tests/extensions/include/errors/included/circular-one.sieve, + tests/extensions/include/errors/included/circular-three-2.sieve, + tests/extensions/include/errors/included/circular-three-3.sieve, + tests/extensions/include/errors/included/circular-three.sieve, + tests/extensions/include/errors/included/circular-two-2.sieve, + tests/extensions/include/errors/included/circular-two.sieve, + tests/extensions/include/execute/included/actions-fileinto1.sieve, + tests/extensions/include/execute/included/actions-fileinto2.sieve, + tests/extensions/include/execute/included/actions-fileinto3.sieve, + tests/extensions/include/included/action-fileinto.sieve, + tests/extensions/include/included/action-reject.sieve, + tests/extensions/include/included/actions-fileinto1.sieve, + tests/extensions/include/included/actions-fileinto2.sieve, + tests/extensions/include/included/actions-fileinto3.sieve, + tests/extensions/include/included/circular-one.sieve, + tests/extensions/include/included/circular-three-2.sieve, + tests/extensions/include/included/circular-three-3.sieve, + tests/extensions/include/included/circular-three.sieve, + tests/extensions/include/included/circular-two-2.sieve, + tests/extensions/include/included/circular-two.sieve: + include extension: implemented proper configuration handling + Configuration is now only read once at extension initialization. + [ce825c9671a6] + + * src/lib-sieve/plugins/variables/ext-variables-common.c: + variables extension: fixed deinitialization problem (unfreed + variable scope data) newly found by Valgrind. + [6d0da356f0fd] + + * src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-dump.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h: + variables extension: fixed segfault bug triggered when dumping + binary variable scopes. + [75bb6c3f4176] + +2011-08-29 Stephan Bosch + + * NEWS, README: + Updated NEWS and README for next release. + [2b7f00ea1062] + + * TODO: + Updated TODO. + [3901d10186e0] + + * src/lib-sieve-tool/sieve-tool.c, src/lib-sieve/sieve-error.c, src + /lib-sieve/sieve-script.c: + sieve: fixed debug mode; no messages were logged in some situations. + [db043c016009] + + * src/sieve-tools/sievec.c: + sievec: forgot to enable -D (debug) parameter. + [04b4edd4bf6e] + +2011-08-02 Stephan Bosch + + * doc/vacation.txt, src/lib-sieve/plugins/vacation/cmd-vacation.c, src + /lib-sieve/plugins/vacation/ext-vacation-common.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.h, src/testsuite + /testsuite-message.c, src/testsuite/testsuite-message.h, + src/testsuite/testsuite-objects.c, + tests/extensions/vacation/reply.svtest: + lib-sieve: vacation extension: finally added support for using the + original recipient in vacation address check. + [81f7acac82f2] + + * src/lib-sieve/cmd-redirect.c: + lib-sieve: forgot to check for NULL recipient in previous change. + [efad75f779de] + + * src/lib-sieve/cmd-redirect.c: + lib-sieve: added X-Sieve-Redirected-From header for people using + SPF/SRS. + [81b37c0055c3] + +2011-07-05 Stephan Bosch + + * src/lib-sieve/plugins/include/cmd-global.c, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/variables/ext-variables-arguments.c, src/lib- + sieve/plugins/variables/ext-variables-name.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, + tests/extensions/include/rfc-ex2-default.sieve: + lib-sieve: include extension: forgot to check variable identifier + syntax. + [08bbe5872576] + +2011-07-02 Stephan Bosch + + * Merged concurrent changes. + [e9bb226739cb] + + * NEWS, README: + Updated documentation. + [278efc729dc3] + + * TODO: + Updated TODO. + [b69e1c556ad4] + +2011-06-29 Stephan Bosch + + * src/lib-sieve/plugins/variables/ext-variables-common.c: + lib-sieve: variables extension: fixed -Wunused-but-set-variable + compiler warning. + [a720b0775fa5] + +2011-06-26 Stephan Bosch + + * doc/rfc/ihave.rfc5463.txt: + Added ihave RFC to repository. + [ac0870035061] + + * Makefile.am, src/lib-sieve/plugins/ihave/Makefile.am, src/lib- + sieve/plugins/ihave/cmd-error.c, src/lib-sieve/plugins/ihave/ext- + ihave-common.h, src/lib-sieve/plugins/ihave/ext-ihave.c, src/lib- + sieve/plugins/ihave/tst-ihave.c, + tests/extensions/ihave/errors.svtest, + tests/extensions/ihave/errors/error.sieve, + tests/extensions/ihave/restrictions.svtest: + lib-sieve: finished ihave extension. + [bdb94146c89c] + + * TODO: + Updated TODO list. + [2eec49242135] + + * Makefile.am, configure.in, src/lib-sieve/Makefile.am, src/lib-sieve + /cmd-require.c, src/lib-sieve/plugins/Makefile.am, src/lib- + sieve/plugins/ihave/Makefile.am, src/lib-sieve/plugins/ihave/ext- + ihave-binary.c, src/lib-sieve/plugins/ihave/ext-ihave-binary.h, src + /lib-sieve/plugins/ihave/ext-ihave-common.c, src/lib- + sieve/plugins/ihave/ext-ihave-common.h, src/lib-sieve/plugins/ihave + /ext-ihave.c, src/lib-sieve/plugins/ihave/tst-ihave.c, src/lib-sieve + /sieve-ast.c, src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve- + extensions.c, src/lib-sieve/sieve-extensions.h, src/lib-sieve/sieve- + validator.c, src/lib-sieve/sieve-validator.h, + tests/extensions/ihave/execute.svtest, + tests/extensions/ihave/execute/ihave.sieve: + lib-sieve: implemented ihave extension. + [d6c207acbc8d] + + * TODO, src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-if.c, src/lib- + sieve/cmd-keep.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve/cmd- + require.c, src/lib-sieve/cmd-stop.c, src/lib-sieve/ext-envelope.c, + src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/tst-body.c, src/lib-sieve/plugins/date/tst- + date.c, src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/tst-notify-method-capability.c, src/lib- + sieve/plugins/enotify/tst-valid-notify-method.c, src/lib- + sieve/plugins/environment/tst-environment.c, src/lib- + sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imapflags.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c, src/lib- + sieve/plugins/include/cmd-global.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/mailbox/tst-mailboxexists.c, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/spamvirustest/tst- + spamvirustest.c, src/lib-sieve/plugins/vacation/cmd-vacation.c, src + /lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/tst-string.c, src/lib- + sieve/plugins/vnd.dovecot/debug/cmd-debug-log.c, src/lib-sieve + /sieve-commands.h, src/lib-sieve/sieve-validator.c, src/lib-sieve + /tst-address.c, src/lib-sieve/tst-allof.c, src/lib-sieve/tst- + anyof.c, src/lib-sieve/tst-exists.c, src/lib-sieve/tst-header.c, src + /lib-sieve/tst-not.c, src/lib-sieve/tst-size.c, src/lib-sieve/tst- + truefalse.c, src/testsuite/cmd-test-binary.c, src/testsuite/cmd- + test-config.c, src/testsuite/cmd-test-fail.c, src/testsuite/cmd- + test-mailbox.c, src/testsuite/cmd-test-message.c, src/testsuite/cmd- + test-result.c, src/testsuite/cmd-test-set.c, src/testsuite/cmd- + test.c, src/testsuite/tst-test-error.c, src/testsuite/tst-test- + multiscript.c, src/testsuite/tst-test-result-action.c, src/testsuite + /tst-test-result-execute.c, src/testsuite/tst-test-script-compile.c, + src/testsuite/tst-test-script-run.c, tests/control-if.svtest, tests + /test-allof.svtest, tests/test-anyof.svtest: + lib-sieve: optimized compilation of tests that yield constant + results (i.e. known at compile tme), such as true and false. If the + result of a test is known at compile time, it is optimized away. If + an if-command depends on an entirely constant test, it is optimized + away as well, causing only the 'true' sub-block to be compiled. + [cf3b58e583ec] + +2011-06-22 Stephan Bosch + + * src/lib-sieve-tool/sieve-tool.c, src/sieve-tools/sieve-test.c, + src/testsuite/testsuite.c: + Sieve tools: started using mail_namespaces_init_location instead of + mail_namespaces_init_empty. + [b9050c63a238] + + * src/lib-sieve/sieve-actions.c: + lib-sieve: made sure that flags and keywords are only checked when + the mailbox is actually opened. + [850d5748a115] + + * tests/extensions/imap4flags/execute.svtest: + Finished testsuite item for the imap4flags extension. + [9b3368611f32] + +2011-06-21 Stephan Bosch + + * doc/man/sieve-dump.1.in, doc/man/sieve-filter.1.in, doc/man/sieve- + test.1.in, doc/man/sievec.1.in: + Fixed a few minor textual problems in the manual pages. + [de8753dad82f] + +2011-06-06 Stephan Bosch + + * Makefile.am, configure.in, doc/man/sieve-test.1.in, src/lib- + sieve/Makefile.am, src/lib-sieve/plugins/Makefile.am, src/lib- + sieve/plugins/vnd.dovecot/Makefile.am, src/lib- + sieve/plugins/vnd.dovecot/debug/Makefile.am, src/lib- + sieve/plugins/vnd.dovecot/debug/cmd-debug-log.c, src/lib- + sieve/plugins/vnd.dovecot/debug/ext-debug-common.h, src/lib- + sieve/plugins/vnd.dovecot/debug/ext-debug.c, src/lib-sieve/sieve- + extensions.c, src/lib-sieve/sieve-extensions.h, src/sieve- + tools/Makefile.am, src/sieve-tools/debug/Makefile.am, src/sieve- + tools/debug/cmd-debug-print.c, src/sieve-tools/debug/ext-debug- + common.h, src/sieve-tools/debug/ext-debug.c, src/sieve-tools/debug + /sieve-ext-debug.h, src/sieve-tools/sieve-dump.c, src/sieve-tools + /sieve-filter.c, src/sieve-tools/sieve-test.c, src/sieve- + tools/sievec.c, src/testsuite/testsuite-log.c, + tests/extensions/vnd.dovecot/debug/execute.svtest: + Made vnd.dovecot.debug extension available to the LDA plugin instead + of only the command line tools. + [9d328e6732ff] + +2011-05-11 Stephan Bosch + + * src/lib-sievestorage/sieve-storage.c, src/managesieve/managesieve- + client.c: + Sieve Storage: improved handling of unconfigured user home + directory. + [560057691dac] + +2011-05-10 Stephan Bosch + + * src/lib-sieve/sieve-extensions.c, src/lib-sieve/sieve-extensions.h, + src/lib-sieve/sieve-validator.c: + Imap4flags: previous change was inadequate. + [cc25d9fa8183] + +2011-05-09 Stephan Bosch + + * src/lib-sieve/plugins/imap4flags/ext-imapflags.c, src/lib- + sieve/plugins/vacation/ext-vacation-seconds.c, src/lib-sieve/sieve- + extensions.c, src/lib-sieve/sieve-extensions.h: + Imap4flags: prevent forcibly enabling imap4flags when imapflags is + enabled. + [ef58ace33b47] + +2011-04-14 Stephan Bosch + + * .hgsigs: + Added signature for changeset 3ab2a125e1e2 + [42497f1c37ff] + + * .hgtags: + Added tag 0.2.3 for changeset 3ab2a125e1e2 + [ae64daced5b1] + + * configure.in: + Released v0.2.3 for Dovecot v2.0.12. + [3ab2a125e1e2] [0.2.3] + + * NEWS: + Prepared NEWS file for next release. + [cbb671878b87] + + * INSTALL: + Small changes to the INSTALL file regarding configuration of + vacation extension. + [599e23b5adfb] + + * doc/rfc/draft-ietf-sieve-vacation-seconds-03.txt, doc/rfc/vacation- + seconds.rfc6131.txt: + Updated RFC for vacation-seconds extension. + [c2c35cc3da1f] + + * doc/spamtest-virustest.txt, doc/vacation.txt: + Restructured extension-specific install documentation. + [2e1ce7cf1b19] + +2011-04-13 Stephan Bosch + + * src/managesieve-login/managesieve-login-settings-plugin.c: + Managesieve-login: increased dump-capability time-out from 5 to 60 + s. + [5a485986b032] + +2011-04-10 Stephan Bosch + + * src/managesieve-login/client.c: + managsieve-login: Reduced the max. number of allowed bad commands. + [035f71059f3d] + +2011-03-22 Stephan Bosch + + * src/lib-sieve-tool/sieve-tool.c, src/lib-sieve-tool/sieve-tool.h, + src/sieve-tools/sieve-dump.c, src/sieve-tools/sieve-filter.c, src + /sieve-tools/sieve-test.c, src/sieve-tools/sievec.c, + src/testsuite/testsuite.c: + Sieve tools: avoid initializing mail store (namespaces) for sievec + and sieve-dump. + [ed2d01aff6d0] + + * src/lib-sieve-tool/mail-raw.c, src/lib-sieve/plugins/mailbox/tag- + mailbox-create.c, src/lib-sieve/sieve-result.c, src/testsuite/cmd- + test-message.c: + Fixed various compile warnings related to spurious semicolons and + inappropriate variable initialization. + [b9c507cfa061] + +2011-03-05 Stephan Bosch + + * doc/man/pigeonhole.7.in, src/lib-managesieve/managesieve-parser.c, + src/lib-managesieve/managesieve-parser.h, src/lib-managesieve + /managesieve-quote.c, src/lib-managesieve/managesieve-quote.h, src + /lib-sieve-tool/mail-raw.c, src/lib-sieve-tool/mail-raw.h, src/lib- + sieve-tool/sieve-tool.c, src/lib-sieve-tool/sieve-tool.h, src/lib- + sieve/cmd-discard.c, src/lib-sieve/cmd-if.c, src/lib-sieve/cmd- + keep.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve/cmd-require.c, + src/lib-sieve/cmd-stop.c, src/lib-sieve/cmp-i-ascii-casemap.c, src + /lib-sieve/cmp-i-octet.c, src/lib-sieve/ext-encoded-character.c, src + /lib-sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/mcht-contains.c, src/lib-sieve + /mcht-is.c, src/lib-sieve/mcht-matches.c, src/lib-sieve/plugins/body + /ext-body-common.c, src/lib-sieve/plugins/body/ext-body-common.h, + src/lib-sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/body + /tst-body.c, src/lib-sieve/plugins/comparator-i-ascii-numeric/ext- + cmp-i-ascii-numeric.c, src/lib-sieve/plugins/copy/ext-copy.c, src + /lib-sieve/plugins/copy/sieve-ext-copy.h, src/lib-sieve/plugins/date + /ext-date-common.c, src/lib-sieve/plugins/date/ext-date-common.h, + src/lib-sieve/plugins/date/ext-date.c, src/lib-sieve/plugins/date + /tst-date.c, src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ext-enotify-limits.h, src/lib- + sieve/plugins/enotify/ext-enotify.c, src/lib- + sieve/plugins/enotify/mailto/ntfy-mailto.c, src/lib- + sieve/plugins/enotify/mailto/uri-mailto.c, src/lib- + sieve/plugins/enotify/mailto/uri-mailto.h, src/lib- + sieve/plugins/enotify/sieve-ext-enotify.h, src/lib- + sieve/plugins/enotify/tst-notify-method-capability.c, src/lib- + sieve/plugins/enotify/tst-valid-notify-method.c, src/lib- + sieve/plugins/enotify/vmodf-encodeurl.c, src/lib- + sieve/plugins/environment/ext-environment-common.c, src/lib- + sieve/plugins/environment/ext-environment-common.h, src/lib- + sieve/plugins/environment/ext-environment.c, src/lib- + sieve/plugins/environment/sieve-ext-environment.h, src/lib- + sieve/plugins/environment/tst-environment.c, src/lib- + sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.h, src/lib- + sieve/plugins/imap4flags/ext-imap4flags.c, src/lib- + sieve/plugins/imap4flags/ext-imapflags.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c, src/lib- + sieve/plugins/include/cmd-global.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include-limits.h, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/mailbox + /ext-mailbox-common.h, src/lib-sieve/plugins/mailbox/ext-mailbox.c, + src/lib-sieve/plugins/mailbox/tag-mailbox-create.c, src/lib- + sieve/plugins/mailbox/tst-mailboxexists.c, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/notify/ext-notify-common.c, src + /lib-sieve/plugins/notify/ext-notify-common.h, src/lib- + sieve/plugins/notify/ext-notify-limits.h, src/lib- + sieve/plugins/notify/ext-notify.c, src/lib-sieve/plugins/regex/ext- + regex-common.c, src/lib-sieve/plugins/regex/ext-regex-common.h, src + /lib-sieve/plugins/regex/ext-regex.c, src/lib-sieve/plugins/regex + /mcht-regex.c, src/lib-sieve/plugins/relational/ext-relational- + common.c, src/lib-sieve/plugins/relational/ext-relational-common.h, + src/lib-sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/relational/mcht-value.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest-common.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest-common.h, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest.c, src/lib- + sieve/plugins/spamvirustest/tst-spamvirustest.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.h, src/lib- + sieve/plugins/vacation/ext-vacation-seconds.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-arguments.c, src/lib-sieve/plugins/variables/ext- + variables-arguments.h, src/lib-sieve/plugins/variables/ext- + variables-common.c, src/lib-sieve/plugins/variables/ext-variables- + common.h, src/lib-sieve/plugins/variables/ext-variables-dump.c, src + /lib-sieve/plugins/variables/ext-variables-dump.h, src/lib- + sieve/plugins/variables/ext-variables-limits.h, src/lib- + sieve/plugins/variables/ext-variables-modifiers.c, src/lib- + sieve/plugins/variables/ext-variables-modifiers.h, src/lib- + sieve/plugins/variables/ext-variables-name.c, src/lib- + sieve/plugins/variables/ext-variables-name.h, src/lib- + sieve/plugins/variables/ext-variables-namespaces.c, src/lib- + sieve/plugins/variables/ext-variables-namespaces.h, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/ext-variables-operands.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, src/lib- + sieve/plugins/variables/tst-string.c, src/lib-sieve/rfc2822.c, src + /lib-sieve/rfc2822.h, src/lib-sieve/sieve-actions.c, src/lib-sieve + /sieve-actions.h, src/lib-sieve/sieve-address-parts.c, src/lib-sieve + /sieve-address-parts.h, src/lib-sieve/sieve-address.c, src/lib-sieve + /sieve-address.h, src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve- + ast.h, src/lib-sieve/sieve-binary-code.c, src/lib-sieve/sieve- + binary-debug.c, src/lib-sieve/sieve-binary-dumper.c, src/lib-sieve + /sieve-binary-dumper.h, src/lib-sieve/sieve-binary-file.c, src/lib- + sieve/sieve-binary-private.h, src/lib-sieve/sieve-binary.c, src/lib- + sieve/sieve-binary.h, src/lib-sieve/sieve-code-dumper.c, src/lib- + sieve/sieve-code-dumper.h, src/lib-sieve/sieve-code.c, src/lib-sieve + /sieve-code.h, src/lib-sieve/sieve-commands.c, src/lib-sieve/sieve- + commands.h, src/lib-sieve/sieve-common.h, src/lib-sieve/sieve- + comparators.c, src/lib-sieve/sieve-comparators.h, src/lib-sieve + /sieve-config.h, src/lib-sieve/sieve-dump.h, src/lib-sieve/sieve- + error-private.h, src/lib-sieve/sieve-error.c, src/lib-sieve/sieve- + error.h, src/lib-sieve/sieve-extensions.c, src/lib-sieve/sieve- + extensions.h, src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve- + generator.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve- + interpreter.h, src/lib-sieve/sieve-lexer.c, src/lib-sieve/sieve- + lexer.h, src/lib-sieve/sieve-limits.h, src/lib-sieve/sieve-match- + types.c, src/lib-sieve/sieve-match-types.h, src/lib-sieve/sieve- + match.c, src/lib-sieve/sieve-match.h, src/lib-sieve/sieve-message.c, + src/lib-sieve/sieve-message.h, src/lib-sieve/sieve-objects.c, src + /lib-sieve/sieve-objects.h, src/lib-sieve/sieve-parser.c, src/lib- + sieve/sieve-parser.h, src/lib-sieve/sieve-plugins.c, src/lib-sieve + /sieve-plugins.h, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + result.h, src/lib-sieve/sieve-runtime-trace.c, src/lib-sieve/sieve- + runtime-trace.h, src/lib-sieve/sieve-runtime.h, src/lib-sieve/sieve- + script-private.h, src/lib-sieve/sieve-script.c, src/lib-sieve/sieve- + script.h, src/lib-sieve/sieve-settings.c, src/lib-sieve/sieve- + settings.h, src/lib-sieve/sieve-smtp.c, src/lib-sieve/sieve-smtp.h, + src/lib-sieve/sieve-stringlist.c, src/lib-sieve/sieve-stringlist.h, + src/lib-sieve/sieve-types.h, src/lib-sieve/sieve-validator.c, src + /lib-sieve/sieve-validator.h, src/lib-sieve/sieve.c, src/lib- + sieve/sieve.h, src/lib-sieve/tst-address.c, src/lib-sieve/tst- + allof.c, src/lib-sieve/tst-anyof.c, src/lib-sieve/tst-exists.c, src + /lib-sieve/tst-header.c, src/lib-sieve/tst-not.c, src/lib-sieve/tst- + size.c, src/lib-sieve/tst-truefalse.c, src/lib-sievestorage/sieve- + storage-list.c, src/lib-sievestorage/sieve-storage-list.h, src/lib- + sievestorage/sieve-storage-private.h, src/lib-sievestorage/sieve- + storage-quota.c, src/lib-sievestorage/sieve-storage-quota.h, src + /lib-sievestorage/sieve-storage-save.c, src/lib-sievestorage/sieve- + storage-save.h, src/lib-sievestorage/sieve-storage-script.c, src + /lib-sievestorage/sieve-storage-script.h, src/lib-sievestorage + /sieve-storage.c, src/lib-sievestorage/sieve-storage.h, src + /managesieve-login/client-authenticate.c, src/managesieve-login + /client-authenticate.h, src/managesieve-login/client.c, src + /managesieve-login/client.h, src/managesieve-login/managesieve- + login-settings-plugin.c, src/managesieve-login/managesieve-login- + settings-plugin.h, src/managesieve-login/managesieve-login- + settings.c, src/managesieve-login/managesieve-login-settings.h, src + /managesieve-login/managesieve-proxy.c, src/managesieve-login + /managesieve-proxy.h, src/managesieve/cmd-capability.c, + src/managesieve/cmd-deletescript.c, src/managesieve/cmd-getscript.c, + src/managesieve/cmd-havespace.c, src/managesieve/cmd-listscripts.c, + src/managesieve/cmd-logout.c, src/managesieve/cmd-noop.c, + src/managesieve/cmd-putscript.c, src/managesieve/cmd-renamescript.c, + src/managesieve/cmd-setactive.c, src/managesieve/main.c, + src/managesieve/managesieve-capabilities.c, src/managesieve + /managesieve-capabilities.h, src/managesieve/managesieve-client.c, + src/managesieve/managesieve-client.h, src/managesieve/managesieve- + commands.c, src/managesieve/managesieve-commands.h, src/managesieve + /managesieve-common.h, src/managesieve/managesieve-quota.c, + src/managesieve/managesieve-quota.h, src/managesieve/managesieve- + settings.c, src/managesieve/managesieve-settings.h, src/plugins/lda- + sieve/lda-sieve-plugin.c, src/plugins/lda-sieve/lda-sieve-plugin.h, + src/sieve-tools/debug/cmd-debug-print.c, src/sieve-tools/debug/ext- + debug-common.h, src/sieve-tools/debug/ext-debug.c, src/sieve- + tools/debug/sieve-ext-debug.h, src/sieve-tools/sieve-dump.c, src + /sieve-tools/sieve-filter.c, src/sieve-tools/sieve-test.c, src + /sieve-tools/sievec.c, src/testsuite/cmd-test-binary.c, + src/testsuite/cmd-test-config.c, src/testsuite/cmd-test-fail.c, + src/testsuite/cmd-test-mailbox.c, src/testsuite/cmd-test-message.c, + src/testsuite/cmd-test-result.c, src/testsuite/cmd-test-set.c, + src/testsuite/cmd-test.c, src/testsuite/ext-testsuite.c, + src/testsuite/testsuite-arguments.c, src/testsuite/testsuite- + arguments.h, src/testsuite/testsuite-binary.c, src/testsuite + /testsuite-binary.h, src/testsuite/testsuite-common.c, src/testsuite + /testsuite-common.h, src/testsuite/testsuite-log.c, src/testsuite + /testsuite-log.h, src/testsuite/testsuite-mailstore.c, src/testsuite + /testsuite-mailstore.h, src/testsuite/testsuite-message.c, + src/testsuite/testsuite-message.h, src/testsuite/testsuite- + objects.c, src/testsuite/testsuite-objects.h, src/testsuite + /testsuite-result.c, src/testsuite/testsuite-result.h, src/testsuite + /testsuite-script.c, src/testsuite/testsuite-script.h, src/testsuite + /testsuite-settings.c, src/testsuite/testsuite-settings.h, + src/testsuite/testsuite-smtp.c, src/testsuite/testsuite-smtp.h, + src/testsuite/testsuite-substitutions.c, src/testsuite/testsuite- + substitutions.h, src/testsuite/testsuite.c, src/testsuite/tst-test- + error.c, src/testsuite/tst-test-multiscript.c, src/testsuite/tst- + test-result-action.c, src/testsuite/tst-test-result-execute.c, + src/testsuite/tst-test-script-compile.c, src/testsuite/tst-test- + script-run.c: + Updated copyright notices to include year 2011. + [87f3098f33bf] + +2011-03-02 Stephan Bosch + + * src/lib-sieve/sieve-extensions.c: + Fixed segfault bug in extension configuration, triggered when + unknown extension is mentioned in sieve_extensions setting. + [bb26cdb18bdf] + +2011-02-23 Stephan Bosch + + * src/sieve-tools/sieve-filter.c: + Sieve-filter tool: forgot to enable -u option. + [ac0c46b720a1] + + * doc/man/Makefile.am, doc/man/sieve-filter.1.in: + Fixed some more minor problems in the man pages (patch by Pascal + Volk). + [2be3decfdc79] + + * doc/man/sieve-dump.1.in, doc/man/sieve-filter.1.in, doc/man/sieve- + test.1.in, doc/man/sievec.1.in: + Fixed some minor problems in the man pages (patch by Pascal Volk). + [767a7cb8645f] + +2011-02-20 Stephan Bosch + + * tests/extensions/vacation/smtp.svtest: + Vacation extension: added test for proper From: address when + replying for Cc'd e-mail. + [dd89949aa055] + +2011-02-19 Stephan Bosch + + * src/lib-managesieve/managesieve-parser.c, src/lib-managesieve + /managesieve-quote.c: + ManageSieve: fixed problems in previous change; utf-8 was actually + denied completely. + [b4f57b02d2ed] + +2011-02-18 Stephan Bosch + + * src/lib-managesieve/managesieve-parser.c, src/lib-managesieve + /managesieve-parser.h, src/lib-managesieve/managesieve-quote.c: + ManageSieve: now using Dovecot API for UTF-8 validity checks. + [bd894c3cbf7b] + + * src/lib-sieve/sieve-extensions.c: + Fixed potential segfault in extension registry. + [92fa68d19585] + +2011-02-17 Stephan Bosch + + * src/lib-managesieve/managesieve-parser.c: + ManageSieve: fixed bug in UTF-8 checking of string values. + [ae42f8dd3c7e] + +2011-02-13 Stephan Bosch + + * TODO, doc/man/sieve-filter.1.in, src/sieve-tools/sieve-filter.c, src + /sieve-tools/sieve-test.c: + Sieve filter tool: finished basic functionality. + [a23274a90b80] + +2011-02-11 Stephan Bosch + + * src/lib-sieve/sieve-settings.c: + Fixed bug in parsing of duration settings. + [36dddc51f9a5] + +2011-02-09 Stephan Bosch + + * src/testsuite/testsuite-log.c: + Testsuite: fixed prefix of -E option info log output. + [3c11b2ae95a0] + + * Makefile.am, tests/extensions/vacation/reply.svtest: + Vacation extension: added tests for reply filtering test suite. + [f74b3b46eb1a] + + * src/lib-sieve/plugins/vacation/cmd-vacation.c: + Vacation extension: now inhibits replies to messages from sender + listed in :addresses. + [0b7100d990b2] + + * src/testsuite/testsuite-log.c: + Testsuite: added info log output to -E command line option. + [c4ff3b2c21e3] + +2011-01-26 Stephan Bosch + + * src/lib-sieve-tool/sieve-tool.c: + Sieve tools: prevent automatically creating mail storage. + [dcaa91e4c7e5] + +2011-01-25 Stephan Bosch + + * doc/rfc/draft-ietf-sieve-vacation-seconds-03.txt: + Vacation-seconds extension: added specification to doc/rfc. + [ab3833311fc9] + + * INSTALL, doc/vacation.txt, src/lib- + sieve/plugins/vacation/Makefile.am, src/lib-sieve/plugins/vacation + /cmd-vacation.c, src/lib-sieve/plugins/vacation/ext-vacation- + common.h, src/lib-sieve/plugins/vacation/ext-vacation-seconds.c, src + /lib-sieve/sieve-commands.h, src/lib-sieve/sieve-extensions.c, src + /lib-sieve/sieve-validator.c, src/lib-sieve/sieve-validator.h, + tests/extensions/vacation/execute.svtest, + tests/extensions/vacation/execute/seconds.sieve: + Vacation extension: implemented the (draft) vacation-seconds + extension. + [5d69bb1453ec] + + * doc/vacation.txt, src/lib-sieve/plugins/vacation/cmd-vacation.c, src + /lib-sieve/plugins/vacation/ext-vacation-common.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.h: + Vacation extension: added default period configuration setting and + fixed a limit bug. + [b6aa4ac74175] + + * INSTALL, doc/Makefile.am, doc/vacation.txt, src/lib- + sieve/plugins/vacation/Makefile.am, src/lib-sieve/plugins/vacation + /cmd-vacation.c, src/lib-sieve/plugins/vacation/ext-vacation- + common.c, src/lib-sieve/plugins/vacation/ext-vacation-common.h, src + /lib-sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve- + binary.h, src/lib-sieve/sieve-settings.c, src/lib-sieve/sieve- + settings.h: + Vacation extension: added min/max period configuration settings and + changed the internal unit from days to seconds. + [129adff0c81b] + +2011-01-24 Stephan Bosch + + * src/lib-sieve/sieve-settings.c, src/lib-sieve/sieve-settings.h: + Restructured settings parsing and added parsing support for duration + settings. + [c21d4452b5eb] + +2011-01-23 Stephan Bosch + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/plugins/copy/ext-copy.c: + Copy extension: previous change was incomplete and broken. + [1a9955262f5c] + + * Merged concurrent changes. + [2391ec677b35] + + * src/lib-sieve/plugins/copy/Makefile.am, src/lib-sieve/plugins/copy + /ext-copy.c, src/lib-sieve/plugins/copy/sieve-ext-copy.h: + Copy extension: added public interface for adding the :copy tag to + new commands. + [f68dd69a4ac4] + +2011-01-18 Stephan Bosch + + * src/lib-sieve/plugins/notify/cmd-notify.c: + Notify extension: fixed duplicate variable declaration. + [b894b8268a55] + +2011-01-19 Stephan Bosch + + * src/lib-sieve/plugins/enotify/mailto/uri-mailto.c: + Enotify: mailto: fixed inappropriate return type in URI parse + function, also fixing ARM compiler warning. + [8a07ae3e0a2e] + +2011-01-06 Stephan Bosch + + * README, TODO, src/managesieve-login/client-authenticate.c: + ManageSieve: removed TODO status of adding ANONYMOUS SASL support, + since the RFC specification no longer describes it. + [5b57b1142864] + +2011-01-04 Stephan Bosch + + * src/lib-sieve/plugins/vacation/cmd-vacation.c: + Vacation: fixed handling of sendmail errors. + [a8da6eef445d] + +2011-01-01 Stephan Bosch + + * src/lib-sieve/plugins/notify/ext-notify-common.c: + Deprecated notify extension: reverted previous change as address is + used for the notification in stead of being actually parsed. + [442a5fb51d76] + + * src/lib-sieve/plugins/notify/ext-notify-common.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c: + Removed header MIME-decoding for other instances where addresses + need to be parsed. + [146a2a9d5cb0] + + * src/lib-sieve/plugins/date/tst-date.c, src/lib-sieve/sieve- + message.c, src/lib-sieve/sieve-message.h, src/lib-sieve/tst- + address.c, src/lib-sieve/tst-header.c, tests/test-address.svtest: + Address test: removed header MIME-decoding to prevent address + parsing problems. + [99f8dc1e246a] + +2010-12-07 Stephan Bosch + + * .hgsigs: + Added signature for changeset df8b38da248c + [67d2240966ec] + + * .hgtags: + Added tag 0.2.2 for changeset df8b38da248c + [1ca0b1c23527] + + * NEWS, configure.in: + Released v0.2.2 for Dovecot v2.0.8. + [df8b38da248c] [0.2.2] + +2010-12-03 Stephan Bosch + + * NEWS: + Prepared NEWS file for next release. + [46557ecc6640] + +2010-12-01 Stephan Bosch + + * TODO, src/lib-sieve/ext-reject.c, src/lib-sieve/sieve-actions.c, src + /lib-sieve/sieve-actions.h, src/lib-sieve/sieve-types.h, src/plugins + /lda-sieve/lda-sieve-plugin.c: + LDA Sieve plugin: started using Dovecot reject API. + [0171171e8e83] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Fixed segfault caused by previous fix. + [006a0afb7e73] + +2010-11-30 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + LDA Sieve plugin: fixed memory leak at deinitialization (patch by + Timo Sirainen). + [9cf0fa17a783] + +2010-11-22 Stephan Bosch + + * src/managesieve/main.c: + managesieve: Fixed giving any -parameters (analogoues to Dovecot + fix). + [ccbc805eb8cd] + +2010-11-16 Stephan Bosch + + * src/managesieve-login/managesieve-login-settings.c, src/managesieve + /managesieve-settings.c: + Services' default vsz_limit wasn't actually using default_vsz_limit + but rather 4 GB. + [c2a76570d736] + + * src/managesieve/main.c: + "Running standalone?" check now uses a new DOVECOT_CHILD_PROCESS + environment rather than GENERATION. The GENERATION environment was + already set in some systems for Java. + [b0aa953b36ad] + +2010-11-03 Stephan Bosch + + * src/managesieve/main.c: + Avoids potential problems if auth process crashes and service_count + > 1 (patch by Timo Sirainen). + [a8cc6294071e] + +2010-10-17 Stephan Bosch + + * doc/man/sieve-filter.1.in: + Sieve-filter: minor addition to the man page. + [2023f8c74250] + +2010-10-16 Stephan Bosch + + * doc/man/sieve-filter.1.in, src/sieve-tools/sieve-filter.c: + Sieve-filter: implemented basic filtering with source mailbox + actions. + [e6427895c197] + +2010-10-01 Stephan Bosch + + * TODO, doc/man/sieve-filter.1.in, src/sieve-tools/sieve-filter.c: + Sieve-filter: fixed tool compilation and further developed tool + design. + [a50464354f5a] + + * src/lib-sieve-tool/sieve-tool.c, src/sieve-tools/sieve-test.c: + Sieve tools: fixed help text for sieve-test command and some minor + adjustments. + [e0c8354f8b21] + +2010-09-30 Stephan Bosch + + * doc/man/sieve-filter.1.in: + Sieve-filter: updated man page. + [37f5c82f33c2] + + * src/lib-sieve/plugins/imap4flags/tag-flags.c: + Imap4flags: fixed segfault bug occuring in multiscript context. + [0828e3600eec] + +2010-09-28 Stephan Bosch + + * doc/example-config/conf.d/20-managesieve.conf: + Improved ManageSieve config example; 'sieve' is added to protocols + setting in 20-managesieve.conf now. + [5cb795d0d1de] + + * src/managesieve-login/managesieve-login-settings-plugin.c, + src/managesieve/managesieve-settings.c: + ManageSieve: added settings plugin version checking. + [efe7abf725a1] + +2010-09-27 Stephan Bosch + + * .hgsigs: + Added signature for changeset d768f911252d + [824454514f08] + + * .hgtags: + Added tag 0.2.1 for changeset d768f911252d + [a38a06f94711] + + * NEWS, configure.in: + Released v0.2.1 for Dovecot v2.0.4. + [d768f911252d] [0.2.1] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + LDA Sieve plugin: added _version symbol to enable Dovecot version + checking. + [5bc247b7679d] + +2010-09-23 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + LDA Sieve plugin: updated wiki link in error message. + [2ce2a0126ab8] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + LDA Sieve plugin: turned debug message into an error and added + script path information. + [aca2a0f7e480] + +2010-09-17 Stephan Bosch + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/enotify/mailto/ntfy-mailto.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib-sieve/sieve- + message.c, src/lib-sieve/sieve-message.h, src/lib-sieve/sieve- + types.h, src/plugins/lda-sieve/lda-sieve-plugin.c, src/sieve-tools + /sieve-test.c, src/testsuite/testsuite-message.c: + Incorporated distinction between original and final envelope + recipient in Sieve interpreter, as recently introduced in Dovecot. + [cb4c1ebecff3] + + * TODO, src/lib-sieve/plugins/regex/mcht-regex.c, + tests/compile/errors.svtest, tests/compile/errors/unsupported.sieve, + tests/extensions/regex/basic.svtest, + tests/extensions/regex/errors.svtest, + tests/extensions/regex/errors/runtime.sieve: + Regex: added support for variable regex keys. + [838b2f88b4f8] + + * src/lib-sieve/tst-header.c: + Fixed comparator/match-type macro mixup. + [f8374b664383] + +2010-09-13 Stephan Bosch + + * src/lib-sieve/sieve-extensions.c, src/lib-sieve/sieve-extensions.h: + Fixed unnecessary reporting of dummy extensions in ManageSieve SIEVE + capability. + [fbcb05e7eda1] + +2010-09-10 Stephan Bosch + + * .hgtags: + Added tag 0.2.0 for changeset 7bdabe6f9757 + [aa15d16aea8f] + + * NEWS, TODO, configure.in: + Released v0.2.0 for Dovecot v2.0.2. + [7bdabe6f9757] [0.2.0] + + * INSTALL: + Updated the Compile section of the INSTALL file. + [48f77e73e4c5] + + * configure.in, m4/dovecot.m4: + Fixed make distcheck to work. + [a3caf6bb2b4f] + +2010-09-09 Stephan Bosch + + * Makefile.am, configure.in, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/enotify/Makefile.am, src/lib- + sieve/plugins/environment/Makefile.am, src/lib- + sieve/plugins/variables/Makefile.am: + Removed --enable-header-install setting. + [e4ed076aead7] + + * src/lib-sieve/plugins/body/tst-body.c, src/lib-sieve/plugins/include + /ext-include-binary.c, src/lib-sieve/plugins/notify/ext-notify- + common.c, src/lib-sieve/plugins/variables/ext-variables-arguments.c, + src/lib-sieve/sieve-plugins.c: + Fixed series of AIX compiler warnings. + [5889581572b6] + +2010-09-08 Stephan Bosch + + * NEWS: + Added a few missing NEWS items and fixed some formatting issues. + [9f9a3c42687e] + + * README: + Updated README documentation. + [a0b1ef61d61b] + + * INSTALL: + Updated INSTALL documentation. + [991a6b09f2a9] + + * src/managesieve-login/managesieve-login-settings-plugin.c: + ManageSieve: fixed dump-capability problem occuring when using a + custom config file (patch by Timo Sirainen). + [91117b838f30] + +2010-09-06 Stephan Bosch + + * doc/man/sieve-dump.1.in, src/lib-sieve-tool/sieve-tool.c, src/lib- + sieve-tool/sieve-tool.h, src/lib-sieve/sieve-binary-dumper.c, src + /lib-sieve/sieve-binary-dumper.h, src/lib-sieve/sieve-binary.h, src + /lib-sieve/sieve.c, src/lib-sieve/sieve.h, src/sieve-tools/sieve- + dump.c, src/sieve-tools/sieve-test.c, src/sieve-tools/sievec.c, + src/testsuite/testsuite.c: + Sieve-dump: added support for producing per-block hexdump output. + [1a7060ef63ce] + +2010-09-05 Stephan Bosch + + * src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-error.h, src/lib- + sieve/sieve-interpreter.c, src/lib-sieve/sieve-interpreter.h: + Added support for critical runtime errors. + [33bc93bdde44] + + * src/lib-sieve/sieve-error.c: + Error handling: don't log user message of critical error to system + log. + [1889ce6a3e66] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Sieve plugin: only refer to user log for compile error details when + there is actually a compile error. + [ed7c367576c6] + + * NEWS, TODO: + Final preparations for 0.2 release. + [f6fbbb9d7f2c] + + * src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-error.h, + src/plugins/lda-sieve/Makefile.am, src/plugins/lda-sieve/lda-sieve- + log.c, src/plugins/lda-sieve/lda-sieve-log.h, src/plugins/lda-sieve + /lda-sieve-plugin.c: + Sieve plugin: simplified system error handling. + [fb765ed84e0e] + + * src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-redirect.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/plugins/enotify/cmd-notify.c, src + /lib-sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/mailto/ntfy-mailto.c, src/lib- + sieve/plugins/enotify/sieve-ext-enotify.h, src/lib- + sieve/plugins/notify/cmd-notify.c, src/lib-sieve/plugins/vacation + /cmd-vacation.c, src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve- + actions.h, src/lib-sieve/sieve-error-private.h, src/lib-sieve/sieve- + error.c, src/lib-sieve/sieve-error.h, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + result.h, src/lib-sieve/sieve-script.c, src/lib-sievestorage/sieve- + storage.c, src/plugins/lda-sieve/lda-sieve-log.c, src/plugins/lda- + sieve/lda-sieve-plugin.c, src/testsuite/testsuite-log.c: + Simplified error handling; in particular the changes in the + preceeding commits. + [0dc3cce72225] + +2010-09-04 Stephan Bosch + + * TODO, src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext-reject.c, src + /lib-sieve/sieve-actions.c, src/lib-sieve/sieve-commands.h, src/lib- + sieve/sieve-error.c, src/lib-sieve/sieve-error.h, src/lib-sieve + /sieve-interpreter.c, src/lib-sieve/sieve-result.c, src/lib-sieve + /sieve-result.h, src/lib-sieve/sieve-script.c, src/lib-sieve/sieve- + validator.c, src/plugins/lda-sieve/lda-sieve-plugin.c: + Fixed runtime error logging not to report user-caused errors to the + master log. + [081a2c9babc0] + + * src/lib-sieve-tool/sieve-tool.c, src/lib-sieve/plugins/include/ext- + include-binary.c, src/lib-sieve/plugins/include/ext-include- + common.c, src/lib-sieve/plugins/include/ext-include-variables.c, src + /lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c, src + /lib-sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, src/lib-sieve/sieve- + binary-file.c, src/lib-sieve/sieve-binary-private.h, src/lib-sieve + /sieve-common.h, src/lib-sieve/sieve-error-private.h, src/lib-sieve + /sieve-error.c, src/lib-sieve/sieve-error.h, src/lib-sieve/sieve- + extensions.c, src/lib-sieve/sieve-message.c, src/lib-sieve/sieve- + script.c, src/lib-sieve/sieve-settings.c, src/lib-sieve/sieve.c, src + /lib-sieve/sieve.h, src/lib-sieve/tst-size.c, src/lib-sievestorage + /sieve-storage.c, src/managesieve/cmd-putscript.c, src/plugins/lda- + sieve/lda-sieve-log.c, src/plugins/lda-sieve/lda-sieve-log.h, + src/plugins/lda-sieve/lda-sieve-plugin.c, src/sieve-tools/sieve- + test.c, src/testsuite/cmd-test-binary.c, src/testsuite/testsuite- + log.c, src/testsuite/testsuite-mailstore.c: + Made global system error handler state part of Sieve instance. + [cda3b3fe04b0] + +2010-09-03 Stephan Bosch + + * src/lib-sieve/sieve-extensions.c: + Fixed default Sieve capability: extra extensions spamtest, + spamtestplus and virustest were also enabled by default. + [2b7290f6307c] + +2010-08-30 Stephan Bosch + + * TODO: + Finished FIXME review. + [523c8c2ba857] + + * src/lib-sieve/ext-fileinto.c, src/lib-sieve/sieve-actions.c: + Fixed FIXME: fileinto folder name utf-8 validity is now checked at + compiletime or runtime. + [a4f1f8b81535] + + * src/lib-sieve/sieve-actions.c: + Made sure that store action logs both UTF-8 and mUTF-7 names when + applicable. + [dbe440b85c1b] + + * src/lib-sieve/plugins/vacation/cmd-vacation.c: + Fixed FIXME: added runtime warning for erroneous :addresses item. + [668a375ac336] + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Removed spurious source file. + [91b5289ac832] + + * src/lib-sieve/plugins/date/tst-date.c, src/lib-sieve/sieve-code.c, + src/lib-sieve/sieve-code.h: + Fixed FIXME: Date test now reports warning when invalid zone + argument is encountered at runtime. + [66cf3c948718] + + * src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.c: + Fixed FIXME: Imap4flags extension now checks flag keyword syntax + before the message is stored. + [6a7edb7c3f0d] + + * TODO, src/lib-sieve/ext-reject.c: + Modified TODO item. + [ef3d551586f9] + + * src/lib-sieve-tool/mail-raw.c, src/lib-sieve/cmd-redirect.c, src + /lib-sieve/sieve-address-parts.c, src/managesieve/cmd-putscript.c: + Fixed FIXME: when redirect address is a variable, it is checked for + validity at runtime. + [bb69691ffac2] + + * TODO, src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-keep.c, src + /lib-sieve/cmd-redirect.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/plugins/enotify/cmd-notify.c, src + /lib-sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/tst-notify-method-capability.c, src/lib- + sieve/plugins/enotify/tst-valid-notify-method.c, src/lib- + sieve/plugins/notify/cmd-notify.c, src/lib-sieve/plugins/vacation + /cmd-vacation.c, src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve- + actions.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve- + interpreter.h, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + result.h, src/sieve-tools/debug/cmd-debug-print.c, src/testsuite + /testsuite-result.c, src/testsuite/testsuite-script.c: + Simplified runtime command script location querying. + [0e80e5a03870] + +2010-08-29 Stephan Bosch + + * Makefile.am, TODO, tests/address.svtest, + tests/comparators/core.svtest, tests/comparators/i-ascii- + casemap.svtest, tests/comparators/i-octet.svtest, + tests/compile/errors.svtest, tests/compile/errors/match-type.sieve, + tests/compile/recover.svtest, tests/compile/recover/commands- + endblock.sieve, tests/compile/recover/commands-semicolon.sieve, + tests/compile/recover/tests-endcomma.sieve, + tests/compile/warnings.svtest, tests/compile/warnings/eof.sieve, + tests/compile/warnings/invalid-headers.sieve, tests/control- + if.svtest, tests/control-stop.svtest, tests/control- + structures.svtest, tests/deprecated/imapflags/execute.svtest, + tests/deprecated/notify/denotify.svtest, tests/execute/smtp.svtest, + tests/exists.svtest, tests/extensions/encoded-character.svtest, + tests/extensions/envelope.svtest, + tests/extensions/imap4flags/basic.svtest, + tests/extensions/imap4flags/flagstore.svtest, + tests/extensions/imap4flags/flagstring.svtest, + tests/extensions/imap4flags/multiscript.svtest, + tests/extensions/imap4flags/multiscript/group-spam.sieve, + tests/extensions/imap4flags/multiscript/sent-store.sieve, + tests/extensions/include/included/rfc-ex1-always_allow.sieve, + tests/extensions/include/included/rfc-ex1-mailing_lists.sieve, + tests/extensions/regex/match-values.svtest, + tests/extensions/relational/basic.svtest, + tests/extensions/relational/comparators.svtest, + tests/extensions/spamvirustest/virustest.svtest, + tests/extensions/subaddress/basic.svtest, + tests/extensions/subaddress/config.svtest, + tests/extensions/vacation/execute/no-handle.sieve, + tests/header.svtest, tests/match-types/contains.svtest, + tests/multiscript/conflicts.svtest, tests/size.svtest, tests/test- + address.svtest, tests/test-allof.svtest, tests/test-anyof.svtest, + tests/test-exists.svtest, tests/test-header.svtest, tests/test- + size.svtest, tests/testsuite.svtest: + Testsuite: partly cleaned up test scripts (rest is post-v0.2). + [47a4f48a51a8] + +2010-08-28 Stephan Bosch + + * TODO, src/testsuite/Makefile.am, src/testsuite/cmd-test-binary.c, + src/testsuite/cmd-test-config.c, src/testsuite/cmd-test-mailbox.c, + src/testsuite/cmd-test-result-print.c, src/testsuite/cmd-test- + result-reset.c, src/testsuite/cmd-test-result.c, src/testsuite/ext- + testsuite.c, src/testsuite/testsuite-common.h, src/testsuite/tst- + test-result-action.c, src/testsuite/tst-test-result.c, + tests/deprecated/notify/execute.svtest, + tests/execute/actions.svtest, tests/execute/errors.svtest, + tests/execute/examples.svtest, + tests/extensions/enotify/execute.svtest, + tests/extensions/imap4flags/execute.svtest, + tests/extensions/include/execute.svtest, + tests/extensions/mailbox/execute.svtest, + tests/extensions/reject/execute.svtest, + tests/extensions/spamvirustest/spamtest.svtest, + tests/extensions/spamvirustest/spamtestplus.svtest, + tests/extensions/spamvirustest/virustest.svtest, + tests/extensions/subaddress/config.svtest, + tests/extensions/vacation/execute.svtest, + tests/multiscript/basic.svtest, tests/multiscript/conflicts.svtest: + Testsuite: made command syntax more uniform. + [1701bfb17ce0] + +2010-08-27 Stephan Bosch + + * doc/man/sievec.1.in: + doc/man/sievec.1.in: fixed roff error caused by unescaped '-' (patch + by Mike Abbott). + [5f800639ee17] + + * src/managesieve-login/managesieve-login-settings-plugin.c: + ManageSieve: settings plugin, capability dump: argument array for + execv was too short by one element. + [fbd885ed767b] + + * doc/man/Makefile.am: + Forgot to add manpage preprocessor and includes to distribution. + [241651833da4] + +2010-08-26 Stephan Bosch + + * src/lib-sieve/plugins/copy/ext-copy.c, src/lib-sieve/plugins/enotify + /ext-enotify.c, src/lib-sieve/plugins/enotify/tst-notify-method- + capability.c, src/lib-sieve/plugins/mailbox/ext-mailbox.c, src/lib- + sieve/plugins/notify/ext-notify.c, src/lib-sieve/sieve-match- + types.c, src/lib-sieve/sieve-parser.c, src/lib-sieve/sieve.h, src + /lib-sievestorage/sieve-storage-list.h: + Removed spurious old stdio.h (top) includes; these cause compile + issues on specific systems. + [2a97d983e56b] + +2010-08-23 Stephan Bosch + + * src/lib-sieve/sieve-script.c, src/managesieve/cmd-putscript.c: + Fixed Sieve script name checking to properly handle length issues + and added 0x00ff as invalid character. + [d51650c8af85] + + * src/managesieve/cmd-putscript.c: + ManageSieve: fixed putscript error in previous commit. + [743f6dc8150c] + + * TODO, src/managesieve/cmd-capability.c, src/managesieve/cmd- + deletescript.c, src/managesieve/cmd-getscript.c, src/managesieve + /cmd-havespace.c, src/managesieve/cmd-listscripts.c, src/managesieve + /cmd-logout.c, src/managesieve/cmd-noop.c, src/managesieve/cmd- + renamescript.c, src/managesieve/cmd-setactive.c, src/managesieve + /managesieve-client.c, src/managesieve/managesieve-client.h: + Enforced ManageSieve protocol syntax better with some of the + commands; some commands still allowed spurious extra arguments. + [551cd0af5b08] + + * .hgignore, doc/man/Makefile.am, doc/man/pigeonhole.7, + doc/man/pigeonhole.7.in, doc/man/sieve-dump.1.in, doc/man/sieve- + test.1.in, doc/man/sievec.1.in: + Cleaned up manpages and fixed various issues (patch by Pascal Volk). + - No longer track the generated pigeonhole.7 + - Some makes don't like the 'handy' notation that was used. + - Deleted trailing spaces + - Escaped some dashes + - Replaced some ' and " by \(aq and \(dq + - Sorted manual pages in section 'See also' (first list all man + pages from the lowest section (1) alphabetical sorted, then the + next section …) + [4dd2538ec95b] + + * .hgignore, TODO, doc/man/Makefile.am, doc/man/pigeonhole.7, + doc/man/pigeonhole.7.in, doc/man/reporting-bugs.inc, doc/man/sed.sh, + doc/man/sieve-dump.1, doc/man/sieve-dump.1.in, doc/man/sieve- + filter.1, doc/man/sieve-filter.1.in, doc/man/sieve-test.1, doc/man + /sieve-test.1.in, doc/man/sievec.1, doc/man/sievec.1.in: + Update man pages to match style and content of Dovecot man pages. + [b2e31e71f20d] + +2010-08-21 Stephan Bosch + + * doc/man/sieved.1: + Added manpage redirection for sieved. + [b5b2763494e5] + + * .hgignore, NEWS, README, doc/man/Makefile.am, doc/man/sieve-dump.1, + doc/man/sieve-filter.1, doc/man/sieve-test.1, doc/man/sievec.1, + doc/man/sieved.1, src/sieve-tools/Makefile.am, src/sieve-tools + /sieve-dump.c, src/sieve-tools/sieved.c: + Renamed sieved tool to sieve-dump. + [668aa8a99d4d] + +2010-08-19 Stephan Bosch + + * INSTALL, NEWS, README: + Updated documentation for upcoming release. + [9ea3bdda8e15] + +2010-08-17 Stephan Bosch + + * doc/example-config/conf.d/20-managesieve.conf, doc/example- + config/conf.d/90-sieve.conf: + Added quota and limit configuration to config file examples. + [1ae9569b0383] + + * AUTHORS: + Removed superfluous text from AUTHORS file. + [8ec04c40d9a4] + + * TODO: + Moved finishing the ereject extension off the pre-v0.2.0 TODO list. + [374dd2a372c8] + + * INSTALL, README: + Updated documentation. + [126e6b9fad21] + + * src/managesieve-login/managesieve-login-settings.c, src/managesieve + /managesieve-settings.c: + ManageSieve: changed default IMPLEMENTATION capability to 'Dovecot + Pigeonhole'. + [d22162f0d0eb] + + * src/lib-managesieve/managesieve-parser.c, src/lib-managesieve + /managesieve-parser.h, src/lib-managesieve/managesieve-quote.c, src + /lib-managesieve/managesieve-quote.h, src/lib-sieve-tool/mail-raw.c, + src/lib-sieve-tool/mail-raw.h, src/lib-sieve-tool/sieve-tool.c, src + /lib-sieve-tool/sieve-tool.h, src/lib-sieve/cmd-discard.c, src/lib- + sieve/cmd-if.c, src/lib-sieve/cmd-keep.c, src/lib-sieve/cmd- + redirect.c, src/lib-sieve/cmd-require.c, src/lib-sieve/cmd-stop.c, + src/lib-sieve/cmp-i-ascii-casemap.c, src/lib-sieve/cmp-i-octet.c, + src/lib-sieve/ext-encoded-character.c, src/lib-sieve/ext-envelope.c, + src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/mcht-contains.c, src/lib-sieve/mcht-is.c, src/lib-sieve/mcht- + matches.c, src/lib-sieve/plugins/body/ext-body-common.c, src/lib- + sieve/plugins/body/ext-body-common.h, src/lib-sieve/plugins/body + /ext-body.c, src/lib-sieve/plugins/body/tst-body.c, src/lib- + sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i-ascii-numeric.c, + src/lib-sieve/plugins/copy/ext-copy.c, src/lib-sieve/plugins/date + /ext-date-common.c, src/lib-sieve/plugins/date/ext-date-common.h, + src/lib-sieve/plugins/date/ext-date.c, src/lib-sieve/plugins/date + /tst-date.c, src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ext-enotify-limits.h, src/lib- + sieve/plugins/enotify/ext-enotify.c, src/lib- + sieve/plugins/enotify/mailto/ntfy-mailto.c, src/lib- + sieve/plugins/enotify/mailto/uri-mailto.c, src/lib- + sieve/plugins/enotify/mailto/uri-mailto.h, src/lib- + sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve/plugins/enotify + /sieve-ext-enotify.h, src/lib-sieve/plugins/enotify/tst-notify- + method-capability.c, src/lib-sieve/plugins/enotify/tst-valid-notify- + method.c, src/lib-sieve/plugins/enotify/vmodf-encodeurl.c, src/lib- + sieve/plugins/environment/ext-environment-common.c, src/lib- + sieve/plugins/environment/ext-environment-common.h, src/lib- + sieve/plugins/environment/ext-environment.c, src/lib- + sieve/plugins/environment/sieve-ext-environment.h, src/lib- + sieve/plugins/environment/tst-environment.c, src/lib- + sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.h, src/lib- + sieve/plugins/imap4flags/ext-imap4flags.c, src/lib- + sieve/plugins/imap4flags/ext-imapflags.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c, src/lib- + sieve/plugins/include/cmd-global.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include-limits.h, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/mailbox + /ext-mailbox-common.h, src/lib-sieve/plugins/mailbox/ext-mailbox.c, + src/lib-sieve/plugins/mailbox/tag-mailbox-create.c, src/lib- + sieve/plugins/mailbox/tst-mailboxexists.c, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/notify/ext-notify-common.c, src + /lib-sieve/plugins/notify/ext-notify-common.h, src/lib- + sieve/plugins/notify/ext-notify-limits.h, src/lib- + sieve/plugins/notify/ext-notify.c, src/lib-sieve/plugins/regex/ext- + regex-common.c, src/lib-sieve/plugins/regex/ext-regex-common.h, src + /lib-sieve/plugins/regex/ext-regex.c, src/lib-sieve/plugins/regex + /mcht-regex.c, src/lib-sieve/plugins/relational/ext-relational- + common.c, src/lib-sieve/plugins/relational/ext-relational-common.h, + src/lib-sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/relational/mcht-value.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest-common.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest-common.h, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest.c, src/lib- + sieve/plugins/spamvirustest/tst-spamvirustest.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.h, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-arguments.c, src/lib-sieve/plugins/variables/ext- + variables-arguments.h, src/lib-sieve/plugins/variables/ext- + variables-common.c, src/lib-sieve/plugins/variables/ext-variables- + common.h, src/lib-sieve/plugins/variables/ext-variables-dump.c, src + /lib-sieve/plugins/variables/ext-variables-dump.h, src/lib- + sieve/plugins/variables/ext-variables-limits.h, src/lib- + sieve/plugins/variables/ext-variables-modifiers.c, src/lib- + sieve/plugins/variables/ext-variables-modifiers.h, src/lib- + sieve/plugins/variables/ext-variables-name.c, src/lib- + sieve/plugins/variables/ext-variables-name.h, src/lib- + sieve/plugins/variables/ext-variables-namespaces.c, src/lib- + sieve/plugins/variables/ext-variables-namespaces.h, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/ext-variables-operands.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, src/lib- + sieve/plugins/variables/tst-string.c, src/lib-sieve/rfc2822.c, src + /lib-sieve/rfc2822.h, src/lib-sieve/sieve-actions.c, src/lib-sieve + /sieve-actions.h, src/lib-sieve/sieve-address-parts.c, src/lib-sieve + /sieve-address-parts.h, src/lib-sieve/sieve-address.c, src/lib-sieve + /sieve-address.h, src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve- + ast.h, src/lib-sieve/sieve-binary-code.c, src/lib-sieve/sieve- + binary-debug.c, src/lib-sieve/sieve-binary-dumper.c, src/lib-sieve + /sieve-binary-dumper.h, src/lib-sieve/sieve-binary-file.c, src/lib- + sieve/sieve-binary-private.h, src/lib-sieve/sieve-binary.c, src/lib- + sieve/sieve-binary.h, src/lib-sieve/sieve-code-dumper.c, src/lib- + sieve/sieve-code-dumper.h, src/lib-sieve/sieve-code.c, src/lib-sieve + /sieve-code.h, src/lib-sieve/sieve-commands.c, src/lib-sieve/sieve- + commands.h, src/lib-sieve/sieve-common.h, src/lib-sieve/sieve- + comparators.c, src/lib-sieve/sieve-comparators.h, src/lib-sieve + /sieve-config.h, src/lib-sieve/sieve-dump.h, src/lib-sieve/sieve- + error-private.h, src/lib-sieve/sieve-error.c, src/lib-sieve/sieve- + error.h, src/lib-sieve/sieve-extensions.c, src/lib-sieve/sieve- + extensions.h, src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve- + generator.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve- + interpreter.h, src/lib-sieve/sieve-lexer.c, src/lib-sieve/sieve- + lexer.h, src/lib-sieve/sieve-limits.h, src/lib-sieve/sieve-match- + types.c, src/lib-sieve/sieve-match-types.h, src/lib-sieve/sieve- + match.c, src/lib-sieve/sieve-match.h, src/lib-sieve/sieve-message.c, + src/lib-sieve/sieve-message.h, src/lib-sieve/sieve-objects.c, src + /lib-sieve/sieve-objects.h, src/lib-sieve/sieve-parser.c, src/lib- + sieve/sieve-parser.h, src/lib-sieve/sieve-plugins.c, src/lib-sieve + /sieve-plugins.h, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + result.h, src/lib-sieve/sieve-runtime-trace.c, src/lib-sieve/sieve- + runtime-trace.h, src/lib-sieve/sieve-runtime.h, src/lib-sieve/sieve- + script-private.h, src/lib-sieve/sieve-script.c, src/lib-sieve/sieve- + script.h, src/lib-sieve/sieve-settings.c, src/lib-sieve/sieve- + settings.h, src/lib-sieve/sieve-smtp.c, src/lib-sieve/sieve-smtp.h, + src/lib-sieve/sieve-stringlist.c, src/lib-sieve/sieve-stringlist.h, + src/lib-sieve/sieve-types.h, src/lib-sieve/sieve-validator.c, src + /lib-sieve/sieve-validator.h, src/lib-sieve/sieve.c, src/lib- + sieve/sieve.h, src/lib-sieve/tst-address.c, src/lib-sieve/tst- + allof.c, src/lib-sieve/tst-anyof.c, src/lib-sieve/tst-exists.c, src + /lib-sieve/tst-header.c, src/lib-sieve/tst-not.c, src/lib-sieve/tst- + size.c, src/lib-sieve/tst-truefalse.c, src/lib-sievestorage/sieve- + storage-list.c, src/lib-sievestorage/sieve-storage-list.h, src/lib- + sievestorage/sieve-storage-private.h, src/lib-sievestorage/sieve- + storage-quota.c, src/lib-sievestorage/sieve-storage-quota.h, src + /lib-sievestorage/sieve-storage-save.c, src/lib-sievestorage/sieve- + storage-save.h, src/lib-sievestorage/sieve-storage-script.c, src + /lib-sievestorage/sieve-storage-script.h, src/lib-sievestorage + /sieve-storage.c, src/lib-sievestorage/sieve-storage.h, src + /managesieve-login/client-authenticate.c, src/managesieve-login + /client-authenticate.h, src/managesieve-login/client.c, src + /managesieve-login/client.h, src/managesieve-login/managesieve- + login-settings-plugin.c, src/managesieve-login/managesieve-login- + settings-plugin.h, src/managesieve-login/managesieve-login- + settings.c, src/managesieve-login/managesieve-login-settings.h, src + /managesieve-login/managesieve-proxy.c, src/managesieve-login + /managesieve-proxy.h, src/managesieve/cmd-capability.c, + src/managesieve/cmd-deletescript.c, src/managesieve/cmd-getscript.c, + src/managesieve/cmd-havespace.c, src/managesieve/cmd-listscripts.c, + src/managesieve/cmd-logout.c, src/managesieve/cmd-noop.c, + src/managesieve/cmd-putscript.c, src/managesieve/cmd-renamescript.c, + src/managesieve/cmd-setactive.c, src/managesieve/main.c, + src/managesieve/managesieve-capabilities.c, src/managesieve + /managesieve-capabilities.h, src/managesieve/managesieve-client.c, + src/managesieve/managesieve-client.h, src/managesieve/managesieve- + commands.c, src/managesieve/managesieve-commands.h, src/managesieve + /managesieve-common.h, src/managesieve/managesieve-quota.c, + src/managesieve/managesieve-quota.h, src/managesieve/managesieve- + settings.c, src/managesieve/managesieve-settings.h, src/plugins/lda- + sieve/lda-sieve-log.c, src/plugins/lda-sieve/lda-sieve-log.h, + src/plugins/lda-sieve/lda-sieve-plugin.c, src/plugins/lda-sieve/lda- + sieve-plugin.h, src/sieve-tools/debug/cmd-debug-print.c, src/sieve- + tools/debug/ext-debug-common.h, src/sieve-tools/debug/ext-debug.c, + src/sieve-tools/debug/sieve-ext-debug.h, src/sieve-tools/sieve- + filter.c, src/sieve-tools/sieve-test.c, src/sieve-tools/sievec.c, + src/sieve-tools/sieved.c, src/testsuite/cmd-test-binary.c, + src/testsuite/cmd-test-config.c, src/testsuite/cmd-test-fail.c, + src/testsuite/cmd-test-mailbox.c, src/testsuite/cmd-test-message.c, + src/testsuite/cmd-test-result-print.c, src/testsuite/cmd-test- + result-reset.c, src/testsuite/cmd-test-set.c, src/testsuite/cmd- + test.c, src/testsuite/ext-testsuite.c, src/testsuite/testsuite- + arguments.c, src/testsuite/testsuite-arguments.h, src/testsuite + /testsuite-binary.c, src/testsuite/testsuite-binary.h, src/testsuite + /testsuite-common.c, src/testsuite/testsuite-common.h, src/testsuite + /testsuite-log.c, src/testsuite/testsuite-log.h, src/testsuite + /testsuite-mailstore.c, src/testsuite/testsuite-mailstore.h, + src/testsuite/testsuite-message.c, src/testsuite/testsuite- + message.h, src/testsuite/testsuite-objects.c, src/testsuite + /testsuite-objects.h, src/testsuite/testsuite-result.c, + src/testsuite/testsuite-result.h, src/testsuite/testsuite-script.c, + src/testsuite/testsuite-script.h, src/testsuite/testsuite- + settings.c, src/testsuite/testsuite-settings.h, src/testsuite + /testsuite-smtp.c, src/testsuite/testsuite-smtp.h, src/testsuite + /testsuite-substitutions.c, src/testsuite/testsuite-substitutions.h, + src/testsuite/testsuite.c, src/testsuite/tst-test-error.c, + src/testsuite/tst-test-multiscript.c, src/testsuite/tst-test-result- + execute.c, src/testsuite/tst-test-result.c, src/testsuite/tst-test- + script-compile.c, src/testsuite/tst-test-script-run.c: + Renamed 'Dovecot Sieve' to 'Pigeonhole' in source file copyright + headers. + [c4d3018f458e] + +2010-08-14 Stephan Bosch + + * src/lib-sieve/sieve-runtime-trace.c, src/lib-sieve/sieve-runtime- + trace.h, src/lib-sieve/sieve-stringlist.c, src/lib-sieve/sieve- + stringlist.h: + Fixed source file header comments. + [12bcaa8a3c8d] + + * tests/extensions/regex/basic.svtest: + Testsuite: added a few test for the regex extension. + [f152c6e113e3] + + * src/lib-sieve-tool/sieve-tool.c: + Fixed Valgrind error. + [dce269f7665f] + + * TODO, src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-keep.c, src + /lib-sieve/cmd-redirect.c, src/lib-sieve/ext-envelope.c, src/lib- + sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/tst-body.c, src/lib-sieve/plugins/date/ext-date- + common.c, src/lib-sieve/plugins/date/tst-date.c, src/lib- + sieve/plugins/enotify/cmd-notify.c, src/lib-sieve/plugins/enotify + /tst-notify-method-capability.c, src/lib-sieve/plugins/enotify/tst- + valid-notify-method.c, src/lib-sieve/plugins/environment/tst- + environment.c, src/lib-sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c, src/lib- + sieve/plugins/mailbox/tst-mailboxexists.c, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/regex/mcht-regex.c, src/lib- + sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/spamvirustest/tst-spamvirustest.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-namespaces.c, src/lib-sieve/plugins/variables/ext- + variables-operands.c, src/lib-sieve/plugins/variables/sieve-ext- + variables.h, src/lib-sieve/plugins/variables/tst-string.c, src/lib- + sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h, src/lib-sieve + /sieve-address-parts.c, src/lib-sieve/sieve-address-parts.h, src + /lib-sieve/sieve-address.c, src/lib-sieve/sieve-code.c, src/lib- + sieve/sieve-code.h, src/lib-sieve/sieve-comparators.h, src/lib-sieve + /sieve-match-types.h, src/lib-sieve/sieve-match.c, src/lib-sieve + /sieve-match.h, src/lib-sieve/sieve-message.c, src/lib-sieve/sieve- + objects.c, src/lib-sieve/sieve-runtime-trace.c, src/lib-sieve/sieve- + runtime-trace.h, src/lib-sieve/sieve-stringlist.c, src/lib-sieve + /sieve-stringlist.h, src/lib-sieve/tst-address.c, src/lib-sieve/tst- + exists.c, src/lib-sieve/tst-header.c, src/lib-sieve/tst-size.c, + src/managesieve/cmd-putscript.c, src/sieve-tools/debug/cmd-debug- + print.c, src/testsuite/cmd-test-binary.c, src/testsuite/cmd-test- + config.c, src/testsuite/cmd-test-fail.c, src/testsuite/cmd-test- + mailbox.c, src/testsuite/cmd-test-message.c, src/testsuite/cmd-test- + set.c, src/testsuite/cmd-test.c, src/testsuite/testsuite-log.c, + src/testsuite/testsuite-objects.c, src/testsuite/testsuite-result.c, + src/testsuite/testsuite-substitutions.c, src/testsuite/tst-test- + error.c, src/testsuite/tst-test-multiscript.c, src/testsuite/tst- + test-result.c, src/testsuite/tst-test-script-compile.c, + src/testsuite/tst-test-script-run.c: + Improved runtime error handing. + + - Changed operand read functions to prove exec status return codes + in stead of boolean. + - Restructured optional-operand, stringlist and string-match APIs to + provide execution status (error code) upon failure. + - Corruption errors are only produced when the binary is actually + corrupt. Normal failures should never cause a recompile attempt + anymore. + - Simplified optional-operand API. + - Cleaned up test command implementations that use the string-match + API. + [b889191ef74c] + +2010-08-12 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Produce a nicer error message when trying to load with non-lda/lmtp + binary (patch by Timo Sirainen). + [7dc1741fe305] + + * src/lib-sieve/plugins/regex/mcht-regex.c: + Regex match: fixed segfault at deinitialization. + [32fd91cbe1e0] + + * TODO: + Updated TODO + [f6f169a146df] + + * src/lib-sieve/sieve-address.h, src/lib-sieve/sieve-generator.h, src + /lib-sieve/sieve-stringlist.h: + Fixed compile on Solaris 10 with SunStudio 12.1 (patch by Willi + Burmeister). + [dbeafafac11b] + +2010-08-11 Stephan Bosch + + * TODO, src/lib-sieve-tool/sieve-tool.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/ext-include-common.c, + src/lib-sieve/sieve-binary-file.c, src/lib-sieve/sieve-binary- + private.h, src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve- + binary.h, src/lib-sieve/sieve-common.h, src/lib-sieve/sieve-lexer.c, + src/lib-sieve/sieve-lexer.h, src/lib-sieve/sieve-parser.c, src/lib- + sieve/sieve-parser.h, src/lib-sieve/sieve-script-private.h, src/lib- + sieve/sieve-script.c, src/lib-sieve/sieve-script.h, src/lib-sieve + /sieve-types.h, src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, src + /lib-sievestorage/Makefile.am, src/lib-sievestorage/sieve-storage- + error.h, src/lib-sievestorage/sieve-storage-list.c, src/lib- + sievestorage/sieve-storage-private.h, src/lib-sievestorage/sieve- + storage-quota.c, src/lib-sievestorage/sieve-storage-save.c, src/lib- + sievestorage/sieve-storage-script.c, src/lib-sievestorage/sieve- + storage-script.h, src/lib-sievestorage/sieve-storage.c, src/lib- + sievestorage/sieve-storage.h, src/managesieve/cmd-deletescript.c, + src/managesieve/cmd-getscript.c, src/managesieve/cmd-putscript.c, + src/managesieve/cmd-renamescript.c, src/managesieve/cmd-setactive.c, + src/managesieve/managesieve-client.c, src/plugins/lda-sieve/lda- + sieve-plugin.c, src/sieve-tools/sieve-test.c, src/sieve- + tools/sievec.c, src/sieve-tools/sieved.c, src/testsuite/testsuite- + binary.c, src/testsuite/testsuite-script.c, + src/testsuite/testsuite.c: + Improved and simplified file error handling + + - Administrators now get properly notified about uncompiled global + scripts and the inability of the sieve plugin to store global + binaries. + - Improved binary load/save error handling and fixed a few smal bugs. + - Simplified ManageSieve error handling. + [5b078d671e51] + + * src/lib-sievestorage/sieve-storage-save.c: + ManageSieve/Sieve storag: fixed error handling of PUTSCRIPT + commmand; save commit errors would not make the command fail. + [0bdde11004f5] + + * src/lib-sieve/sieve-interpreter.c: + Fixed segfault occuring when loaded binary block turns out to be + corrupt. + [181e04d8ac6e] + + * src/lib-sieve/sieve.c: + Multiscript: fixed duplicate implicit keep caused by erroneous + execution state update. + [90cec7ef7373] + + * src/lib-sieve/sieve-binary-code.c: + Prevent assertion failure due to currupt binary string + representation (missing \0). + [89756b38a8c6] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + LDA Sieve plugin: fixed sieve_global_path setting; it was not + recognized. + [928551d558d6] + +2010-08-08 Stephan Bosch + + * src/lib-sieve-tool/sieve-tool.c: + Fixed segfault in tools and testsuite occuring when no username can + be determined. + [0592366457df] + +2010-08-06 Stephan Bosch + + * src/managesieve-login/client-authenticate.c: + ManageSieve: fixed SASL negotiation; mechanisms that need a + roundtrip were broken. + [a73a01e2d6d2] + +2010-08-04 Stephan Bosch + + * src/lib-sieve/tst-size.c: + Fixed compiler warnings in tst-size.c + [cac6acdc4d0e] + +2010-08-03 Stephan Bosch + + * TODO, src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-redirect.c, src + /lib-sieve/cmd-stop.c, src/lib-sieve/ext-envelope.c, src/lib-sieve + /ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/enotify/cmd-notify.c, src/lib-sieve/plugins/imap4flags + /cmd-flag.c, src/lib-sieve/plugins/imap4flags/ext-imap4flags- + common.c, src/lib-sieve/plugins/mailbox/tst-mailboxexists.c, src + /lib-sieve/plugins/regex/mcht-regex.c, src/lib- + sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/sieve-address- + parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve/sieve- + address.c, src/lib-sieve/sieve-address.h, src/lib-sieve/sieve- + code.c, src/lib-sieve/sieve-common.h, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-match.c, src/lib-sieve/sieve- + message.c, src/lib-sieve/sieve-runtime-trace.c, src/lib-sieve/sieve- + runtime-trace.h, src/lib-sieve/sieve-runtime.h, src/lib-sieve/sieve- + stringlist.h, src/lib-sieve/tst-exists.c, src/lib-sieve/tst-size.c, + src/testsuite/cmd-test-binary.c, src/testsuite/cmd-test-config.c, + src/testsuite/cmd-test-fail.c, src/testsuite/cmd-test-mailbox.c, + src/testsuite/cmd-test-message.c, src/testsuite/cmd-test-result- + print.c, src/testsuite/cmd-test-result-reset.c, src/testsuite/cmd- + test-set.c, src/testsuite/cmd-test.c, src/testsuite/testsuite- + script.c, src/testsuite/testsuite-script.h, src/testsuite/tst-test- + error.c, src/testsuite/tst-test-multiscript.c, src/testsuite/tst- + test-result-execute.c, src/testsuite/tst-test-result.c, + src/testsuite/tst-test-script-compile.c, src/testsuite/tst-test- + script-run.c: + Improved runtime trace debugging towards something more intuitively + readable. + [15e39ffe0ff1] + + * src/lib-sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.h, + tests/extensions/imap4flags/basic.svtest: + Imap4flags: fixed bug in setflag command; when parameter was a + stringlist, only the last item was actually set. + [1c66cb52772d] + + * src/lib-sieve/sieve-actions.c, tests/execute/errors.svtest, + tests/execute/errors/fileinto-invalid-name.sieve: + Fixed bug in error handling of store action. + [8ab83f81360e] + + * src/testsuite/testsuite-log.c, src/testsuite/testsuite-log.h, + src/testsuite/testsuite.c: + Testsuite: prevented warning messages from showing up by default. + [b404d36cdd8d] + + * src/lib-sieve-tool/sieve-tool.c: + Testsuite: fixed segfault problem. + [3f718ad2060c] + +2010-08-02 Stephan Bosch + + * Makefile.am, tests/size.svtest: + Testsuite: added missing test case for the size test. + [350f02ff8d83] + + * src/testsuite/testsuite.c: + Testsuite: minor cleanups. + [a904a64890bd] + + * src/lib-sieve-tool/sieve-tool.c: + Sieve tools: don't try to close stdout. + [f35b814f2975] + + * src/sieve-tools/sieve-test.c: + Sieve-test tool: accidentally disabled -d option. + [bf0455cc29c9] + + * src/lib-sieve/sieve-binary-code.c: + Improved byte code encoding implementation of integers and offsets. + [66af5c261028] + +2010-07-30 Stephan Bosch + + * src/lib-sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/sieve-binary-code.c, src/lib-sieve/sieve-binary.h, src/lib- + sieve/sieve-code.c, src/lib-sieve/sieve-interpreter.c, src/testsuite + /cmd-test-fail.c: + Sieve binary: now using better defined integer types for byte-coded + data + [5427ab9c95da] + + * TODO: + Updated TODO. + [5acdd784dd98] + + * src/lib-sieve/plugins/variables/ext-variables-modifiers.c, + tests/extensions/variables/modifiers.svtest: + Variables extension: fixed :length set modifier to recognize utf8 + characters in stead of octets. + [d0c3be3295a1] + + * TODO, src/lib-sieve/Makefile.am, src/lib-sieve/ext-envelope.c, src + /lib-sieve/mcht-contains.c, src/lib-sieve/mcht-is.c, src/lib-sieve + /mcht-matches.c, src/lib-sieve/plugins/body/ext-body-common.c, src + /lib-sieve/plugins/body/ext-body-common.h, src/lib- + sieve/plugins/body/tst-body.c, src/lib-sieve/plugins/date/ext-date- + common.c, src/lib-sieve/plugins/date/ext-date-common.h, src/lib- + sieve/plugins/date/tst-date.c, src/lib-sieve/plugins/enotify/cmd- + notify.c, src/lib-sieve/plugins/enotify/ext-enotify-common.c, src + /lib-sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/tst-notify-method-capability.c, src/lib- + sieve/plugins/enotify/tst-valid-notify-method.c, src/lib- + sieve/plugins/environment/tst-environment.c, src/lib- + sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.h, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c, src/lib- + sieve/plugins/mailbox/tst-mailboxexists.c, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/regex/mcht-regex.c, src/lib- + sieve/plugins/relational/ext-relational-common.h, src/lib- + sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/relational/mcht-value.c, src/lib- + sieve/plugins/spamvirustest/tst-spamvirustest.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/variables/tst-string.c, src/lib-sieve/sieve-address- + parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve/sieve- + address.c, src/lib-sieve/sieve-address.h, src/lib-sieve/sieve- + code.c, src/lib-sieve/sieve-code.h, src/lib-sieve/sieve-common.h, + src/lib-sieve/sieve-match-types.h, src/lib-sieve/sieve-match.c, src + /lib-sieve/sieve-match.h, src/lib-sieve/sieve-message.c, src/lib- + sieve/sieve-message.h, src/lib-sieve/sieve-stringlist.c, src/lib- + sieve/sieve-stringlist.h, src/lib-sieve/tst-address.c, src/lib-sieve + /tst-exists.c, src/lib-sieve/tst-header.c, src/testsuite/testsuite- + log.c, src/testsuite/testsuite-log.h, src/testsuite/testsuite- + result.c, src/testsuite/testsuite-result.h, src/testsuite/tst-test- + error.c, src/testsuite/tst-test-multiscript.c, src/testsuite/tst- + test-result.c, tests/extensions/envelope.svtest: + Implemented generic string list interface and simplified matching + API. + [daef8bfcb457] + + * src/sieve-tools/sieve-test.c: + Fixed sieve-test not to start in trace mode by default. + [2b626836f00e] + +2010-07-29 Stephan Bosch + + * README, src/lib-sieve/ext-encoded-character.c, src/lib-sieve/ext- + envelope.c, src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext- + reject.c, src/lib-sieve/plugins/body/ext-body.c, src/lib- + sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i-ascii-numeric.c, + src/lib-sieve/plugins/copy/ext-copy.c, src/lib-sieve/plugins/date + /ext-date.c, src/lib-sieve/plugins/enotify/ext-enotify.c, src/lib- + sieve/plugins/environment/ext-environment.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags.c, src/lib- + sieve/plugins/imap4flags/ext-imapflags.c, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/mailbox + /ext-mailbox.c, src/lib-sieve/plugins/notify/ext-notify.c, src/lib- + sieve/plugins/regex/ext-regex.c, src/lib-sieve/plugins/relational + /ext-relational.c, src/lib-sieve/plugins/subaddress/ext- + subaddress.c, src/lib-sieve/plugins/vacation/ext-vacation.c, src + /lib-sieve/plugins/variables/ext-variables.c, src/sieve-tools/debug + /ext-debug.c, src/testsuite/ext-testsuite.c: + Updated extension status information. + [e85d834b69cc] + +2010-07-28 Stephan Bosch + + * src/managesieve-login/managesieve-login-settings-plugin.c: + ManageSieve: fixed deinitialization problem in dump-capability + plugin. + [71710ea4900a] + +2010-07-21 Stephan Bosch + + * src/managesieve-login/managesieve-login-settings-plugin.c: + ManageSieve: fixed dump-capability hang. + [4cb55beaca07] + + * Makefile.am, doc/man/sieve-test.1, src/lib-sieve-tool/sieve-tool.c, + src/lib-sieve-tool/sieve-tool.h, src/lib-sieve/plugins/spamvirustest + /tst-spamvirustest.c, src/lib-sieve/sieve-code.c, src/lib-sieve + /sieve-match.c, src/lib-sieve/sieve-runtime-trace.c, src/lib-sieve + /sieve-runtime-trace.h, src/sieve-tools/sieve-test.c, src/testsuite + /cmd-test-config.c, src/testsuite/cmd-test-mailbox.c, src/testsuite + /cmd-test-message.c, src/testsuite/cmd-test.c, + src/testsuite/testsuite.c, src/testsuite/tst-test-error.c, + src/testsuite/tst-test-multiscript.c, src/testsuite/tst-test-result- + execute.c: + Further developed new runtime trace debugging; test suite is also + now included. + [48af633e3e9f] + +2010-07-20 Stephan Bosch + + * src/lib-sieve/Makefile.am, src/sieve-tools/Makefile.am: + Makefile fix: rhel5 still has too old automake that doesn't define + $builddir. + [01ee63b788c9] + +2010-07-17 Stephan Bosch + + * Makefile.am, configure.in, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/body/Makefile.am, src/lib-sieve/plugins/comparator-i + -ascii-numeric/Makefile.am, src/lib-sieve/plugins/copy/Makefile.am, + src/lib-sieve/plugins/date/Makefile.am, src/lib- + sieve/plugins/enotify/Makefile.am, src/lib- + sieve/plugins/enotify/mailto/Makefile.am, src/lib- + sieve/plugins/environment/Makefile.am, src/lib- + sieve/plugins/imap4flags/Makefile.am, src/lib- + sieve/plugins/include/Makefile.am, src/lib- + sieve/plugins/mailbox/Makefile.am, src/lib- + sieve/plugins/notify/Makefile.am, src/lib- + sieve/plugins/regex/Makefile.am, src/lib- + sieve/plugins/relational/Makefile.am, src/lib- + sieve/plugins/spamvirustest/Makefile.am, src/lib- + sieve/plugins/subaddress/Makefile.am, src/lib- + sieve/plugins/vacation/Makefile.am, src/lib- + sieve/plugins/variables/Makefile.am, src/managesieve- + login/Makefile.am, src/managesieve/Makefile.am, src/plugins/lda- + sieve/Makefile.am, src/sieve-tools/Makefile.am, + src/testsuite/Makefile.am: + First changes towards making `make distcheck' work. + [c37eec591842] + + * TODO, src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-keep.c, src + /lib-sieve/cmd-redirect.c, src/lib-sieve/cmd-stop.c, src/lib-sieve + /ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext- + reject.c, src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve- + code.c, src/lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve- + match.c, src/lib-sieve/sieve-match.h, src/lib-sieve/sieve-runtime- + trace.c, src/lib-sieve/tst-address.c, src/lib-sieve/tst-exists.c, + src/lib-sieve/tst-header.c, src/sieve-tools/sieve-test.c: + Improved runtime trace debugging output for core Sieve language. + [fdec4e5304e2] + +2010-07-16 Stephan Bosch + + * src/lib-sieve/sieve-actions.c: + Adjusted to Dovecot LDA API changes; implicitly fixing segfault + (patch by Timo Sirainen). + [50dc4c2ae28f] + + * m4/dovecot.m4: + Updated dovecot.m4. + [70b5312e9dc5] + + * src/lib-sieve-tool/mail-raw.c, src/managesieve/managesieve- + capabilities.c: + Removed unused code that caused compile failure due to Dovecot API + change. + [29ae07044ec2] + +2010-07-15 Stephan Bosch + + * src/lib-sieve/sieve-comparators.h, src/lib-sieve/sieve-match.c: + Implemented simple runtime trace of string value matching. + [534ed8c1dea2] + +2010-07-14 Stephan Bosch + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/mcht-matches.c, src/lib- + sieve/plugins/body/tst-body.c, src/lib-sieve/plugins/date/tst- + date.c, src/lib-sieve/plugins/enotify/tst-notify-method- + capability.c, src/lib-sieve/plugins/environment/tst-environment.c, + src/lib-sieve/plugins/imap4flags/tst-hasflag.c, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/regex + /mcht-regex.c, src/lib-sieve/plugins/spamvirustest/tst- + spamvirustest.c, src/lib-sieve/plugins/variables/ext-variables- + common.c, src/lib-sieve/plugins/variables/ext-variables-operands.c, + src/lib-sieve/plugins/variables/tst-string.c, src/lib-sieve/sieve- + match-types.c, src/lib-sieve/sieve-match-types.h, src/lib-sieve + /sieve-match.c, src/lib-sieve/sieve-match.h, src/lib-sieve/tst- + address.c, src/lib-sieve/tst-header.c, src/testsuite/tst-test- + error.c, src/testsuite/tst-test-result.c: + Adjusted string matching API tu use runtime environment. + [a688d1de8747] + +2010-07-13 Stephan Bosch + + * doc/rfc/draft-ietf-sieve-managesieve-09.txt, + doc/rfc/managesieve.rfc5804.txt: + Updated ManageSieve specification. + [cec28cc5d4bf] + + * TODO: + Updated TODO list. + [6942c0718e29] + + * src/testsuite/testsuite.c: + Testsuite: inappropriately removed initialization of dummy MAIL + environment. + [1809aab8dfa2] + +2010-07-11 Stephan Bosch + + * doc/man/sieve-filter.1, doc/man/sieve-test.1, doc/man/sievec.1, + doc/man/sieved.1, src/lib-sieve/plugins/include/ext-include- + common.c, src/lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve- + runtime-trace.h, src/lib-sieve/sieve-runtime.h, src/lib-sieve/sieve- + types.h, src/sieve-tools/sieve-test.c, src/testsuite/cmd-test.c, + src/testsuite/testsuite-script.c, src/testsuite/testsuite.c: + Sieve tools: added support for extended trace debugging and updated + man pages. + [843ba8e66e1b] + + * TODO, doc/man/sieve-filter.1, doc/man/sieve-test.1, + doc/man/sievec.1, doc/man/sieved.1: + Updated documentation: Sieve tools are now using Dovecot + configuration by default. + [cdd4c08c2f85] + +2010-07-10 Stephan Bosch + + * src/lib-sieve-tool/sieve-tool.c: + Sieve-tools: use 'mail' as module name in stead of the name of the + command. + [1e66eb33873f] + + * src/lib-sieve-tool/sieve-tool.c: + Sieve-tools: was using wrong mail_user variable for settings + acquisition. + [8df403e24121] + + * src/lib-sieve/sieve-error.c: + Increased initial pool sieve for Sieve logfile and varexpand error + handlers. + [abf797889bd7] + + * src/lib-sieve-tool/mail-raw.c, src/lib-sieve-tool/mail-raw.h, src + /lib-sieve-tool/sieve-tool.c, src/lib-sieve-tool/sieve-tool.h, src + /sieve-tools/sieve-filter.c, src/sieve-tools/sieve-test.c, src + /sieve-tools/sievec.c, src/sieve-tools/sieved.c, src/testsuite + /testsuite-binary.c, src/testsuite/testsuite-common.c, src/testsuite + /testsuite-common.h, src/testsuite/testsuite-mailstore.c, + src/testsuite/testsuite-mailstore.h, src/testsuite/testsuite- + message.c, src/testsuite/testsuite-message.h, src/testsuite + /testsuite-result.c, src/testsuite/testsuite-script.c, src/testsuite + /testsuite-settings.c, src/testsuite/testsuite-settings.h, + src/testsuite/testsuite.c: + Restructured and cleaned up the Sieve tools and the Sieve tool + library. + [714ca8de07fe] + +2010-07-08 Stephan Bosch + + * tests/execute/errors.svtest: + Testsuite: improved test for fileinto with non-existent mailbox. + [94ff6b42c1bd] + + * src/lib-sieve/plugins/mailbox/tag-mailbox-create.c, src/lib-sieve + /sieve-actions.c, tests/execute/errors.svtest, + tests/execute/errors/fileinto.sieve: + Fixed assertion failure in the keep/fileinto store actions and added + testsuite item. + [703f82bb2b09] + +2010-07-05 Stephan Bosch + + * doc/example-config/conf.d/90-sieve.conf: + Fixed small discrepancy in example configuration. + [e6c049bf72a9] + + * src/managesieve/main.c: + ManageSieve: fixed fd leak caused by DUMP_CAPABILITY execution. + [70fd71816991] + + * INSTALL, doc/example-config/conf.d/20-managesieve.conf: + Updated documentation. + [09937738119e] + +2010-07-04 Stephan Bosch + + * src/sieve-tools/sieve-test.c, src/sieve-tools/sievec.c, src/sieve- + tools/sieved.c: + Sieve-tools: removed KEEP_CONFIG_OPEN service flag. + [3d8122dcd985] + + * src/managesieve/managesieve-capabilities.c: + Fixed compiler warning caused by previous change. + [076024ff7430] + +2010-07-03 Stephan Bosch + + * src/lib-sieve/sieve-extensions.c, src/managesieve/managesieve- + capabilities.c, src/managesieve/managesieve-client.c, src/plugins + /lda-sieve/lda-sieve-plugin.c: + Moved parsing of sieve_extensions setting to sieve engine + initialization. + [2ab267d4c8b5] + + * src/sieve-tools/sievec.c, src/sieve-tools/sieved.c: + Fixed compiler warnings in previous change. + [e59182cb2798] + + * src/lib-sieve-tool/sieve-tool.c, src/lib-sieve-tool/sieve-tool.h, + src/lib-sieve/sieve-script.c, src/sieve-tools/sieve-test.c, src + /sieve-tools/sievec.c, src/sieve-tools/sieved.c, + src/testsuite/testsuite.c: + Sieve-Tools: fully use Dovecot service and settings API. + [a3f9c77e220a] + + * TODO: + Updated TODO list. + [9b9f2cd44aca] + + * src/managesieve-login/client.c, src/managesieve-login/managesieve- + login-settings.c: + ManageSieve: reactivated reporting of NOTIFY capability. + [38306def24f0] + + * src/managesieve-login/managesieve-login-settings-plugin.c: + ManageSieve: removed service/managesieve-login from dynamically + assinged settings. + [4726ae261b28] + + * src/managesieve-login/managesieve-login-settings-plugin.c: + ManageSieve: added -k to dump capability invocation of managesieve + binary. + [521e85ca723f] + + * src/managesieve-login/managesieve-login-settings-plugin.c: + ManageSieve: check for DUMP_CAPABILITY=1 before executing dump + capability to prevent infinite recursion. + [691d7154fd49] + + * src/managesieve-login/Makefile.am, src/managesieve-login + /managesieve-login-settings-plugin.c: + ManageSieve: forgot to include settings in doveconf plugin. + [0ef3f34117ae] + + * src/managesieve-login/managesieve-login-settings-plugin.c: + ManageSieve: doveconf went berserk with last change. + [743bb4214ead] + + * m4/dovecot.m4, src/managesieve-login/Makefile.am, src/managesieve- + login/managesieve-login-settings-plugin.c, src/managesieve-login + /managesieve-login-settings-plugin.h, src/managesieve-login + /managesieve-login-settings.c, src/managesieve-login/managesieve- + login-settings.h: + ManageSieve: enabled dynamic capability inference. + [44ec09203ab4] + +2010-07-01 Stephan Bosch + + * src/managesieve/main.c: + managesieve: Added an assert to client_connected(). + [37b0ecfb4de7] + +2010-06-28 Stephan Bosch + + * TODO: + Updated TODO list. + [1761ee767e52] + +2010-06-26 Stephan Bosch + + * src/managesieve/managesieve-settings.c: + ManageSieve: forgot to change login unix socket name. + [1def8519d775] + + * src/lib-sieve/sieve-actions.c: + Use new LDA deliver save API (patch by Timo Sirainen). + [709c8ca2d50a] + + * src/managesieve-login/managesieve-login-settings.c, src/managesieve + /managesieve-settings.c: + ManageSieve: small patch to service settings. + [9f19795a6a0f] + +2010-06-24 Stephan Bosch + + * src/managesieve-login/client.c: + ManageSieve: forgot to change protocol name to 'sieve' in + login_binary struct. + [57864af3e702] + +2010-06-19 Stephan Bosch + + * src/lib-sieve/plugins/include/cmd-global.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-common.c, src/lib-sieve/plugins/variables/ext- + variables-common.h, src/lib-sieve/plugins/variables/ext-variables- + dump.c, src/lib-sieve/plugins/variables/ext-variables-operands.c, + src/lib-sieve/plugins/variables/sieve-ext-variables.h, src/lib-sieve + /sieve-runtime-trace.h: + Variables extension: added proper trace support. + [1ce19ab1379e] + + * src/lib-sieve/plugins/mailbox/tag-mailbox-create.c, src/lib- + sieve/plugins/mailbox/tst-mailboxexists.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve- + types.h, src/plugins/lda-sieve/lda-sieve-plugin.c, src/sieve-tools + /sieve-filter.c, src/sieve-tools/sieve-test.c, src/testsuite + /testsuite-mailstore.c, src/testsuite/testsuite-mailstore.h, + src/testsuite/testsuite-script.c, src/testsuite/testsuite.c: + Cleaned up mail storage-related code (modified patch by Timo + Sirainen). + [84a0495b9b50] + + * INSTALL, doc/example-config/conf.d/90-sieve.conf: + Updated documentation. + [fb437717ff10] + + * src/lib-sieve/sieve-actions.c: + Fixed error handling of failed mailbox creation (patch by Timo + Sirainen). + [d4509075374d] + + * doc/example-config/conf.d/20-managesieve.conf, src/managesieve-login + /managesieve-login-settings.c, src/managesieve/managesieve- + settings.c: + Changed ManageSieve protocol name to 'sieve'. + [49ef146b2ec1] + +2010-05-30 Stephan Bosch + + * TODO: + Forgot an active TODO item on the list. + [b877a1db00a5] + + * src/managesieve/main.c: + Updated to changes in Dovecot service API. + [1b116b4a4b41] + +2010-05-19 Stephan Bosch + + * src/lib-sieve/plugins/include/ext-include-binary.c: + Include extension: accidentally committed debug printf. + [9f8f1a974501] + + * configure.in: + Explicitly set AC_CONFIG_AUX_DIR to prevent issues when compiling + Pigeonhole in a sub-directory of the Dovecot tree. + [48798f16daaf] + +2010-05-16 Stephan Bosch + + * TODO: + Updated TODO. + [d84aaca546b9] + + * src/lib-sieve/Makefile.am, src/lib-sieve/cmd-discard.c, src/lib- + sieve/cmd-keep.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve/cmd- + stop.c, src/lib-sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, + src/lib-sieve/ext-reject.c, src/lib-sieve/plugins/body/ext-body- + common.c, src/lib-sieve/plugins/body/tst-body.c, src/lib- + sieve/plugins/date/ext-date-common.c, src/lib-sieve/plugins/date + /tst-date.c, src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/tst-notify-method-capability.c, src/lib- + sieve/plugins/enotify/tst-valid-notify-method.c, src/lib- + sieve/plugins/environment/tst-environment.c, src/lib- + sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c, src/lib- + sieve/plugins/include/cmd-global.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/mailbox/tst-mailboxexists.c, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/notify/ext-notify-common.c, src + /lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c, src + /lib-sieve/plugins/spamvirustest/tst-spamvirustest.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-modifiers.h, src/lib-sieve/plugins/variables/ext- + variables-operands.c, src/lib-sieve/plugins/variables/sieve-ext- + variables.h, src/lib-sieve/plugins/variables/tst-string.c, src/lib- + sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h, src/lib-sieve + /sieve-address-parts.c, src/lib-sieve/sieve-address-parts.h, src + /lib-sieve/sieve-code-dumper.c, src/lib-sieve/sieve-code.c, src/lib- + sieve/sieve-code.h, src/lib-sieve/sieve-common.h, src/lib-sieve + /sieve-dump.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /sieve-interpreter.h, src/lib-sieve/sieve-match.c, src/lib-sieve + /sieve-match.h, src/lib-sieve/sieve-runtime-trace.c, src/lib-sieve + /sieve-runtime-trace.h, src/lib-sieve/sieve-runtime.h, src/lib-sieve + /sieve-types.h, src/lib-sieve/sieve.c, src/lib-sieve/tst-address.c, + src/lib-sieve/tst-exists.c, src/lib-sieve/tst-header.c, src/lib- + sieve/tst-size.c, src/sieve-tools/debug/cmd-debug-print.c, src + /sieve-tools/sieve-test.c, src/testsuite/cmd-test-binary.c, + src/testsuite/cmd-test-config.c, src/testsuite/cmd-test-fail.c, + src/testsuite/cmd-test-mailbox.c, src/testsuite/cmd-test-message.c, + src/testsuite/cmd-test-set.c, src/testsuite/cmd-test.c, + src/testsuite/testsuite-script.c, src/testsuite/testsuite.c, + src/testsuite/tst-test-error.c, src/testsuite/tst-test- + multiscript.c, src/testsuite/tst-test-result-execute.c, + src/testsuite/tst-test-result.c, src/testsuite/tst-test-script- + compile.c, src/testsuite/tst-test-script-run.c: + Restructured and cleaned up trace debugging and optional operand + fetching. + [325c959af6f7] + +2010-05-14 Stephan Bosch + + * doc/man/sieve-test.1, src/lib-sieve-tool/sieve-tool.c, src/lib- + sieve-tool/sieve-tool.h, src/lib-sieve/sieve-common.h, src/lib- + sieve/sieve.c, src/lib-sieve/sieve.h, src/managesieve/managesieve- + capabilities.c, src/managesieve/managesieve-client.c, src/plugins + /lda-sieve/lda-sieve-plugin.c, src/sieve-tools/sieve-filter.c, src + /sieve-tools/sieve-test.c, src/sieve-tools/sievec.c, src/sieve- + tools/sieved.c, src/testsuite/testsuite.c: + Added debug mode to the Sieve engine. + [6c9d1a295517] + + * src/testsuite/testsuite.c: + Testsuite: forgot to add -P plugin parameter to executable. + [8791594d478e] + + * TODO: + Updated TODO. + [8307905ad7e2] + + * src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-keep.c, src/lib-sieve + /cmd-redirect.c, src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext- + reject.c, src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/vacation/cmd-vacation.c, src + /lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h, src/lib-sieve + /sieve-interpreter.c, src/lib-sieve/sieve-interpreter.h: + Made action commands use new lineinfo facility. + [131077b9da32] + + * src/lib-sieve-tool/sieve-tool.c, src/lib-sieve/Makefile.am, src/lib- + sieve/cmd-discard.c, src/lib-sieve/cmd-if.c, src/lib-sieve/cmd- + keep.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve/cmd-stop.c, src + /lib-sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/plugins/body/tst-body.c, src/lib- + sieve/plugins/copy/ext-copy.c, src/lib-sieve/plugins/date/tst- + date.c, src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/tst-notify-method-capability.c, src/lib- + sieve/plugins/enotify/tst-valid-notify-method.c, src/lib- + sieve/plugins/environment/tst-environment.c, src/lib- + sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c, src/lib- + sieve/plugins/include/cmd-global.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/mailbox/tag-mailbox-create.c, src/lib- + sieve/plugins/mailbox/tst-mailboxexists.c, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/spamvirustest/tst- + spamvirustest.c, src/lib-sieve/plugins/vacation/cmd-vacation.c, src + /lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-arguments.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-dump.c, src/lib- + sieve/plugins/variables/ext-variables-modifiers.h, src/lib- + sieve/plugins/variables/ext-variables-namespaces.c, src/lib- + sieve/plugins/variables/ext-variables-namespaces.h, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, src/lib- + sieve/plugins/variables/tst-string.c, src/lib-sieve/sieve-actions.h, + src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve-address- + parts.h, src/lib-sieve/sieve-binary-code.c, src/lib-sieve/sieve- + binary-debug.c, src/lib-sieve/sieve-binary-dumper.c, src/lib-sieve + /sieve-binary-dumper.h, src/lib-sieve/sieve-binary-file.c, src/lib- + sieve/sieve-binary-private.h, src/lib-sieve/sieve-binary.c, src/lib- + sieve/sieve-binary.h, src/lib-sieve/sieve-code-dumper.c, src/lib- + sieve/sieve-code.c, src/lib-sieve/sieve-code.h, src/lib-sieve/sieve- + commands.c, src/lib-sieve/sieve-common.h, src/lib-sieve/sieve- + comparators.c, src/lib-sieve/sieve-comparators.h, src/lib-sieve + /sieve-dump.h, src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve- + generator.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve- + interpreter.h, src/lib-sieve/sieve-match-types.c, src/lib-sieve + /sieve-match-types.h, src/lib-sieve/sieve-match.c, src/lib-sieve + /sieve-objects.c, src/lib-sieve/sieve-objects.h, src/lib- + sieve/sieve.c, src/lib-sieve/sieve.h, src/lib-sieve/tst-address.c, + src/lib-sieve/tst-allof.c, src/lib-sieve/tst-anyof.c, src/lib-sieve + /tst-exists.c, src/lib-sieve/tst-header.c, src/lib-sieve/tst-size.c, + src/lib-sieve/tst-truefalse.c, src/sieve-tools/debug/cmd-debug- + print.c, src/testsuite/cmd-test-binary.c, src/testsuite/cmd-test- + config.c, src/testsuite/cmd-test-fail.c, src/testsuite/cmd-test- + mailbox.c, src/testsuite/cmd-test-message.c, src/testsuite/cmd-test- + result-print.c, src/testsuite/cmd-test-result-reset.c, src/testsuite + /cmd-test-set.c, src/testsuite/cmd-test.c, src/testsuite/testsuite- + common.c, src/testsuite/testsuite-objects.c, src/testsuite + /testsuite-objects.h, src/testsuite/testsuite-substitutions.c, + src/testsuite/tst-test-error.c, src/testsuite/tst-test- + multiscript.c, src/testsuite/tst-test-result-execute.c, + src/testsuite/tst-test-result.c, src/testsuite/tst-test-script- + compile.c, src/testsuite/tst-test-script-run.c: + Restructured binary implementation and added lineinfo debug blocks + to the binary. + [c932b2d80dd8] + + * src/lib-sieve/sieve-lexer.c, src/lib-sieve/sieve-lexer.h, src/lib- + sieve/sieve-parser.c: + Lexer: made sure source code positions are recorded at start of + token. + [5a83e796ec4c] + + * src/lib-sieve/plugins/spamvirustest/ext-spamvirustest.c: + Spamtest/Virustest extensions: forgot to call extension unload + handler. + [a6b803177192] + + * src/lib-sieve/sieve-interpreter.c: + Fixed potential deinitialization problem in interpreter. + [86967c644d98] + + * src/lib-sieve/sieve-generator.c: + Fixed potential memory leak in generator. + [0802941936fc] + + * TODO: + Updated TODO. + [fccd0b381019] + +2010-05-05 Stephan Bosch + + * src/managesieve-login/managesieve-login-settings.c: + ManageSieve: disabled dynamic capability determination for now. + [b8dbef9ec43b] + + * src/managesieve-login/managesieve-login-settings.c, src/managesieve + /managesieve-capabilities.c: + ManageSieve: dump_capability: simplified settings acquisition. + [fbd34455f628] + + * src/managesieve/Makefile.am, src/managesieve/main.c, src/managesieve + /managesieve-capabilities.c, src/managesieve/managesieve- + capabilities.h, src/managesieve/managesieve-client.c: + ManageSieve: implemented user-independent capability dumping + (untested). + [0567bd2a6a38] + + * src/managesieve-login/managesieve-login-settings.c: + ManageSieve: don't use i_fatal() in doveconf plugin. + [3985bfb06084] + + * src/managesieve-login/managesieve-login-settings.c: + ManageSieve: fixed segfault bug in doveconf plugin and fixed + compiler warnings. + [e7b7dbe3797d] + + * src/managesieve-login/Makefile.am, src/managesieve-login + /managesieve-login-settings.c, src/managesieve-login/managesieve- + login-settings.h, src/managesieve/main.c, src/managesieve + /managesieve-client.c, src/managesieve/managesieve-client.h: + ManageSieve: implemented dynamic capability determination at login. + [696c2dd83063] + + * src/managesieve/managesieve-client.c: + ManageSieve: fixed compile error in previous change. + [f37d17b61b8d] + + * src/managesieve/managesieve-client.c: + ManageSieve: forgot to initialize Sieve extensions. + [6dfabcae83f7] + +2010-05-03 Stephan Bosch + + * src/sieve-tools/sieve-test.c, src/sieve-tools/sievec.c, src/sieve- + tools/sieved.c, src/testsuite/testsuite-common.c, src/testsuite + /testsuite-common.h, src/testsuite/testsuite.c: + Made command line tools return proper exit status upon failure. + [861ffb523cb9] + +2010-05-02 Stephan Bosch + + * src/managesieve/main.c, src/managesieve/managesieve-client.c, + src/managesieve/managesieve-client.h, src/managesieve/managesieve- + commands.c: + managesieve: updated to changes in Dovecot (IMAP/POP3). + [d2abac5a80c0] + + * src/lib-sievestorage/sieve-storage-private.h, src/lib-sievestorage + /sieve-storage.c: + sieve-storage: made auto-creation code match implementation of + maildir storage from Dovecot. + [baf75b4123fe] + + * src/managesieve/main.c: + managesieve: changed static IMAP error massage in main.c to + ManageSieve protocol. + [bc59d9d71029] + +2010-04-29 Stephan Bosch + + * src/managesieve/main.c: + Compiler warning fix. + [6dfc81c45f00] + +2010-04-28 Stephan Bosch + + * src/lib-sieve/Makefile.am, src/lib-sieve/sieve-result.c, + src/managesieve/Makefile.am, src/sieve-tools/Makefile.am, + src/testsuite/Makefile.am: + Changed result execution logging to use a var_expand_table created + by liblda to avoid code duplication (patch by Timo Sirainen). + [6885f0782b96] + + * m4/dovecot.m4: + Updated dovecot.m4. + [2e3bbb0fc95c] + + * src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-error.h: + Made var_expand_table argument of sieve_varexpand_ehandler_create + const (patch by Timo Sirainen). + [2cc9c732c1b8] + + * configure.in: + Fix CFLAGS and LIBS defines (patch by Timo Sirainen). + [463a250bcb29] + +2010-04-20 Stephan Bosch + + * tests/address.svtest, tests/comparators/core.svtest, + tests/compile/errors/address-part.sieve, + tests/compile/errors/envelope.sieve, tests/compile/errors/match- + type.sieve, tests/compile/errors/out-address.sieve, + tests/compile/errors/unsupported.sieve, tests/compile/recover + /commands-semicolon.sieve, tests/compile/redirect.sieve, + tests/compile/warnings/invalid-headers.sieve, tests/control- + structures.svtest, tests/deprecated/notify/basic.svtest, + tests/deprecated/notify/denotify.svtest, + tests/deprecated/notify/errors/options.sieve, + tests/deprecated/notify/execute/duplicates.sieve, + tests/deprecated/notify/mailto.svtest, tests/execute/actions.svtest, + tests/execute/actions/fileinto.sieve, + tests/execute/actions/redirect.sieve, + tests/execute/mailstore.svtest, tests/execute/smtp.svtest, + tests/exists.svtest, tests/extensions/body/basic.svtest, + tests/extensions/body/match-values.svtest, + tests/extensions/date/basic.svtest, tests/extensions/date/date- + parts.svtest, tests/extensions/date/zones.svtest, + tests/extensions/enotify/basic.svtest, + tests/extensions/enotify/errors/from-mailto.sieve, + tests/extensions/enotify/errors/options.sieve, + tests/extensions/enotify/errors/uri-mailto.sieve, + tests/extensions/enotify/errors/uri.sieve, + tests/extensions/enotify/execute/duplicates.sieve, + tests/extensions/enotify/mailto.svtest, + tests/extensions/enotify/notify_method_capability.svtest, + tests/extensions/enotify/valid_notify_method.svtest, + tests/extensions/envelope.svtest, + tests/extensions/include/execute.svtest, + tests/extensions/include/included/rfc-ex1-mailing_lists.sieve, + tests/extensions/mailbox/execute.svtest, + tests/extensions/regex/basic.svtest, + tests/extensions/regex/errors/compile.sieve, tests/extensions/regex + /match-values.svtest, tests/extensions/reject/execute.svtest, + tests/extensions/reject/execute/basic.sieve, + tests/extensions/reject/smtp.svtest, + tests/extensions/relational/basic.svtest, + tests/extensions/spamvirustest/spamtest.svtest, + tests/extensions/spamvirustest/spamtestplus.svtest, + tests/extensions/spamvirustest/virustest.svtest, + tests/extensions/subaddress/basic.svtest, + tests/extensions/subaddress/config.svtest, + tests/extensions/subaddress/rfc.svtest, + tests/extensions/vacation/execute/action.sieve, + tests/extensions/vacation/execute/no-handle.sieve, + tests/extensions/vacation/message.svtest, + tests/extensions/vacation/smtp.svtest, + tests/extensions/vacation/utf-8.svtest, + tests/extensions/variables/basic.svtest, + tests/extensions/variables/match.svtest, tests/header.svtest, tests + /match-types/contains.svtest, tests/match-types/is.svtest, tests + /match-types/matches.svtest, tests/multiscript/basic.svtest, + tests/multiscript/conflicts.svtest, tests/multiscript/notify.sieve, + tests/testsuite.svtest: + Testsuite: avoid using existing e-mail addresses and domains in + tests. + [30ccbe37ad21] + +2010-04-19 Stephan Bosch + + * src/lib-sieve/plugins/vacation/cmd-vacation.c, + tests/extensions/vacation/smtp.svtest: + Vacation extension: from address of reply is now by default equal to + whatever known recipient alias matched the headers of the message. + [cb4c3ce31192] + + * Makefile.am: + Removed --install flag from ACLOCAL_AMFLAGS; RHEL uses automake 1.9 + and won't compile. + [d41e45e86988] + +2010-04-14 Stephan Bosch + + * Makefile.am, configure.in, doc/Makefile.am: + Added --with-docs configure option. + [d5eea644235e] + + * .hgignore, Makefile.am, configure.in, m4/dovecot.m4: + Started using dovecot.m4 for linking against Dovecot (patch by Timo + Sirainen). + [6271458836d8] + + * src/lib-sieve-tool/mail-raw.c: + Switched to cleaner way to create a raw storage. + [09342ba10357] + + * src/managesieve-login/client.c: + ManageSieve: adjusted to Dovecot login API change. + [5da9e48f842b] + + * configure.in: + Started using tar-ustar for release packaging to prevent crossing + path length limits. + [a412d4cfc497] + + * configure.in: + Assigned temporary version number to avoid confusion with releases + for Dovecot v1.2. + [93e36dca0a4c] + + * doc/example-config/conf.d/20-managesieve.conf, doc/example- + config/conf.d/90-sieve.conf, doc/example-config/conf.d/Makefile.am, + doc/example-config/conf.d/managesieve.conf, doc/example- + config/conf.d/sieve.conf: + Changed config file names to match Dovecot numeric config file + names. + [9a486cf905dc] + +2010-04-08 Stephan Bosch + + * src/lib-sieve/plugins/mailbox/tst-mailboxexists.c: + Mailbox extension: fixed memory leak in the mailboxexists test. + [ece958a18920] + +2010-04-01 Stephan Bosch + + * src/managesieve/main.c: + ManageSieve: adjusted to changes in service API; added login failure + handler. + [643518d9b274] + +2010-03-28 Stephan Bosch + + * TODO: + Updated TODO list. + [2cb08c188b6a] + + * doc/Makefile.am: + Spamtest and virustest: added documentation to the distribution. + [eeef0ed8bd1f] + + * INSTALL, doc/spamtest-virustest.txt: + Spamtest and virustest extensions: added documentation. + [41b62bd2bb41] + +2010-03-14 Stephan Bosch + + * src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c, + tests/extensions/spamvirustest/spamtest.svtest, + tests/extensions/spamvirustest/spamtestplus.svtest: + Spamtest and virustest extensions: changed setting names. + [9feb6e3b0afa] + + * src/lib-sieve/sieve-extensions.c: + Spamtest and virustest extensions: now not available by default. + [450707294d66] + + * Makefile.am, src/lib-sieve/plugins/spamvirustest/ext-spamvirustest- + common.c, tests/extensions/spamvirustest/errors.svtest, + tests/extensions/spamvirustest/errors/syntax-errors.sieve, + tests/extensions/spamvirustest/spamtest.svtest: + Spamtest and virustest extensions: discarded whitespace at beginning + of regexp and added syntax testsuite tests. + [86bc7ff124c0] + +2010-03-27 Stephan Bosch + + * src/managesieve/managesieve-settings.c: + Changed ManageSieve client limit to match IMAP/POP3. + [fc7bdc3daa36] + +2010-03-08 Stephan Bosch + + * src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.c: + Fixed memset argument mixup in enotify extension. + [940554ef4a55] + +2010-02-28 Stephan Bosch + + * src/managesieve-login/client.c: + Fixed ManageSieve login crash at startup (patch by Timo Sirainen). + [35a382739679] + +2010-02-13 Stephan Bosch + + * src/managesieve-login/managesieve-login-settings.c: + ManageSieve: changed default login user to '' substitution. + [4830b8741bf0] + + * src/lib-sieve-tool/mail-raw.c, src/lib-sieve/plugins/mailbox/tag- + mailbox-create.c, src/lib-sieve/plugins/mailbox/tst-mailboxexists.c, + src/lib-sieve/sieve-actions.c, src/sieve-tools/sieve-filter.c, + src/testsuite/testsuite-mailstore.c: + Adjusted to changes in Dovecot mailbox API. + [b655cf914016] + +2010-02-10 Stephan Bosch + + * configure.in, src/lib-sieve-tool/Makefile.am, src/lib- + sieve/Makefile.am, src/lib-sieve/plugins/enotify/mailto/Makefile.am, + src/managesieve-login/Makefile.am, src/managesieve/Makefile.am, + src/plugins/lda-sieve/Makefile.am, src/sieve-tools/Makefile.am, + src/testsuite/Makefile.am: + Adjusted to changes in dovecot-config (patch by Timo Sirainen). + [790a59e93520] + +2010-02-07 Stephan Bosch + + * src/lib-sieve-tool/mail-raw.c, src/lib-sieve/plugins/mailbox/tag- + mailbox-create.c, src/lib-sieve/plugins/mailbox/tst-mailboxexists.c, + src/lib-sieve/sieve-actions.c, src/testsuite/testsuite-mailstore.c: + Adjusted to change in Dovecot Storage API. + [9a08762faffe] + +2010-01-31 Stephan Bosch + + * configure.in, src/managesieve-login/Makefile.am, + src/managesieve/Makefile.am, src/sieve-tools/Makefile.am, + src/testsuite/Makefile.am: + Let configure automatically infer path to installed Dovecot and + don't rely on installed libtool .la files anymore (patch by Timo + Sirainen). + [7b3db97399de] + + * src/lib-sieve/plugins/notify/ext-notify-common.c: + Deprecated notify extension: fixed compiler warning. + [e6e2fc31b10b] + + * configure.in, src/lib-sieve/plugins/enotify/mailto/Makefile.am, src + /sieve-tools/Makefile.am, src/testsuite/Makefile.am: + Simplified package configuration with respect to linking against + Dovecot (patch by Timo Sirainen). + [9aaa82581b55] + + * src/lib-sieve/sieve-lexer.c, src/lib-sieve/sieve-lexer.h, src/lib- + sieve/sieve-parser.c: + Restructured and optimized lexical scanner. + [9cadd8aa01c8] + +2010-01-28 Stephan Bosch + + * tests/exists.svtest, tests/extensions/body/basic.svtest, + tests/extensions/environment/rfc.svtest, + tests/extensions/include/errors/generic.sieve, + tests/extensions/subaddress/basic.svtest, tests/header.svtest: + Fixed spelling of 'existent' in various testsuite scripts. + [a3d39b596c90] + + * src/managesieve-login/managesieve-login-settings.c: + Fixed copy-paste error in previous change regarding inet_listener. + [b6e0f39906db] + + * doc/example-config/conf.d/managesieve.conf, src/managesieve-login + /managesieve-login-settings.c: + Added default inet_listener for managesieve-login. + [40d005ce4664] + + * INSTALL, doc/example-config/conf.d/managesieve.conf, src + /managesieve-login/client.c, src/managesieve-login/managesieve- + login-settings.c, src/managesieve/main.c, src/managesieve + /managesieve-settings.c: + Reverted ManageSieve protocol name back from 'sieve' to + 'managesieve'. + [24248f4b02d3] + +2010-01-27 Stephan Bosch + + * Makefile.am, tests/deprecated/imapflags/errors.svtest, + tests/deprecated/imapflags/errors/imapflags.sieve, + tests/deprecated/imapflags/execute.svtest, + tests/deprecated/imapflags/execute/flags.sieve, + tests/deprecated/imapflags/execute/mark.sieve, + tests/extensions/imap4flags/errors.svtest, + tests/extensions/imap4flags/errors/imapflags.sieve, + tests/extensions/imap4flags/execute/imapflags.sieve: + Deprecated imapflags extension: added proper tests to the test + suite. + [985f5212b6c6] + + * src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.h, src/lib- + sieve/plugins/imap4flags/ext-imap4flags.c, src/lib- + sieve/plugins/imap4flags/ext-imapflags.c: + Deprecated imapflags extension: fixed implicit assignment of flags. + [c4bc236883d2] + +2010-01-28 Stephan Bosch + + * TODO: + Updated TODO list. + [d37fd9e2563f] + +2010-01-25 Stephan Bosch + + * src/lib-sieve-tool/sieve-tool.h, src/lib-sieve/plugins/notify/ext- + notify-common.h: + Omitted 'extern' in two declarations of global variables in header + files, causing compile failures on certain systems. + [67f7f59671e8] + + * Makefile.am, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/Makefile.am, src/lib-sieve/plugins/spamvirustest/ext- + spamvirustest.c, src/lib-sieve/sieve-extensions.c: + Added spamtest and virustest extensions to the default build. + [37eeae199fd7] + + * Makefile.am, src/lib-sieve/plugins/spamvirustest/ext-spamvirustest- + common.c, src/lib-sieve/plugins/spamvirustest/ext-spamvirustest.c, + tests/extensions/spamvirustest/spamtest.svtest, + tests/extensions/spamvirustest/spamtestplus.svtest, + tests/extensions/spamvirustest/virustest.svtest: + Spamtest and virustest extensions: finished configuration. + [460c476a3fa1] + + * src/lib-sieve/plugins/enotify/cmd-notify.c: + Enotify extension: removed location from action log messages. + [9fcedf3064d6] + + * src/lib-sieve/sieve-settings.c: + Fixed newly introduced compiler warning. + [c220df7fcffb] + +2010-01-24 Stephan Bosch + + * src/lib-sieve/sieve-settings.c, src/lib-sieve/sieve-settings.h: + Added boolean settings parser. + [06b9f7aa9fc9] + + * tests/extensions/relational/comparators.svtest: + Testsuite: added a few more tests for the i;ascii-numeric comparator + (patch by Julian Cowley). + [315435423dce] + +2010-01-23 Stephan Bosch + + * Makefile.am, src/lib-sieve/sieve-parser.c, + tests/compile/recover.svtest, tests/compile/recover/commands- + endblock.sieve, tests/compile/recover/commands-semicolon.sieve, + tests/compile/recover/tests-endcomma.sieve: + Fixed bugs in parser recovery and added corresponding tests in the + test suite. + [3da0be0bcb4d] + +2010-01-22 Stephan Bosch + + * src/lib-sieve/plugins/enotify/cmd-notify.c, + tests/extensions/enotify/mailto.svtest: + Enotify extension: set default importance to normal as required. + [50c429139d63] + +2010-01-23 Stephan Bosch + + * doc/man/sieve-filter.1, doc/man/sieve-test.1, doc/man/sievec.1, + doc/man/sieved.1: + Fixed '-' in man pages. + [e7236b82d938] + +2010-01-19 Stephan Bosch + + * Makefile.am, src/lib-sieve/plugins/comparator-i-ascii-numeric/ext- + cmp-i-ascii-numeric.c, + tests/extensions/relational/comparators.svtest: + Fixed small bug in the i;ascii-numeric comparator and added + extensive relational tests to the testsuite. + [fa4c1c24aced] + + * src/lib-sieve/sieve-message.c: + Fixed spelling mistake in error messages. + [123d03cd8fe1] + + * src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve-address.c, + tests/extensions/envelope.svtest: + Envelope paths with only a mailbox part are now allowed. + [53f32fc7d9d8] + +2010-01-18 Stephan Bosch + + * TODO: + Added TODO list item. + [117ea52ea36f] + + * src/lib-sieve/sieve-plugins.c: + Fixed small bug in plugin support. + [9c0d8c182a69] + +2010-01-15 Stephan Bosch + + * src/lib-sieve/sieve-binary.c: + Slightly improved error messages during binary save. + [be2e80ce35b8] + + * src/lib-sieve/sieve-error-private.h, src/lib-sieve/sieve-error.c: + Error handling: now only the topmost parent error handler will copy + to the master log. + [175dc1553ced] + + * src/lib-sieve/sieve-error.c: + Fixed compile problem in previous change. + [feb84a163026] + + * src/lib-sieve/sieve-error-private.h, src/lib-sieve/sieve-error.c: + Made child error handlers inherit master_log status from parent. + [7888438a2fe7] + +2010-01-14 Stephan Bosch + + * src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-result.c: + Fixed bug in the logging of action results. The new varexpand error + handler was not properly tested. + [079c69045afc] + +2010-01-13 Stephan Bosch + + * .hgignore, AUTHORS, INSTALL, Makefile.am, NEWS, README, TODO, + configure.in, doc/example-config/conf.d/Makefile.am, doc/example- + config/conf.d/managesieve.conf, doc/man/sieve-filter.1, doc/man + /sieve-test.1, doc/man/sievec.1, doc/man/sieved.1, doc/rfc/draft- + ietf-sieve-managesieve-09.txt, dsieve-config.h.in, pigeonhole- + config.h.in, src/Makefile.am, src/lib-managesieve/Makefile.am, src + /lib-managesieve/managesieve-parser.c, src/lib-managesieve + /managesieve-parser.h, src/lib-managesieve/managesieve-quote.c, src + /lib-managesieve/managesieve-quote.h, src/lib-sieve- + tool/Makefile.am, src/lib-sieve/plugins/environment/ext-environment- + common.c, src/lib-sieve/sieve-config.h, src/lib-sieve/sieve- + plugins.c, src/lib-sievestorage/Makefile.am, src/lib-sievestorage + /sieve-storage-error.h, src/lib-sievestorage/sieve-storage-list.c, + src/lib-sievestorage/sieve-storage-list.h, src/lib-sievestorage + /sieve-storage-private.h, src/lib-sievestorage/sieve-storage- + quota.c, src/lib-sievestorage/sieve-storage-quota.h, src/lib- + sievestorage/sieve-storage-save.c, src/lib-sievestorage/sieve- + storage-save.h, src/lib-sievestorage/sieve-storage-script.c, src + /lib-sievestorage/sieve-storage-script.h, src/lib-sievestorage + /sieve-storage.c, src/lib-sievestorage/sieve-storage.h, src + /managesieve-login/Makefile.am, src/managesieve-login/client- + authenticate.c, src/managesieve-login/client-authenticate.h, src + /managesieve-login/client.c, src/managesieve-login/client.h, src + /managesieve-login/managesieve-login-settings.c, src/managesieve- + login/managesieve-login-settings.h, src/managesieve-login + /managesieve-proxy.c, src/managesieve-login/managesieve-proxy.h, + src/managesieve/Makefile.am, src/managesieve/cmd-capability.c, + src/managesieve/cmd-deletescript.c, src/managesieve/cmd-getscript.c, + src/managesieve/cmd-havespace.c, src/managesieve/cmd-listscripts.c, + src/managesieve/cmd-logout.c, src/managesieve/cmd-noop.c, + src/managesieve/cmd-putscript.c, src/managesieve/cmd-renamescript.c, + src/managesieve/cmd-setactive.c, src/managesieve/main.c, + src/managesieve/managesieve-client.c, src/managesieve/managesieve- + client.h, src/managesieve/managesieve-commands.c, src/managesieve + /managesieve-commands.h, src/managesieve/managesieve-common.h, + src/managesieve/managesieve-quota.c, src/managesieve/managesieve- + quota.h, src/managesieve/managesieve-settings.c, src/managesieve + /managesieve-settings.h, src/sieve-tools/Makefile.am, + src/testsuite/Makefile.am, + tests/extensions/environment/basic.svtest: + Merged Sieve and ManageSieve for Dovecot v2.0 into one Pigeonhole + package. + [a80a49e6756e] + + * src/lib-sieve/sieve-extensions.c: + Fixed off-by-one bug in extension reloading. + [5c7281bf5556] + + * src/lib-sieve/sieve-extensions.c: + Improved extension unloading. + [ffeb38617181] + + * src/lib-sieve/sieve-extensions.c: + Fixed segfault bug caused by previous change, occuring when a plugin + is unloaded. + [9cb00cb9fbfb] + + * src/lib-sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify.c, src/lib-sieve/plugins/enotify + /sieve-ext-enotify.h, src/lib-sieve/sieve-extensions.c, src/lib- + sieve/sieve-extensions.h, src/lib-sieve/sieve-plugins.c, src/lib- + sieve/sieve.c: + Improved various aspects of the plugin-related extension API. + [a1ebe12c6986] + +2010-01-12 Stephan Bosch + + * Makefile.am: + Forgot to add dsieve-config.h to installed headers. + [f5509b2c9ca6] + + * src/lib-sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-arguments.c, src/lib-sieve/plugins/variables/ext- + variables-common.c, src/lib-sieve/plugins/variables/ext-variables- + limits.h, src/lib-sieve/plugins/variables/ext-variables-name.c, src + /lib-sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h: + Variables extension: removed public dependency on ext-variables- + limits.h. + [04df84baf174] + +2010-01-11 Stephan Bosch + + * src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib-sieve/sieve- + result.c: + Fixed a few memleaks caused by previous changes in error handling. + [e584c69c99a6] + +2010-01-10 Stephan Bosch + + * src/lib-sieve/plugins/enotify/mailto/uri-mailto.c: + Enotify extension: mailto method: fixed small uri validation glitch. + [445d46c7aa8c] + + * src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/mailto/ntfy-mailto.c, src/lib- + sieve/plugins/enotify/sieve-ext-enotify.h: + Enotify extension: cleaned up notify method API (part is in previous + change). + [4f2cb8c56d10] + +2010-01-12 Stephan Bosch + + * configure.in, src/lib-sieve/plugins/enotify/Makefile.am, src/lib- + sieve/plugins/enotify/cmd-notify.c, src/lib-sieve/plugins/enotify + /ext-enotify-common.c, src/lib-sieve/plugins/enotify/ext-enotify- + common.h, src/lib-sieve/plugins/enotify/ext-enotify.c, src/lib- + sieve/plugins/enotify/mailto/Makefile.am, src/lib- + sieve/plugins/enotify/mailto/ntfy-mailto.c, src/lib- + sieve/plugins/enotify/mailto/uri-mailto.c, src/lib- + sieve/plugins/enotify/mailto/uri-mailto.h, src/lib- + sieve/plugins/enotify/sieve-ext-enotify.h, src/lib-sieve/sieve- + actions.h, src/lib-sieve/sieve-error-private.h, src/lib-sieve/sieve- + error.c, src/lib-sieve/sieve-error.h, src/lib-sieve/sieve-result.c, + src/lib-sieve/sieve-result.h: + Reworked error handler implementation and cleaned up enotify + extension implementation. + [72bf8c987ded] + +2010-01-08 Stephan Bosch + + * Makefile.am, src/lib-sieve/plugins/vacation/cmd-vacation.c, + tests/extensions/vacation/utf-8.svtest: + Vacation extension: subject is now only MIME-encoded when it + contains 8bit characters. + [aef14980b503] + + * configure.in: + Fixed compile problems on systems with older autotools installed. + [a3eb0b0b2ddf] + +2010-01-07 Stephan Bosch + + * src/sieve-tools/sieve-filter.c, src/sieve-tools/sieve-test.c: + Sieve-filter: made tool compile with Dovecot v2.0 (not working). + [475cbc92aacd] + + * configure.in, src/lib-sieve-tool/sieve-tool.c, src/lib-sieve-tool + /sieve-tool.h, src/plugins/lda-sieve/Makefile.am, src/sieve-tools + /sieve-filter.c, src/sieve-tools/sieve-test.c, src/sieve- + tools/sievec.c, src/sieve-tools/sieved.c, src/testsuite/testsuite.c: + Plugin support: added -P parameter to all sieve tools and enabled + dict support. + [e3d3d82febe3] + + * src/lib-sieve/sieve.c: + Plugin support: fixed unloading problem. + [7138e5d66a42] + + * src/lib-sieve/plugins/variables/ext-variables-namespaces.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h: + Variables extension: finished namespaces support. + [3cd717577603] + +2010-01-03 Stephan Bosch + + * tests/extensions/spamvirustest/spamtest.svtest: + Spamtest extension: added yesno-type header matching tests to the + testsuite. + [81389f35d988] + + * src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c: + Spamtest extension: fixed small bug in yesno-type spam header + matching. + [cfe04d40b164] + + * src/testsuite/testsuite-settings.c: + Testsuite: fixed panic occuring when unsetting an unknown + configuration setting. + [8384098c7b51] + + * tests/extensions/spamvirustest/spamtest.svtest: + Spamtest extension: added tests for strlen values to the testsuite. + [04194b5a68b7] + + * src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c: + Spamtest extension: fixed bugs in extension unloading and in strlen + value extraction. + [d53b935ef35f] + + * src/testsuite/cmd-test-config.c, src/testsuite/ext-testsuite.c, + src/testsuite/testsuite-common.h, src/testsuite/testsuite- + settings.c, src/testsuite/testsuite-settings.h: + Testsuite: added support for removed settings. + [596dc3b8be61] + + * tests/extensions/spamvirustest/spamtest.svtest: + Spamtest extension: added various value tests to the testsuite. + [f8ed8afd025d] + + * src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c: + Spamtest extension: fixed result when over the maximum score. + [a6bd9a3fd5dc] + + * Makefile.am, src/lib-sieve/plugins/spamvirustest/ext-spamvirustest- + common.c, src/lib-sieve/plugins/spamvirustest/ext-spamvirustest- + common.h, tests/extensions/spamvirustest/spamtest.svtest: + Spamtest extension: further developed configuration loading and + testing. + [dac6ab7cd623] + + * src/testsuite/testsuite-log.c: + Testsuite: enabled warnings in testsuite error handler. + [a26d168e6c9d] + +2010-01-07 Stephan Bosch + + * src/testsuite/testsuite-common.c, src/testsuite/testsuite-common.h, + src/testsuite/testsuite-log.c, src/testsuite/testsuite-log.h, + src/testsuite/testsuite.c: + Testsuite: added command line parameter for copying errors to + stderr. + [c3fff8c8250d] + +2010-01-03 Stephan Bosch + + * Makefile.am, src/lib-sieve/plugins/enotify/ext-enotify.c, src/lib- + sieve/plugins/imap4flags/ext-imapflags.c, src/lib- + sieve/plugins/include/ext-include.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest-common.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib-sieve/sieve- + extensions.c, src/lib-sieve/sieve-extensions.h, + src/testsuite/Makefile.am, src/testsuite/cmd-test-config.c, + src/testsuite/ext-testsuite.c, src/testsuite/testsuite-common.h, + tests/extensions/subaddress/config.svtest: + Testsuite: added support for changing and testing an extension's + configuration. + [6d81b4ee9e0e] + +2010-01-02 Stephan Bosch + + * src/lib-sieve/plugins/body/tst-body.c, src/lib-sieve/plugins/date + /tst-date.c, src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/vacation/cmd-vacation.c, src + /lib-sieve/sieve-validator.c, src/lib-sieve/sieve-validator.h, + src/testsuite/cmd-test-message.c, src/testsuite/tst-test-error.c, + src/testsuite/tst-test-result.c: + Adjusted tag parameter validation API. + [07e60dfc49e4] + + * configure.in, src/lib-sieve-tool/Makefile.am, src/lib- + sieve/Makefile.am, src/lib-sieve/plugins/body/Makefile.am, src/lib- + sieve/plugins/comparator-i-ascii-numeric/Makefile.am, src/lib- + sieve/plugins/copy/Makefile.am, src/lib- + sieve/plugins/date/Makefile.am, src/lib- + sieve/plugins/enotify/Makefile.am, src/lib- + sieve/plugins/environment/Makefile.am, src/lib- + sieve/plugins/imap4flags/Makefile.am, src/lib- + sieve/plugins/include/Makefile.am, src/lib- + sieve/plugins/mailbox/Makefile.am, src/lib- + sieve/plugins/notify/Makefile.am, src/lib- + sieve/plugins/regex/Makefile.am, src/lib- + sieve/plugins/relational/Makefile.am, src/lib- + sieve/plugins/spamvirustest/Makefile.am, src/lib- + sieve/plugins/subaddress/Makefile.am, src/lib- + sieve/plugins/vacation/Makefile.am, src/lib- + sieve/plugins/variables/Makefile.am, src/plugins/lda- + sieve/Makefile.am, src/sieve-tools/Makefile.am, src/sieve- + tools/debug/Makefile.am, src/testsuite/Makefile.am: + Restructured handling of Dovecot includes in makefiles. + [968a695f1a6a] + + * src/lib-sieve/plugins/imap4flags/Makefile.am, src/sieve- + tools/debug/Makefile.am: + Forgot to update two makefiles. + [bae6e37d4164] + + * configure.in: + Set default dovecot directory to ../dovecot-2.0 + [c99995d62181] + + * Makefile.am, configure.in, src/Makefile.am, src/lib-sieve- + tool/Makefile.am, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/body/Makefile.am, src/lib-sieve/plugins/comparator-i + -ascii-numeric/Makefile.am, src/lib-sieve/plugins/copy/Makefile.am, + src/lib-sieve/plugins/date/Makefile.am, src/lib- + sieve/plugins/enotify/Makefile.am, src/lib- + sieve/plugins/environment/Makefile.am, src/lib- + sieve/plugins/include/Makefile.am, src/lib- + sieve/plugins/mailbox/Makefile.am, src/lib- + sieve/plugins/notify/Makefile.am, src/lib- + sieve/plugins/regex/Makefile.am, src/lib- + sieve/plugins/relational/Makefile.am, src/lib- + sieve/plugins/spamvirustest/Makefile.am, src/lib- + sieve/plugins/subaddress/Makefile.am, src/lib- + sieve/plugins/vacation/Makefile.am, src/lib- + sieve/plugins/variables/Makefile.am, src/plugins/lda- + sieve/Makefile.am, src/sieve-tools/Makefile.am, + src/testsuite/Makefile.am: + Added support for fully compiling against installed Dovecot + libraries. + [97df72aa1ed6] + + * src/lib-sieve-tool/mail-raw.c, src/lib-sieve-tool/mail-raw.h, src + /lib-sieve-tool/sieve-tool.c, src/lib-sieve-tool/sieve-tool.h, src + /lib-sieve/cmd-discard.c, src/lib-sieve/cmd-if.c, src/lib-sieve/cmd- + keep.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve/cmd-require.c, + src/lib-sieve/cmd-stop.c, src/lib-sieve/cmp-i-ascii-casemap.c, src + /lib-sieve/cmp-i-octet.c, src/lib-sieve/ext-encoded-character.c, src + /lib-sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/mcht-contains.c, src/lib-sieve + /mcht-is.c, src/lib-sieve/mcht-matches.c, src/lib-sieve/plugins/body + /ext-body-common.c, src/lib-sieve/plugins/body/ext-body-common.h, + src/lib-sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/body + /tst-body.c, src/lib-sieve/plugins/comparator-i-ascii-numeric/ext- + cmp-i-ascii-numeric.c, src/lib-sieve/plugins/copy/ext-copy.c, src + /lib-sieve/plugins/date/ext-date-common.c, src/lib- + sieve/plugins/date/ext-date-common.h, src/lib-sieve/plugins/date + /ext-date.c, src/lib-sieve/plugins/date/tst-date.c, src/lib- + sieve/plugins/enotify/cmd-notify.c, src/lib-sieve/plugins/enotify + /ext-enotify-common.c, src/lib-sieve/plugins/enotify/ext-enotify- + common.h, src/lib-sieve/plugins/enotify/ext-enotify-limits.h, src + /lib-sieve/plugins/enotify/ext-enotify.c, src/lib- + sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve/plugins/enotify + /sieve-ext-enotify.h, src/lib-sieve/plugins/enotify/tst-notify- + method-capability.c, src/lib-sieve/plugins/enotify/tst-valid-notify- + method.c, src/lib-sieve/plugins/enotify/vmodf-encodeurl.c, src/lib- + sieve/plugins/environment/ext-environment-common.c, src/lib- + sieve/plugins/environment/ext-environment-common.h, src/lib- + sieve/plugins/environment/ext-environment.c, src/lib- + sieve/plugins/environment/sieve-ext-environment.h, src/lib- + sieve/plugins/environment/tst-environment.c, src/lib- + sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.h, src/lib- + sieve/plugins/imap4flags/ext-imap4flags.c, src/lib- + sieve/plugins/imap4flags/ext-imapflags.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c, src/lib- + sieve/plugins/include/cmd-global.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include-limits.h, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/mailbox + /ext-mailbox-common.h, src/lib-sieve/plugins/mailbox/ext-mailbox.c, + src/lib-sieve/plugins/mailbox/tag-mailbox-create.c, src/lib- + sieve/plugins/mailbox/tst-mailboxexists.c, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/notify/ext-notify-common.c, src + /lib-sieve/plugins/notify/ext-notify-common.h, src/lib- + sieve/plugins/notify/ext-notify-limits.h, src/lib- + sieve/plugins/notify/ext-notify.c, src/lib-sieve/plugins/regex/ext- + regex-common.c, src/lib-sieve/plugins/regex/ext-regex-common.h, src + /lib-sieve/plugins/regex/ext-regex.c, src/lib-sieve/plugins/regex + /mcht-regex.c, src/lib-sieve/plugins/relational/ext-relational- + common.c, src/lib-sieve/plugins/relational/ext-relational-common.h, + src/lib-sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/relational/mcht-value.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest-common.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest-common.h, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest.c, src/lib- + sieve/plugins/spamvirustest/tst-spamvirustest.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.h, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-arguments.c, src/lib-sieve/plugins/variables/ext- + variables-arguments.h, src/lib-sieve/plugins/variables/ext- + variables-common.c, src/lib-sieve/plugins/variables/ext-variables- + common.h, src/lib-sieve/plugins/variables/ext-variables-dump.c, src + /lib-sieve/plugins/variables/ext-variables-dump.h, src/lib- + sieve/plugins/variables/ext-variables-limits.h, src/lib- + sieve/plugins/variables/ext-variables-modifiers.c, src/lib- + sieve/plugins/variables/ext-variables-modifiers.h, src/lib- + sieve/plugins/variables/ext-variables-name.c, src/lib- + sieve/plugins/variables/ext-variables-name.h, src/lib- + sieve/plugins/variables/ext-variables-namespaces.c, src/lib- + sieve/plugins/variables/ext-variables-namespaces.h, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/ext-variables-operands.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, src/lib- + sieve/plugins/variables/tst-string.c, src/lib-sieve/rfc2822.c, src + /lib-sieve/rfc2822.h, src/lib-sieve/sieve-actions.c, src/lib-sieve + /sieve-actions.h, src/lib-sieve/sieve-address-parts.c, src/lib-sieve + /sieve-address-parts.h, src/lib-sieve/sieve-address.c, src/lib-sieve + /sieve-address.h, src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve- + ast.h, src/lib-sieve/sieve-binary-dumper.c, src/lib-sieve/sieve- + binary-dumper.h, src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve- + binary.h, src/lib-sieve/sieve-code-dumper.c, src/lib-sieve/sieve- + code-dumper.h, src/lib-sieve/sieve-code.c, src/lib-sieve/sieve- + code.h, src/lib-sieve/sieve-commands.c, src/lib-sieve/sieve- + commands.h, src/lib-sieve/sieve-common.h, src/lib-sieve/sieve- + comparators.c, src/lib-sieve/sieve-comparators.h, src/lib-sieve + /sieve-config.h, src/lib-sieve/sieve-dump.h, src/lib-sieve/sieve- + error-private.h, src/lib-sieve/sieve-error.c, src/lib-sieve/sieve- + error.h, src/lib-sieve/sieve-extensions.c, src/lib-sieve/sieve- + extensions.h, src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve- + generator.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve- + interpreter.h, src/lib-sieve/sieve-lexer.c, src/lib-sieve/sieve- + lexer.h, src/lib-sieve/sieve-limits.h, src/lib-sieve/sieve-match- + types.c, src/lib-sieve/sieve-match-types.h, src/lib-sieve/sieve- + match.c, src/lib-sieve/sieve-match.h, src/lib-sieve/sieve-message.c, + src/lib-sieve/sieve-message.h, src/lib-sieve/sieve-objects.c, src + /lib-sieve/sieve-objects.h, src/lib-sieve/sieve-parser.c, src/lib- + sieve/sieve-parser.h, src/lib-sieve/sieve-plugins.c, src/lib-sieve + /sieve-plugins.h, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + result.h, src/lib-sieve/sieve-script-private.h, src/lib-sieve/sieve- + script.c, src/lib-sieve/sieve-script.h, src/lib-sieve/sieve- + settings.c, src/lib-sieve/sieve-settings.h, src/lib-sieve/sieve- + smtp.c, src/lib-sieve/sieve-smtp.h, src/lib-sieve/sieve-types.h, src + /lib-sieve/sieve-validator.c, src/lib-sieve/sieve-validator.h, src + /lib-sieve/sieve.c, src/lib-sieve/sieve.h, src/lib-sieve/tst- + address.c, src/lib-sieve/tst-allof.c, src/lib-sieve/tst-anyof.c, src + /lib-sieve/tst-exists.c, src/lib-sieve/tst-header.c, src/lib-sieve + /tst-not.c, src/lib-sieve/tst-size.c, src/lib-sieve/tst-truefalse.c, + src/plugins/lda-sieve/lda-sieve-log.c, src/plugins/lda-sieve/lda- + sieve-log.h, src/plugins/lda-sieve/lda-sieve-plugin.c, src/plugins + /lda-sieve/lda-sieve-plugin.h, src/sieve-tools/debug/cmd-debug- + print.c, src/sieve-tools/debug/ext-debug-common.h, src/sieve- + tools/debug/ext-debug.c, src/sieve-tools/debug/sieve-ext-debug.h, + src/sieve-tools/sieve-filter.c, src/sieve-tools/sieve-test.c, src + /sieve-tools/sievec.c, src/sieve-tools/sieved.c, src/testsuite/cmd- + test-binary.c, src/testsuite/cmd-test-fail.c, src/testsuite/cmd- + test-mailbox.c, src/testsuite/cmd-test-message.c, src/testsuite/cmd- + test-result-print.c, src/testsuite/cmd-test-result-reset.c, + src/testsuite/cmd-test-set.c, src/testsuite/cmd-test.c, + src/testsuite/ext-testsuite.c, src/testsuite/testsuite-arguments.c, + src/testsuite/testsuite-arguments.h, src/testsuite/testsuite- + binary.c, src/testsuite/testsuite-binary.h, src/testsuite/testsuite- + common.c, src/testsuite/testsuite-common.h, src/testsuite/testsuite- + log.c, src/testsuite/testsuite-log.h, src/testsuite/testsuite- + mailstore.c, src/testsuite/testsuite-mailstore.h, src/testsuite + /testsuite-message.c, src/testsuite/testsuite-message.h, + src/testsuite/testsuite-objects.c, src/testsuite/testsuite- + objects.h, src/testsuite/testsuite-result.c, src/testsuite + /testsuite-result.h, src/testsuite/testsuite-script.c, src/testsuite + /testsuite-script.h, src/testsuite/testsuite-settings.c, + src/testsuite/testsuite-settings.h, src/testsuite/testsuite-smtp.c, + src/testsuite/testsuite-smtp.h, src/testsuite/testsuite- + substitutions.c, src/testsuite/testsuite-substitutions.h, + src/testsuite/testsuite.c, src/testsuite/tst-test-error.c, + src/testsuite/tst-test-multiscript.c, src/testsuite/tst-test-result- + execute.c, src/testsuite/tst-test-result.c, src/testsuite/tst-test- + script-compile.c, src/testsuite/tst-test-script-run.c: + Updated all copyright messages to the new year. + [bd745cd4761b] + +2010-01-01 Stephan Bosch + + * src/lib-sieve/sieve-plugins.c: + Plugin support: removed ability to have duplicate plugins in + different directories. + [3fb7c386f01c] + +2009-12-31 Stephan Bosch + + * README: + Fixed yet another small textual error in the README file. + [8af2f734b1df] + + * README: + Fixed small textual error in the README file. + [8711d4c7f77e] + + * src/lib-sieve/sieve-plugins.c: + Further developed support for Sieve engine plugins. + [6225e0693c48] + + * src/lib-sieve/Makefile.am, src/lib-sieve/sieve-common.h, src/lib- + sieve/sieve-plugins.c, src/lib-sieve/sieve-plugins.h, src/lib- + sieve/sieve.c: + Further developed support for Sieve engine plugins. + [a55b319681bc] + + * configure.in, src/lib-sieve/Makefile.am, src/lib-sieve/sieve.c: + dded preliminary support for plugins. + [6e82259d40e5] + + * src/lib-sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/sieve-ext-enotify.h: + Enotify extension: adjusted notify method registration API. + [49de5457474d] + +2009-12-30 Stephan Bosch + + * tests/extensions/imap4flags/basic.svtest: + Imap4flags extension: added tests to verify removeflag behavior. + [b63b2efa57f8] + + * src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.c: + Imap4flags extension: fixed bug in removeflag: removing a single + flag failed due to off-by-one error. + [1ab0dc9e154d] + + * Makefile.am, tests/extensions/imap4flags/flagstring.svtest: + Imap4flags extension: added tests for flag string management. + [607d8fa023a6] + +2009-12-31 Stephan Bosch + + * README: + Updated README file. + [cc65fb068714] + +2009-12-30 Stephan Bosch + + * TODO, configure.in, doc/rfc/spamvirustest.rfc5235.txt, src/lib- + sieve/Makefile.am, src/lib-sieve/plugins/Makefile.am, src/lib- + sieve/plugins/spamvirustest/Makefile.am, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest-common.c, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest-common.h, src/lib- + sieve/plugins/spamvirustest/ext-spamvirustest.c, src/lib- + sieve/plugins/spamvirustest/tst-spamvirustest.c, src/lib-sieve + /sieve-extensions.c, src/lib-sieve/sieve-extensions.h: + Built basic implementation of the spamtest, spamtestplus and + virustest extensions (unfinished). + [afdd60d29da1] + +2009-12-29 Stephan Bosch + + * src/lib-sieve/sieve-script.c, src/lib-sieve/sieve.c, src/plugins + /lda-sieve/lda-sieve-plugin.c: + Improved EACCES error messages for stat() and lstat() syscalls. + [3dda16391ef9] + + * src/lib-sieve-tool/sieve-tool.c, src/lib-sieve-tool/sieve-tool.h, + src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib-sieve/sieve- + common.h, src/lib-sieve/sieve-settings.c, src/lib-sieve/sieve- + settings.h, src/lib-sieve/sieve-types.h, src/lib-sieve/sieve.c, src + /lib-sieve/sieve.h, src/plugins/lda-sieve/lda-sieve-plugin.c, + src/testsuite/testsuite.c: + Renamed sieve_callbacks to sieve_environment and restructured + settings API. + [482a1ca1cdbe] + + * Makefile.am, src/lib-sieve/plugins/notify/cmd-denotify.c, src/lib- + sieve/plugins/notify/ext-notify-common.h, src/lib- + sieve/plugins/notify/ext-notify.c, src/lib-sieve/sieve-actions.h, + src/lib-sieve/sieve-comparators.h, src/lib-sieve/sieve-result.c, src + /lib-sieve/sieve-result.h, tests/deprecated/notify/denotify.svtest: + Deprecated notify extension: implemented denotify command. + [1f83ea718499] + +2009-12-26 Stephan Bosch + + * src/lib-sieve/sieve-lexer.c, src/lib-sieve/sieve-script.c, src/lib- + sieve/sieve-script.h: + Moved size limit enforcement to script compilation (lexer) in stead + of during opening the stream. + [b75c48ea35ca] + +2009-12-25 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + LDA Sieve plugin: log messages now include the lda session ID; + forgot to set master error handler. + [4772ac2cece0] + + * src/plugins/lda-sieve/Makefile.am, src/plugins/lda-sieve/lda-sieve- + log.c: + Previous commit was broken. + [3310ecdadfb0] + + * src/plugins/lda-sieve/lda-sieve-log.c, src/plugins/lda-sieve/lda- + sieve-log.h, src/plugins/lda-sieve/lda-sieve-plugin.c: + Added LDA session ID to log messages produced by the Sieve plugin. + [73299be49eb6] + + * src/lib-sieve/sieve-script.c: + Fixed compiler warning. + [40998e3c35b0] + +2009-12-23 Stephan Bosch + + * TODO, src/lib-sieve/plugins/include/cmd-global.c, src/lib- + sieve/plugins/include/ext-include-variables.c, + tests/extensions/include/errors.svtest, + tests/extensions/include/errors/variables.sieve, + tests/extensions/include/variables.svtest: + Include extension: global command may now appear anywhere in a + script. + [0a8e99bf2961] + + * src/lib-sieve/plugins/vacation/cmd-vacation.c: + Vacation extension: fixed typo in runtime log message (patch by + Julian Cowley). + [2f10293da220] + + * tests/extensions/include/errors.svtest, + tests/extensions/include/errors/global-namespace.sieve, + tests/extensions/include/errors/scriptname.sieve, + tests/extensions/include/included/variables-included1.sieve, + tests/extensions/include/included/variables-included2.sieve: + Testsuite: added tests for new features of the include extension. + [3a440ffb8d4f] + + * doc/rfc/draft-ietf-sieve-include-01.txt, doc/rfc/draft-ietf-sieve- + include-03.txt: + Updated specification of include extension to latest version. + [7a250e81774a] + + * TODO, src/lib-sieve/plugins/include/cmd-global.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/include/ext-include.c: + Include extension: implemented global variables namespace. + [f1940bd63811] + + * TODO, src/lib-sieve/plugins/variables/Makefile.am, src/lib- + sieve/plugins/variables/ext-variables-arguments.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/ext-variables-modifiers.h, src/lib- + sieve/plugins/variables/ext-variables-name.c, src/lib- + sieve/plugins/variables/ext-variables-name.h, src/lib- + sieve/plugins/variables/ext-variables-namespaces.c, src/lib- + sieve/plugins/variables/ext-variables-namespaces.h, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/ext-variables-operands.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h: + Variables extension: added basic namespace support. + [5f9172865864] + +2009-12-22 Stephan Bosch + + * src/lib-sieve/plugins/variables/ext-variables-name.c, src/lib- + sieve/plugins/variables/ext-variables-name.h: + Variables extension: improved source code comment. + [886d009af9cd] + +2009-12-24 Stephan Bosch + + * src/lib-sieve/sieve-common.h, src/lib-sieve/sieve-limits.h, src/lib- + sieve/sieve-script.c, src/lib-sieve/sieve-settings.c, src/lib-sieve + /sieve-settings.h, src/lib-sieve/sieve.c, src/lib-sieve/sieve.h: + Added configurable script size limit. + [b852a43abfb2] + +2009-12-20 Stephan Bosch + + * TODO, src/lib-sieve/plugins/include/cmd-include.c, src/lib-sieve + /sieve-script.c, src/lib-sieve/sieve-script.h: + Implemented script name checking using the requirements specified in + the ManageSieve draft. + [fd91529796a4] + +2009-12-17 Stephan Bosch + + * src/lib-sieve-tool/mail-raw.c, src/lib-sieve/plugins/mailbox/tag- + mailbox-create.c, src/lib-sieve/sieve-actions.c, src/sieve-tools + /sieve-filter.c, src/testsuite/testsuite-mailstore.c: + Another Dovecot lib-storage API change (patch by Timo Sirainen). + [a10ee4e66274] + +2009-12-13 Stephan Bosch + + * src/lib-sieve/sieve-binary.c: + Adjusted to changes in Dovecot buffer API (patch by Pascal Volk). + [b92e0d85deaa] + +2009-11-19 Stephan Bosch + + * TODO, src/lib-sieve-tool/sieve-tool.c, src/lib-sieve-tool/sieve- + tool.h, src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/sieve-settings.h, src/lib-sieve/sieve-types.h, src/plugins + /lda-sieve/lda-sieve-plugin.c, src/testsuite/testsuite.c: + Made homedir aquisition a callback. + [6f385f0d6741] + + * src/lib-sieve/sieve-settings.c: + A warning is now produced when parsing invalid integer settings. + [fd9079d8ded6] + + * src/lib-sieve/Makefile.am, src/lib-sieve/cmd-redirect.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib-sieve/sieve- + common.h, src/lib-sieve/sieve-limits.c, src/lib-sieve/sieve- + limits.h, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + settings.c, src/lib-sieve/sieve-settings.h, src/lib-sieve/sieve.c: + Made limits on the number of redirects and the number of actions in + general configurable. + [a33fae9ac8a3] + +2009-11-18 Stephan Bosch + + * src/lib-sieve/plugins/include/ext-include-common.c: + Fixed homedir expansion bug in the include extension. + [11b358b6507e] + +2009-11-17 Stephan Bosch + + * src/lib-sieve/plugins/include/ext-include-binary.c, src/lib-sieve + /sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve- + script.c, src/lib-sieve/sieve-script.h: + Made sure that scripts are only recompiled when the script file - or + the symlink pointing to it - is strictly newer. + [2018024b6639] + +2009-11-16 Stephan Bosch + + * src/lib-sieve/plugins/date/tst-date.c: + Fixed comment errors in date extension. + [72a03c9a557f] + +2009-11-11 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + LDA Sieve plugin: small cosmetic changes in the sources. + [d96f51e39780] + + * src/lib-sieve/plugins/subaddress/ext-subaddress.c: + Subaddress extension: now uses Dovecot's recipient_delimiter setting + in stead of its own sieve_subaddress_sep setting. + [309421701bd1] + +2009-11-08 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + (Hopefully) fixed home expansion in LDA Sieve plugin. + [1f96b33485f3] + + * configure.in: + Fixed dovecot doc dir. + [d4c9bd34cf21] + + * src/lib-sieve/sieve-error.c: + Forgot to add sieve_debug after porting logging change from v1.2. + [ba1485e94bd4] + + * configure.in, doc/example-config/conf.d/Makefile.am: + Fixed install location of example config. + [0569cfca9e6f] + + * src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-error.h, + src/lib-sieve/sieve-result.c, src/lib-sieve/sieve-result.h, src/lib- + sieve/sieve-types.h, src/plugins/lda-sieve/lda-sieve-plugin.c: + Made LDA Sieve plugin recognize the deliver_log_format setting. + [9e74d01b9e56] + + * src/lib-sieve/Makefile.am, src/lib-sieve/sieve-error-private.h, src + /lib-sieve/sieve-error.c, src/lib-sieve/sieve-error.h, src/plugins + /lda-sieve/lda-sieve-plugin.c: + Added i_debug support. + [a65b50f4ef24] + + * configure.in: + Fixed a bug in configure.in. + [c75a0752c205] + + * configure.in, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/enotify/Makefile.am, src/lib- + sieve/plugins/environment/Makefile.am, src/lib- + sieve/plugins/variables/Makefile.am, src/sieve-tools/Makefile.am: + Corrected install directories for headers and libraries. + [cbbd5008ecc1] + + * configure.in, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/enotify/Makefile.am, src/lib- + sieve/plugins/environment/Makefile.am, src/lib- + sieve/plugins/variables/Makefile.am, src/plugins/lda- + sieve/Makefile.am, src/sieve-tools/Makefile.am, + src/testsuite/Makefile.am: + Made Sieve library a shared library. + [8e2debe5185e] + +2009-10-31 Stephan Bosch + + * src/lib-sieve/sieve-result.c: + Fixed bug in result printing (untroduced in large rework). + [28433866434a] + + * src/lib-sieve/sieve-extensions.c: + Fixed bug in the extensions configuration (untroduced in large + rework). + [8b0232e6404d] + +2009-11-05 Stephan Bosch + + * src/lib-sieve/ext-fileinto.c, src/lib-sieve/sieve-actions.c, src + /lib-sieve/sieve-actions.h: + Fixed logging of mailbox names. It logged the converted mUTF7 + version in stead of the original UTF8. + [e5f017becc6b] + +2009-10-31 Stephan Bosch + + * src/lib-sieve/sieve.c: + Fixed minor memory leak in the multiscript support. + [8f5103580198] + +2009-11-05 Stephan Bosch + + * src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-types.h, + src/plugins/lda-sieve/lda-sieve-plugin.c, src/sieve-tools/sieve- + test.c: + Adjusted to changes in Dovecot v2.0's LDA duplicate checking API. + [a84e0ae3cca8] + + * src/lib-sieve/plugins/include/ext-include-common.c, + src/testsuite/Makefile.am, src/testsuite/testsuite-script.c, + src/testsuite/testsuite-settings.c, src/testsuite/testsuite- + settings.h, src/testsuite/testsuite.c: + Fixed v2.0-specific settings-related bugs remaining in the port from + v1.2. + [41ddd95c849d] + + * src/lib-sieve-tool/mail-raw.c, src/sieve-tools/sieve-test.c, + src/testsuite/testsuite-mailstore.c: + Adjusted to API changes in Dovecot v2.0. + [8ac91764377e] + + * src/sieve-tools/sieve-test.c, src/testsuite/testsuite.c: + Merged concurrent changes. + [dbad040eed12] + + * src/lib-sieve-tool/sieve-tool.c, src/lib-sieve-tool/sieve-tool.h, + src/lib-sieve/Makefile.am, src/lib-sieve/plugins/include/cmd- + include.c, src/lib-sieve/plugins/include/ext-include-binary.c, src + /lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib-sieve/sieve- + common.h, src/lib-sieve/sieve-settings.c, src/lib-sieve/sieve- + settings.h, src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, + src/plugins/lda-sieve/lda-sieve-plugin.c, src/sieve-tools/sievec.c, + src/testsuite/Makefile.am, src/testsuite/testsuite.c: + Properly implemented settings retrieval API. + [a25366824f5e] + + * src/lib-sieve/plugins/imap4flags/tag-flags.c: + Fixed compiler warning in imap4flags extension. + [124778545f5b] + +2009-11-02 Stephan Bosch + + * src/lib-sieve-tool/sieve-tool.c, src/lib-sieve-tool/sieve-tool.h, + src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-if.c, src/lib-sieve + /cmd-keep.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve/cmd- + require.c, src/lib-sieve/cmd-stop.c, src/lib-sieve/cmp-i-ascii- + casemap.c, src/lib-sieve/cmp-i-octet.c, src/lib-sieve/ext-encoded- + character.c, src/lib-sieve/ext-envelope.c, src/lib-sieve/ext- + fileinto.c, src/lib-sieve/ext-reject.c, src/lib-sieve/mcht- + contains.c, src/lib-sieve/mcht-is.c, src/lib-sieve/mcht-matches.c, + src/lib-sieve/plugins/Makefile.am, src/lib-sieve/plugins/body/ext- + body-common.c, src/lib-sieve/plugins/body/ext-body-common.h, src + /lib-sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/body/tst- + body.c, src/lib-sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i + -ascii-numeric.c, src/lib-sieve/plugins/copy/ext-copy.c, src/lib- + sieve/plugins/date/ext-date-common.c, src/lib-sieve/plugins/date + /ext-date-common.h, src/lib-sieve/plugins/date/ext-date.c, src/lib- + sieve/plugins/date/tst-date.c, src/lib-sieve/plugins/enotify/cmd- + notify.c, src/lib-sieve/plugins/enotify/ext-enotify-common.c, src + /lib-sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ext-enotify.c, src/lib-sieve/plugins/enotify + /sieve-ext-enotify.h, src/lib-sieve/plugins/enotify/tst-notify- + method-capability.c, src/lib-sieve/plugins/enotify/tst-valid-notify- + method.c, src/lib-sieve/plugins/enotify/vmodf-encodeurl.c, src/lib- + sieve/plugins/environment/ext-environment-common.c, src/lib- + sieve/plugins/environment/ext-environment-common.h, src/lib- + sieve/plugins/environment/ext-environment.c, src/lib- + sieve/plugins/environment/sieve-ext-environment.h, src/lib- + sieve/plugins/environment/tst-environment.c, src/lib- + sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.h, src/lib- + sieve/plugins/imap4flags/ext-imap4flags.c, src/lib- + sieve/plugins/imap4flags/ext-imapflags.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c, src/lib- + sieve/plugins/include/cmd-global.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/mailbox + /ext-mailbox-common.h, src/lib-sieve/plugins/mailbox/ext-mailbox.c, + src/lib-sieve/plugins/mailbox/tag-mailbox-create.c, src/lib- + sieve/plugins/mailbox/tst-mailboxexists.c, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/notify/ext-notify-common.c, src + /lib-sieve/plugins/notify/ext-notify-common.h, src/lib- + sieve/plugins/notify/ext-notify.c, src/lib-sieve/plugins/regex/ext- + regex-common.c, src/lib-sieve/plugins/regex/ext-regex-common.h, src + /lib-sieve/plugins/regex/ext-regex.c, src/lib-sieve/plugins/regex + /mcht-regex.c, src/lib-sieve/plugins/relational/ext-relational- + common.c, src/lib-sieve/plugins/relational/ext-relational-common.h, + src/lib-sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/relational/mcht-value.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.h, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-arguments.c, src/lib-sieve/plugins/variables/ext- + variables-arguments.h, src/lib-sieve/plugins/variables/ext- + variables-common.c, src/lib-sieve/plugins/variables/ext-variables- + common.h, src/lib-sieve/plugins/variables/ext-variables-dump.c, src + /lib-sieve/plugins/variables/ext-variables-dump.h, src/lib- + sieve/plugins/variables/ext-variables-modifiers.c, src/lib- + sieve/plugins/variables/ext-variables-modifiers.h, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/ext-variables-operands.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, src/lib- + sieve/plugins/variables/tst-string.c, src/lib-sieve/sieve-actions.c, + src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve-address-parts.c, + src/lib-sieve/sieve-address-parts.h, src/lib-sieve/sieve-ast.c, src + /lib-sieve/sieve-ast.h, src/lib-sieve/sieve-binary-dumper.c, src + /lib-sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib- + sieve/sieve-code-dumper.c, src/lib-sieve/sieve-code-dumper.h, src + /lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h, src/lib-sieve + /sieve-commands.c, src/lib-sieve/sieve-commands.h, src/lib-sieve + /sieve-common.h, src/lib-sieve/sieve-comparators.c, src/lib-sieve + /sieve-comparators.h, src/lib-sieve/sieve-dump.h, src/lib-sieve + /sieve-extensions.c, src/lib-sieve/sieve-extensions.h, src/lib-sieve + /sieve-generator.c, src/lib-sieve/sieve-generator.h, src/lib-sieve + /sieve-interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib- + sieve/sieve-match-types.c, src/lib-sieve/sieve-match-types.h, src + /lib-sieve/sieve-match.c, src/lib-sieve/sieve-match.h, src/lib-sieve + /sieve-message.c, src/lib-sieve/sieve-message.h, src/lib-sieve + /sieve-objects.c, src/lib-sieve/sieve-objects.h, src/lib-sieve + /sieve-result.c, src/lib-sieve/sieve-result.h, src/lib-sieve/sieve- + script-private.h, src/lib-sieve/sieve-script.c, src/lib-sieve/sieve- + script.h, src/lib-sieve/sieve-types.h, src/lib-sieve/sieve- + validator.c, src/lib-sieve/sieve-validator.h, src/lib-sieve/sieve.c, + src/lib-sieve/sieve.h, src/lib-sieve/tst-address.c, src/lib-sieve + /tst-allof.c, src/lib-sieve/tst-anyof.c, src/lib-sieve/tst-exists.c, + src/lib-sieve/tst-header.c, src/lib-sieve/tst-not.c, src/lib-sieve + /tst-size.c, src/lib-sieve/tst-truefalse.c, src/plugins/lda-sieve + /lda-sieve-plugin.c, src/sieve-tools/debug/cmd-debug-print.c, src + /sieve-tools/debug/ext-debug-common.h, src/sieve-tools/debug/ext- + debug.c, src/sieve-tools/debug/sieve-ext-debug.h, src/sieve-tools + /sieve-filter.c, src/sieve-tools/sieve-test.c, src/sieve- + tools/sievec.c, src/sieve-tools/sieved.c, src/testsuite/cmd-test- + binary.c, src/testsuite/cmd-test-fail.c, src/testsuite/cmd-test- + mailbox.c, src/testsuite/cmd-test-message.c, src/testsuite/cmd-test- + result-print.c, src/testsuite/cmd-test-result-reset.c, src/testsuite + /cmd-test-set.c, src/testsuite/cmd-test.c, src/testsuite/ext- + testsuite.c, src/testsuite/testsuite-arguments.c, src/testsuite + /testsuite-arguments.h, src/testsuite/testsuite-binary.c, + src/testsuite/testsuite-common.c, src/testsuite/testsuite-common.h, + src/testsuite/testsuite-objects.c, src/testsuite/testsuite- + objects.h, src/testsuite/testsuite-result.c, src/testsuite + /testsuite-script.c, src/testsuite/testsuite-substitutions.c, + src/testsuite/testsuite-substitutions.h, src/testsuite/testsuite.c, + src/testsuite/tst-test-error.c, src/testsuite/tst-test- + multiscript.c, src/testsuite/tst-test-result-execute.c, + src/testsuite/tst-test-result.c, src/testsuite/tst-test-script- + compile.c, src/testsuite/tst-test-script-run.c, + tests/compile/errors/typos.sieve, + tests/extensions/environment/basic.svtest, + tests/extensions/imap4flags/multiscript.svtest: + Major rework of extension handling, making sure that no global state + is maintained. + [8e40158c1d31] + +2009-10-28 Stephan Bosch + + * TODO, src/lib-sieve/plugins/enotify/ntfy-mailto.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib-sieve/rfc2822.c, src + /lib-sieve/rfc2822.h, tests/extensions/vacation/utf-8.svtest: + Message headers produced from user-supplied data are now + RFC2047-encoded if necessary for outgoing messages. + [58496c0bc632] + +2009-10-23 Stephan Bosch + + * src/sieve-tools/sieve-test.c, src/testsuite/testsuite.c: + Adjusted to changes in the Dovecot service API. + [5a90dd015649] + +2009-10-22 Stephan Bosch + + * configure.in: + Set Dovecot version to v2.0 in configure.in. + [0336d46d099b] + + * Makefile.am, configure.in, doc/Makefile.am, doc/example- + config/Makefile.am, doc/example-config/conf.d/Makefile.am, doc + /example-config/conf.d/sieve.conf, doc/man/Makefile.am: + Added example configuration. + [5cd305cc30aa] + +2009-10-21 Stephan Bosch + + * src/plugins/lda-sieve/Makefile.am: + Moved Sieve plugin installation from modules/lda to modules. + [f3f739dc4a2c] + +2009-10-20 Stephan Bosch + + * src/lib-sieve/plugins/notify/cmd-notify.c, src/lib- + sieve/plugins/notify/ext-notify-common.c, src/lib- + sieve/plugins/notify/ext-notify-common.h, + tests/deprecated/notify/mailto.svtest: + Notify (deprecated): added support for the $text$ substitution. + [3996cc9c30c3] + + * src/lib-sieve/plugins/notify/cmd-notify.c: + Fixed indentation problems in obsolete notify extension. + [bb15333912d3] + +2009-10-21 Stephan Bosch + + * src/sieve-tools/sieve-test.c, src/testsuite/testsuite.c: + Adjusted to master service changes in the Dovecot API. + [ddee62bdfb20] + + * src/sieve-tools/sieve-test.c, src/testsuite/testsuite.c: + Adjusted to changes in Dovecot Master Service API. + [9cf994bf54e9] + +2009-10-19 Stephan Bosch + + * src/lib-sieve-tool/sieve-tool.c, src/lib-sieve-tool/sieve-tool.h, + src/lib-sieve/sieve-settings.c, src/lib-sieve/sieve-settings.h, src + /lib-sieve/sieve.c, src/lib-sieve/sieve.h, src/plugins/lda-sieve + /lda-sieve-plugin.c, src/sieve-tools/sieve-filter.c, src/sieve-tools + /sieve-test.c, src/sieve-tools/sievec.c, src/sieve-tools/sieved.c, + src/testsuite/Makefile.am, src/testsuite/testsuite-common.c, + src/testsuite/testsuite-script.c, src/testsuite/testsuite- + settings.c, src/testsuite/testsuite-settings.h, + src/testsuite/testsuite.c: + Finished new settings handling, including debugging support. + [f534f336e049] + +2009-10-18 Stephan Bosch + + * src/lib-sieve/Makefile.am, src/lib-sieve/plugins/include/ext- + include-common.c, src/lib-sieve/plugins/subaddress/ext-subaddress.c, + src/lib-sieve/sieve-settings.c, src/lib-sieve/sieve-settings.h, + src/plugins/lda-sieve/lda-sieve-plugin.c, src/testsuite/testsuite- + script.c, src/testsuite/testsuite.c: + Implemented Sieve settings handling (debug not working yet). + [561cb8e1ca43] + + * TODO: + Cleaned up TODO file. + [3e34914de1f5] + + * src/testsuite/cmd-test-message.c, src/testsuite/testsuite-script.c, + tests/extensions/imap4flags/multiscript.svtest, + tests/extensions/imap4flags/multiscript/fileinto.sieve, + tests/extensions/imap4flags/multiscript/setflag.sieve: + Testsuite: added multiscript flag tests for the imap4flags + extension. + [66f8222dfd5a] + +2009-10-17 Stephan Bosch + + * Makefile.am, TODO, src/testsuite/Makefile.am, src/testsuite/ext- + testsuite.c, src/testsuite/testsuite-common.h, src/testsuite + /testsuite-script.c, src/testsuite/testsuite-script.h, src/testsuite + /tst-test-multiscript.c, + tests/extensions/imap4flags/multiscript.svtest, + tests/extensions/imap4flags/multiscript/group-spam.sieve, + tests/extensions/imap4flags/multiscript/sent-store.sieve, + tests/extensions/imap4flags/multiscript/spam.sieve: + Test suite: added multiscript support and added some new tests with + the new feature. + [7b3d4754abcc] + + * TODO: + Updated TODO. + [a7e01c7445c9] + + * TODO: + Updated TODO. + [0b56ee19acb1] + + * src/lib-sieve/sieve-binary.c: + Fixed race condition occuring when multiple instances are saving the + same binary (patch by Timo Sirainen). + [dfe314732ead] + +2009-10-11 Stephan Bosch + + * tests/extensions/body/content.svtest: + Test suite: added tests for not yet working body extension features. + [d7aabdc28751] + + * src/lib-sieve/plugins/body/ext-body-common.c: + Body extension: minor code cleanups. + [3d6167a7d84c] + + * src/lib-sieve/plugins/body/ext-body-common.c: + Body extension: fixed minor comment error. + [e27d70b255c0] + + * tests/extensions/body/basic.svtest, + tests/extensions/body/content.svtest: + Test suite: restructured tests for body extension. + [e81ffa9264da] + + * src/lib-sieve/plugins/body/ext-body-common.c: + Body extension: made parsing of content-type header more robust. + [9138267066df] + + * Makefile.am, tests/extensions/body/content.svtest: + Test suite: added tests for basic use of :content with body test. + [bb8baa28bb6f] + +2009-10-10 Stephan Bosch + + * TODO: + Added TODO item. + [bf567b45f67a] + + * Makefile.am, src/lib-sieve/plugins/body/ext-body-common.c, src/lib- + sieve/plugins/body/ext-body-common.h, src/lib-sieve/plugins/body + /tst-body.c, tests/extensions/body/basic.svtest, + tests/extensions/body/raw.svtest: + Body extension: implemented proper handling of the :raw transform. + [01da6cfd93b1] + +2009-10-04 Stephan Bosch + + * Makefile.am, src/lib-sieve/sieve-lexer.c, + tests/compile/warnings.svtest, tests/compile/warnings/eof.sieve: + Made compiler more lenient towars missing CRLF at the end of the + script in a hash comment. + [9329af8dad5c] + +2009-09-02 Stephan Bosch + + * src/lib-sieve/plugins/body/ext-body-common.c: + Body extension: don't give SKIP_BODY_BLOCK flag to message parser, + we want the body! (patch by Timo Sirainen). + [95124cb59789] + + * TODO: + Added TODO item. + [3c71fe53eaff] + + * src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/sieve-result.c, src/lib-sieve/sieve-result.h: + Fixed handling of implicit side effects for multiscript execution. + [eccdf76ce8d9] + + * src/lib-sieve/sieve-result.c: + Fixed bug in multiscript support; subsequent keep actions were not + always merged correctly. + [123aea062d7a] + + * src/sieve-tools/sieve-test.c: + Fixed segfault bug in the sieve-test tool. + [81ba4f73b601] + + * src/lib-sieve/sieve-result.c: + Fixed segfault bug triggered by merging side effects in duplicate + actions. + [6744af5643f7] + +2009-10-13 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Sieve plugin: don't try stat the user's personal script if it is not + specified (NULL). + [1e8f0d9ae784] + + * src/lib-sieve/plugins/mailbox/Makefile.am, src/lib- + sieve/plugins/mailbox/cmd-mailboxexists.c, src/lib- + sieve/plugins/mailbox/tst-mailboxexists.c: + Mailbox extension: mailboxexists source file had wrong name; it is a + test and not a command. + [1360745e7ace] + +2009-08-21 Stephan Bosch + + * src/lib-sieve/plugins/enotify/ext-enotify-common.h: + Enotify: removed spurious extern declaration of notify_extension. + [c8824df81a65] + + * src/lib-sieve/plugins/notify/ext-enotify.c: + Notify (deprecated): removed spurious source file. + [f082db515bea] + + * src/testsuite/testsuite-common.c, src/testsuite/testsuite-script.c: + Fixed compile warnings in test suite. + [7cd4758983a7] + +2009-08-16 Stephan Bosch + + * TODO: + Updated TODO. + [976cbfde079a] + + * Makefile.am, src/testsuite/testsuite-script.c, + src/testsuite/testsuite.c, tests/extensions/include/execute.svtest, + tests/extensions/include/execute/actions-fileinto.sieve, + tests/extensions/include/execute/included/actions-fileinto1.sieve, + tests/extensions/include/execute/included/actions-fileinto2.sieve, + tests/extensions/include/execute/included/actions-fileinto3.sieve: + Testsuite: added action execution test for the include extension + with stored binaries. + [b9686050b894] + + * src/lib-sieve/sieve-script.c: + Made sure script can be compared to NULL. + [e585067c6ac4] + + * src/lib-sieve/sieve-error.c: + Fixed bug in error reporting when binary-related script object is + not set. + [7f34da6f2b66] + + * Makefile.am, src/testsuite/Makefile.am, src/testsuite/cmd-test- + binary.c, src/testsuite/ext-testsuite.c, src/testsuite/testsuite- + binary.c, src/testsuite/testsuite-binary.h, src/testsuite/testsuite- + common.c, src/testsuite/testsuite-common.h, src/testsuite/testsuite- + script.c, src/testsuite/testsuite-script.h, + tests/compile/examples.svtest, tests/execute/examples.svtest: + Testsuite: added support for testing binaries stored on disk. + [a94d61c99995] + +2009-08-15 Stephan Bosch + + * TODO: + Updated TODO list. + [6c364ed63a26] + +2009-10-13 Stephan Bosch + + * README: + Updated documentation. + [f422e31d85cb] + +2009-08-15 Stephan Bosch + + * Makefile.am, tests/extensions/date/basic.svtest, + tests/extensions/date/date-parts.svtest, + tests/extensions/date/zones.svtest: + Testsuite: added tests for the new date extension. + [0183618f55ae] + + * src/lib-sieve/Makefile.am, src/lib-sieve/plugins/Makefile.am, src + /lib-sieve/plugins/date/ext-date.c, src/lib-sieve/sieve- + extensions.c: + Date extension: now included in default compile. + [41025da37acd] + + * src/lib-sieve/plugins/date/tst-date.c: + Date extension: accidentally committed debug printf. + [7e01838b06cf] + + * src/lib-sieve/plugins/date/ext-date-common.c, src/lib- + sieve/plugins/date/tst-date.c: + Date extension: fixed problems in time zone handling. + [7da6a9eef33c] + + * src/testsuite/testsuite-message.c: + Testsuite: added some debug code.\n + [fbae80b8b66c] + + * src/lib-sieve/plugins/date/ext-date-common.c: + Date extension: fixed bug in julian date calculation. + [0029fe51d7a9] + + * src/lib-sieve/plugins/date/ext-date-common.c, src/lib- + sieve/plugins/date/tst-date.c: + Date extension: fixed a few bugs related to date part extraction. + [a5dfbb88b723] + + * src/lib-sieve/plugins/date/tst-date.c: + Date extension: fixed errorhandling of gmtime() call. + [e005234a519d] + + * src/lib-sieve/plugins/date/ext-date-common.c, src/lib- + sieve/plugins/date/tst-date.c: + Date extension: completed implementation. + [f2d889c32235] + + * src/lib-sieve/plugins/date/ext-date-common.c: + Date extension: all simple integer date parts are fixed-length + strings. + [ee926bd18a79] + + * src/lib-sieve/plugins/date/ext-date-common.c, src/lib- + sieve/plugins/date/ext-date-common.h, src/lib-sieve/plugins/date + /tst-date.c: + Date extension: implemented time zone handling. + [aa06078358db] + + * src/lib-sieve/plugins/date/ext-date-common.c: + Date extension: implemented iso8601 date part. + [0fde388cc18f] + + * src/lib-sieve/plugins/date/ext-date-common.c: + Date extension: implemented a few more date parts. + [4069c439b743] + +2009-10-13 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Adjusted to changes in smtp_client API in Dovecot. + [5fdf9c8c4cf7] + +2009-08-12 Stephan Bosch + + * src/sieve-tools/sieve-test.c, src/testsuite/testsuite-mailstore.c: + Fixed segfault occuring when message was stored. Namespace was not + properly initialized. + [1d194d46d6e6] + +2009-08-10 Stephan Bosch + + * Makefile.am: + Fixed distribution of unfinished features. + [c4be905fb1ca] + +2009-08-09 Stephan Bosch + + * src/lib-sieve/plugins/date/Makefile.am, src/lib-sieve/plugins/date + /ext-date-common.c, src/lib-sieve/plugins/date/ext-date-common.h, + src/lib-sieve/plugins/date/ext-date.c, src/lib-sieve/plugins/date + /tst-date.c: + Date extension: built infrastructure for date part testing. + [3cf062f7421c] + +2009-08-07 Stephan Bosch + + * Makefile.am, doc/man/sieve-filter.1: + Sieve-filter: created man-page a design for the command line + options. + [99c6e5552774] + + * src/lib-sieve/plugins/include/ext-include-common.c: + Include: compare execution result to SIEVE_EXEC_OK and not to zero. + [92734daae92b] + + * src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h: + Include: fixed return type of execution function. + [0abea4922a64] + + * src/lib-sieve/plugins/include/ext-include-binary.c: + Fixed erroneous comment in binary implementation. + [bc192f7075c0] + +2009-08-06 Stephan Bosch + + * TODO: + Fixed typo in TODO file. + [68666accff61] + +2009-08-05 Stephan Bosch + + * TODO: + Updated TODO. + [b530973e99bb] + + * configure.in, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/Makefile.am, src/lib-sieve/plugins/date/Makefile.am, + src/lib-sieve/plugins/date/ext-date-common.h, src/lib- + sieve/plugins/date/ext-date.c, src/lib-sieve/plugins/date/tst- + date.c, src/lib-sieve/sieve-extensions.c: + Built skeleton implementation for the date extension (RFC 5260). + [ff5979767175] + + * src/lib-sieve/plugins/body/tst-body.c: + Body: fixed erroneous return code for invalid optional operand. + [fc263abeb9cd] + + * src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib- + sieve/sieve-code.c, src/lib-sieve/sieve-code.h, src/lib-sieve/sieve- + interpreter.c: + Be explicit about signedness of data in binary code representation. + Some architectures, like ARM, differ in this respect. + [8e23a49f9238] + + * src/lib-sieve/plugins/copy/ext-copy.c, src/lib- + sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib-sieve/plugins/mailbox + /ext-mailbox.c, src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve- + code.h: + Side-effect argumennt registrations were not using the + SIEVE_OPT_SIDE_EFFECT constant. + [b69cb367d1f4] + + * src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-common.h: + Removed direct stdint.h includes to prevent portability issues. + [ed25e185cc91] + +2009-08-04 Stephan Bosch + + * TODO: + Reprioritized and reformatted TODO file. + [5cafc38728df] + + * src/lib-sieve/sieve.c: + Fixed segfault bug in the handling of script open failures. + [07919954a0c3] + + * src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-common.c: + Include: further adjusted log and user messages. + [b2ae0e73b3ad] + +2009-08-11 Stephan Bosch + + * src/lib-sieve/plugins/mailbox/cmd-mailboxexists.c: + Mailbox extension: ported mailboxexists test to Dovecot v2.0. + [30f3634e22f5] + +2009-08-04 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + LDA-Sieve plugin: fixed copy-paste mixup between sieve_after and + sieve_before. If only a sieve_after script was active, nothing would + have been executed. Patch by Mike Abbott. + [df5920e13fa1] + + * src/lib-sieve/plugins/include/ext-include-common.c: + Include: fixed bug in /home/stephan substitution in sieve_dir path. + [d4ea5738def6] + + * src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-common.h: + Include: improved error messages for include failures. + [646c4fbef325] + + * src/lib-sieve/plugins/include/cmd-include.c: + Include: removed variables-related FIXME and substituted a permanent + error message. + [b117750b4e93] + +2009-08-03 Stephan Bosch + + * src/testsuite/Makefile.am: + Forgot to add header in Makefile.am for testsuite. + [ad4cbab266f2] + + * src/lib-sieve/plugins/mailbox/Makefile.am: + Fixed automake bug in new maibox extension sources. + [1088760d7651] + +2009-08-02 Stephan Bosch + + * Makefile.am: + Testsuite: made valgrind report all allocated blocks that remain at + program end. + [82c858975b20] + + * src/testsuite/testsuite-common.c: + Testsuite: properly deallocated test name string buffer upon close. + [a0f11e6bccd2] + + * src/lib-sieve/sieve-match.c: + Fixed memory leak in matching code caused by earlier fix. + [9106c93f5b24] + + * src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, src/sieve- + tools/sieved.c: + Made proper API for loading a binary directly. + [d7f89fd75c30] + + * tests/extensions/imap4flags/flagstore.svtest: + Testsuite: added an important test for the imap4flags extension. + [c85574d4ced0] + + * Makefile.am, TODO, tests/extensions/imap4flags/flagstore.svtest: + Imap4flags: added flag storage tests using mailbox loopback. + [533a8be6c698] + + * src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.c, + tests/extensions/imap4flags/basic.svtest: + Imap4flags: now reads initial flags and keywords from supplied mail. + Upon delivery this is empty, which still matches the specification. + [464c81defe94] + + * src/lib-sieve/sieve-result.c, src/lib-sieve/sieve-result.h: + Added access methods for message data en script environment to + result object. + [6b22742e6d02] + + * Makefile.am, TODO, src/testsuite/cmd-test-message.c, src/testsuite + /testsuite-mailstore.c, tests/execute/mailstore.svtest, + tests/extensions/mailbox/execute.svtest: + Testsuite: added support for testing delivered messages by looping + these back as the evaluated message. Added tests for the fileinto + command. + [2f89bf8ee733] + +2009-08-11 Stephan Bosch + + * README: + Updated README. + [6e528619165d] + +2009-08-01 Stephan Bosch + + * TODO, src/lib-sieve/plugins/mailbox/cmd-mailboxexists.c, src/lib- + sieve/plugins/mailbox/ext-mailbox.c: + Updated TODO and added a FIXME to the mailbox extension (no ACL + support yet, but required by RFC). + [f71288aae9af] + + * Makefile.am, tests/extensions/mailbox/execute.svtest: + Testsuite: added tests for the mailbox extension. + [c27af28d66e1] + + * src/lib-sieve/plugins/mailbox/cmd-mailboxexists.c, src/lib- + sieve/plugins/mailbox/ext-mailbox.c: + Mailbox extension: finished implementation. + [050b3f906f84] + + * src/lib-sieve/sieve-lexer.c: + Small code cleanup in the lexer code. + [84154a1d2c0d] + + * doc/man/sieve-test.1, doc/man/sievec.1, doc/man/sieved.1: + Updated man pages. + [b7fda90bf62f] + +2009-07-31 Stephan Bosch + + * src/lib-sieve/sieve-script.c: + Fixed bug in the derivation of the binary path from the script path. + A bare filename would yield a path relative to root. + [a247f98b25a2] + +2009-08-11 Stephan Bosch + + * src/testsuite/Makefile.am, src/testsuite/cmd-test-mailbox.c, + src/testsuite/ext-testsuite.c, src/testsuite/testsuite-common.h, + src/testsuite/testsuite-mailstore.c, src/testsuite/testsuite- + mailstore.h, src/testsuite/testsuite-message.c, src/testsuite + /testsuite-message.h, src/testsuite/testsuite.c, + tests/execute/actions.svtest, + tests/extensions/imap4flags/execute.svtest: + Testsuite: added support for testing mailbox operations. + [b32883ed12a6] + + * src/lib-sieve/sieve-actions.c, src/sieve-tools/sieve-test.c: + Fixed indent problems. + [02f1082c0a7e] + +2009-07-31 Stephan Bosch + + * autogen.sh, configure.in: + Use foreign automake option so it doesn't complain about missing + ChangeLog. + [298da44999c3] + +2009-07-30 Stephan Bosch + + * src/lib-sieve/plugins/regex/mcht-regex.c: + Regex: documented source code a little better. + [45cf26bce98a] + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/plugins/body/tst-body.c, + src/lib-sieve/plugins/enotify/tst-notify-method-capability.c, src + /lib-sieve/plugins/environment/tst-environment.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c, src/lib-sieve/plugins/regex + /mcht-regex.c, src/lib-sieve/plugins/relational/mcht-count.c, src + /lib-sieve/plugins/variables/tst-string.c, src/lib-sieve/sieve- + match.c, src/lib-sieve/sieve-match.h, src/lib-sieve/tst-address.c, + src/lib-sieve/tst-header.c, src/testsuite/tst-test-error.c, + src/testsuite/tst-test-result.c: + Made sieve_match_context use a proper pool in stead of the + datastack. + [40140c6e7a79] + +2009-07-29 Stephan Bosch + + * TODO: + Added TODO item. + [b4720f844d84] + + * src/lib-sieve/plugins/include/ext-include.c: + Include: fixed assertion fail caused by missing initialization (bug + surfaces only for stored binaries). + [bfa00c2ec339] + + * src/lib-sieve/plugins/include/ext-include-common.c: + Include: include error message for failed :global include. + [a045223e4c9c] + +2009-07-27 Stephan Bosch + + * src/sieve-tools/sieve-filter.c: + Sieve-filter: removed unnecessary MAILBOX_TRANSACTION_FLAG_REFRESH + flag for mailbox_transaction_begin(). + [2d34a64e5b28] + + * TODO: + Reprioritized TODO. + [0e3be67b63e7] + +2009-08-07 Stephan Bosch + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/plugins/mailbox/tag- + mailbox-create.c, src/lib-sieve/plugins/notify/cmd-notify.c, src + /lib-sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h: + Fixed compile warnings introduced by porting from v1.2. + [163f0cabc2a5] + + * src/lib-sieve/plugins/mailbox/tag-mailbox-create.c, src/lib-sieve + /sieve-actions.c, src/lib-sieve/sieve-actions.h: + Mailbox extension: implemented the :create tagged argument for the + fileinto command. + [11b04cd5b5e4] + + * src/lib-sieve/sieve-actions.c: + Fixed compile error introduced by porting from v1.2. + [75ab55b2f60b] + + * src/lib-sieve/plugins/imap4flags/tag-flags.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-actions.h: + Sieve-filter: added support for setting flags on message in the + source folder. + [75767922023a] + +2009-07-26 Stephan Bosch + + * src/sieve-tools/sieve-filter.c: + Sieve-filter: corrected and optimized mail filter loop. + [f6a762122cea] + +2009-08-07 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Fixed broken wiki reference in error message. + [5e82f7989d85] + +2009-07-26 Stephan Bosch + + * configure.in, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/mailbox/Makefile.am, src/lib-sieve/plugins/mailbox + /cmd-mailboxexists.c, src/lib-sieve/plugins/mailbox/ext-mailbox- + common.h, src/lib-sieve/plugins/mailbox/ext-mailbox.c, src/lib- + sieve/plugins/mailbox/tag-mailbox-create.c, src/lib-sieve/sieve- + extensions.c: + Implemented skeleton of the mailbox extension. + [4cb205ba920b] + + * src/lib-sieve/plugins/Makefile.am, src/lib-sieve/plugins/notify/cmd- + denotify.c: + Notify (deprecated): fixed compiler warnings. + [4a5bd3fa8eb1] + +2009-07-25 Stephan Bosch + + * src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-types.h, src + /sieve-tools/sieve-filter.c: + Sieve-filter: implemented alternative discard actions. + [d64e3e1f0dfb] + + * src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-types.h, src + /sieve-tools/sieve-filter.c: + Sieve-filter: implemented expunging filtered messages in the source + folder (move). + [eab85b0709d7] + + * src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, src/plugins/lda-sieve + /lda-sieve-plugin.c, src/sieve-tools/sieve-filter.c, src/sieve-tools + /sieve-test.c: + Added means to get keep status from sieve execution through main + Sieve library API. + [18763ec1c15d] + + * src/sieve-tools/sieve-filter.c: + Minor changes to the sieve-filter tool. + [52e869ab259f] + +2009-08-07 Stephan Bosch + + * src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h: + Restructured store action implementation to properly handle an + attempt to store (keep) a message in the folder it originates from. + [626f8092cf3a] + + * src/lib-sieve/plugins/notify/Makefile.am, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/notify/ext-notify-common.c, src + /lib-sieve/plugins/notify/ext-notify-common.h, src/lib- + sieve/plugins/notify/ext-notify.c: + Notify (deprecated): implemented skeleton of the denotify command. + [67f0b852f75b] + +2009-07-24 Stephan Bosch + + * src/lib-sieve/sieve-actions.c: + Fallback to INBOX when storing into a namespace prefix used wrong + storage. + [0dbbaeacd983] + + * src/sieve-tools/sieve-filter.c: + Separated source and destination mail store for sieve-filter tool. + [01df49ad5a37] + +2009-08-07 Stephan Bosch + + * src/lib-sieve/sieve-actions.c: + Showed wrong folder name upon INBOX fallback. + [bda5e7d84075] + + * src/lib-sieve/sieve-actions.c: + Fixed some code indent problems. + [57f0f0849c6d] + + * src/lib-sieve/sieve-actions.c: + Made attempt to store in a namespace prefix fall back into INBOX. + [a7e4da2f3db1] + + * src/lib-sieve/sieve-actions.c: + Fixed logging of folder namespace prefix in store action. + [538268fe747b] + +2009-07-22 Stephan Bosch + + * src/lib-sieve/sieve-validator.c: + Fixed potential segfault argument parameter validation. + [eee3fb8206f3] + +2009-07-21 Stephan Bosch + + * Makefile.am, src/testsuite/testsuite.c, tests/execute/smtp.svtest, + tests/extensions/enotify/mailto.svtest, + tests/extensions/reject/smtp.svtest, + tests/extensions/vacation/smtp.svtest: + Testsuite: added tests on the envelope of outgoing messages produced + by redirect, enotify:mailto, reject and vacation. + [57b4ac2c5bf5] + +2009-08-07 Stephan Bosch + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext-envelope.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/plugins/enotify/cmd-notify.c, src + /lib-sieve/plugins/enotify/ntfy-mailto.c, src/lib- + sieve/plugins/enotify/sieve-ext-enotify.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/notify/cmd-notify.c, src/lib-sieve/plugins/vacation + /cmd-vacation.c, src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve- + address.c, src/lib-sieve/sieve-address.h, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib-sieve + /sieve-message.c, src/lib-sieve/sieve-message.h, src/lib-sieve + /sieve-result.c, src/lib-sieve/sieve-result.h, src/lib- + sieve/sieve.c, src/testsuite/testsuite-common.c, src/testsuite + /testsuite-common.h, src/testsuite/testsuite-log.c, src/testsuite + /testsuite-message.c, src/testsuite/testsuite-message.h, + src/testsuite/testsuite-objects.c, src/testsuite/testsuite-result.c, + src/testsuite/testsuite-smtp.c, src/testsuite/testsuite.c: + Major rework of envelope address handling: a normalized version of + the envelope addresses is maintained in the message context and + message context is now also available during action execution. + [5c71f1efc725] + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c, src/lib- + sieve/plugins/notify/cmd-notify.c, src/lib-sieve/sieve-address.c, + src/sieve-tools/sieve-test.c, src/testsuite/testsuite-smtp.c: + Fixed segfault bug: made sure return_path is never used without + checking for NULL first. + [a677e4546ef5] + + * src/sieve-tools/Makefile.am: + Removed the sieve-filter tool from the default build. Need to + specify --with-unfinished-features to get this tool built. + [85b85ab59d22] + +2009-07-19 Stephan Bosch + + * src/lib-sieve/ext-reject.c, src/lib-sieve/sieve-extensions.c: + Added compilation support for ereject extension. It is unfinished + right now and performs exactly the same action as reject. + [462b8c61c94f] + + * configure.in, dsieve-config.h.in: + Fixed bugs in the autoconf structure regarding enabling/disabling + unfinished features. + [b97b25de4986] + + * doc/rfc/draft-ietf-sieve-refuse-reject-07.txt, doc/rfc/reject- + ereject.rfc5429.txt: + Downloaded RFC for reject and ereject extensions. + [a119cbed868a] + + * src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-error.c, src/lib- + sieve/sieve-script.c: + Improved file manipulation error messages regarding EACCES error. + [f031fa4238b2] + +2009-07-18 Stephan Bosch + + * tests/extensions/subaddress/basic.svtest: + Testsuite: added tests for envelope/address test behavior with non- + existant subaddress :detail part. + [1bb5e0f7b1d2] + + * src/lib-sieve/ext-envelope.c: + Envelope: fixed bug in application of address parts; failure to + obtain the part would cause inappropriate match success (bug + reported by Ron Lee) + [5de3c8a5f6ce] + + * src/lib-sieve/tst-address.c: + Added additional headers to the list of allowed headers for the + address test. + [30414d6746ca] + +2009-07-17 Stephan Bosch + + * src/lib-sieve/plugins/notify/ext-notify.c: + Notify (deprecated): added FIXME notice with missing compatibility + features. + [35e1295ea178] + + * Makefile.am, tests/deprecated/notify/basic.svtest, + tests/deprecated/notify/errors.svtest, + tests/deprecated/notify/errors/options.sieve, + tests/deprecated/notify/execute.svtest, + tests/deprecated/notify/execute/duplicates.sieve, + tests/deprecated/notify/mailto.svtest: + Testsuite: added tests for deprecated notify extension. + [007b35de02fa] + +2009-07-19 Stephan Bosch + + * src/lib-sieve/plugins/notify/cmd-notify.c: + Notify (deprecated): fixed compile error due to inappropriate use of + SMTP API. + [54ad4536841b] + + * src/testsuite/testsuite.c: + Testsuite: added support for specifying the available extensions at + the commandline. + [170d8a31ef86] + +2009-07-17 Stephan Bosch + + * tests/extensions/enotify/errors.svtest, + tests/extensions/enotify/errors/from-mailto.sieve: + Testsuite: Notify: added test with empty :from argument for notify + command. + [f39d6ed684e2] + + * src/lib-sieve/plugins/notify/cmd-notify.c: + Notify (deprecated): fixed segfault bug in the :options argument + validation. + [048e94ca71ba] + + * src/lib-sieve/plugins/notify/cmd-notify.c: + Notify (deprecated): added runtime check for recipient limit. + [e6e16114481a] + + * src/lib-sieve/plugins/notify/cmd-notify.c: + Notify (deprecated): added runtime check for duplicate recipients. + [cd9dec9b167b] + + * src/lib-sieve/plugins/notify/cmd-notify.c: + Notify (deprecated): added support for substitutions in the + notification message. + [fe51d4b64e0c] + + * configure.in, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/Makefile.am, src/lib- + sieve/plugins/enotify/Makefile.am, src/lib-sieve/plugins/enotify + /ext-notify.c, src/lib-sieve/plugins/notify/Makefile.am, src/lib- + sieve/plugins/notify/cmd-denotify.c, src/lib-sieve/plugins/notify + /cmd-notify.c, src/lib-sieve/plugins/notify/ext-enotify.c, src/lib- + sieve/plugins/notify/ext-notify-common.h, src/lib- + sieve/plugins/notify/ext-notify-limits.h, src/lib- + sieve/plugins/notify/ext-notify.c: + Made deprecated notify extension implementation compatible with + cmusieve, except for the denotify command. + [57acd5ea66a6] + +2009-07-08 Stephan Bosch + + * src/lib-sieve/plugins/enotify/Makefile.am, src/lib- + sieve/plugins/enotify/cmd-notify.c, src/lib-sieve/plugins/enotify + /ext-enotify-common.h, src/lib-sieve/plugins/enotify/ext-notify.c, + src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve-ast.h, src/lib-sieve + /sieve-extensions.c: + Added partial support for the depricated notify extension. + [04930ea21dac] + +2009-07-17 Stephan Bosch + + * src/lib-sieve/sieve-validator.c: + Fixed validator extension validation. It validated the first non- + require command before validating the extensions, which produced + useless error messages. + [e3a1aebb10be] + + * src/lib-sieve/cmd-discard.c: + Made discard action log a message to avoid confusion about + disappearing messages. + [d98cf92836c8] + +2009-07-15 Stephan Bosch + + * src/lib-sieve/rfc2822.c, src/lib-sieve/rfc2822.h: + Inappropriately ignored return value from fwrite in outgoing message + construction. + [83eab5d75a77] + +2009-07-14 Stephan Bosch + + * src/lib-sieve/sieve-actions.c: + Adjusted to Dovecot mail API changes. + [e82ff1bbff50] + +2009-07-08 Stephan Bosch + + * src/lib-sieve/plugins/imap4flags/ext-imapflags.c, src/lib-sieve + /sieve-extensions.c: + Apparently, deprecated is spelled with an 'e'. + [e3546070b758] + +2009-07-06 Stephan Bosch + + * src/lib-sieve/sieve-ast.c: + Fixed AIX compile problem provisionally. + [30bc6ea71f99] + +2009-07-05 Stephan Bosch + + * TODO: + Updated TODO. + [50749e3d12de] + + * .hgignore: + Added item to .hgignore. + [d3dd0a905384] + + * doc/man/sieve-test.1, doc/man/sievec.1, doc/man/sieved.1, src/sieve- + tools/sieve-filter.c, src/sieve-tools/sieve-test.c, src/sieve- + tools/sievec.c, src/sieve-tools/sieved.c: + Improved consistency of sieve tool documentation. + [895b26af0ab2] + +2009-07-04 Stephan Bosch + + * src/lib-sieve/sieve-extensions.c: + Enhanced extensions configuration, allowing to specify the enabled + extensions relatively to the default. + [bbaea32e0601] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Sieve plugin: forgot to initialize script execution status. + [367f3a446dbf] + +2009-07-05 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Sieve plugin: fixed logging for execution of default main script + (went to STDERR). + [8f9e8033cdd4] + +2009-06-28 Stephan Bosch + + * src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-error.h: + Added support for CRLF line breaks in strbuf error handler + (ManageSieve fix). + [9c0871a1687b] + +2009-06-21 Stephan Bosch + + * src/lib-sieve-tool/mail-raw.c, src/lib-sieve-tool/mail-raw.h, src + /lib-sieve/sieve-actions.c: + Adjusted to mailbox API changes in Dovecot. + [3ac2e22865a9] + +2009-06-01 Stephan Bosch + + * src/lib-sieve/plugins/body/ext-body-common.c: + Body: fixed potential problems wil NUL characters in body parts. + [71c69a731887] + + * src/lib-sieve/plugins/body/ext-body-common.c: + Body: fixed assert failure caused by ugly code and a change in + dovecot. + [8de1f3d66d4c] + +2009-05-29 Stephan Bosch + + * src/lib-sieve/plugins/body/ext-body-common.c: + Body: fixed part of the assert fail problems (Dovecot change). + [234ac9d21024] + + * src/lib-sieve-tool/mail-raw.c, src/sieve-tools/sieve-test.c: + Adjusted to changes in Dovecot regarding opening a raw stream. + [f8b5f7438fbc] + +2009-05-24 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Started using v2.0 settings interface to get plugin settings. + [c76b3eb2df2e] + +2009-05-23 Stephan Bosch + + * .hgignore, src/lib-sieve-tool/Makefile.am, src/lib-sieve-tool/mail- + raw.c, src/lib-sieve-tool/mail-raw.h, src/lib-sieve-tool/sieve- + tool.c, src/lib-sieve-tool/sieve-tool.h, src/lib-sieve/Makefile.am, + src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve/plugins/vacation + /cmd-vacation.c, src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve- + actions.h, src/lib-sieve/sieve-smtp.c, src/lib-sieve/sieve-smtp.h, + src/lib-sieve/sieve-types.h, src/plugins/lda-sieve/Makefile.am, + src/plugins/lda-sieve/lda-sieve-plugin.c, src/sieve- + tools/Makefile.am, src/sieve-tools/sieve-test.c, src/sieve- + tools/sievec.c, src/sieve-tools/sieved.c, src/testsuite/Makefile.am, + src/testsuite/testsuite-message.c, src/testsuite/testsuite- + message.h, src/testsuite/testsuite-smtp.c, src/testsuite/testsuite- + smtp.h, src/testsuite/testsuite.c: + Migrated Dovecot Sieve to Dovecot v2.0. + [c295779a2903] + +2009-05-18 Stephan Bosch + + * src/lib-sieve/plugins/include/ext-include-common.c: + Fixed compiler warning. + [4c5c04dd182a] + +2009-05-17 Stephan Bosch + + * src/lib-sieve/plugins/include/ext-include-common.c: + Made default of sieve_dir setting match the ManageSieve + implementation. + [334612126bb7] + + * src/lib-sieve/plugins/include/ext-include-common.c: + Fixed indent problems. + [f949723e32ef] + +2009-04-18 Stephan Bosch + + * NEWS, configure.in: + Released v0.1.5 for Dovecot v1.2.rc3. + [61b52e4618e3] + + * src/lib-sieve/sieve-binary.c: + Increased binary version number. + [6f3609b58136] + + * src/lib-sieve/cmd-require.c, src/lib-sieve/sieve-validator.c, src + /lib-sieve/sieve-validator.h, tests/compile/errors.svtest, + tests/compile/errors/require.sieve: + Improved error message for unknown Sieve extension to account for + core commands included as an extension. + [c3736fb49332] + +2009-04-14 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Fixed bug in the Sieve plugin's return value that caused omission of + delivery when no Sieve scripts are present. Bug spotted by Matthijs + Kooijman. + [4c858f06b15f] + +2009-04-13 Stephan Bosch + + * src/lib-sieve/plugins/environment/ext-environment-common.c: + Environment: fixed compiler warning. + [afc482d21847] + + * NEWS: + Updated NEWS file for upcoming v1.2 release. + [f4230bed0845] + + * tests/extensions/environment/rfc.svtest: + Testsuite: forgot to add new testcase file. + [26e1e01da8bb] + +2009-04-12 Stephan Bosch + + * Makefile.am, src/lib-sieve/plugins/environment/ext-environment- + common.c, src/lib-sieve/plugins/environment/tst-environment.c: + Environment: fixed segfault and fixed some rfc deviations. + [831a0a96ea5b] + + * src/lib-sieve/plugins/environment/ext-environment-common.c, src/lib- + sieve/plugins/environment/sieve-ext-environment.h, + src/testsuite/testsuite.c, + tests/extensions/environment/basic.svtest: + Environment: activated host environment item. + [01b2712fd398] + + * Makefile.am, TODO, configure.in, doc/rfc/environment.rfc5183.txt, + src/lib-sieve/Makefile.am, src/lib-sieve/plugins/Makefile.am, src + /lib-sieve/plugins/environment/Makefile.am, src/lib- + sieve/plugins/environment/ext-environment-common.c, src/lib- + sieve/plugins/environment/ext-environment-common.h, src/lib- + sieve/plugins/environment/ext-environment.c, src/lib- + sieve/plugins/environment/sieve-ext-environment.h, src/lib- + sieve/plugins/environment/tst-environment.c, src/lib-sieve/sieve- + extensions.c, tests/extensions/environment/basic.svtest: + Implemented core support for the environment extension. + [9d6ceadb490a] + +2009-04-11 Stephan Bosch + + * Makefile.am, tests/extensions/include/included-global/rfc- + ex1-spam_tests.sieve, tests/extensions/include/included/rfc- + ex1-always_allow.sieve, tests/extensions/include/included/rfc- + ex1-mailing_lists.sieve, tests/extensions/include/included/rfc- + ex1-spam_tests.sieve, tests/extensions/include/included/rfc- + ex2-spam_filter_script.sieve, + tests/extensions/include/included/twice-1.sieve, + tests/extensions/include/included/twice-2.sieve, + tests/extensions/include/rfc-ex1-default.sieve, + tests/extensions/include/rfc-ex2-default.sieve, + tests/extensions/include/rfc.svtest, + tests/extensions/include/twice.svtest: + Include: added various tests to the testsuite. + [ac4fc49c6be1] + + * src/lib-sieve/plugins/include/ext-include-variables.c: + Include: fixed bug in binary save of global variable scope. + [593fe13ac0c9] + +2009-04-10 Stephan Bosch + + * Makefile.am, README, TODO, src/lib-sieve/plugins/include/cmd- + include.c, src/lib-sieve/plugins/include/ext-include-common.c, src + /lib-sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, + tests/extensions/include/included/once-2.sieve, + tests/extensions/include/included/once-3.sieve, + tests/extensions/include/included/once-4.sieve, + tests/extensions/include/once.svtest: + Include: implemented :once modifier for the include command. + [d6e436b78853] + + * src/testsuite/cmd-test.c: + Testsuite: fixed minor result passing problem in test code + generation. + [4c416bcfd49c] + + * src/lib-sieve/plugins/include/ext-include-common.c: + Include: improved runtime script handling. + [2fd8feba11dd] + + * src/lib-sieve/plugins/include/ext-include-common.c: + Include: added runtime check for circular include. + [b21eb653f1dd] + + * src/lib-sieve/plugins/include/ext-include-common.c: + Fixed a few small indent problems. + [e948085b5b67] + + * src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib-sieve/sieve- + binary-dumper.c, tests/extensions/include/included/once-1.sieve, + tests/extensions/include/included/once-2.sieve, + tests/extensions/include/once.svtest: + Include: added skeleton :once modifier. + [08f3b665caee] + + * src/lib-sieve/plugins/include/ext-include-common.c: + Include: fixed bug in sub-sub include. + [f333ecabb7d4] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Fixed warnings in revised plugin code. + [a92742e9a7c1] + + * doc/man/sieve-test.1: + Minor update to the sieve-test manpage + [e400b5a9e182] + + * README, src/lib-sieve/plugins/include/ext-include.c: + Include: updated implementation status. + [3717f4f237d9] + + * doc/rfc/draft-daboo-sieve-include-05.txt, doc/rfc/draft-ietf-sieve- + include-01.txt: + Replaced include specification with latest draft. + [d8f0bdecc0e8] + + * src/lib-sieve/plugins/include/Makefile.am, src/lib- + sieve/plugins/include/cmd-global.c, src/lib-sieve/plugins/include + /cmd-import.c, src/lib-sieve/plugins/include/ext-include-common.c, + src/lib-sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/include/ext-include.c, + tests/extensions/include/errors.svtest, + tests/extensions/include/errors/import-runtime.sieve, + tests/extensions/include/errors/variables-inactive.sieve, + tests/extensions/include/errors/variables.sieve, + tests/extensions/include/included/variables-included1.sieve, + tests/extensions/include/included/variables-included2.sieve, + tests/extensions/include/included/variables-included3.sieve, + tests/extensions/include/variables.svtest: + Include: replaced import/export commands with global command as + specified in latest draft. Import/export are now DEPRICATED. + [6fff255fe757] + + * src/lib-sieve/plugins/subaddress/ext-subaddress.c, src/lib-sieve + /sieve-address-parts.c, tests/address.svtest, + tests/extensions/subaddress/basic.svtest: + Definitively fixed handling group specifications in mailbox lists of + address headers. + [914c3c1f5f8c] + + * doc/man/sieve-test.1: + Fixed minor typo in sieve-test man page. + [b3ad017662d1] + + * TODO: + Updated TODO. + [e89b270850c6] + + * src/lib-sieve/sieve-error-private.h, src/lib-sieve/sieve-error.c, + src/lib-sieve/sieve-result.c, src/lib-sieve/sieve-result.h, src/lib- + sieve/sieve-script.c, src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, + src/plugins/lda-sieve/lda-sieve-plugin.c, src/sieve-tools/sieve- + test.c: + Major rework of the multiscript support for better error handling. + [6dcfb15cf051] + +2009-04-09 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Improved plugin debug message. + [24847d4c5ef8] + +2009-04-08 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Fixed problem of unexecuted before/after global scripts when user + script is missing. + [4d2503564c59] + +2009-04-07 Stephan Bosch + + * src/lib-sieve-tool/sieve-tool.c: + Adjusted to signal handler API changes in Dovecot. + [b7e376b7fb07] + +2009-04-06 Stephan Bosch + + * src/lib-sieve/plugins/subaddress/ext-subaddress.c, src/lib-sieve + /sieve-address-parts.c: + Fixed segfault bug caused by undisclosed-recipients:; when fed to + the subaddress extension. + [ec78123ec073] + +2009-03-21 Stephan Bosch + + * .hgtags: + Added tag 0.1.4 for changeset b7eb19f14fa7 + [38ef3a309167] + + * NEWS, configure.in: + Released v0.1.4 for Dovecot v1.2.beta3. + [b7eb19f14fa7] [0.1.4] + +2009-03-20 Stephan Bosch + + * doc/man/sieve-test.1: + Documented vnd.dovecot.debug in the sieve-test man page. + [3e4cc10a3d89] + + * NEWS: + Updated NEWS file. + [9daef35779e6] + + * src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-error.h, src/sieve- + tools/sieve-filter.c, src/sieve-tools/sieve-test.c, src/sieve- + tools/sievec.c, src/sieve-tools/sieved.c: + Improved error handling and added debug extension to all applicable + Sieve tools. + [ae2f39427f14] + +2009-03-14 Stephan Bosch + + * NEWS, src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-error.h: + Created replaceable error handler for system errors. + [539cfb9b9507] + + * TODO, configure.in, src/sieve-tools/Makefile.am, src/sieve- + tools/debug/Makefile.am, src/sieve-tools/debug/cmd-debug-print.c, + src/sieve-tools/debug/ext-debug-common.h, src/sieve-tools/debug/ext- + debug.c, src/sieve-tools/debug/sieve-ext-debug.h, src/sieve-tools + /sieve-test.c: + Added Dovecot-specific debug extension to the sieve-test tool. + [a74dc7f32b71] + + * TODO, src/sieve-tools/sieve-filter.c: + Sieve-filter: implemented basic filtering. + [8862c90bc395] + +2009-03-05 Stephan Bosch + + * src/sieve-tools/Makefile.am, src/testsuite/Makefile.am: + Removed unnecessary linker flags that break Solaris compilation. + [45c04b2fe529] + +2009-02-24 Stephan Bosch + + * src/lib-sieve/plugins/regex/ext-regex-common.h, src/lib- + sieve/plugins/relational/ext-relational-common.h, src/lib-sieve + /sieve-address-parts.c, src/lib-sieve/sieve-address-parts.h, src + /lib-sieve/sieve-code.h, src/lib-sieve/sieve-match-types.c, src/lib- + sieve/sieve-match-types.h: + Fixed MAC OSX compile problems: forgot extern modifier at various + places. + [ab9a06342d33] + +2009-02-23 Stephan Bosch + + * src/lib-sieve-tool/mail-raw.c: + Fixed issue with opening relative paths as a mail file. + [4d642db0b754] + + * src/lib-sieve-tool/mail-raw.c: + Fixed tmp file name for raw storage used for sieve tools. + [54a07ebb8e1f] + +2009-02-19 Stephan Bosch + + * TODO: + Updated TODO. + [7d45c1fdf9c1] + + * doc/rfc/collation.rfc4790.txt, doc/rfc/i-ascii-numeric.rfc2244.txt: + Removed inappropriate ACAP rfc for i;ascii-numeric comparator and + substituted rfc4790 in stead. + [cebc91cd58e1] + +2009-02-15 Stephan Bosch + + * src/sieve-tools/sieve-filter.c: + Sieve-filter: developed listing messages in a folder a little + further. + [e7dd36461c67] + + * .hgignore, src/sieve-tools/Makefile.am, src/sieve-tools/sieve- + filter.c: + Started work on sieve-filter tool. + [85230557972e] + +2009-02-14 Stephan Bosch + + * TODO, src/lib-sieve/sieve-commands.h, src/lib-sieve/sieve- + validator.c, src/testsuite/cmd-test-message.c, src/testsuite + /testsuite-common.c, src/testsuite/testsuite-common.h, src/testsuite + /testsuite-smtp.c, src/testsuite/testsuite-smtp.h, + tests/extensions/enotify/mailto.svtest: + Testsuite: added a few final important tests for the enotify + extension. + [75b6dac1df2a] + +2009-02-13 Stephan Bosch + + * .hgtags: + Added tag 0.1.3 for changeset 8bdff47ab3f0 + [977e30fa18c2] + + * configure.in: + Released v0.1.3 for Dovecot v1.2.beta1. + [8bdff47ab3f0] [0.1.3] + +2009-02-12 Stephan Bosch + + * TODO: + Added items to the TODO list. + [1c401bb66e52] + + * doc/man/sievec.1: + Minor changes to the sievec man page. + [c8c404ceeb47] + + * src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-script.c, src/lib- + sieve/sieve-script.h: + Saved binary now has at most the same permissions as the script file + itself. + [3bdd01261818] + + * src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-extensions.c: + Fixed bug the code generation of extensions. + [3eb2562e40e8] + + * doc/man/sieved.1, src/sieve-tools/sieved.c: + Added -x parameter to sieved tool. + [c98dafdf1f49] + +2009-02-11 Stephan Bosch + + * src/lib-sieve/sieve-validator.c: + Fixed small bug in the extension validation. + [15dd897287d2] + + * src/lib-sieve/sieve-extensions.c: + Imapflags: marked as depricated and disabled by default. + [95a9bb61d7ca] + + * src/lib-sieve/sieve-validator.c: + Properly implemented verification of loaded extensions after last + require command is validated. + [cbb12efa1f1b] + + * tests/extensions/variables/match.svtest: + Testsuite: added small test for ?* match values. + [2d132b56398a] + + * NEWS: + Updated NEWS file for next release. + [a57d7b6d95a8] + +2009-02-08 Stephan Bosch + + * Makefile.am, tests/extensions/vacation/message.svtest, + tests/extensions/vacation/references.svtest: + Testsuite: added message tests for the vacation extension. + [7a074a0ff5c0] + + * src/lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve- + interpreter.h, src/testsuite/Makefile.am, src/testsuite/cmd-test- + result-reset.c, src/testsuite/ext-testsuite.c, src/testsuite + /testsuite-common.h, src/testsuite/testsuite-result.c, src/testsuite + /testsuite-result.h, src/testsuite/tst-test-script-run.c, + tests/extensions/enotify/mailto.svtest: + Testsuite: added support for resetting the result. + [42b3ec181e64] + + * tests/extensions/enotify/mailto.svtest: + Testsuite: added tests for enotify with multiple recipients. + [c84f556f3115] + + * Makefile.am, TODO, src/lib-sieve/plugins/include/cmd-import.c, src + /lib-sieve/plugins/vacation/cmd-vacation.c, src/lib-sieve/tst- + size.c, src/testsuite/Makefile.am, src/testsuite/cmd-test-message.c, + src/testsuite/ext-testsuite.c, src/testsuite/testsuite-common.h, + src/testsuite/testsuite-message.c, src/testsuite/testsuite- + message.h, src/testsuite/testsuite-objects.c, src/testsuite + /testsuite-result.c, src/testsuite/testsuite-smtp.c, src/testsuite + /testsuite-smtp.h, src/testsuite/tst-test-result-execute.c, + tests/extensions/enotify/mailto.svtest: + Testsuite: added support for looping back outgoing SMTP messages + back into the test. + [3f857d8c403e] + +2009-02-07 Stephan Bosch + + * TODO, src/lib-sieve/cmd-redirect.c, src/lib-sieve/plugins/enotify + /ntfy-mailto.c, src/lib-sieve/plugins/vacation/cmd-vacation.c, src + /lib-sieve/sieve-address.c, src/lib-sieve/sieve-address.h: + Defined very basic function for address comparison. + [e4283ec36db2] + + * src/lib-sieve/sieve-actions.c: + Adjusted store action to API changes in Dovecot. + [d2ed402f1a5f] + +2009-02-06 Stephan Bosch + + * src/lib-sieve/plugins/vacation/cmd-vacation.c, src/lib-sieve/sieve- + address.c, tests/extensions/vacation/execute/action.sieve: + Vacation: made addresses comparison case-insensitive. + [b315fde89b8a] + +2009-02-05 Stephan Bosch + + * README: + Updated documentation. + [cea5c68baa2e] + + * src/lib-sieve/plugins/imap4flags/tag-flags.c, + tests/extensions/imap4flags/execute/imapflags.sieve: + Imap4flags: fixed dumping of \flagged flag in flags side effect. + [a1ad7bbd3ef7] + + * Makefile.am, src/lib-sieve/plugins/imap4flags/Makefile.am, src/lib- + sieve/plugins/imap4flags/ext-imapflags.c, src/lib-sieve/sieve-ast.c, + src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve-extensions.c, src + /lib-sieve/sieve-extensions.h, src/lib-sieve/sieve-validator.c, + src/testsuite/testsuite.c, + tests/extensions/imap4flags/errors.svtest, + tests/extensions/imap4flags/errors/imapflags.sieve, + tests/extensions/imap4flags/execute/imapflags.sieve: + Imap4flags: added support for obsolete imapflags extension for + backwards compatibility with CMUSieve. + [4e58445b4f87] + +2009-02-04 Stephan Bosch + + * src/lib-sieve/sieve-validator.c, src/lib-sieve/sieve-validator.h: + Validator: added support for checking loaded extensions. + [ab9545a27bbf] + + * src/lib-sieve/cmd-require.c, src/lib-sieve/sieve-extensions.c, src + /lib-sieve/sieve-extensions.h, src/lib-sieve/sieve-validator.c, src + /lib-sieve/sieve-validator.h: + Added facilities for requiring extensions and making extensions + mutually exclusive. + [37fc919d3450] + + * Makefile.am, tests/extensions/imap4flags/basic.svtest, + tests/extensions/imap4flags/execute.svtest, + tests/extensions/imap4flags/execute/flags-side-effect.sieve, + tests/extensions/imap4flags/hasflag.svtest, + tests/extensions/imapflags/basic.svtest, + tests/extensions/imapflags/execute.svtest, + tests/extensions/imapflags/execute/flags-side-effect.sieve, + tests/extensions/imapflags/hasflag.svtest: + Imap4flags: gave testsuite directory proper name. + [f0299c1886fe] + + * src/lib-sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.h, src/lib- + sieve/plugins/imap4flags/ext-imap4flags.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c, src/lib-sieve/sieve- + extensions.c: + Imap4flags: properly named extension objects. + [581df7c170d1] + + * src/lib-sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.h, src/lib- + sieve/plugins/imap4flags/ext-imap4flags.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c: + Imap4flags: properly named functions. + [debaa7e5a036] + + * configure.in, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/Makefile.am, src/lib- + sieve/plugins/imap4flags/Makefile.am, src/lib- + sieve/plugins/imap4flags/cmd-flag.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.c, src/lib- + sieve/plugins/imap4flags/ext-imap4flags-common.h, src/lib- + sieve/plugins/imap4flags/ext-imap4flags.c, src/lib- + sieve/plugins/imap4flags/tag-flags.c, src/lib- + sieve/plugins/imap4flags/tst-hasflag.c, src/lib- + sieve/plugins/imapflags/Makefile.am, src/lib-sieve/plugins/imapflags + /cmd-flag.c, src/lib-sieve/plugins/imapflags/ext-imapflags-common.c, + src/lib-sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/imapflags + /tst-hasflag.c: + Imap4flags: properly named extension directory and source files. + [c8d2f78230f9] + +2009-02-03 Stephan Bosch + + * README: + Fixed README: now mentions the naming differences of the imap4flags + and enotify extensions compared to the old CMU Sieve plugin. + [f33ee1af3bdb] + +2009-02-02 Stephan Bosch + + * src/lib-sieve/cmd-redirect.c: + Fixed compile warning caused by missing include. + [c0a84cf64bbd] + +2009-02-01 Stephan Bosch + + * doc/rfc/draft-ietf-sieve-notify-12.txt, doc/rfc/draft-ietf-sieve- + notify-mailto-10.txt, doc/rfc/notify-mailto.rfc5436.txt, + doc/rfc/notify.rfc5435.txt, src/lib-sieve/plugins/enotify/ext- + enotify.c, src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Installed RFC documents for notify extension and corresponding + mailto method. + [b11bd3479721] + + * src/lib-sieve/mcht-matches.c, tests/match-types/matches.svtest: + Cleaned up :matches match-type code. + [ca2edcc58fba] + + * src/lib-sieve/mcht-matches.c, tests/match-types/matches.svtest: + Fixed bug in the :matches match type. + [88cc4bf1c396] + +2009-01-27 Stephan Bosch + + * TODO: + Added important TODO item. + [42e154b8792e] + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/rfc2822.c: + Changed SMTP message generation back to CRLF, because the Sieve + engine uses CRLF internally. + [082216ad12d6] + + * src/lib-sieve/sieve-binary-dumper.c, src/lib-sieve/sieve-code- + dumper.c, src/lib-sieve/sieve-code.c: + Fixed use of data stack by binary dumping code. + [258e357cfbf7] + + * src/lib-sieve/plugins/regex/mcht-regex.c: + Regex: fixed segfault bug occuring when regex is freed. + [6ed559a5f677] + + * src/testsuite/tst-test-script-compile.c: + Testsuite: fixed warning. + [abc7331b2124] + + * src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve-validator.c: + Increased various initial pool sizes. + [cdb4b96e70a8] + +2009-01-26 Stephan Bosch + + * src/lib-sieve/sieve-binary.c: + Increased initial size of binary's lazy_file pool. + [7caaa891d5f4] + + * src/lib-sieve/rfc2822.c: + Fixed error in the SMTP message composition that caused mixing of + CRLF and LF in redirected messages. + [2ae233b6f5ad] + +2009-01-22 Stephan Bosch + + * NEWS: + Updated NEWS file. + [a8e587b0409e] + + * NEWS: + Updated NEWS file. + [b93c8d7802a3] + + * README: + Updated README file. + [171133900f9b] + + * NEWS: + Prepared NEWS file for next release. + [42ef7e546072] + + * INSTALL: + Updated documentation. + [32812e4f4722] + + * Makefile.am, tests/extensions/regex/match-values.svtest: + Testsuite: added simple tests for the match values produced by the + :regex match. + [7a91f98d0be1] + + * src/lib-sieve/plugins/regex/mcht-regex.c: + Regex: fixed bug in the match value indexes. + [de6db6757418] + +2009-01-18 Stephan Bosch + + * doc/rfc/draft-degener-sieve-multiscript-00.txt: + Added multiscript draft to the doc/rfc directory. + [fa223cfeaa35] + + * src/testsuite/Makefile.am, src/testsuite/testsuite-common.c, + src/testsuite/testsuite-common.h, src/testsuite/testsuite-message.c, + src/testsuite/testsuite-smtp.c, src/testsuite/testsuite-smtp.h, + src/testsuite/testsuite.c, src/testsuite/tst-test-script-run.c: + Testsuite: added storage of outgoing SMTP messages. + [3fd7e83720fb] + + * src/testsuite/Makefile.am, src/testsuite/testsuite-common.c, + src/testsuite/testsuite-common.h, src/testsuite/testsuite-message.c, + src/testsuite/testsuite-message.h, src/testsuite/testsuite- + objects.c, src/testsuite/testsuite.c: + Testsuite: exported message handling to separate module. + [b15cfe188d87] + +2009-01-16 Stephan Bosch + + * TODO, src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve/plugins/enotify + /sieve-ext-enotify.h, src/lib-sieve/sieve-result.c, src/lib-sieve + /sieve-result.h: + Enotify: cleaned up method API. + [466e57aedb29] + + * tests/extensions/imapflags/basic.svtest, + tests/extensions/imapflags/hasflag.svtest: + Testsuite: improved testsuite with respect to testing of setflag, + addflag and removeflag commands. + [18b4ee74fc9c] + + * TODO, src/lib-sieve/plugins/imapflags/Makefile.am, src/lib- + sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-flag.c, src/lib-sieve/plugins/imapflags + /cmd-removeflag.c, src/lib-sieve/plugins/imapflags/cmd-setflag.c, + src/lib-sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h: + Imap4flags: merged setflag, addflag and removeflag implementations. + [38189d0d5785] + + * INSTALL, src/lib-sieve/plugins/subaddress/ext-subaddress.c: + Added sieve_subaddress_sep setting. + [fac1579a1164] + +2009-01-11 Stephan Bosch + + * src/lib-sieve/sieve-address.c, tests/compile/errors.svtest, + tests/compile/errors/out-address.sieve: + Fixed bug in the outgoing mail address verification. + [60b3f236c3bc] + + * TODO, src/lib-sieve/plugins/enotify/ntfy-mailto.c, + tests/extensions/enotify/execute.svtest, + tests/extensions/enotify/execute/duplicates.sieve: + Enotify/Mailto: prevented single recipient from receiving multiple + notifications on the same message. + [38b1269f8e10] + + * src/testsuite/testsuite.c: + Testsuite: fixed segfault bugs in the error handling. + [31804bc166e3] + +2009-01-10 Stephan Bosch + + * README: + Small project status update to the README. + [31fb740ce85c] + + * TODO, src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve/plugins/enotify + /sieve-ext-enotify.h, tests/extensions/enotify/execute.svtest, + tests/extensions/enotify/execute/duplicates.sieve: + Enotify: added API for detecting and killing duplicate notification + recipients. + [975614b641aa] + + * TODO, src/plugins/lda-sieve/lda-sieve-plugin.c: + Multiscript: implemented sorting of script files in script + directories for Sieve plugin. + [c13464cb4fe3] + + * INSTALL, README, TODO, src/plugins/lda-sieve/lda-sieve-plugin.c: + Updated documentation. + [17a66023e259] + + * TODO: + Reprioritized TODO. + [bcbae5e0e63d] + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Got array_get_pool() integrated into Dovecot. + [3929bef582c0] + + * README, TODO: + Updated documentation. + [aec958653b9f] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Fixed segfault in lda sieve plugin. + [902ee7cc9588] + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify/Mailto: fixed bug in the generation of the SMTP envelope + sender. + [e124dfa5388c] + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify: fixed various indent mishaps in ntfy-mailto.c. + [f958c97ec9dc] + + * src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, src/plugins/lda-sieve + /lda-sieve-plugin.c, src/sieve-tools/sieve-test.c: + Multiscript: added untested multiscript support to the lda sieve + plugin. + [2777abb69dd0] + +2009-01-09 Stephan Bosch + + * src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h: + Added a few accessors to the binary object for convenience. + [374039e9194e] + + * src/testsuite/testsuite.c: + Testsuite: fixed warning. + [15bc0d5d27a5] + + * src/testsuite/testsuite.c: + Testsuite: fixed result handling. + [8d63ff17d7e8] + + * TODO: + Removed remaining references to sieve-exec. + [1eca558676df] + +2009-01-07 Stephan Bosch + + * doc/man/sievec.1, src/lib-sieve-tool/sieve-tool.c, src/lib-sieve- + tool/sieve-tool.h, src/lib-sieve/sieve-script-private.h, src/lib- + sieve/sieve-script.c, src/lib-sieve/sieve-script.h, src/lib- + sieve/sieve.c, src/lib-sieve/sieve.h, src/plugins/lda-sieve/lda- + sieve-plugin.c, src/sieve-tools/sieve-test.c, src/sieve- + tools/sievec.c, src/testsuite/testsuite-script.c, + src/testsuite/testsuite.c: + Extended sievec command to allow compiling an entire directory. + [a56dfe862df4] + +2009-01-06 Stephan Bosch + + * doc/man/sieved.1: + Minor revisions to the sieved man page. + [df54062cbf77] + + * doc/man/sievec.1, src/sieve-tools/sievec.c: + Made outfile argument of the sievec command optional. + [b7ae0b1d7399] + + * README: + Updated README. + [7cb784bf0c4c] + + * doc/man/sieve-test.1, doc/man/sievec.1, doc/man/sieved.1, src/lib- + sieve/cmd-discard.c, src/lib-sieve/sieve-result.c, src/lib-sieve + /sieve-result.h, src/lib-sieve/sieve.c, src/sieve-tools/Makefile.am, + src/sieve-tools/sieve-exec.c, src/sieve-tools/sieve-test.c: + Merged sieve-exec tool into sieve-test. + [030d37107e10] + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/vacation + /cmd-vacation.c: + Fixed various result error messages. + [02697b1b4311] + + * src/lib-sieve/sieve-binary.c: + Fixed a theoretical security hole occuring when directory is opened + as a Sieve binary. + [d2a7caa5566f] + +2009-01-04 Stephan Bosch + + * TODO, src/sieve-tools/sieve-test.c: + Updated TODO. + [2c64b5e5db89] + + * src/lib-sieve/sieve-result.c, src/sieve-tools/sieve-test.c: + Multiscript: fixed small bug in result printing. + [0a5938f5e88c] + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/enotify/cmd-notify.c, src/lib-sieve/plugins/vacation + /cmd-vacation.c, src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve- + actions.h, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + result.h, src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, src/sieve- + tools/sieve-test.c: + Multiscript: improved handling of the keep action. + [5d251b577e56] + + * TODO: + Updated TODO. + [511e2770304c] + + * src/lib-sieve/ext-reject.c, src/lib-sieve/plugins/vacation/cmd- + vacation.c, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve.c, src + /lib-sieve/sieve.h, src/sieve-tools/sieve-test.c: + Multiscript: implemented execution of multiple scripts for the + sieve-test command. + [d20619f44dc0] + +2009-01-03 Stephan Bosch + + * src/lib-sieve/sieve.c, src/lib-sieve/sieve.h: + Multiscript: implemented API. + [50f5d81b9507] + + * doc/man/sieve-test.1, src/lib-sieve/cmd-redirect.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/include + /ext-include-common.c, src/lib-sieve/sieve-actions.c, src/lib-sieve + /sieve-actions.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /sieve-interpreter.h, src/lib-sieve/sieve-result.c, src/lib-sieve + /sieve-result.h, src/lib-sieve/sieve-types.h, src/lib-sieve/sieve.c, + src/lib-sieve/sieve.h, src/plugins/lda-sieve/lda-sieve-plugin.c, src + /sieve-tools/sieve-exec.c, src/sieve-tools/sieve-test.c, + src/testsuite/testsuite-result.c, src/testsuite/testsuite-script.c, + src/testsuite/testsuite.c: + Multiscript: various changes to the interpreter to facilitate + multiscript support. + [1e54353fd486] + +2009-01-02 Stephan Bosch + + * src/lib-sieve/sieve-result.c, src/lib-sieve/sieve-result.h: + Multiscript: added keep status evaluation to result object. + [70b008a20600] + + * src/lib-sieve-tool/mail-raw.c, src/lib-sieve-tool/mail-raw.h, src + /lib-sieve-tool/sieve-tool.c, src/lib-sieve-tool/sieve-tool.h, src + /lib-sieve/cmd-discard.c, src/lib-sieve/cmd-if.c, src/lib-sieve/cmd- + keep.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve/cmd-require.c, + src/lib-sieve/cmd-stop.c, src/lib-sieve/cmp-i-ascii-casemap.c, src + /lib-sieve/cmp-i-octet.c, src/lib-sieve/ext-encoded-character.c, src + /lib-sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/mcht-contains.c, src/lib-sieve + /mcht-is.c, src/lib-sieve/mcht-matches.c, src/lib-sieve/plugins/body + /ext-body-common.c, src/lib-sieve/plugins/body/ext-body-common.h, + src/lib-sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/body + /tst-body.c, src/lib-sieve/plugins/comparator-i-ascii-numeric/ext- + cmp-i-ascii-numeric.c, src/lib-sieve/plugins/copy/ext-copy.c, src + /lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ext-enotify-limits.h, src/lib- + sieve/plugins/enotify/ext-enotify.c, src/lib-sieve/plugins/enotify + /ntfy-mailto.c, src/lib-sieve/plugins/enotify/sieve-ext-enotify.h, + src/lib-sieve/plugins/enotify/tst-notify-method-capability.c, src + /lib-sieve/plugins/enotify/tst-valid-notify-method.c, src/lib- + sieve/plugins/enotify/vmodf-encodeurl.c, src/lib- + sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/imapflags + /tst-hasflag.c, src/lib-sieve/plugins/include/cmd-import.c, src/lib- + sieve/plugins/include/cmd-include.c, src/lib-sieve/plugins/include + /cmd-return.c, src/lib-sieve/plugins/include/ext-include-binary.c, + src/lib-sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include-limits.h, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/regex + /ext-regex-common.c, src/lib-sieve/plugins/regex/ext-regex-common.h, + src/lib-sieve/plugins/regex/ext-regex.c, src/lib-sieve/plugins/regex + /mcht-regex.c, src/lib-sieve/plugins/relational/ext-relational- + common.c, src/lib-sieve/plugins/relational/ext-relational-common.h, + src/lib-sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/relational/mcht-value.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.h, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-arguments.c, src/lib-sieve/plugins/variables/ext- + variables-arguments.h, src/lib-sieve/plugins/variables/ext- + variables-common.c, src/lib-sieve/plugins/variables/ext-variables- + common.h, src/lib-sieve/plugins/variables/ext-variables-dump.c, src + /lib-sieve/plugins/variables/ext-variables-dump.h, src/lib- + sieve/plugins/variables/ext-variables-limits.h, src/lib- + sieve/plugins/variables/ext-variables-modifiers.c, src/lib- + sieve/plugins/variables/ext-variables-modifiers.h, src/lib- + sieve/plugins/variables/ext-variables-name.c, src/lib- + sieve/plugins/variables/ext-variables-name.h, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/ext-variables-operands.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, src/lib- + sieve/plugins/variables/tst-string.c, src/lib-sieve/rfc2822.c, src + /lib-sieve/rfc2822.h, src/lib-sieve/sieve-actions.c, src/lib-sieve + /sieve-actions.h, src/lib-sieve/sieve-address-parts.c, src/lib-sieve + /sieve-address-parts.h, src/lib-sieve/sieve-address.c, src/lib-sieve + /sieve-address.h, src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve- + ast.h, src/lib-sieve/sieve-binary-dumper.c, src/lib-sieve/sieve- + binary-dumper.h, src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve- + binary.h, src/lib-sieve/sieve-code-dumper.c, src/lib-sieve/sieve- + code-dumper.h, src/lib-sieve/sieve-code.c, src/lib-sieve/sieve- + code.h, src/lib-sieve/sieve-commands.c, src/lib-sieve/sieve- + commands.h, src/lib-sieve/sieve-common.h, src/lib-sieve/sieve- + comparators.c, src/lib-sieve/sieve-comparators.h, src/lib-sieve + /sieve-config.h, src/lib-sieve/sieve-dump.h, src/lib-sieve/sieve- + error-private.h, src/lib-sieve/sieve-error.c, src/lib-sieve/sieve- + error.h, src/lib-sieve/sieve-extensions.c, src/lib-sieve/sieve- + extensions.h, src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve- + generator.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve- + interpreter.h, src/lib-sieve/sieve-lexer.c, src/lib-sieve/sieve- + lexer.h, src/lib-sieve/sieve-limits.c, src/lib-sieve/sieve-limits.h, + src/lib-sieve/sieve-match-types.c, src/lib-sieve/sieve-match- + types.h, src/lib-sieve/sieve-match.c, src/lib-sieve/sieve-match.h, + src/lib-sieve/sieve-message.c, src/lib-sieve/sieve-message.h, src + /lib-sieve/sieve-objects.c, src/lib-sieve/sieve-objects.h, src/lib- + sieve/sieve-parser.c, src/lib-sieve/sieve-parser.h, src/lib-sieve + /sieve-result.c, src/lib-sieve/sieve-result.h, src/lib-sieve/sieve- + script-private.h, src/lib-sieve/sieve-script.c, src/lib-sieve/sieve- + script.h, src/lib-sieve/sieve-types.h, src/lib-sieve/sieve- + validator.c, src/lib-sieve/sieve-validator.h, src/lib-sieve/sieve.c, + src/lib-sieve/sieve.h, src/lib-sieve/tst-address.c, src/lib-sieve + /tst-allof.c, src/lib-sieve/tst-anyof.c, src/lib-sieve/tst-exists.c, + src/lib-sieve/tst-header.c, src/lib-sieve/tst-not.c, src/lib-sieve + /tst-size.c, src/lib-sieve/tst-truefalse.c, src/plugins/lda-sieve + /lda-sieve-plugin.c, src/plugins/lda-sieve/lda-sieve-plugin.h, src + /sieve-tools/sieve-exec.c, src/sieve-tools/sieve-test.c, src/sieve- + tools/sievec.c, src/sieve-tools/sieved.c, src/testsuite/cmd-test- + fail.c, src/testsuite/cmd-test-result-print.c, src/testsuite/cmd- + test-set.c, src/testsuite/cmd-test.c, src/testsuite/ext-testsuite.c, + src/testsuite/testsuite-arguments.c, src/testsuite/testsuite- + arguments.h, src/testsuite/testsuite-common.c, src/testsuite + /testsuite-common.h, src/testsuite/testsuite-log.c, src/testsuite + /testsuite-log.h, src/testsuite/testsuite-objects.c, src/testsuite + /testsuite-objects.h, src/testsuite/testsuite-result.c, + src/testsuite/testsuite-result.h, src/testsuite/testsuite-script.c, + src/testsuite/testsuite-script.h, src/testsuite/testsuite- + substitutions.c, src/testsuite/testsuite-substitutions.h, + src/testsuite/testsuite.c, src/testsuite/tst-test-error.c, + src/testsuite/tst-test-result-execute.c, src/testsuite/tst-test- + result.c, src/testsuite/tst-test-script-compile.c, src/testsuite + /tst-test-script-run.c: + Updated copyright messages to 2009. + [9e7bde020990] + + * src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-result.c, src + /lib-sieve/sieve-result.h, src/lib-sieve/sieve.c, src/testsuite + /testsuite-result.c, tests/multiscript/conflicts.svtest, + tests/multiscript/fileinto-frop.sieve, tests/multiscript/keep.sieve: + Testsuite: extended multiscript testing. + [fd189b1545ce] + + * Makefile.am, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/testsuite/Makefile.am, + src/testsuite/cmd-test-result-print.c, src/testsuite/ext- + testsuite.c, src/testsuite/testsuite-common.h, src/testsuite + /testsuite-log.c, src/testsuite/testsuite-result.c, src/testsuite + /testsuite-result.h, src/testsuite/tst-test-result-execute.c, + src/testsuite/tst-test-script-compile.c, src/testsuite/tst-test- + script-run.c, tests/multiscript/basic.svtest, + tests/multiscript/conflicts.svtest, tests/multiscript/fileinto- + inbox.sieve, tests/multiscript/notify.sieve, + tests/multiscript/reject-1.sieve, tests/multiscript/reject-2.sieve, + tests/multiscript/vacation.sieve: + Testsuite: added multiscript tests and required support. + [55a8d5467bb7] + + * src/lib-sieve/plugins/enotify/cmd-notify.c: + Enotify: removed conflicting action flag. + [507b4e15de60] + + * src/testsuite/testsuite-log.c, src/testsuite/testsuite-log.h, + src/testsuite/testsuite-script.c, src/testsuite/testsuite-script.h: + Testsuite: forgot to add new files. + [706e67f38fe1] + + * src/testsuite/Makefile.am, src/testsuite/testsuite-common.c, + src/testsuite/testsuite-result.c, src/testsuite/tst-test-error.c, + tests/extensions/enotify/basic.svtest: + Testsuite: split off script and error handler implementations into + separate modules. + [934cd4598d45] + +2009-01-01 Stephan Bosch + + * src/lib-sieve/plugins/enotify/cmd-notify.c: + Fixed warning caused by previous changes. + [b1878ff375d3] + + * src/lib-sieve/ext-reject.c, src/lib-sieve/plugins/vacation/cmd- + vacation.c, src/lib-sieve/sieve-result.c: + Multiscript: resolved inter-script action conflict situations. + [cf3dacb0427f] + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve- + result.c: + Cleaned up action interface. + [9aa51ae533c0] + + * TODO, src/lib-sieve/cmd-keep.c, src/lib-sieve/sieve-actions.c, src + /lib-sieve/sieve-result.c, src/lib-sieve/sieve-result.h, + src/testsuite/tst-test-result.c, tests/execute/actions.svtest, + tests/extensions/vacation/execute.svtest: + Multiscript: adjusted result object for sequential execution. + [091473d12b22] + +2008-12-29 Stephan Bosch + + * TODO: + Updated TODO. + [61bdad87a347] + +2008-12-28 Stephan Bosch + + * src/lib-sieve/plugins/vacation/cmd-vacation.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-result.c, src/testsuite/testsuite- + result.c, tests/execute/actions.svtest, + tests/extensions/imapflags/execute.svtest, + tests/extensions/reject/execute.svtest, + tests/extensions/vacation/execute.svtest: + Testsuite: added basic result execution tests for various + extensions. + [a3db8c51ef35] + + * src/lib-sieve/sieve-result.h, src/testsuite/Makefile.am, + src/testsuite/ext-testsuite.c, src/testsuite/testsuite-common.c, + src/testsuite/testsuite-common.h, src/testsuite/testsuite-result.c, + src/testsuite/testsuite-result.h, src/testsuite/tst-test-result- + execute.c, tests/extensions/enotify/execute.svtest: + Testsuite: added support for executing results. + [7b6167bd595c] + + * src/testsuite/tst-test-compile.c, src/testsuite/tst-test-execute.c, + src/testsuite/tst-test-script-compile.c, src/testsuite/tst-test- + script-run.c: + Testsuite: forgot committing rename in previous commit. + [f8e21027c484] + + * src/testsuite/Makefile.am, src/testsuite/ext-testsuite.c, + src/testsuite/testsuite-common.c, src/testsuite/testsuite-common.h, + src/testsuite/tst-test-result.c, tests/compile/compile.svtest, + tests/compile/errors.svtest, tests/compile/examples.svtest, + tests/execute/actions.svtest, tests/execute/errors.svtest, + tests/extensions/enotify/errors.svtest, + tests/extensions/enotify/execute.svtest, + tests/extensions/imapflags/execute.svtest, + tests/extensions/include/errors.svtest, + tests/extensions/regex/errors.svtest, + tests/extensions/reject/execute.svtest, + tests/extensions/relational/errors.svtest, + tests/extensions/vacation/errors.svtest, + tests/extensions/vacation/execute.svtest, + tests/extensions/variables/errors.svtest, tests/testsuite.svtest: + Testsuite: renamed script compile and run commands to be more + intuitive. + [f52cf8c2e033] + + * src/lib-sieve/sieve-code.c, src/testsuite/Makefile.am, src/testsuite + /ext-testsuite.c, src/testsuite/testsuite-arguments.c, src/testsuite + /testsuite-arguments.h, src/testsuite/testsuite-common.h, + src/testsuite/testsuite-substitutions.c, src/testsuite/testsuite- + substitutions.h, tests/testsuite.svtest: + Testsuite: started implementing support for testsuite-specific + string substitutions. + [93c9cf02290f] + + * src/lib-sieve/plugins/variables/ext-variables-arguments.c, src/lib- + sieve/sieve-ast.c, src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve- + commands.c, src/lib-sieve/sieve-commands.h: + Exported variable string argument into the Sieve engine itself as + 'catenated string' (for similar use in other extensions like the + testsuite). + [0b0b3ab3967f] + + * src/lib-sieve/plugins/variables/ext-variables-arguments.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/ext-variables-operands.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib-sieve/sieve-code.c, + src/lib-sieve/sieve-code.h: + Exported variable string operand into the Sieve engine itself as + 'catenated string' (for similar use in other extensions like the + testsuite). + [75d44b76a63e] + + * TODO: + Updated TODO. + [4da90917e551] + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify: mailto: forgot to add 'from' header to list of reserved + headers. + [504ba37c919c] + + * TODO: + Updated TODO list. + [da6447787785] + + * Makefile.am, TODO, configure.in, dsieve-config.h.in, src/lib- + sieve/Makefile.am, src/lib-sieve/plugins/Makefile.am, src/lib-sieve + /sieve-extensions.c: + Enotify: added enotify extension to default compile. + [1a69b463d9ad] + + * TODO, src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify: mailto: enforced limits on number of recipients and + headers. + [78fdf4f59ff2] + + * TODO, src/lib-sieve/plugins/enotify/ntfy-mailto.c, + tests/extensions/enotify/errors.svtest, + tests/extensions/enotify/errors/uri-mailto.sieve: + Enotify: mailto: finished URI parsing. + [30a272720d99] + +2008-12-27 Stephan Bosch + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify: mailto: fixed various bugs introduced by previous + enthousiastic commit. + [bfc6b485e5bc] + + * TODO, src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify: mailto: added check for duplicates of unique headers in the + mailto URI. + [92b60e522c1e] + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify: previous change did not distinguish Cc recipients. + [4eded3dc6a8a] + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify: added check for duplicate recipients within URI. + [453e9f5ab425] + + * TODO: + Updated TODO. + [6b666e5ef348] + + * src/lib-sieve/plugins/enotify/ext-enotify-common.c: + Enotify: added FIXME. + [ee257412d8ba] + + * src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve/plugins/enotify + /sieve-ext-enotify.h: + Enotify: added runtime support for options and performed some minor + cleanups. + [08b6a2984d57] + + * TODO, src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve/plugins/enotify + /sieve-ext-enotify.h, tests/extensions/enotify/errors.svtest, + tests/extensions/enotify/errors/options.sieve: + Enotify: added parsing support for the :options argument. + [e7c9fab2e100] + + * src/lib-sieve/sieve-extensions.c: + Fixed semantic bug in extension handling. + [e806506c8e7c] + + * src/lib-sieve/sieve-extensions.c: + Fixed segfault bug in extension handling. + [f7666442e384] + + * src/lib-sieve/ext-reject.c, src/lib-sieve/plugins/enotify/ntfy- + mailto.c, src/lib-sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h, src/lib-sieve + /sieve-message.c, src/lib-sieve/sieve-message.h: + Moved new_message_id function to sieve-message.c where it is more + appropriate. + [acf8bc97e74c] + + * README, src/lib-sieve/plugins/enotify/ext-enotify.c: + Updated documentation. + [b577aab39b21] + +2008-12-25 Stephan Bosch + + * TODO: + Updated TODO. + [7de9c6687512] + + * Makefile.am, TODO, src/lib-sieve/plugins/enotify/ext-enotify- + common.c, src/lib-sieve/plugins/enotify/ext-enotify-common.h, src + /lib-sieve/plugins/enotify/ntfy-mailto.c, src/lib- + sieve/plugins/enotify/sieve-ext-enotify.h, src/lib- + sieve/plugins/enotify/tst-notify-method-capability.c, + tests/extensions/enotify/notify_method_capability.svtest, + tests/extensions/enotify/valid-notify-method.svtest, + tests/extensions/enotify/valid_notify_method.svtest: + Enotify: implemented notify_method_capability test. + [33c97930469f] + + * TODO, src/lib-sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve/plugins/enotify + /tst-valid-notify-method.c, tests/extensions/enotify/errors.svtest, + tests/extensions/enotify/errors/uri-mailto.sieve, + tests/extensions/enotify/errors/uri.sieve, + tests/extensions/enotify/errors/url-mailto.sieve, + tests/extensions/enotify/errors/url.sieve, tests/extensions/enotify + /valid-notify-method.svtest: + Enotify: implemented the valid_notify_method test. + [c504a425e11d] + + * src/lib-sieve/ext-encoded-character.c, src/lib-sieve/ext-envelope.c, + src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/comparator-i + -ascii-numeric/ext-cmp-i-ascii-numeric.c, src/lib-sieve/plugins/copy + /ext-copy.c, src/lib-sieve/plugins/enotify/ext-enotify-common.c, src + /lib-sieve/plugins/enotify/ext-enotify.c, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/regex + /ext-regex.c, src/lib-sieve/plugins/relational/ext-relational.c, src + /lib-sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-dump.c, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve- + binary-dumper.c, src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve- + code-dumper.c, src/lib-sieve/sieve-comparators.c, src/lib-sieve + /sieve-extensions.c, src/lib-sieve/sieve-extensions.h, src/lib-sieve + /sieve-generator.c, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /sieve-match-types.c, src/lib-sieve/sieve-message.c, src/lib-sieve + /sieve-result.c, src/lib-sieve/sieve-validator.c, src/testsuite/ext- + testsuite.c: + Simplified handling of extension ids. + [91a1ac721a68] + + * src/lib-sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i-ascii- + numeric.c, src/lib-sieve/plugins/copy/ext-copy.c, src/lib- + sieve/plugins/enotify/vmodf-encodeurl.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/regex + /ext-regex-common.c, src/lib-sieve/plugins/relational/ext- + relational-common.c, src/lib-sieve/plugins/subaddress/ext- + subaddress.c, src/lib-sieve/plugins/variables/ext-variables- + modifiers.c, src/lib-sieve/sieve-address-parts.c, src/lib-sieve + /sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve- + common.h, src/lib-sieve/sieve-comparators.c, src/lib-sieve/sieve- + extensions.h, src/lib-sieve/sieve-match-types.c, src/lib-sieve + /sieve-objects.c, src/testsuite/testsuite-objects.c, src/testsuite + /testsuite-objects.h: + Renamed extension object registry. + [0d7c3b514b9d] + +2008-12-21 Stephan Bosch + + * Merged concurrent changes. + [6e22db2771a9] + + * TODO, doc/man/sieve-test.1, doc/man/sievec.1, src/lib-sieve-tool + /sieve-tool.c, src/lib-sieve/sieve-extensions.c, src/lib-sieve + /sieve-extensions.h, src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, + src/plugins/lda-sieve/lda-sieve-plugin.c, src/sieve-tools/sieve- + test.c, src/sieve-tools/sievec.c: + Implemented support for configuring the available extensions. + [fb0ba83175f5] + + * src/lib-sieve/plugins/vacation/cmd-vacation.c: + Vacation: changed location of X-Sieve header. + [0760764e19ce] + + * src/lib-sieve/plugins/vacation/cmd-vacation.c: + Vacation: last change used wrong address. + [481a04fbfa9c] + + * src/lib-sieve/plugins/vacation/cmd-vacation.c: + Vacation: properly implemented use of :from address argument. + [51b40d48e6ea] + + * src/lib-sieve/sieve-address.c: + Fixed accidental paste in sieve-address.c. + [baab6e581455] + + * TODO, src/lib-sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve + /sieve-address.c, src/lib-sieve/sieve-address.h, + tests/extensions/enotify/errors.svtest, + tests/extensions/enotify/errors/url-mailto.sieve: + Enotify: added recipient verification and implemented proper To and + Cc header composition. + [05b5b209c013] + + * tests/extensions/enotify/errors/from-mailto.sieve: + Enotify: forgot to add new file to the test suite. + [41cef5314a94] + + * TODO, src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve/plugins/enotify + /sieve-ext-enotify.h, tests/extensions/enotify/errors.svtest: + Enotify: implemented verification of the :from address. + [52ec54e6d86a] + + * src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve/plugins/enotify + /sieve-ext-enotify.h: + Enotify: made log struct name shorter. + [595a03fe94c5] + + * src/lib-sieve/rfc2822.c: + Fixed compiler warning about signed char. + [e8f9a89974cd] + + * src/lib-sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ntfy-mailto.c: + Enotify: corrected mailto URI error messages. + [3e4bb8701786] + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify: cleaned up URI error handling. + [543b25d99edf] + + * src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve/plugins/enotify + /sieve-ext-enotify.h, src/lib-sieve/sieve-actions.c, src/lib-sieve + /sieve-actions.h, src/lib-sieve/sieve-error.c, src/lib-sieve/sieve- + error.h, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve-result.h, + src/lib-sieve/sieve-script.c, src/lib-sieve/sieve-script.h: + Enotify: shielded most of the method API from compiler internals. + [996e60017ae1] + +2008-12-20 Stephan Bosch + + * TODO, src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify: added owner email to auto-submitted header. + [c2568b13b4c5] + +2008-12-19 Stephan Bosch + + * TODO: + Updated TODO. + [4b85554381de] + + * src/lib-sieve/sieve-lexer.c: + Small cosmetic changes to lexer sources. + [304d0952005f] + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify: mailto: excluded body 'header' in URI from the header field + body verification. + [675dcf5550b8] + + * TODO, src/lib-sieve/plugins/enotify/ntfy-mailto.c, src/lib- + sieve/rfc2822.c, src/lib-sieve/rfc2822.h: + Enotify: mailto: implemented verification of (unstructured) header + field bodies and improved URI syntax checking. + [6993557e1579] + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib-sieve/tst-exists.c: + Substituted mail_get_headers for mail_get_headers_utf8 for those + occasions where utf8 is of no concern. + [33ff0356a8d0] + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/plugins/copy/ext-copy.c, + src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h, src + /lib-sieve/sieve-result.c: + Improved result execution and prevented failure on store action on + dry run (with no specified namespace). + [85fbe163f73e] + + * TODO, src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify: avoided sending notifications on auto-submitted messages. + [03ba5acfb863] + + * src/lib-sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib-sieve/sieve- + extensions.c, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + validator.c: + Adapted to changes in the Dovecot API. + [e290c9a5b8d1] + +2008-12-18 Stephan Bosch + + * TODO: + Merged concurrent changes. + [7c970d2e18c4] + + * TODO: + Updated TODO: listed what remains to be done for the enotify + extension and its mailto method. + [b502f54d24ea] + + * doc/rfc/draft-ietf-sieve-notify-mailto-09.txt, doc/rfc/draft-ietf- + sieve-notify-mailto-10.txt: + Updated enotify:mailto draft RFC. + [a9992d1abeb1] + +2008-12-14 Stephan Bosch + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify: mailto: added filtering of reserved headers. + [2dc8040cc0ca] + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify: changed notify message to match the latest draft + specification better (not yet compliant). + [78088c8352ee] + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify: now using new message composition functions. + [5105e03885bd] + + * src/sieve-tools/sieve-exec.c: + Fixed message typo in sieve-exec tool. + [8aeef1355af5] + + * src/lib-sieve/ext-reject.c, src/lib-sieve/rfc2822.c: + Reject: now using new message composition functions. + [2c8c7d6c51e0] + + * configure.in: + Change to configure.in caused compile error. + [0285d0ef1b5a] + + * configure.in: + Fixed bug in configure script that emitted Dovecot version in config + header in stead of Sieve version. + [33b8e83d57d0] + + * src/lib-sieve/cmd-redirect.c: + Added X-Sieve header to redirected messages. + [073514b8b521] + + * src/lib-sieve/plugins/vacation/cmd-vacation.c: + Vacation: now using new message composition functions. + [46f1c431076a] + + * src/lib-sieve/rfc2822.c, src/lib-sieve/rfc2822.h: + Created basic internet mail message composition functionality. + [f6ae429a7256] + + * Makefile.am, TODO, src/lib-sieve/plugins/enotify/ntfy-mailto.c, src + /lib-sieve/plugins/vacation/cmd-vacation.c, src/lib-sieve/rfc2822.c, + src/lib-sieve/rfc2822.h, tests/extensions/vacation/references.sieve, + tests/extensions/vacation/references.svtest: + Vacation: added support for properly updating references header. + [12399f096262] + +2008-12-13 Stephan Bosch + + * src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ntfy-mailto.c: + Enotify: implemented basic notify mailto: execution. + [71a3f5b90533] + + * src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve/plugins/enotify + /sieve-ext-enotify.h: + Enotify: implemented construction and printing of action object. + [ae144360043a] + + * src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve/plugins/enotify + /sieve-ext-enotify.h: + Enotify: implemented runtime part. + [84c05cf58119] + +2008-12-12 Stephan Bosch + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c: + Enotify: restructured mailto url parsing to use arrays for the + results. + [e02c5e441ca2] + + * Makefile.am, src/lib-sieve/plugins/enotify/ntfy-mailto.c, + tests/extensions/enotify/errors.svtest, + tests/extensions/enotify/errors/url-mailto.sieve, + tests/extensions/enotify/errors/url.sieve: + Enotify: added verification of header field names in mailto url. + [9972da3b72b5] + +2008-12-10 Stephan Bosch + + * src/lib-sieve/ext-reject.c: + Reject: improved message rejection log message. + [2758742b1a0f] + +2008-12-09 Stephan Bosch + + * TODO, src/lib-sieve/rfc2822.c, src/lib-sieve/rfc2822.h, src/lib- + sieve/sieve-commands.c, src/lib-sieve/sieve-commands.h, src/lib- + sieve/tst-address.c, src/lib-sieve/tst-exists.c, src/lib-sieve/tst- + header.c, tests/compile/warnings/invalid-headers.sieve: + Compiler now warns about syntactically invalid header field names. + [67f94b204982] + + * src/lib-sieve/Makefile.am, src/lib-sieve/sieve-commands.c, src/lib- + sieve/sieve-commands.h, src/lib-sieve/tst-truefalse.c: + Exported true and false commands to separate file. + [fae455ed3f25] + +2008-11-30 Stephan Bosch + + * src/lib-sieve/sieve-extensions.c: + Fixed bug in improved capability string composition. + [6f2f1b51ce19] + + * src/lib-sieve/plugins/enotify/ext-enotify-limits.h, src/lib- + sieve/plugins/enotify/ntfy-mailto.c: + Enotify: further developed URI parsing. + [e0f21b538123] + + * src/lib-sieve/Makefile.am, src/lib-sieve/rfc2822.c, src/lib- + sieve/rfc2822.h: + Added support for header verification. + [5661acb85286] + + * src/lib-sieve/plugins/enotify/ntfy-mailto.c, + tests/extensions/enotify/basic.svtest: + Enotify: implemented coarse mailto URI parsing. + [f7fba9671c6b] + + * doc/rfc/draft-duerst-mailto-bis-05.txt: + Added new draft-bis version of mailto RFC to doc/rfc. + [cbecc1c67646] + + * src/lib-sieve/sieve-extensions.c: + Activated unload handler for extensions. + [478f0bcdb6ff] + + * src/lib-sieve/plugins/enotify/Makefile.am, src/lib- + sieve/plugins/enotify/cmd-notify.c, src/lib-sieve/plugins/enotify + /ext-enotify-common.c, src/lib-sieve/plugins/enotify/ext-enotify- + common.h, src/lib-sieve/plugins/enotify/ext-enotify-limits.h, src + /lib-sieve/plugins/enotify/ext-enotify.c, src/lib- + sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve/plugins/enotify + /sieve-ext-enotify.h, tests/extensions/enotify/execute.svtest: + Enotify: implemented uri scheme verification. + [0572076ad26f] + +2008-11-29 Stephan Bosch + + * src/lib-sieve/ext-encoded-character.c, src/lib-sieve/ext-envelope.c, + src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/comparator-i + -ascii-numeric/ext-cmp-i-ascii-numeric.c, src/lib-sieve/plugins/copy + /ext-copy.c, src/lib-sieve/plugins/enotify/ext-enotify-common.c, src + /lib-sieve/plugins/enotify/ext-enotify.c, src/lib- + sieve/plugins/enotify/ntfy-mailto.c, src/lib-sieve/plugins/enotify + /sieve-ext-enotify.h, src/lib-sieve/plugins/imapflags/ext- + imapflags.c, src/lib-sieve/plugins/include/ext-include.c, src/lib- + sieve/plugins/regex/ext-regex.c, src/lib-sieve/plugins/relational + /ext-relational.c, src/lib-sieve/plugins/subaddress/ext- + subaddress.c, src/lib-sieve/plugins/vacation/ext-vacation.c, src + /lib-sieve/plugins/variables/ext-variables.c, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-comparators.c, src/lib-sieve + /sieve-extensions.c, src/lib-sieve/sieve-extensions.h, src/lib-sieve + /sieve-match-types.c, src/testsuite/ext-testsuite.c: + Added unload method to extension object. + [27b8f617ddd9] + +2008-11-28 Stephan Bosch + + * TODO: + Reprioritized TODO. + [cbe0a7182be8] + +2008-11-26 Stephan Bosch + + * .hgtags: + Added tag 0.1.2 for changeset f01fe5f1e816 + [ec695f863a30] + + * .hgtags: + Added tag 0.1.1 for changeset e534276ecf10 + [f01fe5f1e816] [0.1.2] + + * NEWS, configure.in: + Released v0.1.2 for Dovecot v1.2.alpha4. + [3f1ca3de6312] + + * src/lib-sieve/plugins/vacation/cmd-vacation.c: + Vacation: improved log message for discarded vacation response. + [346b7c072b0a] + + * src/lib-sieve/sieve-result.c: + Fixed bug in the handling of context during result execution, which + resulted in broken redirect action. + [28e3144b79d1] + +2008-11-25 Stephan Bosch + + * configure.in: + Released v0.1.1 for Dovecot v1.2.alpha4. + [e534276ecf10] [0.1.1] + +2008-11-24 Stephan Bosch + + * NEWS: + Updated NEWS file. + [4dfeda80d78d] + +2008-11-22 Stephan Bosch + + * src/lib-sieve/plugins/enotify/Makefile.am, src/lib- + sieve/plugins/enotify/ext-enotify-common.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ext-enotify.c, src/lib-sieve/plugins/enotify + /ntfy-mailto.c, src/lib-sieve/sieve-address.c, src/lib-sieve/sieve- + address.h, src/lib-sieve/sieve-extensions.c, src/lib-sieve/sieve- + extensions.h, src/lib-sieve/sieve.c, src/lib-sieve/sieve.h: + Added registry for extension capabilities like the available notify + methods and adjusted the enotify extension accordingly. + [007bb75439a8] + +2008-11-21 Stephan Bosch + + * doc/rfc/i-ascii-numeric.rfc2244.txt, src/lib- + sieve/plugins/comparator-i-ascii-numeric/rfc2244.txt: + Forgot to move RFC 2244 to proper place in doc/rfc. + [9605841f6f27] + + * Makefile.am, doc/rfc/uri.rfc3986.txt, src/lib-sieve/plugins/enotify + /vmodf-encodeurl.c, tests/extensions/enotify/encodeurl.svtest: + Enotify: implemented :encodeurl variables modifier. + [68bae1330f0c] + + * TODO: + Added TODO item. + [2ab9a8390108] + + * src/lib-sieve-tool/mail-raw.c, src/lib-sieve-tool/sieve-tool.c, src + /lib-sieve/sieve-actions.c, src/sieve-tools/sieve-exec.c, src/sieve- + tools/sieve-test.c, src/testsuite/testsuite.c: + Adapted to changes in the mailbox_open() API. + [def28c3fc40c] + +2008-11-20 Stephan Bosch + + * Makefile.am: + Merged concurrent changes. + [0cdeefe057f7] + + * doc/rfc/mailto.rfc2368.txt, src/lib- + sieve/plugins/enotify/Makefile.am, src/lib-sieve/plugins/enotify + /cmd-notify.c, src/lib-sieve/plugins/enotify/ntfy-mailto.c, src/lib- + sieve/plugins/enotify/sieve-ext-enotify.h, src/lib- + sieve/plugins/enotify/vmodf-encodeurl.c: + Enotify: copied action implementation from old plugin. + [f4a1cf59f9ce] + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/plugins/lda-sieve/lda- + sieve-plugin.c: + Fixed error handling of actions that send mail. + [eb88535b1b04] + +2008-11-16 Stephan Bosch + + * doc/rfc/draft-ietf-sieve-notify-mailto-09.txt: + Added notify mailto draft. + [c32f0e1a2ab1] + + * src/lib-sieve/plugins/enotify/Makefile.am, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ext-enotify.c, src/lib-sieve/plugins/enotify + /vmodf-encodeurl.c, src/lib-sieve/plugins/variables/ext-variables- + common.c, src/lib-sieve/plugins/variables/ext-variables-common.h, + src/lib-sieve/plugins/variables/ext-variables-modifiers.c, src/lib- + sieve/plugins/variables/ext-variables-modifiers.h, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, + tests/extensions/enotify/execute.svtest: + Enotify: finished skeleton by addin empty :encodeurl implementation. + [1468452b4a29] + + * Makefile.am, tests/extensions/enotify/execute.svtest, + tests/extensions/enotify/execute/draft-rfc-ex1.sieve, + tests/extensions/enotify/execute/draft-rfc-ex2.sieve, + tests/extensions/enotify/execute/draft-rfc-ex3.sieve, + tests/extensions/enotify/execute/draft-rfc-ex5.sieve, + tests/extensions/enotify/execute/draft-rfc-ex6.sieve: + Testsuite: added draft RFC examples as execution tests. + [45464b463539] + +2008-11-20 Stephan Bosch + + * Makefile.am, configure.in, src/lib-sieve/plugins/include/ext- + include-binary.c, src/lib-sieve/plugins/include/ext-include- + common.c, src/lib-sieve/plugins/include/ext-include.c, src/lib-sieve + /sieve-binary.c, src/lib-sieve/sieve-binary.h: + Enabled (optional) support for Valgrind in the testsuite and fixed a + few intricate bugs in the process. + [0d0571b7b81c] + +2008-11-19 Stephan Bosch + + * src/lib-sieve-tool/sieve-tool.c: + Changed acquisition of usernames in sieve command line tools. + [4fcbcffe14c3] + + * tests/header.svtest: + Testsuite: added test for header folding. + [bca59633ce16] + + * src/lib-sieve-tool/mail-raw.c: + Fixed bug in mail_raw implementation: mail_namespaces_deinit() must + not be called explicitly for v1.2. + [d9a73ee95b2c] + +2008-11-17 Stephan Bosch + + * src/lib-sieve/sieve-actions.c: + Previous change did not compile. + [80aa797d9521] + + * src/lib-sieve/sieve-actions.c: + Matched changes in Dovecot to properly handle/ignore the new mailbox + ACL support. + [0e7868a06c20] + +2008-11-15 Stephan Bosch + + * src/lib-sieve/plugins/include/ext-include-variables.c: + Merged concurrent changes. + [d999e9b1f138] + + * src/lib-sieve/plugins/include/ext-include-variables.c: + Include: fixed bug in import/export commands. + [49b0d4a70dab] + + * src/lib-sieve/plugins/include/ext-include-variables.c: + Fixed small indentation error. + [dbef1b96761a] + +2008-11-14 Stephan Bosch + + * src/lib-sieve/sieve-script.c: + Fixed bug in handling of non-existent scripts. + [bb9602e98abb] + + * NEWS: + Prepared NEWS file for next release. + [ce33eb8c29d3] + + * INSTALL, README: + Slightly improved documentation. + [e957f2fc38ef] + +2008-11-12 Stephan Bosch + + * src/lib-sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/sieve-code.c, src + /lib-sieve/sieve-code.h, src/lib-sieve/sieve-validator.c: + Imap4flags: fixed bug in the handling of the internal variable. + + Previously the final value of internal variable was for every store + action that didn't specify a :flags argument explicitly. This + results in out-of order assignment/removal of flags, e.g. also the + flags assigned keep actions that were executed before the + addflag/setflag command were modified. + [94ad1f1aa91b] + + * TODO: + Updated TODO. + [56ddfa9b2d3b] + + * README: + Removed man page issue from README file. + [b9a138e1a781] + + * README: + Updated README. + [f4a59b2c82b2] + + * Makefile.am, doc/man/sieve-test.1: + Created man page for the sieve-test command. + [f4c64a82078b] + +2008-11-11 Stephan Bosch + + * Makefile.am, doc/man/sieved.1: + Created man page for the sieved command. + [837bc0ccab02] + + * Makefile.am: + Enabled installation of man pages. + [6439050d232d] + + * src/lib-sieve/Makefile.am: + Forgot to add new sieve-config.h to the distribution. + [9fa6336ed90c] + + * doc/man/sievec.1: + Created (currently uninstalled) man page for the sievec command. + [95478625a6ce] + + * Makefile.am: + Testsuite: fail with informative error if compiled against dovecot + headers only. + [4510184ed680] + + * configure.in, src/Makefile.am: + Re-enabled support for compiling against Dovecot headers. + [36e00217bdd2] + +2008-11-10 Stephan Bosch + + * src/lib-sieve/plugins/enotify/Makefile.am, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ext-enotify.c, src/lib-sieve/plugins/enotify + /tst-notify-method-capability.c: + Enotify: added skeleton implementation of notify_method_capability + test. + [89259cdff750] + +2008-11-09 Stephan Bosch + + * src/lib-sieve/plugins/enotify/Makefile.am, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ext-enotify.c, src/lib-sieve/plugins/enotify + /tst-valid-notify-method.c, tests/extensions/enotify/basic.svtest: + Enotify: added skeleton implementation of valid_notify_method test. + [c9a597e248ab] + +2008-11-07 Stephan Bosch + + * Makefile.am, src/lib-sieve/plugins/enotify/cmd-notify.c, src/lib- + sieve/plugins/enotify/ext-enotify-common.h, src/lib- + sieve/plugins/enotify/ext-enotify.c, src/lib-sieve/sieve-ast.c, src + /lib-sieve/sieve-ast.h, tests/extensions/enotify/basic.svtest: + Enotify: implemented skeleton for the notify command. + [a004b31bcc08] + +2008-11-02 Stephan Bosch + + * src/lib-sieve/Makefile.am, src/lib-sieve/sieve-extensions.c: + ENotify: activated empty implementation. + [63e099d7edf7] + + * .hgignore, configure.in, dsieve-config.h.in, src/lib- + sieve/Makefile.am, src/lib-sieve/sieve-common.h, src/lib-sieve + /sieve-config.h, src/lib-sieve/sieve-types.h, src/lib-sieve/sieve.h: + Started using autoconf output. + [c5ff061ac5f4] + + * src/lib-sieve/Makefile.am, src/lib-sieve/cmd-keep.c, src/lib-sieve + /ext-fileinto.c, src/lib-sieve/sieve-actions.h: + Added UTF-8 to modified UTF-7 folder name conversion for + compatibility with IMAP. + [fc0395d50d04] + + * .hgignore, src/sieve-tools/sieve-exec, src/sieve-tools/sieve-test, + src/sieve-tools/sievec, src/sieve-tools/sieved: + Accidentally added binaries for sieve tools. + [99b09b8a310a] + +2008-11-01 Stephan Bosch + + * doc/rfc/draft-ietf-sieve-notify-12.txt, src/lib- + sieve/plugins/enotify/Makefile.am, src/lib-sieve/plugins/enotify + /cmd-notify.c, src/lib-sieve/plugins/enotify/ext-enotify-common.h, + src/lib-sieve/plugins/enotify/ext-enotify.c: + Enotify: built skeleton for the notify command. + [482517b70a32] + + * README, TODO, configure.in, src/Makefile.am, src/lib-sieve- + tool/Makefile.am, src/lib-sieve-tool/mail-raw.c, src/lib-sieve-tool + /mail-raw.h, src/lib-sieve-tool/sieve-tool.c, src/lib-sieve-tool + /sieve-tool.h, src/lib-util/Makefile.am, src/lib-util/mail-raw.c, + src/lib-util/mail-raw.h, src/sieve-bin/Makefile.am, src/sieve-bin + /bin-common.c, src/sieve-bin/bin-common.h, src/sieve-bin/sieve- + exec.c, src/sieve-bin/sieve-test.c, src/sieve-bin/sievec.c, src + /sieve-bin/sieved.c, src/sieve-tools/Makefile.am, src/sieve-tools + /sieve-exec, src/sieve-tools/sieve-exec.c, src/sieve-tools/sieve- + test, src/sieve-tools/sieve-test.c, src/sieve-tools/sievec, src + /sieve-tools/sievec.c, src/sieve-tools/sieved, src/sieve- + tools/sieved.c, src/testsuite/Makefile.am, + src/testsuite/testsuite.c: + Removed code duplication between testsuite and commandline tools. + Also restructured source code of the tools. + [bf8ca24d25ef] + +2008-10-30 Stephan Bosch + + * src/sieve-bin/Makefile.am, src/sieve-bin/namespaces.c, src/sieve- + bin/namespaces.h, src/sieve-bin/sieve-exec.c, src/sieve-bin/sieve- + test.c, src/testsuite/Makefile.am, src/testsuite/namespaces.c, + src/testsuite/namespaces.h, src/testsuite/testsuite-common.c, + src/testsuite/testsuite-objects.c, src/testsuite/testsuite.c: + Removed now obsolete namespaces.c/h from testsuite and commandline + tools. + [937eb9e8e043] + + * src/sieve-bin/Makefile.am, src/sieve-bin/namespaces.c, + src/testsuite/Makefile.am, src/testsuite/namespaces.c: + Enabled all available mail storage types (those compiled in Dovecot) + for the commandline tools and the testsuite. + [3d96a883bda0] + + * configure.in, src/Makefile.am, src/lib-util/Makefile.am, src/lib- + util/mail-raw.c, src/lib-util/mail-raw.h, src/sieve-bin/Makefile.am, + src/sieve-bin/bin-common.c, src/sieve-bin/mail-raw.c, src/sieve-bin + /mail-raw.h, src/sieve-bin/sieve-exec.c, src/sieve-bin/sieve-test.c, + src/testsuite/Makefile.am, src/testsuite/mail-raw.c, src/testsuite + /mail-raw.h, src/testsuite/testsuite-common.c: + Merged mail-raw implementations of sieve commandline tools and the + testsuite, thus removing duplicate code. + [7e82c26a38bd] + + * src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, src/plugins/lda-sieve + /lda-sieve-plugin.c, src/sieve-bin/bin-common.c: + Made lda plugin properly refer to the main script as 'main script' + and not the basename of the sieve file (which is of no interest to + the user for the main script). + [bc09d2616c36] + + * src/lib-sieve/sieve-script.c, src/plugins/lda-sieve/lda-sieve- + plugin.c: + Improved logging of failed script load. + [32c0b5cc77af] + +2008-10-29 Stephan Bosch + + * src/lib-sieve/sieve-actions.c: + Now using folder name as specified by user in log messages in stead + of internal representation. + [5d6f65468c6d] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Added mail_debug messages to plugin to find problems in the sieve + path specification more easily. + [91a3f25c3df5] + + * TODO: + Added TODO item. + [747107b816dc] + + * src/sieve-bin/sievec.c: + Command sievec -d always wrote to std out. + [e92ec8bbd16a] + + * src/sieve-bin/bin-common.c, src/testsuite/testsuite.c: + Fixed missing mask argument in two open calls (bug found by Sergey + Ivanov). + [8dcba4f38a67] + +2008-10-25 Stephan Bosch + + * configure.in, src/lib-sieve/plugins/Makefile.am, src/lib- + sieve/plugins/enotify/Makefile.am, src/lib-sieve/plugins/enotify + /ext-enotify.c: + Started development of enotify extension. + [85d6ef932c4f] + +2008-10-23 Stephan Bosch + + * .hgtags: + Added tag 0.1.0 for changeset 065c12acdcc0 + [b7d9c5e026b6] + + * TODO, configure.in: + Released v0.1.0 for Dovecot v1.2.alpha3. + [065c12acdcc0] [0.1.0] + + * AUTHORS, NEWS, README: + Minor revisions to the package documentation. + [9e487fec9dce] + +2008-10-22 Stephan Bosch + + * src/lib-sieve/sieve-types.h: + Fixed warning caused by mixup between mail_storage and + sieve_storage. + [aa3e90f621b1] + + * src/lib-sieve/sieve-actions.c: + Improved execution of store action. + [2877fa93580c] + +2008-10-21 Stephan Bosch + + * src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-types.h, + src/plugins/lda-sieve/lda-sieve-plugin.c: + Properly set storage_r in plugin function to prevent double errors. + [a679d84dff88] + +2008-10-20 Stephan Bosch + + * src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-result.c: + Prevented transaction context from becoming NULL in execution of + store action. + [2402b1499813] + + * src/lib-sieve/sieve-result.c: + Fixed context handling bug in the result execution. + [a88276bff812] + +2008-10-19 Stephan Bosch + + * src/lib-sieve/sieve-validator.c, tests/compile/errors.svtest, + tests/compile/errors/typos.sieve: + Clarified errors occurring when colon is missing. + [3366b70ef4e3] + + * src/lib-sieve/sieve-validator.c, tests/compile/errors.svtest: + Corrected error message. + [84dfe8d5a47a] + + * README, src/lib-sieve/sieve-validator.c, + tests/compile/errors.svtest: + Clarified error messages for missing semicolon. + [b78529976e65] + + * Makefile.am, src/lib-sieve/plugins/body/Makefile.am, src/lib- + sieve/plugins/body/body.sieve, src/lib-sieve/plugins/comparator-i + -ascii-numeric/Makefile.am, src/lib-sieve/plugins/comparator-i + -ascii-numeric/cmp-i-ascii-numeric.sieve, src/lib- + sieve/plugins/copy/Makefile.am, src/lib- + sieve/plugins/copy/copy.sieve, src/lib- + sieve/plugins/imapflags/Makefile.am, src/lib- + sieve/plugins/imapflags/imapflags-2.sieve, src/lib- + sieve/plugins/imapflags/imapflags-errors.sieve, src/lib- + sieve/plugins/imapflags/imapflags-implicit.sieve, src/lib- + sieve/plugins/imapflags/imapflags-variables.sieve, src/lib- + sieve/plugins/imapflags/imapflags.sieve, src/lib- + sieve/plugins/regex/Makefile.am, src/lib- + sieve/plugins/relational/Makefile.am, src/lib- + sieve/plugins/relational/relational.sieve, src/lib- + sieve/plugins/subaddress/Makefile.am, src/lib- + sieve/plugins/subaddress/subaddress.sieve, src/lib- + sieve/plugins/vacation/Makefile.am, src/lib-sieve/plugins/vacation + /vacation-errors.sieve, src/lib- + sieve/plugins/vacation/vacation.sieve, src/lib- + sieve/plugins/variables/Makefile.am, src/lib-sieve/plugins/variables + /variables-errors.sieve, src/lib-sieve/plugins/variables/variables- + match.sieve, src/lib-sieve/plugins/variables/variables-nspace.sieve, + src/lib-sieve/plugins/variables/variables-regex.sieve, src/lib- + sieve/plugins/variables/variables.sieve, src/testsuite/Makefile.am: + Repaired 'make dist' tarball output. + [28b57e7024b7] + + * INSTALL, README, configure.in: + Revised README. + [dd3cdd379693] + + * TODO, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve-result.h, + src/testsuite/Makefile.am, src/testsuite/ext-testsuite.c, + src/testsuite/testsuite-common.c, src/testsuite/testsuite-common.h, + src/testsuite/testsuite-result.c, src/testsuite/testsuite-result.h, + src/testsuite/tst-test-error.c, src/testsuite/tst-test-result.c, + tests/execute/actions.svtest, tests/execute/actions/fileinto.sieve, + tests/execute/actions/redirect.sieve, + tests/extensions/reject/execute.svtest, + tests/extensions/vacation/execute.svtest, + tests/extensions/vacation/execute/action.sieve: + Testsuite: added support for basic result checking. + [ff43885270f0] + + * TODO, doc/rfc/RFC Controversy.txt, doc/rfc/RFC-questions.txt: + Reported RFC questions to the ietf-mta-filters mailinglist. + [c878efb32b9d] + + * TODO, src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/regex/mcht-regex.c, src/lib-sieve/sieve-comparators.c, + tests/compile/errors.svtest, tests/compile/errors/unsupported.sieve: + Added explicit messages and tests for unsupported use of variables. + [6d1c5ca0d75c] + +2008-10-12 Stephan Bosch + + * TODO: + Updated TODO. + [56dc772ca475] + + * TODO, src/lib-sieve/plugins/variables/ext-variables-dump.c: + Fixed TODO: made sure main scope used in variables dumping is + unreferenced when code dumper is freed. + [58f57ad4f723] + + * TODO: + Tested replacing cmusieve with sieve. + [3a82ec3361db] + + * src/lib-sieve/sieve-binary.c: + Function t_str_new_const got moved to its proper place in Dovecot. + [7f5fc7f2e8cc] + +2008-10-11 Stephan Bosch + + * src/lib-sieve/sieve-code-dumper.c, src/lib-sieve/sieve-code- + dumper.h: + Added extension support to code dumper. + [59f5b7074e34] + + * src/lib-sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/sieve-binary.c, src/lib-sieve/sieve-parser.c: + Removed/solved minor TODOs. + [f16ab5f94f51] + + * TODO: + Merged concurrent changes. + [d061ae363863] + + * TODO, src/lib-sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/variables + /ext-variables-dump.c, src/lib-sieve/plugins/variables/sieve-ext- + variables.h: + Variables/Include: added support for dumping variables declared in + extension scopes. + [d514f5e3a5f4] + +2008-10-09 Stephan Bosch + + * TODO, src/lib-sieve/sieve-error.c: + Fixed amd64 logging segfault; turns out using same va_args in + multiple vprintf calls is not possible. + [139edcdd3820] + +2008-10-05 Stephan Bosch + + * src/lib-sieve/sieve-actions.c: + Added support for mailbox autocreate and autosubscribe. + [79da56ccfdc5] + + * TODO, src/lib-sieve/cmd-keep.c, src/lib-sieve/cmd-redirect.c, src + /lib-sieve/plugins/include/ext-include-common.c, src/lib-sieve + /sieve-actions.c, src/lib-sieve/sieve-actions.h, src/lib-sieve + /sieve-interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib- + sieve/sieve-result.c, src/lib-sieve/sieve-result.h, src/lib-sieve + /sieve-types.h, src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, + src/plugins/lda-sieve/lda-sieve-plugin.c, src/sieve-bin/sieve- + exec.c, src/sieve-bin/sieve-test.c, src/testsuite/testsuite- + common.c, src/testsuite/testsuite.c: + Made plugin use tried_default_save indicator to prevent duplicate + error messages. + [f0a7278c5645] + +2008-10-04 Stephan Bosch + + * TODO: + Updated TODO. + [0896583c34c1] + +2008-09-28 Stephan Bosch + + * src/lib-sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/ext-variables-dump.c, src/lib- + sieve/plugins/variables/ext-variables-dump.h, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, src/lib-sieve/sieve- + code-dumper.c, src/lib-sieve/sieve-code-dumper.h: + Variables: added identifier dump support for main scope. + [87841459a7ee] + +2008-09-18 Stephan Bosch + + * src/lib-sieve/plugins/variables/Makefile.am, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/ext-variables-dump.c, src/lib- + sieve/plugins/variables/ext-variables-dump.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib-sieve/sieve-code- + dumper.c, src/lib-sieve/sieve-code-dumper.h: + Variables: added dumptime context. + [7cd99ac6219f] + +2008-09-15 Stephan Bosch + + * Merged concurrent changes. + [f61d20c07954] + +2008-09-14 Stephan Bosch + + * NEWS: + Started NEWS file. + [32f5a1ed47c6] + + * DESIGN, Makefile.am, doc/devel/DESIGN: + Moved design description to doc/devel directory. + [1673630bb79d] + + * README, examples/elvey.sieve, examples/jerry.sieve, + examples/mjohnson.sieve, examples/mklose.sieve, + examples/relational.rfc5231.sieve, examples/rfc3028.sieve, + examples/sanjay.sieve, examples/sieve_examples.sieve, + examples/subaddress.rfc5233.sieve, examples/vacation.sieve, + examples/vivil.sieve, sieve/examples/elvey.sieve, + sieve/examples/jerry.sieve, sieve/examples/mjohnson.sieve, + sieve/examples/mklose.sieve, + sieve/examples/relational.rfc5231.sieve, + sieve/examples/rfc3028.sieve, sieve/examples/sanjay.sieve, + sieve/examples/sieve_examples.sieve, + sieve/examples/subaddress.rfc5233.sieve, + sieve/examples/vacation.sieve, sieve/examples/vivil.sieve, + sieve/tests/actions.sieve, sieve/tests/address-part.sieve, + sieve/tests/basic.sieve, sieve/tests/comparator.sieve, sieve/tests + /encoded-character.sieve, sieve/tests/envelope.sieve, + sieve/tests/extensions.sieve, sieve/tests/if.sieve, sieve/tests + /match-type.sieve, sieve/tests/matches.sieve, + sieve/tests/stop.sieve, sieve/tests/vacation.sieve, + tests/compile/examples.svtest: + Restructured Sieve example scripts. + [a1962f923e34] + + * Makefile.am, sieve/tests/fileinto.sieve, sieve/tests/redirect.sieve, + tests/execute/actions.svtest, tests/execute/actions/fileinto.sieve, + tests/execute/actions/redirect.sieve, + tests/extensions/reject/execute.svtest: + Testsuite: added execution tests for core actions (to find + segfaults). + [a1dd8113e9d3] + + * Makefile.am, sieve/tests/reject.sieve, + tests/extensions/reject/execute.svtest, + tests/extensions/reject/execute/basic.sieve: + Testsuite: added trivial reject action execution test. + [f319f06ede13] + +2008-09-13 Stephan Bosch + + * sieve/errors/address-errors.sieve, sieve/errors/address-part- + errors.sieve, sieve/errors/encoded-character.sieve, sieve/errors + /envelope-errors.sieve, sieve/errors/header-errors.sieve, + sieve/errors/if-errors.sieve, sieve/errors/interesting.sieve, + sieve/errors/keep-errors.sieve, sieve/errors/out-address- + errors.sieve, sieve/errors/parse-errors.sieve, sieve/errors/require- + errors.sieve, sieve/errors/size-errors.sieve, sieve/errors/stop- + errors.sieve, sieve/errors/tag-errors.sieve, + tests/compile/errors.svtest, tests/compile/errors/out-address.sieve, + tests/compile/errors/tag.sieve: + Testsuite: added final existing error tests. + [08769a713018] + + * README: + Improved README to be more readable. + [e6c4a1fdfb42] + +2008-09-12 Stephan Bosch + + * src/lib-sieve/sieve-error.c: + Removed useless PTR_OFFSET from logfile error handler + implementation. + [6f8a49489e5e] + + * TODO: + Added pre-release TODO item. + [4b4ef898598d] + + * TODO, src/lib-sieve/cmd-redirect.c, src/lib-sieve/cmd-require.c, src + /lib-sieve/ext-encoded-character.c, src/lib-sieve/ext-envelope.c, + src/lib-sieve/plugins/body/tst-body.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/include/cmd-import.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/regex/mcht-regex.c, src/lib- + sieve/plugins/relational/ext-relational-common.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-arguments.c, src/lib-sieve/sieve-commands.h, src/lib- + sieve/sieve-comparators.c, src/lib-sieve/sieve-match-types.c, src + /lib-sieve/sieve-match-types.h, src/lib-sieve/sieve-validator.c, src + /lib-sieve/tst-address.c, src/lib-sieve/tst-size.c, src/testsuite + /testsuite-objects.c: + Improved argument error reporting. + [ad5905fa16bc] + + * src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve-ast.h, src/lib-sieve + /sieve-commands.h, src/lib-sieve/sieve-generator.c, src/lib-sieve + /sieve-generator.h, src/lib-sieve/sieve-validator.c, src/lib-sieve + /sieve-validator.h: + Restructured error reporting in validator and code generator. + [d54dfe15ad5f] + + * src/lib-sieve/plugins/vacation/cmd-vacation.c, src/lib-sieve/tst- + size.c, src/testsuite/tst-test-error.c: + Fixed new ia64 warnings. + [191eabe91f70] + + * src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h: + Fixed new ia64 warnings in sieve-code. + [bc8e86291ec7] + + * src/lib-sieve/sieve-code.h: + Fixed new ia64 warnings in sieve-code. + [f655f4d28eb2] + + * src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h: + Fixed ia64 warnings in sieve-code. + [4f2b18823f75] + + * src/lib-sieve/plugins/variables/ext-variables-arguments.c: + Variables: fixed ia64 compiler warnings. + [04859d48e9f6] + + * src/lib-sieve/sieve-error.c: + Forgot to handle return value of o_stream_send in logfile error + hander implementation. + [50f6194d644e] + + * src/lib-sieve/sieve-error.c: + Forgot O_TRUNC in logfile error handler's second logfile open() + call. + [9f7e64968d61] + + * src/lib-sieve/plugins/include/cmd-import.c: + Include: improved trace verbosity for import command. + [6618ab99e32a] + + * src/lib-sieve/plugins/include/cmd-import.c, src/lib- + sieve/plugins/include/cmd-include.c, src/lib-sieve/plugins/include + /ext-include-binary.c, src/lib-sieve/plugins/include/ext-include- + variables.c, src/lib-sieve/plugins/variables/ext-variables-common.c, + src/lib-sieve/plugins/variables/ext-variables-modifiers.c, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib-sieve + /sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve- + code-dumper.c, src/lib-sieve/sieve-code.c, src/lib-sieve/sieve- + code.h, src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve- + interpreter.c: + Hopefully resolved various type cast warnings surfacing on ia_64 and + not on i386. + [0e9312deb8ea] + + * tests/address.svtest: + Testsuite: added address test case for specific strange situation. + [5bc7b863ba0b] + + * src/lib-sieve/plugins/relational/mcht-count.c: + Relational: fixed portability issue in count match type (warning). + [910812bf8e80] + +2008-09-10 Stephan Bosch + + * README: + Updated documentation. + [11408405fac3] + + * TODO, src/lib-sieve/sieve-error.c: + Devised simple log rotation to prevent per-user sieve processing + logs to grow indefinitely. + [9d42eeb8ce8f] + +2008-09-09 Stephan Bosch + + * TODO: + Updated TODO list. + [a589169c1870] + + * TODO, src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext-envelope.c, + src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/mcht-is.c, src/lib-sieve/plugins/body/tst-body.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/imapflags + /tst-hasflag.c, src/lib-sieve/plugins/include/cmd-include.c, src + /lib-sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-common.c, src/lib-sieve/plugins/variables/ext- + variables-modifiers.c, src/lib-sieve/plugins/variables/ext- + variables-operands.c, src/lib-sieve/plugins/variables/tst-string.c, + src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve-code- + dumper.c, src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h, + src/lib-sieve/sieve-comparators.c, src/lib-sieve/sieve-match- + types.c, src/lib-sieve/tst-address.c, src/lib-sieve/tst-exists.c, + src/lib-sieve/tst-header.c, src/lib-sieve/tst-size.c, src/testsuite + /cmd-test-fail.c, src/testsuite/cmd-test-set.c, src/testsuite/cmd- + test.c, src/testsuite/testsuite-objects.c, src/testsuite/tst-test- + compile.c, src/testsuite/tst-test-error.c: + Improved byte code dumping to be more readable. + [758155f2aab1] + + * TODO: + Updated TODO file. + [b9341f8c801e] + +2008-09-07 Stephan Bosch + + * INSTALL, README, TODO: + Updated documentation. + [6628c1731333] + + * TODO: + Removed redundant security issue listed in TODO. + [05599a5b010b] + + * Makefile.am, TODO, src/lib-sieve/mcht-is.c, src/lib-sieve/sieve- + address-parts.c, tests/address.svtest: + Resolved handling of invalid addresses in headers for the most part. + [0f3e2d8877e4] + + * TODO, src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h: + Variables: made sure broken/malicious binary cannot allocate + variable storage of arbitrary size. + [1ce135869da6] + + * src/lib-sieve/plugins/include/ext-include.c, src/lib- + sieve/plugins/variables/ext-variables-common.c: + Variables: added coding of variable scope. + [511ac1c1864e] + + * src/lib-sieve/ext-encoded-character.c, src/lib-sieve/ext-envelope.c, + src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/comparator-i + -ascii-numeric/ext-cmp-i-ascii-numeric.c, src/lib-sieve/plugins/copy + /ext-copy.c, src/lib-sieve/plugins/imapflags/ext-imapflags.c, src + /lib-sieve/plugins/include/ext-include.c, src/lib- + sieve/plugins/regex/ext-regex.c, src/lib-sieve/plugins/relational + /ext-relational.c, src/lib-sieve/plugins/subaddress/ext- + subaddress.c, src/lib-sieve/plugins/vacation/ext-vacation.c, src + /lib-sieve/plugins/variables/ext-variables-arguments.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-code-dumper.c, src/lib-sieve + /sieve-comparators.c, src/lib-sieve/sieve-extensions.c, src/lib- + sieve/sieve-extensions.h, src/lib-sieve/sieve-interpreter.c, src + /lib-sieve/sieve-match-types.c, src/testsuite/ext-testsuite.c: + Added support for per-script extension intialization. + [8ce3c35e05d7] + +2008-09-06 Stephan Bosch + + * INSTALL, README: + Reduced the severity of the warning indicating the experimental + nature of this implementation. + [ceea4bd93458] + + * TODO: + Updated TODO. + [a200a842fd4c] + +2008-08-31 Stephan Bosch + + * src/lib-sieve/sieve-code-dumper.c: + Minor cosmetic change to code dumping. + [75828a2293e0] + + * src/lib-sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib-sieve/sieve- + ast.c, src/lib-sieve/sieve-binary-dumper.c, src/lib-sieve/sieve- + code-dumper.c, src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve.c, src/testsuite/testsuite- + common.c, src/testsuite/testsuite.c: + Added the concept of a script code header to list the extensions + actually used by a script (was using all extensions listed in the + binary). + [7be9b0d97e5f] + + * src/lib-sieve/cmd-require.c, src/lib-sieve/sieve-ast.c, src/lib- + sieve/sieve-ast.h, src/lib-sieve/sieve-generator.c, src/lib-sieve + /sieve-generator.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /sieve-validator.c: + Revised implementation of the require command. + [40c588255ef4] + + * Makefile.am, TODO, src/lib-sieve/plugins/vacation/cmd-vacation.c, + tests/extensions/vacation/execute.svtest, + tests/extensions/vacation/execute/no-handle.sieve: + Vacation: properly implemented handling of variables vs. handle + generation. + [93fb21f7bc6b] + + * tests/extensions/imapflags/execute.svtest, + tests/extensions/imapflags/execute/flags-side-effect.sieve: + Forgot to add niet testsuite files. + [aae56b7f1a47] + + * src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h: + Added support for runtime detection of variable strings. + [6e1f1dcabba9] + + * TODO: + Updated TODO. + [7741fd1718b8] + + * Makefile.am, TODO, src/lib-sieve/cmd-keep.c, src/lib- + sieve/plugins/copy/ext-copy.c, src/lib-sieve/plugins/imapflags/tag- + flags.c, src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve- + generator.c, src/lib-sieve/sieve-result.c: + Imapflags: properly implemented handling of duplicate store actions + with different :flags. + [3ac7e031ebd0] + +2008-08-30 Stephan Bosch + + * src/lib-sieve/cmd-redirect.c: + Fixed assertion triggered at the end when redirect was executed + before. + [3ac9261ad66f] + + * src/sieve-bin/mail-raw.c, src/sieve-bin/mail-raw.h, src/sieve-bin + /sieve-exec.c, src/sieve-bin/sieve-test.c: + Incorporated changes in deliver into the mail-raw implementation of + the sieve tools. + [938996ab0023] + +2008-08-26 Stephan Bosch + + * TODO, src/lib-sieve/plugins/imapflags/ext-imapflags-common.c: + Imapflags: Added FIXME. + [fd1281ef5eef] + + * TODO, src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-redirect.c, src + /lib-sieve/ext-reject.c, src/lib-sieve/plugins/vacation/cmd- + vacation.c, src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve- + result.c, src/lib-sieve/sieve-result.h, tests/execute/errors.svtest, + tests/execute/errors/actions-limit.sieve, tests/execute/errors + /redirect-limit.sieve: + Implemented policy limit on the maximum number of redirect actions + in a result. + [c8524a9a370f] + + * src/lib-sieve/Makefile.am, src/lib-sieve/sieve-limits.c, src/lib- + sieve/sieve-limits.h, src/lib-sieve/sieve-result.c, + tests/execute/errors.svtest, tests/execute/errors/actions- + limit.sieve: + Implemented limit on the number of actions active simultaneously. + [a62a86f489d0] + + * src/lib-sieve/plugins/variables/ext-variables-common.c, + tests/extensions/include/errors/action-conflicts.sieve, + tests/extensions/include/errors/included/action-fileinto.sieve, + tests/extensions/include/errors/included/action-reject.sieve, + tests/extensions/include/errors/runtime.sieve: + Include: fixed a stupid bug triggered when variables are not used. + [48079cfe53f7] + + * tests/extensions/include/errors.svtest: + Testsuite: activated runtime tests for the include extension. + [73aa79ec006a] + + * Makefile.am, tests/extensions/vacation/errors.svtest, + tests/extensions/vacation/errors/conflict-reject.sieve: + Testsuite: added runtime error tests for vacation extension. + [d32c37e395ce] + + * Makefile.am, tests/execute/errors.svtest, tests/execute/errors + /action-conflicts.sieve, tests/execute/errors/conflict-reject- + fileinto.sieve, tests/execute/errors/conflict-reject-keep.sieve, + tests/execute/errors/conflict-reject-redirect.sieve: + Testsuite: added simple runtime action conflict tests. + [6bef60271972] + + * doc/rfc/draft-ietf-sieve-refuse-reject-07.txt: + Installed refuse-reject draft RFC in doc/rfc directory. + [c608ef17a086] + +2008-08-25 Stephan Bosch + + * sieve/errors/action-conflicts.sieve, sieve/errors/action- + duplicates.sieve, src/lib-sieve/sieve-interpreter.c, + src/testsuite/Makefile.am, src/testsuite/ext-testsuite.c, + src/testsuite/testsuite-common.c, src/testsuite/testsuite-common.h, + src/testsuite/testsuite.c, src/testsuite/tst-test-execute.c, + tests/execute/errors/action-conflicts.sieve, tests/execute/errors + /action-duplicates.sieve: + Testsuite: added support for testing runtime errors. + [e2a304290b53] + + * TODO, src/lib-sieve/plugins/vacation/cmd-vacation.c, src/lib-sieve + /sieve-ast.c, src/lib-sieve/sieve-ast.h: + Vacation: discovered and partially fixed various RFC-related issues. + [97e0e14d9557] + + * doc/rfc/vacation.rfc5230.txt, src/lib-sieve/plugins/vacation/draft- + ietf-sieve-vacation-07.txt, src/lib-sieve/plugins/vacation/ext- + vacation.c: + Installed new RFC for vacation extension in doc/rfc directory. + [df13b70a2cb1] + + * TODO: + Updated TODO. + [a256cbead058] + + * TODO, src/testsuite/cmd-test-fail.c, src/testsuite/cmd-test-set.c, + src/testsuite/cmd-test.c, src/testsuite/ext-testsuite.c, + src/testsuite/mail-raw.c, src/testsuite/mail-raw.h, + src/testsuite/namespaces.c, src/testsuite/namespaces.h, + src/testsuite/testsuite-common.c, src/testsuite/testsuite-common.h, + src/testsuite/testsuite-objects.c, src/testsuite/testsuite- + objects.h, src/testsuite/testsuite.c, src/testsuite/tst-test- + compile.c, src/testsuite/tst-test-error.c: + Finished code cleanup for now. + [a458a0b55c11] + + * src/sieve-bin/bin-common.c, src/sieve-bin/bin-common.h, src/sieve- + bin/mail-raw.c, src/sieve-bin/mail-raw.h, src/sieve- + bin/namespaces.c, src/sieve-bin/namespaces.h, src/sieve-bin/sieve- + exec.c, src/sieve-bin/sieve-test.c, src/sieve-bin/sievec.c, src + /sieve-bin/sieved.c: + Cleaned up Sieve tools. + [ae09a094452c] + + * src/plugins/lda-sieve/lda-sieve-plugin.c, src/plugins/lda-sieve/lda- + sieve-plugin.h: + Cleaned up LDA Sieve plugin. + [ed1ca951fd92] + + * src/lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-arguments.c, src/lib- + sieve/plugins/variables/ext-variables-arguments.h, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/ext-variables-limits.h, src/lib- + sieve/plugins/variables/ext-variables-modifiers.c, src/lib- + sieve/plugins/variables/ext-variables-modifiers.h, src/lib- + sieve/plugins/variables/ext-variables-name.c, src/lib- + sieve/plugins/variables/ext-variables-name.h, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/ext-variables-operands.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, src/lib- + sieve/plugins/variables/tst-string.c: + Cleaned up variables extension. + [5a4e4e269892] + + * src/lib-sieve/plugins/vacation/cmd-vacation.c: + Vacation: removed useless duplicate_mark call. + [569aaef1dd00] + + * src/lib-sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.h, src/lib- + sieve/plugins/vacation/ext-vacation.c: + Cleaned up vacation extension. + [8df7a1bc6564] + +2008-08-18 Stephan Bosch + + * Makefile.am, sieve/examples/subaddress.rfc5233.sieve, tests/address- + parts/subaddress.svtest, tests/compile/examples.svtest, + tests/extensions/subaddress/basic.svtest, + tests/extensions/subaddress/rfc.svtest: + Testsuite: extended tests for the subaddress extension. + [7f440b626914] + +2008-08-17 Stephan Bosch + + * doc/rfc/subaddress.rfc5233.txt, src/lib- + sieve/plugins/subaddress/rfc3598.txt: + Installed new subaddress RFC in doc/rfc directory. + [5cb09b134086] + + * src/lib-sieve/plugins/subaddress/ext-subaddress.c: + Cleaned up subaddress extension. + [ec5e1f9fda78] + + * Makefile.am, sieve/examples/relational.rfc5231.sieve, tests/compile + /compile-examples.svtest, tests/compile/examples.svtest, + tests/extensions/relational/basic.svtest, + tests/extensions/relational/errors.svtest, + tests/extensions/relational/errors/validation.sieve, + tests/extensions/relational/rfc.svtest, tests/match- + types/relational.svtest: + Testsuite: restructured and extended tests for the relational + extension. + [17ee47e6d698] + + * doc/rfc/relational.rfc5231.txt, src/lib- + sieve/plugins/relational/rfc3431.txt: + Installed new relational RFC in doc/rfc directory. + [6a1838d879d9] + + * src/lib-sieve/plugins/relational/ext-relational-common.c, src/lib- + sieve/plugins/relational/ext-relational-common.h, src/lib- + sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/relational/mcht-value.c: + Cleaned up relational extension. + [8fa1cca640b9] + + * src/lib-sieve/plugins/regex/ext-regex-common.c, src/lib- + sieve/plugins/regex/ext-regex-common.h, src/lib-sieve/plugins/regex + /ext-regex.c, src/lib-sieve/plugins/regex/mcht-regex.c: + Cleaned up regex extension. + [930e79a89723] + + * src/lib-sieve/plugins/include/cmd-import.c, src/lib- + sieve/plugins/include/cmd-include.c, src/lib-sieve/plugins/include + /cmd-return.c, src/lib-sieve/plugins/include/ext-include-binary.c, + src/lib-sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include-limits.h, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/include/ext-include.c: + Cleaned up include extension. + [4f58be7cfde3] + + * src/lib-sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/imapflags + /tst-hasflag.c: + Cleaned up imapflags extension. + [1dc6e9c11f50] + + * src/lib-sieve/plugins/copy/ext-copy.c: + Cleaned up copy extension. + [1ae3233e93c0] + + * src/lib-sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i-ascii- + numeric.c: + Cleaned up comparator-i;ascii-numeric. + [3bc2c679843b] + +2008-08-16 Stephan Bosch + + * tests/extensions/body/match-values.svtest: + Forgot to add test file. + [31efedcb72a6] + + * Makefile.am: + Testsuite: added test for the behavior of the body test with match + values. + [76c69d75e5bd] + + * src/lib-sieve/plugins/body/ext-body-common.h, src/lib- + sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/body/tst- + body.c, src/lib-sieve/sieve-match-types.c: + Body: now disables match value processing during body test + evaluation as required by RFC. + [43ed6da2c07d] + + * src/lib-sieve/mcht-contains.c, src/lib-sieve/mcht-is.c, src/lib- + sieve/mcht-matches.c, src/lib-sieve/sieve-result.c, src/lib-sieve + /sieve-result.h, src/lib-sieve/sieve-script-private.h, src/lib-sieve + /sieve-script.c, src/lib-sieve/sieve-script.h, src/lib-sieve/sieve- + types.h, src/lib-sieve/sieve-validator.c, src/lib-sieve/sieve- + validator.h: + Finished code cleanup of the sieve library itself. + [7041828c5bf4] + + * src/lib-sieve/sieve-common.h, src/lib-sieve/sieve-dump.h, src/lib- + sieve/sieve-error-private.h, src/lib-sieve/sieve-error.c, src/lib- + sieve/sieve-error.h, src/lib-sieve/sieve-extensions.c, src/lib-sieve + /sieve-extensions.h, src/lib-sieve/sieve-generator.c, src/lib-sieve + /sieve-generator.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /sieve-interpreter.h, src/lib-sieve/sieve-limits.h, src/lib-sieve + /sieve-message.c, src/lib-sieve/sieve-message.h, src/lib-sieve + /sieve-objects.c, src/lib-sieve/sieve-objects.h: + Broad code cleanup. + [ce2750c32d73] + + * src/lib-sieve/cmd-stop.c: + Forgot to add new file for stop command. + [85e220b27364] + + * src/lib-sieve/Makefile.am, src/lib-sieve/cmd-discard.c, src/lib- + sieve/cmd-if.c, src/lib-sieve/cmd-keep.c, src/lib-sieve/cmd- + redirect.c, src/lib-sieve/cmd-require.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/include/cmd-import.c, src/lib-sieve/plugins/variables + /tst-string.c, src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve- + code-dumper.c, src/lib-sieve/sieve-commands-private.h, src/lib-sieve + /sieve-commands.c, src/lib-sieve/sieve-commands.h, src/lib-sieve + /sieve-generator.c, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /sieve-validator.c, src/lib-sieve/tst-address.c, src/lib-sieve/tst- + allof.c, src/lib-sieve/tst-anyof.c, src/lib-sieve/tst-exists.c, src + /lib-sieve/tst-header.c, src/lib-sieve/tst-not.c, src/lib-sieve/tst- + size.c, src/testsuite/cmd-test-fail.c, src/testsuite/cmd-test-set.c, + src/testsuite/cmd-test.c, src/testsuite/tst-test-compile.c, + src/testsuite/tst-test-error.c: + Cleaned up commands implementation. + [b91b56692665] + + * src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h: + Cleaned up sieve-code. + [bbee4bf32b63] + + * src/lib-sieve/sieve-binary-dumper.c, src/lib-sieve/sieve-binary- + dumper.h: + Cleaned up sieve-binary-dumper. + [08a3dc06bce3] + + * src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h: + Cleaned up sieve-binary. + [22672ecf40c3] + + * src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve-ast.h: + Cleaned up sieve-ast. + [00363cd89a2a] + + * src/lib-sieve/sieve-address.c, src/lib-sieve/sieve-address.h: + Cleaned up sieve-address. + [cb7d1b1feb8d] + + * src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h: + Cleaned up actions implementation. + [af5589339bd3] + + * src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve-address- + parts.h, src/lib-sieve/sieve-comparators.c: + Cleaned up address part and comparator implementation. + [dfc2d1398889] + + * sieve/errors/match-type-errors.sieve, src/lib-sieve/ext-envelope.c, + src/lib-sieve/plugins/body/tst-body.c, src/lib- + sieve/plugins/imapflags/tst-hasflag.c, src/lib-sieve/plugins/regex + /mcht-regex.c, src/lib-sieve/plugins/variables/tst-string.c, src + /lib-sieve/sieve-comparators.h, src/lib-sieve/sieve-match-types.c, + src/lib-sieve/sieve-match-types.h, src/lib-sieve/tst-address.c, src + /lib-sieve/tst-header.c, src/testsuite/tst-test-error.c, + tests/compile/errors.svtest, tests/compile/errors/match-type.sieve: + Cleaned up match type implementation. + [945375c5c915] + + * TODO, src/lib-sieve/plugins/regex/mcht-regex.c: + Regex: improvements and bugfixes. + [a6cf1195a291] + + * Makefile.am, src/lib-sieve/plugins/regex/regex-errors.sieve, + tests/extensions/regex/basic.svtest, + tests/extensions/regex/errors.svtest, + tests/extensions/regex/errors/compile.sieve, tests/match- + types/regex.svtest: + Testsuite: restructured regex tests. + [8e7c02d55cf3] + + * Makefile.am, doc/rfc/draft-murchison-sieve-regex-07.txt, src/lib- + sieve/plugins/regex/draft-murchison-sieve-regex-07.txt, src/lib- + sieve/plugins/regex/mcht-regex.c, src/lib- + sieve/plugins/regex/regex.sieve, src/lib-sieve/sieve-match-types.c, + tests/extensions/variables/regex.svtest, tests/match- + types/regex.svtest: + Regex: fixed a few minor bugs. + [560db263607a] + +2008-08-14 Stephan Bosch + + * src/sieve-bin/mail-raw.c, src/sieve-bin/mail-raw.h, src/sieve- + bin/namespaces.c, src/sieve-bin/namespaces.h, src/sieve-bin/sieve- + exec.c, src/sieve-bin/sieve-test.c, src/testsuite/mail-raw.c, + src/testsuite/mail-raw.h, src/testsuite/namespaces.c, + src/testsuite/namespaces.h, src/testsuite/testsuite-common.c, + src/testsuite/testsuite-common.h, src/testsuite/testsuite.c: + Compile fix for changes in Dovecot. + [aa1a94658613] + +2008-08-13 Stephan Bosch + + * TODO, src/lib-sieve/plugins/include/cmd-import.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/variables/ext-variables-common.c, + tests/extensions/include/errors/runtime.sieve: + Include: implemented runtime checking of export/import. + [cbd74d26eff4] + + * src/lib-sieve/plugins/include/cmd-import.c, src/lib- + sieve/plugins/include/cmd-include.c, src/lib-sieve/plugins/include + /ext-include-binary.c, src/lib-sieve/plugins/include/ext-include- + common.h, src/lib-sieve/plugins/include/ext-include-variables.c, src + /lib-sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/sieve-ast.c, src + /lib-sieve/sieve-ast.h, src/lib-sieve/sieve-validator.c, + tests/extensions/include/variables.svtest: + Include: transformed import and export to actual code operations for + runtime checking. + [d8002c76aabb] + + * src/lib-sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h: + Variables: added functionality to obtain variable identifier from + storage using linked scope. + [504a89d17b2d] + + * src/lib-sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-common.c, src/lib-sieve/plugins/variables/ext- + variables-operands.c, src/lib-sieve/plugins/variables/sieve-ext- + variables.h: + Variables: invalid variable indexes now trigger interpretation to + fail with EXEC_BIN_CORRUPT. + [7a03042a70ea] + +2008-08-12 Stephan Bosch + + * src/lib-sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.c: + Include: variable indexes are now verified to the global variable + scope, meaning that a corrupt binary cannot allocate arbitrary + global variables anymore. + [d8b16b132509] + + * src/lib-sieve/ext-encoded-character.c, src/lib-sieve/ext-envelope.c, + src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/comparator-i + -ascii-numeric/ext-cmp-i-ascii-numeric.c, src/lib-sieve/plugins/copy + /ext-copy.c, src/lib-sieve/plugins/imapflags/ext-imapflags.c, src + /lib-sieve/plugins/include/ext-include.c, src/lib- + sieve/plugins/regex/ext-regex.c, src/lib-sieve/plugins/relational + /ext-relational.c, src/lib-sieve/plugins/subaddress/ext- + subaddress.c, src/lib-sieve/plugins/vacation/ext-vacation.c, src + /lib-sieve/plugins/variables/ext-variables.c, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-comparators.c, src/lib-sieve + /sieve-extensions.c, src/lib-sieve/sieve-extensions.h, src/lib-sieve + /sieve-match-types.c, src/testsuite/ext-testsuite.c: + Removed obsoleted runtime_load() extension event. + [6f0b6cbd33c6] + + * src/lib-sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib-sieve + /sieve-match-types.c: + Added run() event to the interpreter_extension object. + [878c2ad37f27] + + * TODO: + Cleaned up TODO file. + [8ca8af945cec] + + * TODO, doc/rfc/RFC Controversy.txt, src/lib-sieve/plugins/imapflags + /ext-imapflags-common.c, src/lib-sieve/plugins/include/ext-include- + variables.c, src/lib-sieve/plugins/variables/Makefile.am, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-arguments.c, src/lib-sieve/plugins/variables/ext- + variables-common.c, src/lib-sieve/plugins/variables/ext-variables- + limits.h, src/lib-sieve/plugins/variables/ext-variables-name.c, src + /lib-sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, + tests/extensions/variables/basic.svtest, + tests/extensions/variables/errors.svtest, + tests/extensions/variables/errors/limits.sieve: + Variables: implemented limits on number of variables in a scope, the + length of variable names, size of variable values and the number of + accesible match values. + [f23512858a52] + + * TODO, src/lib-sieve/mcht-matches.c, src/lib- + sieve/plugins/include/Makefile.am, src/lib-sieve/plugins/regex/mcht- + regex.c, src/lib-sieve/sieve-limits.h, src/lib-sieve/sieve-match- + types.c: + Limited number of accepted match values + [31520dab90b8] + + * src/lib-sieve/plugins/include/ext-include-limits.h: + Include: forgot to add new file to the repository. + [32e7a10e0c4e] + + * TODO: + Merged concurrent changes. + [9a691e80df72] + + * TODO, src/lib-sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h: + Include: limited the number of included scripts. + [f01020cfcebb] + + * src/lib-sieve/sieve-script.c, src/lib-sieve/sieve-script.h, src/lib- + sieve/sieve.c, src/lib-sieve/sieve.h, src/plugins/lda-sieve/lda- + sieve-plugin.c, src/sieve-bin/bin-common.c: + LDA-Plugin: prevented plugin from polluting the logfiles when the + script does not exist. + [5d70ae722bca] + +2008-08-11 Stephan Bosch + + * src/lib-sieve/plugins/include/cmd-include.c, + tests/extensions/include/errors.svtest, + tests/extensions/include/errors/generic.sieve: + Include: used wrong messaging function in previous commit. + [177bf38926ca] + + * src/lib-sieve/plugins/include/cmd-include.c: + Include: prohibited use of '/' in scriptnames. + [88105cf833da] + +2008-08-10 Stephan Bosch + + * TODO, tests/extensions/body/basic.svtest: + Body: discovered various issues (listed in disabled tests). + [66543e00dfba] + + * src/lib-sieve/sieve-message.c, src/lib-sieve/sieve-message.h, + src/testsuite/cmd-test-set.c, src/testsuite/testsuite-common.c, + src/testsuite/testsuite-common.h, src/testsuite/testsuite-objects.c, + src/testsuite/testsuite-objects.h, + tests/extensions/body/basic.svtest: + Body: added test regarding empty bodies and fixed testsuite to flush + the message context when the message is changed. + [c6c5a7eb8e6e] + + * src/lib-sieve/plugins/body/tst-body.c, + tests/extensions/body/basic.svtest: + Body: fixed default comparator and added testsuite test to prevent + this in the future. + [83bd74561800] + + * Makefile.am, src/lib-sieve/plugins/body/ext-body-common.c, src/lib- + sieve/plugins/body/tst-body.c, tests/extensions/body/basic.svtest: + Body: fixed bug in the :raw transform, added much comment to the + body extraction code and added a first simple test to the testsuite. + [3153995e2bc7] + + * src/lib-sieve/sieve-lexer.c, src/testsuite/mail-raw.c: + Made the lexer conform to the new Sieve RFC. + [0fae7796f624] + + * doc/rfc/body.rfc5173.txt, src/lib-sieve/plugins/body/draft-ietf- + sieve-body-07.txt, src/lib-sieve/plugins/body/ext-body.c: + Installed RFC for the body extension in the doc/rfc directory. + [42dc34bb2dc2] + + * TODO, src/lib-sieve/cmd-redirect.c, src/lib-sieve/cmd-require.c, src + /lib-sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/plugins/imapflags/ext-imapflags- + common.c, src/lib-sieve/plugins/imapflags/tag-flags.c, src/lib- + sieve/plugins/include/cmd-include.c, src/lib-sieve/plugins/include + /ext-include-common.c, src/lib-sieve/plugins/relational/ext- + relational-common.c, src/lib-sieve/plugins/vacation/cmd-vacation.c, + src/lib-sieve/plugins/variables/ext-variables-arguments.c, src/lib- + sieve/sieve-actions.c, src/lib-sieve/sieve-binary.c, src/lib-sieve + /sieve-comparators.c, src/lib-sieve/sieve-validator.c, src/lib-sieve + /sieve-validator.h, src/lib-sieve/tst-address.c: + Made sure error messages do not print large erroneous values. + [ea459c2b87c0] + + * TODO, src/lib-sieve/sieve-parser.c, tests/compile/errors.svtest, + tests/compile/errors/parser.sieve: + Limited the depth of the AST and added tests to verify that it is + resolved gracefully. + [aa4d3069f079] + +2008-08-09 Stephan Bosch + + * src/lib-sieve/sieve-limits.h, src/lib-sieve/sieve-parser.c, + tests/compile/errors.svtest, tests/compile/errors/parser.sieve: + Limited number of command arguments. + [9a2fc3c9675d] + + * src/lib-sieve/sieve-lexer.c: + Made lexer use the (i_*) ctype.h functions. + [51d06f8b3339] + + * src/lib-sieve/sieve-lexer.c, src/lib-sieve/sieve-limits.h, + tests/compile/errors.svtest, tests/compile/errors/lexer.sieve: + Limited the length of identifiers. + [aaca552f0561] + + * TODO, src/lib-sieve/Makefile.am, src/lib-sieve/cmd-redirect.c, src + /lib-sieve/sieve-address.c, src/lib-sieve/sieve-ast.c, src/lib-sieve + /sieve-ast.h, src/lib-sieve/sieve-code.c, src/lib-sieve/sieve- + common.h, src/lib-sieve/sieve-lexer.c, src/lib-sieve/sieve-limits.h, + src/lib-sieve/sieve-parser.c, tests/compile/errors.svtest, + tests/compile/errors/lexer.sieve: + Enforced limits on string length and handled the finite nature of + integers for number parsing and the construction of the AST. + [317c332b2623] + +2008-08-06 Stephan Bosch + + * src/lib-sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-variables.c: + Include: fixed bug in global variables referencing the main script. + [b1c1779b1d4b] + +2008-08-05 Stephan Bosch + + * src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, + tests/extensions/include/variables.svtest: + Include: symbol table for global variables now also includes + locations for the first import/export of each known variable. + [ba3785f991b9] + + * src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h: + Include: included scripts are now referenced by an include_id in + stead of the binary block id. + [b67c51062eba] + + * src/lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve-validator.c: + Forgot to implement free() event for validator and interpreter + extensions. + [e1f834c53a3d] + + * src/lib-sieve/plugins/include/cmd-import.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/variables + /ext-variables-common.c, src/lib-sieve/plugins/variables/sieve-ext- + variables.h, src/lib-sieve/sieve-binary-dumper.c, src/lib-sieve + /sieve-binary-dumper.h, src/lib-sieve/sieve-extensions.h, src/lib- + sieve/sieve-generator.c, src/testsuite/ext-testsuite.c, + tests/extensions/include/errors.svtest, + tests/extensions/include/errors/import-runtime.sieve, + tests/extensions/include/errors/variables.sieve: + Include: added symbol table to the binary for global variables. + [d9518ecfeb23] + + * README, TODO: + Updated documentation. + [54897b07b2da] + +2008-08-03 Stephan Bosch + + * TODO: + Minor TODO file revisions. + [472b4c6dde9e] + + * Makefile.am, tests/match-types/regex.svtest: + Testsuite: added match values test for the :regex match + [35384a182b33] + + * TODO, src/lib-sieve/mcht-matches.c, src/lib-sieve/plugins/include + /ext-include-common.c, src/lib-sieve/plugins/regex/mcht-regex.c, src + /lib-sieve/sieve-match-types.c, src/lib-sieve/sieve-match-types.h, + tests/extensions/variables/match.svtest, tests/match- + types/matches.svtest: + Fixed replacing match values only when a test succeeds. + [dd371558d0fb] + + * src/lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve- + interpreter.h, src/lib-sieve/sieve-validator.c, src/lib-sieve/sieve- + validator.h: + Upgraded validator and interpreter extension support to provide + destruction notifications. + [0ec7042e1ce5] + +2008-08-02 Stephan Bosch + + * TODO: + Include: found one issue. + [37f5ac342261] + + * src/lib-sieve/plugins/include/ext-include-common.c, src/testsuite + /testsuite-common.c, src/testsuite/testsuite.c, + tests/extensions/include/errors.svtest, + tests/extensions/include/errors/circular-1.sieve, + tests/extensions/include/errors/circular-2.sieve, + tests/extensions/include/errors/circular-3.sieve, + tests/extensions/include/errors/included/circular-one.sieve, + tests/extensions/include/errors/included/circular-three-2.sieve, + tests/extensions/include/errors/included/circular-three-3.sieve, + tests/extensions/include/errors/included/circular-three.sieve, + tests/extensions/include/errors/included/circular-two-2.sieve, + tests/extensions/include/errors/included/circular-two.sieve, + tests/extensions/include/included/variables-included1.sieve, + tests/extensions/include/included/variables-included2.sieve, + tests/extensions/include/included/variables-included3.sieve, + tests/extensions/include/variables-included1.sieve, + tests/extensions/include/variables-included2.sieve, + tests/extensions/include/variables-included3.sieve: + Testsuite: added circular include tests. + [bfa2fb869c31] + + * doc/rfc/draft-daboo-sieve-include-05.txt, src/lib- + sieve/plugins/include/Makefile.am, src/lib-sieve/plugins/include + /draft-daboo-sieve-include-05.txt, src/lib-sieve/plugins/include + /include-error.sieve, src/lib-sieve/plugins/include/include- + variables.sieve, src/lib-sieve/plugins/include/include- + variables1.sieve, src/lib-sieve/plugins/include/include- + variables2.sieve, src/lib-sieve/plugins/include/include- + variables3.sieve, src/lib-sieve/plugins/include/include.sieve, src + /lib-sieve/plugins/include/included1.sieve, src/lib- + sieve/plugins/include/included2.sieve, src/lib- + sieve/plugins/include/included3.sieve, + tests/extensions/include/errors.svtest, + tests/extensions/include/errors/generic.sieve: + Include: cleaned up source directory. + [525f4e7bd2ce] + + * Makefile.am, src/lib-sieve/plugins/include/include-variables- + error.sieve, src/lib-sieve/plugins/include/include-variables- + error2.sieve, tests/extensions/include/errors.svtest, + tests/extensions/include/errors/variables-inactive.sieve, + tests/extensions/include/errors/variables.sieve: + Testsuite: added compile error tests for the include extension. + [7efaba3fb362] + + * src/lib-sieve/plugins/copy/rfc3894.txt: + Copy: forgot to remove RFC from old location. + [4cd77c6931ad] + + * doc/rfc/copy.rfc3894.txt: + Copy: moved RFC to doc/rfc directory. + [04dd13d1e194] + + * doc/rfc/imap4flags.rfc5232.txt, src/lib-sieve/plugins/imapflags + /draft-ietf-sieve-imapflags-05.txt, src/lib-sieve/plugins/imapflags + /ext-imapflags.c: + Imapflags: updated specification to RFC 5232. + [f1f8c50c2d7e] + + * TODO: + Imapflags: found one new issue. + [9f896bff4250] + + * Makefile.am, src/lib-sieve/plugins/imapflags/ext-imapflags-common.c, + src/lib-sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/tst-hasflag.c, src/lib- + sieve/plugins/variables/ext-variables-arguments.c, src/lib-sieve + /sieve-generator.c, tests/extensions/imapflags/hasflag.svtest, + tests/extensions/imapflags/rfc.svtest: + Imapflags: accidentally omitted support for multiple variables in + the hasflag test. + [b6602e8dd433] + + * TODO, tests/extensions/variables/errors.svtest, + tests/extensions/variables/errors/set.sieve, + tests/extensions/variables/string.svtest: + Testsuite: added new tests for the variables extension. + [ff3d19af6da3] + + * src/lib-sieve/sieve-lexer.c, src/lib-sieve/sieve-validator.c, + tests/compile/trivial.sieve, + tests/extensions/variables/errors.svtest: + Fixed various case-sensitivily-related issues. + [8d140a08e7d8] + + * Makefile.am, src/lib-sieve/plugins/variables/ext-variables- + arguments.c, tests/extensions/variables/errors.svtest, + tests/extensions/variables/errors/namespace.sieve, + tests/extensions/variables/errors/set.sieve: + Variables: fixed various error handling issues. + [eb93d4e65fce] + + * src/lib-sieve/sieve-address.c: + Fixed a warning. + [5e651fda205f] + +2008-08-01 Stephan Bosch + + * Makefile.am, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/variables/Makefile.am, src/lib-sieve/plugins/variables + /ext-variables.c: + Fixed 'make dist' to produce a working tarball. + [39a595dbbde4] + + * src/lib-sieve/mcht-matches.c, src/lib-sieve/plugins/comparator-i + -ascii-numeric/ext-cmp-i-ascii-numeric.c, tests/match- + types/contains.svtest, tests/match-types/is.svtest, tests/match- + types/matches.svtest, tests/match-types/relational.svtest: + Testsuite: added test regarding matching the empty string and fixed + an issue in the i;ascii-numeric comparator. + [4817eca9348a] + + * Makefile.am, TODO, src/lib-sieve/mcht-contains.c, src/lib-sieve + /mcht-is.c, src/lib-sieve/mcht-matches.c, src/lib- + sieve/plugins/regex/mcht-regex.c, src/lib-sieve/plugins/relational + /mcht-count.c, src/lib-sieve/plugins/relational/mcht-value.c, src + /lib-sieve/plugins/variables/tst-string.c, src/lib-sieve/sieve- + match-types.h, src/lib-sieve/sieve-match.c, + tests/extensions/variables/string.svtest: + Variables: fixed :count issue for the string test. + [fc0444f14dd1] + + * TODO, tests/extensions/variables/basic.svtest, + tests/extensions/variables/modifiers.svtest, + tests/extensions/variables/string.svtest: + Testsuite: added more tests for the variables extension and found + one issue. + [cd218e005c1e] + + * Makefile.am, src/lib-sieve/ext-envelope.c, src/lib-sieve/tst- + address.c, src/lib-sieve/tst-header.c, + tests/extensions/variables/basic.svtest, + tests/extensions/variables/match.svtest, + tests/extensions/variables/modifiers.svtest, tests/match- + types/contains.svtest: + Testsuite: added RFC compliance tests for the variables extension + and fixed use of wrong default comparator. + [2246d563ad2d] + + * src/lib-sieve/ext-encoded-character.c, src/lib- + sieve/plugins/variables/ext-variables-arguments.c, src/lib-sieve + /sieve-validator.c, tests/extensions/variables/quoting.svtest: + Fixed bug in the order of default argument processing. Variable + strings were evaluated befor constant strings, which is wrong. + [6fa43c9bac62] + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/sieve-address.c, + tests/extensions/envelope.svtest: + Envelope: added more test and fixed source route parsing. + [568d3af73d04] + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/sieve-address.c, + tests/extensions/envelope.svtest: + Envelope: fixed one bug in the path parsing (printfs active). + [fbae4e8724ad] + +2008-07-31 Stephan Bosch + + * TODO, doc/rfc/RFC Controversy.txt, src/lib-sieve/ext-envelope.c, src + /lib-sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve + /sieve-address.c, src/lib-sieve/sieve-address.h, src/lib-sieve + /sieve-common.h, tests/extensions/envelope.svtest, + tests/testsuite.svtest: + Envelope: working towards proper RFC compliance of forward/return- + path parsing. + [0d6138082c33] + +2008-07-29 Stephan Bosch + + * src/lib-sieve/plugins/variables/ext-variables-arguments.c, + tests/extensions/variables/basic.svtest: + Variables: fixed RFC compliance issue regarding failing validation + on unknown namespaces. + [336904483e84] + + * src/lib-sieve/plugins/variables/ext-variables-arguments.c, + tests/extensions/variables/basic.svtest: + Variables: fixed bug in variables substitution (RFC example failed + during testing). + [ccbfb44d427c] + + * src/lib-sieve/plugins/variables/ext-variables-common.c, + tests/extensions/variables/basic.svtest: + Variables: fixed very significant bug in the variable scope + implementation. + [225f7cfd99c0] + + * src/lib-sieve/sieve-binary.h: + Removed superfluous include. + [29e9b491cadf] + + * tests/extensions/variables/basic.svtest: + Testsuite: cleaned up basic varibles test case. + [b8ac459bccec] + + * Makefile.am, configure.in, src/testsuite/Makefile.am, + src/testsuite/tests/address-parts/subaddress.svtest, + src/testsuite/tests/comparators/core.svtest, + src/testsuite/tests/compile/compile-examples.svtest, + src/testsuite/tests/compile/compile.svtest, + src/testsuite/tests/compile/errors.svtest, + src/testsuite/tests/compile/errors/address-part.sieve, + src/testsuite/tests/compile/errors/address.sieve, + src/testsuite/tests/compile/errors/encoded-character.sieve, + src/testsuite/tests/compile/errors/envelope.sieve, + src/testsuite/tests/compile/errors/header.sieve, + src/testsuite/tests/compile/errors/if.sieve, + src/testsuite/tests/compile/errors/keep.sieve, + src/testsuite/tests/compile/errors/require.sieve, + src/testsuite/tests/compile/errors/size.sieve, + src/testsuite/tests/compile/errors/stop.sieve, + src/testsuite/tests/compile/redirect.sieve, + src/testsuite/tests/compile/trivial.sieve, src/testsuite/tests + /control-structures.svtest, src/testsuite/tests/exists.svtest, + src/testsuite/tests/extensions/encoded-character.svtest, + src/testsuite/tests/extensions/envelope.svtest, + src/testsuite/tests/extensions/imapflags/basic.svtest, + src/testsuite/tests/extensions/imapflags/rfc.svtest, + src/testsuite/tests/extensions/include/variables-included1.sieve, + src/testsuite/tests/extensions/include/variables-included2.sieve, + src/testsuite/tests/extensions/include/variables-included3.sieve, + src/testsuite/tests/extensions/include/variables.svtest, + src/testsuite/tests/extensions/variables/basic.svtest, + src/testsuite/tests/extensions/variables/match.svtest, + src/testsuite/tests/header.svtest, src/testsuite/tests/lexer.svtest, + src/testsuite/tests/match-types/contains.svtest, src/testsuite/tests + /match-types/is.svtest, src/testsuite/tests/match- + types/matches.svtest, src/testsuite/tests/match- + types/relational.svtest, src/testsuite/tests/testsuite.svtest, tests + /address-parts/subaddress.svtest, tests/comparators/core.svtest, + tests/compile/compile-examples.svtest, tests/compile/compile.svtest, + tests/compile/errors.svtest, tests/compile/errors/address- + part.sieve, tests/compile/errors/address.sieve, tests/compile/errors + /encoded-character.sieve, tests/compile/errors/envelope.sieve, + tests/compile/errors/header.sieve, tests/compile/errors/if.sieve, + tests/compile/errors/keep.sieve, tests/compile/errors/require.sieve, + tests/compile/errors/size.sieve, tests/compile/errors/stop.sieve, + tests/compile/redirect.sieve, tests/compile/trivial.sieve, tests + /control-structures.svtest, tests/exists.svtest, tests/extensions + /encoded-character.svtest, tests/extensions/envelope.svtest, + tests/extensions/imapflags/basic.svtest, + tests/extensions/imapflags/rfc.svtest, tests/extensions/include + /variables-included1.sieve, tests/extensions/include/variables- + included2.sieve, tests/extensions/include/variables-included3.sieve, + tests/extensions/include/variables.svtest, + tests/extensions/variables/basic.svtest, + tests/extensions/variables/match.svtest, tests/header.svtest, + tests/lexer.svtest, tests/match-types/contains.svtest, tests/match- + types/is.svtest, tests/match-types/matches.svtest, tests/match- + types/relational.svtest, tests/testsuite.svtest: + Testsuite: moved tests directory to the root of the package. + [bbd0d8bab632] + + * doc/rfc/variables.rfc5229.txt, src/lib- + sieve/plugins/variables/rfc5229.txt: + Installed variables rfc in the doc/rfc directory. + [785a600fb225] + + * TODO, src/lib-sieve/ext-encoded-character.c, + src/testsuite/tests/compile/errors/encoded-character.sieve, + src/testsuite/tests/extensions/encoded-character.svtest: + Encoded-character: resolved error reporting issue, added some syntax + error tests and fixed some parsing bugs in the process. + [9dd5079adbbe] + + * TODO, src/lib-sieve/ext-encoded-character.c, + src/testsuite/tests/compile/errors.svtest, + src/testsuite/tests/compile/errors/address-part.sieve, + src/testsuite/tests/compile/errors/encoded-character.sieve, + src/testsuite/tests/compile/errors/envelope.sieve, + src/testsuite/tests/compile/errors/keep.sieve, + src/testsuite/tests/compile/errors/size.sieve, + src/testsuite/tests/compile/errors/stop.sieve, src/testsuite/tests + /control-structures.svtest: + Testsuite: added compile error testcases and discovered one new + issue. + [1bf8cc2f7f10] + + * TODO: + Reprioritized TODO file. + [1342d7920181] + + * TODO, src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h: + Variables: resolved issues in the scope implementation. + [a3bcc26814b1] + + * src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib-sieve/sieve- + ast.c, src/lib-sieve/sieve-ast.h: + Added proper extension support to AST object. + [031f0a483697] + +2008-07-28 Stephan Bosch + + * src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-error.h, src/lib- + sieve/sieve-validator.c, src/testsuite/tests/compile/errors.svtest, + src/testsuite/tests/compile/errors/address.sieve, + src/testsuite/tests/compile/errors/header.sieve, + src/testsuite/tests/compile/errors/if.sieve, + src/testsuite/tests/compile/errors/require.sieve, src/testsuite + /testsuite-common.c: + Testsuite: added a few more compile error test cases. + [658fa458abd4] + + * src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-error.h, + src/testsuite/Makefile.am, + src/testsuite/tests/compile/errors.svtest, + src/testsuite/tests/compile/errors/header.sieve, + src/testsuite/tests/errors.svtest, src/testsuite/tests/header- + errors.sieve, src/testsuite/testsuite-common.c, src/testsuite + /testsuite-common.h, src/testsuite/testsuite.c, src/testsuite/tst- + test-compile.c, src/testsuite/tst-test-error.c: + Testsuite: completed support for error validation and added one test + case. + [b7ae709ef86e] + + * src/testsuite/Makefile.am, src/testsuite/cmd-test-fail.c, + src/testsuite/cmd-test-set.c, src/testsuite/ext-testsuite.c, + src/testsuite/tests/errors.svtest, src/testsuite/tests/header- + errors.sieve, src/testsuite/testsuite-common.h, src/testsuite/tst- + test-compile.c, src/testsuite/tst-test-error.c: + Testsuite: started support for error validation. + [bef773d65f77] + + * TODO, src/testsuite/Makefile.am, src/testsuite/tests/match- + types/contains.svtest, src/testsuite/tests/match-types/is.svtest: + Testsuite: marginally improved match-type tests. + [444696f0d147] + + * src/testsuite/Makefile.am: + Added variables testcase to the testsuite. + [2030448d3cd4] + + * src/lib-sieve/mcht-matches.c, src/lib-sieve/sieve-match-types.c, src + /lib-sieve/sieve-match-types.h, + src/testsuite/tests/extensions/variables/match.svtest, + src/testsuite/tests/lexer.svtest, src/testsuite/tests/match- + types/matches.svtest: + Fixed bugs in the :matches match type. + [6305d80a9f22] + + * src/lib-sieve/ext-encoded-character.c, src/testsuite/Makefile.am, + src/testsuite/tests/extensions/encoded-character.svtest: + Encoded-character: fixed a few bugs to properly match the examples + provided in the RFC. + [a320882164ec] + +2008-07-27 Stephan Bosch + + * TODO, src/lib-sieve/tst-header.c: + Added stripping of right white space from header content. + [9a21206c0260] + + * TODO: + Updated TODO + [8ec5db20d93b] + + * src/testsuite/tests/extensions/envelope.svtest: + Envelope: forgot to add new test case. + [ce3a837f69f0] + + * TODO, src/lib-sieve/ext-envelope.c, src/testsuite/Makefile.am: + Envelope: <> return path now always matches as the empty string, + regardless of the specified address part. + [270b07d72782] + + * TODO: + Minor TODO file change. + [9ba44410e26e] + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/tst-address.c: + Forgot to adjust comment. + [3560a09d215a] + + * doc/rfc/RFC Controversy.txt: + Updated documentation. + [20da4decbf18] + + * TODO, doc/rfc/RFC Controversy.txt, sieve/errors/envelope- + errors.sieve, sieve/examples/elvey.sieve, src/lib-sieve/ext- + envelope.c, src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve-ast.h, + src/lib-sieve/tst-address.c: + Envelope: added compile-time envelope-part verification. + [9a5d8cd44c16] + + * doc/rfc/RFC Controversy.txt: + Added RFC controversy file to log all matters that require + clarification from RFC editors. + [eaa9516bda0a] + + * TODO: + Restricted allowable headers for the address test. + [b7212151acde] + + * TODO, sieve/errors/address-errors.sieve, src/lib-sieve/tst- + address.c, src/testsuite/tests/extensions/imapflags/rfc.svtest: + Imapflags: forgot to add testcase file. + [afe2b84e7719] + + * src/lib-sieve/sieve-match.c: + Disallowed extraction of key elements from key strings for match + types for with that would not make sense. + [ba9fe4253d74] + + * TODO, src/lib-sieve/plugins/imapflags/ext-imapflags-common.c, src + /lib-sieve/plugins/imapflags/tag-flags.c, src/lib- + sieve/plugins/relational/mcht-count.c, src/testsuite/Makefile.am, + src/testsuite/tests/extensions/imapflags/basic.svtest: + Imapflags: resolved problem of hasflags encountering duplicate flags + in flag lists contained in a variable. + [df6023e12048] + + * TODO, src/lib-sieve/ext-envelope.c, src/lib-sieve/mcht-contains.c, + src/lib-sieve/mcht-is.c, src/lib-sieve/mcht-matches.c, src/lib- + sieve/plugins/body/tst-body.c, src/lib-sieve/plugins/imapflags/tst- + hasflag.c, src/lib-sieve/plugins/regex/mcht-regex.c, src/lib- + sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/relational/mcht-value.c, src/lib- + sieve/plugins/variables/tst-string.c, src/lib-sieve/sieve-match- + types.h, src/lib-sieve/sieve-match.c, src/lib-sieve/sieve-match.h, + src/lib-sieve/tst-address.c, src/lib-sieve/tst-header.c, + src/testsuite/Makefile.am, + src/testsuite/tests/extensions/imapflags/basic.svtest: + Imapflags: resolved string representation issue in hasflag. + [9261c0d19ce3] + + * TODO, src/lib-sieve/plugins/body/tst-body.c, src/lib- + sieve/plugins/imapflags/tst-hasflag.c, src/lib- + sieve/plugins/variables/tst-string.c, src/lib-sieve/sieve-match.c, + src/lib-sieve/sieve-match.h, src/lib-sieve/tst-header.c, + src/testsuite/tests/extensions/imapflags/basic.svtest: + Resolved code duplication among commands that use comparators and + match-types and found problems in the imapflags extension in the + process. + [662b8d662c89] + +2008-07-26 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + LDA-Sieve plugin: forgot to save the new binary when encountered a + corrupt one. + [d42d299f470b] + + * TODO, src/lib-sieve/cmd-keep.c, src/lib-sieve/cmd-redirect.c, src + /lib-sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib-sieve + /sieve-actions.c, src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve- + binary.h, src/lib-sieve/sieve-code-dumper.c, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-interpreter.h: + Improved the handling corrupt binaries further for the action + commands. + [fd1d663f3b2c] + +2008-07-25 Stephan Bosch + + * TODO, src/lib-sieve/Makefile.am, src/lib-sieve/ext-envelope.c, src + /lib-sieve/mcht-contains.c, src/lib-sieve/mcht-is.c, src/lib-sieve + /mcht-matches.c, src/lib-sieve/plugins/body/tst-body.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/tst-hasflag.c, src/lib-sieve/plugins/regex + /mcht-regex.c, src/lib-sieve/plugins/relational/ext-relational- + common.h, src/lib-sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/relational/mcht-value.c, src/lib- + sieve/plugins/variables/tst-string.c, src/lib-sieve/sieve-address- + parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve/sieve- + common.h, src/lib-sieve/sieve-match-types.c, src/lib-sieve/sieve- + match-types.h, src/lib-sieve/sieve-match.c, src/lib-sieve/sieve- + match.h, src/lib-sieve/tst-address.c, src/lib-sieve/tst-header.c, + src/sieve-bin/sieve-test.c, src/testsuite/Makefile.am, + src/testsuite/tests/control-structures.svtest, src/testsuite/tests + /match-types/relational.svtest, src/testsuite/testsuite-common.c, + src/testsuite/testsuite-common.h, src/testsuite/testsuite.c: + Significantly improved handling of old/corrupt binaries and revised + matching implementation in the process. + [07f6bc2fe04b] + + * src/lib-sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i-ascii- + numeric.c: + Fixed extremely stupid bug in the i;ascii-numeric comparator. + [f7df94b061ec] + + * src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-interpreter.c, + src/plugins/lda-sieve/lda-sieve-plugin.c, src/sieve-bin/sieve- + exec.c, src/sieve-bin/sieve-test.c: + Implemented graceful handling of corrupt binaries by the sieve lda + plugin. + [c300bab057a2] + + * configure.in: + Properly configured package name. + [dfe8a1ecad3c] + + * TODO, src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-keep.c, src + /lib-sieve/cmd-redirect.c, src/lib-sieve/ext-envelope.c, src/lib- + sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/tst-body.c, src/lib-sieve/plugins/imapflags/cmd- + addflag.c, src/lib-sieve/plugins/imapflags/cmd-removeflag.c, src + /lib-sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/tst-hasflag.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /tst-string.c, src/lib-sieve/sieve-code.c, src/lib-sieve/sieve- + code.h, src/lib-sieve/sieve-commands.c, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib-sieve + /sieve-result.c, src/lib-sieve/sieve-result.h, src/lib-sieve/sieve- + types.h, src/lib-sieve/tst-address.c, src/lib-sieve/tst-exists.c, + src/lib-sieve/tst-header.c, src/lib-sieve/tst-size.c, src/sieve-bin + /sieve-exec.c, src/testsuite/cmd-test-fail.c, src/testsuite/cmd- + test-set.c, src/testsuite/cmd-test.c, src/testsuite/tst-test- + compile.c: + Working towards improving the handling of currupt binaries: defined + multiple exit codes for execution functions and defined trace macro + for reporting binary corruptions. + [10c30a4bd44a] + + * TODO, src/testsuite/tests/extensions/include/variables- + included1.sieve, src/testsuite/tests/extensions/include/variables- + included2.sieve, src/testsuite/tests/extensions/include/variables- + included3.sieve, + src/testsuite/tests/extensions/include/variables.svtest: + Testsuite: forgot to add test cases for include extension. + [e3542907a783] + + * TODO, src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib-sieve + /sieve-script.c, src/lib-sieve/sieve-script.h, + src/testsuite/Makefile.am, src/testsuite/testsuite.c: + Fixed code emission for extension-defined variables and removed + hardcoded paths from include extension. + [c3dfcab426ca] + + * TODO: + Added future TODO item. + [defad0db1bb4] + + * TODO, src/lib-sieve/sieve-interpreter.h: + Updated TODO and removed spurious FIXME. + [477722eeaf09] + + * README, src/testsuite/ext-testsuite.c: + Updated documentation. + [89e50989541a] + + * .hgignore, src/lib-sieve/sieve-script.c, src/lib-sieve/sieve- + script.h, src/testsuite/Makefile.am, src/testsuite/cmd-test-fail.c, + src/testsuite/cmd-test-set.c, src/testsuite/cmd-test.c, + src/testsuite/ext-testsuite.c, src/testsuite/tests/compile/compile- + examples.svtest, src/testsuite/tests/compile/compile.svtest, + src/testsuite/tests/compile/redirect.sieve, + src/testsuite/tests/compile/trivial.sieve, src/testsuite/testsuite- + common.h, src/testsuite/tst-test-compile.c: + Testsuite: added test_compile command to test compilation of + scripts. + [e6846fc1dc11] + +2008-07-24 Stephan Bosch + + * TODO, sieve/errors/out-address-errors.sieve, src/lib-sieve/sieve- + address.c, src/lib-sieve/sieve-binary.c: + Revised Sieve address validation functionality. + [10abb0055a23] + + * README, TODO, configure.in, src/lib-sieve/sieve-binary.c: + Started using new str_new_const() function. + [3fc4deedc23b] + + * TODO, src/lib-sieve/cmd-redirect.c, src/lib-sieve/plugins/imapflags + /cmd-addflag.c, src/lib-sieve/plugins/imapflags/cmd-removeflag.c, + src/lib-sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/imapflags/imapflags-errors.sieve, src/lib- + sieve/plugins/imapflags/imapflags.sieve, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/imapflags + /tst-hasflag.c, src/lib-sieve/sieve-commands.h, src/lib-sieve/sieve- + result.c, src/lib-sieve/sieve-result.h: + Imapflags: improved handling of invalid flags. + [4d45ccdd880b] + + * TODO, src/lib-sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib-sieve/sieve- + ast.c, src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + validator.c: + Significantly improved pool allocation by checking --enable-debug + warnings from dovecot. + [4a5f60764e5f] + + * src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve-validator.c: + Removed all legacy use of array_create(). + [f4bb043dc649] + + * src/lib-sieve/sieve-lexer.c: + Lexer: fixed repetitive string alloation problem. + [14dd750dfeb8] + +2008-07-23 Stephan Bosch + + * src/lib-sieve/sieve-binary.c: + Fixed bug introduced by previous change. + [e4db63d3e106] + + * src/lib-sieve/Makefile.am, src/lib-sieve/plugins/variables/cmd- + set.c, src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-address- + parts.c, src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h, + src/lib-sieve/sieve-code-dumper.c, src/lib-sieve/sieve-code.c, src + /lib-sieve/sieve-common.h, src/lib-sieve/sieve-comparators.c, src + /lib-sieve/sieve-extensions-private.h, src/lib-sieve/sieve- + extensions.c, src/lib-sieve/sieve-match-types.c, src/testsuite + /testsuite-common.c, src/testsuite/testsuite-objects.c: + Reworked operand and operation binary coding functions. + [a8f9c4a6c502] + + * src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-if.c, src/lib-sieve + /cmd-keep.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve/cmd- + require.c, src/lib-sieve/ext-envelope.c, src/lib-sieve/ext- + fileinto.c, src/lib-sieve/ext-reject.c, src/lib-sieve/plugins/body + /ext-body-common.c, src/lib-sieve/plugins/body/tst-body.c, src/lib- + sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i-ascii-numeric.c, + src/lib-sieve/plugins/copy/ext-copy.c, src/lib- + sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/imapflags + /tst-hasflag.c, src/lib-sieve/plugins/include/cmd-include.c, src + /lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/regex + /ext-regex.c, src/lib-sieve/plugins/relational/ext-relational.c, src + /lib-sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-common.c, src/lib-sieve/plugins/variables/ext- + variables-common.h, src/lib-sieve/plugins/variables/ext-variables- + modifiers.c, src/lib-sieve/plugins/variables/ext-variables- + modifiers.h, src/lib-sieve/plugins/variables/ext-variables- + operands.c, src/lib-sieve/plugins/variables/sieve-ext-variables.h, + src/lib-sieve/plugins/variables/tst-string.c, src/lib-sieve/sieve- + actions.h, src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve- + address-parts.h, src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve- + ast.h, src/lib-sieve/sieve-binary-dumper.c, src/lib-sieve/sieve- + binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve-code.c, + src/lib-sieve/sieve-code.h, src/lib-sieve/sieve-commands.c, src/lib- + sieve/sieve-comparators.c, src/lib-sieve/sieve-comparators.h, src + /lib-sieve/sieve-extensions-private.h, src/lib-sieve/sieve- + extensions.c, src/lib-sieve/sieve-extensions.h, src/lib-sieve/sieve- + generator.c, src/lib-sieve/sieve-generator.h, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib-sieve + /sieve-match-types.c, src/lib-sieve/sieve-match-types.h, src/lib- + sieve/sieve-message.c, src/lib-sieve/sieve-message.h, src/lib-sieve + /sieve-objects.c, src/lib-sieve/sieve-objects.h, src/lib-sieve + /sieve-result.c, src/lib-sieve/sieve-result.h, src/lib-sieve/sieve- + validator.c, src/lib-sieve/sieve-validator.h, src/lib-sieve/tst- + address.c, src/lib-sieve/tst-allof.c, src/lib-sieve/tst-anyof.c, src + /lib-sieve/tst-exists.c, src/lib-sieve/tst-header.c, src/lib-sieve + /tst-size.c, src/testsuite/cmd-test-fail.c, src/testsuite/cmd-test- + set.c, src/testsuite/cmd-test.c, src/testsuite/testsuite-common.c, + src/testsuite/testsuite-objects.c, src/testsuite/testsuite- + objects.h: + Fully substituted the use of extension ids with the use of the + extension object itself. + [0da758d61cad] + + * src/lib-sieve/ext-encoded-character.c, src/lib-sieve/ext-envelope.c, + src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/comparator-i + -ascii-numeric/ext-cmp-i-ascii-numeric.c, src/lib-sieve/plugins/copy + /ext-copy.c, src/lib-sieve/plugins/imapflags/ext-imapflags.c, src + /lib-sieve/plugins/include/ext-include.c, src/lib- + sieve/plugins/regex/ext-regex.c, src/lib-sieve/plugins/relational + /ext-relational.c, src/lib-sieve/plugins/subaddress/ext- + subaddress.c, src/lib-sieve/plugins/vacation/ext-vacation.c, src + /lib-sieve/plugins/variables/ext-variables.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve- + comparators.c, src/lib-sieve/sieve-extensions.c, src/lib-sieve + /sieve-extensions.h, src/lib-sieve/sieve-match-types.c, src/lib- + sieve/sieve-validator.c, src/testsuite/ext-testsuite.c: + Made initially assigned extension id available directly from the + const extension object itself. + [3e237d753a2a] + + * TODO, src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-error.h: + Reworked previous change into three elegant macros. + [416c6954b998] + +2008-07-22 Stephan Bosch + + * TODO, src/lib-sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/sieve-binary.c, src/lib-sieve/sieve-error.c, src/lib-sieve + /sieve-error.h, src/lib-sieve/sieve-extensions.c, src/lib-sieve + /sieve-script.c, src/plugins/lda-sieve/lda-sieve-plugin.c: + Made utility functions for neatly handing system errors, warnings + and notices. + [8a116201d954] + + * src/lib-sieve/tst-allof.c, src/lib-sieve/tst-anyof.c, + src/testsuite/tests/control-structures.svtest: + Testsuite: added tests for use of allof/anyof with a single test and + optimized code generation. + [971a8a94e8ab] + + * TODO, src/testsuite/tests/header.svtest, src/testsuite/tests/match- + types/contains.svtest: + Testsuite: added test case for the header test and found one issue. + [447d40a17ea0] + + * src/lib-sieve/sieve-lexer.c, src/testsuite/Makefile.am, + src/testsuite/tests/lexer.svtest: + Testsuite: added lexer string scan comparison test and fixed lexer + bug in the process. + [1bab36c85b54] + +2008-07-21 Stephan Bosch + + * TODO, src/testsuite/tests/control-structures.svtest: + Testsuite: added some control structure tests involving nesting. + [46a2df6cafe4] + + * TODO, src/lib-sieve/tst-exists.c, src/testsuite/Makefile.am, + src/testsuite/tests/exists.svtest, src/testsuite/testsuite- + objects.c: + Testsuite: added tests for 'exists' test and fixed a semantic error + in the 'exists' test. + [ce5660cb5dbf] + + * TODO, src/lib-sieve/ext-envelope.c, src/lib-sieve/sieve-address- + parts.c, src/testsuite/tests/testsuite.svtest, src/testsuite + /testsuite-objects.c: + Testsuite: tested handling of teststuite envelope environment and + fixed bugs in the envelope test in the process. + [ff0f9c67a106] + + * src/testsuite/Makefile.am, src/testsuite/tests/address- + parts/subaddress.svtest, src/testsuite/testsuite-common.c: + Testsuite: added test case for subadress extension. + [21061d5f3422] + + * Makefile.am, TODO, configure.in, src/Makefile.am, + src/testsuite/Makefile.am, src/testsuite/tests/testsuite.svtest, + src/testsuite/testsuite-common.c, src/testsuite/testsuite-common.h, + src/testsuite/testsuite.c: + Coupled testsuite to 'make test'. + [36ab72963cd1] + + * sieve/tests/encoded-character.sieve, src/lib-sieve/cmd-if.c, src + /lib-sieve/cmd-redirect.c, src/lib-sieve/ext-encoded-character.c, + src/lib-sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /tst-address.c, src/lib-sieve/tst-allof.c, src/lib-sieve/tst- + anyof.c, src/lib-sieve/tst-exists.c, src/lib-sieve/tst-header.c, src + /lib-sieve/tst-not.c, src/lib-sieve/tst-size.c: + Cleaned up test and core extension implementations. + [5df6769ad854] + + * src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-if.c, src/lib-sieve + /cmd-keep.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve/cmd- + require.c: + Cleaned up command implementations. + [837769563332] + + * src/lib-sieve/sieve-script-private.h, src/lib-sieve/sieve-script.c: + Fixed handling of script files that are in fact symbolic links. + [fd9003533d28] + + * src/lib-sieve/sieve-binary.c: + Fixed bug in binary created without a corresponding script object. + [9560bfd8e2e5] + + * TODO, src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-error.c, src + /lib-sieve/sieve-error.h, src/lib-sieve/sieve-script.c: + Reversed stat() and open() on two occasions to make retrieved stat + information guaranteed to be valid for the opened file and added + error handling for various close() system calls. + [b04c29c4ac90] + + * TODO: + Updated TODO list. + [bab521877ded] + + * src/lib-sieve/plugins/regex/ext-regex.c, src/lib-sieve/plugins/regex + /mcht-regex.c, src/lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-modifiers.c, src/lib- + sieve/plugins/variables/ext-variables-name.c, src/lib- + sieve/plugins/variables/ext-variables-name.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib-sieve/sieve- + actions.c: + Removed various unnecessary includes of and replaced yey + another toupper() with its i_* equivalent. + [2e1963c29390] + + * src/lib-sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i-ascii- + numeric.c, src/lib-sieve/plugins/variables/ext-variables-name.c: + Removed direct use of isdigit, isalpha and isalnum and replaced + these with their dovecot i_* equivalents to prevent problems on some + systems. + [732c5001ccb5] + + * TODO: + Updated TODO. + [47c0a9d219b6] + + * src/lib-sieve/plugins/variables/Makefile.am, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-common.c, src/lib-sieve/plugins/variables/ext- + variables-common.h, src/lib-sieve/plugins/variables/ext-variables- + modifiers.c, src/lib-sieve/plugins/variables/ext-variables- + modifiers.h, src/lib-sieve/plugins/variables/ext-variables.c, src + /lib-sieve/plugins/variables/sieve-ext-variables.h, src/lib- + sieve/plugins/variables/variables-match.sieve, + src/testsuite/tests/extensions/variables/basic.svtest: + Variables: made set modifiers descendants of the sieve object too. + [6c31299662d8] + +2008-07-20 Stephan Bosch + + * src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-objects.c, + src/testsuite/testsuite-common.c, src/testsuite/testsuite-common.h, + src/testsuite/testsuite-objects.c, src/testsuite/testsuite- + objects.h: + Testsuite: made testsuite objects a descendant from sieve objects. + [12a346d25711] + + * TODO, src/lib-sieve/plugins/regex/ext-regex.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve- + comparators.c, src/lib-sieve/sieve-match-types.c, src/lib-sieve + /sieve-validator.c, src/lib-sieve/sieve-validator.h: + Removed remaining code duplication among comparators, match types + and address parts. + [1654a241fa56] + + * TODO: + Updated TODO list. + [8292d75ce253] + + * src/lib-sieve/plugins/copy/ext-copy.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/sieve-actions.c, + src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve-address-parts.h, + src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h, src/lib- + sieve/sieve-comparators.h, src/lib-sieve/sieve-match-types.h, src + /lib-sieve/sieve-objects.c, src/lib-sieve/sieve-objects.h: + Made side effects sieve objects too. + [81b6c6a65f86] + + * src/lib-sieve/Makefile.am, src/lib-sieve/cmp-i-ascii-casemap.c, src + /lib-sieve/cmp-i-octet.c, src/lib-sieve/mcht-contains.c, src/lib- + sieve/mcht-is.c, src/lib-sieve/mcht-matches.c, src/lib- + sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i-ascii-numeric.c, + src/lib-sieve/plugins/regex/ext-regex-common.c, src/lib- + sieve/plugins/regex/mcht-regex.c, src/lib-sieve/plugins/relational + /ext-relational-common.c, src/lib-sieve/plugins/relational/mcht- + count.c, src/lib-sieve/plugins/relational/mcht-value.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve + /sieve-common.h, src/lib-sieve/sieve-comparators.c, src/lib-sieve + /sieve-comparators.h, src/lib-sieve/sieve-match-types.c, src/lib- + sieve/sieve-match-types.h, src/lib-sieve/sieve-objects.c, src/lib- + sieve/sieve-objects.h: + Introduced the concept of a sieve object to merge the coding of + comparators, match types, address parts and other objects that might + need to be represented in byte code (removes lots of code + duplication). + [344eaae8693c] + +2008-07-19 Stephan Bosch + + * TODO, src/lib-sieve/cmp-i-octet.c, src/lib-sieve/mcht-contains.c, + src/lib-sieve/mcht-is.c, src/lib-sieve/mcht-matches.c, src/lib- + sieve/plugins/regex/Makefile.am, src/lib-sieve/plugins/regex/ext- + regex-common.c, src/lib-sieve/plugins/regex/ext-regex-common.h, src + /lib-sieve/plugins/regex/ext-regex.c, src/lib-sieve/plugins/regex + /mcht-regex.c, src/lib-sieve/plugins/relational/ext-relational- + common.c, src/lib-sieve/plugins/relational/ext-relational-common.h, + src/lib-sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/relational/mcht-value.c, src/lib-sieve/sieve- + comparators.c, src/lib-sieve/sieve-comparators.h, src/lib-sieve + /sieve-match-types.c, src/lib-sieve/sieve-match-types.h: + Revised extension support for match-types. + [a6bf1b1c8a2b] + + * src/lib-sieve/Makefile.am, src/lib-sieve/cmp-i-ascii-casemap.c, src + /lib-sieve/cmp-i-octet.c, src/lib-sieve/sieve-comparators.c, src + /lib-sieve/sieve-comparators.h: + Cleaned up comparator implementation. + [8976941d215c] + + * TODO, src/lib-sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i + -ascii-numeric.c, src/lib-sieve/sieve-comparators.c, src/lib-sieve + /sieve-comparators.h, src/testsuite/tests/comparators/core.svtest: + Revised extension support for comparators. + [29676b9e16c2] + +2008-07-18 Stephan Bosch + + * src/lib-sieve/sieve-comparators.c: + Fixed stupid bug in the match-type context validation. + [e67e5024a970] + + * src/lib-sieve/Makefile.am, src/lib-sieve/sieve-ast.c, src/lib-sieve + /sieve-ast.h, src/lib-sieve/sieve-common.h, src/lib-sieve/sieve- + error.c, src/lib-sieve/sieve-error.h, src/lib-sieve/sieve-lexer.c, + src/lib-sieve/sieve-parser.c, src/lib-sieve/sieve-result.c, src/lib- + sieve/sieve-script-private.h, src/lib-sieve/sieve-script.c, src/lib- + sieve/sieve-types.h, src/lib-sieve/sieve.h: + Made error reporting cleaner by avoiding the scriptname of the main + script and indicating that the printed numbers are in fact source + code lines. + [2c5ae7a67d28] + + * src/lib-sieve/sieve-validator.h: + Fixed warnings caused by remaining spurious inline definitions in + sieve-validator.h + [bfc24ba04381] + +2008-07-17 Stephan Bosch + + * src/lib-sieve/sieve-lexer.c, src/lib-sieve/sieve-lexer.h, src/lib- + sieve/sieve-parser.c, src/lib-sieve/sieve-parser.h, src/lib- + sieve/sieve.c, src/lib-sieve/sieve.h, src/plugins/lda-sieve/lda- + sieve-plugin.c: + Code cleanup: parser, lexer, lda-plugin and main interface. + [d5ca488d55b7] + + * TODO: + Updated TODO. + [c44e8d20b130] + +2008-07-16 Stephan Bosch + + * INSTALL: + Update INSTALL file. + [c0acf033f79d] + + * README, TODO: + Updated documentation. + [3f2415b96676] + + * TODO, src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-keep.c, src + /lib-sieve/cmd-redirect.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/plugins/vacation/cmd-vacation.c, + src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h, src + /lib-sieve/sieve-binary.c, src/lib-sieve/sieve-interpreter.c, src + /lib-sieve/sieve-interpreter.h, src/lib-sieve/sieve-result.c, src + /lib-sieve/sieve-result.h: + Made runtime errors for action conflicts more user-friendly by + adding sourcecode line numbers. + [5dfc5676bd6f] + + * src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-if.c, src/lib-sieve + /cmd-keep.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve/cmd- + require.c, src/lib-sieve/ext-envelope.c, src/lib-sieve/ext- + fileinto.c, src/lib-sieve/ext-reject.c, src/lib-sieve/plugins/body + /tst-body.c, src/lib-sieve/plugins/copy/ext-copy.c, src/lib- + sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/imapflags + /tst-hasflag.c, src/lib-sieve/plugins/include/cmd-include.c, src + /lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-arguments.c, src/lib-sieve/plugins/variables/tst- + string.c, src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve- + actions.h, src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve- + code.c, src/lib-sieve/sieve-code.h, src/lib-sieve/sieve-commands.c, + src/lib-sieve/sieve-commands.h, src/lib-sieve/sieve-common.h, src + /lib-sieve/sieve-comparators.c, src/lib-sieve/sieve-generator.c, src + /lib-sieve/sieve-generator.h, src/lib-sieve/sieve-match-types.c, src + /lib-sieve/sieve-result.c, src/lib-sieve/sieve-result.h, src/lib- + sieve/tst-address.c, src/lib-sieve/tst-allof.c, src/lib-sieve/tst- + anyof.c, src/lib-sieve/tst-exists.c, src/lib-sieve/tst-header.c, src + /lib-sieve/tst-not.c, src/lib-sieve/tst-size.c, src/testsuite/cmd- + test-fail.c, src/testsuite/cmd-test-set.c, src/testsuite/cmd-test.c, + src/testsuite/testsuite-objects.c: + Cleaned up generator code and added emission of source line + positions for all actions. + [d60e232af73e] + +2008-07-14 Stephan Bosch + + * TODO, sieve/tests/stop.sieve, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib-sieve/sieve-parser.c: + Resolved various small issues. + [dd844326cd20] + + * TODO, src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/sieve-interpreter.c, src/lib-sieve/sieve-interpreter.h, src + /lib-sieve/sieve.c, src/lib-sieve/sieve.h, src/plugins/lda-sieve + /lda-sieve-plugin.c, src/sieve-bin/sieve-exec.c, src/sieve-bin + /sieve-test.c, src/testsuite/testsuite.c: + Removed last significant printf()s from library code. + [663bb4cf98d8] + + * sieve/tests/actions.sieve, src/lib-sieve/cmd-redirect.c, src/lib- + sieve/ext-encoded-character.c, src/lib-sieve/plugins/copy/ext- + copy.c, src/lib-sieve/plugins/vacation/cmd-vacation.c, src/lib-sieve + /sieve-address.c, src/lib-sieve/sieve-address.h, src/lib-sieve + /sieve-ast.c, src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve- + result.c: + Added address normalization to prevent redirect action duplicates. + [41e894bd5adb] + + * src/lib-sieve/sieve-actions.c: + Made "INBOX" folder name case-insensitive. + [ad20dac29faf] + + * TODO, src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-redirect.c, src + /lib-sieve/ext-reject.c, src/lib-sieve/plugins/copy/ext-copy.c, src + /lib-sieve/plugins/imapflags/imapflags-implicit.sieve, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/vacation + /cmd-vacation.c, src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve- + actions.h, src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve-common.h, + src/lib-sieve/sieve-result.c, src/lib-sieve/sieve-result.h, src/lib- + sieve/sieve-validator.c, src/lib-sieve/sieve.c, src/lib- + sieve/sieve.h, src/sieve-bin/sieve-test.c, + src/testsuite/testsuite.c: + Built result print functions thus removing various printf()s. + [ab0569f04717] + + * TODO, src/lib-sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/variables/ext-variables-arguments.c, src/lib-sieve + /sieve-interpreter.c, src/lib-sieve/sieve-lexer.c, src/lib-sieve + /sieve-result.c, src/sieve-bin/sieve-exec.c: + Removed various printf()s. + [8b83101ed51a] + + * README, TODO, src/lib-sieve/plugins/imapflags/ext-imapflags.c, src + /lib-sieve/plugins/imapflags/imapflags.sieve, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/sieve-result.c: + Implemented support for side-effects to implicit keep and finished + the imapflags extension. + [c0b959cfdf01] + + * src/lib-sieve/ext-encoded-character.c, src/lib-sieve/ext-envelope.c, + src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/comparator-i + -ascii-numeric/ext-cmp-i-ascii-numeric.c, src/lib-sieve/plugins/copy + /ext-copy.c, src/lib-sieve/plugins/imapflags/ext-imapflags.c, src + /lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/regex + /ext-regex.c, src/lib-sieve/plugins/relational/ext-relational.c, src + /lib-sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve- + comparators.c, src/lib-sieve/sieve-extensions.c, src/lib-sieve + /sieve-extensions.h, src/lib-sieve/sieve-interpreter.c, src/lib- + sieve/sieve-match-types.c, src/testsuite/ext-testsuite.c: + Previous change in extension interface for implicit side effect + support broke include extension. + [4cb32478d80d] + + * src/lib-sieve/Makefile.am, src/lib-sieve/cmd-discard.c, src/lib- + sieve/cmd-redirect.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/ext-body-common.c, src/lib-sieve/plugins/copy + /ext-copy.c, src/lib-sieve/plugins/imapflags/ext-imapflags-common.c, + src/lib-sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/include + /ext-include-common.c, src/lib-sieve/plugins/include/ext-include- + common.h, src/lib-sieve/plugins/include/ext-include.c, src/lib- + sieve/plugins/include/include.sieve, src/lib-sieve/plugins/vacation + /cmd-vacation.c, src/lib-sieve/plugins/variables/ext-variables.c, + src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h, src + /lib-sieve/sieve-common.h, src/lib-sieve/sieve-extensions.c, src + /lib-sieve/sieve-extensions.h, src/lib-sieve/sieve-interpreter.c, + src/lib-sieve/sieve-interpreter.h, src/lib-sieve/sieve-message.c, + src/lib-sieve/sieve-message.h, src/lib-sieve/sieve-result.c, src + /lib-sieve/sieve-result.h: + Added support for implicit side effects and adjusted imapflags + extension accordingly. + [f55d47d1daee] + +2008-07-13 Stephan Bosch + + * TODO, src/lib-sieve/plugins/imapflags/tag-flags.c, src/lib-sieve + /sieve-actions.c, src/lib-sieve/sieve-actions.h: + Imapflags: flags are stored for explicit actions. + [9fa69efd67d1] + +2008-07-12 Stephan Bosch + + * src/lib-sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/tag-flags.c: + Imapflags: cleaned up some debug messages and fixed triggered + assertion. + [ebdd1e5333ca] + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/ext-reject.c: + Forgot a few trace macros. + [4f32214d959c] + + * TODO: + Updated TODO list. + [9d16b8207a91] + + * src/lib-sieve/sieve-actions.c: + Fixed typos in some error messages. + [584e2516320d] + + * sieve/errors/out-address-errors.sieve, src/lib-sieve/Makefile.am, + src/lib-sieve/cmd-redirect.c, src/lib-sieve/plugins/vacation/cmd- + vacation.c, src/lib-sieve/sieve-address.c, src/lib-sieve/sieve- + address.h, src/lib-sieve/sieve-validator-address.c, src/lib-sieve + /sieve-validator.h: + Improved address validation significantly. + [3d2a4f000814] + + * src/testsuite/tests/control-structures.svtest, src/testsuite/tests + /match-types/contains.svtest: + Added two simple test cases. + [8354f6045c96] + + * src/lib-sieve/sieve-commands.c: + Forgot trace macro for the stop command. + [2affc8a239aa] + + * TODO: + Removed llist TODO item, turns out to be less mergeable than + initially thought. + [e324d382f62b] + +2008-06-29 Stephan Bosch + + * src/testsuite/tests/match-types/matches.svtest: + Testsuite: extended :matches tests. + [3cc1f848aa72] + + * src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-keep.c, src/lib-sieve + /cmd-redirect.c, src/lib-sieve/plugins/body/tst-body.c, src/lib- + sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/tst-hasflag.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /tst-string.c, src/lib-sieve/sieve-code.c, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib-sieve/tst- + address.c, src/lib-sieve/tst-exists.c, src/lib-sieve/tst-header.c, + src/lib-sieve/tst-size.c, src/testsuite/cmd-test-fail.c, + src/testsuite/cmd-test-set.c, src/testsuite/cmd-test.c, + src/testsuite/ext-testsuite.c, src/testsuite/tests/match- + types/matches.svtest, src/testsuite/testsuite-common.c, + src/testsuite/testsuite-common.h, src/testsuite/testsuite.c: + Introduced trace macro for runtime tracing and improved testsuite + implementation. + [d4206ad35724] + + * src/lib-sieve/mcht-matches.c, src/testsuite/mail-raw.c, + src/testsuite/tests/match-types/matches.svtest: + Testsuite: fixed CRLF bug in reading a script-specified mail + message. + [65bedbabab62] + + * sieve/tests/matches.sieve, src/lib-sieve/mcht-matches.c, src/lib- + sieve/tst-header.c, src/testsuite/tests/match-types/matches.svtest: + Fixed bugs in :matches implementation. + [ded9f063bb3b] + +2008-06-28 Stephan Bosch + + * src/lib-sieve/sieve-generator.c, src/testsuite/tests/match- + types/matches.svtest, src/testsuite/tests/testsuite.sieve, + src/testsuite/tests/testsuite.svtest: + Added testcase to the testsuite. + [901e88d94ef2] + + * README, src/lib-sieve/ext-encoded-character.c, src/lib-sieve/ext- + envelope.c, src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext- + reject.c, src/lib-sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/variables + /ext-variables.c: + Updated documentation. + [fe8d65b77b9d] + + * TODO: + Updated TODO. + [e591cfdaaab9] + + * TODO, src/lib-sieve/sieve-error-private.h, src/lib-sieve/sieve- + error.c, src/lib-sieve/sieve-error.h, src/lib-sieve/sieve-parser.c, + src/lib-sieve/sieve-validator.c, src/plugins/lda-sieve/lda-sieve- + plugin.c, src/sieve-bin/bin-common.c, src/sieve-bin/sieve-exec.c, + src/sieve-bin/sieve-test.c, src/testsuite/testsuite.c: + Added support for limits on the maximum number of errors collected + during compilation. + [16066e307609] + + * README, TODO: + Updated documentation. + [4282b0a65c30] + + * sieve/errors/out-address-errors.sieve, src/lib-sieve/Makefile.am, + src/lib-sieve/cmd-redirect.c, src/lib-sieve/plugins/vacation/cmd- + vacation.c, src/lib-sieve/sieve-address.c, src/lib-sieve/sieve- + commands.h, src/lib-sieve/sieve-validator-address.c, src/lib-sieve + /sieve-validator.h: + Added compile-time address validation. + [d977d476923d] + + * doc/rfc/imail.rfc2822.txt: + Added IMAIL rfc. + [252d826d42e3] + + * doc/rfc/draft-ietf-sieve-3028bis-13.txt, doc/rfc/rfc3028.txt, + doc/rfc/rfc3629.txt, doc/rfc/sieve.rfc5228.txt, + doc/rfc/utf-8.rfc3629.txt: + Updated doc/rfc directory. + [c045f8d8aaf8] + + * README, TODO: + Updated documentation. + [85aee022d63b] + + * src/lib-sieve/ext-fileinto.c, src/lib-sieve/plugins/imapflags/tag- + flags.c, src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve- + binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve-code- + dumper.c, src/lib-sieve/sieve-commands.c, src/lib-sieve/sieve- + commands.h, src/lib-sieve/sieve-extensions-private.h: + Imapflags: finished for implicit flag attachment to fileinto and + keep commands. + [b9d8f9649bde] + +2008-06-17 Stephan Bosch + + * TODO, src/lib-sieve/ext-encoded-character.c, src/lib- + sieve/plugins/body/tst-body.c, src/lib-sieve/plugins/copy/ext- + copy.c, src/lib-sieve/plugins/imapflags/ext-imapflags-common.c, src + /lib-sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/vacation/cmd-vacation.c, src + /lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-arguments.c, src/lib-sieve + /sieve-address-parts.c, src/lib-sieve/sieve-ast.c, src/lib-sieve + /sieve-ast.h, src/lib-sieve/sieve-commands.c, src/lib-sieve/sieve- + commands.h, src/lib-sieve/sieve-comparators.c, src/lib-sieve/sieve- + match-types.c, src/lib-sieve/sieve-validator.c, src/lib-sieve/sieve- + validator.h, src/lib-sieve/tst-size.c, src/testsuite/testsuite- + objects.c: + Added the concept of persistent tags and implemented imapflags + extension for bare keep and fileinto commands (intermittent commit, + not working properly yet). + [b941171d7557] + +2008-06-04 Stephan Bosch + + * src/lib-sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/imapflags-variables.sieve, src/lib- + sieve/plugins/imapflags/tst-hasflag.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h: + Imapflags: added execution support for variables. + [3115627a9c60] + + * src/lib-sieve/plugins/imapflags/Makefile.am, src/lib- + sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/imapflags-variables.sieve, src/lib- + sieve/plugins/imapflags/tst-hasflag.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-arguments.c, src/lib-sieve/plugins/variables/ext- + variables-arguments.h, src/lib-sieve/plugins/variables/ext- + variables-operands.c, src/lib-sieve/plugins/variables/ext-variables- + operands.h, src/lib-sieve/plugins/variables/sieve-ext-variables.h, + src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h: + Imapflags: added validation and code support for variables. + [eebce2c24704] + +2008-06-03 Stephan Bosch + + * TODO, src/lib-sieve/plugins/vacation/vacation.sieve, src/lib-sieve + /sieve-validator.c: + Fixed bug in duplicate argument detection. + [9a8045ad9897] + + * src/lib-sieve/plugins/vacation/Makefile.am, src/lib- + sieve/plugins/vacation/cmd-vacation.c, src/lib- + sieve/plugins/vacation/ext-vacation-common.h, src/lib- + sieve/plugins/vacation/ext-vacation.c: + Vacation: exported command implementation to separate file. + [c0d69bd47692] + + * src/lib-sieve/sieve-binary.c, src/sieve-bin/sieved.c: + Fixed bug in sieved. + [0cf9a6ab85d6] + + * INSTALL, README, configure.in, src/sieve-bin/Makefile.am: + Minor compile and documentation changes. + [5d55a9fb061d] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Made lda sieve plugin save and load binaries. + [98a4a28d48d3] + + * src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve-ast.h, src/lib-sieve + /sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve- + code.c, src/lib-sieve/sieve-code.h, src/lib-sieve/sieve-commands.c, + src/lib-sieve/sieve-commands.h, src/lib-sieve/sieve-comparators.c, + src/lib-sieve/sieve-comparators.h, src/lib-sieve/sieve-generator.c, + src/lib-sieve/sieve-generator.h, src/lib-sieve/sieve-interpreter.c, + src/lib-sieve/sieve-interpreter.h, src/lib-sieve/sieve-lexer.c, src + /lib-sieve/sieve-lexer.h, src/lib-sieve/sieve-result.c, src/lib- + sieve/sieve-result.h, src/lib-sieve/sieve-script.c, src/lib-sieve + /sieve-script.h, src/lib-sieve/sieve-validator.c, src/lib-sieve + /sieve-validator.h, src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, + src/sieve-bin/sievec.c, src/testsuite/cmd-test.c, src/testsuite + /testsuite-common.c: + Resolved all outstanding warnings. + [61acd01fe9df] + + * DESIGN, INSTALL, Makefile.am, README, TODO, src/lib- + sieve/Makefile.am, src/lib-sieve/plugins/body/Makefile.am, src/lib- + sieve/plugins/comparator-i-ascii-numeric/Makefile.am, src/lib- + sieve/plugins/copy/Makefile.am, src/lib- + sieve/plugins/imapflags/Makefile.am, src/lib-sieve/plugins/imapflags + /ext-imapflags-common.c, src/lib-sieve/plugins/include/Makefile.am, + src/lib-sieve/plugins/regex/Makefile.am, src/lib- + sieve/plugins/relational/Makefile.am, src/lib- + sieve/plugins/subaddress/Makefile.am, src/lib- + sieve/plugins/vacation/Makefile.am, src/lib- + sieve/plugins/variables/Makefile.am: + Updated documentation and fixed 'make dist'. + [65c7b117ff36] + +2008-05-29 Stephan Bosch + + * src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve-generator.h, + src/testsuite/Makefile.am, src/testsuite/cmd-test-fail.c, + src/testsuite/cmd-test.c, src/testsuite/ext-testsuite.c, + src/testsuite/tests/testsuite.sieve, src/testsuite/testsuite- + common.c, src/testsuite/testsuite-common.h: + Testsuite: added test_fail command. + [063d37ff4c79] + + * src/lib-sieve/cmd-if.c, src/lib-sieve/sieve-generator.c, src/lib- + sieve/sieve-generator.h, src/lib-sieve/tst-allof.c, src/lib-sieve + /tst-anyof.c, src/testsuite/Makefile.am, src/testsuite/cmd-test- + set.c, src/testsuite/cmd-test.c, src/testsuite/ext-testsuite.c, + src/testsuite/tests/testsuite.sieve, src/testsuite/testsuite- + common.h, src/testsuite/testsuite-objects.c: + Testsuite: added 'test' command to group sieve statements into a + test. + [3cc05036846c] + +2008-05-27 Stephan Bosch + + * src/testsuite/cmd-test-set.c, src/testsuite/ext-testsuite.c, + src/testsuite/tests/testsuite.sieve, src/testsuite/testsuite- + common.c, src/testsuite/testsuite-common.h, src/testsuite/testsuite- + objects.c, src/testsuite/testsuite-objects.h: + Testsuite: added support for test object members. + [62f783ff9f22] + +2008-05-25 Stephan Bosch + + * src/testsuite/Makefile.am, src/testsuite/cmd-test-set.c, + src/testsuite/testsuite-common.c, src/testsuite/testsuite-common.h, + src/testsuite/testsuite-objects.c, src/testsuite/testsuite- + objects.h: + Testsuite: exported testsuit object interface to separate files. + [e26637dce509] + + * src/lib-sieve/sieve-code.h, src/lib-sieve/sieve-extensions- + private.h, src/testsuite/Makefile.am, src/testsuite/cmd-test- + message.c, src/testsuite/cmd-test-set.c, src/testsuite/ext- + testsuite.c, src/testsuite/tests/testsuite.sieve, src/testsuite + /testsuite-common.c, src/testsuite/testsuite-common.h: + Testsuite: implemented testsuite object interface. + [3e39d288a27f] + +2008-05-21 Stephan Bosch + + * README, src/lib-sieve/plugins/vacation/vacation-errors.sieve: + vacation: added TODO regarding duplicate tagged arguments to the + vacation command. + [62ced79fac8a] + + * .hgignore, src/testsuite/testsuite: + testsuite: removed spurious binary from repository. + [058401bf5f8a] + + * configure.in, src/testsuite/Makefile.am, src/testsuite/cmd-test- + message.c, src/testsuite/mail-raw.c, + src/testsuite/tests/testsuite.sieve, src/testsuite/testsuite, + src/testsuite/testsuite-common.c, src/testsuite/testsuite-common.h, + src/testsuite/testsuite.c: + Testsuite: setting message content works. + [93b3a300c389] + + * src/lib-sieve/sieve-binary-dumper.c, src/lib-sieve/sieve-code- + dumper.c, src/lib-sieve/sieve-extensions-private.h, src/lib-sieve + /sieve-extensions.c, src/testsuite/cmd-test-message.c, src/testsuite + /ext-testsuite.c, src/testsuite/testsuite, + src/testsuite/testsuite.c: + Fixed execution of initial testsuite implementation. + [c1455741740d] + +2008-05-20 Stephan Bosch + + * src/lib-sieve/ext-encoded-character.c, src/lib-sieve/ext-envelope.c, + src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/comparator-i + -ascii-numeric/ext-cmp-i-ascii-numeric.c, src/lib-sieve/plugins/copy + /ext-copy.c, src/lib-sieve/plugins/imapflags/ext-imapflags.c, src + /lib-sieve/plugins/include/ext-include-binary.c, src/lib- + sieve/plugins/include/ext-include-binary.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/regex + /ext-regex.c, src/lib-sieve/plugins/relational/ext-relational.c, src + /lib-sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve- + binary-dumper.c, src/lib-sieve/sieve-binary-dumper.h, src/lib-sieve + /sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve- + code-dumper.c, src/lib-sieve/sieve-comparators.c, src/lib-sieve + /sieve-extensions.h, src/lib-sieve/sieve-match-types.c, + src/testsuite/testsuite: + Properly implemented dumping a binary including a list of required + extensions and support for extension-specific output. + [49041cf55a5c] + +2008-05-18 Stephan Bosch + + * .hgignore, src/Makefile.am, src/lib-sieve/Makefile.am, src/lib-sieve + /ext-reject.c, src/lib-sieve/plugins/body/ext-body.c, src/lib- + sieve/plugins/body/tst-body.c, src/lib-sieve/plugins/imapflags/ext- + imapflags-common.c, src/lib-sieve/plugins/imapflags/imapflags.sieve, + src/lib-sieve/plugins/imapflags/tag-flags.c, src/lib- + sieve/plugins/imapflags/tst-hasflag.c, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/vacation/ext-vacation.c, src + /lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-arguments.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/tst-string.c, src/lib-sieve/sieve-actions.c, + src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve-binary- + dumper.c, src/lib-sieve/sieve-binary-dumper.h, src/lib-sieve/sieve- + binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve-code- + dumper.c, src/lib-sieve/sieve-code-dumper.h, src/lib-sieve/sieve- + code.c, src/lib-sieve/sieve-code.h, src/lib-sieve/sieve-common.h, + src/lib-sieve/sieve-comparators.c, src/lib-sieve/sieve-dump.h, src + /lib-sieve/sieve-extensions-private.h, src/lib-sieve/sieve-match- + types.c, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve.c, src + /lib-sieve/tst-header.c, src/testsuite/Makefile.am, src/testsuite + /cmd-test-message.c, src/testsuite/ext-testsuite.c, src/testsuite + /mail-raw.c, src/testsuite/mail-raw.h, src/testsuite/namespaces.c, + src/testsuite/namespaces.h, src/testsuite/tests/testsuite.sieve, + src/testsuite/testsuite, src/testsuite/testsuite-common.h, + src/testsuite/testsuite.c: + RECOVERED FROM INCONSISTENCY: developed testsuite and binary dumping + and fixed various small issues. + [5173404351c7] + +2008-04-06 Stephan Bosch + + * README: + Updated documentation. + [e80c85bfd227] + + * src/lib-sieve/plugins/include/Makefile.am, src/lib- + sieve/plugins/include/cmd-export.c, src/lib-sieve/plugins/include + /cmd-import.c, src/lib-sieve/plugins/include/ext-include-common.c, + src/lib-sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/include/include-variables.sieve, src/lib- + sieve/plugins/include/include-variables1.sieve, src/lib- + sieve/plugins/include/include-variables2.sieve, src/lib- + sieve/plugins/include/include-variables3.sieve, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-common.c, src/lib-sieve/plugins/variables/ext- + variables-common.h, src/lib-sieve/plugins/variables/ext-variables- + operands.c, src/lib-sieve/plugins/variables/ext-variables.c, src + /lib-sieve/plugins/variables/sieve-ext-variables.h: + Include: merged import and export commands into a single + implementation and implemented global variable storage. + [2071bd319715] + + * README, src/lib-sieve/plugins/variables/Makefile.am, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-operands.c, src/lib- + sieve/plugins/variables/ext-variables-operands.h, src/lib- + sieve/plugins/variables/ext-variables.c: + Variables: exported new operand definitions to separate file. + [1515291be1fe] + +2008-04-05 Stephan Bosch + + * src/lib-sieve/plugins/variables/Makefile.am, src/lib- + sieve/plugins/variables/ext-variables-arguments.c, src/lib- + sieve/plugins/variables/ext-variables-arguments.h, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/ext-variables.c: + Variables: exported new argument definitions to separate file. + [889cea0db5b6] + + * src/lib-sieve/plugins/include/cmd-export.c, src/lib- + sieve/plugins/include/cmd-import.c, src/lib-sieve/plugins/include + /ext-include-common.c, src/lib-sieve/plugins/include/ext-include- + variables.c, src/lib-sieve/plugins/include/ext-include-variables.h: + Include: implemented global variable scope. + [5cce69ab4eb4] + +2008-04-03 Stephan Bosch + + * README, src/sieve-bin/sieve-test.c: + Added -c option to sieve-test to force compile. + [5c2eeabbafbe] + +2008-03-24 Stephan Bosch + + * README, src/lib-sieve/plugins/include/ext-include.c, src/lib- + sieve/plugins/variables/ext-variables.c: + Updated documentation. + [157a94a31c54] + + * src/lib-sieve/plugins/include/Makefile.am, src/lib- + sieve/plugins/include/cmd-export.c, src/lib-sieve/plugins/include + /cmd-import.c, src/lib-sieve/plugins/include/ext-include-binary.h, + src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include-variables.c, src/lib- + sieve/plugins/include/ext-include-variables.h, src/lib- + sieve/plugins/include/include-variables1.sieve, src/lib- + sieve/plugins/include/include-variables2.sieve: + Include: moved variables support to separate file. + [9a997c6e97d0] + + * src/lib-sieve/plugins/include/Makefile.am, src/lib- + sieve/plugins/include/cmd-export.c, src/lib-sieve/plugins/include + /ext-include-binary.c, src/lib-sieve/plugins/include/ext-include- + binary.h, src/lib-sieve/plugins/include/ext-include-common.c, src + /lib-sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c: + Include: moved implementation of binary extension to separate file. + [29877e0201ea] + + * src/lib-sieve/plugins/include/cmd-export.c, src/lib- + sieve/plugins/include/cmd-import.c, src/lib-sieve/plugins/include + /ext-include-common.c, src/lib-sieve/plugins/include/ext-include- + common.h, src/lib-sieve/plugins/include/ext-include.c, src/lib- + sieve/plugins/include/include-variables-error2.sieve, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, src/lib-sieve/sieve- + ast.c, src/lib-sieve/sieve-ast.h: + Include: added AST context and now export context detectects export + of imported variables. + [7e2750e9e64b] + + * src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/include-error.sieve, src/lib-sieve/sieve- + ast.c, src/lib-sieve/sieve-ast.h: + Include: moved script existance validation back to validation stage. + [f179c5640bed] + + * src/lib-sieve/plugins/include/Makefile.am, src/lib- + sieve/plugins/include/cmd-export.c, src/lib-sieve/plugins/include + /cmd-import.c, src/lib-sieve/plugins/include/include-variables- + error.sieve, src/lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h: + Include: made import and export commands check whether the variables + extension is active. + [b1e85659979f] + +2008-03-23 Stephan Bosch + + * src/lib-sieve/plugins/include/Makefile.am, src/lib- + sieve/plugins/include/cmd-export.c, src/lib-sieve/plugins/include + /cmd-import.c, src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/include + /include-variables.sieve, src/lib-sieve/plugins/include/include- + variables1.sieve, src/lib-sieve/plugins/include/include- + variables2.sieve, src/lib-sieve/sieve-generator.c, src/lib-sieve + /sieve-script.c: + Include: added skeleton import and export commands. + [c3f48302b86a] + + * README: + Updated TODO. + [404001bc4009] + + * src/lib-sieve/plugins/regex/mcht-regex.c, src/lib- + sieve/plugins/variables/Makefile.am, src/lib-sieve/plugins/variables + /variables-regex.sieve, src/lib-sieve/sieve-match-types.c, src/lib- + sieve/sieve-match-types.h: + Regex: added match values support. + [5dfb64a0f93b] + + * src/lib-sieve/plugins/relational/Makefile.am, src/lib- + sieve/plugins/relational/ext-relational-common.c, src/lib- + sieve/plugins/relational/ext-relational-common.h, src/lib- + sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/relational/mcht-count.c, src/lib- + sieve/plugins/relational/mcht-value.c: + Relational: split match-type implementation into separate file. + [c3887aa30660] + + * src/lib-sieve/plugins/regex/Makefile.am, src/lib-sieve/plugins/regex + /ext-regex-common.h, src/lib-sieve/plugins/regex/ext-regex.c, src + /lib-sieve/plugins/regex/mcht-regex.c: + Regex: split match type implementation into separate file. + [6de0ef9ce851] + + * src/lib-sieve/Makefile.am, src/lib-sieve/mcht-contains.c, src/lib- + sieve/mcht-is.c, src/lib-sieve/mcht-matches.c, src/lib- + sieve/plugins/body/ext-body-common.c, src/lib-sieve/sieve-match- + types.c, src/lib-sieve/sieve-match-types.h: + Exported match type implementations to separate files. + [9c87314c8c6e] + +2008-03-22 Stephan Bosch + + * src/lib-sieve/plugins/variables/variables-match.sieve, src/lib-sieve + /sieve-match-types.c: + Finished :matches function for now, but it can still be improved and + it needs more testing. + [dce3ebd372de] + +2008-03-09 Stephan Bosch + + * src/lib-sieve/plugins/variables/variables-match.sieve, src/lib-sieve + /sieve-match-types.c, src/lib-sieve/sieve-match-types.h: + Revised :matches function, but did finish. + [361d7952dcc3] + +2008-03-08 Stephan Bosch + + * src/lib-sieve/plugins/variables/variables-match.sieve, src/lib-sieve + /sieve-match-types.c: + Variables: fixed bug in match value indexing. + [eb6b7af13024] + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/plugins/body/tst-body.c, + src/lib-sieve/plugins/imapflags/tst-hasflag.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/tst-string.c, src/lib- + sieve/plugins/variables/variables-match.sieve, src/lib-sieve/sieve- + match-types.c, src/lib-sieve/sieve-match-types.h, src/lib-sieve/tst- + address.c, src/lib-sieve/tst-header.c: + Variables: First work towards match value support. + [39ae5f637374] + +2008-02-28 Stephan Bosch + + * README, src/lib-sieve/plugins/variables/ext-variables.c: + Updated documentation. + [b01fae741c62] + + * src/lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/variables-errors.sieve: + Variables: added variable name parsing to the set command and added + error handling. + [636f16de84ad] + + * src/lib-sieve/plugins/variables/Makefile.am, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-name.c, src/lib- + sieve/plugins/variables/ext-variables-name.h, src/lib- + sieve/plugins/variables/variables-nspace.sieve: + Variables: exported namespace+variable parsing to separate file. + [1eb6468cbb57] + + * src/lib-sieve/plugins/variables/ext-variables-common.c: + Variables: exported namespace+variable parsing to separate function. + [324762d634a0] + + * README: + Updated documentation. + [2d7d8b3882d6] + +2008-02-27 Stephan Bosch + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/plugins/variables/ext- + variables-common.c: + Variables: added parsing support for namespaces. + [be3b8bac2c3b] + + * src/lib-sieve/plugins/variables/tst-string.c: + Variables: fixed string test. + [6b07d2c2aecf] + +2008-02-26 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Expand ~ to home in sieve path. + [5a26dbbd6b04] + +2008-02-25 Stephan Bosch + + * src/lib-sieve/sieve-binary.c: + Fixed indent in sieve-banary.c + [b3ad65e8017e] + + * src/lib-sieve/sieve-script.c: + Simplified needlessly complex assignment. + [71baeea1b4c2] + + * README: + Added TODO item. + [5e891151c11d] + + * src/lib-sieve/plugins/regex/ext-regex.c, src/lib-sieve/sieve- + comparators.c: + Avoid direct to_lower() invocations; replaced by i_tolower(). + [4a4da0b36b73] + + * README: + Updated documentation. + [23fddcb3bff4] + + * src/lib-sieve/plugins/regex/ext-regex.c, src/lib-sieve/sieve-code.c, + src/lib-sieve/sieve-match-types.c: + Changed various p_new(pool_datastack_create(),) invocations to + t_new() + [4a350bcb98fb] + + * src/lib-sieve/ext-envelope.c, src/lib- + sieve/plugins/variables/variables.sieve: + Envelope: changed p_array_init(,pool_datastack_create(),) into + t_array_init(,) + [d2659865968c] + + * README: + Updated documentation. + [8854635f2819] + +2008-02-23 Stephan Bosch + + * src/lib-sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/variables.sieve, src/lib-sieve/sieve-code.c: + Variables: fixed bug in string-list containing variables. + [bda964bee9f5] + + * src/lib-sieve/plugins/regex/ext-regex.c, src/lib- + sieve/plugins/variables/tst-string.c, src/lib- + sieve/plugins/variables/variables.sieve, src/lib-sieve/sieve- + commands.c: + Fixed bugs in string substitution support and the regex extension. + [2c93a6f1f120] + + * src/lib-sieve/plugins/variables/draft-ietf-sieve-variables-08.txt, + src/lib-sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/rfc5229.txt: + Variables: updated included specification to new RFC 5229. + [970977365e61] + + * README: + Updated documentation. + [8223da28978b] + + * src/lib-sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/variables.sieve: + Variables: made variable identifiers case insensitive. + [22ba1d548f77] + +2008-02-22 Stephan Bosch + + * src/lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/variables-errors.sieve: + Variables: added check for equal precedence and added comment. + [78ac4b9fd4b7] + + * src/lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/variables.sieve: + Variables: activated 'quotewildcard' set modifier and fixed a bug. + [f5cc923c0cf8] + + * src/lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/variables.sieve: + Variables: activated 'length' set modifier. + [571ff4050c4e] + + * src/lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/variables.sieve: + Variables: activated support for set command modifiers. + [9c3840cc68f6] + + * src/lib-sieve/plugins/body/ext-body-common.c: + Adjusted body extension to compile with dovecot past 1.1.beta16 + (message parser changes) + [854549e5e6d9] + +2008-02-14 Stephan Bosch + + * AUTHORS: + Added notice about the omission CMU code to the AUTHORS file. + [e10b34c008dd] + + * .hgignore, configure.in: + Assigned proper package version and name. + [19fa7bfb0623] + + * .hgignore, COPYING: + Removed duplicate licence. + [be7aad6c814d] + + * Makefile.am: + Added maintainermode functions to Makefile.am + [fdf2ea8d11d3] + +2008-02-13 Stephan Bosch + + * src/lib-sieve/ext-encoded-character.c, src/lib-sieve/plugins/body + /ext-body-common.c, src/lib-sieve/sieve-address-parts.c, src/lib- + sieve/sieve-ast.c, src/lib-sieve/sieve-binary.c, src/lib-sieve + /sieve-commands.c, src/lib-sieve/sieve-error.c, src/lib-sieve/sieve- + error.h, src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-lexer.c, src/lib-sieve/sieve- + parser.c, src/lib-sieve/sieve-validator.c, src/lib-sieve/sieve.c, + src/plugins/lda-sieve/lda-sieve-plugin.c: + Incorporated changes in dovecot-1.1 + [c8c67641d0dc] + +2008-02-11 Stephan Bosch + + * src/lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/variables.sieve: + Variables: set modifiers are now sorted. + [5ceb8e6709ef] + +2008-02-10 Stephan Bosch + + * src/lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h: + Added code support for set modifiers. + [edba29e3d158] + +2008-01-06 Stephan Bosch + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext-envelope.c, src/lib- + sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/tst-body.c, src/lib-sieve/plugins/imapflags/ext- + imapflags-common.c, src/lib-sieve/plugins/imapflags/tst-hasflag.c, + src/lib-sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-common.c, src/lib-sieve/plugins/variables/tst- + string.c, src/lib-sieve/plugins/variables/variables.sieve, src/lib- + sieve/sieve-validator.c, src/lib-sieve/tst-address.c, src/lib-sieve + /tst-exists.c, src/lib-sieve/tst-header.c, src/lib-sieve/tst-size.c: + Fixed bugs in validation error handling and fixed bugs in dynamic + argument support. + [207f7dea843e] + +2008-01-05 Stephan Bosch + + * src/lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/variables.sieve, src/lib-sieve/sieve-ast.c, + src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve-validator.c: + First successful variable substitutions. + [beaacb4d8406] + + * Merged concurrent changes. + [8e8f0012b6c1] + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext-envelope.c, src/lib- + sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/tst-body.c, src/lib-sieve/plugins/imapflags/cmd- + addflag.c, src/lib-sieve/plugins/imapflags/cmd-removeflag.c, src + /lib-sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/imapflags + /tst-hasflag.c, src/lib-sieve/plugins/vacation/ext-vacation.c, src + /lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib- + sieve/plugins/variables/sieve-ext-variables.h, src/lib- + sieve/plugins/variables/tst-string.c, src/lib-sieve/sieve-actions.c, + src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve-address-parts.c, + src/lib-sieve/sieve-address-parts.h, src/lib-sieve/sieve-code.c, src + /lib-sieve/sieve-code.h, src/lib-sieve/sieve-comparators.c, src/lib- + sieve/sieve-comparators.h, src/lib-sieve/sieve-interpreter.c, src + /lib-sieve/sieve-match-types.c, src/lib-sieve/sieve-match-types.h, + src/lib-sieve/tst-address.c, src/lib-sieve/tst-exists.c, src/lib- + sieve/tst-header.c, src/lib-sieve/tst-size.c: + Changed operand read API to get access to the runtime environment + inside the read functions. + [be351797c032] + +2008-01-04 Stephan Bosch + + * sieve/errors/interesting.sieve, src/lib-sieve/sieve-parser.c: + Minor fix in the error reporting of the sieve parser. + [d403335a9351] + + * src/lib-sieve/sieve-extensions.c, src/lib-sieve/sieve-extensions.h, + src/lib-sieve/sieve.c: + Implemented dynamic sieve_get_capabilities() for proper MANAGESIEVE + support. + [5ecaa79ab879] + + * src/lib-sieve/sieve.c, src/lib-sieve/sieve.h: + Published compiler API using script objects instead of paths. + [16d8c8b63bcc] + + * src/lib-sieve/sieve-validator.c: + Fixed segfault occuring when command did not exist. + [31182d66d254] + + * src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-script.c: + Small changes: removed T_FRAME and improved an error message. + [dac13553f2fa] + +2008-01-03 Stephan Bosch + + * src/lib-sieve/Makefile.am, src/lib-sieve/plugins/include/ext- + include-common.c, src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve- + error-private.h, src/lib-sieve/sieve-error.c, src/lib-sieve/sieve- + error.h, src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-lexer.c, src/lib-sieve/sieve- + parser.c, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve-script- + private.h, src/lib-sieve/sieve-script.c, src/lib-sieve/sieve- + script.h, src/lib-sieve/sieve-validator.c, src/lib-sieve/sieve.c, + src/lib-sieve/sieve.h, src/plugins/lda-sieve/lda-sieve-plugin.c, src + /sieve-bin/bin-common.c, src/sieve-bin/sieve-exec.c, src/sieve-bin + /sieve-test.c: + Implemented required features for use with MANAGESIEVE service. + [41d479d33f26] + + * src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-error.h: + Added strbuf error handler. + [57118bf13efc] + +2007-12-30 Stephan Bosch + + * src/lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve- + code.c, src/lib-sieve/sieve-code.h, src/lib-sieve/sieve- + comparators.c, src/lib-sieve/sieve-match-types.c: + Added variable operand to the variables extension. + [cd89ce24b255] + + * src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-address-parts.c, + src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h, src/lib- + sieve/sieve-comparators.c, src/lib-sieve/sieve-extensions.h, src + /lib-sieve/sieve-match-types.c: + Added support for adding new types operands to the engine. + [6f5eadd0e4c8] + + * src/lib-sieve/plugins/variables/cmd-set.c, src/lib- + sieve/plugins/variables/ext-variables-common.c, src/lib- + sieve/plugins/variables/ext-variables-common.h, src/lib- + sieve/plugins/variables/sieve-ext-variables.h: + Defined variable argument for the variables extension. + [b0552c08b279] + +2007-12-29 Stephan Bosch + + * src/lib-sieve/sieve-commands.c, src/lib-sieve/sieve-generator.c, src + /lib-sieve/sieve-generator.h, src/lib-sieve/sieve-validator.c, src + /lib-sieve/sieve-validator.h: + Changed validation and generation of string list argument to fully + support the new string list encoding. + [f65dd8431ae8] + + * src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-binary.c, src + /lib-sieve/sieve-code.c: + Changed encoding of stringlist. Now it contains string operands in + stead of bare strings. + [7bac41b7e6c1] + + * src/lib-sieve/sieve-extensions-private.h: + Removed obsolete code. + [9aeb0333b0d7] + + * sieve/tests/address-part.sieve, src/lib-sieve/ext-encoded- + character.c, src/lib-sieve/ext-envelope.c, src/lib-sieve/ext- + fileinto.c, src/lib-sieve/ext-reject.c, src/lib-sieve/plugins/body + /ext-body.c, src/lib-sieve/plugins/comparator-i-ascii-numeric/ext- + cmp-i-ascii-numeric.c, src/lib-sieve/plugins/copy/ext-copy.c, src + /lib-sieve/plugins/imapflags/tag-flags.c, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/regex + /ext-regex.c, src/lib-sieve/plugins/relational/ext-relational.c, src + /lib-sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/ext-variables.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve- + code.c, src/lib-sieve/sieve-comparators.c, src/lib-sieve/sieve- + comparators.h, src/lib-sieve/sieve-extensions-private.h, src/lib- + sieve/sieve-extensions.h, src/lib-sieve/sieve-generator.c, src/lib- + sieve/sieve-match-types.c, src/lib-sieve/sieve-validator.c: + Removed much code duplication between extensions that provide + support for further extension. + [3009bde82cd7] + +2007-12-27 Stephan Bosch + + * src/lib-sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i-ascii- + numeric.c, src/lib-sieve/plugins/regex/ext-regex.c, src/lib- + sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve + /sieve-code.c, src/lib-sieve/sieve-comparators.c, src/lib-sieve + /sieve-comparators.h, src/lib-sieve/sieve-extensions-private.h, src + /lib-sieve/sieve-match-types.c, src/lib-sieve/sieve-match-types.h: + Further migrated implementation of extensions to new extension + architecture. + [4ac0b9e8635c] + + * src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-if.c, src/lib-sieve + /cmd-keep.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext- + encoded-character.c, src/lib-sieve/ext-envelope.c, src/lib-sieve + /ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/body/tst- + body.c, src/lib-sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i + -ascii-numeric.c, src/lib-sieve/plugins/copy/copy.sieve, src/lib- + sieve/plugins/copy/ext-copy.c, src/lib-sieve/plugins/imapflags/cmd- + addflag.c, src/lib-sieve/plugins/imapflags/cmd-removeflag.c, src + /lib-sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/imapflags + /tst-hasflag.c, src/lib-sieve/plugins/include/cmd-include.c, src + /lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/plugins/regex + /ext-regex.c, src/lib-sieve/plugins/relational/ext-relational.c, src + /lib-sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-common.h, src/lib-sieve/plugins/variables/ext- + variables.c, src/lib-sieve/plugins/variables/tst-string.c, src/lib- + sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h, src/lib-sieve + /sieve-address-parts.c, src/lib-sieve/sieve-binary.c, src/lib-sieve + /sieve-binary.h, src/lib-sieve/sieve-code-dumper.c, src/lib-sieve + /sieve-code-dumper.h, src/lib-sieve/sieve-code.c, src/lib-sieve + /sieve-code.h, src/lib-sieve/sieve-commands.c, src/lib-sieve/sieve- + common.h, src/lib-sieve/sieve-comparators.c, src/lib-sieve/sieve- + extensions-private.h, src/lib-sieve/sieve-extensions.c, src/lib- + sieve/sieve-extensions.h, src/lib-sieve/sieve-generator.c, src/lib- + sieve/sieve-generator.h, src/lib-sieve/sieve-interpreter.c, src/lib- + sieve/sieve-match-types.c, src/lib-sieve/sieve-validator.c, src/lib- + sieve/sieve.c, src/lib-sieve/tst-address.c, src/lib-sieve/tst- + allof.c, src/lib-sieve/tst-anyof.c, src/lib-sieve/tst-exists.c, src + /lib-sieve/tst-header.c, src/lib-sieve/tst-size.c: + Major changes in the extensions support. + [8b74028295fd] + +2007-12-26 Stephan Bosch + + * src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve-address- + parts.h, src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve-commands.c, + src/lib-sieve/sieve-commands.h, src/lib-sieve/sieve-comparators.c, + src/lib-sieve/sieve-comparators.h, src/lib-sieve/sieve-match- + types.c, src/lib-sieve/sieve-match-types.h, src/lib-sieve/sieve- + validator.c, src/lib-sieve/sieve-validator.h: + Changed implementation of command context handling and instanced + tags to avoid duplicate lookups. + [74d12bfed7c8] + + * src/lib-sieve/plugins/variables/Makefile.am, src/lib- + sieve/plugins/variables/cmd-set.c, src/lib-sieve/plugins/variables + /ext-variables-common.c, src/lib-sieve/plugins/variables/ext- + variables-common.h, src/lib-sieve/plugins/variables/ext-variables.c, + src/lib-sieve/plugins/variables/tst-string.c, src/lib- + sieve/plugins/variables/variables.sieve: + Further developed the variables extension. + [492938049fc1] + +2007-12-25 Stephan Bosch + + * README, configure.in, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/Makefile.am, src/lib- + sieve/plugins/variables/Makefile.am, src/lib-sieve/plugins/variables + /draft-ietf-sieve-variables-08.txt, src/lib-sieve/plugins/variables + /ext-variables.c, src/lib-sieve/plugins/variables/variables.sieve, + src/lib-sieve/sieve-extensions.c: + Started skeleton implementation of variables extension. + [cac5b0cdb8e6] + + * sieve/tests/encoded-character.sieve, src/lib-sieve/ext-encoded- + character.c: + Fixed non-standard behavior for the encoded-character extension. + [6900d4693821] + + * README, sieve/errors/encoded-character.sieve, sieve/tests/encoded- + character.sieve, src/lib-sieve/ext-encoded-character.c, src/lib- + sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/sieve-bin + /mail-raw.c: + Finished encoded-character extension. + [dd6a814d5350] + + * doc/rfc/rfc3629.txt: + Added UTF-8 rfc to doc/rfc directory. + [772db2c40fd1] + + * sieve/tests/encoded-character.sieve, src/lib-sieve/ext-encoded- + character.c, src/lib-sieve/sieve-validator.c: + Built a little more extensive tests for the encoded-character + extension. + [f6cba45b3299] + +2007-12-24 Stephan Bosch + + * sieve/tests/encoded-character.sieve, src/lib-sieve/cmd-redirect.c, + src/lib-sieve/ext-encoded-character.c, src/lib-sieve/ext-envelope.c, + src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/tst-body.c, src/lib-sieve/plugins/imapflags/ext- + imapflags-common.c, src/lib-sieve/plugins/imapflags/tst-hasflag.c, + src/lib-sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve- + ast.h, src/lib-sieve/sieve-validator.c, src/lib-sieve/sieve- + validator.h, src/lib-sieve/tst-address.c, src/lib-sieve/tst- + exists.c, src/lib-sieve/tst-header.c, src/lib-sieve/tst-size.c: + Encoded character extension basicly works, but no unicode support is + implemented. + [0c62d3501b83] + +2007-12-19 Stephan Bosch + + * src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-keep.c, src/lib-sieve + /cmd-redirect.c, src/lib-sieve/cmd-require.c, src/lib-sieve/ext- + encoded-character.c, src/lib-sieve/ext-envelope.c, src/lib-sieve + /ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/body/tst-body.c, src/lib-sieve/plugins/imapflags/cmd- + addflag.c, src/lib-sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/imapflags + /tst-hasflag.c, src/lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve-address- + parts.c, src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve-code- + dumper.c, src/lib-sieve/sieve-commands.c, src/lib-sieve/sieve- + commands.h, src/lib-sieve/sieve-comparators.c, src/lib-sieve/sieve- + comparators.h, src/lib-sieve/sieve-generator.h, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-parser.h, src/lib-sieve/sieve- + validator.c, src/lib-sieve/sieve-validator.h, src/lib-sieve/tst- + address.c, src/lib-sieve/tst-allof.c, src/lib-sieve/tst-anyof.c, src + /lib-sieve/tst-exists.c, src/lib-sieve/tst-header.c, src/lib-sieve + /tst-not.c, src/lib-sieve/tst-size.c: + Implemented support for overriding default argument implementations + of number, string and string-list. + [811636f212aa] + +2007-12-18 Stephan Bosch + + * doc/rfc/draft-ietf-sieve-3028bis-13.txt, doc/rfc/rfc3028.txt: + Added sieve rfc and new sieve 3028bis to the doc/rfc directory. + [cf0d3511810b] + + * doc/rfc: + Removed erroneous rfc file from new doc dir. + [50462444b677] + + * doc/rfc, sieve/tests/encoded-character.sieve, src/lib-sieve/ext- + encoded-character.c: + Forgot to add new files. + [ec01147fbf36] + + * README: + Updated documentation. + [d870f0bb6228] + + * src/lib-sieve/Makefile.am, src/lib-sieve/sieve-extensions.c: + Started skeleton for the encoded-character extension. + [915854a9a6e7] + + * README: + Updated TODO list. + [c4f08e56f98f] + + * README, src/lib-sieve/plugins/body/ext-body.c: + Updated documentation. + [7853b0fd8c2f] + + * src/lib-sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/imapflags/tst-hasflag.c: + Changed imapflags extension to use the message context instead of + the interpreter context. + [73f99ee08abb] + + * src/lib-sieve/plugins/body/ext-body-common.c: + Changed body extension to use the message context instead of the + interpreter context. + [c769d7261264] + + * src/lib-sieve/plugins/include/ext-include-common.c, src/lib-sieve + /sieve-interpreter.c, src/lib-sieve/sieve-interpreter.h: + Introduced message context to give extensions the ability to + associate context data with the currently processed message. + [08a085d3c1b9] + + * README, src/lib-sieve/plugins/body/ext-body.c: + Updated documentation. + [d47f4b7439d2] + + * src/lib-sieve/plugins/body/body.sieve, src/lib-sieve/plugins/body + /ext-body-common.c, src/lib-sieve/plugins/body/tst-body.c: + Fixed minor bug in the body extension. + [c8ea2fb589cc] + + * AUTHORS, src/lib-sieve/plugins/body/Makefile.am, src/lib- + sieve/plugins/body/body.sieve, src/lib-sieve/plugins/body/ext-body- + common.c, src/lib-sieve/plugins/body/ext-body-common.h, src/lib- + sieve/plugins/body/ext-body.c, src/lib-sieve/plugins/body/tst- + body.c, src/lib-sieve/plugins/imapflags/tst-hasflag.c, src/lib-sieve + /sieve-address-parts.c, src/lib-sieve/sieve-match-types.c, src/lib- + sieve/sieve-match-types.h, src/lib-sieve/tst-header.c: + Implemented evaluation for the body test introduced by the body + extension. + [7dc23ed0c79f] + + * src/lib-sieve/plugins/body/ext-body.c, src/lib-sieve/sieve- + extensions.c, src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve- + generator.h: + Implemented validation and code generation for body extension. + [24a83b8759f7] + + * README, configure.in, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/Makefile.am, src/lib-sieve/plugins/body/Makefile.am, + src/lib-sieve/plugins/body/draft-ietf-sieve-body-07.txt, src/lib- + sieve/plugins/body/ext-body.c: + Started skeleton for the body extension. + [87141cd62e03] + + * README, src/lib-sieve/plugins/include/ext-include.c: + Updated documentation. + [ebdc3d4b1ebb] + + * src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/cmd-return.c, src/lib-sieve/plugins/include + /ext-include-common.c, src/lib-sieve/plugins/include/ext-include- + common.h, src/lib-sieve/plugins/include/included2.sieve, src/lib- + sieve/sieve-binary.c: + Implemented return command for include extension. + [2ecc3c3f89cf] + + * src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/sieve-binary.c, + src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve-error.c: + Basic include functionality seems to be working and if source + scripts are changed the binary is always recompiled. + [4d87cc13eb79] + +2007-12-16 Stephan Bosch + + * src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/sieve-binary.c, + src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve-script.c, src/lib- + sieve/sieve-script.h, src/lib-sieve/sieve.c: + Working towards proper dependency handling for sieve binaries. + [7055341a175d] + + * src/lib-sieve/sieve-binary.c: + Added support for lazy binary load. + [443f611ba331] + +2007-12-15 Stephan Bosch + + * src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib-sieve/sieve- + binary.c: + Added internal support for different methods of loading a binary. + [06efb6d54463] + + * src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/sieve-binary.c, + src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve.c, src/sieve- + bin/sieved.c: + Working towards complete binary support for the include extension. + [1f60d0e233a2] + +2007-12-14 Stephan Bosch + + * README: + Updated documentation. + [cd70b1e8764f] + + * src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/included2.sieve, src/lib-sieve/sieve-binary.c, + src/lib-sieve/sieve-interpreter.c: + Fixed bug regarding stop command in combination with include + extension. + [84c480ec5cd3] + + * src/lib-sieve/plugins/include/ext-include-common.c: + Simplified the include loop a little. + [e930ac1deb4e] + + * src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/include.sieve, src/lib- + sieve/plugins/include/included2.sieve, src/lib-sieve/sieve-binary.c, + src/lib-sieve/sieve-binary.h: + Implemented mostly untested deep-level include execution support. + [c88db860a282] + +2007-12-13 Stephan Bosch + + * src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib- + sieve/sieve.c: + First successful (single level) execution of four consecutive + includes. + [5f1564b65675] + + * src/lib-sieve/plugins/include/ext-include-common.c, src/lib-sieve + /sieve-commands.c, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /sieve-interpreter.h: + Added support for interrupting an interpreter and continuing + execution later. + [1af35588edfc] + + * src/lib-sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/include/cmd-include.c, src/lib-sieve/plugins/include + /ext-include-common.c, src/lib-sieve/plugins/include/ext-include- + common.h, src/lib-sieve/plugins/include/ext-include.c: + Include extension now generates include opcode. Not executable yet + though. + [ac8496b3d19c] + + * src/lib-sieve/sieve-binary.c: + Implemented the binary_free event for binary extensions. Script + references in the include extension are now properly released. + [d0a0bbdaf6b0] + + * src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/sieve-binary.c, + src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve-common.h: + Fixed behavior of binary object with respect to pre-loaded + extensons. Broke it with last change. + [ce0e32e63adc] + + * src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib- + sieve/sieve-extensions.c, src/lib-sieve/sieve-extensions.h: + Changed binary object's extension linkage for extending the binary + itself. + [5633827bd892] + +2007-12-11 Stephan Bosch + + * src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib-sieve/sieve-script.c, + src/lib-sieve/sieve-script.h: + Doubly included scripts are no longer compiled and included multiple + times. + [64ffbd9afaaa] + + * src/lib-sieve/plugins/include/included1.sieve, src/lib-sieve/sieve- + binary.c: + Forgot to set the number of blocks in the binary header. + [69967868a8cc] + + * src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/included1.sieve: + Re-established circular include detection for include extension. + [e8867e044d2c] + + * src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/included1.sieve, src/lib-sieve/sieve-binary.c, + src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve-generator.h, + src/lib-sieve/sieve.c: + Further developed the include extension to compile included scripts + in additional blocks of the binary. + [6d0b5b112f00] + +2007-12-10 Stephan Bosch + + * src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib- + sieve/sieve-generator.c, src/lib-sieve/sieve-generator.h, src/lib- + sieve/sieve.c: + Further developed the binary format: binary can now contain multiple + blocks with arbitrary data. + [958ac41805fc] + + * README: + Updated documentation: Changed priorities in TODO list. + [c27f92353192] + + * README: + Updated documentation. + [b1b5f7d6ff6c] + +2007-12-09 Stephan Bosch + + * src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib- + sieve/plugins/include/included1.sieve, src/lib-sieve/sieve-ast.c, + src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve-binary.c, src/lib- + sieve/sieve-binary.h, src/lib-sieve/sieve-commands.h, src/lib-sieve + /sieve-error.h, src/lib-sieve/sieve-generator.c, src/lib-sieve + /sieve-generator.h, src/lib-sieve/sieve-script.c, src/lib-sieve + /sieve-validator.c, src/lib-sieve/sieve-validator.h, src/lib- + sieve/sieve.c, src/sieve-bin/sieved.c: + Moved actual include operation from validator to generator stage. + [c49356652255] + + * .hgignore, src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve- + script.c, src/lib-sieve/sieve-script.h, src/lib-sieve/sieve.c, src + /lib-sieve/sieve.h, src/sieve-bin/bin-common.c, src/sieve-bin/bin- + common.h, src/sieve-bin/sieve-exec.c, src/sieve-bin/sieve-test.c, + src/sieve-bin/sievec.c: + Sieve executables now work with binaries too. + [8e7a1b3c0ad9] + + * .hgignore, src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve- + binary.h, src/lib-sieve/sieve-code.c, src/lib-sieve/sieve- + extensions.c, src/lib-sieve/sieve-extensions.h, src/lib-sieve/sieve- + generator.c, src/lib-sieve/sieve-script.c, src/sieve- + bin/Makefile.am, src/sieve-bin/sievec.c, src/sieve-bin/sieved.c: + Made a basic implementation of saving binaries to disk. + [60a7a53897cf] + +2007-12-08 Stephan Bosch + + * src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/include.sieve, src/lib- + sieve/plugins/include/included2.sieve, src/lib-sieve/sieve-ast.c, + src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve-parser.c, src/lib- + sieve/sieve.c: + Cleaned up ast implementation a little. + [82fb78a39773] + + * src/lib-sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/included2.sieve, src/lib- + sieve/plugins/include/included3.sieve, src/lib-sieve/sieve.c: + Prevented more scripts from being included when errors have occured. + [fade5794fecf] + + * src/lib-sieve/plugins/include/cmd-include.c, src/lib- + sieve/plugins/include/ext-include-common.c, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/included3.sieve, src/lib-sieve/sieve-lexer.c, + src/lib-sieve/sieve-script.c, src/lib-sieve/sieve-script.h, src/lib- + sieve/sieve.c: + Properly implemented circular include detection for the include + extension. + [d3b8e1347bb5] + + * src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/include/Makefile.am, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/ext-include-common.c, + src/lib-sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib- + sieve/plugins/include/include.sieve, src/lib- + sieve/plugins/include/included1.sieve, src/lib- + sieve/plugins/include/included2.sieve, src/lib- + sieve/plugins/include/included3.sieve, src/lib-sieve/sieve-ast.c, + src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve-commands.h, src/lib- + sieve/sieve-common.h, src/lib-sieve/sieve-error.c, src/lib-sieve + /sieve-error.h, src/lib-sieve/sieve-lexer.c, src/lib-sieve/sieve- + lexer.h, src/lib-sieve/sieve-parser.c, src/lib-sieve/sieve-parser.h, + src/lib-sieve/sieve-script.c, src/lib-sieve/sieve-script.h, src/lib- + sieve/sieve-validator.c, src/lib-sieve/sieve-validator.h, src/lib- + sieve/sieve.c, src/lib-sieve/sieve.h: + First defined an encapsulating script object and implemented part of + the include extension. + [20278c7b7254] + +2007-12-07 Stephan Bosch + + * README, configure.in, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/Makefile.am, src/lib- + sieve/plugins/include/Makefile.am, src/lib-sieve/plugins/include + /cmd-include.c, src/lib-sieve/plugins/include/cmd-return.c, src/lib- + sieve/plugins/include/draft-daboo-sieve-include-05.txt, src/lib- + sieve/plugins/include/ext-include-common.h, src/lib- + sieve/plugins/include/ext-include.c, src/lib- + sieve/plugins/include/include.sieve, src/lib-sieve/sieve- + extensions.c: + Started skeleton implementation for the include extension. + [fae946e07bd2] + + * README, src/lib-sieve/plugins/vacation/ext-vacation.c: + Updated documentation. + [3ffe74253949] + +2007-12-06 Stephan Bosch + + * sieve/tests/vacation.sieve, src/lib-sieve/plugins/vacation/ext- + vacation.c: + Added :addresses support to the vacation extension. + [22045e56dec8] + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/plugins/imapflags/cmd- + addflag.c, src/lib-sieve/plugins/imapflags/cmd-removeflag.c, src + /lib-sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/sieve-code.c, src + /lib-sieve/sieve-code.h, src/lib-sieve/tst-address.c, src/lib-sieve + /tst-exists.c, src/lib-sieve/tst-header.c: + Added support for reading an entire stringlist into memory. Also + fixed various identical bugs in stringlist-related error handling. + [a2ae74cddb58] + + * README: + Added two TODO items. + [5b3f80ba5fa5] + + * README, src/lib-sieve/plugins/vacation/ext-vacation.c: + Tiny update to documentation and removed a compiler warning. + [57bef612b360] + + * src/lib-sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve- + generator.c: + Added :mime support to vacation extension. + [e0170e8422a7] + + * src/lib-sieve/cmd-keep.c, src/lib-sieve/cmd-redirect.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/plugins/vacation/ext-vacation.c, + src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h, src + /lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve-interpreter.h, + src/lib-sieve/sieve-result.c, src/lib-sieve/sieve-result.h, src/lib- + sieve/sieve.c, src/lib-sieve/sieve.h, src/plugins/lda-sieve/lda- + sieve-plugin.c, src/sieve-bin/sieve-exec.c, src/sieve-bin/sieve- + test.c: + Renamed mail_environment to script_env. + [357df85b1c14] + + * README, src/lib-sieve/cmd-redirect.c: + Added mail-loop detection to the redirect action. + [5208c9de6da9] + + * src/lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve- + interpreter.h, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + result.h, src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, src/plugins + /lda-sieve/lda-sieve-plugin.c, src/sieve-bin/sieve-exec.c: + Changed execution error handling a little. + [9bedd7aaed60] + + * src/lib-sieve/ext-reject.c, src/lib-sieve/sieve-address-parts.c, src + /lib-sieve/sieve-ast.c, src/lib-sieve/sieve-commands.c, src/lib- + sieve/sieve-error.c, src/lib-sieve/sieve-error.h, src/lib-sieve + /sieve-generator.c, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /sieve-lexer.c, src/lib-sieve/sieve-parser.c, src/lib-sieve/sieve- + validator.c: + Adopted code to use Dovecot's new T_FRAME* macros. + [7d056b0525a8] + + * src/lib-sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve- + code-dumper.h, src/lib-sieve/sieve-error.h, src/lib-sieve/sieve- + interpreter.h, src/lib-sieve/sieve-lexer.c, src/lib-sieve/sieve- + parser.c, src/lib-sieve/sieve-result.h, src/lib-sieve/sieve- + validator.h: + Added proper ATTR_FORMAT to all functions that accept a string + format and fixed one bug in the process. + [ed5bbe4892fe] + + * README: + Further updated documentation and cleaned up the README file. + [34dd6d80f884] + + * INSTALL, README: + Updated documentation. We are gettin closer to a first release. + [ba0d6c952726] + + * src/lib-sieve/ext-fileinto.c, src/lib-sieve/sieve-interpreter.c, src + /lib-sieve/sieve-result.c, src/sieve-bin/bin-common.c, src/sieve-bin + /sieve-exec.c: + Implemented implicit keep to execute when not canceled or when the + preceeding action execution fails. + [83139c099737] + +2007-12-05 Stephan Bosch + + * src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-interpreter.c: + Fixed minor bugs in the error reporting. + [3cf617a5c19b] + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Fixed tiny bug in the error reporting in the lda-sieve plugin. + [dd6d34c328e0] + + * src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-error.h, src/lib- + sieve/sieve-interpreter.c, src/lib-sieve/sieve-interpreter.h, src + /lib-sieve/sieve-result.c, src/lib-sieve/sieve-result.h, src/lib- + sieve/sieve.c, src/lib-sieve/sieve.h, src/plugins/lda-sieve/lda- + sieve-plugin.c, src/sieve-bin/sieve-exec.c, src/sieve-bin/sieve- + test.c: + Further developed the error handling. + [b440e2ecb968] + +2007-12-04 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Added a little more error logging to the lda-sieve plugin. + [22100a6b83a0] + + * src/lib-sieve/sieve-error.c, src/lib-sieve/sieve-error.h, + src/plugins/lda-sieve/lda-sieve-plugin.c: + Implemented logfile error handler and assigned it to the lda-sieve + plugin. + [1dd0d188e90d] + +2007-12-03 Stephan Bosch + + * src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve-ast.h, src/lib-sieve + /sieve-error.c, src/lib-sieve/sieve-error.h, src/lib-sieve/sieve- + lexer.c, src/lib-sieve/sieve-lexer.h, src/lib-sieve/sieve-parser.c, + src/lib-sieve/sieve-parser.h, src/lib-sieve/sieve-validator.c, src + /lib-sieve/sieve.c, src/lib-sieve/sieve.h, src/plugins/lda-sieve + /lda-sieve-plugin.c, src/sieve-bin/bin-common.c, src/sieve- + bin/sievec.c: + Further developed error handling. + [38b7c79a1bc9] + +2007-12-02 Stephan Bosch + + * src/plugins/lda-sieve/lda-sieve-plugin.c: + Forgot to initialize sieve library in lda-sieve plugin. It has now + successfully delivered its first message. + [0bb383b96a44] + + * src/plugins/lda-sieve/lda-sieve-plugin.c, src/plugins/lda-sieve/lda- + sieve-plugin.h: + Fixed misnamed module entry points for the lda-sieve plugin. + [b8b366a08231] + + * configure.in, src/Makefile.am, src/lib-sieve/sieve.c, src/lib- + sieve/sieve.h, src/plugins/lda-sieve/Makefile.am, src/plugins/lda- + sieve/lda-sieve-plugin.c, src/plugins/lda-sieve/lda-sieve-plugin.h, + src/sieve-bin/bin-common.c: + Included sieve plugin into the build process. + [0eee6014369f] + + * README, src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, + src/lib-sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/sieve.c, src/lib-sieve/sieve.h, src/plugins/lda-sieve/lda- + sieve-plugin.c, src/sieve-bin/sievec.c: + Documentation updates. + [f48f95ebfcad] + + * src/lib-sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-code-dumper.c, src/lib-sieve/sieve- + error.c, src/lib-sieve/sieve-validator.c, src/lib-sieve/sieve.c, src + /lib-sieve/sieve.h, src/sieve-bin/bin-common.c, src/sieve-bin/bin- + common.h, src/sieve-bin/sieve-exec.c, src/sieve-bin/sieve-test.c, + src/sieve-bin/sievec.c: + Implemented sieve test binaries further. They now have proper + command line arguments. + [c1e500086b9c] + + * src/sieve-bin/Makefile.am, src/sieve-bin/bin-common.c, src/sieve-bin + /bin-common.h, src/sieve-bin/sieve-exec.c, src/sieve-bin/sieve- + test.c, src/sieve-bin/sievec.c: + Updated and cleaned-up the sieve test binaries. + [9ed2f2979c35] + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext-envelope.c, src/lib- + sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/copy/ext-copy.c, src/lib-sieve/plugins/imapflags/ext- + imapflags-common.c, src/lib-sieve/plugins/imapflags/tag-flags.c, src + /lib-sieve/plugins/imapflags/tst-hasflag.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-code-dumper.c, src/lib-sieve + /sieve-code-dumper.h, src/lib-sieve/sieve-code.c, src/lib-sieve + /sieve-comparators.c, src/lib-sieve/sieve-interpreter.c, src/lib- + sieve/sieve-match-types.c, src/lib-sieve/sieve.c, src/lib- + sieve/sieve.h, src/lib-sieve/tst-address.c, src/lib-sieve/tst- + exists.c, src/lib-sieve/tst-header.c, src/lib-sieve/tst-size.c, src + /sieve-bin/sieve-exec.c, src/sieve-bin/sieve-test.c, src/sieve- + bin/sievec.c: + Properly implemented the code dumper. Dumps are now printed in a + stream. The individual opcode and operand implementations no longer + use printf()s. + [b68f9e45a6bd] + + * src/lib-sieve/sieve-code-dumper.c, src/lib-sieve/sieve-code- + dumper.h: + Forgot to add new files. + [3a75f9a2a4ac] + + * src/lib-sieve/Makefile.am, src/lib-sieve/cmd-redirect.c, src/lib- + sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib-sieve + /ext-reject.c, src/lib-sieve/plugins/copy/ext-copy.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/plugins/imapflags + /tst-hasflag.c, src/lib-sieve/plugins/vacation/ext-vacation.c, src + /lib-sieve/sieve-actions.h, src/lib-sieve/sieve-address-parts.c, src + /lib-sieve/sieve-address-parts.h, src/lib-sieve/sieve-code.c, src + /lib-sieve/sieve-code.h, src/lib-sieve/sieve-common.h, src/lib-sieve + /sieve-comparators.c, src/lib-sieve/sieve-comparators.h, src/lib- + sieve/sieve-generator.c, src/lib-sieve/sieve-interpreter.c, src/lib- + sieve/sieve-interpreter.h, src/lib-sieve/sieve-match-types.c, src + /lib-sieve/sieve-match-types.h, src/lib-sieve/sieve.c, src/lib-sieve + /tst-address.c, src/lib-sieve/tst-exists.c, src/lib-sieve/tst- + header.c, src/lib-sieve/tst-size.c: + Exported sieve-code-dumper from sieve-interpreter containing all + code dumping related implementation. Now to remove all printfs.... + [ca3bfa6b2284] + +2007-12-01 Stephan Bosch + + * src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h: + Fixed bug in handling optional operands to opcodes that have no + mandatory operands (0 is no longer a valid opcode) + [77e421643cc2] + + * sieve/errors/action-conflicts.sieve, sieve/errors/action- + duplicates.sieve, src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd- + keep.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext-fileinto.c, + src/lib-sieve/ext-reject.c, src/lib-sieve/plugins/vacation/ext- + vacation.c, src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve- + actions.h, src/lib-sieve/sieve-commands-private.h, src/lib-sieve + /sieve-interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib- + sieve/sieve-result.c, src/lib-sieve/sieve-result.h: + Added conflict and duplicate checking to vacation and reject + actions. + [c33bb67f8b09] + + * sieve/tests/vacation.sieve, src/lib-sieve/cmd-redirect.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/plugins/vacation/ext-vacation.c, + src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h, src + /lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve.h, src/sieve- + bin/sieve-exec.c, src/sieve-bin/sieve-test.c: + Implemented actions reject and vacation. + [d34c2fe9ac63] + + * src/lib-sieve/ext-envelope.c: + Fixed minor bug in envelope extension. + [e39957361fed] + +2007-11-30 Stephan Bosch + + * src/lib-sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/imapflags.sieve, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/sieve-actions.c, + src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve-result.c, src + /lib-sieve/sieve-result.h, src/lib-sieve/sieve-validator.c: + Further developed imapflags extension and added proper logging + functions to the result object. + [bc668e541c89] + +2007-11-29 Stephan Bosch + + * src/lib-sieve/plugins/copy/ext-copy.c, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/sieve-actions.h, + src/lib-sieve/sieve-interpreter.c: + The :flags tag introduced by the imapflags extension now attaches + side-effects to the appropriate action commands. + [b3f4220296e2] + + * README, src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-keep.c, src + /lib-sieve/cmd-redirect.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/plugins/copy/ext-copy.c, src/lib-sieve/sieve-actions.c, src + /lib-sieve/sieve-actions.h, src/lib-sieve/sieve-result.c: + Properly implemented handling of the implicit keep flag and fully + implemented the copy extension. + [24896ebd3e8d] + + * src/lib-sieve/cmd-keep.c, src/lib-sieve/cmd-redirect.c, src/lib- + sieve/ext-fileinto.c, src/lib-sieve/plugins/copy/ext-copy.c, src + /lib-sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h, src/lib- + sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve + /sieve-code.c, src/lib-sieve/sieve-common.h, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib-sieve + /sieve-result.c, src/lib-sieve/sieve-result.h: + Added basic execution support to copy extension. Not completely + functional yet. + [8ad6e3739a65] + + * src/lib-sieve/plugins/copy/ext-copy.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve- + code.c: + Added support for reading side effect operands. + [04e8fa76e983] + + * src/lib-sieve/plugins/copy/ext-copy.c: + Added registration of side-effect extension into binary. + [98c1c9798c08] + + * src/lib-sieve/plugins/copy/ext-copy.c, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-actions.h: + Defined side-effect object for the copy extension. + [f22e0d5b9788] + + * src/lib-sieve/plugins/imapflags/tst-hasflag.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve-address- + parts.c, src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h, src + /lib-sieve/sieve-generator.c, src/lib-sieve/tst-header.c: + Incorporated the signedness of the id_code in the optional_read + functions as well + [2923c10f41b9] + +2007-11-28 Stephan Bosch + + * src/lib-sieve/plugins/copy/ext-copy.c, src/lib-sieve/sieve-address- + parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve/sieve- + binary.c, src/lib-sieve/sieve-comparators.c, src/lib-sieve/sieve- + comparators.h, src/lib-sieve/sieve-extensions.c, src/lib-sieve + /sieve-match-types.c, src/lib-sieve/sieve-match-types.h, src/lib- + sieve/sieve-validator.c, src/lib-sieve/sieve-validator.h, src/lib- + sieve/tst-size.c: + Changed id_code for optional operands to signed and fixed a + ext_my_id-related error in the vacation and copy extensions. + [38a9854e21ca] + + * src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h, src + /lib-sieve/sieve-binary.h, src/lib-sieve/sieve-code.c, src/lib-sieve + /sieve-code.h, src/lib-sieve/sieve-extensions.c: + Added operand emission support for action side effects. + [8b9ba3e6a631] + + * src/lib-sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h, src + /lib-sieve/sieve-extensions.c, src/lib-sieve/sieve-extensions.h: + Created pre-loaded action side effects 'extension'. + [37a2969e9787] + + * src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve-binary.c, + src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve-comparators.c, src + /lib-sieve/sieve-match-types.c: + Removed part of the code duplication between address-part, match- + type and comparator implementations. + [34b4be8738f2] + + * src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve-common.h, src + /lib-sieve/sieve-result.c, src/lib-sieve/sieve-result.h: + Added untested support for side effects to result object. + [ec22e9a0a06d] + +2007-11-27 Stephan Bosch + + * src/lib-sieve/plugins/copy/ext-copy.c, src/lib- + sieve/plugins/imapflags/Makefile.am, src/lib-sieve/plugins/imapflags + /ext-imapflags.c, src/lib-sieve/plugins/imapflags/imapflags.sieve, + src/lib-sieve/plugins/imapflags/tag-flags.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-result.c: + Added :flags tag to the imapflags extension and fixed bug in the + result execution. + [e4ccc420bbc8] + + * README: + Updated documentation. + [0b63e817f6b6] + + * src/lib-sieve/plugins/copy/copy.sieve, src/lib-sieve/plugins/copy + /ext-copy.c, src/lib-sieve/sieve-validator.c, src/lib-sieve/sieve- + validator.h: + Added support for externally adding tags to (possibly not yet + registered) command. The copy extension now adds such a tag to + fileinto and redirect. + [9ad768a6d2b9] + + * configure.in, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/Makefile.am, src/lib-sieve/plugins/copy/Makefile.am, + src/lib-sieve/plugins/copy/ext-copy.c, src/lib- + sieve/plugins/copy/rfc3894.txt, src/lib-sieve/sieve-extensions.c, + src/sieve-bin/sieve-exec.c: + Added skeleton for the copy extension. + [f4d0e3674a8c] + + * sieve/tests/actions.sieve, src/lib-sieve/sieve-actions.c: + Minor changes + [da31c25af3df] + + * sieve/tests/actions.sieve, src/lib-sieve/sieve-actions.c, src/sieve- + bin/sieve-exec.c: + Store action seems to work properly now. + [eec88e2b625d] + + * sieve/tests/actions.sieve, src/lib-sieve/sieve-actions.c, src/lib- + sieve/sieve-actions.h, src/lib-sieve/sieve-result.c, src/lib- + sieve/sieve.h, src/sieve-bin/Makefile.am, src/sieve-bin/mail-raw.c, + src/sieve-bin/mail-raw.h, src/sieve-bin/namespaces.c, src/sieve- + bin/namespaces.h, src/sieve-bin/sieve-exec.c, src/sieve-bin/sieve- + test.c: + Almost finished implementing the store action. But, I still get + strange errors when the mail transaction commits. Mail is stored + though. + [246c88fea246] + + * src/lib-sieve/cmd-keep.c, src/lib-sieve/cmd-redirect.c, src/lib- + sieve/sieve-actions.c, src/lib-sieve/sieve-actions.h, src/lib-sieve + /sieve-result.c: + Turned action execution into a transaction. + [d9a51d8e6d16] + + * README, src/lib-sieve/cmd-discard.c, src/lib-sieve/cmd-keep.c, src + /lib-sieve/cmd-redirect.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/sieve-result.c, src/lib-sieve/sieve-result.h: + Added (not yet active) handling of implicit keep and adjusted + commands accordingly. + [d8eaf00dd960] + + * README: + Added TODO item. + [2e2cbe36ac1d] + +2007-11-26 Stephan Bosch + + * src/lib-sieve/cmd-keep.c, src/lib-sieve/sieve.c, src/lib- + sieve/sieve.h, src/sieve-bin/sieve-exec.c, src/sieve-bin/sieve- + test.c: + Added inbox location to mail environment and made keep command use + it to generate its store action. + [1fabb5b3de8f] + + * README, src/lib-sieve/ext-fileinto.c: + Updated documentation. + [b77f5ae48116] + + * sieve/tests/actions.sieve, src/lib-sieve/Makefile.am, src/lib-sieve + /cmd-discard.c, src/lib-sieve/cmd-keep.c, src/lib-sieve/cmd- + redirect.c, src/lib-sieve/ext-fileinto.c, src/lib-sieve/sieve- + actions.c, src/lib-sieve/sieve-actions.h, src/lib-sieve/sieve- + common.h, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + result.h: + Fileinto command now produces a store action which is now produced + by the keep command as well. + [b59ff97b1b4b] + + * sieve/tests/actions.sieve, src/lib-sieve/cmd-discard.c, src/lib- + sieve/cmd-keep.c: + Made discard command add discard action to the result. + [d00c1ecbe750] + + * src/lib-sieve/Makefile.am, src/lib-sieve/cmd-discard.c, src/lib- + sieve/cmd-keep.c, src/lib-sieve/sieve-commands.c: + Exported discard command to its own separate file. + [8bedc7e9f17e] + + * src/lib-sieve/cmd-keep.c, src/lib-sieve/cmd-redirect.c, src/lib- + sieve/sieve-result.c, src/lib-sieve/sieve-result.h: + Added support for detecting action conflicts. + [37fcab36395a] + + * README: + Updated documentation. + [eb3c1925ac1f] + + * sieve/tests/redirect.sieve, src/lib-sieve/cmd-keep.c, src/lib-sieve + /cmd-redirect.c, src/lib-sieve/sieve-result.c, src/lib-sieve/sieve- + result.h: + Added support for avoiding duplicate actions in the sieve result. + [7fa2aeb9a269] + + * src/lib-sieve/cmd-keep.c, src/lib-sieve/cmd-redirect.c: + Made keep command add keep action to the result. + [b4ac2186369d] + + * src/lib-sieve/Makefile.am, src/lib-sieve/cmd-keep.c, src/lib-sieve + /sieve-commands-private.h, src/lib-sieve/sieve-commands.c: + Exported keep command to its own separate file. + [a061b79e6eb1] + +2007-11-25 Stephan Bosch + + * src/sieve-bin/bin-common.c, src/sieve-bin/sieve-exec.c, src/sieve- + bin/sieve-test.c: + Minor changes to the executables. + [1c349f5cf532] + + * README, src/lib-sieve/sieve-interpreter.c, src/sieve-bin/sieve- + exec.c, src/sieve-bin/sieve-test.c: + Added mail-file parameter to the sieve-test and sieve-exec binaries. + [38ff5f7794ad] + + * .hgignore, sieve/tests/redirect.sieve, src/lib-sieve/sieve-binary.c, + src/lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve-result.c, src + /lib-sieve/sieve.c, src/lib-sieve/sieve.h, src/sieve- + bin/Makefile.am, src/sieve-bin/bin-common.c, src/sieve-bin/bin- + common.h, src/sieve-bin/mail-raw.c, src/sieve-bin/mail-raw.h, src + /sieve-bin/sieve-exec.c, src/sieve-bin/sieve-test.c, src/sieve- + bin/sieve_test.c, src/sieve-bin/sievec.c: + Cleaned up implementation of sieve test binaries and added sieve- + exec + [ab2fd12a0195] + + * src/lib-sieve/sieve-match-types.c: + Removed spurious debug message. + [5b53dd17b678] + +2007-11-24 Stephan Bosch + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/sieve-interpreter.c, src + /lib-sieve/sieve-interpreter.h, src/lib-sieve/sieve-result.c, src + /lib-sieve/sieve-result.h, src/lib-sieve/sieve.c, src/lib- + sieve/sieve.h, src/sieve-bin/Makefile.am, src/sieve- + bin/sieve_test.c: + Added first action execution support. Redirect is the first command + to actually work. + [3ea3f400caa9] + + * README: + Added TODO item. + [312bfe51f644] + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/plugins/comparator-i + -ascii-numeric/ext-cmp-i-ascii-numeric.c, src/lib- + sieve/plugins/imapflags/tst-hasflag.c, src/lib-sieve/plugins/regex + /ext-regex.c, src/lib-sieve/plugins/relational/ext-relational.c, src + /lib-sieve/plugins/relational/relational.sieve, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve + /sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve- + comparators.c, src/lib-sieve/sieve-comparators.h, src/lib-sieve + /sieve-match-types.c, src/lib-sieve/sieve-match-types.h, src/lib- + sieve/tst-address.c, src/lib-sieve/tst-header.c: + Moved address-part, match-type and comparator code registries from + interpreter to binary where they belong. + [17fe832ec983] + + * src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib- + sieve/sieve-interpreter.c: + Added extension context storage support to the sieve binary. + [bf61316d9b84] + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/plugins/comparator-i-ascii-numeric + /ext-cmp-i-ascii-numeric.c, src/lib-sieve/plugins/imapflags/ext- + imapflags.c, src/lib-sieve/plugins/regex/ext-regex.c, src/lib- + sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve-address- + parts.c, src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h, + src/lib-sieve/sieve-comparators.c, src/lib-sieve/sieve-extensions.c, + src/lib-sieve/sieve-extensions.h, src/lib-sieve/sieve-interpreter.c, + src/lib-sieve/sieve-match-types.c: + Added binary_load event to the sieve extensions. + [abc3d97f3cfe] + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext-envelope.c, src/lib- + sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/tst-hasflag.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve-address- + parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve/sieve- + binary.c, src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h, + src/lib-sieve/sieve-commands.c, src/lib-sieve/sieve-common.h, src + /lib-sieve/sieve-comparators.c, src/lib-sieve/sieve-comparators.h, + src/lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve- + interpreter.h, src/lib-sieve/sieve-match-types.c, src/lib-sieve + /sieve-match-types.h, src/lib-sieve/sieve-result.c, src/lib-sieve + /sieve-result.h, src/lib-sieve/sieve.c, src/lib-sieve/tst-address.c, + src/lib-sieve/tst-exists.c, src/lib-sieve/tst-header.c, src/lib- + sieve/tst-size.c: + Grouped runtime parameters into a single runtime environment and + started implementation of result composition/execution. + [7c800bfa74cc] + + * src/lib-sieve/sieve-interpreter.c: + Changed interpreter in the event of an unimplemented opcode. + [91fd90402931] + + * README, src/lib-sieve/plugins/imapflags/ext-imapflags.c: + Updated documentation. + [9dd4fe921d74] + + * src/lib-sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/imapflags-2.sieve, src/lib- + sieve/plugins/imapflags/tst-hasflag.c: + Implemented hasflag command interpretation for the imapflags + extension. + [30917ef6965c] + +2007-11-23 Stephan Bosch + + * src/lib-sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/imapflags/imapflags-2.sieve, src/lib- + sieve/plugins/imapflags/imapflags.sieve, src/lib- + sieve/plugins/imapflags/tst-hasflag.c, src/lib- + sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve-ast.c, + src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve-comparators.c, src + /lib-sieve/tst-size.c: + Added actual flag management to the imapflags extension. Addflag, + removeflag and setflag now do what they should do. + [610b5f638c33] + + * README, src/lib-sieve/cmd-if.c, src/lib-sieve/plugins/comparator-i + -ascii-numeric/ext-cmp-i-ascii-numeric.c, src/lib- + sieve/plugins/relational/relational.sieve, src/lib-sieve/tst- + allof.c, src/lib-sieve/tst-anyof.c: + Finished i;ascii-numeric comparator and fixed a segfault bug in the + process. + [8cd504cc2e3a] + + * README, src/lib-sieve/plugins/imapflags/Makefile.am, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/imapflags/imapflags-errors.sieve, src/lib- + sieve/plugins/imapflags/imapflags.sieve, src/lib- + sieve/plugins/imapflags/tst-hasflag.c, src/lib-sieve/tst-header.c: + Added hasflag test to the imapflags extension. + [cc5f85570a9a] + + * src/lib-sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/imapflags/imapflags.sieve, src/lib-sieve/sieve-code.c, + src/lib-sieve/sieve-code.h: + Implemented code generation and interpretation for the commands + introduced by the imapflags extension. + [f0c34dee6ae7] + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext-envelope.c, src/lib- + sieve/ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i-ascii-numeric.c, + src/lib-sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib-sieve/plugins/regex + /ext-regex.c, src/lib-sieve/plugins/relational/ext-relational.c, src + /lib-sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve-address- + parts.c, src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h, src + /lib-sieve/sieve-commands.c, src/lib-sieve/sieve-comparators.c, src + /lib-sieve/sieve-extensions.c, src/lib-sieve/sieve-extensions.h, src + /lib-sieve/sieve-generator.c, src/lib-sieve/sieve-generator.h, src + /lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve-match-types.c, + src/lib-sieve/tst-address.c, src/lib-sieve/tst-exists.c, src/lib- + sieve/tst-header.c, src/lib-sieve/tst-size.c: + Upgraded opcode extension support to handle more than one opcode per + extension. + [2a2d82471e77] + +2007-11-22 Stephan Bosch + + * src/lib-sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/imapflags.sieve: + imapflags: Added (dummy) check for the existance of the variables + extension. + [9d97ea5c52c6] + + * src/lib-sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/imapflags-errors.sieve, src/lib-sieve/sieve- + validator.c: + Implemented validation for the commands introduced by the imapflags + extension. + [82e86518dfc9] + + * src/lib-sieve/plugins/imapflags/Makefile.am, src/lib- + sieve/plugins/imapflags/cmd-addflag.c, src/lib- + sieve/plugins/imapflags/cmd-removeflag.c, src/lib- + sieve/plugins/imapflags/cmd-setflag.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.c, src/lib- + sieve/plugins/imapflags/ext-imapflags-common.h, src/lib- + sieve/plugins/imapflags/ext-imapflags.c, src/lib- + sieve/plugins/imapflags/imapflags.sieve, src/lib-sieve/sieve- + commands.h, src/lib-sieve/sieve-extensions.c, src/lib-sieve/sieve- + validator.c: + Created skeletons for the commands introduced by the imapflags + extension. + [c0471778290f] + + * configure.in, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/Makefile.am, src/lib- + sieve/plugins/imapflags/Makefile.am, src/lib-sieve/plugins/imapflags + /draft-ietf-sieve-imapflags-05.txt, src/lib-sieve/plugins/imapflags + /ext-imapflags.c: + Started skeleton for the imapflags extension. + [6ea6b7699606] + + * src/lib-sieve/Makefile.am, src/lib-sieve/plugins/Makefile.am, src + /lib-sieve/plugins/comparator-i-ascii-numeric/Makefile.am, src/lib- + sieve/plugins/regex/Makefile.am, src/lib- + sieve/plugins/relational/Makefile.am, src/lib- + sieve/plugins/subaddress/Makefile.am, src/lib- + sieve/plugins/vacation/Makefile.am, src/sieve-bin/Makefile.am: + Cleaned up make process and included the 'plugins' into the main + sieve library archive. + [b669519df1b5] + + * README, src/lib-sieve/sieve-commands.c: + Updated documentation. + [ab270d1accc1] + + * sieve/examples/vivil.sieve, sieve/tests/stop.sieve, src/lib-sieve + /cmd-if.c, src/lib-sieve/sieve-commands.c, src/lib-sieve/sieve- + commands.h, src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve- + generator.h: + Removed unecessary jump after commands like stop. + [a487f6447efa] + + * sieve/tests/matches.sieve, src/lib-sieve/sieve-match-types.c: + Debugged :matches match type and no more bugs are currently known. + [acdcd1d8f031] + + * sieve/tests/matches.sieve, src/lib-sieve/plugins/comparator-i-ascii- + numeric/ext-cmp-i-ascii-numeric.c, src/lib-sieve/sieve- + comparators.c, src/lib-sieve/sieve-comparators.h, src/lib-sieve + /sieve-match-types.c: + Made first buggy implementation of :matches match type. + [d3756743700b] + +2007-11-21 Stephan Bosch + + * README: + Updated documentation with respect to extensions. + [cd8b13651e87] + + * sieve/tests/reject.sieve, src/lib-sieve/ext-reject.c: + Added dummy execution support to reject extension. + [29620589f088] + + * README, src/lib-sieve/plugins/vacation/ext-vacation.c: + Updated documentation. + [3dcfafbef34d] + + * sieve/tests/vacation.sieve, src/lib-sieve/plugins/vacation/ext- + vacation.c, src/lib-sieve/sieve-validator.c, src/lib-sieve/sieve- + validator.h: + Implemented dummy execution for vacation extension. + [ef682330f822] + + * src/lib-sieve/ext-envelope.c: + Resolved compiler warning in envelope extension. + [7e2d6e8893dc] + + * sieve/tests/redirect.sieve: + Added test script for redirect command. + [30ec001eaee2] + + * src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-interpreter.c, src + /lib-sieve/sieve-interpreter.h: + Properly implemented stop command and associated opcode. + [cb2ac2578b83] + + * src/sieve-bin/sieve_test.c: + Added status message to sieve_test to indicate successful script + run. + [64e0b6403468] + + * src/lib-sieve/cmd-redirect.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/sieve-code.c, src/lib-sieve/sieve-code.h, src/lib-sieve/sieve- + interpreter.h: + Created dummy interpretation support for the redirect command. + [382920e5c5ae] + + * sieve/tests/fileinto.sieve, src/lib-sieve/ext-fileinto.c: + Created dummy interpretation support for the fileinto extension. + [c410f5746af3] + + * src/lib-sieve/ext-envelope.c: + Removed debug lines in envelope extension. + [0d144c5c6726] + + * src/lib-sieve/ext-envelope.c: + Made ext_envelope_get_fields cleaner. + [962e5ed2a7b0] + + * README, src/lib-sieve/ext-envelope.c: + Updated documentation. + [c05059b64271] + + * sieve/tests/envelope.sieve, src/lib-sieve/ext-envelope.c, src/lib- + sieve/sieve-address-parts.c, src/lib-sieve/sieve-address-parts.h, + src/lib-sieve/sieve.h, src/lib-sieve/tst-address.c, src/sieve- + bin/sieve_test.c: + Made basic execution implementation of the envelope extension. + [6bf04ad6e814] + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/sieve-common.h, src/lib- + sieve/sieve-interpreter.c, src/lib-sieve/sieve-interpreter.h, src + /lib-sieve/sieve.c, src/lib-sieve/sieve.h, src/lib-sieve/tst- + address.c, src/lib-sieve/tst-exists.c, src/lib-sieve/tst-header.c, + src/lib-sieve/tst-size.c, src/sieve-bin/sieve_test.c: + Added envelope data to the interpreter environment. + [b9cf89b005f2] + + * README, src/lib-sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i + -ascii-numeric.c, src/lib-sieve/plugins/regex/ext-regex.c, src/lib- + sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/relational/relational.sieve, src/lib-sieve/sieve- + match-types.c, src/lib-sieve/sieve-match-types.h, src/lib-sieve/tst- + address.c, src/lib-sieve/tst-header.c: + Completed implementation of the relational extension. + [7dd971306703] + + * src/lib-sieve/plugins/regex/ext-regex.c, src/lib- + sieve/plugins/regex/regex.sieve, src/lib-sieve/plugins/relational + /ext-relational.c, src/lib-sieve/sieve-match-types.c, src/lib-sieve + /sieve-match-types.h: + Improved match handling and started implementing the interpretation + of the relational match type. + [158169910d95] + +2007-11-20 Stephan Bosch + + * sieve/errors/match-type-errors.sieve, sieve/tests/match-type.sieve, + src/lib-sieve/sieve-comparators.c, src/lib-sieve/sieve- + comparators.h, src/lib-sieve/sieve-match-types.c: + Implemented context validation for :contains match type. + [6f1dcac24c57] + + * README, src/lib-sieve/plugins/regex/ext-regex.c: + Updated documentation with respect to regex externsion and match- + type support. + [37fd899b7dca] + + * src/lib-sieve/sieve-match-types.c: + Last commit broke execution of match types other than + :regex...fixed. + [f9e2b975f5eb] + + * src/lib-sieve/plugins/regex/ext-regex.c, src/lib- + sieve/plugins/regex/regex.sieve, src/lib-sieve/plugins/relational + /ext-relational.c, src/lib-sieve/sieve-address-parts.c, src/lib- + sieve/sieve-address-parts.h, src/lib-sieve/sieve-common.h, src/lib- + sieve/sieve-match-types.c, src/lib-sieve/sieve-match-types.h, src + /lib-sieve/tst-address.c, src/lib-sieve/tst-header.c: + Implemented regex match execution. + [114ec23016dd] + + * sieve/examples/sanjay.sieve: + Fixed missing require in sanjay.sieve example + [81baf031527e] + + * src/lib-sieve/plugins/regex/ext-regex.c: + Forgot to handle stringlists in :regex validation. + [4e082129513a] + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/plugins/regex/ext- + regex.c, src/lib-sieve/plugins/regex/regex-errors.sieve, src/lib- + sieve/sieve-match-types.c, src/lib-sieve/sieve-match-types.h, src + /lib-sieve/tst-address.c, src/lib-sieve/tst-header.c: + Implemented :regex match validation. + [fefebffac65f] + + * sieve/errors/address-part-errors.sieve, + sieve/errors/interesting.sieve, sieve/errors/match-type- + errors.sieve, src/lib-sieve/sieve-address-parts.c, src/lib-sieve + /sieve-ast.h, src/lib-sieve/sieve-match-types.c, src/lib-sieve + /sieve-validator.c: + Implemented detection of duplicate optional arguments. + [9add85be3ddd] + + * src/lib-sieve/plugins/regex/ext-regex.c, src/lib-sieve/plugins/regex + /regex-errors.sieve, src/lib-sieve/sieve-commands.h, src/lib-sieve + /sieve-comparators.c, src/lib-sieve/sieve-comparators.h, src/lib- + sieve/sieve-validator.c: + Made regex match complaint about comparators other than i;octet or i + ;ascii-casemap + [ebf35c004764] + + * src/lib-sieve/plugins/regex/ext-regex.c, src/lib- + sieve/plugins/relational/ext-relational.c, src/lib-sieve/sieve- + match-types.c, src/lib-sieve/sieve-match-types.h: + Added support for match-type argument context validation. + [9db6e7335e9e] + + * src/lib-sieve/sieve-validator.c: + Added support for argument context validation. + [7dcaf16bcf7d] + + * src/lib-sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-commands.c, src/lib-sieve + /sieve-commands.h, src/lib-sieve/sieve-comparators.c, src/lib-sieve + /sieve-match-types.c, src/lib-sieve/sieve-validator.c, src/lib-sieve + /tst-size.c: + Added validat_context method to command arguments for the to-be- + implemented argument context validation. + [754320bac6bb] + + * src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve-commands.c, + src/lib-sieve/sieve-commands.h, src/lib-sieve/sieve-comparators.c, + src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve-match-types.c: + Changed argument generator function prototype to assign + responsibility of advancing to the next argument to the generator + itself. + [6ba97a809b25] + + * src/lib-sieve/sieve-commands.c: + Removed i_unreached() at inappropriate location. + [80a6ca8aa099] + + * src/lib-sieve/sieve-ast.c, src/lib-sieve/sieve-ast.h, src/lib-sieve + /sieve-commands.c, src/lib-sieve/sieve-commands.h, src/lib-sieve + /sieve-validator.c: + Removed code duplication in validator: merged command and test + validation in one function. + [55047d9405c9] + + * src/lib-sieve/sieve-validator.c: + Fixed bug in the command validation. + [0f7c34ca82a9] + + * src/lib-sieve/cmd-if.c, src/lib-sieve/cmd-require.c, src/lib-sieve + /sieve-commands.h: + Improved validation of command placement for if and require + commands. + [7666f12ccc2a] + + * src/lib-sieve/cmd-if.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve + /cmd-require.c, src/lib-sieve/ext-envelope.c, src/lib-sieve/ext- + fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve-commands- + private.h, src/lib-sieve/sieve-commands.c, src/lib-sieve/sieve- + commands.h, src/lib-sieve/sieve-validator.c, src/lib-sieve/sieve- + validator.h, src/lib-sieve/tst-address.c, src/lib-sieve/tst-allof.c, + src/lib-sieve/tst-anyof.c, src/lib-sieve/tst-exists.c, src/lib-sieve + /tst-header.c, src/lib-sieve/tst-not.c, src/lib-sieve/tst-size.c: + Changed validator's command syntax validation such that command + implementations don't have to call the argument, test and block + validation functions explicitly. + [e43df7ab9749] + +2007-11-19 Stephan Bosch + + * src/lib-sieve/cmd-if.c, src/lib-sieve/cmd-redirect.c, src/lib-sieve + /cmd-require.c, src/lib-sieve/ext-envelope.c, src/lib-sieve/ext- + fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve-ast.h, + src/lib-sieve/sieve-commands.h, src/lib-sieve/sieve-validator.c, src + /lib-sieve/sieve-validator.h, src/lib-sieve/tst-address.c, src/lib- + sieve/tst-allof.c, src/lib-sieve/tst-anyof.c, src/lib-sieve/tst- + exists.c, src/lib-sieve/tst-header.c, src/lib-sieve/tst-not.c, src + /lib-sieve/tst-size.c: + Changed argument validation to record the first positional argument + into the command context by default. Also furter improved + validator's error handling. + [d357da9effa4] + + * sieve/errors/address-errors.sieve, sieve/errors/header-errors.sieve, + src/lib-sieve/cmd-redirect.c, src/lib-sieve/cmd-require.c, src/lib- + sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib-sieve + /ext-reject.c, src/lib-sieve/plugins/subaddress/subaddress.sieve, + src/lib-sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve- + ast.c, src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve-common.h, src + /lib-sieve/sieve-validator.c, src/lib-sieve/sieve-validator.h, src + /lib-sieve/tst-address.c, src/lib-sieve/tst-exists.c, src/lib-sieve + /tst-header.c, src/lib-sieve/tst-size.c: + Revised positional argument checking and fixed the validator's error + handling. + [31ade1ddf884] + + * src/lib-sieve/sieve-match-types.c: + Prevent unimplemented match type from causing a segfault. + [614e7a053e31] + + * src/lib-sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i-ascii- + numeric.c, src/lib-sieve/plugins/regex/ext-regex.c, src/lib- + sieve/plugins/relational/ext-relational.c, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve + /sieve-common.h, src/lib-sieve/sieve-comparators.c, src/lib-sieve + /sieve-comparators.h, src/lib-sieve/sieve-interpreter.c, src/lib- + sieve/sieve-interpreter.h, src/lib-sieve/sieve-match-types.c, src + /lib-sieve/sieve-match-types.h, src/lib-sieve/tst-address.c, src + /lib-sieve/tst-header.c: + Implemented match type execution and activated match types :is and + :contains. + [44f7b3f89e34] + +2007-11-17 Stephan Bosch + + * README, src/lib-sieve/plugins/regex/ext-regex.c, src/lib- + sieve/plugins/relational/ext-relational.c: + Minor updates to the documentation. + [033d7cb3a8dd] + + * src/lib-sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/relational/relational.sieve, src/lib-sieve/sieve- + match-types.c, src/lib-sieve/sieve-match-types.h: + Fixed code generation for relational extension. + [9aedfec64626] + + * src/lib-sieve/plugins/regex/ext-regex.c, src/lib- + sieve/plugins/relational/ext-relational.c, src/lib-sieve/sieve- + match-types.c, src/lib-sieve/sieve-match-types.h: + Implemented support for additional parameters to match-types and + implemented validation for the relational extension. + [c49afa847933] + + * configure.in, sieve/tests/match-type.sieve, src/lib- + sieve/plugins/Makefile.am, src/lib-sieve/plugins/regex/Makefile.am, + src/lib-sieve/plugins/regex/draft-murchison-sieve-regex-07.txt, src + /lib-sieve/plugins/regex/ext-regex.c, src/lib- + sieve/plugins/regex/regex.sieve, src/lib- + sieve/plugins/relational/Makefile.am, src/lib- + sieve/plugins/relational/ext-relational.c, src/lib- + sieve/plugins/relational/relational.sieve, src/lib- + sieve/plugins/relational/rfc3431.txt, src/lib-sieve/sieve- + extensions.c, src/sieve-bin/Makefile.am: + Created skeletons for regex and relational extensions. These are to + be developed simultaneously with the match-type support in general. + [f3db84e346eb] + + * README, sieve/tests/match-type.sieve, src/lib-sieve/Makefile.am, src + /lib-sieve/ext-envelope.c, src/lib-sieve/sieve-address-parts.c, src + /lib-sieve/sieve-code.c, src/lib-sieve/sieve-comparators.c, src/lib- + sieve/sieve-extensions.c, src/lib-sieve/sieve-extensions.h, src/lib- + sieve/sieve-interpreter.c, src/lib-sieve/sieve-match-types.c, src + /lib-sieve/sieve-match-types.h, src/lib-sieve/sieve-validator.c, src + /lib-sieve/tst-address.c, src/lib-sieve/tst-header.c: + Started implementation of match-type support and fixed compilation + error. + [b352686b0063] + + * README, src/lib-sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i + -ascii-numeric.c, src/lib-sieve/plugins/vacation/ext-vacation.c, src + /lib-sieve/sieve-comparators.c: + Updated README and a few minor cosmetic changes to the code. + [8eddb5ec9ddb] + + * configure.in, src/lib-sieve/ext-envelope.c, src/lib- + sieve/plugins/Makefile.am, src/lib-sieve/plugins/comparator-i-ascii- + numeric/Makefile.am, src/lib-sieve/plugins/comparator-i-ascii- + numeric/cmp-i-ascii-numeric.sieve, src/lib- + sieve/plugins/comparator-i-ascii-numeric/ext-cmp-i-ascii-numeric.c, + src/lib-sieve/plugins/comparator-i-ascii-numeric/rfc2244.txt, src + /lib-sieve/plugins/subaddress/ext-subaddress.c, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve + /sieve-common.h, src/lib-sieve/sieve-comparators.c, src/lib-sieve + /sieve-comparators.h, src/lib-sieve/sieve-extensions.c, src/lib- + sieve/tst-address.c, src/lib-sieve/tst-header.c, src/sieve- + bin/Makefile.am: + Implemented comparator-i;ascii-numeric extension and activated + comparator extension support. + [01386a471dc7] + + * src/lib-sieve/sieve-extensions.c: + Added dummy extensions for core comparators. + [ae2e6fd6f94e] + + * sieve/tests/extensions.sieve, src/lib-sieve/cmd-require.c, src/lib- + sieve/sieve-address-parts.c: + A few small cosmetic changes in addr-part code and generic extension + support. + [7b9f9e71030e] + +2007-11-16 Stephan Bosch + + * src/lib-sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/subaddress/subaddress.sieve, src/lib-sieve/sieve- + address-parts.c, src/lib-sieve/sieve-common.h: + Finished implementation of subaddress extension. + [05c4031e501e] + + * configure.in, src/lib-sieve/ext-envelope.c, src/lib- + sieve/plugins/Makefile.am, src/lib- + sieve/plugins/subaddress/Makefile.am, src/lib- + sieve/plugins/subaddress/ext-subaddress.c, src/lib- + sieve/plugins/subaddress/rfc3598.txt, src/lib- + sieve/plugins/subaddress/subaddress.sieve, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve-address- + parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve/sieve- + ast.h, src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h, + src/lib-sieve/sieve-commands.c, src/lib-sieve/sieve-commands.h, src + /lib-sieve/sieve-comparators.c, src/lib-sieve/sieve-extensions.c, + src/lib-sieve/sieve-extensions.h, src/lib-sieve/sieve-interpreter.c, + src/lib-sieve/sieve-validator.c, src/lib-sieve/tst-address.c, src + /lib-sieve/tst-size.c, src/sieve-bin/Makefile.am: + Implemented support for the subaddress extension and fixed extension + support to work properly. + [4e9f385adc07] + +2007-11-14 Stephan Bosch + + * sieve/tests/address-part.sieve, src/lib-sieve/sieve-address-parts.c, + src/lib-sieve/sieve-address-parts.h, src/lib-sieve/tst-address.c: + Implemented address part execution support. + [af5ea3cdd396] + +2007-11-13 Stephan Bosch + + * sieve/tests/address-part.sieve, src/lib-sieve/ext-envelope.c, src + /lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve-address- + parts.h, src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h, src + /lib-sieve/sieve-validator.c, src/lib-sieve/tst-address.c: + Activated address-part code generation support. + [60ab1abd0d01] + + * src/lib-sieve/sieve-address-parts.c, src/lib-sieve/sieve-ast.h, src + /lib-sieve/sieve-binary.c, src/lib-sieve/sieve-code.c, src/lib-sieve + /sieve-code.h, src/lib-sieve/sieve-commands-private.h, src/lib-sieve + /sieve-commands.c, src/lib-sieve/sieve-common.h, src/lib-sieve + /sieve-comparators.c, src/lib-sieve/sieve-error.c, src/lib-sieve + /sieve-error.h, src/lib-sieve/sieve-extensions.c, src/lib-sieve + /sieve-generator.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /sieve-interpreter.h, src/lib-sieve/sieve-lexer.c, src/lib-sieve + /sieve-lexer.h, src/lib-sieve/sieve-parser.c, src/lib-sieve/sieve- + parser.h, src/lib-sieve/sieve-validator.h: + Lots of cosmetic changes + [19366331bc99] + + * INSTALL, README: + Added a little documentation to the README file. + [2fd76028ca9b] + + * src/lib-sieve/sieve-validator.c: + Removed unused static pre-declaration from validator. + [f745b4988763] + + * sieve/tests/comparator.sieve, src/lib-sieve/Makefile.am, src/lib- + sieve/cmd-require.c, src/lib-sieve/ext-envelope.c, src/lib-sieve + /ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve-address- + parts.c, src/lib-sieve/sieve-address-parts.h, src/lib-sieve/sieve- + binary.c, src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve-code.c, + src/lib-sieve/sieve-code.h, src/lib-sieve/sieve-comparators.c, src + /lib-sieve/sieve-comparators.h, src/lib-sieve/sieve-extensions.c, + src/lib-sieve/sieve-extensions.h, src/lib-sieve/sieve-generator.c, + src/lib-sieve/sieve-generator.h, src/lib-sieve/sieve-interpreter.c, + src/lib-sieve/sieve-interpreter.h, src/lib-sieve/sieve-validator.c, + src/lib-sieve/sieve-validator.h, src/lib-sieve/sieve.c, src/lib- + sieve/sieve.h, src/lib-sieve/tst-address.c, src/lib-sieve/tst- + header.c, src/sieve-bin/sieve_test.c, src/sieve-bin/sievec.c: + Rewrote large parts of the extension support and added partial + address-part implementation. + [bbbf416d458c] + +2007-11-11 Stephan Bosch + + * src/sieve-bin/Makefile.am, src/sieve-bin/sieve_test.c: + Upgraded sieve_test to 1.1.beta8 + [beaeb564662c] + + * src/lib-sieve/sieve-commands.c, src/lib-sieve/sieve-common.h, src + /lib-sieve/sieve-interpreter.c, src/lib-sieve/sieve-interpreter.h, + src/lib-sieve/tst-address.c, src/lib-sieve/tst-header.c: + Enabled comparator execution support. + [5b4103b61afd] + + * sieve/tests/comparator.sieve, src/lib-sieve/ext-envelope.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve-ast.c, + src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve-code.c, src/lib-sieve + /sieve-code.h, src/lib-sieve/sieve-comparators.c, src/lib-sieve + /sieve-comparators.h, src/lib-sieve/sieve-generator.c, src/lib-sieve + /sieve-validator.c, src/lib-sieve/sieve-validator.h, src/lib-sieve + /tst-address.c, src/lib-sieve/tst-header.c, src/lib-sieve/tst- + size.c: + Added support for optional operators to the byte code + implementation. + [9355ea520e77] + +2007-11-09 Stephan Bosch + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/plugins/vacation/ext-vacation.c, + src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib- + sieve/sieve-code.c, src/lib-sieve/sieve-comparators.c, src/lib-sieve + /sieve-comparators.h, src/lib-sieve/sieve-extensions.h, src/lib- + sieve/sieve-interpreter.c, src/lib-sieve/sieve-interpreter.h: + Started implementation of comparator execution support. + [a3e2d0467235] + +2007-11-08 Stephan Bosch + + * src/lib-sieve/sieve-code.c, src/lib-sieve/sieve-code.h: + Changed string-list single-string handling for coded list. + [494b84c7dab4] + + * src/lib-sieve/cmd-if.c, src/lib-sieve/ext-envelope.c, src/lib-sieve + /ext-fileinto.c, src/lib-sieve/ext-reject.c, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve-binary.c, + src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve-code.c, src/lib- + sieve/sieve-code.h, src/lib-sieve/sieve-commands.c, src/lib-sieve + /sieve-common.h, src/lib-sieve/sieve-comparators.c, src/lib-sieve + /sieve-extensions.h, src/lib-sieve/sieve-generator.c, src/lib-sieve + /sieve-generator.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /sieve-interpreter.h, src/lib-sieve/tst-address.c, src/lib-sieve + /tst-allof.c, src/lib-sieve/tst-anyof.c, src/lib-sieve/tst-exists.c, + src/lib-sieve/tst-header.c, src/lib-sieve/tst-size.c: + Properly implemented opcode and operand handing and moved code to + more appropriate units. + [6d30cd3270b4] + +2007-11-01 Stephan Bosch + + * sieve/examples/sieve_examples.sieve, sieve/examples/stephan.sieve, + sieve/examples/unparsed-elvey.sieve, src/lib-sieve/sieve-code.h: + A few minor changes + [8eb67ba19a03] + + * sieve/examples/elvey.sieve, sieve/examples/jerry.sieve, + sieve/examples/mjohnson.sieve, sieve/examples/mklose.sieve, + sieve/examples/sanjay.sieve, sieve/examples/vivil.sieve: + Added sieve example and documented the others with author and the + url where I found them. + [36b747fc5a42] + +2007-10-27 Stephan Bosch + + * src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib- + sieve/sieve-comparators.c, src/lib-sieve/sieve-interpreter.c, src + /lib-sieve/sieve-interpreter.h: + Moved literall access functions from interpreter to binary. + [df004c3d4967] + + * src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-code.c, src/lib- + sieve/sieve-comparators.c, src/lib-sieve/sieve-comparators.h, src + /lib-sieve/sieve-generator.c, src/lib-sieve/sieve-generator.h: + Implemented comparator support towards code generation, + interpretation is not possible yet. + [c4eb303c242c] + + * src/lib-sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/plugins/vacation/ext-vacation.c, + src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve-code.c, src/lib- + sieve/sieve-code.h, src/lib-sieve/sieve-commands.c, src/lib-sieve + /sieve-commands.h, src/lib-sieve/sieve-generator.c, src/lib-sieve + /sieve-generator.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /sieve-validator.c, src/lib-sieve/sieve-validator.h, src/lib-sieve + /tst-address.c, src/lib-sieve/tst-exists.c, src/lib-sieve/tst- + header.c, src/lib-sieve/tst-size.c: + Changed argument to operand processing to be much more flexible. + [b07f5129b239] + +2007-10-26 Stephan Bosch + + * src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-binary.h, src/lib- + sieve/sieve-generator.c, src/lib-sieve/sieve-generator.h: + Moved literal emission functions from generator to binary source. + [8d9c3aa76abf] + + * sieve/tests/comparator.sieve, src/lib-sieve/Makefile.am, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve-ast.c, + src/lib-sieve/sieve-ast.h, src/lib-sieve/sieve-code.c, src/lib-sieve + /sieve-code.h, src/lib-sieve/sieve-commands.h, src/lib-sieve/sieve- + common.h, src/lib-sieve/sieve-comparators.c, src/lib-sieve/sieve- + comparators.h, src/lib-sieve/sieve-generator.c, src/lib-sieve/sieve- + generator.h, src/lib-sieve/sieve-validator.c, src/lib-sieve/sieve- + validator.h, src/lib-sieve/tst-size.c: + First steps towards implementing code generation and interpretation + for proper comperators. + [8f8c18edbd39] + + * src/lib-sieve/tst-exists.c: + Extremely minor cosmetic change. + [8b215ab7e80f] + + * src/lib-sieve/plugins/Makefile, src/lib-sieve/plugins/Makefile.in: + Removed files with intermittent compilation results from the + repository (oops) + [3c56353ce681] + + * sieve/tests/basic.sieve, src/lib-sieve/sieve-generator.c, src/lib- + sieve/tst-exists.c, src/lib-sieve/tst-header.c: + Made header and exists tests executable. + [38b4e757271d] + +2007-10-25 Stephan Bosch + + * sieve/tests/basic.sieve, src/lib-sieve/sieve-binary.c, src/lib-sieve + /sieve-code.c, src/lib-sieve/sieve-code.h, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib-sieve + /sieve-lexer.c, src/lib-sieve/sieve.c, src/lib-sieve/sieve.h, src + /lib-sieve/tst-address.c, src/lib-sieve/tst-size.c, src/sieve- + bin/Makefile.am, src/sieve-bin/sieve_test.c, src/sieve-bin/sievec.c: + Made address and size tests executable and fixed minor bug regarding + the lexer. + [931a0b442f19] + + * .hgignore, src/lib-sieve/Makefile.am, src/lib-sieve/sieve-ast.c, src + /lib-sieve/sieve-generator.c, src/lib-sieve/sieve-generator.h, src + /lib-sieve/sieve-parser.c, src/lib-sieve/sieve-parser.h, src/lib- + sieve/sieve-validator.c, src/lib-sieve/sieve-validator.h, src/lib- + sieve/sieve.c, src/lib-sieve/sieve.h, src/sieve-bin/Makefile, src + /sieve-bin/Makefile.am, src/sieve-bin/Makefile.in, src/sieve- + bin/sieve_test.c, src/sieve-bin/sievec, src/sieve-bin/sievec.c, src + /sieve-bin/sievec.o: + Created libsieve interface and started the sieve_test binary. + [8d922df3dd5c] + +2007-10-24 Stephan Bosch + + * src/lib-sieve/cmd-if.c, src/lib-sieve/ext-fileinto.c, src/lib-sieve + /ext-reject.c, src/lib-sieve/plugins/Makefile, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve-ast.c, + src/lib-sieve/sieve-binary.c, src/lib-sieve/sieve-code.c, src/lib- + sieve/sieve-commands.c, src/lib-sieve/sieve-generator.c, src/lib- + sieve/sieve-generator.h, src/lib-sieve/sieve-interpreter.c, src/lib- + sieve/sieve-lexer.c, src/lib-sieve/sieve-parser.c, src/lib-sieve + /sieve-result.c, src/lib-sieve/sieve-validator.c, src/lib-sieve/tst- + address.c, src/lib-sieve/tst-size.c, src/sieve-bin/Makefile, src + /sieve-bin/Makefile.am, src/sieve-bin/Makefile.in, src/sieve- + bin/sievec, src/sieve-bin/sievec.o: + Upgraded from dovecot-1.0 to dovecot-1.1 (array changes and various + _unref differences) + [f36e62f9baf9] + + * configure.in, sieve/errors/address-errors.sieve, sieve/errors + /header-errors.sieve, sieve/errors/if-errors.sieve, + sieve/errors/interesting.sieve, sieve/errors/keep-errors.sieve, + sieve/errors/parse-errors.sieve, sieve/errors/require-errors.sieve, + sieve/errors/size-errors.sieve, sieve/errors/stop-errors.sieve, + sieve/errors/tag-errors.sieve, sieve/examples/elvey.sieve, + sieve/examples/mjohnson.sieve, sieve/examples/mklose.sieve, + sieve/examples/rfc3028.sieve, sieve/examples/sanjay.sieve, + sieve/examples/sieve_examples.sieve, sieve/examples/stephan.sieve, + sieve/examples/unparsed-elvey.sieve, sieve/examples/vacation.sieve, + sieve/examples/vivil.sieve, sieve/tests/basic.sieve, + sieve/tests/extensions.sieve, sieve/tests/if.sieve, src/Makefile.am, + src/lib-sieve/Makefile.am, src/lib-sieve/scripts/errors/address- + errors.sieve, src/lib-sieve/scripts/errors/header-errors.sieve, src + /lib-sieve/scripts/errors/if-errors.sieve, src/lib- + sieve/scripts/errors/interesting.sieve, src/lib-sieve/scripts/errors + /keep-errors.sieve, src/lib-sieve/scripts/errors/parse-errors.sieve, + src/lib-sieve/scripts/errors/require-errors.sieve, src/lib- + sieve/scripts/errors/size-errors.sieve, src/lib-sieve/scripts/errors + /stop-errors.sieve, src/lib-sieve/scripts/errors/tag-errors.sieve, + src/lib-sieve/scripts/examples/elvey.sieve, src/lib- + sieve/scripts/examples/mjohnson.sieve, src/lib- + sieve/scripts/examples/mklose.sieve, src/lib- + sieve/scripts/examples/rfc3028.sieve, src/lib- + sieve/scripts/examples/sanjay.sieve, src/lib- + sieve/scripts/examples/sieve_examples.sieve, src/lib- + sieve/scripts/examples/stephan.sieve, src/lib-sieve/scripts/examples + /unparsed-elvey.sieve, src/lib- + sieve/scripts/examples/vacation.sieve, src/lib- + sieve/scripts/examples/vivil.sieve, src/lib- + sieve/scripts/tests/extensions.sieve, src/lib- + sieve/scripts/tests/if.sieve, src/lib-sieve/sieve-code.c, src/lib- + sieve/sieve-code.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /sieve-interpreter.h, src/lib-sieve/sieve-result.c, src/lib- + sieve/sievec.c, src/lib-sieve/tst-address.c, src/lib-sieve/tst- + exists.c, src/lib-sieve/tst-header.c, src/lib-sieve/tst-size.c, src + /sieve-bin/Makefile, src/sieve-bin/Makefile.am, src/sieve- + bin/Makefile.in, src/sieve-bin/sievec, src/sieve-bin/sievec.c, src + /sieve-bin/sievec.o: + Exported sievec binary to separate directory called sieve-bin. + [f3dd838d3893] + +2007-10-23 Stephan Bosch + + * src/lib-sieve/Makefile.am, src/lib-sieve/cmd-if.c, src/lib-sieve + /ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext- + reject.c, src/lib-sieve/plugins/vacation/Makefile.am, src/lib- + sieve/plugins/vacation/ext-vacation.c, src/lib-sieve/sieve-binary.c, + src/lib-sieve/sieve-binary.h, src/lib-sieve/sieve-code.c, src/lib- + sieve/sieve-code.h, src/lib-sieve/sieve-commands.c, src/lib-sieve + /sieve-common.h, src/lib-sieve/sieve-extensions.h, src/lib-sieve + /sieve-generator.c, src/lib-sieve/sieve-generator.h, src/lib-sieve + /sieve-interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib- + sieve/sieve-result.c, src/lib-sieve/sieve-result.h, src/lib-sieve + /tst-address.c, src/lib-sieve/tst-allof.c, src/lib-sieve/tst- + anyof.c, src/lib-sieve/tst-exists.c, src/lib-sieve/tst-header.c, src + /lib-sieve/tst-size.c: + Started first support for actual execution of sieve script. + [7d3b717d834d] + + * src/lib-sieve/Makefile.am, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/sieve-interpreter.h, src/plugins/Makefile.am, src/plugins/lda- + sieve/Makefile.am, src/plugins/lda-sieve/lda-sieve-plugin.c, + src/plugins/lda-sieve/lda-sieve-plugin.h: + * Minor changes to the extension implementation + * Started the lda plugin source + [5252fd9fd951] + +2007-10-22 Stephan Bosch + + * src/lib-sieve/sieve-address.c: + Changed (currently unused) sieve-address.c to use dovecot rfc822 + parser. + [d32cc88f0ecf] + + * src/lib-sieve/plugins/vacation/draft-ietf-sieve-vacation-07.txt: + Added draft RFC for vacation extension. + [4f6590dd1d7e] + + * configure.in, src/lib-sieve/Makefile.am, src/lib-sieve/ext- + envelope.c, src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext- + reject.c, src/lib-sieve/plugins/Makefile, src/lib- + sieve/plugins/Makefile.am, src/lib-sieve/plugins/Makefile.in, src + /lib-sieve/plugins/comparator-i;ascii-numeric.c, src/lib- + sieve/plugins/copy.c, src/lib-sieve/plugins/vacation/Makefile.am, + src/lib-sieve/plugins/vacation/ext-vacation.c, src/lib- + sieve/plugins/vacation/vacation.sieve, src/lib- + sieve/scripts/tests/extensions.sieve, src/lib-sieve/sieve- + extensions.c: + * Further developed the extension support + * Added plugins as static libraries (for now) + [2b26d303f3d1] + + * src/lib-sieve/scripts/tests/extensions.sieve, src/lib- + sieve/scripts/tests/reject.sieve: + Renamed reject.sieve to extensions.sieve for generic extensions + testing. + [3993600b2e1f] + + * src/lib-sieve/cmd-require.c, src/lib-sieve/ext-fileinto.c: + * Added generation support to the fileinto extension. + * Fixed a bug in the require command generation. + [4f38530232e6] + + * .hgignore, src/lib-sieve/Makefile.am, src/lib-sieve/cmd-require.c, + src/lib-sieve/ext-envelope.c, src/lib-sieve/ext-fileinto.c, src/lib- + sieve/ext-reject.c, src/lib-sieve/scripts/tests/reject.sieve, src + /lib-sieve/sieve-ast.h, src/lib-sieve/sieve-binary.c, src/lib-sieve + /sieve-binary.h, src/lib-sieve/sieve-code.h, src/lib-sieve/sieve- + extensions.c, src/lib-sieve/sieve-extensions.h, src/lib-sieve/sieve- + generator.c, src/lib-sieve/sieve-generator.h, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib-sieve + /sieve-validator.c, src/lib-sieve/sieve-validator.h, src/lib- + sieve/sievec.c: + Added basic extension support to generator and interpreter. + [2f78fc8c9919] + +2007-10-21 Stephan Bosch + + * src/lib-sieve/cmd-if.c, src/lib-sieve/ext-reject.c, src/lib-sieve + /sieve-code.c, src/lib-sieve/sieve-code.h, src/lib-sieve/sieve- + commands-private.h, src/lib-sieve/sieve-commands.c, src/lib-sieve + /sieve-extensions.h, src/lib-sieve/sieve-generator.c, src/lib-sieve + /sieve-generator.h, src/lib-sieve/sieve-interpreter.c, src/lib-sieve + /tst-address.c, src/lib-sieve/tst-allof.c, src/lib-sieve/tst- + anyof.c, src/lib-sieve/tst-exists.c, src/lib-sieve/tst-header.c, src + /lib-sieve/tst-size.c: + Initial commit didn't compile because it was comitted in the middle + of a new feature. + [b50c7ada434a] + + * autogen.sh: + Added autogen.sh from the dovecot project (removed doc/wiki code) + [10ed2a377ea0] + +2007-10-21 stephan + + * .hgignore, libsieve-config.h.in: + Added -config files to the hgignore and removed them from the + repository + [ddac82bec3c3] + + * .hgignore, AUTHORS, COPYING.LGPL, INSTALL, Makefile.am, NEWS, + README, configure.in, libsieve-config.h.in, src/Makefile.am, src + /lib-sieve/Makefile.am, src/lib-sieve/cmd-if.c, src/lib-sieve/cmd- + redirect.c, src/lib-sieve/cmd-require.c, src/lib-sieve/ext- + envelope.c, src/lib-sieve/ext-fileinto.c, src/lib-sieve/ext- + reject.c, src/lib-sieve/plugins/comparator-i;ascii-numeric.c, src + /lib-sieve/plugins/copy.c, src/lib-sieve/scripts/errors/address- + errors.sieve, src/lib-sieve/scripts/errors/header-errors.sieve, src + /lib-sieve/scripts/errors/if-errors.sieve, src/lib- + sieve/scripts/errors/interesting.sieve, src/lib-sieve/scripts/errors + /keep-errors.sieve, src/lib-sieve/scripts/errors/parse-errors.sieve, + src/lib-sieve/scripts/errors/require-errors.sieve, src/lib- + sieve/scripts/errors/size-errors.sieve, src/lib-sieve/scripts/errors + /stop-errors.sieve, src/lib-sieve/scripts/errors/tag-errors.sieve, + src/lib-sieve/scripts/examples/elvey.sieve, src/lib- + sieve/scripts/examples/mjohnson.sieve, src/lib- + sieve/scripts/examples/mklose.sieve, src/lib- + sieve/scripts/examples/rfc3028.sieve, src/lib- + sieve/scripts/examples/sanjay.sieve, src/lib- + sieve/scripts/examples/sieve_examples.sieve, src/lib- + sieve/scripts/examples/stephan.sieve, src/lib-sieve/scripts/examples + /unparsed-elvey.sieve, src/lib- + sieve/scripts/examples/vacation.sieve, src/lib- + sieve/scripts/examples/vivil.sieve, src/lib- + sieve/scripts/tests/if.sieve, src/lib-sieve/sieve-address.c, src + /lib-sieve/sieve-ast.c, src/lib-sieve/sieve-ast.h, src/lib-sieve + /sieve-code.c, src/lib-sieve/sieve-code.h, src/lib-sieve/sieve- + commands-private.h, src/lib-sieve/sieve-commands.c, src/lib-sieve + /sieve-commands.h, src/lib-sieve/sieve-common.h, src/lib-sieve + /sieve-error.c, src/lib-sieve/sieve-error.h, src/lib-sieve/sieve- + extensions.c, src/lib-sieve/sieve-extensions.h, src/lib-sieve/sieve- + generator.c, src/lib-sieve/sieve-generator.h, src/lib-sieve/sieve- + interpreter.c, src/lib-sieve/sieve-interpreter.h, src/lib-sieve + /sieve-lexer.c, src/lib-sieve/sieve-lexer.h, src/lib-sieve/sieve- + parser.c, src/lib-sieve/sieve-parser.h, src/lib-sieve/sieve- + validator.c, src/lib-sieve/sieve-validator.h, src/lib- + sieve/sievec.c, src/lib-sieve/tst-address.c, src/lib-sieve/tst- + allof.c, src/lib-sieve/tst-anyof.c, src/lib-sieve/tst-exists.c, src + /lib-sieve/tst-header.c, src/lib-sieve/tst-not.c, src/lib-sieve/tst- + size.c, stamp.h.in: + First entered libsieve into new Hg repository + [d31c1c993bcf] + diff --git a/pigeonhole/INSTALL b/pigeonhole/INSTALL new file mode 100644 index 0000000..d584340 --- /dev/null +++ b/pigeonhole/INSTALL @@ -0,0 +1,653 @@ +Compiling +========= + +If you downloaded the sources using Mercurial, you will need to execute +./autogen.sh first to build the automake structure in your source tree. This +process requires autotools and libtool to be installed. + +If you installed Dovecot from sources, Pigeonhole's configure script should be +able to find the installed dovecot-config automatically: + +./configure +make +sudo make install + +If your system uses a $prefix different than the default /usr/local, the +configure script can still find the installed dovecot-config automatically when +supplied with the proper --prefix argument: + +./configure --prefix=/usr +make +sudo make install + +If this doesn't work, you can use --with-dovecot= configure option, where +the path points to a directory containing dovecot-config file. This can point to +an installed file: + +./configure --with-dovecot=/usr/local/lib/dovecot +make +sudo make install + +or to a Dovecot source directory that is already compiled: + +./configure --with-dovecot=../dovecot-2.1.0 +make +sudo make install + +The following additional parameters may be of interest for the configuration of +the Pigeonhole build: + + --with-managesieve=yes + Controls whether Pigeonhole ManageSieve is compiled and installed, which is + the default. + + --with-unfinished-features=no + Controls whether unfinished features and extensions are built. Enabling this + will enable the compilation of code that is considered unfinished and highly + experimental and may therefore introduce bugs and unexpected behavior. + In fact, it may not compile at all. Enable this only when you are eager to + test some of the new development functionality. + +Configuration +============= + +The Pigeonhole package provides the following items: + + - The Sieve interpreter plugin for Dovecot's Local Delivery Agent (LDA): This + facilitates the actual Sieve filtering upon delivery. + + - The ManageSieve Service: This implements the ManageSieve protocol through + which users can remotely manage Sieve scripts on the server. + +The functionality of these items is described in more detail in the README file. +In this file and in this section their configuration is described. Example +configuration files are provided in the doc/example-config directory of this +package. + +Sieve Interpreter - Basic Configuration +--------------------------------------- + +To use Sieve, you will first need to make sure you are using Dovecot LDA +or Dovecot LMTP for delivering incoming mail to users' mailboxes. Then, you need +to enable the Sieve interpreter plugin for LDA/LMTP in your dovecot.conf: + +protocol lda { +.. + mail_plugins = sieve # ... other plugins like quota +} + +protocol lmtp { +.. + mail_plugins = sieve # ... other plugins like quota +} + +The Sieve interpreter recognizes the following configuration options in the +plugin section of the config file (default values are shown if applicable): + + sieve = ~/.dovecot.sieve + The location of the user's main active script. + + sieve_default = + The location of the default personal sieve script file, which gets executed + ONLY if user's private Sieve script does no exist, e.g. + /var/lib/dovecot/default.sieve. This is usually a global script, so be sure + to pre-compile this script manually using the sievec command line tool, as + explained in the README file. This setting used to be called + `sieve_global_path', but that name is now deprecated. + + sieve_global_dir = + Location for :global include scripts for the Sieve include extension. + + sieve_dir = ~/sieve + Location for :personal include scripts for the Sieve include extension. + + sieve_extensions = + Which Sieve language extensions are available to users. By default, all + supported extensions are available, except for deprecated extensions or those + that are still under development. Some system administrators may want to + disable certain Sieve extensions or enable those that are not available by + default. This setting can use '+' and '-' to specify differences relative to + the default. For example `sieve_extensions = +imapflags' will enable the + deprecated imapflags extension in addition to all extensions were already + enabled by default. + + sieve_global_extensions = + Which Sieve language extensions are ONLY avalable in global scripts. This can + be used to restrict the use of certain Sieve extensions to administrator + control, for instance when these extensions can cause security concerns. This + setting has higher precedence than the `sieve_extensions' setting (above), + meaning that the extensions enabled with this setting are never available to + the user's personal script no matter what is specified for the + `sieve_extensions' setting. The syntax of this setting is similar to + the `sieve_extensions' setting, with the difference that extensions are + enabled or disabled for exclusive use in global scripts. Currently, no + extensions are marked as such by default. + + sieve_plugins = + The Pigeonhole Sieve interpreter can have plugins of its own. Using this + setting, the used plugins can be specified. Check the Dovecot wiki + (wiki2.dovecot.org) or the pigeonhole website (http://pigeonhole.dovecot.org) + for available plugins. The sieve_extprograms plugin is included in this + release. + + sieve_user_log = + The path to the file where the user log file is written. If not configured, a + default location is used. If the main user's personal Sieve (as configured + with sieve=) is a file, the logfile is set to .log by default. If + it is not a file, the default user log file is ~/.dovecot.sieve.log. + + recipient_delimiter = + + The separator that is expected between the :user and :detail address parts + introduced by the subaddress extension. This may also be a sequence of + characters (e.g. '--'). The current implementation looks for the separator + from the left of the localpart and uses the first one encountered. The :user + part is left of the separator and the :detail part is right. This setting is + also used by Dovecot's LMTP service. + +For example: + +plugin { +... + # The location of the user's active script: + sieve = ~/.dovecot.sieve + + # If the user has no personal active script (i.e. if the file + # indicated in sieve= does not exist), use this one: + sieve_default = /var/lib/dovecot/sieve/default.sieve + + # The include extension fetches the :personal scripts from this + # directory. When ManageSieve is used, this is also where scripts + # are uploaded. + sieve_dir = ~/sieve + + # The include extension fetches the :global scripts from this + # directory. + sieve_global_dir = /var/lib/dovecot/sieve/global/ +} + +Sieve Interpreter - Configurable Limits +--------------------------------------- + + sieve_max_script_size = 1M + The maximum size of a Sieve script. The compiler will refuse to compile any + script larger than this limit. If set to 0, no limit on the script size is + enforced. + + sieve_max_actions = 32 + The maximum number of actions that can be performed during a single script + execution. If set to 0, no limit on the total number of actions is enforced. + + sieve_max_redirects = 4 + The maximum number of redirect actions that can be performed during a single + script execution. If set to 0, no redirect actions are allowed. + +Sieve Interpreter - Script Locations +------------------------------------ + +The location of Sieve scripts is not limited to the file system. The Sieve +interpreter can be extended to retrieve Sieve scripts from other sources as +well, such as a database. Currently, all settings that are used to obtain the +location of a single Sieve script, such as sieve=, sieve_default=, sieve_dir= +and sieve_global_dir= accept the following extended syntax: + +location = [:]path[;