This reply is intended for Frédéric Leborgne. I edited qmailadmin to only work on ~vppmail/domains/domain.com/.qmail-user.
I tested is by creating a user, adding and removing vacation, forwards, etc. Did not get an error doing any of these things. But You should still exercise caution. I cannot guarantee that there won't be problems with your setup. Below are 2 "diff" files that you supply to the "patch" utility against a vanilla copy of qmailadmin-1.2.0 source code. Once patched, make and make install. You can either patch, or simply open template.c and user.c and replace any occurance of snprintf(NewBuf,sizeof(NewBuf),"%s/.qmail", vpw->pw_dir); with snprintf(NewBuf,sizeof(NewBuf),"%s/domains/%s/.qmail-%s", VPOPMAILDIR, Domain, ActionUser); Same with template.c. You should be able to find all the occurances by following the diff files below. ------------------------------------------------------ Diff 1: ------- --- qmailadmin-1.2.0/user.c Mon Jan 26 13:16:40 2004 +++ user.c Tue Dec 7 15:51:49 2004 @@ -867,7 +867,7 @@ /* unlink the .qmail file */ if ( vpw == NULL ) vpw = vauth_getpw(ActionUser, Domain); - snprintf(NewBuf,sizeof(NewBuf),"%s/.qmail", vpw->pw_dir); + snprintf(NewBuf,sizeof(NewBuf),"%s/domains/%s/.qmail-%s", VPOPMAILDIR, Domain, ActionUser); unlink(NewBuf); /* if the mail is to be checked for spam, rewrite the file with command */ @@ -905,7 +905,7 @@ if ( vpw == NULL ) { vpw = vauth_getpw(ActionUser, Domain); } - snprintf(NewBuf,sizeof(NewBuf),"%s/.qmail", vpw->pw_dir); + snprintf(NewBuf,sizeof(NewBuf),"%s/domains/%s/.qmail-%s", VPOPMAILDIR, Domain, ActionUser); fs = fopen(NewBuf,"w+"); tmpstr = strtok(box," ,;\n"); @@ -953,7 +953,7 @@ mkdir(NewBuf, 0750); /* open the .qmail file */ - snprintf(NewBuf,sizeof(NewBuf),"%s/.qmail", vpw->pw_dir); + snprintf(NewBuf,sizeof(NewBuf),"%s/domains/%s/.qmail-%s", VPOPMAILDIR, Domain, ActionUser); fs = fopen(NewBuf,"w+"); fprintf(fs, "| %s/autorespond 86400 3 %s/vacation/message %s/vacation\n", AUTORESPOND_PATH, vpw->pw_dir, vpw->pw_dir ); @@ -977,7 +977,7 @@ /* save the forward for vacation too */ GetValue(TmpCGI,box,"nforward=", sizeof(box)); - snprintf(NewBuf, sizeof(NewBuf), "%s/.qmail", vpw->pw_dir); + snprintf(NewBuf, sizeof(NewBuf),"%s/domains/%s/.qmail-%s", VPOPMAILDIR, Domain, ActionUser); fs = fopen(NewBuf, "a+"); tmpstr = strtok(box, " ,;\n"); count = 0; @@ -993,7 +993,7 @@ } else if (strcmp(box,"blackhole") == 0 ) { /* open the .qmail file */ - snprintf(NewBuf,sizeof(NewBuf),"%s/.qmail", vpw->pw_dir); + snprintf(NewBuf,sizeof(NewBuf),"%s/domains/%s/.qmail-%s", VPOPMAILDIR, Domain, ActionUser); fs = fopen(NewBuf,"w"); /* for now we use /bin/true, eventually switch this to '# delete' */ Diff 2: ------- --- qmailadmin-1.2.0/template.c Sun Jan 25 19:41:07 2004 +++ template.c Tue Dec 7 15:51:49 2004 @@ -720,7 +720,7 @@ if (vpw==NULL) vpw = vauth_getpw(ActionUser, Domain); if (fs1== NULL) { - snprintf(NTmpBuf, sizeof(NTmpBuf), "%s/.qmail", vpw->pw_dir); + snprintf(NTmpBuf, sizeof(NTmpBuf), "%s/domains/%s/.qmail-%s", VPOPMAILDIR, Domain, ActionUser); fs1 = fopen(NTmpBuf,"r"); } Hope this helps. __________________________________ Do you Yahoo!? Yahoo! Mail - Easier than ever with enhanced search. Learn more. http://info.mail.yahoo.com/mail_250