[dbmail/el5/master] - v 2.2.16 - drop unneeded patches - spurious-imap-whitepatch patch - backport IMAP-ID patch - updat
Bernard Johnson
bjohnson at fedoraproject.org
Mon Aug 9 05:50:38 UTC 2010
commit ffaaa812f8ec8f8ef960e6697729c8c3e448f73d
Author: Bernard Johnson <bjohnson at symetrix.com>
Date: Sun Aug 8 23:11:52 2010 -0600
- v 2.2.16
- drop unneeded patches
- spurious-imap-whitepatch patch
- backport IMAP-ID patch
- update asciidocs patch
- imap append-speedup patch
- inverse pop3 list patch
.gitignore | 1 +
dbmail-2.2.15-clip-to-zero.patch | 27 ----
dbmail-2.2.15-long-running-iquery.patch | 79 ----------
dbmail-2.2.15-query-regression.patch | 25 ---
dbmail-2.2.15-stack-smash.patch | 27 ----
dbmail-2.2.16-backport-IMAP-ID.patch | 113 +++++++++++++
dbmail-2.2.16-imap-append-speedup.patch | 217 ++++++++++++++++++++++++++
dbmail-2.2.16-inverse-pop3-list.patch | 25 +++
dbmail-2.2.16-spurious-imap-whitespace.patch | 33 ++++
dbmail-2.2.16-update-asciidocs.patch | 57 +++++++
dbmail.spec | 34 +++--
sources | 2 +-
12 files changed, 471 insertions(+), 169 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index c9b4ee9..4d2e569 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
dbmail-2.2.15.tar.bz2
+dbmail-2.2.16.tar.bz2
diff --git a/dbmail-2.2.16-backport-IMAP-ID.patch b/dbmail-2.2.16-backport-IMAP-ID.patch
new file mode 100644
index 0000000..9e70c98
--- /dev/null
+++ b/dbmail-2.2.16-backport-IMAP-ID.patch
@@ -0,0 +1,113 @@
+From af691c9077fe81a0a6c90cc6a68ba06293ad22a6 Mon Sep 17 00:00:00 2001
+From: Paul J Stevens <paul at nfg.nl>
+Date: Sun, 27 Jun 2010 16:37:55 +0200
+Subject: [PATCH] backport IMAP-ID capability
+
+---
+ dbmail.h.in | 1 +
+ dbmailtypes.h | 1 +
+ imap4.c | 4 ++--
+ imap4.h | 2 +-
+ imapcommands.c | 13 +++++++++++++
+ imapcommands.h | 1 +
+ 6 files changed, 19 insertions(+), 3 deletions(-)
+
+diff --git a/dbmail.h.in b/dbmail.h.in
+index cec9f73..0c57126 100644
+--- a/dbmail.h.in
++++ b/dbmail.h.in
+@@ -69,6 +69,7 @@
+ #include <sys/wait.h>
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
++#include <sys/utsname.h>
+ #include <time.h>
+ #include <termios.h>
+ #include <unistd.h>
+diff --git a/dbmailtypes.h b/dbmailtypes.h
+index d85d3a0..2f64fc8 100644
+--- a/dbmailtypes.h
++++ b/dbmailtypes.h
+@@ -244,6 +244,7 @@ enum IMAP_COMMAND_TYPES {
+ IMAP_COMM_THREAD,
+ IMAP_COMM_UNSELECT,
+ IMAP_COMM_IDLE,
++ IMAP_COMM_ID,
+ IMAP_COMM_LAST
+ };
+
+diff --git a/imap4.c b/imap4.c
+index 2a6cf1a..4922fb0 100644
+--- a/imap4.c
++++ b/imap4.c
+@@ -39,7 +39,7 @@ const char *IMAP_COMMANDS[] = {
+ "check", "close", "expunge", "search", "fetch", "store", "copy",
+ "uid", "sort", "getquotaroot", "getquota",
+ "setacl", "deleteacl", "getacl", "listrights", "myrights",
+- "namespace","thread","unselect","idle",
++ "namespace","thread","unselect","idle","id",
+ "***NOMORE***"
+ };
+
+@@ -57,7 +57,7 @@ const IMAP_COMMAND_HANDLER imap_handler_functions[] = {
+ _ic_getquotaroot, _ic_getquota,
+ _ic_setacl, _ic_deleteacl, _ic_getacl, _ic_listrights,
+ _ic_myrights,
+- _ic_namespace, _ic_thread, _ic_unselect, _ic_idle,
++ _ic_namespace, _ic_thread, _ic_unselect, _ic_idle, _ic_id,
+ NULL
+ };
+
+diff --git a/imap4.h b/imap4.h
+index 3b87933..afefc26 100644
+--- a/imap4.h
++++ b/imap4.h
+@@ -28,7 +28,7 @@
+ #include "dbmail.h"
+
+ #define IMAP_SERVER_VERSION VERSION
+-#define IMAP_CAPABILITY_STRING "IMAP4 IMAP4rev1 AUTH=LOGIN ACL NAMESPACE CHILDREN SORT QUOTA THREAD=ORDEREDSUBJECT UNSELECT IDLE"
++#define IMAP_CAPABILITY_STRING "IMAP4 IMAP4rev1 AUTH=LOGIN ACL NAMESPACE CHILDREN SORT QUOTA THREAD=ORDEREDSUBJECT UNSELECT IDLE ID"
+ #define IMAP_TIMEOUT_MSG "* BYE dbmail IMAP4 server signing off due to timeout\r\n"
+
+ /* max number of BAD/NO responses */
+diff --git a/imapcommands.c b/imapcommands.c
+index e49abfd..c123b34 100644
+--- a/imapcommands.c
++++ b/imapcommands.c
+@@ -104,7 +104,20 @@ int _ic_noop(struct ImapSession *self)
+ return 0;
+ }
+
++int _ic_id(struct ImapSession *self)
++{
++ struct utsname buf;
++ imap_userdata_t *ud = (imap_userdata_t *) self->ci->userData;
++ if (!check_state_and_args(self, "ID", 0, 0, -1)) return 1; /* error, return */
++
++ memset(&buf, 0, sizeof(buf));
++ uname(&buf);
++ dbmail_imap_session_printf(self, "* ID (\"name\" \"dbmail\" \"version\" \"%s\""
++ " \"os\" \"%s\" \"os-version\" \"%s\")\r\n", DBMAIL_VERSION, &buf.sysname, &buf.release);
+
++ dbmail_imap_session_printf(self, "%s OK ID completed\r\n", self->tag);
++ return 0;
++}
+ /*
+ * _ic_logout()
+ *
+diff --git a/imapcommands.h b/imapcommands.h
+index 298a64a..06c8dac 100644
+--- a/imapcommands.h
++++ b/imapcommands.h
+@@ -33,6 +33,7 @@
+ /* any-state commands */
+ int _ic_capability(struct ImapSession *self);
+ int _ic_noop(struct ImapSession *self);
++int _ic_id(struct ImapSession *self);
+ int _ic_logout(struct ImapSession *self);
+
+ /* non-auth state commands */
+--
+1.7.0.2
+
diff --git a/dbmail-2.2.16-imap-append-speedup.patch b/dbmail-2.2.16-imap-append-speedup.patch
new file mode 100644
index 0000000..4fd3dec
--- /dev/null
+++ b/dbmail-2.2.16-imap-append-speedup.patch
@@ -0,0 +1,217 @@
+From 793da8e1a12fecbfbf3a7c0aebfe64e4e1eefdfd Mon Sep 17 00:00:00 2001
+From: Paul J Stevens <paul at nfg.nl>
+Date: Tue, 20 Jul 2010 12:03:50 +0200
+Subject: [PATCH] massive speedup in imap-append
+
+---
+ db.c | 10 ++++------
+ db.h | 2 +-
+ dbmail-imapsession.c | 28 ++++++++++++++++------------
+ dbmail-message.c | 6 +++---
+ pipe.c | 6 +++---
+ pipe.h | 3 ++-
+ 6 files changed, 29 insertions(+), 26 deletions(-)
+
+diff --git a/db.c b/db.c
+index d6fb3b7..9bf0dbe 100644
+--- a/db.c
++++ b/db.c
+@@ -1271,10 +1271,8 @@ int db_insert_message_block_physmessage(const char *block,
+ }
+
+ int db_insert_message_block(const char *block, u64_t block_size,
+- u64_t message_idnr, u64_t * messageblk_idnr, unsigned is_header)
++ u64_t message_idnr, u64_t *physmessage_id, u64_t * messageblk_idnr, unsigned is_header)
+ {
+- u64_t physmessage_id;
+-
+ assert(messageblk_idnr != NULL);
+ *messageblk_idnr = 0;
+ if (block == NULL) {
+@@ -1282,13 +1280,13 @@ int db_insert_message_block(const char *block, u64_t block_size,
+ return DM_EQUERY;
+ }
+
+- if (db_get_physmessage_id(message_idnr, &physmessage_id) == DM_EQUERY) {
++ if ((! *physmessage_id) && (db_get_physmessage_id(message_idnr, physmessage_id) == DM_EQUERY)) {
+ TRACE(TRACE_ERROR, "error getting physmessage_id");
+ return DM_EQUERY;
+ }
+
+- if (db_insert_message_block_physmessage
+- (block, block_size, physmessage_id, messageblk_idnr, is_header) < 0) {
++ assert(*physmessage_id > 0);
++ if (db_insert_message_block_physmessage(block, block_size, *physmessage_id, messageblk_idnr, is_header) < 0) {
+ TRACE(TRACE_ERROR, "error inserting messageblks for physmessage [%llu]",
+ physmessage_id);
+ return DM_EQUERY;
+diff --git a/db.h b/db.h
+index b5fdd6d..e30ad71 100644
+--- a/db.h
++++ b/db.h
+@@ -596,7 +596,7 @@ int db_insert_message_block_physmessage(const char *block,
+ * - 0 otherwise
+ */
+ int db_insert_message_block(const char *block, u64_t block_size,
+- u64_t message_idnr,
++ u64_t message_idnr, /*@out@*/ u64_t *physmessage_id,
+ /*@out@*/ u64_t * messageblock_idnr,
+ unsigned is_header);
+ /**
+diff --git a/dbmail-imapsession.c b/dbmail-imapsession.c
+index c7317e2..bfa7957 100644
+--- a/dbmail-imapsession.c
++++ b/dbmail-imapsession.c
+@@ -1540,18 +1540,18 @@ int dbmail_imap_session_discard_to_eol(struct ImapSession *self)
+ clientinfo_t *ci = self->ci;
+
+ /* loop until we get a newline terminated chunk */
++ alarm(self->timeout);
+ while (!done) {
+ memset(buffer, 0, MAX_LINESIZE);
+- alarm(self->timeout);
+ if (fgets(buffer, MAX_LINESIZE, ci->rx) == NULL) {
+- alarm(0);
+ TRACE(TRACE_ERROR, "error reading from client");
+- return -1;
++ len = -1;
++ break;
+ }
+ len = strlen(buffer);
+ if (len <= 0) {
+- alarm(0);
+- return -1;
++ len = -1;
++ break;
+ }
+
+ /* Do we need to check for \r\n ? */
+@@ -2449,11 +2449,14 @@ char **build_args_array_ext(struct ImapSession *self, const char *originalString
+
+ ci_write(ci->tx, "+ OK gimme that string\r\n");
+
++ /* dont wait forever */
++ alarm(self->timeout);
+ for (cnt = 0, dataidx = 0; cnt < quotedSize; cnt++) {
+- /* dont wait forever, but reset after every fgetc */
+- alarm(self->timeout);
+- if (! (gotc = fgetc(ci->rx)))
++ if (! (gotc = fgetc(ci->rx))) {
++ int serr = errno;
++ TRACE(TRACE_ERROR, "fgetc: [%s]", strerror(serr));
+ break;
++ }
+
+ if (gotc == '\r') /* only store if it is not \r */
+ continue;
+@@ -2462,6 +2465,7 @@ char **build_args_array_ext(struct ImapSession *self, const char *originalString
+ }
+
+ alarm(0);
++ TRACE(TRACE_DEBUG, "args[%d]: [%d/%d]", nargs, cnt, quotedSize);
+
+ self->args[nargs][dataidx] = '\0'; /* terminate string */
+ nargs++;
+@@ -2482,7 +2486,7 @@ char **build_args_array_ext(struct ImapSession *self, const char *originalString
+ TRACE(TRACE_ERROR, "client socket has set error indicator in fgetc");
+ return NULL;
+ }
+- /* now read the rest of this line */
++ // now read the rest of this line
+ result = dbmail_imap_session_readln(self, s);
+
+ if (result < 0){
+@@ -2494,9 +2498,9 @@ char **build_args_array_ext(struct ImapSession *self, const char *originalString
+ return NULL;
+ }
+
+- /* remove trailing \r\n */
++ // remove trailing \r\n
+ tmp = &s[strlen(s)];
+- tmp--; /* go before trailing \0; watch this with empty strings! */
++ tmp--; // go before trailing \0; watch this with empty strings!
+ while (tmp >= s && (*tmp == '\r' || *tmp == '\n')) {
+ *tmp = '\0';
+ tmp--;
+@@ -2504,7 +2508,7 @@ char **build_args_array_ext(struct ImapSession *self, const char *originalString
+
+ TRACE(TRACE_DEBUG, "got extra line [%s]", s);
+
+- /* start over! */
++ // start over!
+ i = 0;
+ continue;
+ }
+diff --git a/dbmail-message.c b/dbmail-message.c
+index e8ebe90..208fc11 100644
+--- a/dbmail-message.c
++++ b/dbmail-message.c
+@@ -793,7 +793,7 @@ struct DbmailMessage * dbmail_message_retrieve(struct DbmailMessage *self, u64_t
+ int dbmail_message_store(struct DbmailMessage *self)
+ {
+ u64_t user_idnr;
+- u64_t messageblk_idnr;
++ u64_t messageblk_idnr, physmessage_id = 0;
+ char unique_id[UID_SIZE];
+ char *hdrs, *body;
+ u64_t hdrs_size, body_size, rfcsize;
+@@ -829,7 +829,7 @@ int dbmail_message_store(struct DbmailMessage *self)
+
+ hdrs = dbmail_message_hdrs_to_string(self);
+ hdrs_size = (u64_t)dbmail_message_get_hdrs_size(self, FALSE);
+- if(db_insert_message_block(hdrs, hdrs_size, self->id, &messageblk_idnr,1) < 0) {
++ if(db_insert_message_block(hdrs, hdrs_size, self->id, &physmessage_id, &messageblk_idnr,1) < 0) {
+ g_free(hdrs);
+ return -1;
+ }
+@@ -838,7 +838,7 @@ int dbmail_message_store(struct DbmailMessage *self)
+ /* store body in several blocks (if needed */
+ body = dbmail_message_body_to_string(self);
+ body_size = (u64_t)dbmail_message_get_body_size(self, FALSE);
+- if (store_message_in_blocks(body, body_size, self->id) < 0) {
++ if (store_message_in_blocks(body, body_size, self->id, physmessage_id) < 0) {
+ g_free(body);
+ return -1;
+ }
+diff --git a/pipe.c b/pipe.c
+index bd127fb..03f3c5d 100644
+--- a/pipe.c
++++ b/pipe.c
+@@ -502,7 +502,7 @@ static int execute_auto_ran(struct DbmailMessage *message, u64_t useridnr)
+
+
+ int store_message_in_blocks(const char *message, u64_t message_size,
+- u64_t msgidnr)
++ u64_t msgidnr, u64_t physmsg_id)
+ {
+ u64_t tmp_messageblk_idnr;
+ u64_t rest_size = message_size;
+@@ -516,9 +516,9 @@ int store_message_in_blocks(const char *message, u64_t message_size,
+ rest_size : READ_BLOCK_SIZE);
+ rest_size = (rest_size < READ_BLOCK_SIZE ?
+ 0 : rest_size - READ_BLOCK_SIZE);
+- TRACE(TRACE_DEBUG, "inserting message [%s]", &message[offset]);
++ TRACE(TRACE_DEBUG, "inserting message: size [%llu] block[%d]", message_size, block_nr);
+ if (db_insert_message_block(&message[offset],
+- block_size, msgidnr,
++ block_size, msgidnr, &physmsg_id,
+ &tmp_messageblk_idnr,0) < 0) {
+ TRACE(TRACE_ERROR, "db_insert_message_block() failed");
+ return -1;
+diff --git a/pipe.h b/pipe.h
+index f433f88..ef7806f 100644
+--- a/pipe.h
++++ b/pipe.h
+@@ -41,7 +41,8 @@ int insert_messages(struct DbmailMessage *message, struct dm_list *dsnusers);
+ */
+ int store_message_in_blocks(const char* message,
+ u64_t message_size,
+- u64_t msgidnr);
++ u64_t msgidnr,
++ u64_t physmsg_id);
+
+ int send_vacation(struct DbmailMessage *message,
+ const char *to, const char *from,
+--
+1.7.0.2
+
diff --git a/dbmail-2.2.16-inverse-pop3-list.patch b/dbmail-2.2.16-inverse-pop3-list.patch
new file mode 100644
index 0000000..adb6bbe
--- /dev/null
+++ b/dbmail-2.2.16-inverse-pop3-list.patch
@@ -0,0 +1,25 @@
+From 623d37f808dbe3db542f83a57aff96ceb4e0395e Mon Sep 17 00:00:00 2001
+From: Paul J Stevens <paul at nfg.nl>
+Date: Mon, 2 Aug 2010 16:10:16 +0200
+Subject: [PATCH] inverse list returned by pop3 list
+
+---
+ db.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/db.c b/db.c
+index 9bf0dbe..ce6dadd 100644
+--- a/db.c
++++ b/db.c
+@@ -2329,7 +2329,7 @@ int db_createsession(u64_t user_idnr, PopSession_t * session_ptr)
+ "WHERE msg.mailbox_idnr = %llu "
+ "AND msg.status < %d "
+ "AND msg.physmessage_id = pm.id "
+- "ORDER BY msg.message_idnr ASC",DBPFX,DBPFX,
++ "ORDER BY msg.message_idnr DESC",DBPFX,DBPFX,
+ mailbox_idnr, MESSAGE_STATUS_DELETE);
+
+ if (db_query(query) == -1) {
+--
+1.7.0.2
+
diff --git a/dbmail-2.2.16-spurious-imap-whitespace.patch b/dbmail-2.2.16-spurious-imap-whitespace.patch
new file mode 100644
index 0000000..a3411ea
--- /dev/null
+++ b/dbmail-2.2.16-spurious-imap-whitespace.patch
@@ -0,0 +1,33 @@
+From 5bd79e0c0e02fb5c562604d3421f483557a50604 Mon Sep 17 00:00:00 2001
+From: Paul J Stevens <paul at nfg.nl>
+Date: Wed, 23 Jun 2010 13:40:30 +0200
+Subject: [PATCH] remove spurious whitespace in imap response (#849)
+
+---
+ dbmail-imapsession.c | 3 +--
+ 1 files changed, 1 insertions(+), 2 deletions(-)
+
+diff --git a/dbmail-imapsession.c b/dbmail-imapsession.c
+index e8afc47..c7317e2 100644
+--- a/dbmail-imapsession.c
++++ b/dbmail-imapsession.c
+@@ -958,7 +958,7 @@ static int _fetch_get_items(struct ImapSession *self, u64_t *uid)
+ flag be set! */
+ result = acl_has_right(&ud->mailbox, ud->userid, ACL_RIGHT_SEEN);
+ if (result == -1) {
+- dbmail_imap_session_buff_append(self, "\r\n *BYE internal dbase error\r\n");
++ dbmail_imap_session_buff_append(self, "\r\n* BYE internal dbase error\r\n");
+ return -1;
+ }
+
+@@ -971,7 +971,6 @@ static int _fetch_get_items(struct ImapSession *self, u64_t *uid)
+ }
+
+ self->fi->getFlags = 1;
+- dbmail_imap_session_buff_append(self, " ");
+ }
+
+ dbmail_imap_session_buff_append(self, ")\r\n");
+--
+1.7.0.2
+
diff --git a/dbmail-2.2.16-update-asciidocs.patch b/dbmail-2.2.16-update-asciidocs.patch
new file mode 100644
index 0000000..4846568
--- /dev/null
+++ b/dbmail-2.2.16-update-asciidocs.patch
@@ -0,0 +1,57 @@
+From e21d676f98ec7512fa8a17edc8fe4e29fdffb2d2 Mon Sep 17 00:00:00 2001
+From: Paul J Stevens <paul at nfg.nl>
+Date: Sun, 27 Jun 2010 16:38:58 +0200
+Subject: [PATCH] update for asciidocs
+
+---
+ man/dbmail-sievecmd.txt | 4 ++--
+ man/dbmail-smtp.txt | 2 +-
+ man/dbmail-users.txt | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/man/dbmail-sievecmd.txt b/man/dbmail-sievecmd.txt
+index 624442e..7e152a3 100644
+--- a/man/dbmail-sievecmd.txt
++++ b/man/dbmail-sievecmd.txt
+@@ -9,8 +9,8 @@ dbmail-sievecmd - manipulates Sieve scripts in the DBMail database.
+ SYNOPSIS
+ --------
+ dbmail-sievecmd -u username [-l] [-a scriptname] [-d scriptname]
+-[-i scriptname file] [-c [scriptname]] [-e [scriptname]] [-r scriptname]
+-[-f configfile] [-nvVh]
++ [-i scriptname file] [-c [scriptname]] [-e [scriptname]] [-r scriptname]
++ [-f configfile] [-nvVh]
+
+ DESCRIPTION
+ -----------
+diff --git a/man/dbmail-smtp.txt b/man/dbmail-smtp.txt
+index 165b431..e3728e8 100644
+--- a/man/dbmail-smtp.txt
++++ b/man/dbmail-smtp.txt
+@@ -9,7 +9,7 @@ dbmail-smtp - inserts messages into the DBMail mailsystem.
+ SYNOPSIS
+ --------
+ dbmail-smtp [-t headerfield] [-d addresses] [-u usernames] [-m|-M mailboxname]
+-[-r return path] [-f configFile]
++ [-r return path] [-f configFile]
+
+ DESCRIPTION
+ -----------
+diff --git a/man/dbmail-users.txt b/man/dbmail-users.txt
+index f8b2ca3..3ced9be 100644
+--- a/man/dbmail-users.txt
++++ b/man/dbmail-users.txt
+@@ -9,8 +9,8 @@ dbmail-users - manages the DBMail user database.
+ SYNOPSIS
+ --------
+ dbmail-users { -a username | -c username } [ -g clientid ] [ -m maxmail]
+-[ -p passwordtype ] [ -P shadowfile ] [ -w password ] [ -W passwordfile]
+-[ -u username ] [ -s aliases ] [ -S aliases ]
++ [ -p passwordtype ] [ -P shadowfile ] [ -w password ] [ -W passwordfile]
++ [ -u username ] [ -s aliases ] [ -S aliases ]
+
+ dbmail-users { -d username | -e username }
+
+--
+1.7.0.2
+
diff --git a/dbmail.spec b/dbmail.spec
index 4ce9bc8..2dd19b3 100644
--- a/dbmail.spec
+++ b/dbmail.spec
@@ -9,8 +9,8 @@
%define services dbmail-imapd dbmail-pop3d dbmail-lmtpd dbmail-timsieved
Name: dbmail
-Version: 2.2.15
-Release: 2%{?dist}
+Version: 2.2.16
+Release: 1%{?dist}
Summary: A database backed mail storage system
Group: System Environment/Daemons
@@ -33,10 +33,12 @@ Source7: README.fedora
# be reintroduced.
Patch0: dbmail-2.2.14-glib2-version.patch
Patch1: dbmail-2.2.14-reverse-md5-implementation.patch
-Patch2: dbmail-2.2.15-clip-to-zero.patch
-Patch3: dbmail-2.2.15-query-regression.patch
-Patch4: dbmail-2.2.15-stack-smash.patch
-Patch5: dbmail-2.2.15-long-running-iquery.patch
+
+Patch2: dbmail-2.2.16-spurious-imap-whitespace.patch
+Patch3: dbmail-2.2.16-backport-IMAP-ID.patch
+Patch4: dbmail-2.2.16-update-asciidocs.patch
+Patch5: dbmail-2.2.16-imap-append-speedup.patch
+Patch6: dbmail-2.2.16-inverse-pop3-list.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -52,6 +54,8 @@ BuildRequires: libsieve-devel >= 2.1.13
BuildRequires: mysql-devel >= 4.1.3, postgresql-devel
BuildRequires: openldap-devel
BuildRequires: sqlite-devel >= 3
+# Required by dbmail-2.2.16-update-asciidocs.patch
+BuildRequires: asciidoc, xmlto
Requires: glib2 >= 2.8, logrotate, initscripts, vixie-cron
Requires: initscripts
@@ -83,10 +87,11 @@ installation and configuration in Fedora.
# Note the use of -R to reverse this patch
%patch1 -R -p1 -b .md5-implementation
%endif
-%patch2 -p1 -b .clip-to-zero
-%patch3 -p1 -b .query-regression
-%patch4 -p1 -b .stack-smash
-%patch5 -p1 -b .long-running-iquery
+%patch2 -p1 -b .spurious-imap-whitespace
+%patch3 -p1 -b .backport-IMAP-ID
+%patch4 -p1 -b .update-asciidocs
+%patch5 -p1 -b .imap-append-speedup
+%patch6 -p1 -b .inverse-pop3-list
# we don't need README.solaris and we don't want it caught up in the %%doc
# README* wildcard - but we do want our shiny new README.fedora file to be
@@ -247,6 +252,15 @@ This is the postgresql libraries for dbmail.
%{_libdir}/dbmail/libpgsql*
%changelog
+* Sun Aug 08 2010 Bernard Johnson <bjohnson at symetrix.com> - 2.2.16-1
+- v 2.2.16
+- drop unneeded patches
+- spurious-imap-whitepatch patch
+- backport IMAP-ID patch
+- update asciidocs patch
+- imap append-speedup patch
+- inverse pop3 list patch
+
* Fri Apr 16 2010 Bernard Johnson <bjohnson at symetrix.com> - 2.2.15-2
- clip to zero patch
- query regression patch
diff --git a/sources b/sources
index 6c6e3c1..c3e2cc2 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-5ba5b8ad58db359e29b4397c19e8fb48 dbmail-2.2.15.tar.bz2
+53a85a2b47d544988e2f9bc17b173f2e dbmail-2.2.16.tar.bz2
More information about the scm-commits
mailing list