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