[dovecot/core] b6c683: lib-mail: Change rfc822_parser_context.nul_replace...

GitHub noreply at github.com
Wed Apr 25 19:00:18 EEST 2018


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: b6c683c63e7e96c6f700c48ffbe616c32f21088a
      https://github.com/dovecot/core/commit/b6c683c63e7e96c6f700c48ffbe616c32f21088a
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-04-25 (Wed, 25 Apr 2018)

  Changed paths:
    M src/lib-mail/message-address.c
    M src/lib-mail/rfc2231-parser.c
    M src/lib-mail/rfc822-parser.c
    M src/lib-mail/rfc822-parser.h
    M src/lib-mail/test-rfc822-parser.c

  Log Message:
  -----------
  lib-mail: Change rfc822_parser_context.nul_replacement_char to string


  Commit: 5581f6337bcdcf254c5ba2fc50c6c24cc4ed37be
      https://github.com/dovecot/core/commit/5581f6337bcdcf254c5ba2fc50c6c24cc4ed37be
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-04-25 (Wed, 25 Apr 2018)

  Changed paths:
    M src/lib-mail/message-part-data.c
    M src/lib-mail/rfc2231-parser.h
    M src/lib-mail/rfc822-parser.h
    M src/lib-mail/test-message-address.c
    M src/lib-mail/test-rfc2231-parser.c

  Log Message:
  -----------
  lib-mail: Change NUL -> 0x80 replacement to use unicode replacement char instead

Using 0x80 produces invalid UTF-8 output, which we should avoid. Some places
in Dovecot code already requires that input is valid UTF-8, so it's also
safer and easier to use the unicode replacement character.

Fixes: Panic: file fts-tokenizer-generic.c: line 210 (fts_tokenizer_generic_simple_next): assertion failed: (char_size > 0)


  Commit: 99d9e710d669242867cb7bf6ac3ae711ab1c11fe
      https://github.com/dovecot/core/commit/99d9e710d669242867cb7bf6ac3ae711ab1c11fe
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-04-25 (Wed, 25 Apr 2018)

  Changed paths:
    M src/lib-mail/message-header-parser.c
    M src/lib-mail/message-header-parser.h

  Log Message:
  -----------
  lib-mail: Remove MESSAGE_HEADER_REPLACE_NULS_WITH_0x80 flag

As mentioned in previous commit, 0x80 isn't valid UTF-8 and we shouldn't
encourage using it. This implementation also can't be easily changed to
use unicode replacement character without larger changes to istream-nonuls.

Reverts 95fba2c295bb84639dc64ca5c9f2ccb9edc00ba7.


Compare: https://github.com/dovecot/core/compare/42ac34749675...99d9e710d669


More information about the dovecot-cvs mailing list