Re: Dovecot submission panics on SMTP RCPT error

2023-08-10 Thread IB Development Team via dovecot

Hi!

After installing dovecot 2.3.20 from...

https://repo.dovecot.org/ce-2.3-latest/debian/bullseye/pool/main/

...in Debian 11...

   # dpkg -s dovecot-core | grep Version
   Version: 2:2.3.20-3+debian11

...problem still exists. Logs (with exim's debug enabled):

2023-08-10 19:26:39 myhost exim[...]:    54 SMTP>> 550-aa bb 
ccc dd   gg hh ii  jj
2023-08-10 19:26:39 myhost exim[...]:    54 SMTP>> 550-kk    
mm nnn o ppp rr ss t  w xxx
2023-08-10 19:26:39 myhost exim[...]:    54 SMTP>> 550-yy  
aa bbb    dd ee fff gg hhh
2023-08-10 19:26:39 myhost exim[...]:    54 SMTP>> 550- jj 
kk  ll mm   o  ppp  r  tt
2023-08-10 19:26:39 myhost exim[...]:    54 SMTP>> 550 u www 
xxx yyy z a b ccc ddd

2023-08-10 19:26:39 myhost exim[...]:    54 LOG: MAIN REJECT
2023-08-10 19:26:39 myhost exim[...]:    54   [...] rejected RCPT 
<[...]>: aa bb ccc dd   gg 
hh ii  jj kk    mm nnn o ppp rr ss t 
 w xxx yy  aa bbb    dd ee fff 
gg hhh  jj kk  ll mm   o  ppp  r 
 tt u www xxx yyy z a b ccc ddd
2023-08-10 19:26:39 myhost dovecot: 
submission(test)<300>: Panic: file 
smtp-server-reply.c: line 625 (smtp_server_reply_send_real): assertion 
failed: (text[0] == '-')
2023-08-10 19:26:39 myhost dovecot: 
submission(test)<300>: Error: Raw backtrace: 
/usr/lib/dovecot/libdovecot.so.0(backtrace_append+0x42) [0x7fd0e7a45872] 
-> /usr/lib/dovecot/libdovecot.so.0(backtrace_get+0x1e) [0x7fd0e7a4598e] 
-> /usr/lib/dovecot/libdovecot.so.0(+0x1025eb) [0x7fd0e7a525eb] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x102681) [0x7fd0e7a52681] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x55589) [0x7fd0e79a5589] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x48b8d) [0x7fd0e7998b8d] -> 
/usr/lib/dovecot/libdovecot.so.0(smtp_server_command_send_replies+0x95) 
[0x7fd0e79ca055] -> /usr/lib/dovecot/libdovecot.so.0(+0x7e0e2) 
[0x7fd0e79ce0e2] -> /usr/lib/dovecot/libdovecot.so.0(+0x129621) 
[0x7fd0e7a79621] -> 
/usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x69) [0x7fd0e7a68819] 
-> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x132) 
[0x7fd0e7a69f02] -> 
/usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x50) 
[0x7fd0e7a688c0] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x40) 
[0x7fd0e7a68a80] -> 
/usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) 
[0x7fd0e79db3c3] -> dovecot/submission(main+0x4ea) [0x558050a6118a] -> 
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea) [0x7fd0e779dd0a] 
-> dovecot/submission(_start+0x2a) [0x558050a6121a]


Dovecot does not panic when exim's error message is changed to short, 
single line string...


2023-08-10 19:41:53 myhost exim[...]    53 SMTP>> 550 aa bb 
ccc dd   gg hh ii  jj

2023-08-10 19:41:53 myhost exim[...]    53 LOG: MAIN REJECT

...so problem is caused by dovecot's multiline SMTP reponse parsing 
stuff probably; maybe assertion in smtp-server-reply.c:625


https://github.com/dovecot/core/blob/main/src/lib-smtp/smtp-server-reply.c#L625

should not be called because exim's response last line starts with " " 
not "-"?


Pawel


W dniu 10.08.2023 o 18:53, Aki Tuomi pisze:

Hi!

Can you try with latest 2.3.20 fromhttps://repo.dovecot.org  please? 2.3.13 is 
quite old already.

Aki


