Hello,
I borrowed dovecot parser for email addresses and I'm using it in my new perl module Email::Address::XS for parsing & formatting list of email addresses. That perl module is available at github [1].
During implementation and testing I found bugs in dovecot code. So I'm sending my patches (together with tests) which I'm using in my perl module.
Lot of other (normal & corner) test cases are part of that perl module [2], so if you are interested feel free to reuse them. Because writing new test cases for dovecot is hard for me, I'm not going to do it. In perl for perl modules it is a lot of easier for me.
[1] - https://github.com/pali/Email-Address-XS [2] - https://github.com/pali/Email-Address-XS/blob/master/t/Email-Address-XS.t
Changes since v1:
- Updated description with test example
- Rebased on top of master branch
Pali Rohár (7): lib-mail: message_address_write: Fix generating empty group list lib-mail: message_address_write: Fix generating group list with empty name lib-mail: parse_addr_spec: Like in rfc822_skip_comment() check if last_comment is not NULL lib-mail: parse_addr_spec: Email address without local-part is invalid lib-mail: parse_mailbox: Set display name instead mailbox when parsing failed lib-mail: message_address_write: Quote and escape strings if needed lib-mail: Update tests for message address
src/lib-mail/message-address.c | 99 +++++++++++++++++++++++++++++++---- src/lib-mail/test-message-address.c | 11 +++- 2 files changed, 98 insertions(+), 12 deletions(-)
-- 1.7.9.5