[Dovecot] Maildir++ implementation issues.
Hi Timo and crew!
I'm doing more testing with Dovecot and Maildrop today and have run across some strangeness.
It appears as if Maildrop stores updates to the maildirquota file in a way that causes Dovecot to ignore them.
In my test scenario, Dovecot just rebuilt my maildirsize file to the following:
0S 86213796 108
After delivering a few messages through Postfix -> Maildrop and have the following maildirsize file:
0S 86213796 108 5102 1 387708 1 5093 1 382406 1 3550 1 268337 1
Note the pretty formatting. These are spaces.
Unfortunately, Dovecot seems to ignore these when reading the maildirsize file in maildirsize_parse(). It appears to be using sscanf to look for numeric entries:
if (sscanf(*lines, "%lld %d", &bytes_diff, &count_diff) != 2)
I've read and re-read the maildir++ specification at http://www.inter7.com/courierimap/README.maildirquota.html and can't understand why Maildrop implements things this way.
Steve
On Mon, 2006-06-12 at 11:52 -0400, Apps Lists wrote:
After delivering a few messages through Postfix -> Maildrop and have the following maildirsize file:
0S 86213796 108 5102 1 387708 1 5093 1 382406 1 3550 1 268337 1
Note the pretty formatting. These are spaces.
Unfortunately, Dovecot seems to ignore these when reading the maildirsize file in maildirsize_parse(). It appears to be using sscanf to look for numeric entries:
if (sscanf(*lines, "%lld %d", &bytes_diff, &count_diff) != 2)
That shouldn't matter. sscanf() should be able to skip the spaces by itself. Are you sure that's the problem and not something else? If your sscanf() doesn't skip them, what OS are you using?
participants (2)
-
Apps Lists
-
Timo Sirainen