Mailing List Archive

dbmail-3.2.3: empty fetch response on noop command
Hello,

My imap client fails on noop server response. Is it problem in my
client or in dbmail?

I do following:
- send email and save it into Sent folder on dbmail
- try to check new email and client fails with "unexpected )"

I checked traffic dump and find following conversation:
- elmo-imap448 noop
- * 510 FETCH ()
- elmo-imap448 OK noop completed

As I understand my client expects something in () in FETCH
response. And fetch reponse is ok because of new email appeared in
Sent folder. I am not familiar with imap protocol but I guess my
client wants ID of new email in () or something like this.
_______________________________________________
DBmail mailing list
DBmail@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail
Re: dbmail-3.2.3: empty fetch response on noop command [ In reply to ]
On Fri, 05 Jun 2015 20:46:50 +0300,
Sergej Pupykin <ml@sergej.pp.ru> wrote:
> My imap client fails on noop server response. Is it problem in my
> client or in dbmail?
>
> I do following:
> - send email and save it into Sent folder on dbmail
> - try to check new email and client fails with "unexpected )"
>
> I checked traffic dump and find following conversation:
> - elmo-imap448 noop
> - * 510 FETCH ()
> - elmo-imap448 OK noop completed
>
> As I understand my client expects something in () in FETCH
> response. And fetch reponse is ok because of new email appeared in
> Sent folder. I am not familiar with imap protocol but I guess my
> client wants ID of new email in () or something like this.

I've made workaround by forcing UID sending:

diff -wbBur dbmail-3.2.3/src/dm_imapsession.c dbmail-3.2.3.my/src/dm_imapsession.c
--- dbmail-3.2.3/src/dm_imapsession.c 2015-01-25 13:20:50.000000000 +0300
+++ dbmail-3.2.3.my/src/dm_imapsession.c 2015-07-20 20:26:39.278471730 +0300
@@ -1416,7 +1416,7 @@
if (modseqchanged || flagschanged) {
GList *plist = NULL;
char *response = NULL;
- if (self->use_uid) {
+ if (1 /*self->use_uid*/) {
char *u = g_strdup_printf("UID %" PRIu64, *uid);
plist = g_list_append(plist, u);
}
_______________________________________________
DBmail mailing list
DBmail@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail
Re: dbmail-3.2.3: empty fetch response on noop command [ In reply to ]
On Mon, 20 Jul 2015 20:51:07 +0300,
Sergej Pupykin <ml@sergej.pp.ru> wrote:
> I've made workaround by forcing UID sending:
>

Probably this is better fix:

diff -wbBur dbmail-3.2.3/src/dm_imapsession.c dbmail-3.2.3.q/src/dm_imapsession.c
--- dbmail-3.2.3/src/dm_imapsession.c 2015-01-25 13:20:50.000000000 +0300
+++ dbmail-3.2.3.q/src/dm_imapsession.c 2015-07-22 14:10:36.473334443 +0300
@@ -1413,7 +1413,7 @@
if (oldflags && (! MATCH(oldflags, newflags)))
flagschanged = true;

- if (modseqchanged || flagschanged) {
+ if ((modseqchanged && self->mailbox->condstore) || self->use_uid || flagschanged) {
GList *plist = NULL;
char *response = NULL;
if (self->use_uid) {
_______________________________________________
DBmail mailing list
DBmail@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail