Hi,
i agree with your method to bybass the problem but in this way you will be able to delete a catch all account
for the domain without notice.
I think the best is to fix this issue making possible that the default alias is inserted in the valias table like the others (if you use aliases in database), or to let the function check both file and database. Moreover if it don't found the default alias in the database (this is what happen now) it should segfault but assume
that the account is not catchall.
I'm not a coder and i'm not able to do it.

Bye,
Marcello


Japheth Cleaver wrote:
Hi Steve,

i think the problem is related to something i posted some days ago but
without any answer.

Look at the post :

Re: [vchkpw] vdeluser segfault     posted on 19/08/2007 be my answering
to a previous post.

Let me know if it is the case.
Bye,
Marcello

Steve Cole wrote:
On two (low volume) machines with vpopmail interfaced with mysql as the
data
store, it seemed to work successfully.  I updated the database schema
with no
issues.  This is with v5.4.21

However, when I do a "vdeluser" on either machine, the program
segfaults.  On
both systems.

I tried various things like making sure my LDFLAGS="" and CFLAGS="-O"
only to
be sure it wasn't a compiler issue, without luck.

So, to be clear, this is on two Debian Etch machines with GCC 4.1.1-15
and
MySQL 5.0.32-7etch1 installed.

Going back to 5.4.17 seemed to be no issue at all and of course, it
works as
expected.



I would concur. From a cursory look at the logic, I don't see how this
really works when using MySQL aliases. I commented out the entire catchall
check when moving to 5.4.19 simply to keep things working.


Regards,
-jc


--- vpopmail.c.orig     2007-08-23 16:46:31.000000000 -0700
+++ vpopmail.c  2007-08-23 17:03:51.000000000 -0700
@@ -1733,9 +1733,9 @@
   }

   /* Make sure we are not the email address of the catchall account */
-  if ( isCatchall( user, domain, Dir )) {
-    return(VA_CANNOT_DELETE_CATCHALL);
-    }
+  // if ( isCatchall( user, domain, Dir )) {
+  //  return(VA_CANNOT_DELETE_CATCHALL);
+  //  }

 #ifdef ONCHANGE_SCRIPT
   /* tell other programs that data has changed */

Reply via email to