John Fawcett
2018-Mar-04 08:07 UTC
Panic: file smtp-address.c: line 530 (smtp_address_write): assertion failed: (smtp_char_is_qpair(*p))
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
Stephan Bosch
2018-Mar-04 08:55 UTC
Panic: file smtp-address.c: line 530 (smtp_address_write): assertion failed: (smtp_char_is_qpair(*p))
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.
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
Seemingly Similar Threads
- 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))
- 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))