[vchkpw] vpopmail, spamassassin, and squirrelmail
Hi all, Does anyone have a HOW-TO or any information on how to integrate Spamassassin with vpopmail and Squirrelmail? I'm specifically looking to use the squirrelmail spamassassin plugin to allow the users to modify their spam settings. I'm not sure how this is done in conjunction with vpopmail, however. Anyone tried this? The server will have the following packages on it : qmail courier-imap spamassasin (using qmail-scanner) vpopmail (for virtual domains/mailboxes. No local accounts whatsoever.) Panda Software virus scanner (qmail wrapper, doesn't use qmail-scanner) SquirrelMail mySQL database back end (3.23.55, not 4.0 yet) Thanks, -- --- Jason 'XenoPhage' Frisvold Engine / Technology Programmer [EMAIL PROTECTED] RedHat Certified - RHCE # 807302349405893 --- "Something mysterious is formed, born in the silent void. Waiting alone and unmoving, it is at once still and yet in constant motion. It is the source of all programs. I do not know its name, so I will call it the Tao of Programming." signature.asc Description: This is a digitally signed message part
Re: [vchkpw] HA! vqregister database issue squashed
On Wed, 2003-02-19 at 08:38, made wrote: > Hello Rick, > > Wednesday, February 19, 2003, 12:27:42 AM, you wrote: > > > Allright, I've been running vqregister for quite a while, and I've > > wanted to add a 'Secret Word' so users could re-request their email > > password. Obviously, the database functions should take care of that. > > > Not on my system :( > > > I think what it all came down to was my version of MySQL. I think the > > db functions for MySQL were done on an older version than I have, and my > > version is just pickier. > > > Anyways, I attached a full patch that does everything but link > db_mysql.* ->> db_*. I don't know what parts or even if you want it, but > > the biggest issue was the MySQL insert. > > Apparently my versions (I've upgraded since first trying), require the > > column names before the values. So I added that to db_mysql.c, and > > that's reflected in the first part of the patch. > > > Have Fun! > > > Rick > > Great... sorry i'm newbies in vqregister!! is it meant that you can > use mysql to store all the vqregister user database? That's Correct. > oh... what a wonderfull > things.. coz i'm always fail to do that. everytime i compile my vqregister > thereis no database on mySQL server like the vqregister blurb said, Yeah, first thing is to either copy db_mysql.* to db.* or create a symlink to db_mysql.* from db.* Took me a while to figure that part out. I guess it's not really supported, and there are no docs. :( > is it some bug in vqregiser or maybe i do it in wrong way? so would you please give >me some > clue so i can use mysql to store all user information who had > registered via vqregister!! Start with making sure db_mysql is actually compiled in, by doing one of the above. Then make sure you've AT LEAST applied the part of the patch that adds to db_mysql.c. You MAY not need that, but it doesn't hurt. That part of the patch changes the MySQL insert from: INSERT INTO VPOPMAIL VALUES ("1","2") to INSERT INTO VPOPMAIL (user,dom) VALUES ("1","2") I assume some version of MySQL doesn't require the field names on an insert, but mine does. (Though I'm not sure why you wouldn't want to specify that.) At that point, you can at least do what the example shows - the rest of my patch adds a field for implementation of using a 'Secret Word'. So if you want to use more fields, use the rest of the patch as a guide. Rick > thanks
RE: [vchkpw] vpopmail, spamassassin, and squirrelmail
http://www.jerfu.com/toaster It's a pretty straight forward step-by-step for vpopmail+spamassassin+squirrelmail etc etc. -Clayton -Original Message- From: Jason 'XenoPhage' Frisvold [mailto:[EMAIL PROTECTED]] Sent: Wednesday, February 19, 2003 6:49 AM To: [EMAIL PROTECTED] Subject: [vchkpw] vpopmail, spamassassin, and squirrelmail Hi all, Does anyone have a HOW-TO or any information on how to integrate Spamassassin with vpopmail and Squirrelmail? I'm specifically looking to use the squirrelmail spamassassin plugin to allow the users to modify their spam settings. I'm not sure how this is done in conjunction with vpopmail, however. Anyone tried this? The server will have the following packages on it : qmail courier-imap spamassasin (using qmail-scanner) vpopmail (for virtual domains/mailboxes. No local accounts whatsoever.) Panda Software virus scanner (qmail wrapper, doesn't use qmail-scanner) SquirrelMail mySQL database back end (3.23.55, not 4.0 yet) Thanks, -- --- Jason 'XenoPhage' Frisvold Engine / Technology Programmer [EMAIL PROTECTED] RedHat Certified - RHCE # 807302349405893 --- "Something mysterious is formed, born in the silent void. Waiting alone and unmoving, it is at once still and yet in constant motion. It is the source of all programs. I do not know its name, so I will call it the Tao of Programming."
Re: [vchkpw] vpopmail, spamassassin, and squirrelmail
Jason, This seems out of scope for the Vpopmail list but I'll tell you what we're trying to do. Your config is like ours except we don't use qmail-scanner or Panda ( we use RAV). Although Clayton's howto is a great start, it doesn't address the issue of allowing people to manage their SA setting within Squirrelmail. There's a Vpopmail user management plugin on the Squirrelmail site which works well. I just finished modifing it to have a setting of "Spam filtering ON/OFF" This basically puts "|maildrop" in a user's .qmail file. The second step is to integrate the SA control panel located at http://spamassassin.org/devel/php-sa-mysql-0.5.tar.gz . Still working on that... Note that if you are using procmail and have no need for security, there's some handy plugins already available on the Squirrelmail site that will do all this for you. --chris davis > > > Hi all, > > Does anyone have a HOW-TO or any information on how to integrate > Spamassassin with vpopmail and Squirrelmail? I'm specifically looking to > use the squirrelmail spamassassin plugin to allow the users to modify their > spam settings. I'm not sure how this is done in conjunction with vpopmail, > however. Anyone tried this? > > The server will have the following packages on it : > > qmail > courier-imap > spamassasin (using qmail-scanner) > vpopmail (for virtual domains/mailboxes. No local accounts whatsoever.) > Panda Software virus scanner (qmail wrapper, doesn't use qmail-scanner) > SquirrelMail mySQL database back end (3.23.55, not 4.0 yet) > > Thanks, > -- > --- > Jason 'XenoPhage' Frisvold > Engine / Technology Programmer > [EMAIL PROTECTED] > RedHat Certified - RHCE # 807302349405893 > --- > "Something mysterious is formed, born in the silent void. Waiting alone and > unmoving, it is at once still and yet in constant motion. It is the source > of all programs. I do not know its name, so I will call it the Tao of > Programming." > > >
RE: [vchkpw] vpopmail, spamassassin, and squirrelmail
Cool... that's a start, at least... :) Thanks for the info... On Wed, 2003-02-19 at 10:21, Clayton Weise wrote: > http://www.jerfu.com/toaster > > It's a pretty straight forward step-by-step for > vpopmail+spamassassin+squirrelmail etc etc. > > -Clayton -- --- Jason 'XenoPhage' Frisvold Engine / Technology Programmer [EMAIL PROTECTED] RedHat Certified - RHCE # 807302349405893 --- "Something mysterious is formed, born in the silent void. Waiting alone and unmoving, it is at once still and yet in constant motion. It is the source of all programs. I do not know its name, so I will call it the Tao of Programming." signature.asc Description: This is a digitally signed message part
Re: [vchkpw] vpopmail, spamassassin, and squirrelmail
On Wed, 2003-02-19 at 11:09, Christopher Davis wrote: > Jason, > This seems out of scope for the Vpopmail list but I'll tell you what we're > trying to do. My apologies... I'm not completely familiar with SpamAssassin, so I'm not totally sure how it works. I know it has to get the configuration from somewhere. In my limited research (thus far), I've noticed that procmail, maildrop, and .qmail files are used for this.. However, there are no home directories for these users since they're all virtual.. So, I was wondering how to make it work within the confines of vpopmail... > Your config is like ours except we don't use qmail-scanner or Panda ( we use > RAV). Although Clayton's howto is a great start, it doesn't address the > issue of allowing people to manage their SA setting within Squirrelmail. An important part of what I want to do... :) > There's a Vpopmail user management plugin on the Squirrelmail site which > works well. I just finished modifing it to have a setting of "Spam > filtering ON/OFF" This basically puts "|maildrop" in a user's .qmail file. > The second step is to integrate the SA control panel located at > http://spamassassin.org/devel/php-sa-mysql-0.5.tar.gz . Still working on > that... Hrm... now I gotta learn PHP.. *sigh* :) > Note that if you are using procmail and have no need for security, there's > some handy plugins already available on the Squirrelmail site that will do > all this for you. Not using procmail, actually... Security is *always* an issue :) > --chris davis Thanks for the info... I'd be more than happy to discuss this more off the list... :) -- --- Jason 'XenoPhage' Frisvold Engine / Technology Programmer [EMAIL PROTECTED] RedHat Certified - RHCE # 807302349405893 --- "Something mysterious is formed, born in the silent void. Waiting alone and unmoving, it is at once still and yet in constant motion. It is the source of all programs. I do not know its name, so I will call it the Tao of Programming." signature.asc Description: This is a digitally signed message part
Re: [vchkpw] HA! vqregister database issue squashed
Hi, everybody. I wrote the vQregister package a long time ago, so Im going to attempt to remember the required stuffs. First, Rick, you are correct, there isnt much documentation on using the database stuff inside vQregister. The reason for this, is that a client of ours paid for the development, but did not fund documentation, and we were on a rushed schedule. Second, the default compilation flags (as I left them; they may have been modified by someone else here), is set to compile against MySQL which confuses a lot of people. It is not a requirement. Third, pertaining to the field names, you need to define them because you're building your own database. vQregister needs to understand the database value names to correctly match between user input via the CGI, and the database table values. Lastly, just an FYI to anyone interested, we have a 'Request your forgotten password' in the works. We havent yet decided the scope of what systems it will support (ie: vpopmail, or just vQregister, etc), or how it will function for each individual system. So, there will, at some time, in the near future be a release of this utility CGI. It's just unfortunate that 'near future' can mean anything from tomorrow, to five months from now. If you have any other questions/comments, feel free to send em along. Just be sure to CC vchkpw so everyone sees :) Rick Romero wrote: On Wed, 2003-02-19 at 08:38, made wrote: Hello Rick, Wednesday, February 19, 2003, 12:27:42 AM, you wrote: Allright, I've been running vqregister for quite a while, and I've wanted to add a 'Secret Word' so users could re-request their email password. Obviously, the database functions should take care of that. Not on my system :( I think what it all came down to was my version of MySQL. I think the db functions for MySQL were done on an older version than I have, and my version is just pickier. Anyways, I attached a full patch that does everything but link db_mysql.* ->> db_*. I don't know what parts or even if you want it, but the biggest issue was the MySQL insert. Apparently my versions (I've upgraded since first trying), require the column names before the values. So I added that to db_mysql.c, and that's reflected in the first part of the patch. Have Fun! Rick Great... sorry i'm newbies in vqregister!! is it meant that you can use mysql to store all the vqregister user database? That's Correct. oh... what a wonderfull things.. coz i'm always fail to do that. everytime i compile my vqregister thereis no database on mySQL server like the vqregister blurb said, Yeah, first thing is to either copy db_mysql.* to db.* or create a symlink to db_mysql.* from db.* Took me a while to figure that part out. I guess it's not really supported, and there are no docs. :( is it some bug in vqregiser or maybe i do it in wrong way? so would you please give me some clue so i can use mysql to store all user information who had registered via vqregister!! Start with making sure db_mysql is actually compiled in, by doing one of the above. Then make sure you've AT LEAST applied the part of the patch that adds to db_mysql.c. You MAY not need that, but it doesn't hurt. That part of the patch changes the MySQL insert from: INSERT INTO VPOPMAIL VALUES ("1","2") to INSERT INTO VPOPMAIL (user,dom) VALUES ("1","2") I assume some version of MySQL doesn't require the field names on an insert, but mine does. (Though I'm not sure why you wouldn't want to specify that.) At that point, you can at least do what the example shows - the rest of my patch adds a field for implementation of using a 'Secret Word'. So if you want to use more fields, use the rest of the patch as a guide. Rick thanks -- mailto:[EMAIL PROTECTED] Matt Brookings - Chief Technical Officer Inter7 Internet Technologies, Inc. www.inter7.com - 847-492-0470 Prices at http://www.inter7.com/prices
Re: Re[2]: [vchkpw] How can I hide my IP
Thank you Barry, you've hit the nail on the head, I will be using your solution to this problem, it's exactly what I need. Thank you - Original Message - From: "Barry Hill" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, February 19, 2003 4:36 AM Subject: Re[2]: [vchkpw] How can I hide my IP > This problem _could_ be legitimate ... > > I sometimes have a similar problem: When I'm travelling and access the > Net via, say, a Norwegian provider, but send emails with the "From" and > "Reply-to" headers set to my .co.uk home domain address, certain > emails never get to the intended recipients. > > Hotmail users in particular never receive my mails. My guess is that > hotmail does a reverse-lookup on the address and refuses it if it is > different (but I'm open to other suggestions!). > > So I got past that by using the server which hosts my domains as a SMTP > relay. Then all my mails get through. (I did have to use a different > port and SMTP AUTH because some providers redirect all outgoing port > 25 traffic to their own servers - not necessarily a bad thing as some > have virus filters etc. in place). > > > How about setting up a mail relay server in the country you're > supposed to be in. Then, according to your message below, you would > have no need to hide the IP address of your main server. > > > Regards, > Barry > > Tuesday, February 18, 2003, 5:16:52 PM, you wrote: > > bac> To clear up some judgement that are being made, the hiding of my IP is > bac> purely a protective measure NOT to send bulk email. My employer deals one on > bac> one with clients, however when the IP is displayed it identifies which > bac> country he is operating from and some of his agreements state that he must > bac> reside in a particular country to participate. > > > > >
[vchkpw] where to get dev releases?
Hello, This is probably a stupid question, but where can I find the dev releases of vpopmail? I was only able to find a download link for the current stable release on the inter7 web site. Thank you, -ben Benjamin Tomhave, Senior Systems Engineer [EMAIL PROTECTED] Sofast Communications www.sofast.net
RE: [vchkpw] where to get dev releases?
http://inter7.com/develop.html -Original Message- From: Benjamin Tomhave [mailto:[EMAIL PROTECTED]] Sent: Wednesday, February 19, 2003 3:12 PM To: [EMAIL PROTECTED] Subject: [vchkpw] where to get dev releases? Hello, This is probably a stupid question, but where can I find the dev releases of vpopmail? I was only able to find a download link for the current stable release on the inter7 web site. Thank you, -ben Benjamin Tomhave, Senior Systems Engineer [EMAIL PROTECTED] Sofast Communications www.sofast.net
[vchkpw] domain quotas
Since there's been alot of hype about domain quotas, I've put my changes in the attached patch file. This will patch vpopmail-5.3.16 (maildirquota.c and vdelivermail.c). There's a new file vqmaillocal.c that apparently doesn't use Maildir++ quotas, so I didn't touch that. The CPU usage is negligible (I saw 0-20 ms). With this patch, another function is added to maildirquota.c called domain_over_maildirquota() that extracts the domain info from the given end-user Maildir and returns 1 if the domain is already at/over quota, or the new message would exceed the domains quota. Note that this patch *only* enforces Maildir++ quotas (both size and count), and not system quotas. The diskquota parameter of the vlimits structure is in MB (NOT BYTES), and the maxmsgcount parameter specifies the max messages for the whole domain. If either value is less than or equal to 0, it is treated as unlimited. Ken/Bill - I've been running this for about a month now with the published vlimits API and it seems to work well with little CPU overhead. All deliveries still seem to be under 1 second. I've stripped out the system quotas implementation and made it simply Maildir++ quota compliant. Thanks, Brian Common subdirectories: vpopmail-5.3.16/attic and vpopmail-5.3.16.new/attic Common subdirectories: vpopmail-5.3.16/cdb and vpopmail-5.3.16.new/cdb Common subdirectories: vpopmail-5.3.16/contrib and vpopmail-5.3.16.new/contrib Common subdirectories: vpopmail-5.3.16/convert and vpopmail-5.3.16.new/convert Common subdirectories: vpopmail-5.3.16/doc and vpopmail-5.3.16.new/doc Common subdirectories: vpopmail-5.3.16/ldap and vpopmail-5.3.16.new/ldap diff -c vpopmail-5.3.16/maildirquota.c vpopmail-5.3.16.new/maildirquota.c *** vpopmail-5.3.16/maildirquota.c Wed Oct 23 15:53:36 2002 --- vpopmail-5.3.16.new/maildirquota.c Wed Feb 19 17:55:36 2003 *** *** 29,34 --- 29,35 #include #include #include + #include "vlimits.h" #include "maildirquota.h" #include "config.h" *** *** 46,51 --- 47,54 long xtra_size, int xtra_cnt, int *percentage); static int docount(const char *, time_t *, off_t *, unsigned *); + static int domreadquota(const char *dir, long *sizep, int *cntp); + static int readuserquota(const char* dir, long *sizep, int *cntp); int deliver_quota_warning(const char *dir); #define NUMBUFSIZE 60 *** *** 55,60 --- 58,253 #define MDQUOTA_COUNT 'C' /* Total number of messages in maildir */ + /* bk: add domain limits functionality */ + int domain_over_maildirquota(const char *userdir) + { + struct statstat_buf; + int ret_value = 0; + char *domdir=(char *)malloc(strlen(userdir)+1); + char *p; + char domain[256]; + unsigned long size = 0; + unsigned long maxsize = 0; + int cnt = 0; + int maxcnt = 0; + struct vlimits limits; + + if (fstat(0, &stat_buf) == 0 && S_ISREG(stat_buf.st_mode) && + stat_buf.st_size > 0) + { + + /* locate the domain directory */ + strcpy(domdir, userdir); + if ((p = strstr(domdir, "/Maildir/")) != NULL) + { + while (*(--p) != '/') + ; + *(p+1) = '\0'; + } + + /* locate the domainname */ + while (*(--p) != '/') + ; + strncpy(domain, ++p, sizeof(domain)); + if ((p = strchr(domain, '/')) != NULL) + *p = '\0'; + + /* get the domain quota */ + if (vget_limits(domain, &limits)) + { + free(domdir); + return 0; + } + + /* convert from MB to bytes */ + maxsize = limits.diskquota * 1024 * 1024; + maxcnt = limits.maxmsgcount; + + /* get the domain usage */ + if (domreadquota(domdir, &size, &cnt)) + { + free(domdir); + return -1; + } + + /* check if either quota (size/count) would be exceeded */ + if (maxsize > 0 && (size + stat_buf.st_size) > maxsize) + { + ret_value = 1; + } + else if (maxcnt > 0 && cnt >= maxcnt) + { + ret_value = 1; + } + } + + free(domdir); + + return(ret_value); + } + + static int domreadquota(const char *dir, long *sizep, int *cntp) + { + int tries; + char checkdir[256]; + DIR *dirp; + struct dirent *de; + + + if (dir == NULL || sizep == NULL || cntp == NULL) + return -1; + + *sizep = 0; + *cntp = 0; + + dirp=opendir(dir); + while (dirp && (de=readdir(dirp)) != 0) + { + if (!strcmp(de->d_name
Re: [vchkpw] Postgres in 5.3.16 - I see it, how do I enable it?
> Anyone? There must be some developmental work going on with it or it > wouldn't have been in the tarball. I am willing to help work on it but I > need some help getting over this initial hurdle (cleanly). Nice, responsive list. :-/ Attached is a patch to 5.3.16 which will get vpgsql to actually work (seems to work right for auth and relay, have NOT extensively tested it yet) -- I have not included the configure script changes since they were really nasty and I'm sure there is a better way. ATM the database, user and password are all hardcoded, and I did not change the existing ability to create the database if it doesn't already exist. That seems like a really nasty thing to allow -- basically you are granting the vpopmail database user full access to the vpopmail table where it would seem more prudent to only allow inserts, updates and deletes. (not create/drop). Anyway. Another nasty is that the database notification daemon will spit its info out to the network (i.e. anyone accessing vchkpw) -- I will include a fix for that soon as well as some general cleanups and any other bus I find. I hope to do some more extensive testing, including clear passwords and open relay in the next few days. Adding domains/users and authenticating definately is working though, and the tables seem to be updating correctly for relay and lastauth. Regards, Andrew vpopmail-5.3.16-postgreschanges.diff.gz Description: GNU Zip compressed data
Re: [vchkpw] Postgres in 5.3.16 - I see it, how do I enable it?
That's good. Haven't played with postgres lately. MySQL seemed easy and quick enough. I've added a patch that checks the return code from vopen_smtp_relay(). It used to be void. I changed the interpretation such that it needs to return non-zero if the given IP address wasn't already in the table, and zero on error or the IP was in the table and just the timestamp was updated. I don't know the syntax for postgres. Would you be able to make that modification? I also don't have an oracle Pro C compiler. I typically use OCI. So I don't know how to update the voracle.pc file. If you or anyone knows how to update that, please send an update. Also, you don't have to grant DROP privs, just give it CREATE and it has the auto-create feature built in. You only need to grant DROP if you disable the MANY_DOMAINS option, which you probably don't want to do anyway. Not sure which database notification daemon you're speaking of. Thanks, Brian > > Anyone? There must be some developmental work going on with it or it > > wouldn't have been in the tarball. I am willing to help work on it but I > > need some help getting over this initial hurdle (cleanly). > > Nice, responsive list. :-/ > > Attached is a patch to 5.3.16 which will get vpgsql to actually work (seems to > work right for auth and relay, have NOT extensively tested it yet) -- I have > not included the configure script changes since they were really nasty and > I'm sure there is a better way. > > ATM the database, user and password are all hardcoded, and I did not change > the existing ability to create the database if it doesn't already exist. > That seems like a really nasty thing to allow -- basically you are granting > the vpopmail database user full access to the vpopmail table where it would > seem more prudent to only allow inserts, updates and deletes. (not > create/drop). Anyway. > > Another nasty is that the database notification daemon will spit its info out > to the network (i.e. anyone accessing vchkpw) -- I will include a fix for > that soon as well as some general cleanups and any other bus I find. > > I hope to do some more extensive testing, including clear passwords and open > relay in the next few days. Adding domains/users and authenticating > definately is working though, and the tables seem to be updating correctly > for relay and lastauth. > > Regards, > Andrew
[vchkpw] SQL based alias in vpopmail table
Hi, I have a situation where I would like users to be able to login to check mail with a different username to their email address. What I thought about doing was copying the users entry in the vpopmail table and just changing the username. e.g.: user:domain.com:$1$phS3B0$5EkQY3SYejdzRF4klHXOv.:0:0:user:/home/vpopmail/domains/domain.com/user:NULL:password alias::$1$phS3B0$5EkQY3SYejdzRF4klHXOv.:0:0:user:/home/vpopmail/domains/domain.com/user:NULL:password Can anyone see any problems with doing things this way? cheers, Iain.