Hello! I have the following problem: when a message is delivered by vdelivermail, maildirsize is updated twice: 235 1 305 1
Apparently, first time it is updated before adding the Return-Path: and Delivered-To: headers. Digging into this issue, I think I found the problem. Before the actual delivery, when the quota is checked by calling user_over_maildirquota() in maildirquota.c, maildirsize is updated the first time: // stat file is regular file size > 0 what is q? if (fstat(0, &stat_buf) == 0 && S_ISREG(stat_buf.st_mode) && stat_buf.st_size > 0 && *q) { // check the quota, and not again error if (maildir_checkquota(dir, "afd, q, stat_buf.st_size, 1) && errno != EAGAIN) { if (quotafd >= 0) close(quotafd); ret_value = 1; } else { maildir_addquota(dir, quotafd, q, stat_buf.st_size, 1); // <----------------------------- if (quotafd >= 0) close(quotafd); ret_value = 0; } } else { ret_value = 0; } What is the logic of calling maildir_addquota() in the code above? If I comment the marked line, apparently all works fine. Is there a reason why maildir_addquota should be called there? I'll update to 5.4.27 and do the change above on a little production server and I'll return with details in a couple of days. -- George Negoita System Administrator iMedia Plus Group !DSPAM:499d398832681284318247!