History log of /dovecot/src/lmtp/client.h
Revision Date Author Comments Expand
c116e589182c258b463850327755e6dd9a731616 18-Jan-2018 Stephan Bosch <stephan.bosch@dovecot.fi>

lmtp: Move common recipient handling code to separate file.

823802b00ed82188e8666ad980379070e89c9009 11-Dec-2017 Stephan Bosch <stephan.bosch@dovecot.fi>

lmtp: Removed useless ssl_start parameter for client_create(). The same information is already contained in the conn parameter.

b8b2cc4e58aef3759ed071d78afaa8319266afc4 08-Dec-2017 Stephan Bosch <stephan.bosch@dovecot.fi>

lmtp: Changed message data handling to use iostream-temp. The existing code predates iostream-temp.

88201d8446bad86d232ae18945f1c8fc56f70cd7 08-Dec-2017 Stephan Bosch <stephan.bosch@dovecot.fi>

lmtp: client: Made client_remote_id() static.

b73539ef2de3db3abc0ad5f729406e695e4cb76b 08-Dec-2017 Stephan Bosch <stephan.bosch@dovecot.fi>

lmtp: Ported to use lib-smtp/server. Implicitly fixes handling of multi-line replies from proxy backend. Implicitly adds support for mixing local and proxy recipients. Implicitly adds support for SMTP CHUNKING. RCPT failures are reported back to the client immediately, rather than waiting for the DATA command.

2b7d6fbaadd62e66c858bae0358232c02369b43b 08-Dec-2017 Stephan Bosch <stephan.bosch@dovecot.fi>

lmtp: Split off local delivery in a struct separate from the client. This mimics proxy delivery, making the implementation better structured.

ce7a45d15786c7434546bd9da60fae08fc157f13 08-Dec-2017 Stephan Bosch <stephan.bosch@dovecot.fi>

lmtp: client: Dropped useless rcpt_idx state. Recent refactoring made it obsolete.

447ae13a88887d9503c05be61a4368cfae44d96d 08-Dec-2017 Stephan Bosch <stephan.bosch@dovecot.fi>

lmtp: Renamed struct mail_recipient to struct lmtp_recipient.

3a1c07860253ea9c7dd7801f9d8a94b6827b94d7 08-Dec-2017 Stephan Bosch <stephan.bosch@dovecot.fi>

lmtp: client: Moved soon-to-be-obsolete output handling functions to end of the file.

eac03bb795495c3934022059989d3fe360e904bb 08-Dec-2017 Stephan Bosch <stephan.bosch@dovecot.fi>

lmtp: client: Moved soon-to-be-obsolete input handling functions to end of the file.

0029bf606761c2adb611571c00cad699ae37c36a 08-Dec-2017 Stephan Bosch <stephan.bosch@dovecot.fi>

lmtp: Moved client_rcpt_anvil_disconnect() from client.c to lmtp-local.c.

09cd817096fb74cc16634ea5823e95ac6a3dfdfa 26-Nov-2017 Stephan Bosch <stephan.bosch@dovecot.fi>

lmtp: proxy: Changed implemention to use lib-smtp/smtp-client.

de0971aff3009fe6906c3631e8322908658a5e93 26-Nov-2017 Stephan Bosch <stephan.bosch@dovecot.fi>

lib-lda: Added SMTP parameter fields to struct mail_deliver_context. This moves the original recipient field inside the SMTP parameters. This also affects both lda and lmtp. Changes are applied there accordingly.

3d7828efd92ecc0d08049f727d9be0154d1d681b 26-Nov-2017 Stephan Bosch <stephan.bosch@dovecot.fi>

lib-lda: Changed struct mail_deliver_context address fields to use the new struct smtp_address type.

553a131eddb46d97967fd9610408b7f0829eab6f 29-Jun-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lmtp: Increase user's concurrency limit already after RCPT TO. This way it's not possible for a lot of mails to arrive to user concurrently and bypass the lmtp_user_concurrency_limit.

ced943b0a9b49a5be38516302fe1631c1883deba 29-Jun-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lmtp: If user has rached lmtp_user_concurrency_limit, fail at RCPT TO stage. Otherwise LMTP client would have to send the entire email body before getting the failure.

0dffa25d211be541ee3c953b23566a1a990789df 06-Jun-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

