History log of /dovecot/src/imap-hibernate/imap-client.h
Revision Date Author Comments Expand
1e2b3bd82f2d4fbae0963f4a220df30b7b5ae628 10-Oct-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

imap-hibernate: Preserve mail_user.session_create_time through hibernation

f24edebe360d3effe584a884aa7d119daf3fd371 10-Oct-2016 Aki Tuomi <aki.tuomi@dovecot.fi>

imap-hibernate: Properly fix hibernation The previous fix did not properly fix hibernation as the clients still dropped out of hibernate. Also the tag used was no longer following. This change will track tag changes and keeps the hibernation process going on until the user enters something else than DONE\r\ntag IDLE\r\n in same packet.

17062405030a3fa095e43d5b8b71afc5536f0a22 02-Aug-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

imap-hibernate: If imap-master socket is busy, retry un-hibernation later.

ce35092786b51fa7fe1f91ca06c2eec6ee447534 20-Feb-2016 manuel <manuel@mausz.at>

imap-hibernate: send connect/disconnect events to anvil make doveadm who + mail_max_userip_connections work with hibernated connections.

2bc963ea051ddacefe0fa5e26280e8ef853fd6c6 31-Aug-2015 Timo Sirainen <tss@iki.fi>

imap-hibernate: Use sockets' st_dev and st_ino to verify that the passed fd is correct.

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 imap-client.h 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 /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
5ef28f68edef46f69961b19b7c1dcd8ec5a955e8 24-Aug-2015 Timo Sirainen <tss@iki.fi>

Added imap-hibernate process for gathering IDLEing imap processes. imap_hibernate_timeout setting controls how quickly the connection is moved from imap process to imap-hibernate process. Some IMAP extensions like NOTIFY, SEARCH=CONTEXT and COMPRESS aren't supported yet. There's also a new X-STATE command, which can be used to export the current IMAP connection state to a string and later on imported to get back to the original state (a quick resync feature for IMAP clients). However, this command is disabled for now due to the current code being unoptimized for untrusted input.

/dovecot/.hgignore /dovecot/configure.ac /dovecot/src/Makefile.am Makefile.am imap-client.c imap-client.h imap-hibernate-client.c imap-hibernate-client.h imap-hibernate-settings.c imap-master-connection.c imap-master-connection.h main.c /dovecot/src/imap/Makefile.am /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/cmd-x-state.c /dovecot/src/imap/imap-client-hibernate.c /dovecot/src/imap/imap-client.c /dovecot/src/imap/imap-client.h /dovecot/src/imap/imap-commands.c /dovecot/src/imap/imap-commands.h /dovecot/src/imap/imap-common.h /dovecot/src/imap/imap-master-client.c /dovecot/src/imap/imap-master-client.h /dovecot/src/imap/imap-settings.c /dovecot/src/imap/imap-settings.h /dovecot/src/imap/imap-state.c /dovecot/src/imap/imap-state.h /dovecot/src/imap/main.c /dovecot/src/lib-storage/mail-user.c /dovecot/src/plugins/imap-zlib/imap-zlib-plugin.c