Mailing List Archive

DBMail 3.2.4 Imap and Outlook 2013
Hi,

I upgraded DBMail 3.1.17 to DBMail 3.2.4 yesterday, everything was fine
until today the first customer reported a bug with unread/read messages.

I'm not sure if it is a problem of any new feature, because disabling
all new features in the capability list didn't helped (not 100% sure).

After downgrade Outlook 2013 worked as before (more less the good ;-)

The Problem seams to be syncing after reading a message, the message get
marked as read. Outlook starts syncing and after sync the message get
unread again. After changing folder (or restart outlook) the message is
marked as read. So it seams that the server gets the correct flag set
but is unable to tell outlook the new state and returns the unread flag.
This doesn't happen the other direct (read->unread) this works without a
problem...

I would like to know if anyone else has this problem with DBMail 3.2.4
and Outlook 2013.

regards

Harald

--
Harald Leithner

ITronic
Wiedner Hauptstraße 120/5.1, 1050 Wien, Austria
Tel: +43-1-545 0 604
Mobil: +43-699-123 78 4 78
Mail: leithner@itronic.at | itronic.at
_______________________________________________
DBmail mailing list
DBmail@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail
Re: DBMail 3.2.4 Imap and Outlook 2013 [ In reply to ]
On Fri, 18 Sep 2015 14:07:31 +0200
Harald Leithner <leithner@itronic.at> wrote:

> The Problem seams to be syncing after reading a message, the message get
> marked as read. Outlook starts syncing and after sync the message get
> unread again. After changing folder (or restart outlook) the message is
> marked as read. So it seams that the server gets the correct flag set
> but is unable to tell outlook the new state and returns the unread flag.
> This doesn't happen the other direct (read->unread) this works without a
> problem...
>
> I would like to know if anyone else has this problem with DBMail 3.2.4
> and Outlook 2013.


This is from a coworker who has problems subscribing to the mailing list:

Hello Harald,

I have been dealing with the same issues you have described. The problem in my opinion is that Outlook 2013 makes multiple simultaneous connections to the imap server. I tested the same manualy, by making two connections and marking mails as read on one. The other connection did not see the change. I also tried Database debug log (511). I did see the SQL query that aplied changes which succeeded, but i did not see any query when i listed the emails on the second connection. Maybe there is some sort of caching involved?

Best regards,
--
Luka Živulović
Arctur d.o.o.



--

Jure Pečar
https://jure.pecar.org
http://f5j.eu
_______________________________________________
DBmail mailing list
DBmail@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail
Re: DBMail 3.2.4 Imap and Outlook 2013 [ In reply to ]
Hi Luka,

I found already the problem, its a bug in dbmail. It doesn't handle the
"store FLAGS.SLIENT" command correct.

I fixed (or better workaround) it locally but didn't deployed it.

Btw I think there is a logic error anyway in handling concurrent changes
in dbmail, but I'm not sure if I'm right or misinterpreted the RFC.

regards,

Harald


Am 22.09.2015 um 15:03 schrieb Jure Pečar:
> On Fri, 18 Sep 2015 14:07:31 +0200
> Harald Leithner <leithner@itronic.at> wrote:
>
>> The Problem seams to be syncing after reading a message, the message get
>> marked as read. Outlook starts syncing and after sync the message get
>> unread again. After changing folder (or restart outlook) the message is
>> marked as read. So it seams that the server gets the correct flag set
>> but is unable to tell outlook the new state and returns the unread flag.
>> This doesn't happen the other direct (read->unread) this works without a
>> problem...
>>
>> I would like to know if anyone else has this problem with DBMail 3.2.4
>> and Outlook 2013.
>
>
> This is from a coworker who has problems subscribing to the mailing list:
>
> Hello Harald,
>
> I have been dealing with the same issues you have described. The problem in my opinion is that Outlook 2013 makes multiple simultaneous connections to the imap server. I tested the same manualy, by making two connections and marking mails as read on one. The other connection did not see the change. I also tried Database debug log (511). I did see the SQL query that aplied changes which succeeded, but i did not see any query when i listed the emails on the second connection. Maybe there is some sort of caching involved?
>
> Best regards,
>

--
Harald Leithner

ITronic
Wiedner Hauptstraße 120/5.1, 1050 Wien, Austria
Tel: +43-1-545 0 604
Mobil: +43-699-123 78 4 78
Mail: leithner@itronic.at | itronic.at
_______________________________________________
DBmail mailing list
DBmail@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail
Re: DBMail 3.2.4 Imap and Outlook 2013 [ In reply to ]
Hello Harald,

if you can share your findings I have a couple of developer who can work
on the code to develop a regular patch.

Thanks.
---

Andrea Brancatelli
Schema31 S.p.a.
Responsabile IT

ROMA - FIRENZE - PALERMO
ITALY
Tel: +39. 06.98.358.472
Cell: +39 331.2488468
Fax: +39. 055.71.880.466
Società del Gruppo SC31 ITALIA

Il 2015-09-22 22:05 Harald Leithner ha scritto:

