rpms/dovecot/devel dovecot-a744ae38a9e1.patch, NONE, 1.1 .cvsignore, 1.28, 1.29 dovecot.spec, 1.80, 1.81 sources, 1.29, 1.30
Tomas Janousek (tjanouse)
fedora-extras-commits at redhat.com
Wed Jul 25 11:02:42 UTC 2007
Author: tjanouse
Update of /cvs/pkgs/rpms/dovecot/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11271
Modified Files:
.cvsignore dovecot.spec sources
Added Files:
dovecot-a744ae38a9e1.patch
Log Message:
* Wed Jul 25 2007 Tomas Janousek <tjanouse at redhat.com> - 1.1-14.6.hg.a744ae38a9e1
- update to a744ae38a9e1 from hg
- update dovecot-sieve to 131e25f6862b from hg and enable it again
dovecot-a744ae38a9e1.patch:
--- NEW FILE dovecot-a744ae38a9e1.patch ---
diff --git a/NEWS b/NEWS
index 2251856..954db2b 100644
--- a/NEWS
+++ b/NEWS
@@ -15,7 +15,7 @@ v1.1.UNSTABLE
It's similar to REFERENCES, but it doesn't do base subject merging
and it sorts the threads by their newest message.
+ When saving messages, update cache file immediately with the data
- that we expect client to fetch later. Maildir-only currently.
+ that we expect client to fetch later.
+ NFS attribute and data caches are are flushed whenever needed.
See mail_nfs_storage and mail_nfs_index settings.
+ Mailbox list indexes. Mailbox metadata is stored there, so STATUS
diff --git a/configure.in b/configure.in
index 156e9d7..3f93ca6 100644
--- a/configure.in
+++ b/configure.in
@@ -82,7 +82,7 @@ AC_ARG_WITH(passwd,
fi,
want_passwd=yes)
-AC_ARG_WITH(passwd,
+AC_ARG_WITH(nss,
[ --with-nss Build with NSS module support (default)],
if test x$withval = xno; then
want_nss=no
diff --git a/doc/dovecot-ldap-example.conf b/doc/dovecot-ldap-example.conf
index 334ae8f..62ec866 100644
--- a/doc/dovecot-ldap-example.conf
+++ b/doc/dovecot-ldap-example.conf
@@ -106,7 +106,8 @@ base = uid=someone, dc=foo, dc=bar, dc=org
# userdb prefetch instead of userdb ldap in dovecot.conf. In that case you'll
# also have to include user_attrs in pass_attrs field prefixed with "userdb_"
# string. For example:
-#pass_attrs = uid=user,userPassword=password,homeDirectory=userdb_home,uidNumber=userdb_uid,gidNumber=userdb_gid
+#pass_attrs = uid=user,userPassword=password,\
+# homeDirectory=userdb_home,uidNumber=userdb_uid,gidNumber=userdb_gid
# Filter for password lookups
#pass_filter = (&(objectClass=posixAccount)(uid=%u))
diff --git a/doc/dovecot-sql-example.conf b/doc/dovecot-sql-example.conf
index bfc4b82..55fc998 100644
--- a/doc/dovecot-sql-example.conf
+++ b/doc/dovecot-sql-example.conf
@@ -88,7 +88,9 @@
# password_query = SELECT concat(userid, '@', domain) AS user, password FROM users WHERE userid = '%n' AND domain = '%d'
# password_query = SELECT pw AS password FROM users WHERE userid = '%u' AND active = 'Y'
#
-#password_query = SELECT userid as user, password FROM users WHERE userid = '%u'
+#password_query = \
+# SELECT userid as user, password \
+# FROM users WHERE userid = '%u'
# Query to retrieve the user information.
#
@@ -114,4 +116,7 @@
# userdb prefetch instead of userdb sql in dovecot.conf. In that case you'll
# also have to return userdb fields in password_query prefixed with "userdb_"
# string. For example:
-#password_query = SELECT userid as user, password, home as userdb_home, uid as userdb_uid, gid as userdb_gid FROM users WHERE userid = '%u'
+#password_query = \
+# SELECT userid as user, password, \
+# home as userdb_home, uid as userdb_uid, gid as userdb_gid \
+# FROM users WHERE userid = '%u'
diff --git a/src/auth/auth-client-connection.c b/src/auth/auth-client-connection.c
index d596854..e913a2e 100644
--- a/src/auth/auth-client-connection.c
+++ b/src/auth/auth-client-connection.c
@@ -275,10 +275,9 @@ auth_client_connection_create(struct auth_master_listener *listener, int fd)
conn->fd = fd;
conn->input =
- i_stream_create_file(fd, default_pool,
- AUTH_CLIENT_MAX_LINE_LENGTH, FALSE);
+ i_stream_create_file(fd, AUTH_CLIENT_MAX_LINE_LENGTH, FALSE);
conn->output =
- o_stream_create_file(fd, default_pool, (size_t)-1, FALSE);
+ o_stream_create_file(fd, (size_t)-1, FALSE);
o_stream_set_flush_callback(conn->output, auth_client_output, conn);
conn->io = io_add(fd, IO_READ, auth_client_input, conn);
diff --git a/src/auth/auth-master-connection.c b/src/auth/auth-master-connection.c
index d18c70e..ddfe029 100644
--- a/src/auth/auth-master-connection.c
+++ b/src/auth/auth-master-connection.c
@@ -242,10 +242,8 @@ auth_master_connection_create(struct auth_master_listener *listener, int fd)
conn->listener = listener;
conn->refcount = 1;
conn->fd = fd;
- conn->input = i_stream_create_file(fd, default_pool,
- MAX_INBUF_SIZE, FALSE);
- conn->output = o_stream_create_file(fd, default_pool,
- (size_t)-1, FALSE);
+ conn->input = i_stream_create_file(fd, MAX_INBUF_SIZE, FALSE);
+ conn->output = o_stream_create_file(fd, (size_t)-1, FALSE);
o_stream_set_flush_callback(conn->output, master_output, conn);
conn->io = io_add(fd, IO_READ, master_input, conn);
diff --git a/src/auth/auth-worker-client.c b/src/auth/auth-worker-client.c
index 2fca127..58ba197 100644
--- a/src/auth/auth-worker-client.c
+++ b/src/auth/auth-worker-client.c
@@ -468,10 +468,9 @@ auth_worker_client_create(struct auth *auth, int fd)
client->auth = auth;
client->fd = fd;
client->input =
- i_stream_create_file(fd, default_pool,
- AUTH_WORKER_MAX_LINE_LENGTH, FALSE);
+ i_stream_create_file(fd, AUTH_WORKER_MAX_LINE_LENGTH, FALSE);
client->output =
- o_stream_create_file(fd, default_pool, (size_t)-1, FALSE);
+ o_stream_create_file(fd, (size_t)-1, FALSE);
o_stream_set_flush_callback(client->output, auth_worker_output, client);
client->io = io_add(fd, IO_READ, auth_worker_input, client);
diff --git a/src/auth/auth-worker-server.c b/src/auth/auth-worker-server.c
index 537650b..b36c61e 100644
--- a/src/auth/auth-worker-server.c
+++ b/src/auth/auth-worker-server.c
@@ -79,10 +79,9 @@ static struct auth_worker_connection *auth_worker_create(void)
conn = i_new(struct auth_worker_connection, 1);
conn->fd = fd;
- conn->input = i_stream_create_file(fd, default_pool,
- AUTH_WORKER_MAX_LINE_LENGTH, FALSE);
- conn->output =
- o_stream_create_file(fd, default_pool, (size_t)-1, FALSE);
+ conn->input = i_stream_create_file(fd, AUTH_WORKER_MAX_LINE_LENGTH,
+ FALSE);
+ conn->output = o_stream_create_file(fd, (size_t)-1, FALSE);
conn->io = io_add(fd, IO_READ, worker_input, conn);
conn->requests = buffer_create_dynamic(default_pool, 128);
diff --git a/src/auth/db-ldap.c b/src/auth/db-ldap.c
index 7b564d1..363461c 100644
--- a/src/auth/db-ldap.c
+++ b/src/auth/db-ldap.c
@@ -52,9 +52,11 @@ struct db_ldap_result_iterate_context {
char *attr, **vals;
const char *name, *value, *template, *val_1_arr[2];
+ const char *const *static_attrs;
BerElement *ber;
string_t *var, *debug;
+ unsigned int value_idx;
};
#define DEF_STR(name) DEF_STRUCT_STR(name, ldap_settings)
@@ -102,9 +104,9 @@ struct ldap_settings default_ldap_settings = {
MEMBER(scope) "subtree",
MEMBER(base) NULL,
MEMBER(ldap_version) 2,
- MEMBER(user_attrs) "uid,homeDirectory,,,uidNumber,gidNumber",
+ MEMBER(user_attrs) "homeDirectory=home,uidNumber=uid,gidNumber=gid",
MEMBER(user_filter) "(&(objectClass=posixAccount)(uid=%u))",
- MEMBER(pass_attrs) "uid,userPassword",
+ MEMBER(pass_attrs) "uid=user,userPassword=password",
MEMBER(pass_filter) "(&(objectClass=posixAccount)(uid=%u))",
MEMBER(default_pass_scheme) "crypt"
};
@@ -618,10 +620,10 @@ static void ldap_conn_close(struct ldap_connection *conn, bool flush_requests)
void db_ldap_set_attrs(struct ldap_connection *conn, const char *attrlist,
char ***attr_names_r, struct hash_table *attr_map,
- const char *const default_attr_map[],
const char *skip_attr)
{
const char *const *attr;
+ string_t *static_data;
char *name, *value, *p;
unsigned int i, j, size;
@@ -630,6 +632,7 @@ void db_ldap_set_attrs(struct ldap_connection *conn, const char *attrlist,
t_push();
attr = t_strsplit(attrlist, ",");
+ static_data = t_str_new(128);
/* @UNSAFE */
for (size = 0; attr[size] != NULL; size++) ;
@@ -637,13 +640,17 @@ void db_ldap_set_attrs(struct ldap_connection *conn, const char *attrlist,
for (i = j = 0; i < size; i++) {
p = strchr(attr[i], '=');
- if (p == NULL) {
- name = p_strdup(conn->pool, attr[i]);
- value = *default_attr_map == NULL ? name :
- p_strdup(conn->pool, *default_attr_map);
- } else {
+ if (p == NULL)
+ name = value = p_strdup(conn->pool, attr[i]);
+ else if (p != attr[i]) {
name = p_strdup_until(conn->pool, attr[i], p);
value = p_strdup(conn->pool, p + 1);
+ } else {
+ /* =<static key>=<static value> */
+ if (str_len(static_data) > 0)
+ str_append_c(static_data, ',');
[...4104 lines suppressed...]
+ input = i_stream_create_file(fd, 0, FALSE);
while ((line = i_stream_read_next_line(input)) != NULL) {
if (last != input->v_offset/(1024*100)) {
fprintf(stderr, "\r%ukB", (unsigned)(input->v_offset/1024));
diff --git a/src/plugins/fts-squat/squat-trie.c b/src/plugins/fts-squat/squat-trie.c
index 7c49497..0a4f466 100644
--- a/src/plugins/fts-squat/squat-trie.c
+++ b/src/plugins/fts-squat/squat-trie.c
@@ -1474,7 +1474,7 @@ trie_nodes_write(struct squat_trie_build_context *ctx, uint32_t *uidvalidity_r)
return -1;
}
- ctx->output = o_stream_create_file(trie->fd, default_pool, 0, FALSE);
+ ctx->output = o_stream_create_file(trie->fd, 0, FALSE);
o_stream_cork(ctx->output);
if (hdr.used_file_size == 0) {
o_stream_send(ctx->output, &hdr, sizeof(hdr));
@@ -1799,7 +1799,7 @@ static int squat_trie_compress_init(struct squat_trie_compress_context *ctx,
}
ctx->trie = trie;
- ctx->output = o_stream_create_file(ctx->fd, default_pool, 0, FALSE);
+ ctx->output = o_stream_create_file(ctx->fd, 0, FALSE);
ctx->node_count = trie->hdr->node_count;
/* write a dummy header first */
diff --git a/src/plugins/fts-squat/squat-uidlist.c b/src/plugins/fts-squat/squat-uidlist.c
index 6d4d56a..50e9fb1 100644
--- a/src/plugins/fts-squat/squat-uidlist.c
+++ b/src/plugins/fts-squat/squat-uidlist.c
@@ -580,8 +580,7 @@ static int squat_uidlist_write_init(struct squat_uidlist *uidlist)
return -1;
}
- uidlist->output = o_stream_create_file(uidlist->fd, default_pool,
- 0, FALSE);
+ uidlist->output = o_stream_create_file(uidlist->fd, 0, FALSE);
o_stream_cork(uidlist->output);
if (uidlist->hdr.used_file_size < sizeof(uidlist->hdr)) {
/* creating a new file, write a dummy header */
@@ -761,7 +760,7 @@ squat_uidlist_compress_begin(struct squat_uidlist *uidlist,
ctx->failed = TRUE;
i_error("open(%s) failed: %m", ctx->tmp_path);
} else {
- ctx->output = o_stream_create_file(fd, default_pool, 0, TRUE);
+ ctx->output = o_stream_create_file(fd, 0, TRUE);
o_stream_send(ctx->output, &ctx->hdr, sizeof(ctx->hdr));
}
diff --git a/src/plugins/fts/fts-storage.c b/src/plugins/fts/fts-storage.c
index 3cd1fab..a0f62e1 100644
--- a/src/plugins/fts/fts-storage.c
+++ b/src/plugins/fts/fts-storage.c
@@ -176,7 +176,7 @@ static int fts_build_mail(struct fts_storage_build_context *ctx)
parser = message_parser_init(pool_datastack_create(), input,
MESSAGE_HEADER_PARSER_FLAG_CLEAN_ONELINE,
0);
- decoder = message_decoder_init_ucase();
+ decoder = message_decoder_init(TRUE);
for (;;) {
ret = message_parser_parse_next_block(parser, &raw_block);
i_assert(ret != 0);
diff --git a/src/plugins/trash/trash-plugin.c b/src/plugins/trash/trash-plugin.c
index a5dcd02..e1c15ba 100644
--- a/src/plugins/trash/trash-plugin.c
+++ b/src/plugins/trash/trash-plugin.c
@@ -262,7 +262,7 @@ static int read_configuration(const char *path)
p_clear(config_pool);
p_array_init(&trash_boxes, config_pool, INIT_TRASH_MAILBOX_COUNT);
- input = i_stream_create_file(fd, default_pool, (size_t)-1, FALSE);
+ input = i_stream_create_file(fd, (size_t)-1, FALSE);
while ((line = i_stream_read_next_line(input)) != NULL) {
/* <priority> <mailbox name> */
name = strchr(line, ' ');
diff --git a/src/plugins/zlib/istream-zlib.c b/src/plugins/zlib/istream-zlib.c
index 06b7b75..c93bca7 100644
--- a/src/plugins/zlib/istream-zlib.c
+++ b/src/plugins/zlib/istream-zlib.c
@@ -35,7 +35,7 @@ static void _destroy(struct _iostream *stream __attr_unused__)
{
struct _istream *_stream = (struct _istream *) stream;
- p_free(_stream->iostream.pool, _stream->w_buffer);
+ i_free(_stream->w_buffer);
}
static ssize_t _read(struct _istream *stream)
@@ -193,12 +193,12 @@ static void _sync(struct _istream *stream)
zstream->cached_size = (uoff_t)-1;
}
-struct istream *i_stream_create_zlib(int fd, pool_t pool)
+struct istream *i_stream_create_zlib(int fd)
{
struct zlib_istream *zstream;
struct stat st;
- zstream = p_new(pool, struct zlib_istream, 1);
+ zstream = i_new(struct zlib_istream, 1);
zstream->fd = fd;
zstream->file = gzdopen(fd, "r");
zstream->cached_size = (uoff_t)-1;
@@ -218,5 +218,5 @@ struct istream *i_stream_create_zlib(int fd, pool_t pool)
zstream->istream.istream.seekable = TRUE;
}
- return _i_stream_create(&zstream->istream, pool, fd, 0);
+ return _i_stream_create(&zstream->istream, fd, 0);
}
diff --git a/src/plugins/zlib/istream-zlib.h b/src/plugins/zlib/istream-zlib.h
index 88b3735..697c2ce 100644
--- a/src/plugins/zlib/istream-zlib.h
+++ b/src/plugins/zlib/istream-zlib.h
@@ -1,6 +1,6 @@
#ifndef __ISTREAM_ZLIB_H
#define __ISTREAM_ZLIB_H
-struct istream *i_stream_create_zlib(int fd, pool_t pool);
+struct istream *i_stream_create_zlib(int fd);
#endif
diff --git a/src/plugins/zlib/zlib-plugin.c b/src/plugins/zlib/zlib-plugin.c
index 97cab54..549dfc4 100644
--- a/src/plugins/zlib/zlib-plugin.c
+++ b/src/plugins/zlib/zlib-plugin.c
@@ -41,10 +41,8 @@ zlib_mailbox_open(struct mail_storage *storage, const char *name,
int fd;
fd = open(path, O_RDONLY);
- if (fd != -1) {
- input = zlib_input =
- i_stream_create_zlib(fd, default_pool);
- }
+ if (fd != -1)
+ input = zlib_input = i_stream_create_zlib(fd);
}
}
diff --git a/src/pop3-login/client.c b/src/pop3-login/client.c
index 040b6b9..3f5dc1c 100644
--- a/src/pop3-login/client.c
+++ b/src/pop3-login/client.c
@@ -65,10 +65,8 @@ static void client_set_title(struct pop3_client *client)
static void client_open_streams(struct pop3_client *client, int fd)
{
- client->input = i_stream_create_file(fd, default_pool,
- MAX_INBUF_SIZE, FALSE);
- client->output = o_stream_create_file(fd, default_pool,
- MAX_OUTBUF_SIZE, FALSE);
+ client->input = i_stream_create_file(fd, MAX_INBUF_SIZE, FALSE);
+ client->output = o_stream_create_file(fd, MAX_OUTBUF_SIZE, FALSE);
}
static void client_start_tls(struct pop3_client *client)
diff --git a/src/pop3/client.c b/src/pop3/client.c
index 10e96cb..3efc9e9 100644
--- a/src/pop3/client.c
+++ b/src/pop3/client.c
@@ -140,10 +140,8 @@ struct client *client_create(int fd_in, int fd_out,
client = i_new(struct client, 1);
client->fd_in = fd_in;
client->fd_out = fd_out;
- client->input = i_stream_create_file(fd_in, default_pool,
- MAX_INBUF_SIZE, FALSE);
- client->output = o_stream_create_file(fd_out, default_pool,
- (size_t)-1, FALSE);
+ client->input = i_stream_create_file(fd_in, MAX_INBUF_SIZE, FALSE);
+ client->output = o_stream_create_file(fd_out, (size_t)-1, FALSE);
o_stream_set_flush_callback(client->output, client_output, client);
client->io = io_add(fd_in, IO_READ, client_input, client);
diff --git a/src/util/rawlog.c b/src/util/rawlog.c
index ae89533..097f3f4 100644
--- a/src/util/rawlog.c
+++ b/src/util/rawlog.c
@@ -240,19 +240,16 @@ rawlog_proxy_create(int client_in_fd, int client_out_fd, int server_fd,
proxy = i_new(struct rawlog_proxy, 1);
proxy->server_fd = server_fd;
proxy->server_input =
- i_stream_create_file(server_fd, default_pool,
- MAX_PROXY_INPUT_SIZE, FALSE);
+ i_stream_create_file(server_fd, MAX_PROXY_INPUT_SIZE, FALSE);
proxy->server_output =
- o_stream_create_file(server_fd, default_pool,
- (size_t)-1, FALSE);
+ o_stream_create_file(server_fd, (size_t)-1, FALSE);
proxy->server_io = io_add(server_fd, IO_READ, server_input, proxy);
o_stream_set_flush_callback(proxy->server_output, server_output, proxy);
proxy->client_in_fd = client_in_fd;
proxy->client_out_fd = client_out_fd;
proxy->client_output =
- o_stream_create_file(client_out_fd, default_pool,
- (size_t)-1, FALSE);
+ o_stream_create_file(client_out_fd, (size_t)-1, FALSE);
proxy->client_io = io_add(proxy->client_in_fd, IO_READ,
client_input, proxy);
o_stream_set_flush_callback(proxy->client_output, client_output, proxy);
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/dovecot/devel/.cvsignore,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- .cvsignore 19 Jul 2007 09:40:17 -0000 1.28
+++ .cvsignore 25 Jul 2007 11:02:09 -0000 1.29
@@ -1,4 +1,3 @@
dovecot-1.1.alpha1.tar.gz
dovecot-1.1.alpha1.tar.gz.sig
-dovecot-sieve-1.0.1.tar.gz
-dovecot-sieve-1.0.1.tar.gz.sig
+dovecot-sieve-1.1-131e25f6862b.tar.gz
Index: dovecot.spec
===================================================================
RCS file: /cvs/pkgs/rpms/dovecot/devel/dovecot.spec,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- dovecot.spec 19 Jul 2007 09:40:18 -0000 1.80
+++ dovecot.spec 25 Jul 2007 11:02:09 -0000 1.81
@@ -1,10 +1,12 @@
+%define dovecot_hg a744ae38a9e1
+%define sieve_hg 131e25f6862b
%define upstream 1.1.alpha1
-%define sieve_upstream 1.0.1
+%define sieve_upstream 1.1-%{sieve_hg}
%define pkg_version 1.1
-%define my_release 14.5
-%define pkg_release %{my_release}.alpha1%{?dist}
-%define pkg_sieve_version 1.0.1
-%define pkg_sieve_release %{my_release}%{?dist}
+%define my_release 14.6
+%define pkg_release %{my_release}.hg.%{dovecot_hg}%{?dist}
+%define pkg_sieve_version 1.1
+%define pkg_sieve_release %{my_release}.hg.%{sieve_hg}%{?dist}
Summary: Dovecot Secure imap server
Name: dovecot
@@ -17,7 +19,7 @@
%define build_mysql 1
%define build_sqlite 1
-%define build_sieve 0
+%define build_sieve 1
%define sieve_name dovecot-sieve
Source: http://dovecot.org/releases/%{name}-%{upstream}.tar.gz
@@ -34,6 +36,7 @@
Patch103: dovecot-1.0.beta2-mkcert-permissions.patch
Patch105: dovecot-1.0.rc7-mkcert-paths.patch
Patch106: dovecot-1.1.alpha1-split.patch
+Patch200: dovecot-%{dovecot_hg}.patch
# XXX this patch needs review and forward porting
#Patch105: dovecot-auth-log.patch
@@ -138,6 +141,7 @@
%patch102 -p1 -b .pam-setcred
%patch103 -p1 -b .mkcert-permissions
%patch105 -p1 -b .mkcert-paths
+%patch200 -p1 -b .%{dovecot_hg}
%patch106 -p1 -b .split
@@ -347,6 +351,10 @@
%endif
%changelog
+* Wed Jul 25 2007 Tomas Janousek <tjanouse at redhat.com> - 1.1-14.6.hg.a744ae38a9e1
+- update to a744ae38a9e1 from hg
+- update dovecot-sieve to 131e25f6862b from hg and enable it again
+
* Thu Jul 19 2007 Tomas Janousek <tjanouse at redhat.com> - 1.1-14.5.alpha1
- update to latest upstream beta
- don't build dovecot-sieve, it's only for 1.0
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/dovecot/devel/sources,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- sources 19 Jul 2007 09:40:18 -0000 1.29
+++ sources 25 Jul 2007 11:02:09 -0000 1.30
@@ -1,4 +1,3 @@
e952297f75ab3d042d896eb1e5c52463 dovecot-1.1.alpha1.tar.gz
79a860a7f9aed0812c33708836d548a4 dovecot-1.1.alpha1.tar.gz.sig
-b070d2177009bb555cd7e25c710047d5 dovecot-sieve-1.0.1.tar.gz
-c9f5a39ef66e427968141f265c879d60 dovecot-sieve-1.0.1.tar.gz.sig
+a902cf2490fc898a4dd911932ddc3685 dovecot-sieve-1.1-131e25f6862b.tar.gz
More information about the fedora-extras-commits
mailing list