History log of /dovecot/src/lib-storage/index/imapc/imapc-settings.h
Revision Date Author Comments Expand
7484b1b01bee9b767f8b67396e1f4af4b0ea1dd3 25-Dec-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imapc: Add imapc_features=no-msn-updates This is a stricter version of fetch-msn-workarounds. The MSNs aren't trusted at all. This means any new untagged EXISTS and EXPUNGE replies are ignored, as well as untagged FETCH replies that don't include UID. A potential downside with this feature is that UID FETCH/STORE commands sent to expunged messages will likely fail without the IMAP client being notified of the EXPUNGEs. New mails are also not noticed, so this should be used only when it's known that the clients don't keep the connection open for long.

e01ebd51ac369430ec81945e3c5317d6d6244138 30-Oct-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imapc: Add imapc_features=fetch-empty-is-expunged When FETCH returns an empty mail, the mail is assumed to be expunged.

3c8055b25beef96e7be25895bac34f3eda7ceca1 08-Aug-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imapc: Add imapc_features=send-id to send ID x-session-ext-id

e1005f8bf9190e1778010032dbd20c64acb53610 24-Apr-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imapc: Add imapc_features=fetch-bodystructure This allows using the remote IMAP server's BODY and BODYSTRUCTURE replies.

294c52ba40b626ab1288a27441980cf5285f87dd 06-Apr-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imapc: Remove "_sec" suffix from imapc_connection_retry_interval_secs Its type is SET_TIME, so the value doesn't have to be in seconds.

c515f5c969f7a3a5b525ab15bde2f116cbe932de 03-Apr-2017 Aki Tuomi <aki.tuomi@dovecot.fi>

lib-imap-client: Make retry count and interval configurable

30871b77e627d3d6b244305fbea7aeee578f2927 26-Mar-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imapc: Add imapc_features=delay-login The connection to imapc_host is delayed until it's actually needed to be performed.

1f4d459111419a47021e677839439f2e2ca78ad5 18-Oct-2016 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>

imapc: use serialized settings as unique_root_dir Without this, it is not possible to instantiate multiple imapc storages. Any attempts to will result in multiple namespaces sharing the same storage, regardless of if that was the intention.

c23ebb9b0e0b760ca8da16fde34ff33f5ece5e07 06-Oct-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

imapc: Added imapc_max_line_length to limit maximum memory usage. The default is still unlimited, but this should be set to something smaller for untrusted servers.

90355e35d1139e446a99733986a9181bd7f05dd4 22-Apr-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

imapc: Added support for imapc_features=modseq If the remote server supports CONDSTORE or QRESYNC extensions we'll use the remote's MODSEQ and HIGHESTMODSEQ counts. There are some situations where the HIGHESTMODSEQ isn't updated exactly correctly on an open mailbox, so this feature shouldn't be fully relied on. It was primarily implemented for dsync+imapc support - both for preserving modseqs and also for HIGHESTMODSEQ lookups.

2ddc5efd47452644be369fa86e978cc05a508217 24-Jan-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

imapc: Added imapc_features=fetch-fix-broken-mails This allows ignoring a missing FETCH reply. It shouldn't be used normally, but if there's a mail that the IMAP server simply won't serve, this can be used to finish dsync successfully.

cff23ec51177f11902c99b727268eb05ea7c97c7 24-Jan-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

imapc: Added imapc_cmd_timeout setting to control the command wait timeouts.

53841bd6c67a24b60b64cec41b72eb8b474cfbc7 24-Jan-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

imapc: Added imapc_features=fetch-msn-workarounds This can be used to work around broken servers that send invalid MSNs. This avoids errors like: imapc: Mailbox 'INBOX' state corrupted: FETCH UID mismatch (78976 != 82589)

bd06c77a12bb02871b25dceb749fa955f4a272ff 16-Jan-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

imapc: Added support for PROXYAUTH command by setting imapc_features = proxyauth This can be useful when talking to Sun/Oracle IMAP server, which wants you to use LOGIN+PROXYAUTH to perform master user logins, instead of supporting the standard SASL PLAIN authentication.

df596e34b604e6ac873de9ca92fb5df2a5fed45f 15-Jan-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

imapc: Added imapc_features = no-examine

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 imapc-settings.c 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 /dovecot/src/lmtp/client.h /dovecot/src/lmtp/commands.c /dovecot/src/lmtp/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
eb1365e61674c54c7c453143356a891fb2e2b3d6 15-Apr-2015 Timo Sirainen <tss@iki.fi>

imapc: Added imapc_features=zimbra-workarounds Zimbra (at least v5.0.18_GA_3011.RHEL4_64) can return different headers depending on whether the whole message body was fetched or only (partial) headers. This probably happens only for invalid characters that are translated into '?'. With this workaround enabled we don't use FETCH BODY.PEEK[], but we do FETCH (BODY.PEEK[HEADER] BODY.PEEK[TEXT]) and merge the results together. This way the results are always consistent and headers don't suddenly change.

de26c21cfadf24c1fa59f06414854d58b3d8baad 11-Mar-2015 Timo Sirainen <tss@iki.fi>

imapc: Added throttling settings to imapc_features=throttle:a:b:c This change could be reverted once good settings are found.

6e1cac3defe84a222b804f3ef41ff558e1a86391 03-Feb-2015 Timo Sirainen <tss@iki.fi>

imapc: Added imapc_features=search support for sending SEARCH commands. Currently requires the remote server to support ESEARCH (but this would be easy to avoid). This is only minimally tested for now, so bugs may exist (especially related to sub-queries).