> Hi Luka,
>
> I found already the problem, its a bug in dbmail. It doesn't handle the "store FLAGS.SLIENT" command correct.
>
> I fixed (or better workaround) it locally but didn't deployed it.
>
> Btw I think there is a logic error anyway in handling concurrent changes in dbmail, but I'm not sure if I'm right or misinterpreted the RFC.
>
> regards,
>
> Harald
>
> Am 22.09.2015 um 15:03 schrieb Jure Pečar: On Fri, 18 Sep 2015 14:07:31 +0200
> Harald Leithner <leithner@itronic.at> wrote:
>
> The Problem seams to be syncing after reading a message, the message get
> marked as read. Outlook starts syncing and after sync the message get
> unread again. After changing folder (or restart outlook) the message is
> marked as read. So it seams that the server gets the correct flag set
> but is unable to tell outlook the new state and returns the unread flag.
> This doesn't happen the other direct (read->unread) this works without a
> problem...
>
> I would like to know if anyone else has this problem with DBMail 3.2.4
> and Outlook 2013.
>
> This is from a coworker who has problems subscribing to the mailing list:
>
> Hello Harald,
>
> I have been dealing with the same issues you have described. The problem in my opinion is that Outlook 2013 makes multiple simultaneous connections to the imap server. I tested the same manualy, by making two connections and marking mails as read on one. The other connection did not see the change. I also tried Database debug log (511). I did see the SQL query that aplied changes which succeeded, but i did not see any query when i listed the emails on the second connection. Maybe there is some sort of caching involved?
>
> Best regards,
Re: DBMail 3.2.4 Imap and Outlook 2013 [ In reply to ]
Hi Andrea,

in imapcommands.c on line 2222 there is an if statement

// reporting callback
if ((! cmd->silent) || changed > 0) {
bool showmodseq = (changed && (cmd->unchangedsince ||
self->mailbox->condstore));
bool showflags = (! cmd->silent);
_fetch_update(self, msginfo, showmodseq, showflags);
}

One problem is that 'cmd->silent is true' and 'changed' is always bigger
then 0. Infact its always 1 (if no error).
Thats wrong double wrong ;-)

here is my version, its not 100% correct too, in fact I think its
useless for 'silent = true'

// reporting callback
if ((! cmd->silent) && changed > 0) {
bool showmodseq = (changed && (cmd->unchangedsince ||
self->mailbox->condstore));
bool showflags = TRUE;
_fetch_update(self, msginfo, showmodseq, showflags);
}

This statement gets only called if 'cmd->silent = false'. So we always
'showflags = true'.

In fact I think showflags should always be true but may I misunderstand
the RFC.

I think that there should be a function to load all changed Mails for in
the same folder except the current changed one (thats was cmd->silent
mean) and should be reported to the client with _fetch_update.

regards,

Harald

PS: I'm not a c developer so maybe I wrote bullshit code ;-)



Am 23.09.2015 um 10:00 schrieb Andrea Brancatelli:
> Hello Harald,
>
> if you can share your findings I have a couple of developer who can work
> on the code to develop a regular patch.
>
> Thanks.
>
> ---
>
> *Andrea Brancatelli Schema31 S.p.a. Responsabile IT
> *
> ROMA - FIRENZE - PALERMO
> ITALY
> Tel: +39. 06.98.358.472
> Cell: +39 331.2488468
> Fax: +39. 055.71.880.466
> Società del Gruppo*SC31 ITALIA*
>
> Il 2015-09-22 22:05 Harald Leithner ha scritto:
>
>> Hi Luka,
>>
>> I found already the problem, its a bug in dbmail. It doesn't handle
>> the "store FLAGS.SLIENT" command correct.
>>
>> I fixed (or better workaround) it locally but didn't deployed it.
>>
>> Btw I think there is a logic error anyway in handling concurrent
>> changes in dbmail, but I'm not sure if I'm right or misinterpreted the
>> RFC.
>>
>> regards,
>>
>> Harald
>>
>>
>> Am 22.09.2015 um 15:03 schrieb Jure Pečar:
>>> On Fri, 18 Sep 2015 14:07:31 +0200
>>> Harald Leithner <leithner@itronic.at <mailto:leithner@itronic.at>> wrote:
>>>
>>>> The Problem seams to be syncing after reading a message, the message get
>>>> marked as read. Outlook starts syncing and after sync the message get
>>>> unread again. After changing folder (or restart outlook) the message is
>>>> marked as read. So it seams that the server gets the correct flag set
>>>> but is unable to tell outlook the new state and returns the unread flag.
>>>> This doesn't happen the other direct (read->unread) this works without a
>>>> problem...
>>>>
>>>> I would like to know if anyone else has this problem with DBMail 3.2.4
>>>> and Outlook 2013.
>>>
>>>
>>> This is from a coworker who has problems subscribing to the mailing list:
>>>
>>> Hello Harald,
>>>
>>> I have been dealing with the same issues you have described. The problem in my opinion is that Outlook 2013 makes multiple simultaneous connections to the imap server. I tested the same manualy, by making two connections and marking mails as read on one. The other connection did not see the change. I also tried Database debug log (511). I did see the SQL query that aplied changes which succeeded, but i did not see any query when i listed the emails on the second connection. Maybe there is some sort of caching involved?
>>>
>>> Best regards,

--
Harald Leithner

ITronic
Wiedner Hauptstraße 120/5.1, 1050 Wien, Austria
Tel: +43-1-545 0 604
Mobil: +43-699-123 78 4 78
Mail: leithner@itronic.at | itronic.at
_______________________________________________
DBmail mailing list
DBmail@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail