Hello community,
here is the log from the commit of package dovecot20 for openSUSE:Factory checked in at 2011-12-05 12:43:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dovecot20 (Old)
and /work/SRC/openSUSE:Factory/.dovecot20.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dovecot20", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/dovecot20/dovecot20.changes 2011-09-23 01:55:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.dovecot20.new/dovecot20.changes 2011-12-05 12:43:26.000000000 +0100
@@ -1,0 +2,87 @@
+Mon Dec 5 04:29:17 UTC 2011 - crrodriguez@opensuse.org
+
+- Apparently coolo's bot lo longer likes commented patch lines..
+ see https://hermes.opensuse.org/messages/12739044
+
+-------------------------------------------------------------------
+Fri Nov 25 22:34:15 UTC 2011 - crrodriguez@opensuse.org
+
+- Enable systemd units
+
+-------------------------------------------------------------------
+Sat Nov 19 19:24:21 UTC 2011 - alexandre@exatati.com.br
+
+- Update to Pigeonhole 2.0.5:
+ + Sieve vacation extension: made discard message for implicit
+ delivery more verbose
+ - The sieve-test tool: mixed up original and final envelope recipient
+ in implementation of command line arguments.
+ - Sieve vacation extension: resolved FIXME regarding the use of
+ variables in the :handle argument. Variables are now handled
+ correctly.
+ - Sieve body extension: fixed handling of :content "message/rfc822".
+ This now yields the headers of the embedded message as required by
+ the specification. Handling of :content "multipart" remains to be
+ fixed.
+ - LDA Sieve plugin: fixed problem with recipient_delimiter
+ configuration. Now it falls back to global recipient_delimiter
+ setting if plugin/recipient_delimiter is not set.
+
+-------------------------------------------------------------------
+Thu Nov 17 12:35:21 UTC 2011 - alexandre@exatati.com.br
+
+- Update to 2.0.16:
+ * VSZ limits weren't being enforced for any processes. On server with
+ large mailboxes you may now see errors about it if the limits aren't
+ high enough. To fix them, either increase individual service {
+ vsz_limit } values or simply increase the default_vsz_limit setting.
+ * Proxying: If using ssl=yes or starttls=yes with a hostname (not IP)
+ as proxy destination, require that the certificate matches the given
+ hostname.
+ * LMTP: Changed default client_limit to 1. This should improve LMTP
+ throughput with default settings.
+ * dsync: Quota is no longer enforced (i.e. dsync can't fail because
+ user is over quota).
+ + Added "auto" mail storage driver, which can be used to autodetect
+ mailbox location and format. This behavior is already the default
+ for empty mail_location setting, so this change is mainly useful for
+ shared namespace's location setting.
+ + checkpassword: Export all auth %variables to AUTH_* environment.
+
+-------------------------------------------------------------------
+Sat Nov 12 22:36:23 UTC 2011 - pascal.bleser@opensuse.org
+
+- update to 2.0.15:
+ * several fixes and performance enhancements:
+ + updated INSTALL documentation for new configuration options of the
+ include extension
+ + include extension: made nesting_depth and max_includes limits
+ configurable
+ + include extension: implemented proper configuration handling
+ Configuration is now only read once at extension initialization
+ + variables extension: fixed deinitialization problem (unfreed variable
+ scope data) newly found by Valgrind
+ + variables extension: fixed segfault bug triggered when dumping binary
+ variable scopes
+ + sieve: fixed debug mode; no messages were logged in some situations
+ + fix sievec: forgot to enable -D (debug) parameter
+ + lib-sieve: vacation extension: finally added support for using the
+ original recipient in vacation address check
+ + lib-sieve: added X-Sieve-Redirected-From header for people using SPF/SRS
+ + lib-sieve: add ihave extension (RFC5463)
+ + lib-sieve: made sure that flags and keywords are only checked when the
+ mailbox is actually opened
+ + made vnd.dovecot.debug extension available to the LDA plugin instead of
+ only the command line tools
+ + Sieve Storage: improved handling of unconfigured user home directory
+
+ * doveadm now can move messages back to primary storage
+
+-------------------------------------------------------------------
+Sun Sep 18 17:17:12 UTC 2011 - jengelh@medozas.de
+
+- Remove redundant tags/sections from specfile
+ (cf. packaging guidelines)
+- Use %_smp_mflags for parallel build
+
+-------------------------------------------------------------------
Old:
----
dovecot-2.0-pigeonhole-0.2.4.tar.bz2
dovecot-2.0-pigeonhole_pass_config.patch
dovecot-2.0-pigeonhole_pie.patch
dovecot-2.0.14.tar.bz2
New:
----
dovecot-2.0-pigeonhole-0.2.5.tar.bz2
dovecot-2.0.16.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dovecot20.spec ++++++
--- /var/tmp/diff_new_pack.Qf4Yvh/_old 2011-12-05 12:43:35.000000000 +0100
+++ /var/tmp/diff_new_pack.Qf4Yvh/_new 2011-12-05 12:43:35.000000000 +0100
@@ -15,15 +15,14 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
Name: dovecot20
-Version: 2.0.14
+Version: 2.0.16
Release: 0
%define pkg_name dovecot
%define sieve_version 2.0
-%define dovecot_version 2.0.14
+%define dovecot_version 2.0.16
%define dovecot_pigeonhole_docdir %{_docdir}/%{pkg_name}/dovecot-pigeonhole
#define with_unfinished_sieve_features 1
#
@@ -62,6 +61,11 @@
%if 0%{?with_solr}
BuildRequires: curl-devel libexpat-devel
%endif
+%if 0%{?suse_version} > 1140
+BuildRequires: systemd
+%{?systemd_requires}
+%define has_systemd 1
+%endif
PreReq: pwdutils %insserv_prereq %fillup_prereq
Conflicts: dovecot10 dovecot11 dovecot12 dovecot-snapshot dovecot11-snapshot dovecot12-snapshot
Provides: dovecot = %{version}-%{release}
@@ -76,14 +80,13 @@
# taken from http://www.dovecot.org/releases/2.0/%{pkg_name}-%{version}.tar.gz
Source: %{pkg_name}-%{dovecot_version}.tar.bz2
# hg clone http://hg.rename-it.nl/dovecot-2.0-pigeonhole/
-%define dovecot_pigeonhole_source_dir %{pkg_name}-%{sieve_version}-pigeonhole-0.2.4
+%define dovecot_pigeonhole_source_dir %{pkg_name}-%{sieve_version}-pigeonhole-0.2.5
Source1: %{dovecot_pigeonhole_source_dir}.tar.bz2
Source2: %{pkg_name}.init
Source3: %{pkg_name}.pam
Source4: %{pkg_name}.README.SuSE
Source5: %{pkg_name}-fw
Patch0: dovecot-2.0_pie.patch
-Patch1: dovecot-2.0-pigeonhole_pie.patch
Summary: IMAP and POP3 Server Written Primarily with Security in Mind
%description
@@ -95,10 +98,6 @@
compatible with UW-IMAP and Courier IMAP servers as well as mail
clients accessing the mailboxes directly.
-Author:
---------
- Timo Sirainen
-
%package backend-mysql
License: BSD 3-Clause; LGPL v2.1 or later; X11/MIT
Group: Productivity/Networking/Email/Servers
@@ -120,10 +119,6 @@
This package holds the files needed for MySQL support.
-Author:
---------
- Timo Sirainen
-
%package backend-pgsql
License: BSD 3-Clause; LGPL v2.1 or later; X11/MIT
Group: Productivity/Networking/Email/Servers
@@ -145,11 +140,6 @@
This package holds the files needed for PostgreSQL support.
-Author:
---------
- Timo Sirainen
-
-
%if 0%{?with_sqlite}
%package backend-sqlite
@@ -173,12 +163,8 @@
This package holds the files needed for SQLite support.
-Author:
---------
- Timo Sirainen
%endif
-
%if 0%{?with_clucene}
%package fts-lucene
@@ -202,9 +188,6 @@
This package holds the files needed for fulltext search support via CLucene.
-Author:
---------
- Timo Sirainen
%endif
%if 0%{?with_solr}
@@ -230,10 +213,6 @@
This package holds the files needed for fulltext search support via solr.
-
-Author:
---------
- Timo Sirainen
%endif
%package devel
@@ -257,10 +236,6 @@
This package holds the file needed to compile plugins outside of the
dovecot tree.
-Author:
---------
- Timo Sirainen
-
%prep
%setup -q -n %{pkg_name}-%{dovecot_version} -a 1
%{__gzip} -9v ChangeLog
@@ -276,9 +251,6 @@
%build
export CFLAGS="%{optflags}"
-%if 0%{?suse_version} > 1000
- export CFLAGS="$CFLAGS -fstack-protector"
-%endif
#{__aclocal} -I .
#{__autoheader}
#{__libtoolize} --force
@@ -292,7 +264,6 @@
export LIBS="-pie"
%configure \
--docdir=%{_docdir}/%{pkg_name} \
- --libexecdir=%{_prefix}/lib \
--with-moduledir=%{_libdir}/%{pkg_name}/modules \
--with-ioloop=best \
--with-ldap=plugin \
@@ -315,8 +286,11 @@
--with-libcap \
--with-libwrap \
--with-docs \
- --disable-static
-make
+ --disable-static \
+%if 0%{?has_systemd}
+ --with-systemdsystemunitdir=%{_unitdir}
+%endif
+make %{?_smp_mflags}
pushd %{dovecot_pigeonhole_source_dir}
#./autogen.sh
@@ -330,7 +304,7 @@
--with-unfinished-features \
%endif
--docdir="%{dovecot_pigeonhole_docdir}"
- make
+ make %{?_smp_mflags}
popd
%check
@@ -377,6 +351,7 @@
# install sieve docs
%{__install} -m 0755 -Dd %{buildroot}%{dovecot_pigeonhole_docdir}
pushd %{dovecot_pigeonhole_source_dir}
+%__sed -i 's/\r$//' doc/rfc/*
cp -av AUTHORS COPYING* INSTALL NEWS README TODO \
examples/ doc/rfc/ doc/devel \
%{buildroot}%{dovecot_pigeonhole_docdir}/
@@ -385,32 +360,41 @@
# install firewall services
%{__install} -D -m 644 %{S:5} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{pkg_name}
-
-%clean
-%{__rm} -rf %{buildroot}
-
-
%pre
/usr/sbin/groupadd -r %{pkg_name} &>/dev/null || :
/usr/sbin/useradd -o -g %{pkg_name} -s /bin/false -r -c "User for Dovecot imapd" -d %{_var}/run/%{pkg_name} %{pkg_name} &>/dev/null || :
/usr/sbin/useradd -o -g %{pkg_name} -s /bin/false -r -c "User for Dovecot login" -d %{_var}/run/%{pkg_name} dovenull &>/dev/null || :
-
+%if 0%{?has_systemd}
+%service_add_pre %{pkg_name}.service %{pkg_name}.socket
+%endif
%preun
%stop_on_removal %{pkg_name}
+%if 0%{?has_systemd}
+%service_del_preun %{pkg_name}.service %{pkg_name}.socket
+%endif
%post
/sbin/ldconfig
%fillup_and_insserv -f %{pkg_name}
+%if 0%{?has_systemd}
+%service_add_post %{pkg_name}.service %{pkg_name}.socket
+%endif
%postun
/sbin/ldconfig
%insserv_cleanup
%restart_on_update %{pkg_name}
-
+%if 0%{?has_systemd}
+%service_del_postun %{pkg_name}.service %{pkg_name}.socket
+%endif
%files
%defattr(-,root,root)
+%if 0%{?has_systemd}
+%{_unitdir}/dovecot.service
+%{_unitdir}/dovecot.socket
+%endif
%{_sysconfdir}/init.d/%{pkg_name}
%{_sbindir}/rc%{pkg_name}
%{_sbindir}/%{pkg_name}
@@ -530,6 +514,7 @@
%{_libdir}/%{pkg_name}/modules/dict/libdriver_pgsql.so
%if 0%{?with_sqlite}
+
%files backend-sqlite
%defattr(-,root,root,-)
%{_libdir}/%{pkg_name}/modules/libdriver_sqlite.so
@@ -538,12 +523,14 @@
%endif
%if 0%{?with_clucene}
+
%files fts-lucene
%defattr(-,root,root,-)
%{_libdir}/%{pkg_name}/modules/lib21_fts_lucene_plugin.so
%endif
%if 0%{?with_solr}
+
%files fts-solr
%defattr(-,root,root,-)
%{_libdir}/%{pkg_name}/modules/lib21_fts_solr_plugin.so
++++++ dovecot-2.0-pigeonhole-0.2.4.tar.bz2 -> dovecot-2.0-pigeonhole-0.2.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/NEWS new/dovecot-2.0-pigeonhole-0.2.5/NEWS
--- old/dovecot-2.0-pigeonhole-0.2.4/NEWS 2011-09-13 22:29:27.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/NEWS 2011-11-19 15:47:56.000000000 +0100
@@ -1,3 +1,18 @@
+v0.2.5 19-11-2011 Stephan Bosch
+
+ + Sieve vacation extension: made discard message for implicit delivery more
+ verbose
+ - The sieve-test tool: mixed up original and final envelope recipient in
+ implementation of command line arguments.
+ - Sieve vacation extension: resolved FIXME regarding the use of variables in
+ the :handle argument. Variables are now handled correctly.
+ - Sieve body extension: fixed handling of :content "message/rfc822". This now
+ yields the headers of the embedded message as required by the specification.
+ Handling of :content "multipart" remains to be fixed.
+ - LDA Sieve plugin: fixed problem with recipient_delimiter configuration. Now
+ falls back to global recipient_delimiter setting if
+ plugin/recipient_delimiter is not set.
+
v0.2.4 13-09-2011 Stephan Bosch
+ Vacation extension: finally added support for using the original recipient
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/TODO new/dovecot-2.0-pigeonhole-0.2.5/TODO
--- old/dovecot-2.0-pigeonhole-0.2.4/TODO 2011-08-29 16:58:19.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/TODO 2011-09-17 09:04:33.000000000 +0200
@@ -34,7 +34,6 @@
accordingly)
* Finish body extension:
- Implement proper :content "multipart" behavior
- - Implement proper :content "message/rfc822" behavior
- Build test cases for decoding MIME encodings to UTF-8
* Cleanup the test suite
- Restructure test scripts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/configure new/dovecot-2.0-pigeonhole-0.2.5/configure
--- old/dovecot-2.0-pigeonhole-0.2.4/configure 2011-09-13 22:26:17.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/configure 2011-11-19 15:54:12.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67 for Pigeonhole 0.2.4.
+# Generated by GNU Autoconf 2.67 for Pigeonhole 0.2.5.
#
# Report bugs to .
#
@@ -701,8 +701,8 @@
# Identity of this package.
PACKAGE_NAME='Pigeonhole'
PACKAGE_TARNAME='dovecot-2.0-pigeonhole'
-PACKAGE_VERSION='0.2.4'
-PACKAGE_STRING='Pigeonhole 0.2.4'
+PACKAGE_VERSION='0.2.5'
+PACKAGE_STRING='Pigeonhole 0.2.5'
PACKAGE_BUGREPORT='dovecot@dovecot.org'
PACKAGE_URL=''
@@ -1460,7 +1460,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Pigeonhole 0.2.4 to adapt to many kinds of systems.
+\`configure' configures Pigeonhole 0.2.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1531,7 +1531,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Pigeonhole 0.2.4:";;
+ short | recursive ) echo "Configuration of Pigeonhole 0.2.5:";;
esac
cat <<\_ACEOF
@@ -1644,7 +1644,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Pigeonhole configure 0.2.4
+Pigeonhole configure 0.2.5
generated by GNU Autoconf 2.67
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1922,7 +1922,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Pigeonhole $as_me 0.2.4, which was
+It was created by Pigeonhole $as_me 0.2.5, which was
generated by GNU Autoconf 2.67. Invocation command line was
$ $0 $@
@@ -2731,7 +2731,7 @@
# Define the identity of the package.
PACKAGE='dovecot-2.0-pigeonhole'
- VERSION='0.2.4'
+ VERSION='0.2.5'
# Some tools Automake needs.
@@ -11235,7 +11235,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Pigeonhole $as_me 0.2.4, which was
+This file was extended by Pigeonhole $as_me 0.2.5, which was
generated by GNU Autoconf 2.67. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -11301,7 +11301,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-Pigeonhole config.status 0.2.4
+Pigeonhole config.status 0.2.5
configured by $0, generated by GNU Autoconf 2.67,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/configure.in new/dovecot-2.0-pigeonhole-0.2.5/configure.in
--- old/dovecot-2.0-pigeonhole-0.2.4/configure.in 2011-09-13 22:26:09.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/configure.in 2011-11-19 15:48:11.000000000 +0100
@@ -1,4 +1,4 @@
-AC_INIT([Pigeonhole], [0.2.4], [dovecot@dovecot.org], [dovecot-2.0-pigeonhole])
+AC_INIT([Pigeonhole], [0.2.5], [dovecot@dovecot.org], [dovecot-2.0-pigeonhole])
AC_CONFIG_AUX_DIR([.])
AC_CONFIG_SRCDIR([src])
AC_CONFIG_MACRO_DIR([m4])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/doc/man/sieve-dump.1.in new/dovecot-2.0-pigeonhole-0.2.5/doc/man/sieve-dump.1.in
--- old/dovecot-2.0-pigeonhole-0.2.4/doc/man/sieve-dump.1.in 2011-06-21 17:18:28.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/doc/man/sieve-dump.1.in 2011-10-05 18:17:35.000000000 +0200
@@ -1,5 +1,5 @@
.\" Copyright (c) 2010-2011 Pigeonhole authors, see the included COPYING file
-.TH "SIEVE\-DUMP" 1 "2011-06-21" "Pigeonhole for Dovecot v2.0" "Pigeonhole"
+.TH "SIEVE\-DUMP" 1 "2011-10-04" "Pigeonhole for Dovecot v2.0" "Pigeonhole"
.\"------------------------------------------------------------------------
.SH NAME
sieve\-dump \- Pigeonhole\(aqs Sieve script binary dump tool
@@ -72,7 +72,7 @@
will exit with one of the following values:
.TP 4
.B 0
-Dump was successful. (EX_OK, EXIT_SUCCES)
+Dump was successful. (EX_OK, EXIT_SUCCESS)
.TP
.B 1
Operation failed. This is returned for almost all failures.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/doc/man/sieve-filter.1.in new/dovecot-2.0-pigeonhole-0.2.5/doc/man/sieve-filter.1.in
--- old/dovecot-2.0-pigeonhole-0.2.4/doc/man/sieve-filter.1.in 2011-06-21 17:18:06.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/doc/man/sieve-filter.1.in 2011-10-05 18:17:28.000000000 +0200
@@ -1,5 +1,5 @@
.\" Copyright (c) 2010-2011 Pigeonhole authors, see the included COPYING file
-.TH "SIEVE\-FILTER" 1 "2011-02-23" "Pigeonhole for Dovecot v2.0" "Pigeonhole"
+.TH "SIEVE\-FILTER" 1 "2011-10-04" "Pigeonhole for Dovecot v2.0" "Pigeonhole"
.SH NAME
sieve\-filter \- Pigeonhole\(aqs Sieve mailbox filter tool
@@ -196,7 +196,7 @@
will exit with one of the following values:
.TP 4
.B 0
-Sieve filter applied successfully. (EX_OK, EXIT_SUCCES)
+Sieve filter applied successfully. (EX_OK, EXIT_SUCCESS)
.TP
.B 1
Operation failed. This is returned for almost all failures.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/doc/man/sieve-test.1.in new/dovecot-2.0-pigeonhole-0.2.5/doc/man/sieve-test.1.in
--- old/dovecot-2.0-pigeonhole-0.2.4/doc/man/sieve-test.1.in 2011-06-21 17:18:14.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/doc/man/sieve-test.1.in 2011-10-05 18:26:05.000000000 +0200
@@ -1,5 +1,5 @@
.\" Copyright (c) 2010-2011 Pigeonhole authors, see the included COPYING file
-.TH "SIEVE\-TEST" 1 "2011-06-21" "Pigeonhole for Dovecot v2.0" "Pigeonhole"
+.TH "SIEVE\-TEST" 1 "2011-10-04" "Pigeonhole for Dovecot v2.0" "Pigeonhole"
.SH NAME
sieve\-test \- Pigeonhole\(aqs Sieve script tester
.\"------------------------------------------------------------------------
@@ -32,6 +32,15 @@
.\"------------------------------------------------------------------------
.SH OPTIONS
.TP
+.BI \-a\ orig\-recipient\-address
+The original envelope recipient address. This is what Sieve\(aqs envelope test
+will compare to when the \(dqto\(dq envelope part is requested. Some tests and
+actions will also use this as the script owner\(aqs e\-mail address. If this
+option is omitted, the recipient address is retrieved from the
+\(dqEnvelope-To:\(dq, or \(dqTo:\(dq message headers. If none of these headers
+is present either, the recipient address defaults to
+\fIrecipient@example.com\fP.
+.TP
.BI \-c\ config\-file
Alternative Dovecot configuration file path.
.TP
@@ -58,9 +67,12 @@
SMTP recipients. Such actions only print the outgoing message to \fBstdout\fP.
.TP
.BI \-f\ envelope\-sender
-The envelope sender or return path. This is what Sieve\(aqs envelope test will
-compare to when the \(dqfrom\(dq envelope part is requested. Also, this is
-where response messages are sent to.
+The envelope sender address (return path). This is what Sieve\(aqs envelope test
+will compare to when the \(dqfrom\(dq envelope part is requested. Also, this is
+where response messages are \(aqsent\(aq to. If this option is omitted, the sender
+address is retrieved from the \(dqReturn-Path:\(dq, \(dqSender:\(dq or
+\(dqFrom:\(dq message headers. If none of these headers is present either,
+the sender envelope address defaults to \fIsender@example.com\fP.
.TP
.BI \-l\ mail\-location
The location of the user\(aqs mail store. The syntax of this option\(aqs
@@ -75,9 +87,11 @@
by default.
.TP
.BI \-r\ recipient\-address
-The envelope recipient address. This is what Sieve\(aqs envelope test will compare
-to when the \(dqto\(dq envelope part is requested. Some tests and actions will also
-use this as the owner\(aqs e\-mail address.
+The final envelope recipient address. Some tests and actions will
+use this as the script owner\(aqs e\-mail address. For example, this is what is
+used by the vacation action to check whether a reply is appropriate. If the
+\fB\-r\fP option is omitted, the orignal envelope recipient address will be used
+in stead (see \fB\-a\fP option for more info).
.TP
.BI \-s\ script\-file
Specify additional scripts to be executed before the main script. Multiple
@@ -196,7 +210,7 @@
will exit with one of the following values:
.TP 4
.B 0
-Execution was successful. (EX_OK, EXIT_SUCCES)
+Execution was successful. (EX_OK, EXIT_SUCCESS)
.TP
.B 1
Operation failed. This is returned for almost all failures.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/doc/man/sievec.1.in new/dovecot-2.0-pigeonhole-0.2.5/doc/man/sievec.1.in
--- old/dovecot-2.0-pigeonhole-0.2.4/doc/man/sievec.1.in 2011-06-21 17:16:49.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/doc/man/sievec.1.in 2011-10-05 18:23:31.000000000 +0200
@@ -1,5 +1,5 @@
.\" Copyright (c) 2010-2011 Pigeonhole authors, see the included COPYING file
-.TH "SIEVEC" 1 "2011-06-21" "Pigeonhole for Dovecot v2.0" "Pigeonhole"
+.TH "SIEVEC" 1 "2011-10-04" "Pigeonhole for Dovecot v2.0" "Pigeonhole"
.\"------------------------------------------------------------------------
.SH NAME
sievec \- Pigeonhole\(aqs Sieve script compiler
@@ -32,7 +32,8 @@
extension as Sieve scripts and corresponding files with a \fB.svbin\fP extension
as the associated compiled binary. This means for example that Dovecot\(aqs LDA
process will first look for a binary file \(dqdovecot.svbin\(dq when it needs to
-execute \(dqdovecot.sieve\(dq. It will compile a new binary when it is missing.
+execute \(dqdovecot.sieve\(dq. It will compile a new binary when it is missing
+or outdated.
.PP
The \fBsievec\fP command is also useful to verify Sieve scripts before using.
Additionally, with the \fB\-d\fP option it can output a textual (and thus
@@ -82,16 +83,16 @@
.TP
.I out\-file
Specifies where the (binary) output is to be written. This argument is optional.
-If omitted a binary compiled from <scriptname>.sieve is saved as
-<scriptname>.svbin. If \fB\-b\fP is specified, the binary dump is output to
-\fBstdout\fP.
+If this argument is omitted, a binary compiled from <scriptname>.sieve is saved
+as <scriptname>.svbin. If this argument is omitted and \fB\-b\fP is specified,
+the binary dump is output to \fBstdout\fP.
.\"------------------------------------------------------------------------
.SH "EXIT STATUS"
.B sievec
will exit with one of the following values:
.TP 4
.B 0
-Compile was successful. (EX_OK, EXIT_SUCCES)
+Compile was successful. (EX_OK, EXIT_SUCCESS)
.TP
.B 1
Operation failed. This is returned for almost all failures.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/src/lib-sieve/plugins/body/ext-body-common.c new/dovecot-2.0-pigeonhole-0.2.5/src/lib-sieve/plugins/body/ext-body-common.c
--- old/dovecot-2.0-pigeonhole-0.2.4/src/lib-sieve/plugins/body/ext-body-common.c 2011-04-16 22:15:51.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/src/lib-sieve/plugins/body/ext-body-common.c 2011-09-17 09:04:33.000000000 +0200
@@ -61,12 +61,14 @@
i_assert( wanted_types != NULL );
for (; *wanted_types != NULL; wanted_types++) {
- const char *wanted_subtype = strchr(*wanted_types, '/');
+ const char *wanted_subtype;
if (**wanted_types == '\0') {
/* empty string matches everything */
return TRUE;
}
+
+ wanted_subtype = strchr(*wanted_types, '/');
if (wanted_subtype == NULL) {
/* match only main type */
if (strlen(*wanted_types) == type_len &&
@@ -112,7 +114,7 @@
/* Add new item to the result */
return_part = array_append_space(&ctx->return_body_parts);
-
+
/* Depending on whether a decoded body part is requested, the appropriate
* cache item is read. If it is missing, this function fails and the cache
* needs to be completed by ext_body_parts_add_missing().
@@ -134,7 +136,7 @@
}
static void ext_body_part_save
-(struct ext_body_message_context *ctx, struct message_part *part,
+(struct ext_body_message_context *ctx,
struct ext_body_part_cached *body_part, bool decoded)
{
buffer_t *buf = ctx->tmp_buffer;
@@ -154,8 +156,6 @@
if ( !decoded ) {
body_part->raw_body = part_data;
body_part->raw_body_size = part_size;
- printf("%ld <=> %ld\n", (long) buf->used - 1, (long) part->body_size.physical_size);
- i_assert(buf->used - 1 == part->body_size.physical_size);
} else {
body_part->decoded_body = part_data;
body_part->decoded_body_size = part_size;
@@ -195,7 +195,7 @@
(const struct sieve_message_data *msgdata, struct ext_body_message_context *ctx,
const char * const *content_types, bool decode_to_plain)
{
- struct ext_body_part_cached *body_part = NULL;
+ struct ext_body_part_cached *body_part = NULL, *header_part = NULL;
struct message_parser_ctx *parser;
struct message_decoder_context *decoder;
struct message_block block, decoded;
@@ -214,25 +214,50 @@
/* Get the message stream */
if ( mail_get_stream(msgdata->mail, NULL, NULL, &input) < 0 )
return FALSE;
-
+ //if (mail_get_parts(msgdata->mail, &parts) < 0)
+ // return FALSE;
+
buffer_set_used_size(ctx->tmp_buffer, 0);
/* Initialize body decoder */
- decoder = decode_to_plain ? message_decoder_init(FALSE) : NULL;
-
+ decoder = decode_to_plain ? message_decoder_init(FALSE) : NULL;
+
+ //parser = message_parser_init_from_parts(parts, input, 0, 0);
parser = message_parser_init(ctx->pool, input, 0, 0);
+
while ( (ret = message_parser_parse_next_block(parser, &block)) > 0 ) {
+
if ( block.part != prev_part ) {
+ bool message_rfc822 = FALSE;
+
/* Save previous body part */
- if ( body_part != NULL && save_body ) {
- ext_body_part_save(ctx, prev_part, body_part, decoder != NULL);
+ if ( body_part != NULL ) {
+ /* Treat message/rfc822 separately; headers become content */
+ if ( block.part->parent == prev_part &&
+ strcmp(body_part->content_type, "message/rfc822") == 0 ) {
+ message_rfc822 = TRUE;
+ } else {
+ if ( save_body )
+ ext_body_part_save(ctx, body_part, decoder != NULL);
+ }
}
-
+
/* Start processing next */
- prev_part = block.part;
body_part = array_idx_modifiable(&ctx->cached_body_parts, idx);
- idx++;
body_part->content_type = "text/plain";
+
+ /* If this is message/rfc822 content retain the enveloping part for
+ * storing headers as content.
+ */
+ if ( message_rfc822 ) {
+ i_assert(idx > 0);
+ header_part = array_idx_modifiable(&ctx->cached_body_parts, idx-1);
+ } else {
+ header_part = NULL;
+ }
+
+ prev_part = block.part;
+ idx++;
}
if ( block.hdr != NULL || block.size == 0 ) {
@@ -244,6 +269,12 @@
/* Check for end of headers */
if ( block.hdr == NULL ) {
+ /* Save headers for message/rfc822 part */
+ if ( header_part != NULL ) {
+ ext_body_part_save(ctx, header_part, decoder != NULL);
+ header_part = NULL;
+ }
+
/* Save bodies only if we have a wanted content-type */
save_body = _is_wanted_content_type
(content_types, body_part->content_type);
@@ -255,9 +286,22 @@
*/
if ( block.hdr->eoh )
body_part->have_body = TRUE;
+ else if ( header_part != NULL ) {
+ /* Save message/rfc822 header as part content */
+ if ( block.hdr->continued ) {
+ buffer_append(ctx->tmp_buffer, block.hdr->value, block.hdr->value_len);
+ } else {
+ buffer_append(ctx->tmp_buffer, block.hdr->name, block.hdr->name_len);
+ buffer_append(ctx->tmp_buffer, block.hdr->middle, block.hdr->middle_len);
+ buffer_append(ctx->tmp_buffer, block.hdr->value, block.hdr->value_len);
+ }
+ if ( !block.hdr->no_newline ) {
+ buffer_append(ctx->tmp_buffer, "\r\n", 2);
+ }
+ }
/* We're interested of only Content-Type: header */
- if ( strcasecmp(block.hdr->name, "Content-Type" ) != 0)
+ if ( strcasecmp(block.hdr->name, "Content-Type" ) != 0 )
continue;
/* Header can have folding whitespace. Acquire the full value before
@@ -289,8 +333,11 @@
}
/* Save last body part if necessary */
- if ( body_part != NULL && save_body )
- ext_body_part_save(ctx, prev_part, body_part, decoder != NULL);
+ if ( header_part != NULL ) {
+ ext_body_part_save(ctx, header_part, decoder != NULL);
+ } else if ( body_part != NULL && save_body ) {
+ ext_body_part_save(ctx, body_part, decoder != NULL);
+ }
/* Try to fill the return_body_parts array once more */
have_all = ext_body_get_return_parts(ctx, content_types, decode_to_plain);
@@ -310,7 +357,6 @@
static struct ext_body_message_context *ext_body_get_context
(const struct sieve_extension *this_ext, struct sieve_message_context *msgctx)
{
- pool_t pool = sieve_message_context_pool(msgctx);
struct ext_body_message_context *ctx;
/* Get message context (contains cached message body information) */
@@ -319,8 +365,12 @@
/* Create it if it does not exist already */
if ( ctx == NULL ) {
+ pool_t pool;
+
+ pool = sieve_message_context_pool(msgctx);
ctx = p_new(pool, struct ext_body_message_context, 1);
ctx->pool = pool;
+
p_array_init(&ctx->cached_body_parts, pool, 8);
p_array_init(&ctx->return_body_parts, pool, 8);
ctx->tmp_buffer = buffer_create_dynamic(pool, 1024*64);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/src/lib-sieve/plugins/vacation/cmd-vacation.c new/dovecot-2.0-pigeonhole-0.2.5/src/lib-sieve/plugins/vacation/cmd-vacation.c
--- old/dovecot-2.0-pigeonhole-0.2.4/src/lib-sieve/plugins/vacation/cmd-vacation.c 2011-08-02 17:48:33.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/src/lib-sieve/plugins/vacation/cmd-vacation.c 2011-10-05 19:08:54.000000000 +0200
@@ -231,7 +231,7 @@
bool mime;
- string_t *handle;
+ struct sieve_ast_argument *handle_arg;
};
/*
@@ -348,10 +348,10 @@
*arg = sieve_ast_argument_next(*arg);
} else if ( sieve_argument_is(tag, vacation_handle_tag) ) {
- ctx_data->handle = sieve_ast_argument_str(*arg);
-
+ ctx_data->handle_arg = *arg;
+
/* Detach optional argument (emitted as mandatory) */
- *arg = sieve_ast_arguments_detach(*arg,1);
+ *arg = sieve_ast_arguments_detach(*arg, 1);
}
return TRUE;
@@ -468,34 +468,48 @@
return FALSE;
/* Construct handle if not set explicitly */
- if ( ctx_data->handle == NULL ) {
- string_t *reason = sieve_ast_argument_str(arg);
- unsigned int size = str_len(reason);
-
- /* Precalculate the size of it all */
- size += ctx_data->subject == NULL ?
- sizeof(_handle_empty_subject) - 1 : str_len(ctx_data->subject);
- size += ctx_data->from == NULL ?
- sizeof(_handle_empty_from) - 1 : str_len(ctx_data->from);
- size += ctx_data->mime ?
- sizeof(_handle_mime_enabled) - 1 : sizeof(_handle_mime_disabled) - 1;
+ if ( ctx_data->handle_arg == NULL ) {
+ T_BEGIN {
+ string_t *handle;
+ string_t *reason = sieve_ast_argument_str(arg);
+ unsigned int size = str_len(reason);
+
+ /* Precalculate the size of it all */
+ size += ctx_data->subject == NULL ?
+ sizeof(_handle_empty_subject) - 1 : str_len(ctx_data->subject);
+ size += ctx_data->from == NULL ?
+ sizeof(_handle_empty_from) - 1 : str_len(ctx_data->from);
+ size += ctx_data->mime ?
+ sizeof(_handle_mime_enabled) - 1 : sizeof(_handle_mime_disabled) - 1;
- /* Construct the string */
- ctx_data->handle = str_new(sieve_command_pool(cmd), size);
- str_append_str(ctx_data->handle, reason);
-
- if ( ctx_data->subject != NULL )
- str_append_str(ctx_data->handle, ctx_data->subject);
- else
- str_append(ctx_data->handle, _handle_empty_subject);
-
- if ( ctx_data->from != NULL )
- str_append_str(ctx_data->handle, ctx_data->from);
- else
- str_append(ctx_data->handle, _handle_empty_from);
+ /* Construct the string */
+ handle = t_str_new(size);
+ str_append_str(handle, reason);
+
+ if ( ctx_data->subject != NULL )
+ str_append_str(handle, ctx_data->subject);
+ else
+ str_append(handle, _handle_empty_subject);
+
+ if ( ctx_data->from != NULL )
+ str_append_str(handle, ctx_data->from);
+ else
+ str_append(handle, _handle_empty_from);
- str_append(ctx_data->handle,
- ctx_data->mime ? _handle_mime_enabled : _handle_mime_disabled );
+ str_append(handle,
+ ctx_data->mime ? _handle_mime_enabled : _handle_mime_disabled );
+
+ /* Create positional handle argument */
+ ctx_data->handle_arg = sieve_ast_argument_string_create
+ (cmd->ast_node, handle, sieve_ast_node_line(cmd->ast_node));
+ } T_END;
+
+ if ( !sieve_validator_argument_activate
+ (valdtr, cmd, ctx_data->handle_arg, TRUE) )
+ return FALSE;
+ } else {
+ /* Attach explicit handle argument as positional */
+ (void)sieve_ast_argument_attach(cmd->ast_node, ctx_data->handle_arg);
}
return TRUE;
@@ -507,18 +521,12 @@
static bool cmd_vacation_generate
(const struct sieve_codegen_env *cgenv, struct sieve_command *cmd)
-{
- struct cmd_vacation_context_data *ctx_data =
- (struct cmd_vacation_context_data *) cmd->data;
-
+{
sieve_operation_emit(cgenv->sblock, cmd->ext, &vacation_operation);
/* Generate arguments */
if ( !sieve_generate_arguments(cgenv, cmd, NULL) )
return FALSE;
-
- /* FIXME: this will not allow the handle to be a variable */
- sieve_opr_string_emit(cgenv->sblock, ctx_data->handle);
return TRUE;
}
@@ -779,13 +787,13 @@
(struct act_vacation_context *) action->context;
sieve_result_action_printf( rpenv, "send vacation message:");
- sieve_result_printf(rpenv, " => seconds : %d\n", ctx->seconds);
+ sieve_result_printf(rpenv, " => seconds : %d\n", ctx->seconds);
if ( ctx->subject != NULL )
- sieve_result_printf(rpenv, " => subject: %s\n", ctx->subject);
+ sieve_result_printf(rpenv, " => subject : %s\n", ctx->subject);
if ( ctx->from != NULL )
- sieve_result_printf(rpenv, " => from : %s\n", ctx->from);
+ sieve_result_printf(rpenv, " => from : %s\n", ctx->from);
if ( ctx->handle != NULL )
- sieve_result_printf(rpenv, " => handle : %s\n", ctx->handle);
+ sieve_result_printf(rpenv, " => handle : %s\n", ctx->handle);
sieve_result_printf(rpenv, "\nSTART MESSAGE\n%s\nEND MESSAGE\n", ctx->reason);
}
@@ -1176,10 +1184,23 @@
/* My address not found in the headers; we got an implicit delivery */
if ( *hdsp == NULL ) {
+ const char *original_recipient = "";
+
/* No, bail out */
+
+ if ( config->use_original_recipient ) {
+ original_recipient = t_strdup_printf("original-recipient=<%s>, ",
+ ( orig_recipient == NULL ? "UNAVAILABLE" :
+ str_sanitize(orig_recipient, 128) ));
+ }
+
sieve_result_global_log(aenv,
- "discarding vacation response for message implicitly delivered to <%s>",
- recipient );
+ "discarding vacation response for implicitly delivered message; "
+ "no known (envelope) recipient address found in message headers "
+ "(recipient=<%s>, %sand%s additional `:addresses' are specified)",
+ str_sanitize(recipient, 128), original_recipient,
+ (ctx->addresses == NULL ? " no" : ""));
+
return TRUE;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/src/managesieve-login/managesieve-login-settings.c new/dovecot-2.0-pigeonhole-0.2.5/src/managesieve-login/managesieve-login-settings.c
--- old/dovecot-2.0-pigeonhole-0.2.4/src/managesieve-login/managesieve-login-settings.c 2011-04-16 22:15:51.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/src/managesieve-login/managesieve-login-settings.c 2011-11-09 17:19:23.000000000 +0100
@@ -51,7 +51,7 @@
.client_limit = 0,
.service_count = 1,
.idle_kill = 0,
- .vsz_limit = 64*1024*1024,
+ .vsz_limit = (uoff_t)-1,
.unix_listeners = ARRAY_INIT,
.fifo_listeners = ARRAY_INIT,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/src/plugins/lda-sieve/lda-sieve-plugin.c new/dovecot-2.0-pigeonhole-0.2.5/src/plugins/lda-sieve/lda-sieve-plugin.c
--- old/dovecot-2.0-pigeonhole-0.2.4/src/plugins/lda-sieve/lda-sieve-plugin.c 2011-06-06 16:45:01.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/src/plugins/lda-sieve/lda-sieve-plugin.c 2011-09-17 09:04:37.000000000 +0200
@@ -42,13 +42,13 @@
static const char *lda_sieve_get_homedir
(void *context)
{
- struct mail_user *mail_user = (struct mail_user *) context;
+ struct mail_deliver_context *mdctx = (struct mail_deliver_context *)context;
const char *home = NULL;
- if ( mail_user == NULL )
+ if ( mdctx == NULL || mdctx->dest_user == NULL )
return NULL;
- if ( mail_user_get_home(mail_user, &home) <= 0 )
+ if ( mail_user_get_home(mdctx->dest_user, &home) <= 0 )
return NULL;
return home;
@@ -57,12 +57,19 @@
static const char *lda_sieve_get_setting
(void *context, const char *identifier)
{
- struct mail_user *mail_user = (struct mail_user *) context;
+ struct mail_deliver_context *mdctx = (struct mail_deliver_context *)context;
+ const char *value = NULL;
- if ( mail_user == NULL )
+ if ( mdctx == NULL )
return NULL;
- return mail_user_plugin_getenv(mail_user, identifier);
+ if ( mdctx->dest_user == NULL ||
+ (value=mail_user_plugin_getenv(mdctx->dest_user, identifier)) == NULL ) {
+ if ( strcmp(identifier, "recipient_delimiter") == 0 )
+ value = mdctx->set->recipient_delimiter;
+ }
+
+ return value;
}
static const struct sieve_environment lda_sieve_env = {
@@ -665,7 +672,7 @@
/* Initialize Sieve engine */
- svinst = sieve_init(&lda_sieve_env, mdctx->dest_user, debug);
+ svinst = sieve_init(&lda_sieve_env, mdctx, debug);
/* Initialize master error handler */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/src/sieve-tools/sieve-dump.c new/dovecot-2.0-pigeonhole-0.2.5/src/sieve-tools/sieve-dump.c
--- old/dovecot-2.0-pigeonhole-0.2.4/src/sieve-tools/sieve-dump.c 2011-06-06 13:19:18.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/src/sieve-tools/sieve-dump.c 2011-10-05 18:43:08.000000000 +0200
@@ -28,7 +28,7 @@
static void print_help(void)
{
printf(
-"Usage: sieve-dump [-h] [-P <plugin>] [-x <extensions>]\n"
+"Usage: sieve-dump [-c <config-file>] [-h] [-P <plugin>] [-x <extensions>]\n"
" <sieve-binary> [<out-file>]\n"
);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/src/sieve-tools/sieve-test.c new/dovecot-2.0-pigeonhole-0.2.5/src/sieve-tools/sieve-test.c
--- old/dovecot-2.0-pigeonhole-0.2.4/src/sieve-tools/sieve-test.c 2011-06-22 22:07:30.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/src/sieve-tools/sieve-test.c 2011-10-05 19:00:18.000000000 +0200
@@ -42,7 +42,8 @@
static void print_help(void)
{
printf(
-"Usage: sieve-test [-c <config-file>] [-C] [-D] [-d <dump-filename>] [-e]\n"
+"Usage: sieve-test [-a 0) {
switch (c) {
case 'r':
- /* original recipient address */
- recipient = optarg;
- break;
- case 'a':
/* final recipient address */
final_recipient = optarg;
break;
+ case 'a':
+ /* original recipient address */
+ recipient = optarg;
+ break;
case 'f':
/* envelope sender address */
sender = optarg;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/src/sieve-tools/sievec.c new/dovecot-2.0-pigeonhole-0.2.5/src/sieve-tools/sievec.c
--- old/dovecot-2.0-pigeonhole-0.2.4/src/sieve-tools/sievec.c 2011-08-09 20:59:02.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/src/sieve-tools/sievec.c 2011-10-05 18:42:06.000000000 +0200
@@ -30,7 +30,7 @@
static void print_help(void)
{
printf(
-"Usage: sievec [-d] [-P <plugin>] [-x <extensions>] \n"
+"Usage: sievec [-c <config-file>] [-d] [-P <plugin>] [-x <extensions>] \n"
" <script-file> [<out-file>]\n"
);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/src/testsuite/testsuite-script.c new/dovecot-2.0-pigeonhole-0.2.5/src/testsuite/testsuite-script.c
--- old/dovecot-2.0-pigeonhole-0.2.4/src/testsuite/testsuite-script.c 2011-09-11 11:27:14.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/src/testsuite/testsuite-script.c 2011-09-14 17:17:42.000000000 +0200
@@ -41,7 +41,6 @@
{
struct sieve_instance *svinst = testsuite_sieve_instance;
struct sieve_binary *sbin;
- const char *sieve_dir;
const char *script_path;
sieve_runtime_trace(renv, SIEVE_TRLVL_TESTS, "compile script `%s'", script);
@@ -51,7 +50,7 @@
return SIEVE_EXEC_FAILURE;
script_path = t_strconcat(script_path, "/", script, NULL);
-
+
if ( (sbin = sieve_compile(svinst, script_path, NULL, testsuite_log_ehandler,
NULL)) == NULL )
return NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/tests/extensions/body/content.svtest new/dovecot-2.0-pigeonhole-0.2.5/tests/extensions/body/content.svtest
--- old/dovecot-2.0-pigeonhole-0.2.4/tests/extensions/body/content.svtest 2011-04-16 22:15:51.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/tests/extensions/body/content.svtest 2011-10-01 11:34:26.000000000 +0200
@@ -204,7 +204,8 @@
Content-Type: message/rfc822
From: Someone Else
-Subject: hello request
+Subject: Hello, this is an elaborate request for you to finally say hello
+ already!
Please say Hello
@@ -313,6 +314,20 @@
* matches the :content specification.
*/
-/* FIXME */
+test "Content-Type: message/rfc822" {
+ if not body :content "message/rfc822" :contains
+ "From: Someone Else" {
+ test_fail "missed raw message/rfc822 from header";
+ }
+
+ if not body :content "message/rfc822" :is text:
+From: Someone Else
+Subject: Hello, this is an elaborate request for you to finally say hello
+ already!
+.
+ {
+ test_fail "header content does not match exactly";
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.0-pigeonhole-0.2.4/tests/extensions/vacation/message.svtest new/dovecot-2.0-pigeonhole-0.2.5/tests/extensions/vacation/message.svtest
--- old/dovecot-2.0-pigeonhole-0.2.4/tests/extensions/vacation/message.svtest 2011-04-16 22:15:51.000000000 +0200
+++ new/dovecot-2.0-pigeonhole-0.2.5/tests/extensions/vacation/message.svtest 2011-10-01 11:28:45.000000000 +0200
@@ -1,5 +1,7 @@
require "vnd.dovecot.testsuite";
require "vacation";
+require "variables";
+require "body";
test_set "message" text:
From: stephan@example.org
@@ -46,3 +48,43 @@
test_fail "in-reply-to header set incorrectly";
}
}
+
+test_result_reset;
+
+test_set "message" text:
+From: stephan@example.org
+Subject: frop
+References: <1234@local.machine.example> <3456@example.net>
+ <435444@ttms.example.org> <4223@froop.example.net>
+Message-ID: <432df324@example.org>
+To: nico@frop.example.org
+
+Frop
+.
+;
+
+test "Variables" {
+ set "message" "I am not in today!";
+ set "subject" "Out of office";
+ set "from" "user@example.com";
+
+ vacation :from "${from}" :subject "${subject}" "${message}";
+
+ if not test_result_execute {
+ test_fail "execution of result failed";
+ }
+
+ test_message :smtp 0;
+
+ if not header :contains "subject" "Out of office" {
+ test_fail "subject not set properly";
+ }
+
+ if not header :contains "from" "user@example.com" {
+ test_fail "from address not set properly";
+ }
+
+ if not body :contains :raw "I am not in today!" {
+ test_fail "message not set properly";
+ }
+}
++++++ dovecot-2.0-pigeonhole-0.2.4.tar.bz2 -> dovecot-2.0.16.tar.bz2 ++++++
++++ 601438 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org