[dovecot/core] 391e72: acl: Fix checking whether global acl-file has chan...

GitHub noreply at github.com
Mon Oct 9 16:00:14 EEST 2017


  Branch: refs/heads/master-2.2
  Home:   https://github.com/dovecot/core
  Commit: 391e72663b66118de7e4f064246b4c35822de5af
      https://github.com/dovecot/core/commit/391e72663b66118de7e4f064246b4c35822de5af
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-10-09 (Mon, 09 Oct 2017)

  Changed paths:
    M src/plugins/acl/acl-global-file.c

  Log Message:
  -----------
  acl: Fix checking whether global acl-file has changed

We always assumed that it was changed and re-read it.


  Commit: 9f34ca550068b4241a4ce59e0651a6c4e1692b7b
      https://github.com/dovecot/core/commit/9f34ca550068b4241a4ce59e0651a6c4e1692b7b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-10-09 (Mon, 09 Oct 2017)

  Changed paths:
    M src/plugins/acl/acl-backend-vfile.c

  Log Message:
  -----------
  acl: Cleanup - move code to a new acl_vfile_validity_has_changed()


  Commit: 5fe0e7007f77d137bee523b489d33b33c9ee2366
      https://github.com/dovecot/core/commit/5fe0e7007f77d137bee523b489d33b33c9ee2366
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-10-09 (Mon, 09 Oct 2017)

  Changed paths:
    M src/plugins/acl/acl-backend-vfile.c
    M src/plugins/acl/acl-global-file.c
    M src/plugins/acl/acl-global-file.h

  Log Message:
  -----------
  acl: Fix checking create (k) permission in global acl-file

Just because the global ACL file hasn't changed since it was last refreshed
for another ACL object, it doesn't mean that those ACLs don't need to be
applied to this ACL object.

This didn't usually cause problems, because the initial ACL object refresh
was always done due to local-path refresh returning "needs a refresh".
The only exception was when acl_object_init_from_parent() was called,
because it added an empty non-NULL validity for the local-path, so the
"needs a refresh" wasn't returned. This happened only when trying to
CREATE or RENAME mailbox under a parent where user didn't have create
permissions.

This affected only when using a single global acl-file, not when using
global acl directory containing per-mailbox files.


  Commit: 04e1ddbef26d4e78f1b2a900b799963023470ce4
      https://github.com/dovecot/core/commit/04e1ddbef26d4e78f1b2a900b799963023470ce4
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-10-09 (Mon, 09 Oct 2017)

  Changed paths:
    M src/plugins/acl/acl-backend-vfile.c

  Log Message:
  -----------
  acl: Fix compiler warning with -Wstrict-bool


  Commit: 5010a20396194856685378dc4784f927820e0eed
      https://github.com/dovecot/core/commit/5010a20396194856685378dc4784f927820e0eed
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-10-09 (Mon, 09 Oct 2017)

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

  Log Message:
  -----------
  lib: istream-multiplex - Forward i_stream_switch_ioloop() to parent

Most istreams do this because istream_private.parent is set to the parent
stream, but this can't be done with istream-multiplex. The main problem
with attempting to do the same with istream-multiplex is that the different
channels don't share the same I/O. Just because one channel received data
doesn't mean that other channels received any data. (It would be possible
to solve this by implementing a new method that allows overriding
i_stream_set_io(), but I'm not sure if that's a good idea either.)


  Commit: 24c8220e5a12ab0452c20927f011a56f8f70f78e
      https://github.com/dovecot/core/commit/24c8220e5a12ab0452c20927f011a56f8f70f78e
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-10-09 (Mon, 09 Oct 2017)

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

  Log Message:
  -----------
  lib: ostream-multiplex - set ostream_private.parent

Unlike with istream-multiplex, there are no issues with I/Os. Only the
parent stream will have the I/O. Using the default parent adds the
missing methods that otherwise would have needed to be implemented:
 - cork
 - flush_pending
 - switch_ioloop


  Commit: e1cc98e84032330105cfb8af60ccbe19102385aa
      https://github.com/dovecot/core/commit/e1cc98e84032330105cfb8af60ccbe19102385aa
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-10-09 (Mon, 09 Oct 2017)

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

  Log Message:
  -----------
  doveadm log test: Fix it to work again

Broken by 719abeb2088987f213a33a7dd1fe78958beaef03


  Commit: 0158d47fd7b5d881c2df1c12f5029b1a7ae19019
      https://github.com/dovecot/core/commit/0158d47fd7b5d881c2df1c12f5029b1a7ae19019
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-10-09 (Mon, 09 Oct 2017)

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

  Log Message:
  -----------
  doveadm: Add remote(host) prefix to all proxied logs


Compare: https://github.com/dovecot/core/compare/b208348b8ad3...0158d47fd7b5


More information about the dovecot-cvs mailing list