global: unsigned int:1 -> bool:1 perl -i -pe 's/unsigned int ([^,:;]+):1;/bool $1:1;/' **/*.[ch]

/dovecot/src/anvil/anvil-connection.c /dovecot/src/anvil/penalty.c /dovecot/src/auth/auth-client-connection.h /dovecot/src/auth/auth-master-connection.h /dovecot/src/auth/auth-penalty.c /dovecot/src/auth/auth-postfix-connection.c /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/db-checkpassword.c /dovecot/src/auth/db-passwd-file.h /dovecot/src/auth/db-sql.h /dovecot/src/auth/mech-digest-md5.c /dovecot/src/auth/passdb-pam.c /dovecot/src/auth/userdb-passwd.c /dovecot/src/auth/userdb-sql.c /dovecot/src/auth/userdb-static.c /dovecot/src/config/config-connection.c /dovecot/src/config/config-parser-private.h /dovecot/src/config/doveconf.c /dovecot/src/dict/dict-connection.h /dovecot/src/director/director-connection.c /dovecot/src/director/director-host.h /dovecot/src/director/director.h /dovecot/src/director/doveadm-connection.c /dovecot/src/director/login-connection.c /dovecot/src/director/mail-host.h /dovecot/src/director/user-directory.h /dovecot/src/doveadm/client-connection.h /dovecot/src/doveadm/doveadm-dsync.c /dovecot/src/doveadm/doveadm-mail-index.c /dovecot/src/doveadm/doveadm-mail-mailbox-status.c /dovecot/src/doveadm/doveadm-mail.h /dovecot/src/doveadm/doveadm-print-flow.c /dovecot/src/doveadm/doveadm-print-pager.c /dovecot/src/doveadm/doveadm-print-tab.c /dovecot/src/doveadm/doveadm-print-table.c /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/dsync/dsync-brain-private.h /dovecot/src/doveadm/dsync/dsync-ibc-private.h /dovecot/src/doveadm/dsync/dsync-ibc-stream.c /dovecot/src/doveadm/dsync/dsync-mailbox-export.c /dovecot/src/doveadm/dsync/dsync-mailbox-import.c /dovecot/src/doveadm/dsync/dsync-mailbox-tree.h /dovecot/src/doveadm/server-connection.c /dovecot/src/imap-login/imap-login-client.h /dovecot/src/imap-urlauth/imap-urlauth-client.h /dovecot/src/imap-urlauth/imap-urlauth-login.c /dovecot/src/imap-urlauth/imap-urlauth-worker.c /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-urlfetch.c /dovecot/src/imap/imap-client.h /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-notify.h /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-sync.c /dovecot/src/indexer/indexer-client.c /dovecot/src/indexer/indexer-queue.h /dovecot/src/indexer/master-connection.c /dovecot/src/indexer/worker-connection.c /dovecot/src/ipc/ipc-connection.h /dovecot/src/lib-auth/auth-client-private.h /dovecot/src/lib-auth/auth-master.c /dovecot/src/lib-auth/auth-master.h /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-compression/istream-bzlib.c /dovecot/src/lib-compression/istream-lz4.c /dovecot/src/lib-compression/istream-lzma.c /dovecot/src/lib-compression/istream-zlib.c /dovecot/src/lib-compression/ostream-bzlib.c /dovecot/src/lib-compression/ostream-lzma.c /dovecot/src/lib-compression/ostream-zlib.c /dovecot/src/lib-dict/dict-client.c /dovecot/src/lib-dict/dict-private.h /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-fs/fs-api-private.h /dovecot/src/lib-http/http-client-private.h /dovecot/src/lib-http/http-header-parser.c /dovecot/src/lib-http/http-message-parser.h /dovecot/src/lib-http/http-request-parser.c /dovecot/src/lib-http/http-request.h /dovecot/src/lib-http/http-response.h /dovecot/src/lib-http/http-server-private.h /dovecot/src/lib-http/http-transfer-chunked.c /dovecot/src/lib-http/http-url.c /dovecot/src/lib-http/http-url.h /dovecot/src/lib-imap-client/imapc-connection.c /dovecot/src/lib-imap-storage/imap-metadata.c /dovecot/src/lib-imap-storage/imap-msgpart-url.c /dovecot/src/lib-imap-storage/imap-msgpart.c /dovecot/src/lib-imap-urlauth/imap-urlauth-connection.c /dovecot/src/lib-imap-urlauth/imap-urlauth-fetch.c /dovecot/src/lib-imap-urlauth/imap-urlauth-fetch.h /dovecot/src/lib-imap-urlauth/imap-urlauth-private.h /dovecot/src/lib-imap/imap-arg.h /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-url.c /dovecot/src/lib-imap/imap-url.h /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-strmap.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log-view-private.h /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-lda/duplicate.c /dovecot/src/lib-lda/lmtp-client.c /dovecot/src/lib-mail/istream-binary-converter.c /dovecot/src/lib-mail/istream-dot.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/message-decoder.c /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-header-parser.c /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-search.c /dovecot/src/lib-master/ipc-server.c /dovecot/src/lib-master/master-instance.c /dovecot/src/lib-master/master-login-auth.c /dovecot/src/lib-master/master-login.c /dovecot/src/lib-master/master-login.h /dovecot/src/lib-master/master-service-private.h /dovecot/src/lib-master/master-service-settings-cache.c /dovecot/src/lib-master/master-service-settings.h /dovecot/src/lib-master/master-service.h /dovecot/src/lib-master/service-settings.h /dovecot/src/lib-sql/driver-cassandra.c /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-sql/driver-sqlite.c /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-ssl-iostream/iostream-openssl.h /dovecot/src/lib-storage/index/cydir/cydir-save.c /dovecot/src/lib-storage/index/dbox-common/dbox-file.h /dovecot/src/lib-storage/index/dbox-common/dbox-save.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-map-private.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-map.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.h /dovecot/src/lib-storage/index/imapc/imapc-list.h /dovecot/src/lib-storage/index/imapc/imapc-save.c /dovecot/src/lib-storage/index/imapc/imapc-storage.h /dovecot/src/lib-storage/index/imapc/imapc-sync.h /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-rebuild.h /dovecot/src/lib-storage/index/index-search-private.h /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-sort-string.c /dovecot/src/lib-storage/index/index-thread-finish.c /dovecot/src/lib-storage/index/index-thread-private.h /dovecot/src/lib-storage/index/index-thread.c /dovecot/src/lib-storage/index/istream-mail.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/index/pop3c/pop3c-client.c /dovecot/src/lib-storage/index/pop3c/pop3c-storage.h /dovecot/src/lib-storage/index/raw/raw-storage.h /dovecot/src/lib-storage/list/mailbox-list-fs-iter.c /dovecot/src/lib-storage/list/mailbox-list-index-notify.c /dovecot/src/lib-storage/list/mailbox-list-index-sync.h /dovecot/src/lib-storage/list/mailbox-list-index.h /dovecot/src/lib-storage/list/mailbox-list-iter.c /dovecot/src/lib-storage/list/mailbox-list-none.c /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-search-register.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage-service.c /dovecot/src/lib-storage/mail-storage-service.h /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail-user.h /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-search-result-private.h /dovecot/src/lib-storage/mailbox-tree.c /dovecot/src/lib/buffer.c /dovecot/src/lib/connection.h /dovecot/src/lib/file-dotlock.c /dovecot/src/lib/file-dotlock.h /dovecot/src/lib/ioloop-private.h /dovecot/src/lib/istream-crlf.c /dovecot/src/lib/istream-file-private.h /dovecot/src/lib/istream-jsonstr.c /dovecot/src/lib/istream-mmap.c /dovecot/src/lib/istream-private.h /dovecot/src/lib/istream-tee.c /dovecot/src/lib/istream.h /dovecot/src/lib/mempool.h /dovecot/src/lib/module-dir.h /dovecot/src/lib/ostream-file-private.h /dovecot/src/lib/ostream-private.h /dovecot/src/lib/ostream.h client.h lmtp-proxy.c /dovecot/src/log/log-connection.c /dovecot/src/login-common/client-common.h /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/master/service-process.h /dovecot/src/master/service.h /dovecot/src/plugins/acl/acl-api-private.h /dovecot/src/plugins/acl/acl-api.h /dovecot/src/plugins/acl/acl-backend-vfile.h /dovecot/src/plugins/acl/acl-lookup-dict.c /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-solr/fts-backend-solr.c /dovecot/src/plugins/fts-solr/solr-connection.c /dovecot/src/plugins/fts-squat/squat-trie-private.h /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/fts/fts-api-private.h /dovecot/src/plugins/fts/fts-indexer.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/fts/fts-storage.h /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/pop3-migration/pop3-migration-plugin.c /dovecot/src/plugins/quota/quota-fs.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-storage.h /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/pop3/pop3-client.h /dovecot/src/replication/replicator/dsync-client.c /dovecot/src/replication/replicator/notify-connection.c /dovecot/src/replication/replicator/replicator-brain.c /dovecot/src/replication/replicator/replicator-queue.h
aeea3dbd1f4031634f7b318614adf51dcfc79f42 07-Apr-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lmtp: Use separate session ID suffixes for each RCPT TO delivery. Otherwise each delivery will use the same session ID when talking to stats process, which results in errors like: Error: stats: FIFO input error: CONNECT: Duplicate session ID ME3ZHCi+A1dUDQAAvAUe3g for user foobar service lmtp Warning: stats: Couldn't find session ID: ME3ZHCi+A1dUDQAAvAUe3g (There was a DISCONNECT for the session ID between these two log lines.)

009217abb57a24a4076092e8e4e165545747839e 29-Aug-2015 Stephan Bosch <stephan@rename-it.nl>

Changed type of internet port values to in_port_t everywhere. Created special SET_IN_PORT setting type for internet port values. Created net_str2port() for parsing internet port values. Removed several atoi() invocations in the process.

/dovecot/src/auth/auth-request.c /dovecot/src/auth/auth-request.h /dovecot/src/auth/passdb-imap.c /dovecot/src/config/config-request.c /dovecot/src/director/director-connection.c /dovecot/src/director/director-host.c /dovecot/src/director/director-host.h /dovecot/src/director/director-settings.c /dovecot/src/director/director-settings.h /dovecot/src/director/director-test.c /dovecot/src/director/director.c /dovecot/src/director/director.h /dovecot/src/director/doveadm-connection.c /dovecot/src/director/login-connection.c /dovecot/src/director/main.c /dovecot/src/doveadm/client-connection.h /dovecot/src/doveadm/doveadm-auth.c /dovecot/src/doveadm/doveadm-director.c /dovecot/src/doveadm/doveadm-mail-server.c /dovecot/src/doveadm/doveadm-settings.c /dovecot/src/doveadm/doveadm-settings.h /dovecot/src/doveadm/doveadm-util.c /dovecot/src/doveadm/doveadm-util.h /dovecot/src/doveadm/doveadm-zlib.c /dovecot/src/doveadm/server-connection.c /dovecot/src/imap-hibernate/imap-client.h /dovecot/src/imap-hibernate/imap-hibernate-client.c /dovecot/src/imap-login/client.c /dovecot/src/imap-urlauth/imap-urlauth-worker-settings.c /dovecot/src/imap-urlauth/imap-urlauth-worker-settings.h /dovecot/src/imap/imap-client-hibernate.c /dovecot/src/imap/imap-master-client.c /dovecot/src/imap/imap-settings.c /dovecot/src/imap/imap-settings.h /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-master.h /dovecot/src/lib-dict/dict-memcached-ascii.c /dovecot/src/lib-dict/dict-memcached.c /dovecot/src/lib-dict/dict-redis.c /dovecot/src/lib-http/http-client-connection.c /dovecot/src/lib-http/http-server-connection.c /dovecot/src/lib-http/test-http-server.c /dovecot/src/lib-imap-client/imapc-client.h /dovecot/src/lib-imap-urlauth/imap-urlauth-private.h /dovecot/src/lib-imap-urlauth/imap-urlauth.h /dovecot/src/lib-lda/lmtp-client.c /dovecot/src/lib-lda/lmtp-client.h /dovecot/src/lib-lda/smtp-client.c /dovecot/src/lib-master/master-service-haproxy.c /dovecot/src/lib-master/master-service.h /dovecot/src/lib-master/service-settings.h /dovecot/src/lib-settings/settings-parser.c /dovecot/src/lib-settings/settings-parser.h /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-storage/index/imapc/imapc-settings.c /dovecot/src/lib-storage/index/imapc/imapc-settings.h /dovecot/src/lib-storage/index/pop3c/pop3c-client.h /dovecot/src/lib-storage/index/pop3c/pop3c-settings.c /dovecot/src/lib-storage/index/pop3c/pop3c-settings.h /dovecot/src/lib-storage/mail-storage-service.h /dovecot/src/lib/connection.c /dovecot/src/lib/connection.h /dovecot/src/lib/fd-close-on-exec.c /dovecot/src/lib/iostream-rawlog.c /dovecot/src/lib/net.c /dovecot/src/lib/net.h /dovecot/src/lib/uri-util.c client.h commands.c lmtp-proxy.h /dovecot/src/login-common/client-common-auth.c /dovecot/src/login-common/client-common.h /dovecot/src/login-common/login-common.h /dovecot/src/login-common/login-proxy-state.c /dovecot/src/login-common/login-proxy-state.h /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/login-proxy.h /dovecot/src/master/master-settings.c /dovecot/src/master/service-listen.c /dovecot/src/master/service.c /dovecot/src/pop3-login/client.c /dovecot/src/replication/aggregator/aggregator-settings.c /dovecot/src/replication/aggregator/aggregator-settings.h /dovecot/src/replication/aggregator/replicator-connection.c /dovecot/src/replication/aggregator/replicator-connection.h
6b6011c2242e470b41316f92512b282b5e306dac 21-Apr-2015 Timo Sirainen <tss@iki.fi>

lda, lmtp: Added delivery_time and session_time variables to deliver_log_format session_time is meaningful only with LMTP. The delivery_time is separate for each mail delivery. The results are in milliseconds now. If needed we could add a new %modifier that converts it into secs.millisecs.

42abccd9b2a5a4190bd3c14ec2dcc10d51c0f491 06-Mar-2015 Timo Sirainen <tss@iki.fi>

lmtp: Added lmtp_user_concurrency_limit setting. This allows limiting the number of concurrent deliveries to a single user. Useful in case one user is receiving a lot of mails and causing other deliveries to be delayed. If the limit is reached, Dovecot returns temporary failure error at DATA stage.

b02e7bac5b8b19795884229f64e6fbbd93a0d2de 06-Mar-2015 Timo Sirainen <tss@iki.fi>

lmtp: Changed rcpt_to array to contain pointers to struct mail_recipient This allow storing the pointers so they don't change.

38f624b427aa8b6fad3765e6efd97c85a7f97a09 13-Nov-2014 Timo Sirainen <tss@iki.fi>

lmtp: Added support for DSN ORCPT parameter. If the parameter is specified, it's used as the original recipient address in Sieve. The ORCPT parameter is also proxied to destination LMTP server if used (without checking if it supports it). We don't currently advertise DSN extension, so this feature won't be enabled automatically.

d65cc3312d3126d34b51ae8eccd6b48215d50029 12-Nov-2014 Timo Sirainen <tss@iki.fi>

lmtp: Show more information in process title. Most importantly show the username while messages are being delivered.

4fbf59562594dbbbe037f8d4c480dbf88f3fc708 29-Oct-2014 Timo Sirainen <tss@iki.fi>

lmtp: Added support for STARTTLS command.

ee77aba32f3d05ecd87cca445c77e1f1095035e2 20-Aug-2014 Timo Sirainen <tss@iki.fi>

lmtp: Put back the deduplication code. Too dangerous after all to change it in the middle of v2.2.x. It's also not causing that much trouble even when it breaks..

0c7087c6503ba5d081bbe6465f1c84d8994e1ea6 04-Jul-2014 Timo Sirainen <tss@iki.fi>

lmtp: Small code cleanup

c61164c50f56bfe3ec9458d8ddcce51f7c7ac25e 03-Jul-2014 Timo Sirainen <tss@iki.fi>

lmtp: Removed code that attempts to deduplicate mail files by copying them between user mailboxes. This sometimes started failing if the mail that was being used for copying was deleted by the user. There's no good way for lmtp code to fix that situation. If deduplication is needed, it could be implemented in a more generic way inside mailbox_copy() where after initial copy it would store the destination struct mail to src_mail->last_copy_dest_mail. If another mail is copied, the last_copy_dest_mail could be attempted to be used for the copying and if that doesn't work it would fallback to regular copying. This should probably be attempted only for lda/lmtp processes as it would just cause extra overhead for others.

32efae185f1f86167b3f00ea84f8502940c6c677 13-Aug-2013 Timo Sirainen <tss@iki.fi>

lmtp: Make it clear that the lda_settings is unexpanded in struct client.

2ba9851abbaffe9592c06c0060dce40bb6da3b78 24-Feb-2013 Timo Sirainen <tss@iki.fi>

lmtp: Log a bit nicer message when client QUITs. I did think about removing the connect and successful disconnect messages entirely, but these may be useful when debugging problems with MTA.

30fc0b14f0d99a86c04aacff311e4cf2ddd5ff12 05-Feb-2013 Timo Sirainen <tss@iki.fi>

lmtp: If verbose_proctitle=yes, update the process state in the title.

bdd36cfdba3ff66d25570a9ff568d69e1eb543cf 03-Oct-2012 Timo Sirainen <tss@iki.fi>

Renamed network.[ch] to net.[ch]. The function prefixes already started with net_ instead of network_. And icecap wants to use network.h for other purpose. :)

/dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-penalty.c /dovecot/src/auth/auth-postfix-connection.c /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/db-ldap.c /dovecot/src/auth/main.c /dovecot/src/auth/passdb-pam.c /dovecot/src/config/config-filter.h /dovecot/src/config/settings-get.pl /dovecot/src/director/auth-connection.c /dovecot/src/director/director-connection.c /dovecot/src/director/director-host.h /dovecot/src/director/director.h /dovecot/src/director/doveadm-connection.c /dovecot/src/director/login-connection.c /dovecot/src/director/mail-host.h /dovecot/src/doveadm/doveadm-director.c /dovecot/src/doveadm/doveadm-kick.c /dovecot/src/doveadm/doveadm-mail-index.c /dovecot/src/doveadm/doveadm-penalty.c /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/doveadm-util.c /dovecot/src/doveadm/doveadm-who.c /dovecot/src/doveadm/server-connection.c /dovecot/src/imap-login/client-authenticate.c /dovecot/src/imap-login/client.h /dovecot/src/imap-urlauth/imap-urlauth-client.c /dovecot/src/imap-urlauth/imap-urlauth-login.c /dovecot/src/imap-urlauth/imap-urlauth-worker.c /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/cmd-urlfetch.c /dovecot/src/imap/imap-client.c /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-master.c /dovecot/src/lib-auth/auth-master.h /dovecot/src/lib-auth/auth-server-connection.c /dovecot/src/lib-dict/dict-client.c /dovecot/src/lib-dns/dns-lookup.c /dovecot/src/lib-imap-client/imapc-connection.c /dovecot/src/lib-imap-storage/imap-msgpart-url.c /dovecot/src/lib-imap-urlauth/imap-urlauth-connection.c /dovecot/src/lib-imap-urlauth/imap-urlauth-fetch.c /dovecot/src/lib-imap/imap-url.c /dovecot/src/lib-imap/test-imap-url.c /dovecot/src/lib-lda/lmtp-client.c /dovecot/src/lib-lda/lmtp-client.h /dovecot/src/lib-master/anvil-client.c /dovecot/src/lib-master/ipc-client.c /dovecot/src/lib-master/ipc-server.c /dovecot/src/lib-master/master-auth.h /dovecot/src/lib-master/master-login-auth.c /dovecot/src/lib-master/master-service-settings.h /dovecot/src/lib-master/master-service.h /dovecot/src/lib-settings/settings-parser.c /dovecot/src/lib-storage/index/pop3c/pop3c-client.c /dovecot/src/lib-storage/mail-storage-service.h /dovecot/src/lib-storage/mail-user.c /dovecot/src/lib/Makefile.am /dovecot/src/lib/connection.c /dovecot/src/lib/connection.h /dovecot/src/lib/failures.c /dovecot/src/lib/fd-close-on-exec.c /dovecot/src/lib/ioloop-notify-inotify.c /dovecot/src/lib/istream-file.c /dovecot/src/lib/net.c /dovecot/src/lib/net.h /dovecot/src/lib/ostream-file.c /dovecot/src/lib/sendfile-util.c /dovecot/src/lib/test-network.c /dovecot/src/lib/unix-socket-create.c /dovecot/src/lib/uri-util.c client.h lmtp-proxy.h /dovecot/src/login-common/access-lookup.c /dovecot/src/login-common/client-common.h /dovecot/src/login-common/login-proxy-state.c /dovecot/src/login-common/login-proxy.h /dovecot/src/login-common/ssl-proxy-gnutls.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/master/master-settings.c /dovecot/src/master/service-listen.c /dovecot/src/master/service.h /dovecot/src/plugins/fts/fts-indexer.c /dovecot/src/plugins/fts/fts-parser-script.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/replication/replication-plugin.c /dovecot/src/plugins/stats/stats-connection.c /dovecot/src/plugins/zlib/doveadm-zlib.c /dovecot/src/pop3-login/client.h /dovecot/src/pop3/pop3-client.c /dovecot/src/replication/aggregator/notify-connection.c /dovecot/src/replication/aggregator/replicator-connection.c /dovecot/src/replication/replicator/doveadm-connection.c /dovecot/src/stats/client-export.c /dovecot/src/stats/mail-stats.h /dovecot/src/util/rawlog.c
a566d9f8797dd66b4d5432a20ab2b9f7c8f76102 28-Aug-2012 Timo Sirainen <tss@iki.fi>

lmtp proxy: Forward proxy_timeout to backend and set mail_max_lock_timeout based on it. This automatically avoids duplicate mail deliveries caused by long lock waits.

4ee00532a265bdfb38539d811fcd12d51210ac35 19-Aug-2012 Timo Sirainen <tss@iki.fi>

Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name Easy way to update your existing code: perl -i -pe 's:ARRAY_DEFINE\(([^,]+), *([^)]+)\);:ARRAY($2) $1;:' **/*.[ch]

/dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-settings.c /dovecot/src/auth/auth-settings.h /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/auth.c /dovecot/src/auth/db-ldap.h /dovecot/src/auth/main.c /dovecot/src/auth/passdb-template.c /dovecot/src/auth/passdb.c /dovecot/src/auth/userdb-template.c /dovecot/src/auth/userdb.c /dovecot/src/config/config-parser-private.h /dovecot/src/config/config-parser.c /dovecot/src/dict/dict-connection.h /dovecot/src/dict/dict-settings.h /dovecot/src/director/director-test.c /dovecot/src/director/director.h /dovecot/src/director/mail-host.c /dovecot/src/director/main.c /dovecot/src/director/user-directory.c /dovecot/src/doveadm/doveadm-dump.c /dovecot/src/doveadm/doveadm-kick.c /dovecot/src/doveadm/doveadm-mail-altmove.c /dovecot/src/doveadm/doveadm-mail-fetch.c /dovecot/src/doveadm/doveadm-mail.h /dovecot/src/doveadm/doveadm-print-flow.c /dovecot/src/doveadm/doveadm-print-pager.c /dovecot/src/doveadm/doveadm-print-table.c /dovecot/src/doveadm/doveadm-print.c /dovecot/src/doveadm/doveadm-server.h /dovecot/src/doveadm/doveadm-settings.h /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/doveadm-who.c /dovecot/src/doveadm/doveadm.c /dovecot/src/doveadm/dsync/dsync-mailbox-export.c /dovecot/src/doveadm/dsync/dsync-mailbox-import.c /dovecot/src/doveadm/dsync/dsync-mailbox-tree-private.h /dovecot/src/doveadm/dsync/dsync-mailbox-tree-sync.c /dovecot/src/doveadm/dsync/dsync-slave-pipe.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/imap-client.h /dovecot/src/imap/imap-commands-util.c /dovecot/src/imap/imap-commands.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-notify.h /dovecot/src/imap/imap-search.h /dovecot/src/indexer/worker-connection.c /dovecot/src/ipc/ipc-connection.h /dovecot/src/ipc/ipc-group.c /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-dict/dict-memcached-ascii.c /dovecot/src/lib-dict/dict-redis.c /dovecot/src/lib-dict/dict-sql-settings.c /dovecot/src/lib-dict/dict-sql-settings.h /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-dict/dict-transaction-memory.h /dovecot/src/lib-dict/dict.c /dovecot/src/lib-imap-client/imapc-client-private.h /dovecot/src/lib-imap-client/imapc-connection.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-index-modseq.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-strmap.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-export.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction-view.c /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-transaction-log-view-private.h /dovecot/src/lib-lda/lmtp-client.c /dovecot/src/lib-lda/mail-deliver.h /dovecot/src/lib-mail/istream-attachment-connector.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/rfc2231-parser.c /dovecot/src/lib-mail/test-istream-attachment.c /dovecot/src/lib-master/anvil-client.c /dovecot/src/lib-master/ipc-client.c /dovecot/src/lib-master/master-instance.c /dovecot/src/lib-master/master-service-settings.c /dovecot/src/lib-master/mountpoint-list.c /dovecot/src/lib-settings/settings-parser.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-sql/driver-sqlpool.c /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-storage/index/dbox-common/dbox-file.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-map-private.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-save.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.h /dovecot/src/lib-storage/index/dbox-single/sdbox-save.c /dovecot/src/lib-storage/index/imapc/imapc-storage.h /dovecot/src/lib-storage/index/index-mail-binary.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-search-private.h /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-sync-changes.c /dovecot/src/lib-storage/index/index-thread-finish.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/list/mailbox-list-fs-iter.c /dovecot/src/lib-storage/list/mailbox-list-index-notify.c /dovecot/src/lib-storage/list/mailbox-list-maildir.c /dovecot/src/lib-storage/mail-search-register-human.c /dovecot/src/lib-storage/mail-search-register.c /dovecot/src/lib-storage/mail-storage-hooks.c /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage-settings.h /dovecot/src/lib-storage/mail-user.h /dovecot/src/lib-storage/mailbox-keywords.c /dovecot/src/lib-storage/mailbox-list-iter.c /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/mailbox-tree.c /dovecot/src/lib/array-decl.h /dovecot/src/lib/array.h /dovecot/src/lib/ioloop-epoll.c /dovecot/src/lib/ioloop-kqueue.c /dovecot/src/lib/ioloop-private.h /dovecot/src/lib/lib.h /dovecot/src/lib/module-context.h /dovecot/src/lib/priorityq.c /dovecot/src/lib/test-aqueue.c /dovecot/src/lib/test-array.c /dovecot/src/lib/var-expand.c client.h lmtp-proxy.c /dovecot/src/log/log-connection.c /dovecot/src/master/service-listen.c /dovecot/src/master/service-process-notify.c /dovecot/src/master/service.h /dovecot/src/plugins/acl/acl-backend-vfile.h /dovecot/src/plugins/acl/acl-cache.c /dovecot/src/plugins/expire/doveadm-expire.c /dovecot/src/plugins/expire/expire-set.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-lucene/lucene-wrapper.cc /dovecot/src/plugins/fts-solr/fts-backend-solr-old.c /dovecot/src/plugins/fts-solr/fts-backend-solr.c /dovecot/src/plugins/fts-solr/solr-connection.c /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/fts/fts-api.c /dovecot/src/plugins/fts/fts-parser-script.c /dovecot/src/plugins/fts/fts-storage.h /dovecot/src/plugins/pop3-migration/pop3-migration-plugin.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-search.c /dovecot/src/plugins/virtual/virtual-storage.h /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/plugins/virtual/virtual-transaction.h /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-client.h /dovecot/src/replication/replicator/replicator-brain.c /dovecot/src/replication/replicator/replicator-queue.c /dovecot/src/ssl-params/main.c
a10ed8c47534b4c6b6bf2711ccfe577e720a47b4 23-Jun-2012 Timo Sirainen <tss@iki.fi>

