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