Re: [qmailadmin] qmailadmin has problems with ezmlm-idx 7.0.2: Patch
I have added a patch for that issue on sourceforge some time ago. It's running here on my systems: http://sourceforge.net/tracker/?func=detailaid=3094082group_id=6691atid=306691 Johannes Am 18.08.11 10:38, schrieb Robert Schulze: Hi, Am 17.08.2011 17:03, schrieb Tom Collins: if (dbuf) will always be true, since you're referring to the array. oops, I fixed that. I think you want if (*dbuf) (e.g., if the first character of dbuf is not null). Likewise, your test of strcmp(dir,)==0 would be clearer as just *dir == '\0'. I think comparing strings with strcmp ist OK. Use strcpy instead of sprintf to copy strings like this: sprintf(dbuf,digest). thats right, fixed. A new patch is attached. with kind regards, Robert Schulze -- Johannes Weberhofer Weberhofer GmbH, Austria, Vienna !DSPAM:4e4cfc4a32711645020277!
[qmailadmin] qmailadmin has problems with ezmlm-idx 7.0.2: Patch
My Collegue Robert Schulze r...@bytecamp.net has written a patch for mailinglist.c, but it is for qmailadmin 1.2.15. It works for us. Thanks Rob. --- mailinglist.c.orig 2011-08-17 15:53:26.0 +0200 +++ mailinglist.c 2011-08-17 15:53:32.0 +0200 @@ -665,6 +665,7 @@ int handles[2],pid,z = 0,subuser_count = 0; char buf[256]; char *addr; + char dbuf[10]={0}; if ( AdminType!=DOMAIN_ADMIN ) { snprintf (StatusMessage, sizeof(StatusMessage), %s, html_text[142]); @@ -680,14 +681,21 @@ close(handles[0]); dup2(handles[1],fileno(stdout)); sprintf(TmpBuf1, %s/ezmlm-list, EZMLMDIR); + if(mod == 1) { -sprintf(TmpBuf2, %s/%s/mod, RealDir, ActionUser); + sprintf(dbuf,mod); } else if(mod == 2) { -sprintf(TmpBuf2, %s/%s/digest, RealDir, ActionUser); -} else { -sprintf(TmpBuf2, %s/%s/, RealDir, ActionUser); + sprintf(dbuf,digest); +} + +sprintf(TmpBuf2, %s/%s/, RealDir, ActionUser); + +if(dbuf) { + execl(TmpBuf1, ezmlm-list, TmpBuf2, dbuf, NULL); +} +else { + execl(TmpBuf1, ezmlm-list, TmpBuf2, NULL); } -execl(TmpBuf1, ezmlm-list, TmpBuf2, NULL); exit(127); } else { close(handles[1]); @@ -799,9 +807,16 @@ pid=fork(); if (pid==0) { snprintf(subpath, sizeof(subpath), %s/ezmlm-sub, EZMLMDIR); -snprintf(listpath, sizeof(listpath), %s/%s/%s, - RealDir, ActionUser, dir); -execl(subpath, ezmlm-sub, listpath, email, NULL); +snprintf(listpath, sizeof(listpath), %s/%s/, + RealDir, ActionUser); + +if(strcmp(dir,)==0) { +execl(subpath, ezmlm-sub, listpath, email, NULL); +} +else { +execl(subpath, ezmlm-sub, listpath, dir, email, NULL); +} + exit(127); } else wait(pid); @@ -870,6 +885,7 @@ { int pid; char *p; + char dbuf[10]={0}; if ( AdminType!=DOMAIN_ADMIN ) { snprintf (StatusMessage, sizeof(StatusMessage), %s, html_text[142]); @@ -889,13 +905,18 @@ if (pid==0) { sprintf(TmpBuf1, %s/ezmlm-unsub, EZMLMDIR); if(mod == 1) { -sprintf(TmpBuf2, %s/%s/mod, RealDir, ActionUser); + sprintf(dbuf,mod); } else if(mod == 2 ) { -sprintf(TmpBuf2, %s/%s/digest, RealDir, ActionUser); -} else { -sprintf(TmpBuf2, %s/%s/, RealDir, ActionUser); + sprintf(dbuf,digest); +} + +sprintf(TmpBuf2, %s/%s/, RealDir, ActionUser); +if(!dbuf) { + execl(TmpBuf1, ezmlm-unsub, TmpBuf2, Newu, NULL); +} +else { + execl(TmpBuf1, ezmlm-unsub, TmpBuf2, dbuf, Newu, NULL); } -execl(TmpBuf1, ezmlm-unsub, TmpBuf2, Newu, NULL); exit(127); } else wait(pid); !DSPAM:4e4bc8ec32711531911261!
Re: [qmailadmin] qmailadmin has problems with ezmlm-idx 7.0.2: Patch
if (dbuf) will always be true, since you're referring to the array. I think you want if (*dbuf) (e.g., if the first character of dbuf is not null). Likewise, your test of strcmp(dir,)==0 would be clearer as just *dir == '\0'. Use strcpy instead of sprintf to copy strings like this: sprintf(dbuf,digest). But then again, why bother -- here's a better solution: char *dbuf = NULL: ... dbuf = digest; ... if (dbuf) { ... } Does anyone have suggestions for how to support both versions of ezmlm in the qmailadmin codebase? Compile-time check which sets a configuration macro? -Tom Sirko Zidlewitz wrote: My Collegue Robert Schulze r...@bytecamp.net has written a patch for mailinglist.c, but it is for qmailadmin 1.2.15. It works for us. Thanks Rob. --- mailinglist.c.orig2011-08-17 15:53:26.0 +0200 +++ mailinglist.c 2011-08-17 15:53:32.0 +0200 @@ -665,6 +665,7 @@ int handles[2],pid,z = 0,subuser_count = 0; char buf[256]; char *addr; + char dbuf[10]={0}; if ( AdminType!=DOMAIN_ADMIN ) { snprintf (StatusMessage, sizeof(StatusMessage), %s, html_text[142]); @@ -680,14 +681,21 @@ close(handles[0]); dup2(handles[1],fileno(stdout)); sprintf(TmpBuf1, %s/ezmlm-list, EZMLMDIR); + if(mod == 1) { -sprintf(TmpBuf2, %s/%s/mod, RealDir, ActionUser); + sprintf(dbuf,mod); } else if(mod == 2) { -sprintf(TmpBuf2, %s/%s/digest, RealDir, ActionUser); -} else { -sprintf(TmpBuf2, %s/%s/, RealDir, ActionUser); + sprintf(dbuf,digest); +} + +sprintf(TmpBuf2, %s/%s/, RealDir, ActionUser); + +if(dbuf) { + execl(TmpBuf1, ezmlm-list, TmpBuf2, dbuf, NULL); +} +else { + execl(TmpBuf1, ezmlm-list, TmpBuf2, NULL); } -execl(TmpBuf1, ezmlm-list, TmpBuf2, NULL); exit(127); } else { close(handles[1]); @@ -799,9 +807,16 @@ pid=fork(); if (pid==0) { snprintf(subpath, sizeof(subpath), %s/ezmlm-sub, EZMLMDIR); -snprintf(listpath, sizeof(listpath), %s/%s/%s, - RealDir, ActionUser, dir); -execl(subpath, ezmlm-sub, listpath, email, NULL); +snprintf(listpath, sizeof(listpath), %s/%s/, + RealDir, ActionUser); + +if(strcmp(dir,)==0) { +execl(subpath, ezmlm-sub, listpath, email, NULL); +} +else { +execl(subpath, ezmlm-sub, listpath, dir, email, NULL); +} + exit(127); } else wait(pid); @@ -870,6 +885,7 @@ { int pid; char *p; + char dbuf[10]={0}; if ( AdminType!=DOMAIN_ADMIN ) { snprintf (StatusMessage, sizeof(StatusMessage), %s, html_text[142]); @@ -889,13 +905,18 @@ if (pid==0) { sprintf(TmpBuf1, %s/ezmlm-unsub, EZMLMDIR); if(mod == 1) { -sprintf(TmpBuf2, %s/%s/mod, RealDir, ActionUser); + sprintf(dbuf,mod); } else if(mod == 2 ) { -sprintf(TmpBuf2, %s/%s/digest, RealDir, ActionUser); -} else { -sprintf(TmpBuf2, %s/%s/, RealDir, ActionUser); + sprintf(dbuf,digest); +} + +sprintf(TmpBuf2, %s/%s/, RealDir, ActionUser); +if(!dbuf) { + execl(TmpBuf1, ezmlm-unsub, TmpBuf2, Newu, NULL); +} +else { + execl(TmpBuf1, ezmlm-unsub, TmpBuf2, dbuf, Newu, NULL); } -execl(TmpBuf1, ezmlm-unsub, TmpBuf2, Newu, NULL); exit(127); } else wait(pid); -- Tom Collins t...@tomlogic.com !DSPAM:4e4bd83732711373790421!
[qmailadmin] [PATCH] autorespond 'pretty' From header
Hi All, Attached a small patch will extend the option of setting a From header of the program autorespond, by the means of allowing 'pretty' From headers, no error checking implemented tough. The better header will make it more easy to for example include a name into the From reply. Sample of the config allowed with the patch: |/usr/local/bin/autorespond 86400 1 ... 1 'Foo Bar [EMAIL PROTECTED]' Best regards, /Rick -- http://rickvanderzwet.nl !DSPAM:48e26c4432318960714686! autorespond.c.diff Description: Binary data
[qmailadmin] simple patch about lang file check
Hello, When qmailadmin could not open/find the language file (lang/en etc) it gives the segmentation fault in the command line and nothing is displayed on the web brower. # ./qmailadmin Segmentation fault: 11 (core dumped) [EMAIL PROTECTED] /tmp/qmailadmin-1.2.11]# gdb qmailadmin GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as i386-marcel-freebsd...r (gdb) r Starting program: /tmp/qmailadmin-1.2.11/qmailadmin Program received signal SIGSEGV, Segmentation fault. 0x2818edc7 in _fseeko () from /lib/libc.so.6 (gdb) bt #0 0x2818edc7 in _fseeko () from /lib/libc.so.6 #1 0x2818f4d9 in fseek () from /lib/libc.so.6 #2 0x0804a19a in load_lang (lang=0x806c940 en) at qmailadmin.c:318 #3 0x0804a5b8 in init_globals () at qmailadmin.c:454 #4 0x0804a6f5 in main (argc=1, argv=0xbfbfecd8) at qmailadmin.c:132 (gdb) When I checked the qmailadmin.c, the return value of the open_lang at load_lang() was not handled.I added some lines in qmailadmin.c to give a html output when an error returned by the function. --- qmailadmin.c.orig Wed Feb 6 14:02:14 2008 +++ qmailadmin.cWed Feb 6 14:04:14 2008 @@ -305,8 +305,19 @@ char *lang_entries; char *id; char *p; + int lang_err; + + lang_err = open_lang (lang); + if (lang_err == -1 ) { +printf(Content-Type: text/html\r\n\r\n); +printf(html head\r\n); +printf(titleFailed to open lang file:%s/title\r\n,lang); +printf(/head\r\nbody\r\n); +printf(h1qmailadmin error/h1\r\n); +printf(pFailed to open lang file: %s. Please check your lang directory.\r\n, lang); +printf(/body/html\r\n); +exit(-1); - open_lang (lang); fseek (lang_fs, 0, SEEK_END); lang_size = ftell (lang_fs); lang_entries = malloc (lang_size); -- + + http://www.enderunix.org/ismail http://www.endersys.com.tr + + EnderUNIX SDT @ Tr Endersys Consultancy Ltd.+ + ismail ~ enderunix.org ismail.yenigul ~ endersys.com.tr + + Volunteer, Core Team Member Project Manager + + TCP/IP ve Ağ güvenliği kitabının 2. baskısı çıktı! http://dukkan.acikakademi.com !DSPAM:47a9c3ba310541058011895! qmailadmin_open_lang.patch Description: Binary data
Re: [qmailadmin] Beta patch
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Rick Widmer wrote: Please upload this patch to the SourceForge tracker so it doesn't get lost. Rick, I'll do this as soon as we're done with the patch. It should be very soon. I just wanted to get some quick feedback from anyone wanting to apply the patch and test. - -- /* Matt Brookings [EMAIL PROTECTED] GnuPG Key ABA26FE7 Software developer Systems technician Inter7 Internet Technologies, Inc. (815)776-9465 */ -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.6 (GNU/Linux) Comment: Using GnuPG with CentOS - http://enigmail.mozdev.org iD8DBQFG7rN+Yaj0Mauib+cRAgExAJ9uzvKgga4Rd/nkUqSLqlQ0WkxQdACfb5bR nAto3byXiYZ5Fdyn23sAnMQ= =93lf -END PGP SIGNATURE-
Re: [qmailadmin] Beta patch
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Rick Widmer wrote: Please upload this patch to the SourceForge tracker so it doesn't get lost. Rick, the patch is uploaded. - -- /* Matt Brookings [EMAIL PROTECTED] GnuPG Key ABA26FE7 Software developer Systems technician Inter7 Internet Technologies, Inc. (815)776-9465 */ -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.6 (GNU/Linux) Comment: Using GnuPG with CentOS - http://enigmail.mozdev.org iD8DBQFG7s4hYaj0Mauib+cRAsA4AJwK0D0KYuzYkZ702O35ZjwDDc8BzQCfcbG+ IbTEUU75KV8ArVXSjPHIpQQ= =ow5I -END PGP SIGNATURE-
Re: [qmailadmin] Beta patch
Matt Brookings wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi again. The patch I spoke of earlier is available to anyone who would like to try it out. Here are the changes I've made: Please upload this patch to the SourceForge tracker so it doesn't get lost. http://sourceforge.net/projects/qmailadmin/ Under tracker, add either a feature request or patch. Please include a copy of the email you sent with info on the patch. Thanks, Rick
[qmailadmin] Beta patch
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi again. The patch I spoke of earlier is available to anyone who would like to try it out. Here are the changes I've made: Added a My Mailboxes link to the main menu, and modify user menu for users with group mailboxes Added new HTML templates and new language codes to support group mailboxes Added a Disable User/Enable user toggle button under Email Accounts Appended a 'source user' argument to hook calls Hooks now set environment variable IS_ADMINISTRATOR if source user has one of the admin flags Added hook: Change password Added hook: Disable account Added hook: Enable account Updated multi-character searching to return a matching list, rather than starting at an index Two new icons for the Disable/Enable toggle This patch is off the current 1.2.9 off SourceForge. We chose not to work against the HEAD version. This is a beta patch, and has not finished our complete testing cycle. It can be downloaded at http://www.inter7.com/qmailadmin/091407.0.patch Because there is no documentation available as of yet for the group mailboxes, here is a quick rundown. The boxgroup command, now compiled with qmailadmin manages the backend group mailboxes. $ ./boxgroup Usage: ./boxgroup operation group Operations: -nMake address owner of a new group -sDisplay group statistics -a address Add existing account to group -r address Remove account from group -m members Set maximum member count for group -q quotaSet default quota for group # Start a group $ ./boxgroup -n [EMAIL PROTECTED] Created group for [EMAIL PROTECTED] # Set it's parameters (Allowed 4 mailboxes, each with a quota of 10MB) $ ./boxgroup -m 4 [EMAIL PROTECTED] $ ./boxgroup -q 1000 [EMAIL PROTECTED] # Show settings $ ./boxgroup -s [EMAIL PROTECTED] Default quota: 1000 Members: 0/4 Even though the boxgroup command lets you manage members, etc, the only real use the command will have is starting a group and setting it's limits. The rest is done by the end user in qmailadmin. We welcome any input, bugs, etc. Thanks! - -- /* Matt Brookings [EMAIL PROTECTED] GnuPG Key ABA26FE7 Software developer Systems technician Inter7 Internet Technologies, Inc. (815)776-9465 */ -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.6 (GNU/Linux) Comment: Using GnuPG with CentOS - http://enigmail.mozdev.org iD8DBQFG6vJHYaj0Mauib+cRApBsAJ4+/RR0mWOXFKUremWJwfUh8Z/SiQCcCN7e 3QIGlMjhr2dq1mUmiwpQRK0= =4bxU -END PGP SIGNATURE-
Re: [qmailadmin] qmailadmin-1.2.9 logger patch
On Aug 21, 2007, at 4:49 PM, Rainer Duffner wrote: I am too lazy to check - does the onchange-facility log the IP of the client? Going through the apache logfile can be tedious, if it is large. If you looked at John's message that I replied to, you'll see that although the script isn't passed the IP, it should have access to the same environment variables the web server passes to QmailAdmin, so checking REMOTE_ADDR should give you the IP of the person who made the change. -- Tom Collins - [EMAIL PROTECTED] Vpopmail - virtual domains for qmail: http://vpopmail.sf.net/ QmailAdmin - web interface for Vpopmail: http://qmailadmin.sf.net/
Re: [qmailadmin] qmailadmin-1.2.9 logger patch
On 2007-08-22, at 1133, Tom Collins wrote: On Aug 21, 2007, at 4:49 PM, Rainer Duffner wrote: I am too lazy to check - does the onchange-facility log the IP of the client? Going through the apache logfile can be tedious, if it is large. If you looked at John's message that I replied to, you'll see that although the script isn't passed the IP, it should have access to the same environment variables the web server passes to QmailAdmin, so checking REMOTE_ADDR should give you the IP of the person who made the change. at least he admits his laziness up front, that's more than most people do. my other response on the list had a shell script fragment which logged the TCPREMOTEIP value, or the REMOTE_ADDR value, so it would also capture the IP if vpopmaild (or any other service running under tcpserver) happens to be the program which triggered the script. | John M. Simpson--- KG4ZOW ---Programmer At Large | | http://www.jms1.net/ [EMAIL PROTECTED] | | http://video.google.com/videoplay?docid=-1656880303867390173 | PGP.sig Description: This is a digitally signed message part
Re: [qmailadmin] qmailadmin-1.2.9 logger patch
Hi John, At fist, thanks a lot for your suggestions. I am aware of your onchange script, but our topic is security. I think that we cannot give remote client IP as parameter in your onchange script. We took note of our customers' complaints. They claim that somebody always logging in system via qmailadmin. Then he/she alters the users' properties (such as passwords, quotas), adds new users to system and also removes some users from system. In this position, we want to know who (which IP?) did these things. Moreover, qmailadmin-logger.patch is a C code, and do not have performance problems. However, onchange is a basic script. Does your onchange script give remote IP? I think onchange cannot give it. Best regards... On 2007-08-20, at 0427, Metin KAYA wrote: I have written a patch that create log file for qmailadmin-1.2.9. When a user's password or quota changed, a user deleted from the system or a user created this patch logs the events. better suggestion for you. i've written a patch to qmailadmin which makes it trigger the onchange functionality which is part of the later versions of vpopmail. instead of explicitly creating your log entries within qmailadmin (and hard-coding a filename into the binaries, ugh) why not use the onchange code, send the data which needs to be logged as onchange events? this way, the onchange script can easily be written or changed to send the log entries wherever the system admin wants them (instead of hard-coding /var/log/qmailadmin.log into the binaries). you also gain the benefit that any external scripts which may need to be called (i.e. building new auth.cdb or validrcptto.cdb files for qmail-smtpd, making final backups of mailboxes before they are deleted, etc.) are called at the appropriate times, no matter whether the event originated in qmailadmin, vpopmaild, the command line programs, or any other program which uses the vpopmail API. this web page has information on the original onchange patch, as well as the onchange patch for qmailadmin (which hasn't been added to a release version of qmailadmin yet, but is working just fine on my own server, my clients' servers, and several friends' servers.) http://qmail.jms1.net/vpopmail/ | John M. Simpson--- KG4ZOW ---Programmer At Large | | http://www.jms1.net/ [EMAIL PROTECTED] | | http://video.google.com/videoplay?docid=-1656880303867390173 | -- Metin KAYA EnderUNIX Software Developer Endersys Software Engineer http://www.EnderUNIX.org/ http://www.Endersys.com.tr/
Re: [qmailadmin] qmailadmin-1.2.9 logger patch
On 2007-08-21, at 0433, Metin KAYA wrote: I am aware of your onchange script, but our topic is security. I think that we cannot give remote client IP as parameter in your onchange script. We took note of our customers' complaints. They claim that somebody always logging in system via qmailadmin. Then he/she alters the users' properties (such as passwords, quotas), adds new users to system and also removes some users from system. In this position, we want to know who (which IP?) did these things. check your apache logs and see who's accessing the URL of your qmailadmin page. i would also suggest that you tell these users (who i'm assuming are in control of one or more full domains, rather than individual mailboxes, and therefore know what qmailadmin is) to change the password on their poastmaster account. and before you do this: if your qmailadmin interface is available on a non-SSL web site, that needs to be changed. otherwise, anybody with a packet sniffer in the right place will be able to literally WATCH your users log into their domains, and read their passwords right off the wire. this is dangerous, not only because it lets them go back in and change mailboxes around, but because if you allow people to relay using the AUTH command, this gives the attacker an email/password combination which can be used to relay spam through your server. Moreover, qmailadmin-logger.patch is a C code, and do not have performance problems. However, onchange is a basic script. you obviously don't understand how the onchange mechanism works... here's the short version: at certain points within the code of the vpopmail library functions (i.e. after a mailbox is added, after a password is changed, just before a mailbox is deleted, etc.) the code within the vpopmail library runs a shell script called ~vpopmail/etc/onchange. because qmailadmin uses the vpopmail library to carry out these functions (i.e. adding mailboxes, changing passwords, etc.) it already triggers this onchange script to be called whenever one of these actions occurs. the same is true of vpopmaild- because it uses the library, it also triggers the script to be called when needed. you are correct, the onchange script is just a normal shell script (which is what i'm assuming you mean by basic script, even though it's not written in basic.) this is what makes it so powerful- by customizing this script, you can make it do ANYTHING YOU WANT- which includes running /usr/bin/logger to send messages into the syslog mechanism. in fact, the sample onchange script on my web site does just that- whatever data it receives from its command line (i.e. from the vpopmail library) is sent to the syslog, so there's a record of what actions were taken when. if you want these logs to be kept separate, you could add a -p option to your logger command line (i.e. -p local4.info) and configure syslogd to send messages of that type to a specific file. this means that if you want qmailadmin to start logging things like this... first make sure you're using a version of vpopmail which has the onchnage code enabled (i.e. use a recent version, and make sure to use --enable-onchange-script=yes in your ./configure command line) and then make sure your onchange script includes a suitable logger command. the sample script on my web site does. http://qmail.jms1.net/vpopmail/onchange the nice part about this is that if you set up the logging within the onchange script, the same logging will be done no matter WHAT program (qmailadmin, vpopmaild, command-line commands, etc.) actually does them. the onchange patch for qmailadmin adds in a few explicit calls to run this script, in cases where qmailadmin does something which doesn't involve the vpopmail library, such as creating a mailing list. this is because, if you're using the validrcptto.cdb functionality, adding a mailing list creates another valid email address within your domain- and therefore the validrcptto.cdb file needs to be rebuilt, otherwise qmail-smtpd would refuse to accept incoming mail for the new list. as for logging the web client's IP address... i know that apache passes an entire collection of environment variables to qmailadmin when it runs it. i don't think qmailadmin or the vpopmail library has any code which explicitly drops environment variables, so i'm pretty sure those same variables would be available while the onchange script is running. you may want to try something like this in your onchange script. it will log an IP address if it can find one- the TCPREMOTEIP variable is set by tcpserver, which is how most people run vpopmaild, and the REMOTE_ADDR variable is set by apache, so whichever one it finds, it will log, along with whatever messages came from the vpopmail library. if [ -n $TCPREMOTEIP ] then logger -t onchange
Re: [qmailadmin] qmailadmin-1.2.9 logger patch
On Aug 21, 2007, at 12:45 PM, John Simpson wrote: and before you do this: if your qmailadmin interface is available on a non-SSL web site, that needs to be changed. otherwise, anybody with a packet sniffer in the right place will be able to literally WATCH your users log into their domains, and read their passwords right off the wire. this is dangerous, not only because it lets them go back in and change mailboxes around, but because if you allow people to relay using the AUTH command, this gives the attacker an email/password combination which can be used to relay spam through your server. John, I've always wondered whether this actually happens, at least in the US. I'm a little more concerned when traveling overseas, but do hackers still get passwords this way? Maybe sniffing an unencrypted Wifi network, but with most wired networks using switches, it'd be very hard to get a packet logger on a segment that could see all traffic. -Tom
Re: [qmailadmin] qmailadmin-1.2.9 logger patch
Am 22.08.2007 um 01:29 schrieb Tom Collins: On Aug 21, 2007, at 12:45 PM, John Simpson wrote: and before you do this: if your qmailadmin interface is available on a non-SSL web site, that needs to be changed. otherwise, anybody with a packet sniffer in the right place will be able to literally WATCH your users log into their domains, and read their passwords right off the wire. this is dangerous, not only because it lets them go back in and change mailboxes around, but because if you allow people to relay using the AUTH command, this gives the attacker an email/password combination which can be used to relay spam through your server. John, I've always wondered whether this actually happens, at least in the US. I'm a little more concerned when traveling overseas, but do hackers still get passwords this way? Maybe sniffing an unencrypted Wifi network, but with most wired networks using switches, it'd be very hard to get a packet logger on a segment that could see all traffic. I don't think there are many cases in the literature where it happened like this - if at all. Most cases of password-theft envolve keyloggers or rootkits that directly intercept the datastream after it has been decrypted. And of course, stupid people filling them directly into phishing-forms. I am too lazy to check - does the onchange-facility log the IP of the client? Going through the apache logfile can be tedious, if it is large. Rainer -- Rainer Duffner CISSP, LPI, MCSE [EMAIL PROTECTED]
[qmailadmin] qmailadmin-1.2.9 logger patch
Hi all, I have written a patch that create log file for qmailadmin-1.2.9. When a user's password or quota changed, a user deleted from the system or a user created this patch logs the events. Sample lines from log file: [EMAIL PROTECTED] ~]# cat /var/log/qmailadmin.log 12/08/2007 00:27:32: [EMAIL PROTECTED] logged in from IP: 10.0.0.13. Action: user added [EMAIL PROTECTED] 12/08/2007 00:28:00: [EMAIL PROTECTED] logged in from IP: 85.105.4.65. Action: user deleted [EMAIL PROTECTED] 12/08/2007 00:28:38: [EMAIL PROTECTED] logged in from IP: 127.0.0.1. Action: password changed for [EMAIL PROTECTED] 12/08/2007 10:28:45: [EMAIL PROTECTED] logged in from IP: 127.0.0.1. Action: quota changed to 56 MB for [EMAIL PROTECTED] 12/08/2007 13:00:30: [EMAIL PROTECTED] logged in from IP: 72.56.12.23. Action: user deleted [EMAIL PROTECTED] And his/her mails were forwarded to [EMAIL PROTECTED] If a user was only deleted, the action is user deleted [EMAIL PROTECTED]. If a user was deleted and his/her mails are forwarded to some email address, then the action is user deleted [EMAIL PROTECTED] And his/her mails were forwarded to [EMAIL PROTECTED]. The log file has to be created before applying the patch and the owner of it must be vchkpw:vpopmail. And the name of the log file must be /var/log/qmailadmin.log. [EMAIL PROTECTED] ~]# ls -la /var/log/qmailadmin.log -rw--- 1 vpopmail vchkpw 448 Aug 12 00:28 /var/log/qmailadmin.log -- Metin KAYA EnderUNIX Software Developer Endersys Software Engineer http://www.EnderUNIX.org/ http://www.Endersys.com.tr/ qmailadmin-logger.patch Description: Binary data
Re: [qmailadmin] qmailadmin-1.2.9 logger patch
On 2007-08-20, at 0427, Metin KAYA wrote: I have written a patch that create log file for qmailadmin-1.2.9. When a user's password or quota changed, a user deleted from the system or a user created this patch logs the events. better suggestion for you. i've written a patch to qmailadmin which makes it trigger the onchange functionality which is part of the later versions of vpopmail. instead of explicitly creating your log entries within qmailadmin (and hard-coding a filename into the binaries, ugh) why not use the onchange code, send the data which needs to be logged as onchange events? this way, the onchange script can easily be written or changed to send the log entries wherever the system admin wants them (instead of hard-coding /var/log/qmailadmin.log into the binaries). you also gain the benefit that any external scripts which may need to be called (i.e. building new auth.cdb or validrcptto.cdb files for qmail-smtpd, making final backups of mailboxes before they are deleted, etc.) are called at the appropriate times, no matter whether the event originated in qmailadmin, vpopmaild, the command line programs, or any other program which uses the vpopmail API. this web page has information on the original onchange patch, as well as the onchange patch for qmailadmin (which hasn't been added to a release version of qmailadmin yet, but is working just fine on my own server, my clients' servers, and several friends' servers.) http://qmail.jms1.net/vpopmail/ | John M. Simpson--- KG4ZOW ---Programmer At Large | | http://www.jms1.net/ [EMAIL PROTECTED] | | http://video.google.com/videoplay?docid=-1656880303867390173 | PGP.sig Description: This is a digitally signed message part
[qmailadmin] qmailadmin onchange patch
howdy- i wrote the onchange patch which was added to vpopmail version 5.4.15. if you're not familiar with it, it allows the administrator to set up a ~vpopmail/etc/onchange script which is automatically executed whenever something changes with vpopmail's status, i.e. when a domain, mailbox, or alias is added or removed, or a password is changed. my reason for writing this is to support the validrcptto.cdb patch that i wrote for qmail. it enables qmail to consult a cdb file containing every valid recipient address on the system, and reject incoming messages which are being sent to non-existent users. http://qmail.jms1.net/patches/validrcptto.cdb.shtml the idea is that whenever something changes- mailbox, alias, whatever- the list of valid recipient addresses also changes, which means that the validrcptto.cdb file needs to be re-generated. i have a daemontools service that i call qmail-updater, which waits for input on a named pipe and then runs a script as root. the named pipe is writable by any user. the root script re-generates the validrcptto.cdb and auth.cdb files, and then for one of my clients, pushes those files out to three other machines which pre-process the flood of incoming mail through rblsmtpd, clamav, and spamassassin, and then hand the messages to the mailbox server. http://qmail.jms1.net/scripts/qmail-updater.shtml http://qmail.jms1.net/mailhub.shtml of course the onchange functionality can be used for other things- to automatically make a final backup of a mailbox before deleting it, for example. anyway. somebody using the vpopmail onchange patch, along with qmailadmin, reported that qmailadmin does not call the onchange function when it creates a mailing list. this makes perfect sense- qmailadmin was never patched to make it call this function, IF it was even available. his work-around was to trigger his qmail-updater service via cron job every five minutes. that seemed rather ugly to me, so i looked into what it would take to make qmailadmin call the onchange script whenever a mailing list was added (or deleted.) it turned out that adding the necessary code was a twenty-minute exercise, most of which involved finding the correct places to add the code, and then realizing that i needed to include vpopmail_config.h so that the compiler would know whether or not to include the onchange code in the executable. so i'm submitting the patch to the qmailadmin developers (rick i believe) so that it can be added to a future version of qmailadmin. and in the meantime, anybody who wants to try it is free to download it. it's about halfway down on this page: http://qmail.jms1.net/patches/vpopmail.shtml the page has two versions- the 1.2.9 version applies cleanly to the 1.2.10 code, while the 1.2.11 version is actually running on my own server, and has been tested- it does call the onchange script after adding and before removing a mailing list. the one thing i noticed is that four error messages show up because the same constants exist in vpopmail's vpopmail_config.h and qmailadmin's config.h, however this appears to me to be a non-issue because the qmailadmin file is included AFTER the vpopmail file. | John M. Simpson--- KG4ZOW ---Programmer At Large | | http://www.jms1.net/ [EMAIL PROTECTED] | | http://video.google.com/videoplay?docid=-4312730277175242198 | PGP.sig Description: This is a digitally signed message part
Re: [qmailadmin] qmailadmin onchange patch
Tom: Do you still have a lock on qmailadmin development? If not I'll see about getting this added. Rick John Simpson wrote: snip
[qmailadmin] XSS patch
Hi, In order to get PCI valid I had to patch qmailadmin so that are gt; lt; I have attached the diff for -stable. Everything should be sane, but I admit that these changes were done in a bit of a rush just so we can get the PCI badge. I've no idea if attachments are stripped from list postings. -- The CAT5 to the sega dreamcast is making a weird noise because of Windows 95. Netscape is playing way too much Diablo II. :: http://www.s5h.net/ :: http://www.s5h.net/gpg qmailadmin-stable-diff Description: Binary data
Re: [qmailadmin] XSS patch
On Jun 18, 2007, at 10:40 AM, ed wrote: In order to get PCI valid I had to patch qmailadmin so that are gt; lt; I have attached the diff for -stable. Everything should be sane, but I admit that these changes were done in a bit of a rush just so we can get the PCI badge. I've no idea if attachments are stripped from list postings. Where were the symbols not getting printed correctly? When I added the printh and sprinth commands, it should have taken care of converting , , and . I thought the 1.2.4 release took care of possible XSS attacks. -Tom
Re: [qmailadmin] XSS patch
On Mon, 18 Jun 2007 11:06:26 -0700 Tom Collins [EMAIL PROTECTED] wrote: On Jun 18, 2007, at 10:40 AM, ed wrote: In order to get PCI valid I had to patch qmailadmin so that are gt; lt; I have attached the diff for -stable. Everything should be sane, but I admit that these changes were done in a bit of a rush just so we can get the PCI badge. I've no idea if attachments are stripped from list postings. Where were the symbols not getting printed correctly? When I added the printh and sprinth commands, it should have taken care of converting , , and . I thought the 1.2.4 release took care of possible XSS attacks. it only corrected the domain does not exist error. there were a whole number of places where the symbols would be printed. i wish i kept the log, i can undo the patch and wait for the pci tests to run again and try and keep copies of it. the httptext fields, off the top of my head were vulnerable, so too was the change password screen. -- The dual T1 to the GameCube is losing cohesion because of an errant well-driller. RedHat is horking out last night's beer. :: http://www.s5h.net/ :: http://www.s5h.net/gpg
Re: [qmailadmin] Patch for autorespond
Il Saturday 17 February 2007 02:05:52 Quinn Comendant ha scritto: On Wed, 14 Feb 2007 15:14:50 +0100, Simone Lazzaris wrote: Hi anybody/everybody I've patched autorespond (v2.0.4, but the patch also apply to 2.0.5) to detect spam messages tagged by spamassassin; this to avoid to respond to spam messages. Patch is: [...] Hey Simone I added this patch to my autorespond (v2.0.4) and it doesn't work. All messages are rejected, even if they're not spam. See below. Any ideas? Quinn Mmmh the patch try to find the string Yes in the header starting with X-Spam-Status. Your is X-Spam-Status: No, score=-2.6 required=0.1 tests=BAYES_00,DK_POLICY_SIGNSOME, DK_POLICY_TESTING,DK_SIGNED,DK_VERIFIED autolearn=ham version=3.1.7 Received: from unknown (HELO web31008.mail.mud.yahoo.com) (68.142.200.171) by mx.strangecode.com with SMTP; 17 Feb 2007 00:48:05 - Maybe it got confused because BAYES matches, as it ends with yes. I've looked at the code and it seems that it performs a case-unsensitive test, so this can be tha case. Lets try to search for yes, instead (note the trailing comma), as spamassassin uses always Yes, or No, You can modify the line number 644 adding the comma and see how it performs. -- Simone Lazzaris Interactive S.r.L.
Re: [qmailadmin] Patch for autorespond
On Wed, 14 Feb 2007 15:14:50 +0100, Simone Lazzaris wrote: Hi anybody/everybody I've patched autorespond (v2.0.4, but the patch also apply to 2.0.5) to detect spam messages tagged by spamassassin; this to avoid to respond to spam messages. Patch is: [...] Hey Simone I added this patch to my autorespond (v2.0.4) and it doesn't work. All messages are rejected, even if they're not spam. See below. Any ideas? Quinn Hi. This is the qmail-send program at mx.strangecode.com. I'm afraid I wasn't able to deliver your message to the following addresses. This is a permanent error; I've given up. Sorry it didn't work out. [EMAIL PROTECTED]: AUTORESPOND: Junk mail received. --- Below this line is a copy of the message. Return-Path: [EMAIL PROTECTED] Received: (qmail 22094 invoked by uid 89); 17 Feb 2007 00:48:10 - Received: by simscan 1.3.1 ppid: 22041, pid: 22042, t: 4.7200s scanners: clamav: 0.88.7/m:42/d:2525 spam: 3.1.7 X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on mx.strangecode.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=0.1 tests=BAYES_00,DK_POLICY_SIGNSOME, DK_POLICY_TESTING,DK_SIGNED,DK_VERIFIED autolearn=ham version=3.1.7 Received: from unknown (HELO web31008.mail.mud.yahoo.com) (68.142.200.171) by mx.strangecode.com with SMTP; 17 Feb 2007 00:48:05 - Received-SPF: none (mx.strangecode.com: domain at yahoo.com does not designate permitted sender hosts) Received: (qmail 63942 invoked by uid 60001); 17 Feb 2007 00:48:05 - DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=xU/+UY6ncDQ/efNXFKWS3ri8/LzLxAaWsUIspIRjj3JmWKslZk5Pzac8gbphuAllYscTMSbV5XAp51uGTukP5WVKYGGZSS5RvU4hr6eQcoDODa/C/sj85mmcGfKO10GMizG4uDHR9nWzjJVbA68mu4LlvoR/XJeUEqVHh634kNA=; X-YMail-OSG: hqksl2MVM1lmDgmZQl9Gax9efiJoiyqj9y0Pakp84ADnKgAy.vE.gBujdBbfwrUnXg-- Received: from [75.20.187.46] by web31008.mail.mud.yahoo.com via HTTP; Fri, 16 Feb 2007 16:48:05 PST X-Mailer: YahooMailRC/368.8 YahooMailWebService/0.6.132.8 Date: Fri, 16 Feb 2007 16:48:05 -0800 (PST) From: Datatap A [EMAIL PROTECTED] Subject: testing autoresponse To: [EMAIL PROTECTED] MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Message-ID: [EMAIL PROTECTED] This is a test
[qmailadmin] Patch for autorespond
Hi anybody/everybody I've patched autorespond (v2.0.4, but the patch also apply to 2.0.5) to detect spam messages tagged by spamassassin; this to avoid to respond to spam messages. Patch is: --- autorespond-2.0.4-orig/autorespond.c2003-08-25 18:11:58.0 +0200 +++ autorespond-2.0.4/autorespond.c 2007-02-14 14:53:00.0 +0100 @@ -640,7 +640,8 @@ } if ( inspect_headers(precedence, junk ) != (char *)NULL || inspect_headers(precedence, bulk ) != (char *)NULL || -inspect_headers(precedence, list ) != (char *)NULL ) +inspect_headers(precedence, list ) != (char *)NULL || +inspect_headers(X-Spam-Status, Yes ) != (char *)NULL ) { fprintf(stderr,AUTORESPOND: Junk mail received.\n); _exit(100); It would be nice to have this integrated in autorespond. -- Simone Lazzaris Interactive S.r.L.
Re: [qmailadmin] Patch for autorespond
Sweet! I usually use procmail to pass only messages scoring *** to vacation or autorespond, but this is a much-easier-to-manage way. Quinn - Strangecode :: Internet Consultancy http://www.strangecode.com/ +1 530 624 4410 On Wed, 14 Feb 2007 15:14:50 +0100, Simone Lazzaris wrote: Hi anybody/everybody I've patched autorespond (v2.0.4, but the patch also apply to 2.0.5) to detect spam messages tagged by spamassassin; this to avoid to respond to spam messages. Patch is: --- autorespond-2.0.4-orig/autorespond.c2003-08-25 18:11:58.0 +0200 +++ autorespond-2.0.4/autorespond.c 2007-02-14 14:53:00.0 +0100 @@ -640,7 +640,8 @@ } if ( inspect_headers(precedence, junk ) != (char *)NULL || inspect_headers(precedence, bulk ) != (char *)NULL || -inspect_headers(precedence, list ) != (char *)NULL ) +inspect_headers(precedence, list ) != (char *)NULL || +inspect_headers(X-Spam-Status, Yes ) != (char *)NULL ) { fprintf(stderr,AUTORESPOND: Junk mail received.\n); _exit(100); It would be nice to have this integrated in autorespond.
[qmailadmin] qmailadmin domain autofill exceptions patch
I'm interested in the domain autofill feature to start deploying it for some to make it easier for people to remember easy ways to get to the qmailadmin program by providing a hostname under their domain name.However in doing so, I noticed that this then autofilled the company's domain name in for most users who access it through the normal method. The user then has to delete that and enter in their own domain. Essentially one solution is to have two copies, one for others to access by any domain (put on an IP with many A records to it) and one on the main address without autofill on. I have attached to this message my domain autofill exceptions patch against qmailadmin 1.2.10. This changes the config.h line to inclued a pipe-separated list of hostnames for which it should not even try to autofill. I'd imagine this could be easily added to the configure script to optionally accept a parameter. If the #define string is a single character (like a "1") it will not do this check, so it could work even without a list of domains if it were to be included in the main distribution, which I'd love to see. Otherwise hopefully this helps someone.Best, -M --- ../orig/qmailadmin-1.2.10/template.c 2005-01-23 12:35:12.0 -0500 +++ template.c 2006-03-04 14:20:47.623531808 -0500 @@ -833,7 +833,27 @@ if( fs != NULL ) { if ((srvnam = getenv(HTTP_HOST)) != NULL) { lowerit(srvnam); - while( fgets(TmpBuf, sizeof(TmpBuf), fs) != NULL count==0 ) { + if (strlen(DOMAIN_AUTOFILL) 1) { + char *domainlist; + char *delim; + char *currenttoken; + domainlist = malloc(strlen(DOMAIN_AUTOFILL)+1 * sizeof(char)); + strncpy(domainlist, DOMAIN_AUTOFILL, strlen(DOMAIN_AUTOFILL)); + delim = malloc ( 2 * sizeof(char) ); + strncpy(delim, |, 1); + currenttoken = strtok(domainlist, delim); + while (currenttoken != NULL) { + if (strcmp(currenttoken, srvnam) == 0) { + count = 1; + } + currenttoken = strtok(NULL, delim); + } + free(domainlist); + free(delim); + free(currenttoken); + } + if (count == 0) { + while( fgets(TmpBuf, sizeof(TmpBuf), fs) != NULL count==0 ) { /* strip off newline */ l = strlen(TmpBuf); l--; TmpBuf[l] = 0; /* virtualdomains format: domain:domain, get to second one */ @@ -846,6 +866,7 @@ count=1; } } + } fclose(fs); } } --- config.h.orig 2006-03-04 14:09:06.867447712 -0500 +++ config.h 2006-03-04 13:55:45.430002093 -0500 @@ -11,7 +11,7 @@ /* */ -#define DOMAIN_AUTOFILL 1 +#define DOMAIN_AUTOFILL www.mydomain.com|mailadmin.mydomain.com
[qmailadmin] More Postmasters patch
Hi lists, I had remodeled for vpopmail-1.2.9 because it was on business needs. The account of two or more postmasters can be made for one domain. POSTMASTER ACCOUNTS are postmaster and starting by postmaster-. For example, if an account postmaster-hoge is made, this postmaster-hoge has same authority as postmaster. Thanks. --- diff -r -u qmailadmin-1.2.9.org/auth.c qmailadmin-1.2.9/auth.c --- qmailadmin-1.2.9.org/auth.c 2005-01-24 02:35:11.0 +0900 +++ qmailadmin-1.2.9/auth.c 2006-01-13 18:33:24.217852035 +0900 @@ -41,9 +41,11 @@ struct vqpasswd *pw; { FILE *fs; + FILE *fs2; time_t time1; time_t time2; char ip_value[MAX_BUFF]; + char PLFile[MAX_BUFF]; if( chdir(RealDir) 0 ){ snprintf (StatusMessage, sizeof(StatusMessage), %s %s\n, html_text[171], RealDir); @@ -52,6 +54,19 @@ exit(0); } + if ( (strcmp(Username,postmaster)==0) || + (strncmp(Username,postmaster-, 11)==0)) { +snprintf(PLFile, sizeof(PLFile), %s/%s.qw, RealDir, Time); +fs2 = fopen(PLFile, r); +if ( fs2 == NULL ) { + snprintf (StatusMessage, sizeof(StatusMessage), %s\n, html_text[172]); + show_login(); + vclose(); + exit(0); +} +fclose(fs2); + } + snprintf(TmpBuf1, sizeof(TmpBuf1), %s/ MAILDIR /%s.qw, pw-pw_dir, Time); fs = fopen(TmpBuf1, r); @@ -95,9 +110,11 @@ struct vqpasswd *pw; { FILE *fs; + FILE *fs2; time_t time1; time_t time2; char ip_value[MAX_BUFF]; + char PLFile[MAX_BUFF]; if ( chdir(RealDir) 0 ) { snprintf (StatusMessage, sizeof(StatusMessage), %s %s\n, html_text[171], RealDir ); @@ -106,6 +123,19 @@ exit(0); } + if ( (strcmp(Username,postmaster)==0) || + (strncmp(Username,postmaster-, 11)==0)) { +snprintf(PLFile, sizeof(PLFile), %s/%s.qw, RealDir, Time); +fs2 = fopen(PLFile, r); +if ( fs2 == NULL ) { + snprintf (StatusMessage, sizeof(StatusMessage), %s\n, html_text[172]); + show_login(); + vclose(); + exit(0); +} +fclose(fs2); + } + snprintf(TmpBuf1, sizeof(TmpBuf1), %s/ MAILDIR /%s.qw, pw-pw_dir, Time); fs = fopen(TmpBuf1, r); @@ -153,7 +183,8 @@ vpw = vauth_getpw(Username, Domain); AdminType = NO_ADMIN; if ( strlen(Domain) 0 ) { -if ( strcmp(Username,postmaster)==0 ) { +if ( (strcmp(Username,postmaster)==0) || +(strncmp(Username,postmaster-, 11)==0)) { AdminType = DOMAIN_ADMIN; #ifdef VQPASSWD_HAS_PW_FLAGS } else if ( vpw-pw_flags QA_ADMIN ) { @@ -166,3 +197,4 @@ } } } + diff -r -u qmailadmin-1.2.9.org/qmailadmin.c qmailadmin-1.2.9/qmailadmin.c --- qmailadmin-1.2.9.org/qmailadmin.c 2005-08-11 02:42:49.0 +0900 +++ qmailadmin-1.2.9/qmailadmin.c 2006-01-13 18:31:14.235969767 +0900 @@ -283,6 +283,14 @@ /* show the main menu for domain admins, modify user page for regular users */ if (AdminType == DOMAIN_ADMIN) { + char PLFile[MAX_BUFF]; + snprintf (PLFile, sizeof(PLFile), %s, RealDir); + del_id_files(PLFile); + + snprintf (PLFile, sizeof(PLFile), %s/%u.qw, RealDir, (unsigned int) Mytime); + fs = fopen(PLFile,w); + fputs(PLFile,fs); + fclose(fs); show_menu(Username, Domain, Mytime); } else { strcpy (ActionUser, Username); -- Osamu Katagiri
[qmailadmin] .qmail-user location patch for qmailadmin?
I've inquired before about the location of the .qmail-user or user/.qmail files that qmail works on when, for example, a vacation message is enabled for a specific account. Is there a patch that would make qmailadmin only work on ~vpopmail/domains/domain.com/.qmail-user instead of ~vpopmail/domains/domain.com/user/.qmail ? I have some knowledge of C, and could probably hack it, but if there is a patch that was released by Inter7, I'd prefer to use that. Thanks. __ Do you Yahoo!? All your favorites on one personal page Try My Yahoo! http://my.yahoo.com
Re: [qmailadmin] Template problem? PATCH
On Jan 7, 2004, at 6:30 AM, Brandon Weisz wrote: Just for testing, I changed 000 #ff to 000 #00 in the colortable file. The html was truncated again (with the different color code) tr bgcolor=#00td align=left. I've also tried downgrading to older releases with the same situation. I don't believe I was not having problems with these relases previously. I've also used lynx on the server to load the page and changed to a source view. The html shows truncated there as well. I guess that rules out somthing local at my location. Wow. I just found the bug in get_color_text(). It's returning a pointer to a buffer in the function, but that buffer isn't declared static. So, there's no guarantee that it won't disappear or get munged before it is used. get_quota_used() suffered from the same problem. Try this diff and see if it fixes the problem: === RCS file: /cvsroot/qmailadmin/qmailadmin/util.c,v retrieving revision 1.3 diff -u -r1.3 util.c --- util.c 8 Dec 2003 17:52:12 - 1.3 +++ util.c 7 Jan 2004 15:20:54 - @@ -316,7 +316,7 @@ char *get_color_text( char *index ) { - char tmpbuf[400]; + static char tmpbuf[400]; char *tmpstr; if (color_table == NULL) return(); @@ -333,8 +333,7 @@ } /* bk - use maildir++ quotas now char *get_quota_used(char *dir) { -char *tmpstr; -char tmpbuff[MAX_BUFF]; +static char tmpbuff[40]; double size; size = get_du(dir); @@ -342,8 +341,7 @@ size = size / 1048576; } sprintf(tmpbuff, %.2lf, size); -tmpstr = tmpbuff; -return tmpstr; +return tmpbuff; } */ /* quota_to_bytes: used to convert user entered quota (given in MB) -- Tom Collins - [EMAIL PROTECTED] QmailAdmin: http://qmailadmin.sf.net/ Vpopmail: http://vpopmail.sf.net/ Info on the Sniffter hand-held Network Tester: http://sniffter.com/
Re: [qmailadmin] SOLVED - Template problem? PATCH
Tom Collins wrote: Wow. I just found the bug in get_color_text(). It's returning a pointer to a buffer in the function, but that buffer isn't declared static. So, there's no guarantee that it won't disappear or get munged before it is used. get_quota_used() suffered from the same problem. Try this diff and see if it fixes the problem: Great, This patch fixes my problem. The page now renders properly. Thanks Tom! Brandon === RCS file: /cvsroot/qmailadmin/qmailadmin/util.c,v retrieving revision 1.3 diff -u -r1.3 util.c --- util.c 8 Dec 2003 17:52:12 - 1.3 +++ util.c 7 Jan 2004 15:20:54 -
Re: [qmailadmin] RE: [vchkpw] New Look and Feel - Full Install Patch Completed
Just add this plugin: http://squirrelmail.org/plugin_view.php?id=59 Charles On Thu, 7 Aug 2003, Eero Volotinen wrote: Question, how you get that quota meter to squirrelmail? -- Eero
RE: [qmailadmin] New Look and Feel - Full Install Patch Completed
Justin, Are you going to fix the 'make' problems relating to versions after 1.0.23 of qmailadmin or wait until the new 1.1 dev version where Tom hopes to create separate html template files? I just tried to make qmailadmin with the patch from your site and got: [EMAIL PROTECTED]:~/qmailadmin-1.0.26# make gcc -I. -I/home/vpopmail/include -g -O2 -c qmailadmin.c gcc -I. -I/home/vpopmail/include -g -O2 -c alias.c alias.c: In function `deldotqmailnow': alias.c:568: `CurAliases' undeclared (first use in this function) alias.c:568: (Each undeclared identifier is reported only once alias.c:568: for each function it appears in.) alias.c: In function `count_aliases': alias.c:584: `CurAliases' undeclared (first use in this function) make: *** [alias.o] Error 1 Regards, Stuart -Original Message- From: Justin Michael Couto [mailto:[EMAIL PROTECTED] Sent: 07 August 2003 19:25 To: [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: [qmailadmin] RE: [mail-toaster] RE: [vchkpw] New Look and Feel - Full Install Patch Completed To answer all the requests, you can now download zip, and tar.gz files for our full installation, and for just our patch files for qmailadmin 1.0.23. We have also added a .tar.gz file for our squirrelmail admin theme. All Bugs regarding the patch files and the full installation have been fixed. You can get all of these files at: http://www.somnioworld.com/qmailadmin.php Good Luck! Justin C. -Original Message- From: Randy Ricker [mailto:[EMAIL PROTECTED] Sent: Thursday, August 07, 2003 8:59 AM To: [EMAIL PROTECTED] Subject: Re: [mail-toaster] RE: [vchkpw] New Look and Feel - Full Install Patch Completed would like to echo the request for a tar.gz file format along with a url where we can fetch the package. I have experienced a flood of permission problems trying to open this package in my windows machine then tarring it back up to transfer to my UNIX machine. Would be much easier to fetch, open and install in place. Do like the look, Thanks, RR - Original Message - From: Justin Michael Couto [EMAIL PROTECTED] To: 'Justin Michael Couto' [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Wednesday, August 06, 2003 5:44 PM Subject: [mail-toaster] RE: [vchkpw] New Look and Feel - Full Install Patch Completed Just in case you all didn't have the address for the download location, you can get it at: http://www.somnioworld.com/qmailadmin.php Ok, Thanks to a buddy's encouragement we were able to finish most of the requests people have had for the New Look Feel to qmailadmin. He really needed the fixes and we had a little time today. All of the login functionality should work perfectly. There is now a logout button. These changes have been made to the Patch Files and to the Full Install We plan on fixing the multi-language functionality when the next release of qmailamdin comes out that is an all template system. If anyone finds anymore bugs, please let me know. Thanks all and Enjoy! Justin C. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[qmailadmin] RE: [vchkpw] New Look and Feel - Full Install Patch Completed
Just in case you all didn't have the address for the download location, you can get it at: http://www.somnioworld.com/qmailadmin.php Ok, Thanks to a buddy's encouragement we were able to finish most of the requests people have had for the New Look Feel to qmailadmin. He really needed the fixes and we had a little time today. All of the login functionality should work perfectly. There is now a logout button. These changes have been made to the Patch Files and to the Full Install We plan on fixing the multi-language functionality when the next release of qmailamdin comes out that is an all template system. If anyone finds anymore bugs, please let me know. Thanks all and Enjoy! Justin C.
Re: [qmailadmin] RE: [vchkpw] New Look and Feel - Full Install Patch Completed
Question, how you get that quota meter to squirrelmail? -- Eero
[qmailadmin] RE: [mail-toaster] RE: [vchkpw] New Look and Feel - Full Install Patch Completed
To answer all the requests, you can now download zip, and tar.gz files for our full installation, and for just our patch files for qmailadmin 1.0.23. We have also added a .tar.gz file for our squirrelmail admin theme. All Bugs regarding the patch files and the full installation have been fixed. You can get all of these files at: http://www.somnioworld.com/qmailadmin.php Good Luck! Justin C. -Original Message- From: Randy Ricker [mailto:[EMAIL PROTECTED] Sent: Thursday, August 07, 2003 8:59 AM To: [EMAIL PROTECTED] Subject: Re: [mail-toaster] RE: [vchkpw] New Look and Feel - Full Install Patch Completed would like to echo the request for a tar.gz file format along with a url where we can fetch the package. I have experienced a flood of permission problems trying to open this package in my windows machine then tarring it back up to transfer to my UNIX machine. Would be much easier to fetch, open and install in place. Do like the look, Thanks, RR - Original Message - From: Justin Michael Couto [EMAIL PROTECTED] To: 'Justin Michael Couto' [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Wednesday, August 06, 2003 5:44 PM Subject: [mail-toaster] RE: [vchkpw] New Look and Feel - Full Install Patch Completed Just in case you all didn't have the address for the download location, you can get it at: http://www.somnioworld.com/qmailadmin.php Ok, Thanks to a buddy's encouragement we were able to finish most of the requests people have had for the New Look Feel to qmailadmin. He really needed the fixes and we had a little time today. All of the login functionality should work perfectly. There is now a logout button. These changes have been made to the Patch Files and to the Full Install We plan on fixing the multi-language functionality when the next release of qmailamdin comes out that is an all template system. If anyone finds anymore bugs, please let me know. Thanks all and Enjoy! Justin C. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[qmailadmin] Big patch to 1.0.21
This is a request to some of the other developers to look over a patch I'm planning to include in 1.0.22. It touches a lot of files, but the main goal was to replace references to MAX_BUFF (and other #defines) with sizeof() to avoid discrepancies between the assumed size and actual size of a character array. It's on the SourceForge site under the patch tracker: http://sourceforge.net/tracker/ index.php?func=detailaid=755708group_id=6691atid=306691 Please contact me with any errors I may have introduced. There were other cleanup changes that I did along the way (like replacing some strncpy or strncmp calls with strcpy and strcmp where appropriate), but I tried to stay focused. -- Tom Collins [EMAIL PROTECTED]
[qmailadmin] QmailAdmin-spamassassin patch
Joseph Young Involved.com System Admin I am working on a patch for adding spamassassin into the QmailAdmin. I have beginner's experience at C++ and have some of the work done. It is difficult to say where I am at in the process. The patch is still beta and works for only qmailadmin-1.0.7.01132003. If anyone is interested in helping get the patch finished or working for another version, goto http://naos.involved.com/ I have qmailadmin to show a check box that is checked if there is the line,enable_spamassassin, to .qmailadmin-limits. So the next step is to have in user.c to add the line,|/var/qmail/bin/preline /usr/local/bin/maildrop /home/vpopmail/etc/mailfilter, in the user's .qmail when it when user selects it. I need help in writing the code to modusergo() in user.c to check .qmail and to write to .qmail. I have set up a anonymous cvs server for this project. cvs -d :pserver:[EMAIL PROTECTED]:/home/cvsroot login Use password: cvs cvs -d :pserver:[EMAIL PROTECTED]:/home/cvsroot checkout qmailadminspam joe
Re: [qmailadmin] PATCH for Makefile.am (was Directory Structure)
On Monday, March 17, 2003, at 09:18 AM, Tom Collins wrote: What do you guys think of the following structure: /qmailadmin /qmailadmin/index.cgi -- main qmailadmin app /qmailadmin/images -- files currently in /images/qmailadmin /qmailadmin/help -- files currently in /images/qmailadmin/help I've started working on the changes necessary to make this work. I'm making sure that I don't break the old way -- I just want to make it possible for this directory structure to work given the correct options to configure. Along the way, I noticed some errors in Makefile.am. Here's a patch that corrects them: --- qmailadmin-1.0.12/Makefile.am Wed Feb 26 11:34:40 2003 +++ qmailadmin-1.0.12-tc/Makefile.amWed Mar 19 16:13:02 2003 @@ -41,9 +41,9 @@ # install-exec-local: - chown @vpopuser@ $(DESTDIR)$(bindir)/qmailadmin - chgrp @vpopgroup@ $(DESTDIR)$(bindir)/qmailadmin - chmod u+s,g+s $(DESTDIR)$(bindir)/qmailadmin + chown @vpopuser@ $(DESTDIR)$(bindir)/@QA_PACKAGE@ + chgrp @vpopgroup@ $(DESTDIR)$(bindir)/@QA_PACKAGE@ + chmod u+s,g+s $(DESTDIR)$(bindir)/@QA_PACKAGE@ # Maintainer stuff @@ -64,9 +64,8 @@ $(mkinstalldirs) $(DESTDIR)@htmllibdir@ $(mkinstalldirs) $(DESTDIR)@htmllibdir@/html cp -R html/* $(DESTDIR)@htmllibdir@/html - $(mkinstalldirs) $(DESTDIR)@htmldir@/images - $(mkinstalldirs) $(DESTDIR)@imagedir@/qmailadmin - cp -R images/*$(DESTDIR)@htmldir@/images/qmailadmin + $(mkinstalldirs) $(DESTDIR)@imagedir@ + cp -R images/*$(DESTDIR)@imagedir@ cp$(DESTDIR)@htmllibdir@/html/en $(DESTDIR)@htmllibdir@/html/en-us if test @enable_help@ = yes; then \ -- Tom Collins [EMAIL PROTECTED]
Re: [qmailadmin] Syntax error when clicking on Modify User (PATCH)
On Tuesday, March 18, 2003, at 02:19 PM, Michael Bowe wrote: On of my customers reported that same error to me yesterday Looking at the html of that page, the error is being generated on one of the simple javascript lines, however the syntax of the line looked ok to me My customer was using IE6.0 I tried it on several computers but couldnt reproduce it Anyone have any ideas? Matt Simerson reported this earlier -- he left out a closing } in his javascript code. Here are two patches to fix it. Ken, please make sure this gets into the next release. --- qmailadmin-1.0.12/html/mod_user_quota.html Wed Feb 26 11:32:04 2003 +++ qmailadmin-1.0.12-tc/html/mod_user_quota.html Tue Mar 18 15:29:30 2003 @@ -11,6 +11,7 @@ document.forms[0].fsaved.disabled=true; document.forms[0].vsubject.disabled=true; document.forms[0].vmessage.disabled=true; + } else if (txt==forward) { document.forms[0].nforward.disabled=false; --- qmailadmin-1.0.12/html/mod_user_noquota.htmlWed Feb 26 11:32:04 2003 +++ qmailadmin-1.0.12-tc/html/mod_user_noquota.html Tue Mar 18 15:29:51 2003 @@ -11,6 +11,7 @@ document.forms[0].fsaved.disabled=true; document.forms[0].vsubject.disabled=true; document.forms[0].vmessage.disabled=true; + } else if (txt==forward) { document.forms[0].nforward.disabled=false; -- Tom Collins [EMAIL PROTECTED]
Re: [qmailadmin] possible bug in qmailadmin-1.0.12 -- PATCH
The abbreviations for Megabytes Kilobytes M, m, K and k have all been deprecated in the latest release of vpopmail and qmailadmin. You should use all numbers now. The limits API doesn't support this (and probably won't due to the database holding numbers and not strings for these values). Read the vpopmail README.quotas file and you'll see the string format for quotas and an explanation. Its along the lines ##S,C (size count only, M K for meg kilo are gone now). Just use a number. Thanks, Brian On Friday, March 14, 2003, at 11:52 AM, bob ketterhagen wrote: I have my user quotas set to 10m. example /home/vpopmail/bin/vmoduser -q 10m [EMAIL PROTECTED] /home/vpopmail/bin/vuserinfo [EMAIL PROTECTED] quota: 10m usage: 61% /example When I use vuserinfo to check a user, I see what I should see, a 10m quota. When I log into qmailadmin It shows how much quota the user has used example 6.19 but in the field that shows how many meg's their quota is, I see 0.00 This is the same with all my vpopmail accounts. This patch for quota_to_megabytes in util.c checks to see if the quota is in megabytes instead of bytes. The patch also corrects an error in quota_to_bytes previously pointed out by [EMAIL PROTECTED] In addition to his fix, I use atof instead of atol, allowing for decimal quotas (e.g., 7.5 MB). I also looked into his switch from %lf to %f, and confirmed that %f is for double. It also adds some useful comments describing each function (at first, I was confused as to when each was used) and some formatting changes (to be more consistent with what I've seen in the source so far). Ken, please apply to the latest build. --- qmailadmin-1.0.12/util.cFri Jan 24 15:25:31 2003 +++ qmailadmin-1.0.12-tc/util.c Sun Mar 16 22:24:11 2003 @@ -261,30 +261,39 @@ if (size 0) { size = size / 1048576; // Convert to MBs. } -sprintf(tmpbuff, %-2.2lf, size); +sprintf(tmpbuff, %.2f, size); tmpstr = tmpbuff; return tmpstr; } +/* quota_to_bytes: used to convert user entered quota (given in MB) + back to bytes for vpasswd file */ int quota_to_bytes(char returnval[], char *quota) { char *tmpstr; double tmp; if (quota == NULL) { return 1; } -if (tmp = atol(quota)) { tmp *= 1048576; } +if (tmp = atof(quota)) { +tmp *= 1048576; +sprintf(returnval, %.0f, tmp); +return 0; +} else { return 1; } -sprintf(returnval, %-2.2lf, tmp); -return 0; } +/* quota_to_megabytes: used to convert vpasswd representation of quota + to number of megabytes. */ int quota_to_megabytes(char returnval[], char *quota) { char *tmpstr; double tmp; +int i; if (quota == NULL) { return 1; } -if (tmp = atol(quota)) { - if (tmp != 0) { tmp /= 1048576.0; } -} -else { return 0; } -sprintf(returnval, %-2.2lf, tmp); +i = strlen(quota); +if ((quota[i-1] == 'M') || (quota[i-1] == 'm')) { +tmp = atol(quota); /* already in megabytes */ +} else if (tmp = atol(quota)) { +if (tmp != 0) { tmp /= 1048576.0; } +} else { return 0; } +sprintf(returnval, %.2f, tmp); return 0; } -- Tom Collins [EMAIL PROTECTED]
Re: [qmailadmin] possible bug in qmailadmin-1.0.12 -- PATCH
No. qmailadmin assumes Megabytes and multiplies the entered number in the field by 1048576 and puts the number in the .qmailadmin-limits file or database. The maildir++ quotas read the number and do a straight atol() on it (since the only thing thats supposed to follow the number is the letter capital S). From the vpopmail README.quotas: Old vpopmail style: 100 or 1MB or 1000KB (1MB quota) maildirquota style: 100S or 100S,1000C (1MB quota, or 1MB Quota / 1000 Message Count limit, whichever comes first) (BTW, this isn't *exactly* correct. This means 100 bytes, not 1 MB, which is 1048576, so the correct entry would be 1048576S). In some circumstances, the old style still works, but in many areas it does not. The old style was removed from the functions that read the .qmailadmin-limits file. The reason for this is that the maildirquota.c functions also ignore/strip the 'MB' or 'KB' when checking if a user is over quota, so the pw-pw_shell structure needs to be in maildir++ quota format. I don't know if vmoduser has been updated to change the MB format into a number yet. I don't think so. To be safe, don't use the 'MB' format. Brian Just to clarify, this is only for storage in the database(s) right? An administrator (via qmailadmin or vmoduser, etc) can still enter a quota as 15M right? You might want to clarify that on the list so that others aren't confused, scared, etc. Matt On Monday, March 17, 2003, at 07:56 AM, Brian Kolaci wrote: The abbreviations for Megabytes Kilobytes M, m, K and k have all been deprecated in the latest release of vpopmail and qmailadmin. You should use all numbers now. The limits API doesn't support this (and probably won't due to the database holding numbers and not strings for these values). Read the vpopmail README.quotas file and you'll see the string format for quotas and an explanation. Its along the lines ##S,C (size count only, M K for meg kilo are gone now). Just use a number. Thanks, Brian On Friday, March 14, 2003, at 11:52 AM, bob ketterhagen wrote: I have my user quotas set to 10m. example /home/vpopmail/bin/vmoduser -q 10m [EMAIL PROTECTED] /home/vpopmail/bin/vuserinfo [EMAIL PROTECTED] quota: 10m usage: 61% /example When I use vuserinfo to check a user, I see what I should see, a 10m quota. When I log into qmailadmin It shows how much quota the user has used example 6.19 but in the field that shows how many meg's their quota is, I see 0.00 This is the same with all my vpopmail accounts. This patch for quota_to_megabytes in util.c checks to see if the quota is in megabytes instead of bytes. The patch also corrects an error in quota_to_bytes previously pointed out by [EMAIL PROTECTED] In addition to his fix, I use atof instead of atol, allowing for decimal quotas (e.g., 7.5 MB). I also looked into his switch from %lf to %f, and confirmed that %f is for double. It also adds some useful comments describing each function (at first, I was confused as to when each was used) and some formatting changes (to be more consistent with what I've seen in the source so far). Ken, please apply to the latest build. --- qmailadmin-1.0.12/util.cFri Jan 24 15:25:31 2003 +++ qmailadmin-1.0.12-tc/util.c Sun Mar 16 22:24:11 2003 @@ -261,30 +261,39 @@ if (size 0) { size = size / 1048576; // Convert to MBs. } -sprintf(tmpbuff, %-2.2lf, size); +sprintf(tmpbuff, %.2f, size); tmpstr = tmpbuff; return tmpstr; } +/* quota_to_bytes: used to convert user entered quota (given in MB) + back to bytes for vpasswd file */ int quota_to_bytes(char returnval[], char *quota) { char *tmpstr; double tmp; if (quota == NULL) { return 1; } -if (tmp = atol(quota)) { tmp *= 1048576; } +if (tmp = atof(quota)) { +tmp *= 1048576; +sprintf(returnval, %.0f, tmp); +return 0; +} else { return 1; } -sprintf(returnval, %-2.2lf, tmp); -return 0; } +/* quota_to_megabytes: used to convert vpasswd representation of quota + to number of megabytes. */ int quota_to_megabytes(char returnval[], char *quota) { char *tmpstr; double tmp; +int i; if (quota == NULL) { return 1; } -if (tmp = atol(quota)) { - if (tmp != 0) { tmp /= 1048576.0; } -} -else { return 0; } -sprintf(returnval, %-2.2lf, tmp); +i = strlen(quota); +if ((quota[i-1] == 'M') || (quota[i-1] == 'm')) { +tmp = atol(quota); /* already in megabytes */ +} else if (tmp = atol
[qmailadmin] PATCH (was Re: [qmailadmin] Indexed for WWW archive access)
On Tuesday, February 11, 2003, at 02:22 PM, Rick Updegrove ((dislists)) wrote: When I make a mailing list with the following options selected: 1.) Archived 2. )Prefix. Set up the list so that the outgoing subject will be prefixed with the list name. 3.) Respond to adminstrative requests and allow archive retrieval. 4.) Trailer The Indexed for WWW archive access setting won't stick unless I also select Message moderation. However, I do not want Message moderation. for 2 of the lists. The option was getting set, but the code to display list options wasn't accurately displaying the settings for the list. Here's a patch for qmailadmin 1.0.12 (Ken, please apply) that addresses this problem: --- qmailadmin-1.0.12/mailinglist.c Thu Feb 27 13:38:17 2003 +++ qmailadmin-1.0.12-tc/mailinglist.c Mon Mar 17 08:59:33 2003 @@ -1069,6 +1057,9 @@ if((strstr(TmpBuf2, ezmlm-gate)) != 0 || (strstr(TmpBuf2, ezmlm-issubn)) != 0) { checkopt['u'] = 1; } + if(strstr(TmpBuf2, ezmlm-archive) !=0) { +checkopt['i'] = 1; + } } fclose(fs); } If you don't already have 1.0.12, you can download it from http://www.inter7.com/develop.html. If you are running 1.0.11 or earlier, you'll need to use the following patch: --- mailinglist.c Wed Feb 26 11:51:54 2003 +++ mailinglist-fix.c Mon Mar 17 09:04:46 2003 @@ -1148,6 +1148,9 @@ if((strstr(TmpBuf2, ezmlm-gate)) != 0 || (strstr(TmpBuf2, ezmlm-issubn)) != 0) { checkopt['u'] = 0; } + if(strstr(TmpBuf2, ezmlm-archive) !=0) { +checkopt['i'] = 0; + } } fclose(fs); } -- Tom Collins [EMAIL PROTECTED]
Re: [qmailadmin] possible bug in qmailadmin-1.0.12 -- PATCH
On Friday, March 14, 2003, at 11:52 AM, bob ketterhagen wrote: I have my user quotas set to 10m. example /home/vpopmail/bin/vmoduser -q 10m [EMAIL PROTECTED] /home/vpopmail/bin/vuserinfo [EMAIL PROTECTED] quota: 10m usage: 61% /example When I use vuserinfo to check a user, I see what I should see, a 10m quota. When I log into qmailadmin It shows how much quota the user has used example 6.19 but in the field that shows how many meg's their quota is, I see 0.00 This is the same with all my vpopmail accounts. This patch for quota_to_megabytes in util.c checks to see if the quota is in megabytes instead of bytes. The patch also corrects an error in quota_to_bytes previously pointed out by [EMAIL PROTECTED] In addition to his fix, I use atof instead of atol, allowing for decimal quotas (e.g., 7.5 MB). I also looked into his switch from %lf to %f, and confirmed that %f is for double. It also adds some useful comments describing each function (at first, I was confused as to when each was used) and some formatting changes (to be more consistent with what I've seen in the source so far). Ken, please apply to the latest build. --- qmailadmin-1.0.12/util.cFri Jan 24 15:25:31 2003 +++ qmailadmin-1.0.12-tc/util.c Sun Mar 16 22:24:11 2003 @@ -261,30 +261,39 @@ if (size 0) { size = size / 1048576; // Convert to MBs. } -sprintf(tmpbuff, %-2.2lf, size); +sprintf(tmpbuff, %.2f, size); tmpstr = tmpbuff; return tmpstr; } +/* quota_to_bytes: used to convert user entered quota (given in MB) + back to bytes for vpasswd file */ int quota_to_bytes(char returnval[], char *quota) { char *tmpstr; double tmp; if (quota == NULL) { return 1; } -if (tmp = atol(quota)) { tmp *= 1048576; } +if (tmp = atof(quota)) { +tmp *= 1048576; +sprintf(returnval, %.0f, tmp); +return 0; +} else { return 1; } -sprintf(returnval, %-2.2lf, tmp); -return 0; } +/* quota_to_megabytes: used to convert vpasswd representation of quota + to number of megabytes. */ int quota_to_megabytes(char returnval[], char *quota) { char *tmpstr; double tmp; +int i; if (quota == NULL) { return 1; } -if (tmp = atol(quota)) { - if (tmp != 0) { tmp /= 1048576.0; } -} -else { return 0; } -sprintf(returnval, %-2.2lf, tmp); +i = strlen(quota); +if ((quota[i-1] == 'M') || (quota[i-1] == 'm')) { +tmp = atol(quota); /* already in megabytes */ +} else if (tmp = atol(quota)) { +if (tmp != 0) { tmp /= 1048576.0; } +} else { return 0; } +sprintf(returnval, %.2f, tmp); return 0; } -- Tom Collins [EMAIL PROTECTED]
[qmailadmin] Re: qmailadmin-1.0.12 - images problem - PATCH
where i can find qmailadmin-1.0.12 the latest at inter7 webpage is qmailadmin-1.0.6 On Thursday, March 6, 2003, at 11:15 AM, Alexandre Barbosa wrote: I'm using the new feature --enable-imageurl= It works fine except at the login page and the main menu. The problem is in the files list below main_menu.html show_login.html show_login_help.html Here's a patch that fixes this problem. Luqman.H www.unhas.ac.id/~luqe
Re: [qmailadmin] qmailadmin-1.0.12 - images problem - PATCH
On Thursday, March 6, 2003, at 11:15 AM, Alexandre Barbosa wrote: I'm using the new feature --enable-imageurl= It works fine except at the login page and the main menu. The problem is in the files list below main_menu.html show_login.html show_login_help.html Here's a patch that fixes this problem. I've added the macro ##Z to substitute the images directory in the HTML code. It's just a quick fix, but I went ahead and organized the macros in template.c to be in alphabetical order to make finding them (and finding available macros) easier. I also added a missing break on option 'O'. This bug didn't show up in earlier releases, because it would insert the output of ##P in the middle of a SELECT tag. Something that most (all?) browsers would ignore. patch-1.0.12-tc.txt.gz Description: GNU Zip compressed data -- Tom Collins [EMAIL PROTECTED]
[qmailadmin] fr patch for 1.0.12
Hello, this is my patch for the french language for the new mailing list interface. Bye. fr.1.0.12.patch Description: Binary data [EMAIL PROTECTED] http://www.radio-campus.org/
Re: [qmailadmin] Updated Patch, UI improvements
On Monday 24 February 2003 13:23, Tom Collins wrote: I've updated my patch from last Friday to include a nicer trash icon ( Hi Tom, I just applied your patches and new images files. Looks really nice! I updated the 1.0.10 tarball on www.inter7.com/devel/ to have your changes (as well as Miki's new Hungarian translation) -- - Ken Jones
Re: [qmailadmin] fr patch for 1.0.10
On Friday 21 February 2003 11:56, Nicolas Croiset wrote: Hello, this is my new patch for the fr language. Bye. Hi Nicolas, Your updated French translation is in the devel version. -- - Ken Jones
[qmailadmin] fr patch for 1.0.10
Hello, this is my new patch for the fr language. Bye. fr.patch Description: Binary data [EMAIL PROTECTED] http://www.radio-campus.org/
[qmailadmin] patch to make qmailadmin 1.0.8 POSIX compatible
I've updated alias.c and util.c to remove the fts_* functions and put in a new get_du() function. Also, I've implemented the scandir() function and called it bkscandir(). I also fixed an obvious memory leak in the alias functions that used scandir(). Going through the code it appears there's lots of memory leaks in there... This should allow all POSIX compatible systems to run the latest version. Finally... I can add the vlimits() stuff in. Thanks, Brian Only in qmailadmin-1.0.8: Makefile diff -c qmailadmin-1.0.8.orig/alias.c qmailadmin-1.0.8/alias.c *** qmailadmin-1.0.8.orig/alias.c Wed Jan 22 00:46:04 2003 --- qmailadmin-1.0.8/alias.cThu Jan 23 23:10:11 2003 *** *** 31,36 --- 31,40 #include qmailadminx.h char* dotqmail_alias_command(char* command); + int bkscandir(const char *dirname, + struct dirent ***namelist, + int (*select)(struct dirent *), + int (*compar)(const void *, const void *)); int show_aliases(void) { *** *** 83,89 return(0); } ! n = scandir(., namelist, 0, qa_sort); for (m=0; mn; m++) { mydirent=namelist[m]; --- 87,93 return(0); } ! n = bkscandir(., namelist, 0, qa_sort); for (m=0; mn; m++) { mydirent=namelist[m]; *** *** 172,181 fclose(fs); k++; } - free(namelist[m]); } - closedir(mydir); free(namelist); if (AdminType == DOMAIN_ADMIN) { --- 176,186 fclose(fs); k++; } } closedir(mydir); + /* bk: fix memory leak */ + for (m=0; mn; m++) + free(namelist[m]); free(namelist); if (AdminType == DOMAIN_ADMIN) { *** *** 673,676 --- 678,738 /* otherwise just report nothing */ return(NULL); } + } + + /* + * Brian Kolaci + * quick implementation of the scandir() BSD function + */ + int bkscandir(const char *dirname, + struct dirent ***namelist, + int (*select)(struct dirent *), + int (*compar)(const void *, const void *)) + { + int i; + int entries; + int esize; + struct dirent* dp; + struct dirent* dent; + DIR * dirp; + + *namelist = NULL; + entries = esize = 0; + + /* load the names */ + if ((dirp = opendir(dirname)) == NULL) + return -1; + + while ((dp = readdir(dirp)) != NULL) { + if (select == NULL || (*select)(dp)) { + if (entries = esize) { + void* mem; + esize += 10; + if ((mem = realloc(*namelist, esize * sizeof(struct dirent*))) == NULL) { + for (i = 0; i entries; i++) + free((*namelist)[i]); + free(*namelist); + closedir(dirp); + return -1; + } + *namelist = (struct dirent**)mem; + } + if ((dent = (struct dirent*)malloc(sizeof(struct dirent)+MAX_FILE_NAME)) == +NULL) { + for (i = 0; i entries; i++) + free((*namelist)[i]); + free(*namelist); + closedir(dirp); + return -1; + } + memcpy(dent, dp, sizeof(*dp)+MAX_FILE_NAME); + (*namelist)[entries] = dent; + entries++; + } + } + closedir(dirp); + + /* sort them */ + if (compar) + qsort((void*)*namelist, entries, sizeof(struct dirent*), compar); + return entries; } Common subdirectories: qmailadmin-1.0.8.orig/autom4te.cache and qmailadmin-1.0.8/autom4te.cache diff -c qmailadmin-1.0.8.orig/cgi.c qmailadmin-1.0.8/cgi.c *** qmailadmin-1.0.8.orig/cgi.c Tue Aug 6 18:04:59 2002 --- qmailadmin-1.0.8/cgi.c Thu Jan 23 23:29:27 2003 *** *** 27,33 #include config.h #include qmailadmin.h #include qmailadminx.h - #include syslog.h get_cgi() { --- 27,32 Only in qmailadmin-1.0.8: config.h Only in qmailadmin-1.0.8: config.log Only in qmailadmin-1.0.8: config.status Only in qmailadmin-1.0.8: doconfig Common subdirectories: qmailadmin-1.0.8.orig/html and qmailadmin-1.0.8/html Common subdirectories: qmailadmin-1.0.8.orig/images and qmailadmin-1.0.8/images diff -c qmailadmin-1.0.8.orig/qmailadmin.h qmailadmin-1.0.8/qmailadmin.h *** qmailadmin-1.0.8.orig/qmailadmin.h Fri Oct 25 04:33:42 2002 --- qmailadmin-1.0.8/qmailadmin.h Thu Jan 23 21:31:45 2003 *** *** 51,54 char *get_quota_used(char*); //jhopper prototype int quota_to_bytes(char[], char*); //jhopper prototype int quota_to_megabytes(char[], char*); //jhopper prototype ! double get_du(char*); //jhopper prototype --- 51,54 char *get_quota_used(char*); //jhopper prototype int quota_to_bytes(char[], char*); //jhopper prototype int quota_to_megabytes(char[], char*); //jhopper prototype ! off_t get_du(const char*); //bk prototype Only in qmailadmin-1.0.8: stamp-h1 diff -c qmailadmin-1.0.8.orig/user.c qmailadmin-1.0.8/user.c *** qmailadmin-1.0.8.orig/user.cFri Jan 17
Re: [qmailadmin] patch to make qmailadmin 1.0.8 POSIX compatible
Did you leave the function qa_sort() there or remove it? It should have stayed exactly as it was before. All I did was write a function called bkscandir() that implements what's written on the linux scandir() man page. I took 10 minutes looking for the BSD sources, then said forget it and wrote it in the next 20 minutes. Didn't want to waste too much time with something that looked simple... I've attached copies of my util.c and alias.c that you can just drop into 1.0.8. You will need to manually update the prototype for get_du() (in qmailadmin.h) to be the following: off_t get_du(const char*); Thanks, Brian At 23:36 23/01/2003 -0500, you wrote: Hi Brian, quick follow up .. I forgot one change when I manually edited the alias.c file (didn't change scandir to bkscandir), but the compile still fails when it gets to the qa_sort. -- Steve Content-Type: TEXT/plain; charset=us-ascii Content-MD5: qWmg8rE8CezbPN2qsIWDBQ== I've updated alias.c and util.c to remove the fts_* functions and put in a new get_du() function. Also, I've implemented the scandir() function and called it bkscandir(). I also fixed an obvious memory leak in the alias functions that used scandir(). Going through the code it appears there's lots of memory leaks in there... This should allow all POSIX compatible systems to run the latest version. Finally... I can add the vlimits() stuff in. Thanks, Brian Content-Type: TEXT/plain; name=qdiff; charset=us-ascii; x-unix-mode=0644 Content-Description: qdiff Content-MD5: tw7QdOEV8Vqw7P+FoUbA7Q== Only in qmailadmin-1.0.8: Makefile diff -c qmailadmin-1.0.8.orig/alias.c qmailadmin-1.0.8/alias.c *** qmailadmin-1.0.8.orig/alias.c Wed Jan 22 00:46:04 2003 --- qmailadmin-1.0.8/alias.cThu Jan 23 23:10:11 2003 *** *** 31,36 --- 31,40 #include qmailadminx.h char* dotqmail_alias_command(char* command); + int bkscandir(const char *dirname, + struct dirent ***namelist, + int (*select)(struct dirent *), + int (*compar)(const void *, const void *)); int show_aliases(void) { *** *** 83,89 return(0); } ! n = scandir(., namelist, 0, qa_sort); for (m=0; mn; m++) { mydirent=namelist[m]; --- 87,93 return(0); } ! n = bkscandir(., namelist, 0, qa_sort); for (m=0; mn; m++) { mydirent=namelist[m]; *** *** 172,181 fclose(fs); k++; } - free(namelist[m]); } - closedir(mydir); free(namelist); if (AdminType == DOMAIN_ADMIN) { --- 176,186 fclose(fs); k++; } } closedir(mydir); + /* bk: fix memory leak */ + for (m=0; mn; m++) + free(namelist[m]); free(namelist); if (AdminType == DOMAIN_ADMIN) { *** *** 673,676 --- 678,738 /* otherwise just report nothing */ return(NULL); } + } + + /* + * Brian Kolaci + * quick implementation of the scandir() BSD function + */ + int bkscandir(const char *dirname, + struct dirent ***namelist, + int (*select)(struct dirent *), + int (*compar)(const void *, const void *)) + { + int i; + int entries; + int esize; + struct dirent* dp; + struct dirent* dent; + DIR * dirp; + + *namelist = NULL; + entries = esize = 0; + + /* load the names */ + if ((dirp = opendir(dirname)) == NULL) + return -1; + + while ((dp = readdir(dirp)) != NULL) { + if (select == NULL || (*select)(dp)) { + if (entries = esize) { + void* mem; + esize += 10; + if ((mem = realloc(*namelist, esize * sizeof(struct dirent*))) == NULL) { + for (i = 0; i entries; i++) + free((*namelist)[i]); + free(*namelist); + closedir(dirp); + return -1; + } + *namelist = (struct dirent**)mem; + } + if ((dent = (struct dirent*)malloc(sizeof(struct dirent)+MAX_FILE_NAME)) == NULL) { + for (i = 0; i entries; i++) + free((*namelist)[i]); + free(*namelist); + closedir(dirp); + return -1; + } + memcpy(dent, dp, sizeof(*dp)+MAX_FILE_NAME); + (*namelist)[entries] = dent; + entries++; + } + } + closedir(dirp); + + /* sort them */ + if (compar) + qsort((void*)*namelist, entries, sizeof(struct dirent*), compar); + return entries; } Common subdirectories: qmailadmin-1.0.8.orig/autom4te.cache
Re: [qmailadmin] patch to make qmailadmin 1.0.8 POSIX compatible
At 10:45 24/01/2003 -0500, Brian Kolaci wrote: Did you leave the function qa_sort() there or remove it? It should have stayed exactly as it was before. I eventually replaced it with qsort instead of qa_sort. It compiled and ran fine, though the alias/forwards menus did not work. I used your alias.c and util.c, recompiled and everything appears to be working file. -- Steve All I did was write a function called bkscandir() that implements what's written on the linux scandir() man page. I took 10 minutes looking for the BSD sources, then said forget it and wrote it in the next 20 minutes. Didn't want to waste too much time with something that looked simple... I've attached copies of my util.c and alias.c that you can just drop into 1.0.8. You will need to manually update the prototype for get_du() (in qmailadmin.h) to be the following: off_t get_du(const char*); Thanks, Brian At 23:36 23/01/2003 -0500, you wrote: Hi Brian, quick follow up .. I forgot one change when I manually edited the alias.c file (didn't change scandir to bkscandir), but the compile still fails when it gets to the qa_sort. -- Steve Content-Type: TEXT/plain; charset=us-ascii Content-MD5: qWmg8rE8CezbPN2qsIWDBQ== I've updated alias.c and util.c to remove the fts_* functions and put in a new get_du() function. Also, I've implemented the scandir() function and called it bkscandir(). I also fixed an obvious memory leak in the alias functions that used scandir(). Going through the code it appears there's lots of memory leaks in there... This should allow all POSIX compatible systems to run the latest version. Finally... I can add the vlimits() stuff in. Thanks, Brian Content-Type: TEXT/plain; name=qdiff; charset=us-ascii; x-unix-mode=0644 Content-Description: qdiff Content-MD5: tw7QdOEV8Vqw7P+FoUbA7Q== Only in qmailadmin-1.0.8: Makefile diff -c qmailadmin-1.0.8.orig/alias.c qmailadmin-1.0.8/alias.c *** qmailadmin-1.0.8.orig/alias.c Wed Jan 22 00:46:04 2003 --- qmailadmin-1.0.8/alias.cThu Jan 23 23:10:11 2003 *** *** 31,36 --- 31,40 #include qmailadminx.h char* dotqmail_alias_command(char* command); + int bkscandir(const char *dirname, + struct dirent ***namelist, + int (*select)(struct dirent *), + int (*compar)(const void *, const void *)); int show_aliases(void) { *** *** 83,89 return(0); } ! n = scandir(., namelist, 0, qa_sort); for (m=0; mn; m++) { mydirent=namelist[m]; --- 87,93 return(0); } ! n = bkscandir(., namelist, 0, qa_sort); for (m=0; mn; m++) { mydirent=namelist[m]; *** *** 172,181 fclose(fs); k++; } - free(namelist[m]); } - closedir(mydir); free(namelist); if (AdminType == DOMAIN_ADMIN) { --- 176,186 fclose(fs); k++; } } closedir(mydir); + /* bk: fix memory leak */ + for (m=0; mn; m++) + free(namelist[m]); free(namelist); if (AdminType == DOMAIN_ADMIN) { *** *** 673,676 --- 678,738 /* otherwise just report nothing */ return(NULL); } + } + + /* + * Brian Kolaci + * quick implementation of the scandir() BSD function + */ + int bkscandir(const char *dirname, + struct dirent ***namelist, + int (*select)(struct dirent *), + int (*compar)(const void *, const void *)) + { + int i; + int entries; + int esize; + struct dirent* dp; + struct dirent* dent; + DIR * dirp; + + *namelist = NULL; + entries = esize = 0; + + /* load the names */ + if ((dirp = opendir(dirname)) == NULL) + return -1; + + while ((dp = readdir(dirp)) != NULL) { + if (select == NULL || (*select)(dp)) { + if (entries = esize) { + void* mem; + esize += 10; + if ((mem = realloc(*namelist, esize * sizeof(struct dirent*))) == NULL) { + for (i = 0; i entries; i++) + free((*namelist)[i]); + free(*namelist); + closedir(dirp); + return -1; + } + *namelist = (struct dirent**)mem; + } + if ((dent = (struct dirent*)malloc(sizeof(struct dirent)+MAX_FILE_NAME)) == NULL) { + for (i = 0; i entries; i++) + free((*namelist)[i]); + free(*namelist); + closedir(dirp); + return -1; + } + memcpy(dent, dp, sizeof(*dp)+MAX_FILE_NAME); + (*namelist)[entries] = dent; +
Re: [qmailadmin] patch to make qmailadmin 1.0.8 POSIX compatible
qa_sort() is the comparison function that's fed into qsort. In any case, qsort is always called. Brian At 10:45 24/01/2003 -0500, Brian Kolaci wrote: Did you leave the function qa_sort() there or remove it? It should have stayed exactly as it was before. I eventually replaced it with qsort instead of qa_sort. It compiled and ran fine, though the alias/forwards menus did not work. I used your alias.c and util.c, recompiled and everything appears to be working file. -- Steve All I did was write a function called bkscandir() that implements what's written on the linux scandir() man page. I took 10 minutes looking for the BSD sources, then said forget it and wrote it in the next 20 minutes. Didn't want to waste too much time with something that looked simple... I've attached copies of my util.c and alias.c that you can just drop into 1.0.8. You will need to manually update the prototype for get_du() (in qmailadmin.h) to be the following: off_t get_du(const char*); Thanks, Brian
[qmailadmin] quota patch ( Jorge Valdes)
Howdy list, I JUST signed up. I had to! I saw in the archive for yesterday that Jorge Valdes had created a manager patch for qmailadmin. Where can I find this patch? Has anyone besides Jorge successfully deployed it? I've gotta have this thing! Thanks, -- Jesse Guardiani, Systems Administrator WingNET Internet Services, P.O. Box 2605 // Cleveland, TN 37320-2605 423-559-LINK (v) 423-559-5145 (f) http://www.wingnet.net We are actively looking for companies that do a lot of long distance faxing and want to cut their long distance bill by up to 50%. Contact [EMAIL PROTECTED] for more info.
Re: [qmailadmin] quota patch ( Jorge Valdes)
Absolutely. I definately agree. However, I'm amazed and confused as to why this wasn't implemented a long time ago. I would think that this would be sought-after code by ISPs (and... really anyone with many domains). Then again, I don't suppose that many ISPs have the gumption to run this kind of software, eh? rant Man, it sure is purty, isn't it? I've never seen so many separate applications communicating in harmony before. The whole qmail/vpopmail/everything-else setup is very impressive. (I just installed and created ground-up documentation (for a SOURCE install, not a package install like the toaster pages. It came out to about 30 pages with full comments) for the first time this last week on FreeBSD) I suppose that the distributed nature of the install is also it's primary weekness though. If one application becomes un-supported and broken, the whole thing could die. /rant Anyway, back to the subject at hand: I'll be running the advantages/disadvantages of both the Jorge patch and the unmodified version by my manager before we put this beastie in production. I'm still interested in acquiring this patch though. I want to review the code and see how it's implemented. How does one submit features for release in new versions around here? Thanks, On Wednesday 20 November 2002 15:45, Brian Kolaci wrote: Hi, I suggest you wait just a bit. I *finally* started working on the .qmailadmin-limits API's that include *alot* of other information. I believe this patch does the incorrect behaviour. The permissions on managers should be configurable, not hard-coded yes or no (and I disagree with the approach taken in the patch) I'm also of the believe that there are two quotas, per user and per domain, which leads down the trail of allow them to set any quotas on a per-user basis as the end-user manager wants, and the per-domain quota should not be editable by anyone except the system administrator (not even the postmaster). I should have the patch ready for 5.3.11 shortly. Thanks, Brian Howdy list, I JUST signed up. I had to! I saw in the archive for yesterday that Jorge Valdes had created a manager patch for qmailadmin. Where can I find this patch? Has anyone besides Jorge successfully deployed it? I've gotta have this thing! Thanks, -- Jesse Guardiani, Systems Administrator WingNET Internet Services, P.O. Box 2605 // Cleveland, TN 37320-2605 423-559-LINK (v) 423-559-5145 (f) http://www.wingnet.net We are actively looking for companies that do a lot of long distance faxing and want to cut their long distance bill by up to 50%. Contact [EMAIL PROTECTED] for more info.
Re: [qmailadmin] quota patch ( Jorge Valdes)
Brian, I agree with you 100% this is not the best way to go about it, but (and there always is) I needed a quick and dirty way to allow this funcionality for a system I have in production, and after looking at the code this was a simple (1/2 day coding/testing) solution to my problem. I would be glad to help with coding and/or ideas for this new API. I would like to know what *alot* of other information is :) Jorge Valdes. - Original Message - From: Brian Kolaci [EMAIL PROTECTED] To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Wednesday, November 20, 2002 2:45 PM Subject: Re: [qmailadmin] quota patch ( Jorge Valdes) Hi, I suggest you wait just a bit. I *finally* started working on the .qmailadmin-limits API's that include *alot* of other information. I believe this patch does the incorrect behaviour. The permissions on managers should be configurable, not hard-coded yes or no (and I disagree with the approach taken in the patch) I'm also of the believe that there are two quotas, per user and per domain, which leads down the trail of allow them to set any quotas on a per-user basis as the end-user manager wants, and the per-domain quota should not be editable by anyone except the system administrator (not even the postmaster). I should have the patch ready for 5.3.11 shortly. Thanks, Brian Howdy list, I JUST signed up. I had to! I saw in the archive for yesterday that Jorge Valdes had created a manager patch for qmailadmin. Where can I find this patch? Has anyone besides Jorge successfully deployed it? I've gotta have this thing! Thanks,
[qmailadmin] qmailadmin quota patch
Craig, I have acquired the source code from Jorge for the manager patch. Also, another programmer commented on some things about the implementation of Jorge's patch that are worth noting: It doesn't apply a 'per-domain' quota, which is not good. If you give a manager the ability to modify his domain's user quotas, he has no limits. This other programmer is also working on an implementation of the same thing, but in a more logic implementation that includes per-domain quotas. From what he said, it will be included in the next release. With this information in mind, I would recommend that we simply use the base, UN-PATCHED, qmailadmin. This way customers can't modify quotas, but WE still CAN through the vqadmin interface. Then we can upgrade to the improved version with the rest of the world at release time. -- Jesse Guardiani, Systems Administrator WingNET Internet Services, P.O. Box 2605 // Cleveland, TN 37320-2605 423-559-LINK (v) 423-559-5145 (f) http://www.wingnet.net We are actively looking for companies that do a lot of long distance faxing and want to cut their long distance bill by up to 50%. Contact [EMAIL PROTECTED] for more info.
Re: [qmailadmin] qmailadmin quota patch
Whoops. Disregard that. Wrong address. On Wednesday 20 November 2002 16:38, Jesse Guardiani wrote: Craig, I have acquired the source code from Jorge for the manager patch. Also, another programmer commented on some things about the implementation of Jorge's patch that are worth noting: It doesn't apply a 'per-domain' quota, which is not good. If you give a manager the ability to modify his domain's user quotas, he has no limits. This other programmer is also working on an implementation of the same thing, but in a more logic implementation that includes per-domain quotas. From what he said, it will be included in the next release. With this information in mind, I would recommend that we simply use the base, UN-PATCHED, qmailadmin. This way customers can't modify quotas, but WE still CAN through the vqadmin interface. Then we can upgrade to the improved version with the rest of the world at release time. -- Jesse Guardiani, Systems Administrator WingNET Internet Services, P.O. Box 2605 // Cleveland, TN 37320-2605 423-559-LINK (v) 423-559-5145 (f) http://www.wingnet.net We are actively looking for companies that do a lot of long distance faxing and want to cut their long distance bill by up to 50%. Contact [EMAIL PROTECTED] for more info.
[qmailadmin] Quota Patch
I have recently seen various mails regarding quota modification privilege on manager accounts (allowing designated manager accounts to modify quotas), stuff that should only be done by the postmaster account. To solve this, I have hacked the qmailadmin-1.0.6 (quota patched) source to add the following functionality for service providers: + Only allow postmaster to modify quota field. + manager accounts can still add/delete/modify accounts (except postmaster). + manager accounts can see quota usage for their domain. When we sell a mail hosting service, the customer specifies the number of email accounts he/she wants and this value is configured in the .qmailadmin-limits file (plus 1 for postmaster). Each account is setup with the default quota (in my case 10MB) by specifying this value in vpopmail before compilation via configure script. We require that at least one master account be specified, and that account is given manager privileges so they customer can manage all accounts in the domain. If any particular user requires more space in their account, this is done by either charging an additional fee for the additional storage, or sacrificing one or more accounts and using that quota to increase the requested space requirements for the customer. In any case, quota modification requests *must* be submitted in writing to avoid future disputes. Problem: + how to make .patch file for summital. Jorge Valdes [EMAIL PROTECTED]
Re: [qmailadmin] Quota patch for QmailAdmin 1.0.6
Yavuz Aydin wrote: You want a patched 1.0.6? Get it here: http://laguna.qweb.nl/contrib/qmailadmin/qmailadmin-1.0.6-quota.tar.gz Got this one and had no problems to install it. But I have some more basic questions about quota with qmail/qmailadmin: I want to use qmail/qmailadmin for a small ISP. But it seems that the postmaster of a domain can select whatever quota he wants (with above patch)? The optimal solution (for me) would be: ISP-admin gives certain quota to domain xyz.com. Postmaster of domain xyz.com can use up that quota for his accounts, but not more! It seems that is not possible right now? Or did I overlook something? And while I was at it I just translated this thing into Dutch, get the languagefile at: http://laguna.qweb.nl/contrib/qmailadmin/nl Is there an official place for the german languagefile? (I fixed a couple of things in the file coming with qmailadmin 1.0.6) --franz
[qmailadmin] [PATCH] My dropto patch updated.
Hi All. I have just updated my dropto patch from qmailadmin-0.45 to qmailadmin-1.0.6, you can find the patch here: http://d-srv.com/sw/patches/qmailadmin-1.0.6-dropto.patch Those familliar with qmail should know what this patch is good for. Chears. -- Regards // Oden Eriksson, Deserve-IT Networks Check the Modules For Apache2 status page at: http://www.deserve-it.com/modules_for_apache2.html
[qmailadmin] RE: patch for autorespond-2.0.2
Thanks, got it. --- Brad Dameron Network Account Executive TSCNet Inc. www.tscnet.com Silverdale, WA. 1-888-8TSCNET -Original Message- From: Michal Medvecky [mailto:M.Medvecky;sh.cvut.cz] Sent: Friday, November 01, 2002 5:18 AM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: patch for autorespond-2.0.2 Hello, this is a small patch for autorespond-2.0.2 which fixes two potential buffer overflows. Although, I hope nobody is using 4755-ed autorespond, so it should not be a big security hole. Regards, Michal Medvecky --CUT HERE-- 8a9 Patched 2002 by Michal Medvecky [EMAIL PROTECTED] 573,575c574,579 strcpy(TheUser, getenv(EXT) ); strcpy(TheDomain, getenv(HOST) ); --- if (getenv(EXT) == 0) || (getenv(HOST) == 0) { printf(Variable EXT or HOST (or both) not set.); exit(1); } strncpy(TheUser, getenv(EXT),MAX_BUFF ); strncpy(TheDomain, getenv(HOST,MAX_BUFF) );
Re: [qmailadmin] Quota patch for QmailAdmin 1.0.6
Citeren Dorneles Treméa [EMAIL PROTECTED]: Hi folks, I'm sending a fix to Justin Hopper 'Quota patch for QmailAdmin 1.0.4'[1] work with QmailAdmin 1.0.6. *snip* Great! It didn't work out for me, had some errors. I just made the changes myself with hand, and it works now. You want a patched 1.0.6? Get it here: http://laguna.qweb.nl/contrib/qmailadmin/qmailadmin-1.0.6-quota.tar.gz And while I was at it I just translated this thing into Dutch, get the languagefile at: http://laguna.qweb.nl/contrib/qmailadmin/nl To Ken and/or Bill: Is it possible that you add this languagefile into the main distribution? And is it also possible that this quota patch makes it to the main distribution also, or is it very beta? If I will find some errors or bugs I will post them here, but while I was applying this patch by hand I noticed that this is very easy code (no offence you guys, I could not have made it!), so it could be easy to let it make to the main distribution. -- Best regards, Yavuz Aydin
[qmailadmin] Quota patch for QmailAdmin 1.0.6
Hi folks, I'm sending a fix to Justin Hopper 'Quota patch for QmailAdmin 1.0.4'[1] work with QmailAdmin 1.0.6. Addictionaly, I updated brazilian portuguese (pt-BR) translation file. Can someone tell me if there is a CVS server and how to access it? [1] http://www.digitaloasys.com/contrib.php Best regards, -- Dorneles Treméa Caxias do Sul - RS - Brasil +55 54 9114 9312 - UIN: 2413568 X3ng Web Technology http://www.x3ng.com.br -BEGIN GEEK CODE BLOCK- Version: 3.12 GCS/IT d- s:-: a23 C+++ UBL$ P--- L++ E-- W+++ N++ o? K? w+ O M+ V-- PS+ PE- Y-- PGP++ t+ 5 X++ R+ tv+ b(++) DI+ D++ G e++ h r+++ y+++** --END GEEK CODE BLOCK-- diff -ruN qmailadmin-1.0.6-original/html/add_user.html qmailadmin-1.0.6/html/add_user.html --- qmailadmin-1.0.6-original/html/add_user.html2002-10-24 15:58:18.0 -0300 +++ qmailadmin-1.0.6/html/add_user.html 2002-10-24 17:18:04.0 -0300 -28,6 +28,10 tdb##X002nbsp;/b/td td align=leftinput type=text size=16 name=newu maxlength=128##D/td /tr + + tr + + tdb##X249nbsp;/b/td + + td align=leftinput type=text size=16 name=quota +maxlength=128nbsp;##X252/td + + /tr tr tdb##X057nbsp;/b/td td align=leftinput type=password size=16 name=password1 maxlength=128/td diff -ruN qmailadmin-1.0.6-original/html/en qmailadmin-1.0.6/html/en --- qmailadmin-1.0.6-original/html/en 2002-10-24 15:58:18.0 -0300 +++ qmailadmin-1.0.6/html/en2002-10-24 21:01:16.0 -0300 -247,3 +247,10 246 Digest SubscriberbrAddress 247 List Digest Subscribers 248 List of digest email addresses on mailing list +249 Quota (MB) +250 Used +251 (Enter NOQUOTA for unlimited quota) +252 (Leave empty for unlimited quota) +253 Limit: +254 Used: + diff -ruN qmailadmin-1.0.6-original/html/mod_user_new.html qmailadmin-1.0.6/html/mod_user_new.html --- qmailadmin-1.0.6-original/html/mod_user_new.html1969-12-31 21:00:00.0 -0300 +++ qmailadmin-1.0.6/html/mod_user_new.html 2002-10-24 17:18:04.0 -0300 -0,0 +1,110 + /head + body bgcolor=#ff + center + h2##S/h2 + !-- Black frame 2 pixels wide -- + table cellpadding=2 cellspacing=0 border=0 +align=center valign=top width=600 bgcolor=#00trtd + !-- Frame content -- + table cellpadding=0 cellspacing=0 border=0 +align=center valign=top width=100% bgcolor=#ff + !-- Form title -- + tr + td bgcolor=#00 align=center + font color=#ff size=3 + b##X109: ##A##D/b + /font + /td + /tr + !-- End of form title -- + !-- Form content -- + tr + td + table cellpadding=5 +cellspacing=1 border=0 width=100% + !-- Form fields -- + tr + td + form +method=post name=logon action=##C/com/modusernow + + table cellpadding=0 cellspacing=0 border=0 + + tr
[qmailadmin] Qmailadmin MySQL replication quota patch.
At long last. All the known problems with qmailadmin and MySQL replication are now fixed. In cases where MySQL slave(s) fail replication there could be a race condition but fixing that requires some code additions to vpopmail. My patch is based on Bill's patch that fixes the MySQL replication issues. To that base I applied Justin Hopper's quota patches and adjusted the quota patches to work the same way as the rest of modusergo (as with Bill's updates). The patch is at http://matt.simerson.net/computing/mail/toaster/qmailadmin-106- quotafix.txt. The patch applies cleanly to qmailadmin-1.06. In addition to the quota patches, I also did a bunch of pretty work to the HTML. The most substantial is on the modify user page. See the jpg here: http://matt.simerson.net/computing/mail/toaster/qmailadmin_quota.jpg I'd love to know what you think about it. I added some Javascript to that page so that users could only make mail routing choices that make sense. I'd appreciate if people would have a look at it and let me know what they think. If everyone likes the changes, I respectfully request that the changes be incorporated into the qmailadmin source. Matt PS: I'm running this code on a production system with 50,000+ users, using replicated MySQL databases and the aforementioned code. On Wednesday, October 23, 2002, at 04:21 PM, Bill Shupp wrote: On Wednesday, October 23, 2002, at 01:20 PM, Matt Simerson wrote: Perfect, that patch worked nicely. Cool, thanks. I'll start doing universal diffs from now on. Bill
Re: [qmailadmin] Qmailadmin MySQL replication quota patch.
On Wednesday, October 23, 2002, at 02:34 PM, Matt Simerson wrote: At long last. All the known problems with qmailadmin and MySQL replication are now fixed. In cases where MySQL slave(s) fail replication there could be a race condition but fixing that requires some code additions to vpopmail. My patch is based on Bill's patch that fixes the MySQL replication issues. To that base I applied Justin Hopper's quota patches and adjusted the quota patches to work the same way as the rest of modusergo (as with Bill's updates). The patch is at http://matt.simerson.net/computing/mail/toaster/qmailadmin-106- quotafix.txt. The patch applies cleanly to qmailadmin-1.06. In addition to the quota patches, I also did a bunch of pretty work to the HTML. The most substantial is on the modify user page. See the jpg here: http://matt.simerson.net/computing/mail/toaster/qmailadmin_quota.jpg I'd love to know what you think about it. I added some Javascript to that page so that users could only make mail routing choices that make sense. I'd appreciate if people would have a look at it and let me know what they think. If everyone likes the changes, I respectfully request that the changes be incorporated into the qmailadmin source. Matt PS: I'm running this code on a production system with 50,000+ users, using replicated MySQL databases and the aforementioned code. Thanks for the updated patch. As I've mentioned (off-list) before, there are a few issues with this path that need to be addressed: 1. Lack of full Maildir++ support. The only quota format available is in MB. Also, getting current quota usage does dot adhere to the Maildir++ spec, and will need to be updated. (currently uses a du style function, which is accurate, but not as efficient) 2. This patch needs to be conditional. Many of us do not want our customers to have the ability to change quotas. IMO, it should be both a configure option and a .qmailadmin-limits option (which is overridden by the configure option). I'm happy to make these modifications, and will start on these tomorrow. Regards, Bill Shupp
RE: [qmailadmin] Autorespond patch, part 2
At 11:50 05/09/2002 -0700, Brad Dameron wrote: The problem is not with the autoresponder, per se, but how vdelivermail handles the exit codes that autorespond passes it. I've written a patch for vdelivermail. -- Steve The autoresponder will not defer the message. It will still deliver it to the intended recipient. It just will not send back a autoresponse to the person sending the message. I have tested this many a times. If you can show me how this is not occuring then please do. --- Brad Dameron Network Account Executive TSCNet Inc. www.tscnet.com Silverdale, WA. 1-888-8TSCNET -Original Message- From: Steve Fulton [mailto:[EMAIL PROTECTED]] Sent: Thursday, September 05, 2002 10:01 AM To: [EMAIL PROTECTED] Subject: [qmailadmin] Autorespond patch, part 2 In addition to modifying user.c (vacation messages) to use new option, I also increased the number of messages the autoresponder can receive from a unique e-mail address before it defers additional messages. I also reduced the amount of time funtil the number is reset rom 24 hours to 12. I did this because many offices have people sending multiple e-mails a day to an account with a vacation autoresponder. -- Steve I've patched the autoresponder that is required by QmailAdmin for vacation/autoresponder's to work. Now duplicate From: and Subject fields will no longer persist in messages -- and I'm sure my customer inquiries will go down because of it. The details: Autoresponder 2.0.3 http://www.esoteric.ca/software/src/autorespond-2.03.patch - Patched autoresponder.c to allow new option -. This option causes Autoresponder to only insert the To: header, thus the autoresponder file must contain the From: and Subject: lines first. This patch was submitted to Brad D, though I haven't heard back from him yet. QmailAdmin 1.0.6 http://www.esoteric.ca/software/src/qa-autorespond.patch - Patched autorespond.c to include new option. - Patched user.c to include new option. I've tested this on my own production setup without problems, but of course I offer no guarantees. Make sure you are using those versions listed above, and apply BOTH patches for it to work. Your users will have to recreate their autoresponders / vacation messages in order to take effect. -- Steve
[qmailadmin] quota patch for qmailadmin 1.0.6
Does anyone have a quota patch for qmailadmin 1.0.6? I have the following already working: +qmail 1.0.3 + vpopmail 5.3.8 + qmailadmin 1.0.6 + courier IMAP 1.5.3 Just need the patch. :) Jorge.
my dropto patch
Hi everyone, (Ken, Bill) I just went through my files at: http://www.kvikkjokk.net/~oden/softwares/; and noticed that I had made this dropto patch back in february, now I wonder if the feature/idea could be implemented into the dev version of qmailadmin? You find the patch here: http://www.kvikkjokk.net/~oden/softwares/qmailadmin/SOURCES/qmailadmin-0.42-dropto.patch.bz2 Thanks. -- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- | Oden Eriksson, Deserve-IT Networks, Jokkmokk, Sweden. | Mandrake Linux release 8.2 (Cooker) for i586 | Current uptime with kernel 2.4.13-12mdksmp: 1 day 21 hours 58 minutes | cpu0 @ 814.28 bm, fan 4299 rpm, temp +30°C | cpu1 @ 815.92 bm, fan 4218 rpm, temp +30.0°C
Re: my dropto patch
On Wednesday, November 28, 2001, at 09:22 PM, Oden Eriksson wrote: Hi everyone, (Ken, Bill) I just went through my files at: http://www.kvikkjokk.net/~oden/softwares/; and noticed that I had made this dropto patch back in february, now I wonder if the feature/idea could be implemented into the dev version of qmailadmin? You find the patch here: http://www.kvikkjokk.net/~oden/softwares/qmailadmin/SOURCES/qmailadmin-0. 42-dropto.patch.bz2 Thanks. Wow.. if .qmail-username has nothing but a # in it, qmail-local just drops the mail and logs it as a successful delivery? Never knew that... -Bill
Re: Documentation (my 0.91 patch)
On Thursday, November 8, 2001, at 10:22 AM, Bill Shupp wrote: On Thursday, November 8, 2001, at 10:14 AM, ratMin wrote: sry, my mistake, I wasnt correct - qota isnt broken, just vpopmail and courier-imap does use different quota system. vdelivermail makes .current_size and courier-imap looks for maildirsize This is something I very much want as a configure option for vdelivermail, and plan to take a stab at it soon. only thing I still miss for quota is domain-based default quota eg. one more line to .qmailadmin-limits file. Steve Fulton has talked about writing a patch for this, but it would be built into vadduser I think, rather than something qmailadmin specific. Might want to ask him directly about it. I could patch qmailadmin to do this pretty easily, actually, since most of the framework for domain defaults is already there. Maybe I'll have time to do that today... Ok, I've patched qmailadmin to support default_quota quota in .qmailadmin-limits. Works for me, but please test. I also undid the change to QA_PACKAGE and QA_VERSION, as autoconf breaks it. Compilation will fail if you ever run make distclean. I'm sure there's a better way to get rid of the compilation warnings on FreeBSD, this just isn't it. See INSTALL for info. How to apply: cd qmailadmin-0.90 lynx --source http://shupp.org/patches/0.91.patch.gz | patch -p0 ./configure options make make install Regards, Bill Shupp
Vqadmin 1.18 patch.
Ken et all, I've attached a patch for Vqadmin 1.18 (gzipped, eh Bill? ;) . Now when editing a specific user, admins can enable/disable the following: - Disable Account / POP Access - Disable Web access - Disable IMAP Access - Disable Change Password - Bounce E-mail - Disable E-mail Relay - Set a Domain Administrator Flag, which allows user admin privs in QmailAdmin. Also, I've modified the Show Users screen to indicate if a user has administrator privs in QmailAdmin. However, I also discovered a bug -- Ken, when the users of a particular domain are displayed, it only shows the first page (or the max users per page setting, but does not allow to view additional pages) .. Is there a way to over-ride the max users per page setting in Vpopmail? -- Steve --- If once a man indulges himself in murder, very soon he comes to think little of robbing; and from robbing he next comes to drinking and Sabbath-breaking, and from that to incivility and procrastination. -- Thomas De Quincey (1785 - 1859) vqadmin-1.18.patch.gz Description: GNU Zip compressed data
RE: qmailadmin 0.84 and vpopmail-5.0 patch
Seems like multiple admins in at the same time could result in collisions if they were changing the same thing at the same time, e.g. both are looking at the properties of one user and typing a new name or password, one hits submit, the update happens, the other hits submit, the first admin's changes are wiped out. There's lots of other scenarios there. Dave -Original Message- From: Bill Shupp [mailto:[EMAIL PROTECTED]] Sent: Wednesday, September 26, 2001 1:28 PM To: [EMAIL PROTECTED] Subject: Re: qmailadmin 0.84 and vpopmail-5.0 patch Ken, Just put up my 0.85: Now that you can have multiple administrators, you can also have different administrators logged in at the same time. Do you see this a problem? Cheers, Bill Shupp
Re: qmailadmin 0.84 and vpopmail-5.0 patch
on 9/26/01 12:31 PM, Hubbard, David at [EMAIL PROTECTED] spake: Seems like multiple admins in at the same time could result in collisions if they were changing the same thing at the same time, e.g. both are looking at the properties of one user and typing a new name or password, one hits submit, the update happens, the other hits submit, the first admin's changes are wiped out. There's lots of other scenarios there. While this is true, I think it would be rare. The vpopmail command line tools can be used by multiple administrators, and I've never had a problem (with as many as 4 administrators at one time). I'm not as concerned with people overwriting each others changes as I am vpasswd corruption, or exceeding qmailadmin user/forward/alias limits, etc. Regards, Bill
RE: qmailadmin 0.84 and vpopmail-5.0 patch
Bill Shupp wrote: While this is true, I think it would be rare. The vpopmail command line tools can be used by multiple administrators, and I've never had a problem (with as many as 4 administrators at one time). I'm not as concerned with people overwriting each others changes as I am vpasswd corruption, or exceeding qmailadmin user/forward/alias limits, etc. I'm assuming then that maybe one admin deleting a user and then another changing that user's password would not result in any problems other than an error about the user not being found or something? Thanks, Dave
Re: qmailadmin 0.84 and vpopmail-5.0 patch
on 9/26/01 12:54 PM, Casey Zacek at [EMAIL PROTECTED] spake: I was emailing back and forth with Gabriel Ambuehl about the no-forwarding-postmaster's-email topic, and I accidentally deleted the last one, but I believe the concensus was that deleting postmaster and making it just forward to another admin (or even non-admin) account is feasible because the only thing that relies on postmaster existing is the code to detect whether a domain is an alias or not, but that code is no longer needed (or something along those lines), so it should be ok to whack postmaster. Is that right, Gabriel? Qmailadmin already allows you to forward postmaster mail elsewhere, even to another account at the same domain. Bill
Re: qmailadmin 0.84 and vpopmail-5.0 patch
on 9/26/01 2:24 PM, Brad Dameron at [EMAIL PROTECTED] spake: Bill, One issue I might see is users being able to add more than their limit. Based on what I see in the code it loads the limits when it first opens and checks to see how many of each already exhist but doesn't check again until the refresh is clicked. Maybe add in some checking to see how many exhist every time a screen is displayed? I already fixed that for a different reason. Some people had trouble with caching. So, I added an additional check on limits when the addition of a user/alias/forward/robot/list at the beginning of the appropriate add..now function. Before, the checks were only done when you brought up the add screen. Now it does it before the add screen and just before the adding takes place. But with multiple administrators, I could see the slim possibility of going one over the limit if the additions happen closely enough. But I can't imagine it being any worse than that. Regards, Bill Shupp
Re: Re[2]: qmailadmin 0.84 and vpopmail-5.0 patch
On Wed, 2001-09-26 at 14:13, Gabriel Ambuehl wrote: -BEGIN PGP SIGNED MESSAGE- Hello Casey, Wednesday, September 26, 2001, 7:54:25 PM, you wrote: Not only that, but (at least for me) it's really up to the customer, and the customers want this ability, so I'm very glad it's there. Trust me, you really DON'T want to have multiple administrators messing with the data at the same time as the number of problems resulting from this kind of stuff is indefinite. It's hard enough to get RDBMS backed solutions working correctly over the web and the vast majority of code which is marketed as multi user capable really breaks if two people are operating on the same sets of data at the same time. The only thing that could be done in a halfway safe way (i.e. user can at most destroy his own account which the admin can fix afterward) is to allow NORMAL users to change their pws while someone else is working with the system. I disagree. The RFC's state that email domains should accept email to postmaster. It doesn't state that postmaster has to be a pop account. One problem with having postmaster as a pop account, for some sites, is no one ever checks the postmaster email. They only check thier email accounts. So for those sites it would be better to not have postmaster as a pop account, and instead forward the postmaster email to the real pop account of the primary user. With the above type of setup, it would be very nice to allow that primary user to be the domain admin. Sites that would have multiple administrators changing email passwords, and hence create problems, can just not use this feature. I was emailing back and forth with Gabriel Ambuehl about the no-forwarding-postmaster's-email topic, and I accidentally deleted the last one, but I believe the concensus was that deleting postmaster and making it just forward to another admin (or even non-admin) account is feasible because the only thing that relies on postmaster existing is the code to detect whether a domain is an alias or not, but that code is no longer needed (or something along those lines), so it should be ok to whack postmaster. Is that right, Gabriel? With the new feature that Bill Shupp added, you can go ahead and delete the postmaster account and setup another user to be the admin. Then forward the postmaster email to an email address. It basically says what I said. AFAIK, the code I was referring to isn't yet integrated so it is safe to delete the postmasters and AFAIK it's still allowed in the pre5 and perhaps always will be although I still think is a bad thing TM. Ken if Bill may introduce new features before 5.0 is released, couldn't you introduce my patch too (cause I'm building some code that relies on some form (I don't care too much which one) of vaddaliasdomain() being present)? I think we are going to stick with the current domain alias code. It was there in the old 4.9 version and the early 4.10 versions and tested to work fine. It got removed from the later 4.10 version when we completely rewrote the code. I then added it back into the 5.0pre releases and it seems to be working fine. Adding in your changes could possibly break things, and break current sites, and would require more testing than I care to do. So unless there is an overwhelming reason from folks to use your code, I think we will stick with the current alias code. I'm sorry you are building code that relies on your changes. perhaps you can modify your code to use the alias code in the current 5.0pre releases. Ken Jones
qmailadmin 0.84 and vpopmail-5.0 patch
Hi Bill (et all) I uploaded the qmailadmin 0.84 version and updated the 5.0 (pre release still) version. Looks good. the vpopmail 5.0 is at http://www.inter7.com/vpopmail/vpopmail-5.0.tar.gz Cheers Ken (I'm getting back into the swing of things)
Re: 0.83 patch
I totally agree with this. I am going to have a real bitch of a time migrating my current email system to vpopmail because of the current limitation. Brad Dameron spoke forth with the blessed manuscript: Speaking of MySQL. There is one feature that should be implemented. There should no longer be a requirement to use postmaster as the admininistrator. There should be an additional entry in the database that says if a user is a admin or not. This would allow different usernames as well as multiple admin's as requested from some of my users. --- Brad Dameron Network Account Executive TSCNet Inc. www.tscnet.com Silverdale, WA. 1-888-8TSCNET -Original Message- From: Bill Shupp [mailto:[EMAIL PROTECTED]] Sent: Saturday, September 22, 2001 9:00 PM To: [EMAIL PROTECTED] Subject: 0.83 patch Ken, all: I've posted a patch that brings qmailadmin 0.82 to a 0.83 candidate: ChangeLog: http://shupp.org/patches/ChangeLog INSTALL: cd qmailadmin-0.82 lynx --source http://shupp.org/patches/0.83-patch.gz | patch -p0 ./configure options make ; make install-strip I've tested it with both cdb and mysql modules, and seems to work. Please report any issues to the list. Cheers, Bill Shupp -- -- Casey Zacek Senior Staff Engineer NeoSpire, Inc.
Re: 0.83 patch
I vote for this , definitely =) - Original Message - From: Casey Zacek [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, September 24, 2001 10:09 PM Subject: Re: 0.83 patch I totally agree with this. I am going to have a real bitch of a time migrating my current email system to vpopmail because of the current limitation. Brad Dameron spoke forth with the blessed manuscript: Speaking of MySQL. There is one feature that should be implemented. There should no longer be a requirement to use postmaster as the admininistrator. There should be an additional entry in the database that says if a user is a admin or not. This would allow different usernames as well as multiple admin's as requested from some of my users. --- Brad Dameron Network Account Executive TSCNet Inc. www.tscnet.com Silverdale, WA. 1-888-8TSCNET -Original Message- From: Bill Shupp [mailto:[EMAIL PROTECTED]] Sent: Saturday, September 22, 2001 9:00 PM To: [EMAIL PROTECTED] Subject: 0.83 patch Ken, all: I've posted a patch that brings qmailadmin 0.82 to a 0.83 candidate: ChangeLog: http://shupp.org/patches/ChangeLog INSTALL: cd qmailadmin-0.82 lynx --source http://shupp.org/patches/0.83-patch.gz | patch -p0 ./configure options make ; make install-strip I've tested it with both cdb and mysql modules, and seems to work. Please report any issues to the list. Cheers, Bill Shupp -- -- Casey Zacek Senior Staff Engineer NeoSpire, Inc.
qmailadmin 0.84, vpopmail-5.0-qa-admin patch
Ken, all: I've posted a qmailadmin-0.84 candidate: ChangeLog: http://shupp.org/patches/ChangeLog Download: http://shupp.org/patches/qmailadmin-0.84.tar.gz Among the changes from 0.83 is a method of allowing non-postmaster accounts to be domain administrators. A new gid flag (QA_ADMIN, 0x1000) was added to vpopmail so that you can now do vmoduser -a non-postmasteraccount@domain to grant domain admin privileges to the user. Should work with all auth modules. Here's how to apply the vpopmail patch, which should work on most of the 5.0 releases: cd vpopmail-5.0x lynx --source http://shupp.org/patches/vpopmail-5.0-qa-admin-patch.gz | patch -p0 ./configure options; make ; make install-strip Please report any issues to the qmailadmin list. Cheers, Bill Shupp
0.83 patch
Ken, all: I've posted a patch that brings qmailadmin 0.82 to a 0.83 candidate: ChangeLog: http://shupp.org/patches/ChangeLog INSTALL: cd qmailadmin-0.82 lynx --source http://shupp.org/patches/0.83-patch.gz | patch -p0 ./configure options make ; make install-strip I've tested it with both cdb and mysql modules, and seems to work. Please report any issues to the list. Cheers, Bill Shupp
Mailinglist subscribers sort patch.
http://www.esoteric.ca/software/mailinglist_sort.patch This will cause the output of any mailinglist's subscriber list to be sorted displayed alphabetically. This is meant to be applied against v0.80. -- Steve --- If once a man indulges himself in murder, very soon he comes to think little of robbing; and from robbing he next comes to drinking and Sabbath-breaking, and from that to incivility and procrastination. -- Thomas De Quincey (1785 - 1859)
Re: 0.70ac1 patch
I've updated the changes to incorporate Antonio's idea of having optional include files in addition to the header.html and footer.html files. Here's how to apply: cd qmailadmin-0.70 lynx --source http://shupp.org/patches/0.70ac2.patch.gz | patch -p0 ./configure options make install-strip It's almost identical to the one I released yesterday (see archive), but here's how it's different: 1. There are 3 new hooks: ##N1, ##N2, ##N3. These hooks will include html/include1.html, html/include2.html, and html3.html respectively. This gives you 3 unique include files (in addition to header.html and footer.html which get parsed automatically) to work with. If you need more, it's pretty easy to edit template.c to add them. As an example, this patch puts a little bit of text in html/include2.html, and this is called (via ##N2) from html/add_user.html. I did add error checking to prevent include loops. 2. incremented the version to 0.70ac2. Please post comments. Cheers, Bill Shupp
Re: 0.70ac1 patch
Bill Shupp writes: I've updated the changes to incorporate Antonio's idea of having optional include files in addition to the header.html and footer.html files. Cool! This is a test of include2.html. This domain is kvikkjokk.net file permission error /usr/local/share/qmailadmin/html//include3.html But why is there a double slash in there ? -- Kindest regards // Oden Eriksson Kvikkjokk Networks
Re: 0.70ac1 patch
on 8/1/01 9:47 AM, Oden Eriksson at [EMAIL PROTECTED] spake: Bill Shupp writes: I've updated the changes to incorporate Antonio's idea of having optional include files in addition to the header.html and footer.html files. Cool! This is a test of include2.html. This domain is kvikkjokk.net file permission error /usr/local/share/qmailadmin/html//include3.html But why is there a double slash in there ? Hmmm... I'm not sure. Did you make any changes to the html files, or is this out of the box? Can you post your configure line for qmailadmin? Thanks, Bill
Re: 0.70ac1 patch
Bill Shupp writes: on 8/1/01 9:47 AM, Oden Eriksson at [EMAIL PROTECTED] spake: Bill Shupp writes: I've updated the changes to incorporate Antonio's idea of having optional include files in addition to the header.html and footer.html files. Cool! This is a test of include2.html. This domain is kvikkjokk.net file permission error /usr/local/share/qmailadmin/html//include3.html But why is there a double slash in there ? Hmmm... I'm not sure. Did you make any changes to the html files, or is this out of the box? Can you post your configure line for qmailadmin? No, no changes. Here's my configure stuff: ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --enable-vpopmaildir=/home/vpopmail \ --enable-htmldir=/var/www/html \ --enable-cgibindir=/var/www/cgi-bin \ --with-htmllibdir=/usr/local/share/qmailadmin \ --enable-qmaildir=/var/qmail \ --enable-cgipath=/cgi-bin/qmailadmin \ --enable-vpopuser=vpopmail \ --enable-autoresponder-bin=/usr/local/bin \ --enable-ezmlmdir=/usr/local/bin \ --enable-maxpopusers=-1 \ --enable-maxaliases=-1 \ --enable-maxforwards=-1 \ --enable-maxautoresponders=-1 \ --enable-maxmailinglists=-1 \ --enable-maxusersperpage=15 \ --enable-maxaliasesperpage=25 \ --enable-no-cache=N \ --disable-nls make make install -- Kindest regards // Oden Eriksson Kvikkjokk Networks
Re: 0.70ac1 patch
on 8/1/01 9:55 AM, Oden Eriksson at [EMAIL PROTECTED] spake: Bill Shupp writes: on 8/1/01 9:47 AM, Oden Eriksson at [EMAIL PROTECTED] spake: Bill Shupp writes: I've updated the changes to incorporate Antonio's idea of having optional include files in addition to the header.html and footer.html files. Cool! This is a test of include2.html. This domain is kvikkjokk.net file permission error /usr/local/share/qmailadmin/html//include3.html But why is there a double slash in there ? Hmmm... I'm not sure. Did you make any changes to the html files, or is this out of the box? Can you post your configure line for qmailadmin? No, no changes. Here's my configure stuff: ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --enable-vpopmaildir=/home/vpopmail \ --enable-htmldir=/var/www/html \ --enable-cgibindir=/var/www/cgi-bin \ --with-htmllibdir=/usr/local/share/qmailadmin \ --enable-qmaildir=/var/qmail \ --enable-cgipath=/cgi-bin/qmailadmin \ --enable-vpopuser=vpopmail \ --enable-autoresponder-bin=/usr/local/bin \ --enable-ezmlmdir=/usr/local/bin \ --enable-maxpopusers=-1 \ --enable-maxaliases=-1 \ --enable-maxforwards=-1 \ --enable-maxautoresponders=-1 \ --enable-maxmailinglists=-1 \ --enable-maxusersperpage=15 \ --enable-maxaliasesperpage=25 \ --enable-no-cache=N \ --disable-nls make make install Well, first of all it looks like my error checking is broken. Let me fix that, then we'll see why yours is generating the extra slash. What os are you working on? Thanks, Bill Shupp
Re: 0.70ac1 patch
Bill Shupp writes: on 8/1/01 9:55 AM, Oden Eriksson at [EMAIL PROTECTED] spake: Well, first of all it looks like my error checking is broken. Let me fix that, then we'll see why yours is generating the extra slash. I noticed that the configure stuff ignored that I didn't have the autorespond binary. What os are you working on? LFS = Linux From Scratch (all the newest stuff..., all djb softwares built against dietlibc, etc.) -- Kindest regards // Oden Eriksson Kvikkjokk Networks
Re: 0.70ac1 patch
on 8/1/01 10:27 AM, Oden Eriksson at [EMAIL PROTECTED] spake: Bill, Here's from my config.h #define HTMLLIBDIR /usr/local/share/qmailadmin/html/ It's odd because I configured it like: --with-htmllibdir=/usr/local/share/qmailadmin and not --with-htmllibdir=/usr/local/share/qmailadmin/html/ Well, mine has the trailing slash as well. But a redundant / is usually ignored. I don't understand why only these new include files are causing a problem and the others are not. Also, I don't know why it's include3.html that is being referenced. I can add a test for a trailing slash and make the path correct. That's probably what should happen anyway, as I'm not sure all *nix systems will ignore a redundant slash in a path. Bill
Re: 0.70ac1 patch
Bill Shupp writes: on 8/1/01 10:27 AM, Oden Eriksson at [EMAIL PROTECTED] spake: Bill, Here's from my config.h #define HTMLLIBDIR /usr/local/share/qmailadmin/html/ It's odd because I configured it like: --with-htmllibdir=/usr/local/share/qmailadmin and not --with-htmllibdir=/usr/local/share/qmailadmin/html/ Well, mine has the trailing slash as well. But a redundant / is usually ignored. I don't understand why only these new include files are causing a problem and the others are not. Also, I don't know why it's include3.html that is being referenced. If I add the include3.html file the error is gone. I can add a test for a trailing slash and make the path correct. That's probably what should happen anyway, as I'm not sure all *nix systems will ignore a redundant slash in a path. Bill I don't know... Here's another issue. on line 010 in the translation (no sv), ##D don't work, I don't know if it should -- Kindest regards // Oden Eriksson Kvikkjokk Networks
Re: 0.70ac1 patch
on 8/1/01 10:27 AM, Oden Eriksson at [EMAIL PROTECTED] spake: Bill, Here's from my config.h #define HTMLLIBDIR /usr/local/share/qmailadmin/html/ It's odd because I configured it like: --with-htmllibdir=/usr/local/share/qmailadmin and not --with-htmllibdir=/usr/local/share/qmailadmin/html/ Try this: in configure.in, change line 100 from: AC_DEFINE_UNQUOTED(HTMLLIBDIR, $htmllibdir/html/) to: AC_DEFINE_UNQUOTED(HTMLLIBDIR, $htmllibdir/html) make distclean ./configure options make install See if it works for you then. Thanks, Bill Shupp
Re: 0.70ac1 patch
Bill Shupp writes: Try this: in configure.in, change line 100 from: AC_DEFINE_UNQUOTED(HTMLLIBDIR, $htmllibdir/html/) to: AC_DEFINE_UNQUOTED(HTMLLIBDIR, $htmllibdir/html) Yep, that did the trick. file permission error /usr/local/share/qmailadmin/html/include3.html -- Kindest regards // Oden Eriksson Kvikkjokk Networks
Re: 0.70ac1 patch
Bill Shupp writes: on 8/1/01 10:43 AM, Oden Eriksson at [EMAIL PROTECTED] spake: If I add the include3.html file the error is gone. Oh, crap. I didn't notice that diff -N only creates missing files that have more than 0 bytes. So include1.html and include3.html were not being created by the patch. If you touch each file, you should be ok. Yes, but I noticed the double slash thing only when I removed the include file. I guess I could have gotten the same result if I removed other files too. I went ahead and created a 0.70ac4.patch.gz. It creates all the include files, changes configure.in to not append a trailing slash to HTMLLIBDIR, and increments the version to 0.70ac4. Check it out if you want. Ok, cool! Here's another issue. on line 010 in the translation (no sv), ##D don't work, I don't know if it should Right. When I posted 0.60pre9, I pulled it from the en dictionary and left it as 'sales'. I'm not sure if we want to have the dictionaries parsed, or not, so I just removed it. Ok, I remove it from the sv template and send it to you. -- Kindest regards // Oden Eriksson Kvikkjokk Networks
Re: 0.70ac1 patch
on 8/1/01 11:09 AM, Oden Eriksson at [EMAIL PROTECTED] spake: Yes, but I noticed the double slash thing only when I removed the include file. I guess I could have gotten the same result if I removed other files too. Right. The problem was NOT the double slash, it was the fact that the template file was missing. You only noticed the double slash when the error message was displayed. The new patch corrects both issues. Ok, I remove it from the sv template and send it to you. Ok. Cheers, Bill Shupp
Re: 0.70ac1 patch
Bill, On Wed, 1 Aug 2001, Bill Shupp wrote: 1. There are 3 new hooks: ##N1, ##N2, ##N3. These hooks will include html/include1.html, html/include2.html, and html3.html respectively. This gives you 3 unique include files (in addition to header.html and footer.html which get parsed automatically) to work with. If you need more, it's pretty easy to edit template.c to add them. As an example, this patch puts a little bit of text in html/include2.html, and this is called (via ##N2) from html/add_user.html. I did add error checking to prevent include loops. Why they must be hardcoded? We could have just one ##N command that could be used like: ##N/test/include.html ##Nheader.html ##Nsomefile.html and they should be expanded to: html_dir_of_qmailadmin/test/include.html html_dir_of_qmailadmin/header.html html_dir_of_qmailadmin/somefile.html This is much more clean and there is just one command to remember. What do you think? -- Antonio Dias
Re: 0.70ac1 patch
on 8/1/01 12:12 PM, Ken Jones at [EMAIL PROTECTED] spake: I updated the distribution with Bills (Alan Cox?) :) patch and updated the version to 0.70. Ha! Do I get to be on the Inter7 payroll too? ; ) Did you get the latest patch? It was 0.70ac4. ac1 didn't have the ##N[1-3] hooks, and ac2 and ac3 were broken. But I'm not sure you were into the extra include files idea (##N[1-3]). One change, I put the version in the footer with a link to the qmailadmin page. This might help people looknig for help, we can put a qmailadmin howto/help document on the page. I'm thinking that the ##V (version) should be left out by default, and only mentioned in the docs. Also, I'm not sure all the header info should be in header.html by default, as I'm not sure everyone wants it. That's just how I like it. Thanks, Bill Shupp
Re: 0.70ac1 patch
on 8/1/01 12:13 PM, Antonio Dias at [EMAIL PROTECTED] spake: Why they must be hardcoded? We could have just one ##N command that could be used like: ##N/test/include.html ##Nheader.html ##Nsomefile.html and they should be expanded to: html_dir_of_qmailadmin/test/include.html html_dir_of_qmailadmin/header.html html_dir_of_qmailadmin/somefile.html This is much more clean and there is just one command to remember. What do you think? Oh, that's pretty cool. I can make that work. I think it's cleaner, too. Let me get that worked out, and add some documentation... Cheers, Bill Shupp