[dovecot/pigeonhole] 764925: plugins: imapsieve: Deal with messages being expun...

GitHub noreply at github.com
Mon Feb 5 21:49:25 EET 2018


  Branch: refs/heads/master-0.4
  Home:   https://github.com/dovecot/pigeonhole
  Commit: 764925e569ec8690fa0bca7fea7d5bf855b4a7cd
      https://github.com/dovecot/pigeonhole/commit/764925e569ec8690fa0bca7fea7d5bf855b4a7cd
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-05 (Mon, 05 Feb 2018)

  Changed paths:
    M src/plugins/imapsieve/imap-sieve-storage.c

  Log Message:
  -----------
  plugins: imapsieve: Deal with messages being expunged concurrently by the time Sieve filter is to be applied.

Before, this was an assertion that got triggered transiently during imaptest.


  Commit: 721b2afb1162234b5cae6877d2b78977146d3763
      https://github.com/dovecot/pigeonhole/commit/721b2afb1162234b5cae6877d2b78977146d3763
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-05 (Mon, 05 Feb 2018)

  Changed paths:
    M src/lib-sieve/util/realpath.c

  Log Message:
  -----------
  lib-sieve: util: realpath: Fix indentation problems.


  Commit: a960252f0b5f48610e5b7c8618ed07c8231a471c
      https://github.com/dovecot/pigeonhole/commit/a960252f0b5f48610e5b7c8618ed07c8231a471c
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-05 (Mon, 05 Feb 2018)

  Changed paths:
    M src/lib-sieve/util/realpath.c

  Log Message:
  -----------
  lib-sieve: util: realpath: Add assertions to protect memory allocations and boundaries.


  Commit: 461da9c990a6d84f02354cee32d4dd3e18ca5b1e
      https://github.com/dovecot/pigeonhole/commit/461da9c990a6d84f02354cee32d4dd3e18ca5b1e
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-05 (Mon, 05 Feb 2018)

  Changed paths:
    M src/lib-sieve/util/realpath.c

  Log Message:
  -----------
  lib-sieve: util: realpath: Fixed assertion in path_normalize().

The invariant was using the wrong variable for comparison, causing it to trigger
erraticly.


  Commit: c6aa64669239f9522ab3b4364e376655dd5343d2
      https://github.com/dovecot/pigeonhole/commit/c6aa64669239f9522ab3b4364e376655dd5343d2
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-05 (Mon, 05 Feb 2018)

  Changed paths:
    M src/lib-sieve/util/realpath.c

  Log Message:
  -----------
  lib-sieve: util: realpath: Implicitly ignore memmove and memcpy return values in path-util.

This is because dovecot code doesn't explicitly ignore the return values
of those functions elsewhere either.


  Commit: 7da894a0a62a9f4b7e3d5180c3fb060320097315
      https://github.com/dovecot/pigeonhole/commit/7da894a0a62a9f4b7e3d5180c3fb060320097315
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-05 (Mon, 05 Feb 2018)

  Changed paths:
    M src/lib-sieve/util/realpath.c

  Log Message:
  -----------
  lib-sieve: util: realpath: Fix infinite loop in path_normalize().

Infinite loop was reached if the path was longer than
128 bytes, and the 128 boundary was in middle of path
name component.


  Commit: 9ffd260ba96ed542eea2a155b5824d71747093d2
      https://github.com/dovecot/pigeonhole/commit/9ffd260ba96ed542eea2a155b5824d71747093d2
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-05 (Mon, 05 Feb 2018)

  Changed paths:
    M src/lib-sieve/util/realpath.c

  Log Message:
  -----------
  lib-sieve: util: realpath: Correct comment in path_normalize().

Don't blame static analyzers for doing their job.


  Commit: da2fca1ab6b1bae5b68e71494f932ae011fae920
      https://github.com/dovecot/pigeonhole/commit/da2fca1ab6b1bae5b68e71494f932ae011fae920
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-05 (Mon, 05 Feb 2018)

  Changed paths:
    M src/lib-sieve/util/realpath.c

  Log Message:
  -----------
  lib-sieve: util: realpath: Fix spelling mistakes in comment.

Original work by @andreasschulze and @jsoref


  Commit: baa4297d9b17de1a31834bd2655741c9056748f5
      https://github.com/dovecot/pigeonhole/commit/baa4297d9b17de1a31834bd2655741c9056748f5
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-05 (Mon, 05 Feb 2018)

  Changed paths:
    M src/lib-sieve/util/realpath.c

  Log Message:
  -----------
  lib-sieve: util: realpath: Made assertions in path_normalize() more reliable and less confusing to static analyzer.


  Commit: 2b5b62d4fe45e31d2aa40a49ed850b7c0822a0ef
      https://github.com/dovecot/pigeonhole/commit/2b5b62d4fe45e31d2aa40a49ed850b7c0822a0ef
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-05 (Mon, 05 Feb 2018)

  Changed paths:
    M src/lib-sieve/util/realpath.c

  Log Message:
  -----------
  lib-sieve: util: realpath: Allocate more space earlier

Fixes assert crash in path_normalize when termination
needs to happen at asize boundary.

Panic: file realpath.c: line 87 (path_normalize): assertion failed: ((size_t)((npath_pos - npath) + 1) < asize)


  Commit: b15a498f1946a873f3498d9599433e7764d44423
      https://github.com/dovecot/pigeonhole/commit/b15a498f1946a873f3498d9599433e7764d44423
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-05 (Mon, 05 Feb 2018)

  Changed paths:
    M src/lib-sieve/util/realpath.c

  Log Message:
  -----------
  lib-sieve: util: realpath: Improved conditional expressions in path_normalize() to match the earlier adjusted assertions.

Added some more assertions in the process to make sure subtractions are always
valid.


Compare: https://github.com/dovecot/pigeonhole/compare/d72af61cfb06...b15a498f1946


More information about the dovecot-cvs mailing list