maintenance update to Dovecot 1.1.12 plus a couple of post-release
patches from the upstream repo - from Brad (maintainer).
This commit is contained in:
parent
6cae88a649
commit
e2d1eb49cb
@ -1,4 +1,4 @@
|
||||
# $OpenBSD: Makefile,v 1.115 2009/02/14 10:27:58 sthen Exp $
|
||||
# $OpenBSD: Makefile,v 1.116 2009/03/17 09:09:10 sthen Exp $
|
||||
|
||||
SHARED_ONLY= Yes
|
||||
|
||||
@ -6,12 +6,12 @@ COMMENT-server= compact IMAP/POP3 server
|
||||
COMMENT-sieve= Sieve mail filtering for Dovecot
|
||||
|
||||
V_MAJOR= 1.1
|
||||
V_DOVECOT= 1.1.11
|
||||
V_DOVECOT= 1.1.12
|
||||
V_SIEVE= 1.1.6
|
||||
|
||||
PKGNAME= dovecot-${V_DOVECOT}
|
||||
PKGNAME-server= dovecot-${V_DOVECOT}p1
|
||||
FULLPKGNAME-sieve= dovecot-sieve-${V_SIEVE}p2
|
||||
PKGNAME-server= dovecot-${V_DOVECOT}
|
||||
FULLPKGNAME-sieve= dovecot-sieve-${V_SIEVE}p3
|
||||
|
||||
DISTNAME= dovecot-${V_DOVECOT}
|
||||
CATEGORIES= mail
|
||||
|
@ -1,10 +1,10 @@
|
||||
MD5 (dovecot-1.1.11.tar.gz) = yXPrQaynn7FmMKFvDYT3ZQ==
|
||||
MD5 (dovecot-1.1.12.tar.gz) = kgXt9wrGMUNDzE0Yk5L/rw==
|
||||
MD5 (dovecot-sieve-1.1.6.tar.gz) = es89mJdKUVuGit29tzBU6w==
|
||||
RMD160 (dovecot-1.1.11.tar.gz) = dNIzx5ld+JqRfUny8zLv4P4rHdM=
|
||||
RMD160 (dovecot-1.1.12.tar.gz) = SRorz8ADGuVoWBJ4xiRsGY2kF08=
|
||||
RMD160 (dovecot-sieve-1.1.6.tar.gz) = 7W913B/9sOxR7PN4aqcQkoUSifU=
|
||||
SHA1 (dovecot-1.1.11.tar.gz) = zH+0TTp1DGVtbCEWtWm1WHMZ1AU=
|
||||
SHA1 (dovecot-1.1.12.tar.gz) = 7ETzEbF3mV5tqMoqJ7o4YKkl0vU=
|
||||
SHA1 (dovecot-sieve-1.1.6.tar.gz) = wQnuirHH/+znlA+y43EEuveERA4=
|
||||
SHA256 (dovecot-1.1.11.tar.gz) = 03+iUSGVWYQRUeEroABWXaa5mfSIJ9tr7uYShl96WjQ=
|
||||
SHA256 (dovecot-1.1.12.tar.gz) = STSNKcd2ZVg8Ol6cDtvvozsP4d0ea7jDmFLNZJ01QRo=
|
||||
SHA256 (dovecot-sieve-1.1.6.tar.gz) = ohMKjn1zK7NBqWqWoktN22aDThFlc6EMF+aDRP5xKzY=
|
||||
SIZE (dovecot-1.1.11.tar.gz) = 2362415
|
||||
SIZE (dovecot-1.1.12.tar.gz) = 2368733
|
||||
SIZE (dovecot-sieve-1.1.6.tar.gz) = 470071
|
||||
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-configure_in,v 1.16 2009/01/26 14:47:02 sthen Exp $
|
||||
--- configure.in.orig Thu Jan 15 18:02:47 2009
|
||||
+++ configure.in Fri Jan 16 14:55:25 2009
|
||||
$OpenBSD: patch-configure_in,v 1.17 2009/03/17 09:09:10 sthen Exp $
|
||||
--- configure.in.orig Thu Mar 12 17:47:10 2009
|
||||
+++ configure.in Thu Mar 12 18:50:02 2009
|
||||
@@ -13,6 +13,7 @@ AC_PROG_CXX # lucene plugin needs this
|
||||
AC_HEADER_STDC
|
||||
AC_C_INLINE
|
||||
@ -9,7 +9,7 @@ $OpenBSD: patch-configure_in,v 1.16 2009/01/26 14:47:02 sthen Exp $
|
||||
AM_ICONV
|
||||
|
||||
AC_CHECK_HEADERS(strings.h stdint.h unistd.h dirent.h malloc.h inttypes.h \
|
||||
@@ -1797,74 +1798,15 @@ fi
|
||||
@@ -1809,74 +1810,15 @@ fi
|
||||
|
||||
have_gssapi=no
|
||||
if test $want_gssapi != no; then
|
||||
|
@ -1,38 +0,0 @@
|
||||
$OpenBSD: patch-src_lib-index_mail-index-view_c,v 1.1 2009/02/08 14:54:21 sthen Exp $
|
||||
--- src/lib-index/mail-index-view.c.orig Thu Jan 15 15:09:54 2009
|
||||
+++ src/lib-index/mail-index-view.c Sat Feb 7 12:44:21 2009
|
||||
@@ -304,26 +304,27 @@ static void view_lookup_first(struct mail_index_view *
|
||||
{
|
||||
#define LOW_UPDATE(x) \
|
||||
STMT_START { if ((x) > low_uid) low_uid = x; } STMT_END
|
||||
+ const struct mail_index_header *hdr = &view->map->hdr;
|
||||
const struct mail_index_record *rec;
|
||||
- uint32_t seq, low_uid = 1;
|
||||
+ uint32_t seq, seq2, low_uid = 1;
|
||||
|
||||
*seq_r = 0;
|
||||
|
||||
if ((flags_mask & MAIL_SEEN) != 0 && (flags & MAIL_SEEN) == 0)
|
||||
- LOW_UPDATE(view->map->hdr.first_unseen_uid_lowwater);
|
||||
+ LOW_UPDATE(hdr->first_unseen_uid_lowwater);
|
||||
if ((flags_mask & MAIL_DELETED) != 0 && (flags & MAIL_DELETED) != 0)
|
||||
- LOW_UPDATE(view->map->hdr.first_deleted_uid_lowwater);
|
||||
+ LOW_UPDATE(hdr->first_deleted_uid_lowwater);
|
||||
|
||||
if (low_uid == 1)
|
||||
seq = 1;
|
||||
else {
|
||||
- if (!mail_index_lookup_seq(view, low_uid, &seq))
|
||||
+ if (!mail_index_lookup_seq_range(view, low_uid, hdr->next_uid,
|
||||
+ &seq, &seq2))
|
||||
return;
|
||||
}
|
||||
|
||||
- i_assert(view->map->hdr.messages_count <=
|
||||
- view->map->rec_map->records_count);
|
||||
- for (; seq <= view->map->hdr.messages_count; seq++) {
|
||||
+ i_assert(hdr->messages_count <= view->map->rec_map->records_count);
|
||||
+ for (; seq <= hdr->messages_count; seq++) {
|
||||
rec = MAIL_INDEX_MAP_IDX(view->map, seq-1);
|
||||
if ((rec->flags & flags_mask) == (uint8_t)flags) {
|
||||
*seq_r = seq;
|
@ -1,22 +0,0 @@
|
||||
$OpenBSD: patch-src_lib-storage_index_maildir_maildir-mail_c,v 1.1 2009/02/14 10:27:58 sthen Exp $
|
||||
--- src/lib-storage/index/maildir/maildir-mail.c.orig Tue Jan 6 09:33:51 2009
|
||||
+++ src/lib-storage/index/maildir/maildir-mail.c Fri Feb 13 17:48:55 2009
|
||||
@@ -485,8 +485,16 @@ static void maildir_mail_set_cache_corrupted(struct ma
|
||||
_mail->uid, &flags);
|
||||
if (maildir_filename_get_size(fname, MAILDIR_EXTRA_VIRTUAL_SIZE,
|
||||
&size)) {
|
||||
- i_error("Maildir filename has wrong W value: %s/%s",
|
||||
- mbox->path, fname);
|
||||
+ const char *subdir =
|
||||
+ (flags & MAILDIR_UIDLIST_REC_FLAG_NEW_DIR) != 0 ?
|
||||
+ "new" : "cur";
|
||||
+ mail_storage_set_critical(_mail->box->storage,
|
||||
+ "Maildir filename has wrong W= value, "
|
||||
+ "can't fix it automatically: %s/%s/%s",
|
||||
+ mbox->path, subdir, fname);
|
||||
+ /* don't bother setting cache corrupted since it
|
||||
+ doesn't fix anything. */
|
||||
+ return;
|
||||
} else if (maildir_uidlist_lookup_ext(mbox->uidlist, _mail->uid,
|
||||
MAILDIR_UIDLIST_REC_EXT_VSIZE) != NULL) {
|
||||
maildir_uidlist_set_ext(mbox->uidlist, _mail->uid,
|
@ -1,12 +0,0 @@
|
||||
$OpenBSD: patch-src_lib-storage_index_maildir_maildir-sync-index_c,v 1.1 2009/02/08 14:54:21 sthen Exp $
|
||||
--- src/lib-storage/index/maildir/maildir-sync-index.c.orig Thu Feb 5 16:19:12 2009
|
||||
+++ src/lib-storage/index/maildir/maildir-sync-index.c Thu Feb 5 16:19:48 2009
|
||||
@@ -336,7 +336,7 @@ maildir_sync_mail_keywords(struct maildir_index_sync_c
|
||||
ones. we can get these lists easily by removing common elements
|
||||
from old and new keywords. */
|
||||
new_indexes = array_get_modifiable(&ctx->keywords, &new_count);
|
||||
- for (i = 0; i < old_count && j < new_count; ) {
|
||||
+ for (i = j = 0; i < old_count && j < new_count; ) {
|
||||
diff = (int)old_indexes[i] - (int)new_indexes[j];
|
||||
if (diff == 0) {
|
||||
array_delete(&ctx->keywords, j, 1);
|
@ -0,0 +1,27 @@
|
||||
$OpenBSD: patch-src_lib-storage_index_mbox_mbox-lock_c,v 1.1 2009/03/17 09:09:10 sthen Exp $
|
||||
--- src/lib-storage/index/mbox/mbox-lock.c.orig Mon Mar 16 14:38:42 2009
|
||||
+++ src/lib-storage/index/mbox/mbox-lock.c Mon Mar 16 14:40:41 2009
|
||||
@@ -325,20 +325,9 @@ static int mbox_dotlock_privileged_op(struct mbox_mail
|
||||
mbox->mbox_used_privileges = FALSE;
|
||||
break;
|
||||
case MBOX_DOTLOCK_OP_TOUCH:
|
||||
- if (!file_dotlock_is_locked(mbox->mbox_dotlock)) {
|
||||
- if (file_dotlock_delete(&mbox->mbox_dotlock) < 0) {
|
||||
- mbox_set_syscall_error(mbox,
|
||||
- "file_dotlock_delete()");
|
||||
- }
|
||||
- mbox->mbox_used_privileges = TRUE;
|
||||
- ret = -1;
|
||||
- } else {
|
||||
- ret = file_dotlock_touch(mbox->mbox_dotlock);
|
||||
- if (ret < 0) {
|
||||
- mbox_set_syscall_error(mbox,
|
||||
- "file_dotlock_touch()");
|
||||
- }
|
||||
- }
|
||||
+ ret = file_dotlock_touch(mbox->mbox_dotlock);
|
||||
+ if (ret < 0)
|
||||
+ mbox_set_syscall_error(mbox, "file_dotlock_touch()");
|
||||
break;
|
||||
}
|
||||
|
@ -1,37 +0,0 @@
|
||||
$OpenBSD: patch-src_lib_istream-tee_c,v 1.1 2009/02/08 14:54:21 sthen Exp $
|
||||
--- src/lib/istream-tee.c.orig Thu Feb 5 16:21:43 2009
|
||||
+++ src/lib/istream-tee.c Thu Feb 5 16:24:20 2009
|
||||
@@ -112,12 +112,20 @@ static ssize_t i_stream_tee_read(struct istream_privat
|
||||
uoff_t last_high_offset;
|
||||
ssize_t ret;
|
||||
|
||||
+ if (stream->buffer == NULL) {
|
||||
+ /* initial read */
|
||||
+ tee_streams_update_buffer(tstream->tee);
|
||||
+ }
|
||||
data = i_stream_get_data(input, &size);
|
||||
|
||||
+ /* last_high_offset contains how far we have read this child tee stream
|
||||
+ so far. input->v_offset + size contains how much is available in
|
||||
+ the parent stream without having to read more. */
|
||||
last_high_offset = stream->istream.v_offset +
|
||||
- (tstream->istream.pos - tstream->istream.skip);
|
||||
+ (stream->pos - stream->skip);
|
||||
i_assert(last_high_offset <= input->v_offset + size);
|
||||
if (last_high_offset == input->v_offset + size) {
|
||||
+ /* we've read everything, need to read more */
|
||||
tee_streams_skip(tstream->tee);
|
||||
ret = i_stream_read(input);
|
||||
if (ret <= 0) {
|
||||
@@ -133,9 +141,9 @@ static ssize_t i_stream_tee_read(struct istream_privat
|
||||
}
|
||||
tee_streams_update_buffer(tstream->tee);
|
||||
data = i_stream_get_data(input, &size);
|
||||
- } else if (stream->buffer == NULL) {
|
||||
- tee_streams_update_buffer(tstream->tee);
|
||||
} else {
|
||||
+ /* there's still some data available from parent */
|
||||
+ i_assert(stream->pos < size);
|
||||
stream->buffer = data;
|
||||
}
|
||||
|
@ -1,14 +0,0 @@
|
||||
$OpenBSD: patch-src_lib_istream_c,v 1.1 2009/02/08 14:54:21 sthen Exp $
|
||||
--- src/lib/istream.c.orig Thu Feb 5 16:24:58 2009
|
||||
+++ src/lib/istream.c Thu Feb 5 16:25:44 2009
|
||||
@@ -92,6 +92,10 @@ ssize_t i_stream_read(struct istream *stream)
|
||||
case 0:
|
||||
i_assert(!stream->blocking);
|
||||
break;
|
||||
+ default:
|
||||
+ i_assert(ret > 0);
|
||||
+ i_assert((size_t)ret <= _stream->pos - _stream->skip);
|
||||
+ break;
|
||||
}
|
||||
return ret;
|
||||
}
|
18
mail/dovecot/patches/patch-src_master_master-settings_c
Normal file
18
mail/dovecot/patches/patch-src_master_master-settings_c
Normal file
@ -0,0 +1,18 @@
|
||||
$OpenBSD: patch-src_master_master-settings_c,v 1.8 2009/03/17 09:09:10 sthen Exp $
|
||||
--- src/master/master-settings.c.orig Mon Mar 16 14:41:23 2009
|
||||
+++ src/master/master-settings.c Mon Mar 16 14:43:01 2009
|
||||
@@ -908,10 +908,12 @@ static bool login_want_core_dumps(struct settings *set
|
||||
{
|
||||
const char *p;
|
||||
|
||||
- p = strstr(set->server->pop3->login_executable, " -D");
|
||||
+ p = set->server->pop3 == NULL ? NULL :
|
||||
+ strstr(set->server->pop3->login_executable, " -D");
|
||||
if (p != NULL && p[3] == '\0')
|
||||
return TRUE;
|
||||
- p = strstr(set->server->imap->login_executable, " -D");
|
||||
+ p = set->server->imap == NULL ? NULL :
|
||||
+ strstr(set->server->imap->login_executable, " -D");
|
||||
if (p != NULL && p[3] == '\0')
|
||||
return TRUE;
|
||||
return FALSE;
|
Loading…
x
Reference in New Issue
Block a user