Marked functions parameters that are allowed to be NULL. Some APIs were also changed. The non-obvious APIs where NULL parameter was changed to "" are master_service_init() and auth_master_user_list_init(). These checks can currently be enabled only on a patched clang: http://llvm.org/bugs/show_bug.cgi?id=6786

/dovecot/src/anvil/main.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-master-connection.h /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request.c /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-settings.h /dovecot/src/auth/auth-stream.h /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/auth.c /dovecot/src/auth/auth.h /dovecot/src/auth/db-checkpassword.h /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-ldap.h /dovecot/src/auth/db-passwd-file.c /dovecot/src/auth/main.c /dovecot/src/auth/mech-anonymous.c /dovecot/src/auth/mech-apop.c /dovecot/src/auth/mech-cram-md5.c /dovecot/src/auth/mech-ntlm.c /dovecot/src/auth/mech-otp-skey-common.c /dovecot/src/auth/mech-plain-common.c /dovecot/src/auth/mech-rpa.c /dovecot/src/auth/mech-winbind.c /dovecot/src/auth/mech.c /dovecot/src/auth/password-scheme-otp.c /dovecot/src/auth/password-scheme.h /dovecot/src/auth/userdb-passwd.c /dovecot/src/auth/userdb-static.c /dovecot/src/auth/userdb.h /dovecot/src/config/config-parser-private.h /dovecot/src/config/config-request.h /dovecot/src/config/doveconf.c /dovecot/src/config/main.c /dovecot/src/dict/main.c /dovecot/src/director/director-connection.c /dovecot/src/director/director-test.c /dovecot/src/director/director.h /dovecot/src/dns/dns-client.c /dovecot/src/doveadm/doveadm-director.c /dovecot/src/doveadm/doveadm-log.c /dovecot/src/doveadm/doveadm-mail-fetch.c /dovecot/src/doveadm/doveadm-mail-iter.h /dovecot/src/doveadm/doveadm-mail-mailbox-status.c /dovecot/src/doveadm/dsync/doveadm-dsync.c /dovecot/src/doveadm/dsync/dsync-brain.c /dovecot/src/doveadm/dsync/dsync-mailbox-import.c /dovecot/src/doveadm/dsync/dsync-slave-io.c /dovecot/src/doveadm/main.c /dovecot/src/imap-login/client.c /dovecot/src/imap-login/client.h /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-expunge.c /dovecot/src/imap/imap-client.h /dovecot/src/imap/imap-commands-util.h /dovecot/src/imap/imap-expunge.h /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-sync.c /dovecot/src/indexer/indexer.c /dovecot/src/indexer/master-connection.c /dovecot/src/ipc/client.c /dovecot/src/ipc/main.c /dovecot/src/lib-auth/auth-client-request.c /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-master.c /dovecot/src/lib-auth/auth-master.h /dovecot/src/lib-dict/dict.h /dovecot/src/lib-dns/dns-lookup.h /dovecot/src/lib-imap-client/imapc-connection.h /dovecot/src/lib-imap-storage/imap-msgpart.c /dovecot/src/lib-imap/imap-base-subject.c /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-imap/imap-url.c /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-index-alloc-cache.c /dovecot/src/lib-index/mail-index-alloc-cache.h /dovecot/src/lib-index/mail-index-map-hdr.c /dovecot/src/lib-index/mail-index-map.c /dovecot/src/lib-index/mail-index-util.h /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-lda/mail-deliver.h /dovecot/src/lib-lda/smtp-client.h /dovecot/src/lib-mail/istream-binary-converter.c /dovecot/src/lib-mail/istream-dot.c /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-part-serialize.c /dovecot/src/lib-mail/message-search.h /dovecot/src/lib-mail/message-size.c /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-mail/rfc822-parser.h /dovecot/src/lib-mail/test-istream-header-filter.c /dovecot/src/lib-master/anvil-client.h /dovecot/src/lib-master/ipc-client.h /dovecot/src/lib-master/ipc-server.c /dovecot/src/lib-master/master-service-settings-cache.h /dovecot/src/lib-master/master-service-settings.h /dovecot/src/lib-master/master-service.c /dovecot/src/lib-master/master-service.h /dovecot/src/lib-master/mountpoint-list.c /dovecot/src/lib-ntlm/ntlm-encrypt.c /dovecot/src/lib-ntlm/ntlm-encrypt.h /dovecot/src/lib-otp/otp-parse.c /dovecot/src/lib-settings/settings-parser.c /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-sql/driver-sqlpool.c /dovecot/src/lib-sql/sql-api.c /dovecot/src/lib-storage/index/dbox-common/dbox-file-fix.c /dovecot/src/lib-storage/index/dbox-common/dbox-save.h /dovecot/src/lib-storage/index/dbox-common/dbox-storage.c /dovecot/src/lib-storage/index/dbox-common/dbox-sync-rebuild.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-map.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-sync.c /dovecot/src/lib-storage/index/dbox-single/sdbox-storage.c /dovecot/src/lib-storage/index/imapc/imapc-mail.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-sort.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync-changes.h /dovecot/src/lib-storage/index/maildir/maildir-filename-flags.c /dovecot/src/lib-storage/index/maildir/maildir-filename-flags.h /dovecot/src/lib-storage/index/maildir/maildir-mail.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync-index.c /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/maildir/maildir-sync.h /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.h /dovecot/src/lib-storage/index/maildir/maildir-util.c /dovecot/src/lib-storage/index/mbox/mbox-file.c /dovecot/src/lib-storage/index/mbox/mbox-lock.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-sync-parse.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/index/raw/raw-storage.c /dovecot/src/lib-storage/index/shared/shared-storage.c /dovecot/src/lib-storage/list/mailbox-list-delete.c /dovecot/src/lib-storage/list/mailbox-list-fs-iter.c /dovecot/src/lib-storage/list/mailbox-list-fs.c /dovecot/src/lib-storage/list/mailbox-list-index-status.c /dovecot/src/lib-storage/list/mailbox-list-index.c /dovecot/src/lib-storage/list/mailbox-list-maildir.c /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-service.c /dovecot/src/lib-storage/mail-storage-service.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail-thread.h /dovecot/src/lib-storage/mail.c /dovecot/src/lib-storage/mailbox-get.c /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/mailbox-list.h /dovecot/src/lib-storage/mailbox-tree.c /dovecot/src/lib-storage/mailbox-tree.h /dovecot/src/lib-test/test-common.h /dovecot/src/lib/base64.h /dovecot/src/lib/buffer.h /dovecot/src/lib/child-wait.h /dovecot/src/lib/eacces-error.h /dovecot/src/lib/failures.c /dovecot/src/lib/file-dotlock.c /dovecot/src/lib/hash.c /dovecot/src/lib/hash.h /dovecot/src/lib/hash2.h /dovecot/src/lib/ioloop-notify-fd.h /dovecot/src/lib/ioloop.c /dovecot/src/lib/ioloop.h /dovecot/src/lib/iso8601-date.c /dovecot/src/lib/istream-base64-encoder.c /dovecot/src/lib/istream-chain.c /dovecot/src/lib/istream-chain.h /dovecot/src/lib/istream-crlf.c /dovecot/src/lib/istream-private.h /dovecot/src/lib/istream-seekable.h /dovecot/src/lib/istream.c /dovecot/src/lib/istream.h /dovecot/src/lib/lib-signals.c /dovecot/src/lib/lib-signals.h /dovecot/src/lib/macros.h /dovecot/src/lib/mkdir-parents.c /dovecot/src/lib/module-dir.h /dovecot/src/lib/network.c /dovecot/src/lib/network.h /dovecot/src/lib/ostream-private.h /dovecot/src/lib/ostream.c /dovecot/src/lib/ostream.h /dovecot/src/lib/restrict-access.h /dovecot/src/lib/safe-mkstemp.c /dovecot/src/lib/strfuncs.c /dovecot/src/lib/strfuncs.h /dovecot/src/lib/test-iso8601-date.c /dovecot/src/lib/uri-util.c /dovecot/src/lib/uri-util.h /dovecot/src/lib/var-expand.h client.h lmtp-proxy.h /dovecot/src/log/main.c /dovecot/src/login-common/client-common-auth.c /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/login-settings.h /dovecot/src/login-common/sasl-server.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/master/common.h /dovecot/src/plugins/acl/acl-backend-vfile-acllist.c /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-lucene/lucene-wrapper.h /dovecot/src/plugins/fts-solr/solr-connection.c /dovecot/src/plugins/fts-squat/squat-trie.h /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/quota/quota-dirsize.c /dovecot/src/plugins/quota/quota-fs.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/quota/quota.c /dovecot/src/pop3/pop3-client.h /dovecot/src/replication/aggregator/aggregator.c /dovecot/src/replication/replicator/replicator.c /dovecot/src/ssl-params/main.c /dovecot/src/stats/mail-domain.h /dovecot/src/stats/mail-ip.h /dovecot/src/stats/mail-session.h /dovecot/src/stats/mail-user.h /dovecot/src/stats/main.c
ddbdc644a15f56f4b43596f1b8c0fc196c101445 25-Feb-2012 Timo Sirainen <tss@iki.fi>

