[dovecot/core] e42cd9: imap: Fix sending UID only when necessary on broke...
GitHub
noreply at github.com
Sun Feb 19 16:00:13 UTC 2017
Branch: refs/heads/master-2.2
Home: https://github.com/dovecot/core
Commit: e42cd9406f15140ba43a17d90385eecf0624aeac
https://github.com/dovecot/core/commit/e42cd9406f15140ba43a17d90385eecf0624aeac
Author: Timo Sirainen <timo.sirainen at dovecot.fi>
Date: 2017-02-19 (Sun, 19 Feb 2017)
Changed paths:
M src/imap/imap-fetch.c
M src/imap/imap-fetch.h
Log Message:
-----------
imap: Fix sending UID only when necessary on broken FETCHes.
b748f91d0677fffaa2208b39ebb6db3aeb2e937b changed UID to be sent for most
FETCH replies. There was also some existing code that attempted to do this,
but didn't fully work.
So now:
1) If there are no non-buffered replies, the entire FETCH response isn't
sent.
2) If the buffer was already flushed and nothing else was sent, add UID to
reply. The code paths for handling this are differently for
imap_fetch_failure = disconnect-immediately vs others (depending on
imap_fetch_cur_failed() return value).
Commit: 099cd74264ca3bdb858fa508310c22268d166723
https://github.com/dovecot/core/commit/099cd74264ca3bdb858fa508310c22268d166723
Author: Timo Sirainen <timo.sirainen at dovecot.fi>
Date: 2017-02-19 (Sun, 19 Feb 2017)
Changed paths:
M src/imap/imap-fetch.c
M src/imap/imap-fetch.h
Log Message:
-----------
imap: Code cleanup - Remove duplicate flags from imap_fetch_state
All the cur_flushed, line_partial and line_finished were about the same
thing.
Commit: cd7d2946f356c78d4d73f9667c9342a111678d7e
https://github.com/dovecot/core/commit/cd7d2946f356c78d4d73f9667c9342a111678d7e
Author: Timo Sirainen <timo.sirainen at dovecot.fi>
Date: 2017-02-19 (Sun, 19 Feb 2017)
Changed paths:
M src/lib-fs/fs-posix.c
Log Message:
-----------
fs-posix: Add "no-fsync" parameter.
This disables calling fdatasync() when fs_write() was done with
FS_OPEN_FLAG_FSYNC. Useful for making tests faster.
Commit: c72c40333dde84b09423abf49bcf89e8088c5898
https://github.com/dovecot/core/commit/c72c40333dde84b09423abf49bcf89e8088c5898
Author: Timo Sirainen <timo.sirainen at dovecot.fi>
Date: 2017-02-19 (Sun, 19 Feb 2017)
Changed paths:
M src/lib-storage/mail-storage-hooks.c
Log Message:
-----------
lib-storage: Assert-crash if duplicate internal hooks are added.
Commit: d670659283bb6e00ce306b116e3acda230530f29
https://github.com/dovecot/core/commit/d670659283bb6e00ce306b116e3acda230530f29
Author: Timo Sirainen <timo.sirainen at dovecot.fi>
Date: 2017-02-19 (Sun, 19 Feb 2017)
Changed paths:
M src/lib-storage/mail-storage-service.c
M src/lib-storage/mail-storage.c
Log Message:
-----------
lib-storage: mail_storage_init/deinit() is now reference counted.
This allows calling them multiple times and only the final deinit frees the
data.
Commit: 3413b38df881a8c712ae4a88cfe72bbfed2a7b37
https://github.com/dovecot/core/commit/3413b38df881a8c712ae4a88cfe72bbfed2a7b37
Author: Timo Sirainen <timo.sirainen at dovecot.fi>
Date: 2017-02-19 (Sun, 19 Feb 2017)
Changed paths:
M src/doveadm/doveadm-mail.c
Log Message:
-----------
doveadm: Add explicit mail_storage_init/deinit() calls
This mainly prevents losing hooks that were registered by doveadm plugins.
Otherwise what happens is:
- mail_plugins are unloaded and they unregister their hooks
- doveadm plugins (e.g. doveadm_sieve) are NOT unloaded
- mail_storage_deinit() frees all the registered hooks
- next mail_storage_init() initializes all new hooks
- All mail_plugins are loaded and they register again their hooks
- doveadm plugins are NOT re-loaded or re-initialized, so their existing
hooks were lost.
Commit: bd612a097050665e8e5d72cb352ab3ac11c9a3b6
https://github.com/dovecot/core/commit/bd612a097050665e8e5d72cb352ab3ac11c9a3b6
Author: Timo Sirainen <timo.sirainen at dovecot.fi>
Date: 2017-02-19 (Sun, 19 Feb 2017)
Changed paths:
M src/imap/imap-client.c
M src/imap/imap-client.h
M src/imap/imap-commands.c
M src/imap/imap-commands.h
Log Message:
-----------
imap: Fix running time in tagged command replies.
The timing information was updated only after command_exec() returned.
Most of the commands were handled within a single command_exec() though,
so at the time when tagline was sent the running_usecs was still zero.
The msecs in ioloop timing was correct though, because it relied only on
the command start timing info.
Compare: https://github.com/dovecot/core/compare/f6f4ad6f59bf...bd612a097050
More information about the dovecot-cvs
mailing list