On 10/08/2023 18:16 EEST IB Development Team via dovecot  
wrote:

  
Hi,


If SMTP server rejects RCPT with message

aaa bb ccc dd   gg hh
ii  jj kk    mm nnn o ppp rr ss t
 w xxx yy  aa bbb    dd ee fff
gg hhh  jj kk  ll mm   o  ppp  r
 tt u www xxx yyy z a b ccc ddd

when submitting message via dovecot submisstion server, dovecot panics:

2023-08-10 17:10:04 myhost exim[...] rejected RCPT <[...]>: aa
bb ccc dd   gg hh ii  jj
kk    mm nnn o ppp rr ss t  w
xxx yy  aa bbb    dd ee fff gg
hhh  jj kk  ll mm   o  ppp  r 
tt u www xxx yyy z a b ccc ddd

2023-08-10 17:10:04 myhost dovecot:
submission(test)<7274>: Panic: file
smtp-server-reply.c: line 625 (smtp_server_reply_send_real): assertion
failed: (text[0] == '-')

2023-08-10 17:10:04 myhost dovecot:
submission(test)<7274>: Error: Raw backtrace:
/

Dovecot submission panics on SMTP RCPT error

2023-08-10 Thread IB Development Team via dovecot

Hi,

If SMTP server rejects RCPT with message

aaa bb ccc dd   gg hh 
ii  jj kk    mm nnn o ppp rr ss t 
 w xxx yy  aa bbb    dd ee fff 
gg hhh  jj kk  ll mm   o  ppp  r 
 tt u www xxx yyy z a b ccc ddd


when submitting message via dovecot submisstion server, dovecot panics:

2023-08-10 17:10:04 myhost exim[...] rejected RCPT <[...]>: aa 
bb ccc dd   gg hh ii  jj 
kk    mm nnn o ppp rr ss t  w 
xxx yy  aa bbb    dd ee fff gg 
hhh  jj kk  ll mm   o  ppp  r  
tt u www xxx yyy z a b ccc ddd


2023-08-10 17:10:04 myhost dovecot: 
submission(test)<7274>: Panic: file 
smtp-server-reply.c: line 625 (smtp_server_reply_send_real): assertion 
failed: (text[0] == '-')


2023-08-10 17:10:04 myhost dovecot: 
submission(test)<7274>: Error: Raw backtrace: 
/usr/lib/dovecot/libdovecot.so.0(backtrace_append+0x42) [0x7f64c8e484e2] 
-> /usr/lib/dovecot/libdovecot.so.0(backtrace_get+0x1e) [0x7f64c8e485fe] 
-> /usr/lib/dovecot/libdovecot.so.0(+0xfc49b) [0x7f64c8e5449b] -> 
/usr/lib/dovecot/libdovecot.so.0(+0xfc531) [0x7f64c8e54531] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x53aee) [0x7f64c8dabaee] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x4751c) [0x7f64c8d9f51c] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x7b605) [0x7f64c8dd3605] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x122171) [0x7f64c8e7a171] -> 
/usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x69) [0x7f64c8e69f59] 
-> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x132) 
[0x7f64c8e6b592] -> 
/usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x50) 
[0x7f64c8e6a000] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x40) 
[0x7f64c8e6a1c0] -> 
/usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) 
[0x7f64c8de04e3] -> dovecot/submission(main+0x4df) [0x562f3ac7c11f] -> 
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea) [0x7f64c8ba4d0a] 
-> dovecot/submission(_start+0x2a) [0x562f3ac7c1aa]


Error message is configured in exim4.conf with

begin routers

mytestrouter:
[...]
    cannot_route_message = aa bb ccc dd  
 gg hh ii  jj kk    mm nnn o 
ppp rr ss t  w xxx yy  aa 
bbb    dd ee fff gg hhh  jj kk  
ll mm   o  ppp  r  tt u www xxx 
yyy z a b ccc ddd


Dovecot installed from up-to-date Debian 11 package:

# dpkg -s dovecot-core | grep Version
Version: 1:2.3.13+dfsg1-2+deb11u1

--
Regards,
Paweł Bogusławski

IB Development Team
E: d...@ib.pl

___
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org


[Dovecot] Crash dovecot 1.2.15

2013-06-05 Thread ib
<>