imap/pop3/lmtp proxy: Implemented detection of proxy loops with TTL. If proxying tries to continue after 5 forward connections, it fails. The limit of 5 is hard coded currently.

b015d3d3af5b1c0fd526f31d78229bf9f633db56 23-Feb-2012 Timo Sirainen <tss@iki.fi>

lmtp: Implemented Postfix-compatible XCLIENT extension for changing client's ip/port.

8aa60989067046e35c4809a616b46473fce0113e 02-Oct-2011 Timo Sirainen <tss@iki.fi>

lmtp: Code cleanup.

ed45903d7ad49b3d54f0883b203632fbccf8eff2 30-Jun-2011 Timo Sirainen <tss@iki.fi>

lmtp: Log the current state in disconnect message.

fcd443a32b01c4da131f36649d5a5fa5f8452dcf 17-Feb-2011 Timo Sirainen <tss@iki.fi>

lmtp: Don't forget LHLO host when sending multiple messages in session.

4afd50dff16661684ad2acddad7284bcd8c564db 30-Nov-2010 Timo Sirainen <tss@iki.fi>

lmtp: Recent change broke accessing mail_temp_dir. Also when it happened, an error message wasn't always logged.

c5c61a6a9d748525ff3b2dd2705844464bed324f 16-Jul-2010 Timo Sirainen <tss@iki.fi>

