John Fawcett
2018-Mar-04 21:21 UTC
Panic: file smtp-address.c: line 530 (smtp_address_write): assertion failed: (smtp_char_is_qpair(*p))
On 04/03/18 09:55, Stephan Bosch wrote:> Op 3/4/2018 om 9:07 AM schreef John Fawcett: >> On 03/03/18 22:10, Stephan Bosch wrote: >>> Clearly, the relevant specifications don't allow UTF-8 in the local part >>> without email address internationalization (EAI), which Dovecot does not >>> support nor announce yet (although that should be mended somewhat soon). >>> My preferred fix for now would be to reject addresses like that, which >>> would maybe still mean that this message is rejected entirely. >>> Alternatively, that address at least needs to be skipped, ignored, or >>> modified: all of which aren't very nice things to do. The alternative is >>> forwarding this violation to other systems, which is seldom acceptable >>> either. >>> >> Would accepting UTF8 local part in the From header have any negative >> consequences for Dovecot? If it does not I would accept it, based on the >> fact that it maintains greater interoperability with other systems. >> John >> > Depends on what causes the panic. I don't know that yet. > > Regards, > > Stephan.>From the code in lib-smtp/smtp-address.c function smtp_address_write, itlooks as though the assertion will happen whenever there is a non ascii char that is also non qpair in the local part, ie !smtp_char_is_atext(*p) and !smtp_char_is_qpair(*p). I wasn't able to confirm it since I've not moved to 2.3 yet and the 2.2 code is different, but this should happen if there are characters from 0x01 to 0x1f or from 0x7f to 0xff in the local part. By the way I noticed that if Postfix has SMTPUTF8 enabled, then it won't hand off messages with this content to Dovecot since Dovecot does not advertise support for SMTPUTF8. If SMTPUTF8 is unavailable or disabled then Postfix passes on those characters. I suspect that Ralph has SMTPUTF8 turned off. John
Ralf Hildebrandt
2018-Mar-05 13:02 UTC
[ext] Re: Panic: file smtp-address.c: line 530 (smtp_address_write): assertion failed: (smtp_char_is_qpair(*p))
> I wasn't able to confirm it since I've not moved to 2.3 yet and the 2.2 > code is different, but this should happen if there are characters from > 0x01 to 0x1f or from 0x7f to 0xff in the local part.Yeah, I was running 2.2.x prior to my upgrade and never encountered this.> By the way I noticed that if Postfix has SMTPUTF8 enabled, then it won't > hand off messages with this content to Dovecot since Dovecot does not > advertise support for SMTPUTF8. If SMTPUTF8 is unavailable or disabled > then Postfix passes on those characters. I suspect that Ralph has > SMTPUTF8 turned off.Ah I see: When a message is received with the SMTPUTF8 request, Postfix will deliver the message to a non-SMTPUTF8 SMTP or LMTP server ONLY if: * No message header value contains UTF-8. * The envelope sender address contains no UTF-8, * No envelope recipient address for that specific SMTP/LMTP delivery transaction contains UTF-8. I wonder if this will break a lot. -- Ralf Hildebrandt Gesch?ftsbereich IT | Abteilung Netzwerk Charit? - Universit?tsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt at charite.de | https://www.charite.de
Ralf Hildebrandt
2018-Mar-05 13:58 UTC
[ext] Re: Panic: file smtp-address.c: line 530 (smtp_address_write): assertion failed: (smtp_char_is_qpair(*p))
> From the code in lib-smtp/smtp-address.c function smtp_address_write, it > looks as though the assertion will happen whenever there is a non ascii > char that is also non qpair in the local part, ie > !smtp_char_is_atext(*p) and !smtp_char_is_qpair(*p).Could somebody please point me in the direction how to obtain a coredump here? -- Ralf Hildebrandt Gesch?ftsbereich IT | Abteilung Netzwerk Charit? - Universit?tsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt at charite.de | https://www.charite.de -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 195 bytes Desc: not available URL: <https://dovecot.org/pipermail/dovecot/attachments/20180305/df298cf6/attachment.sig>
Ralf Hildebrandt
2018-Mar-05 14:02 UTC
[ext] Re: Panic: file smtp-address.c: line 530 (smtp_address_write): assertion failed: (smtp_char_is_qpair(*p))
* Ralf Hildebrandt <Ralf.Hildebrandt at charite.de>:> > From the code in lib-smtp/smtp-address.c function smtp_address_write, it > > looks as though the assertion will happen whenever there is a non ascii > > char that is also non qpair in the local part, ie > > !smtp_char_is_atext(*p) and !smtp_char_is_qpair(*p). > > Could somebody please point me in the direction how to obtain a > coredump here?I found sysctl -w fs.suid_dumpable=2 but where will coredumps be written? -- Ralf Hildebrandt Gesch?ftsbereich IT | Abteilung Netzwerk Charit? - Universit?tsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt at charite.de | https://www.charite.de -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 195 bytes Desc: not available URL: <https://dovecot.org/pipermail/dovecot/attachments/20180305/101d4f0d/attachment.sig>
Apparently Analagous Threads
- [ext] Re: Panic: file smtp-address.c: line 530 (smtp_address_write): assertion failed: (smtp_char_is_qpair(*p))
- Panic: file smtp-address.c: line 530 (smtp_address_write): assertion failed: (smtp_char_is_qpair(*p))
- [ext] Re: Panic: file smtp-address.c: line 530 (smtp_address_write): assertion failed: (smtp_char_is_qpair(*p))
- Panic: file smtp-address.c: line 530 (smtp_address_write): assertion failed: (smtp_char_is_qpair(*p))
- Panic: file smtp-address.c: line 530 (smtp_address_write): assertion failed: (smtp_char_is_qpair(*p))