[dovecot/core] 47235a: lib: Make file_lock_free(NULL) no-op

GitHub noreply at github.com
Wed Jan 3 15:30:16 EET 2018


  Branch: refs/heads/master-2.2
  Home:   https://github.com/dovecot/core
  Commit: 47235aa7f834f115d9777d2eb839c673866cca44
      https://github.com/dovecot/core/commit/47235aa7f834f115d9777d2eb839c673866cca44
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    M src/lib/file-lock.c

  Log Message:
  -----------
  lib: Make file_lock_free(NULL) no-op


  Commit: dfca75521f9e13399e04d5a4f7c9c647701d024f
      https://github.com/dovecot/core/commit/dfca75521f9e13399e04d5a4f7c9c647701d024f
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    M src/doveadm/dsync/dsync-brain-mailbox.c
    M src/doveadm/dsync/dsync-brain-private.h
    M src/doveadm/dsync/dsync-brain.c
    M src/doveadm/dsync/dsync-mailbox.c
    M src/doveadm/dsync/dsync-mailbox.h

  Log Message:
  -----------
  dsync: Add per-mailbox sync lock that is always used.

Both importing and exporting gets the lock before they even sync the
mailbox. The lock is kept until the import/export finishes. This guarantees
that no matter how dsync is run, two dsyncs can't be working on the same
mailbox at the same time.

This lock is in addition to the optional per-user lock enabled by the -l
parameter. If the -l parameter is used, the same lock timeout is used for
the per-mailbox lock. Otherwise 30s timeout is used.

This should help to avoid email duplication when replication is enabled for
public namespaces, and maybe in some other rare situations as well.


  Commit: acb105878ad93b985f4f082d977d31e496f22cbf
      https://github.com/dovecot/core/commit/acb105878ad93b985f4f082d977d31e496f22cbf
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    M src/doveadm/dsync/dsync-brain.c

  Log Message:
  -----------
  dsync: Add debug logging for .dovecot-sync.lock locking/unlocking


  Commit: fef90ec2c697132396b3bc01d10ec42b996f2dec
      https://github.com/dovecot/core/commit/fef90ec2c697132396b3bc01d10ec42b996f2dec
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    M src/doveadm/dsync/dsync-mailbox-import.c

  Log Message:
  -----------
  dsync: Add missing transaction flags when performing UID renumbering

The transaction didn't have MAILBOX_TRANSACTION_FLAG_SYNC or
MAILBOX_TRANSACTION_FLAG_NO_NOTIFY (with DSYNC_BRAIN_FLAG_NO_NOTIFY).

This caused replication-dsync to unnecessarily trigger another dsync
replication notification.


  Commit: 902b195ded57c866dad9563653c59eb77fbf158c
      https://github.com/dovecot/core/commit/902b195ded57c866dad9563653c59eb77fbf158c
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    M src/doveadm/server-connection.c

  Log Message:
  -----------
  doveadm: Fix potential crash or reading garbage from doveadm-server

The connection's input buffer may have been reallocated or otherwise moved
while checking for log input.


  Commit: 7560145d5faff592badee72b7cdbe9380dc18d4f
      https://github.com/dovecot/core/commit/7560145d5faff592badee72b7cdbe9380dc18d4f
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    M src/lib/istream-multiplex.c

  Log Message:
  -----------
  lib: istream-multiplex - Return error if the last packet wasn't fully read


  Commit: ee984a3c95b6b4f7a155236d0eacdf498cd2d38a
      https://github.com/dovecot/core/commit/ee984a3c95b6b4f7a155236d0eacdf498cd2d38a
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    M src/doveadm/doveadm-dump.c

  Log Message:
  -----------
  doveadm dump: Allow doveadm_cmd_dump.test() to be NULL

This means that there's no auto-detection for the dump type.


  Commit: ded24730b7006b76000f23889c7dc53c2267d5f8
      https://github.com/dovecot/core/commit/ded24730b7006b76000f23889c7dc53c2267d5f8
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    M src/doveadm/doveadm-dump.c

  Log Message:
  -----------
  doveadm dump: Add "multiplex" dump type

This allows dumping all channels from istream-multiplex stream.


Compare: https://github.com/dovecot/core/compare/c312c7b1c6d9...ded24730b700


More information about the dovecot-cvs mailing list