lmtp: Reverted accidentally committed debug code

55a14bce15b9f44441b5f56616d73651a294d770 15-Jul-2010 Timo Sirainen <tss@iki.fi>

Added mail_temp_dir setting, used by deliver and lmtp for creating temp mail files.

e93ab1b206e3792a8dabc460ad2ee60aaf6830b1 23-Jun-2010 Timo Sirainen <tss@iki.fi>

lmtp: BODY=* setting wasn't reset with RSET --HG-- branch : HEAD

9deb15b8dec1a593940d72532ececc673c6b48ff 25-May-2010 Timo Sirainen <tss@iki.fi>

lmtp: Add Return-Path: header. Also with only one RCPT TO, add Delivered-To: header. --HG-- branch : HEAD

9a935c34e98ba7a9cc90784ceb63b2fbdab4105f 11-Nov-2009 Timo Sirainen <tss@iki.fi>

Added recipient_delimiter setting that LMTP server now uses. --HG-- branch : HEAD

4818cf6ae9cda663ad68823fd83b18ac380a8a4d 10-Nov-2009 Timo Sirainen <tss@iki.fi>

lmtp: Disable idle timeout while proxying. --HG-- branch : HEAD

eed03830015b7138b9d4522e72bef650aa24b45f 05-Nov-2009 Timo Sirainen <tss@iki.fi>

