diff options
Diffstat (limited to 'mail/vpopmail/files/patch-vpopmail.c')
-rw-r--r-- | mail/vpopmail/files/patch-vpopmail.c | 48 |
1 files changed, 42 insertions, 6 deletions
diff --git a/mail/vpopmail/files/patch-vpopmail.c b/mail/vpopmail/files/patch-vpopmail.c index 3f73d3a831a5..1ab4ec597f8a 100644 --- a/mail/vpopmail/files/patch-vpopmail.c +++ b/mail/vpopmail/files/patch-vpopmail.c @@ -1,7 +1,15 @@ diff -urN -x .svn ../../vendor/vpopmail/vpopmail.c ./vpopmail.c ---- ../../vendor/vpopmail/vpopmail.c 2007-10-07 23:44:14.000000000 +0300 -+++ ./vpopmail.c 2007-10-08 11:53:36.000000000 +0300 -@@ -1559,7 +1559,7 @@ +--- ../../vendor/vpopmail/vpopmail.c 2007-12-25 05:03:25.000000000 +0200 ++++ ./vpopmail.c 2007-12-25 07:31:16.000000000 +0200 +@@ -945,6 +945,7 @@ + + /* print error message and return and error */ + fprintf (stderr, "Failed to delete directory %s", mydirent->d_name); ++ closedir(mydir); + return(-1); + } + } +@@ -1562,7 +1563,7 @@ i++; } @@ -10,16 +18,44 @@ diff -urN -x .svn ../../vendor/vpopmail/vpopmail.c ./vpopmail.c if( i>0 ) { for( j=0; j<k; j++ ) { -@@ -1571,7 +1571,7 @@ +@@ -1574,7 +1575,7 @@ // trim spaces and tabs from end i = strlen(s) - 1; -while(( s[i] == ' ' ) || ( s[i] == '\t' )) { -+while(i >= 0 && ( s[i] == ' ' ) || ( s[i] == '\t' )) { ++while(i >= 0 && ( s[i] == ' ' || s[i] == '\t' )) { i--; } -@@ -4127,11 +4127,19 @@ +@@ -2345,7 +2346,12 @@ + char calling_dir[MAX_BUFF]; + char domain_dir[MAX_BUFF]; + const char *dirnames[] = {"Maildir", "Maildir/new", "Maildir/cur", +- "Maildir/tmp"}; ++ "Maildir/tmp", ++#ifdef SPAM_JUNKFOLDER ++ "Maildir/.Junk", "Maildir/.Junk/new", "Maildir/.Junk/cur", ++ "Maildir/.Junk/tmp", ++#endif ++ }; + int i; + + verrori = 0; +@@ -3107,6 +3113,13 @@ + if (mkdir("cur",VPOPMAIL_DIR_MODE) == -1) { chdir(calling_dir); return(-1); } + if (mkdir("new",VPOPMAIL_DIR_MODE) == -1) { chdir(calling_dir); return(-1); } + if (mkdir("tmp",VPOPMAIL_DIR_MODE) == -1) { chdir(calling_dir); return(-1); } ++#ifdef SPAM_JUNKFOLDER ++ if (mkdir(".Junk",VPOPMAIL_DIR_MODE) == -1) { chdir(calling_dir); return(-1); } ++ if (chdir(".Junk") == -1) { chdir(calling_dir); return(-1); } ++ if (mkdir("cur",VPOPMAIL_DIR_MODE) == -1) { chdir(calling_dir); return(-1); } ++ if (mkdir("new",VPOPMAIL_DIR_MODE) == -1) { chdir(calling_dir); return(-1); } ++ if (mkdir("tmp",VPOPMAIL_DIR_MODE) == -1) { chdir(calling_dir); return(-1); } ++#endif + + /* set permissions on the user's dir */ + chdir(dir); +@@ -4139,11 +4152,19 @@ } else if ( pid > 0 ) { |