SOURCES: tpop3d-maildirsize.patch (NEW) - tpop3d isn't capable of ...
arekm
arekm at pld-linux.org
Fri Dec 9 09:53:44 CET 2005
Author: arekm Date: Fri Dec 9 08:53:44 2005 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- tpop3d isn't capable of updating maildirsize right now so we need to delete it in order for other software accessing mbox to recreate it
---- Files affected:
SOURCES:
tpop3d-maildirsize.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/tpop3d-maildirsize.patch
diff -u /dev/null SOURCES/tpop3d-maildirsize.patch:1.1
--- /dev/null Fri Dec 9 09:53:44 2005
+++ SOURCES/tpop3d-maildirsize.patch Fri Dec 9 09:53:38 2005
@@ -0,0 +1,35 @@
+diff -ur tpop3d-1.5.3.org/maildir.c tpop3d-1.5.3/maildir.c
+--- tpop3d-1.5.3.org/maildir.c 2005-12-09 11:07:44.370963000 +0100
++++ tpop3d-1.5.3/maildir.c 2005-12-09 11:16:45.570963000 +0100
+@@ -502,10 +502,14 @@
+ * Apply deletions to a maildir. */
+ int maildir_apply_changes(mailbox M) {
+ struct indexpoint *m;
++ struct stat st;
++ char *maildirsizefile;
++ int maildirsizefile_update = 0;
+ if (!M) return 1;
+
+ for (m = M->index; m < M->index + M->num; ++m) {
+ if (m->deleted) {
++ maildirsizefile_update++;
+ if (unlink(m->filename) == -1)
+ log_print(LOG_ERR, "maildir_apply_changes: unlink(%s): %m", m->filename);
+ /* Warn but proceed anyway. */
+@@ -521,6 +525,16 @@
+ }
+ }
+
++ if (maildirsizefile_update) {
++ /* we don't recreate maildirsize file; we delete it and depend on recreation
++ * by MTA or other software accessing mailbox */
++ maildirsizefile = xmalloc(strlen(M->name) + strlen("/maildirsize") + 1);
++ sprintf(maildirsizefile, "%s/maildirsize", M->name);
++ if (stat(maildirsizefile, &st) == 0 && S_ISREG(st.st_mode))
++ unlink(maildirsizefile);
++ xfree(maildirsizefile);
++ }
++
+ return 1;
+ }
+
================================================================
More information about the pld-cvs-commit
mailing list