hi,
i'm not sure if i've discovered a bug or if i'm not following the IMAP specs correctly.
observations:
{ echo -en "a1 login foo bar\r\na2 notify set (subscribed (FlagChange SubscriptionChange MessageNew MessageExpunge))\r\n"; cat - } | openssl s_client -connect [my_dovecot_server]:993
produces the following output (aside from the openssl s_client cert-inspection stuff):
2020-06-21 12:26:02 * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN AUTH=LOGIN] Dovecot (Debian) ready. 2020-06-21 12:26:02 a1 OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY LITERAL+ NOTIFY SPECIAL-USE] Logged in 2020-06-21 12:26:02 a2 OK NOTIFY completed (0.005 + 0.000 + 0.004 secs). 2020-06-21 12:26:02 a2 OK NOTIFY completed (0.002 + 0.000 + 0.001 secs).
the first line is the pre-login welcome prompt, the second one the result of the "a1 login .." command and the third and fourth seem to be the answer to the "a2 notify set .." command, twice. from the different timings given, it seems the a2 command is actually executed twice.
is this a case of "you're not allowed to pipeline commands like this" or a bug in dovecot (or both)?
i attached the output of dovecot -n
.
best, dario