commit dovecot21 for openSUSE:Factory
Hello community, here is the log from the commit of package dovecot21 for openSUSE:Factory checked in at 2013-02-22 16:49:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dovecot21 (Old) and /work/SRC/openSUSE:Factory/.dovecot21.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "dovecot21", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/dovecot21/dovecot21.changes 2013-01-31 14:44:49.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.dovecot21.new/dovecot21.changes 2013-02-22 16:49:06.000000000 +0100 @@ -1,0 +2,7 @@ +Fri Feb 8 17:03:42 UTC 2013 - alexandre@exatati.com.br + +- Update to 2.1.15: + - v2.1.14's dovecot.index.cache fixes caused Dovecot to use more disk I/O + and memory than was necessary. + +------------------------------------------------------------------- Old: ---- dovecot-2.1.14.tar.bz2 New: ---- dovecot-2.1.15.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dovecot21.spec ++++++ --- /var/tmp/diff_new_pack.1zqehi/_old 2013-02-22 16:49:09.000000000 +0100 +++ /var/tmp/diff_new_pack.1zqehi/_new 2013-02-22 16:49:09.000000000 +0100 @@ -17,11 +17,11 @@ Name: dovecot21 -Version: 2.1.14 +Version: 2.1.15 Release: 0 %define pkg_name dovecot %define sieve_version 2.1 -%define dovecot_version 2.1.14 +%define dovecot_version 2.1.15 %define dovecot_pigeonhole_docdir %{_docdir}/%{pkg_name}/dovecot-pigeonhole %define with_solr 1 %define with_clucene 1 ++++++ dovecot-2.1.14.tar.bz2 -> dovecot-2.1.15.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/ChangeLog new/dovecot-2.1.15/ChangeLog --- old/dovecot-2.1.14/ChangeLog 2013-01-30 22:45:15.000000000 +0100 +++ new/dovecot-2.1.15/ChangeLog 2013-02-08 14:05:45.000000000 +0100 @@ -1,8 +1,91 @@ +2013-02-08 Timo Sirainen <tss@iki.fi> + + * .hgsigs: + Added signature for changeset fc75811f3c08 + [26fa19903dcd] [tip] + + * .hgtags: + Added tag 2.1.15 for changeset fc75811f3c08 + [5fe181f1497a] + + * NEWS, configure.in: + Released v2.1.15. + [fc75811f3c08] [2.1.15] + +2013-02-06 Timo Sirainen <tss@iki.fi> + + * src/lib-storage/mail-storage.c: + lib-storage: Convert INBOX to uppercase also when namespace has + inbox=no. This fixes assert-crash in + mailbox_check_mismatching_separators(). + [3ec0d772be49] + + * src/lib-index/mail-cache.c: + lib-index: Avoid assert-crashing later if mmap(dovecot.index.cache) + fails. + [a54f749f5a44] + +2013-02-05 Timo Sirainen <tss@iki.fi> + + * src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c: + lmtp: If verbose_proctitle=yes, update the process state in the + title. + [63117ab893dc] + +2013-02-04 Timo Sirainen <tss@iki.fi> + + * src/lib-index/mail-cache.c: + lib-index: Bug in cache file size verification caused the whole + cache file to be mapped. + [443ff272317f] + + * src/lib-storage/index/index-mail.c: + lib-storage: If message parser's input stream is closed early, don't + treat it as error. This seems to happen sometimes during message + saving(?), although I'm not exactly sure why. In any case it + shouldn't log an error about it. This behavior is probably better + than failing. The caller should be the one to figure out if saving + has failed or not. + [b15a98fd8e15] + + * src/imap/imap-client.c: + imap: Set [io]stream name for imap client connections. + [23fb615c3628] + + * src/lib/istream-tee.c: + istream-tee: Copy the parent stream's name to child streams. + [eb117a619075] + + * src/lib/istream.c: + i_stream_close(): Set stream_errno to EPIPE instead of ENOENT. + [93633121bc9d] + +2013-02-02 Timo Sirainen <tss@iki.fi> + + * src/lib-storage/index/dbox-common/dbox-storage.c: + dbox: Fail if trying to create a mailbox that already exists. + [004b69090776] + +2013-01-31 Timo Sirainen <tss@iki.fi> + + * src/lib-ssl-iostream/istream-openssl.c: + lib-ssl-iostream: Pass the plain istream's fd to ssl_istream. + [bf80034a547d] + + * src/lib/iostream-rawlog.c: + iostream-rawlog: Ignore 0 byte writes instead of assert-crashing. + [f35a8649634c] + + * src/auth/auth-request.c: + auth: Removed assert-checks, allowing plugins to set + skip_password_check. + [5751963a3be8] + 2013-01-30 Timo Sirainen <tss@iki.fi> * .hgsigs: Added signature for changeset b314c97d4bbf - [57eb9a6ac6c0] [tip] + [57eb9a6ac6c0] * .hgtags: Added tag 2.1.14 for changeset b314c97d4bbf diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/NEWS new/dovecot-2.1.15/NEWS --- old/dovecot-2.1.14/NEWS 2013-01-30 22:44:27.000000000 +0100 +++ new/dovecot-2.1.15/NEWS 2013-02-08 14:03:27.000000000 +0100 @@ -1,3 +1,8 @@ +v2.1.15 2013-02-08 Timo Sirainen <tss@iki.fi> + + - v2.1.14: dovecot.index.cache fixes caused it to use more disk I/O + and memory than necessary. + v2.1.14 2013-01-30 Timo Sirainen <tss@iki.fi> + doveadm acl recalc command added diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/configure new/dovecot-2.1.15/configure --- old/dovecot-2.1.14/configure 2013-01-30 22:25:35.000000000 +0100 +++ new/dovecot-2.1.15/configure 2013-02-08 14:05:09.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Dovecot 2.1.14. +# Generated by GNU Autoconf 2.69 for Dovecot 2.1.15. # # Report bugs to <dovecot@dovecot.org>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='Dovecot' PACKAGE_TARNAME='dovecot' -PACKAGE_VERSION='2.1.14' -PACKAGE_STRING='Dovecot 2.1.14' +PACKAGE_VERSION='2.1.15' +PACKAGE_STRING='Dovecot 2.1.15' PACKAGE_BUGREPORT='dovecot@dovecot.org' PACKAGE_URL='' @@ -1461,7 +1461,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 Dovecot 2.1.14 to adapt to many kinds of systems. +\`configure' configures Dovecot 2.1.15 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 Dovecot 2.1.14:";; + short | recursive ) echo "Configuration of Dovecot 2.1.15:";; esac cat <<\_ACEOF @@ -1692,7 +1692,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Dovecot configure 2.1.14 +Dovecot configure 2.1.15 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2419,7 +2419,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Dovecot $as_me 2.1.14, which was +It was created by Dovecot $as_me 2.1.15, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3236,7 +3236,7 @@ # Define the identity of the package. PACKAGE='dovecot' - VERSION='2.1.14' + VERSION='2.1.15' cat >>confdefs.h <<_ACEOF @@ -25251,7 +25251,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Dovecot $as_me 2.1.14, which was +This file was extended by Dovecot $as_me 2.1.15, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -25317,7 +25317,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Dovecot config.status 2.1.14 +Dovecot config.status 2.1.15 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/configure.in new/dovecot-2.1.15/configure.in --- old/dovecot-2.1.14/configure.in 2013-01-30 22:25:23.000000000 +0100 +++ new/dovecot-2.1.15/configure.in 2013-02-08 14:03:31.000000000 +0100 @@ -1,5 +1,5 @@ AC_PREREQ([2.59]) -AC_INIT([Dovecot],[2.1.14],[dovecot@dovecot.org]) +AC_INIT([Dovecot],[2.1.15],[dovecot@dovecot.org]) AC_CONFIG_SRCDIR([src]) AM_INIT_AUTOMAKE([foreign]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/src/auth/auth-request.c new/dovecot-2.1.15/src/auth/auth-request.c --- old/dovecot-2.1.14/src/auth/auth-request.c 2013-01-30 16:12:43.000000000 +0100 +++ new/dovecot-2.1.15/src/auth/auth-request.c 2013-01-30 23:26:21.000000000 +0100 @@ -291,10 +291,9 @@ request->no_login = TRUE; else if (strcmp(key, "successful") == 0) request->successful = TRUE; - else if (strcmp(key, "skip_password_check") == 0) { - i_assert(request->master_user != NULL); + else if (strcmp(key, "skip_password_check") == 0) request->skip_password_check = TRUE; - } else if (strcmp(key, "mech") == 0) + else if (strcmp(key, "mech") == 0) request->mech_name = p_strdup(request->pool, value); else return FALSE; @@ -1705,7 +1704,6 @@ if (request->skip_password_check) { /* currently this can happen only with master logins */ - i_assert(request->master_user != NULL); return 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/src/imap/imap-client.c new/dovecot-2.1.15/src/imap/imap-client.c --- old/dovecot-2.1.14/src/imap/imap-client.c 2012-03-07 12:18:39.000000000 +0100 +++ new/dovecot-2.1.15/src/imap/imap-client.c 2013-02-04 15:01:48.000000000 +0100 @@ -56,6 +56,8 @@ client->input = i_stream_create_fd(fd_in, set->imap_max_line_length, FALSE); client->output = o_stream_create_fd(fd_out, (size_t)-1, FALSE); + i_stream_set_name(client->input, "<imap client>"); + o_stream_set_name(client->output, "<imap client>"); o_stream_set_flush_callback(client->output, client_output, client); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/src/lib/iostream-rawlog.c new/dovecot-2.1.15/src/lib/iostream-rawlog.c --- old/dovecot-2.1.14/src/lib/iostream-rawlog.c 2012-02-12 17:55:55.000000000 +0100 +++ new/dovecot-2.1.15/src/lib/iostream-rawlog.c 2013-01-31 17:14:34.000000000 +0100 @@ -44,7 +44,8 @@ { size_t i, start; - i_assert(size > 0); + if (size == 0) + return; io_loop_time_refresh(); if (rstream->write_timestamp) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/src/lib/istream-tee.c new/dovecot-2.1.15/src/lib/istream-tee.c --- old/dovecot-2.1.14/src/lib/istream-tee.c 2012-02-12 17:55:55.000000000 +0100 +++ new/dovecot-2.1.15/src/lib/istream-tee.c 2013-02-04 14:46:10.000000000 +0100 @@ -223,6 +223,7 @@ tee->children = tstream; ret = i_stream_create(&tstream->istream, input, i_stream_get_fd(input)); + i_stream_set_name(&tstream->istream.istream, i_stream_get_name(input)); /* we keep the reference in tee stream, no need for extra references */ i_stream_unref(&input); return ret; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/src/lib/istream.c new/dovecot-2.1.15/src/lib/istream.c --- old/dovecot-2.1.14/src/lib/istream.c 2012-02-12 17:55:55.000000000 +0100 +++ new/dovecot-2.1.15/src/lib/istream.c 2013-02-04 14:58:30.000000000 +0100 @@ -75,7 +75,7 @@ stream->closed = TRUE; if (stream->stream_errno == 0) - stream->stream_errno = ENOENT; + stream->stream_errno = EPIPE; } void i_stream_set_init_buffer_size(struct istream *stream, size_t size) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/src/lib-index/mail-cache.c new/dovecot-2.1.15/src/lib-index/mail-cache.c --- old/dovecot-2.1.14/src/lib-index/mail-cache.c 2013-01-29 16:53:09.000000000 +0100 +++ new/dovecot-2.1.15/src/lib-index/mail-cache.c 2013-02-06 17:28:59.000000000 +0100 @@ -367,7 +367,8 @@ /* verify offset + size before trying to allocate a huge amount of memory due to them. note that we may be prefetching more than we actually need, so don't fail too early. */ - if (size > cache->mmap_length || offset + size > cache->mmap_length) { + if ((size > cache->mmap_length || offset + size > cache->mmap_length) && + (offset > 0 || size > sizeof(struct mail_cache_header))) { if (fstat(cache->fd, &st) < 0) { i_error("fstat(%s) failed: %m", cache->filepath); return -1; @@ -376,7 +377,8 @@ *data_r = NULL; return 0; } - size = st.st_size - offset; + if (offset + size > (uoff_t)st.st_size) + size = st.st_size - offset; } cache->remap_counter++; @@ -435,6 +437,7 @@ cache->mmap_base = mmap_ro_file(cache->fd, &cache->mmap_length); if (cache->mmap_base == MAP_FAILED) { cache->mmap_base = NULL; + cache->mmap_length = 0; mail_cache_set_syscall_error(cache, "mmap()"); return -1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/src/lib-ssl-iostream/istream-openssl.c new/dovecot-2.1.15/src/lib-ssl-iostream/istream-openssl.c --- old/dovecot-2.1.14/src/lib-ssl-iostream/istream-openssl.c 2012-06-22 16:35:19.000000000 +0200 +++ new/dovecot-2.1.15/src/lib-ssl-iostream/istream-openssl.c 2013-01-31 17:27:08.000000000 +0100 @@ -82,5 +82,6 @@ sstream->istream.read = i_stream_ssl_read; sstream->istream.istream.readable_fd = FALSE; - return i_stream_create(&sstream->istream, NULL, -1); + return i_stream_create(&sstream->istream, NULL, + i_stream_get_fd(ssl_io->plain_input)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/src/lib-storage/index/dbox-common/dbox-storage.c new/dovecot-2.1.15/src/lib-storage/index/dbox-common/dbox-storage.c --- old/dovecot-2.1.14/src/lib-storage/index/dbox-common/dbox-storage.c 2012-12-13 11:22:07.000000000 +0100 +++ new/dovecot-2.1.15/src/lib-storage/index/dbox-common/dbox-storage.c 2013-02-01 23:29:59.000000000 +0100 @@ -254,6 +254,12 @@ if (mailbox_open(box) < 0) return -1; + if (mail_index_get_header(box->view)->uid_validity != 0) { + mail_storage_set_error(box->storage, MAIL_ERROR_EXISTS, + "Mailbox already exists"); + return -1; + } + /* if alt path already exists and contains files, rebuild storage so that we don't start overwriting files. */ alt_path = mailbox_list_get_path(box->list, box->name, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/src/lib-storage/index/index-mail.c new/dovecot-2.1.15/src/lib-storage/index/index-mail.c --- old/dovecot-2.1.14/src/lib-storage/index/index-mail.c 2013-01-22 15:24:48.000000000 +0100 +++ new/dovecot-2.1.15/src/lib-storage/index/index-mail.c 2013-02-04 15:07:10.000000000 +0100 @@ -762,15 +762,20 @@ i_stream_ref(parser_input); ret = message_parser_deinit(&mail->data.parser_ctx, &mail->data.parts) < 0 ? 0 : 1; - if (parser_input->stream_errno != 0) { + if (parser_input->stream_errno == 0 || + parser_input->stream_errno == EPIPE) { + /* EPIPE = input already closed. allow the caller to + decide if that is an error or not. */ + i_assert(i_stream_read(parser_input) == -1 && + !i_stream_have_bytes_left(parser_input)); + } else { errno = parser_input->stream_errno; mail_storage_set_critical(mail->mail.mail.box->storage, - "read(%s) failed: %m", - i_stream_get_name(parser_input)); + "mail parser: read(%s, box=%s) failed: %m", + i_stream_get_name(parser_input), + mail->mail.mail.box->vname); ret = -1; } - i_assert(i_stream_read(parser_input) == -1 && - !i_stream_have_bytes_left(parser_input)); i_stream_unref(&parser_input); } if (ret <= 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/src/lib-storage/mail-storage.c new/dovecot-2.1.15/src/lib-storage/mail-storage.c --- old/dovecot-2.1.14/src/lib-storage/mail-storage.c 2013-01-04 21:36:44.000000000 +0100 +++ new/dovecot-2.1.15/src/lib-storage/mail-storage.c 2013-02-06 17:59:40.000000000 +0100 @@ -627,10 +627,12 @@ i_assert(uni_utf8_str_is_valid(vname)); - if ((list->ns->flags & NAMESPACE_FLAG_INBOX_USER) != 0 && - strncasecmp(vname, "INBOX", 5) == 0 && + if (strncasecmp(vname, "INBOX", 5) == 0 && strncmp(vname, "INBOX", 5) != 0) { - /* make sure INBOX shows up in uppercase everywhere */ + /* make sure INBOX shows up in uppercase everywhere. do this + regardless of whether we're in inbox=yes namespace, because + clients expect INBOX to be case insensitive regardless of + server's internal configuration. */ if (vname[5] == '\0') vname = "INBOX"; else if (vname[5] == mail_namespace_get_sep(list->ns)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/src/lmtp/client.c new/dovecot-2.1.15/src/lmtp/client.c --- old/dovecot-2.1.14/src/lmtp/client.c 2012-09-22 18:36:20.000000000 +0200 +++ new/dovecot-2.1.15/src/lmtp/client.c 2013-02-05 15:46:13.000000000 +0100 @@ -8,6 +8,7 @@ #include "istream.h" #include "ostream.h" #include "hostpid.h" +#include "process-title.h" #include "var-expand.h" #include "settings-parser.h" #include "master-service.h" @@ -31,6 +32,20 @@ static struct client *clients = NULL; unsigned int clients_count = 0; +void client_state_set(struct client *client, const char *name) +{ + client->state.name = name; + + if (!client->service_set->verbose_proctitle) + return; + if (clients_count == 0) + process_title_set("[idling]"); + else if (clients_count > 1) + process_title_set(t_strdup_printf("[%u clients]", clients_count)); + else + process_title_set(t_strdup_printf("[%s]", client->state.name)); +} + static void client_idle_timeout(struct client *client) { client_destroy(client, @@ -156,6 +171,7 @@ lmtp_settings_dup(set_parser, client->pool, &lmtp_set, &lda_set); settings_var_expand(&lmtp_setting_parser_info, lmtp_set, client->pool, mail_storage_service_get_var_expand_table(storage_service, &input)); + client->service_set = master_service_settings_get(master_service); client->lmtp_set = lmtp_set; client->set = lda_set; } @@ -219,7 +235,6 @@ client_io_reset(client); client->state_pool = pool_alloconly_create("client state", 4096); client->state.mail_data_fd = -1; - client->state.name = "banner"; client_read_settings(client); client_raw_user_create(client); client_generate_session_id(client); @@ -229,6 +244,7 @@ DLLIST_PREPEND(&clients, client); clients_count++; + client_state_set(client, "banner"); client_send_line(client, "220 %s %s", client->my_domain, client->lmtp_set->login_greeting); i_info("Connect from %s", client_remote_id(client)); @@ -243,6 +259,8 @@ clients_count--; DLLIST_REMOVE(&clients, client); + client_state_set(client, "destroyed"); + if (client->raw_mail_user != NULL) mail_user_unref(&client->raw_mail_user); if (client->proxy != NULL) @@ -326,7 +344,7 @@ client->state.mail_data_fd = -1; client_generate_session_id(client); - client->state.name = "reset"; + client_state_set(client, "reset"); } void client_send_line(struct client *client, const char *fmt, ...) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/src/lmtp/client.h new/dovecot-2.1.15/src/lmtp/client.h --- old/dovecot-2.1.14/src/lmtp/client.h 2011-12-10 09:34:32.000000000 +0100 +++ new/dovecot-2.1.15/src/lmtp/client.h 2013-02-05 15:44:04.000000000 +0100 @@ -43,6 +43,7 @@ const struct setting_parser_info *user_set_info; const struct lda_settings *set; const struct lmtp_settings *lmtp_set; + const struct master_service_settings *service_set; int fd_in, fd_out; struct io *io; struct istream *input; @@ -76,6 +77,7 @@ const char *reason); void client_io_reset(struct client *client); void client_state_reset(struct client *client); +void client_state_set(struct client *client, const char *name); void client_input_handle(struct client *client); int client_input_read(struct client *client); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.1.14/src/lmtp/commands.c new/dovecot-2.1.15/src/lmtp/commands.c --- old/dovecot-2.1.14/src/lmtp/commands.c 2012-10-30 13:39:55.000000000 +0100 +++ new/dovecot-2.1.15/src/lmtp/commands.c 2013-02-05 15:44:21.000000000 +0100 @@ -74,7 +74,7 @@ i_free(client->lhlo); client->lhlo = i_strdup(str_c(domain)); - client->state.name = "LHLO"; + client_state_set(client, "LHLO"); return 0; } @@ -143,7 +143,7 @@ client->state.mail_from = p_strdup(client->state_pool, addr); p_array_init(&client->state.rcpt_to, client->state_pool, 64); client_send_line(client, "250 2.1.0 OK"); - client->state.name = "MAIL FROM"; + client_state_set(client, "MAIL FROM"); return 0; } @@ -488,7 +488,7 @@ const char *error = NULL; int ret = 0; - client->state.name = "RCPT TO"; + client_state_set(client, "RCPT TO"); if (client->state.mail_from == NULL) { client_send_line(client, "503 5.5.1 MAIL needed first"); @@ -1014,7 +1014,7 @@ client_send_line(client, "354 OK"); io_remove(&client->io); - client->state.name = "DATA"; + client_state_set(client, "DATA"); client->io = io_add(client->fd_in, IO_READ, client_input_data, client); client_input_data_handle(client); return -1; -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de