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

Reply via email to