f424c157faae226f153578442fab1512275889fc 23-Jan-2015 Timo Sirainen <tss@iki.fi>

imapc: Merged gmail-pop3 and gmail-labels-keyword features into a single gmail-migration feature There's really no other reason to use them except for migration.

6b23e5a3fff511cd64f1edb880fd080016c23c0f 20-Jan-2015 Timo Sirainen <tss@iki.fi>

imapc: Implemented imapc_features=gmail-pop3 that also migrates pop3_deleted_flag. This also caused gmail-pop3-uidl feature to be renamed to simply gmail-pop3, which includes both the features.

e2b63d479f1666fef9a1d1e39c731a5cd813b437 20-Jan-2015 Timo Sirainen <tss@iki.fi>

imapc: Added imapc_features=gmail-pop3-uidl This allows imapc to generate GMail POP3 compatible UIDL so that pop3-migration plugin isn't needed.

3394dcb43382e094b0707c1640efbf46adac9e7d 20-Jan-2015 Timo Sirainen <tss@iki.fi>

imapc: Added imapc_features=gmail-labels-keyword This is a bit kludgy feature mainly intended for migrations from GMail. Unfortunately I couldn't figure out any nicer way to do this for now. GMail's "All Mail" folder contains all messages in all folders, but it also contains some messages that don't exist in other folders. For migrations we want to copy only those messages that don't exist elsewhere. This can now be achieved with something like: doveadm -o imapc_features='gmail-labels-keyword ...' \ backup -F '-$GmailHaveLabels' mdbox:~/mdbox Note that dsync can't handle inserting mails into folders, so if doveadm backup is already run once and one of the existing mails loses all labels, doveadm backup will delete the whole folder and start again.

c6033074ada5c7441ff7bb12c4b433cae737fea2 08-Jan-2015 Timo Sirainen <tss@iki.fi>

imapc: Added imapc_sasl_mechanisms setting The first supported SASL mechanism is used, otherwise the login fails entirely.

b8eb60a9ba83e2f3f6d969e810553eb937be2128 16-Nov-2013 Timo Sirainen <tss@iki.fi>

imapc: Added imapc_feature fetch-header. It uses FETCH BODY.PEEK[HEADER.FIELDS (...)] whenever possible instead of fetching the entire header.

16cb5d65265dd0b216542803fd80c4b999ae118e 19-Mar-2013 Timo Sirainen <tss@iki.fi>

Moved ssl_client_ca_dir and ssl_crypto_device to mail_storage_settings. Probably could also be moved to master_service_settings, but that makes accessing them a bit more tricky with the current code.

8969b39bc3034f841acad83e7b50e4678e49e3a4 25-Feb-2013 Timo Sirainen <tss@iki.fi>

lib-storage: Replaced pop3c_ssl_ca_dir and imapc_ssl_ca_dir with generic ssl_client_ca_dir.

0db42260be85e797aa9909a29b20296996f52e75 06-Nov-2012 Timo Sirainen <tss@iki.fi>

Reverted 269104a0821b (Build imapc and pop3c always as plugins.) This is no longer needed now that lib-ssl-iostream can be linked without linking openssl.

83b97bc7787aa31094bafbf5e08e2a491c84a851 12-Oct-2012 Timo Sirainen <tss@iki.fi>

Build imapc and pop3c always as plugins. This avoids having to link openssl library to all binaries that use lib-storage. It appears that simply by linking with openssl causes each such process to use 100-200 kB of more memory. With 10k imap processes this is 1-2 GB of wasted memory. The imapc and pop3c are still registered as stubs, and their plugins are automatically loaded when needed.

cee50689ea9f3cfec451a6e105307ee2d86ed5dc 14-Aug-2012 Timo Sirainen <tss@iki.fi>

imapc: Added imapc_max_idle_time setting to force activity on connection. Reducing this from the default 29 minutes should help when there's a stateful firewall between imapc and the backend server.

b08822564e0fcb8f3eafd2e4be06ae2efedff0cd 20-Apr-2012 Timo Sirainen <tss@iki.fi>

imapc: Added imapc_list_prefix setting to limit what mailboxes are accessed.

e65df911d966a0b4623e287d4669253cc46bbe0f 18-Apr-2012 Timo Sirainen <tss@iki.fi>

imapc: Added guid-forced feature to use SHA1(message) as GUID.

adcb46fe2c6d1139dfbd8ab08a8fbe96e53f8fd6 30-Mar-2012 Timo Sirainen <tss@iki.fi>

imapc: Added imapc_features=rfc822.size setting to use RFC822.size for physical sizes.

5c6aa687a33a4d819f4b50bb9ec02535395865d6 09-Jan-2012 Timo Sirainen <tss@iki.fi>

imapc: Added imapc_master_user setting.

11bbebd9f9a8043365e87a621a263749e93334bd 24-Nov-2011 Timo Sirainen <tss@iki.fi>

imapc: Pass ssl_crypto_device setting to lib-ssl-iostream.

35779754964119c94b919b75bbf1ccc1c02aad52 17-Oct-2011 Timo Sirainen <tss@iki.fi>

imapc: Added imapc_ssl_verify setting.

0998339f5a8424ce0b9f108006fa6bbc74be70df 21-Sep-2011 Timo Sirainen <tss@iki.fi>

imapc: Added imapc_rawlog_dir setting.

c5d6b453eccc0962eae967abc10e028a740e1256 01-Feb-2011 Timo Sirainen <tss@iki.fi>

imapc: Moved settings from plugin {} section to proper imapc_* settings.