I am currently upgrading from 5.3.30 to 5.4.4. Everything worked great
except a little piece of custom code that I use for SPAM filtering. It saves
me from having to run maildirmake after every user is added. Everything
compiles and installs nicely, however when I do a ./vadduser [EMAIL PROTECTED]
I get
foo/
    Maildir/
            new/
            cur/
            tmp/

What I was hoping for was:
foo/
    Maildir/
            courierimapsubscribed
            new/
            cur/
            tmp/
            .JunkMail/
                    new/
                    cur/
                    tmp/


I have included the source for what I am doing currently and have done in
the past. Any help would be appreciated.


At line 2389 I add (my e-mail client wrapped some lines):

if (mkdir(".JunkMail",VPOPMAIL_DIR_MODE) == -1) { chdir(calling_dir);
return(-1); }
if (chdir(".JunkMail") == -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);
}
chdir("..");
    
    if ( (fs = fopen("courierimapsubscribed", "w+"))==NULL) {
       free("courierimapsubscribed");
       return(0);
       printf ("Error creating IMAP subscribe file.\n");
    } else {
       fprintf(fs, "INBOX.Sent\n");
       fprintf(fs, "INBOX.Trash\n");
       fprintf(fs, "INBOX.Drafts\n");
       fprintf(fs, "INBOX.JunkMail\n");
       fclose(fs);
    }



I this currently works under 5.3.30 in the form of:

* BEGIN:  Create .JunkMail IMAP folder and IMAP subscribe file */
 if (mkdir(".JunkMail",VPOPMAIL_DIR_MODE) == -1){
   chdir(tmpbuf); free(tmpbuf); free(tmpdir);
   printf("make_user_dir: error 3\n");
   return(NULL);
 }

 if (chdir(".JunkMail") == -1) {
   chdir(tmpbuf); free(tmpbuf); free(tmpdir);
   printf("make_user_dir: error 4\n");
   return(NULL);
 }

 if (mkdir("cur",VPOPMAIL_DIR_MODE) == -1) {
   chdir(tmpbuf); free(tmpbuf); free(tmpdir);
   printf("make_user_dir: error 5\n");
   return(NULL);
 }

 if (mkdir("new",VPOPMAIL_DIR_MODE) == -1) {
   chdir(tmpbuf); free(tmpbuf); free(tmpdir);
   printf("make_user_dir: error 6\n");
   return(NULL);
 }

 if (mkdir("tmp",VPOPMAIL_DIR_MODE) == -1) {
   chdir(tmpbuf); free(tmpbuf); free(tmpdir);
   printf("make_user_dir: error 7\n");
   return(NULL);
 }

 chdir("..");
 
 if ( (fs = fopen("courierimapsubscribed", "w+"))==NULL) {
   free("courierimapsubscribed");
   return(0);
   printf ("Error creating IMAP subscribe file.\n");
 } else {
   fprintf(fs, "INBOX.Sent\n");
   fprintf(fs, "INBOX.Trash\n");
   fprintf(fs, "INBOX.Drafts\n");
   fprintf(fs, "INBOX.JunkMail\n");
   fclose(fs);
 }
/* END:  Create .JunkMail IMAP folder and IMAP subscribe file */

Attachment: junkmail.diff.txt
Description: Mac BinHex archive

Reply via email to