lmtp: Add Received: header, with a session ID. Log the session ID also. --HG-- branch : HEAD

2fb9ae42f9e36388ec6db24188b9108434043fd0 23-Oct-2009 Timo Sirainen <tss@iki.fi>

lib-storage: Changed APIs to fix reading settings for multiple users. --HG-- branch : HEAD

4da8c6cdefabd31262318c32da3c13de1d9ea953 22-Oct-2009 Timo Sirainen <tss@iki.fi>

Merged single and multi mail_storage_service_*() functions. --HG-- branch : HEAD

458acd7b39c84bae0d18c36ff9ddff9a49b4ae4a 12-Oct-2009 Timo Sirainen <tss@iki.fi>

lmtp: Added lmtp_proxy setting (it's no longer hardcoded to yes). --HG-- branch : HEAD

c2ebc8f28b5504f280cd5d4adfe57ed70f9a7d83 31-Aug-2009 Timo Sirainen <tss@iki.fi>

lmtp: Added initial support for proxying mails to other LMTP/SMTP servers. --HG-- branch : HEAD

c4390dad33b03dd51ba2a475f550347c86ebdb9a 23-Jun-2009 Timo Sirainen <tss@iki.fi>

lmtp: Use dot istream for reading DATA input. --HG-- branch : HEAD

315ce5be539bfe8bc7777ab0654499c49583cea2 17-Apr-2009 Timo Sirainen <tss@iki.fi>

Initial implementation of LMTP server. Master process doesn't yet execute it though. --HG-- branch : HEAD