Re: [vchkpw] Custom bounce messages

2003-06-26 Thread Marcus Williams
On Wednesday, June 25, 2003, at 16:54, you wrote:
> On Wednesday, June 25, 2003, at 01:49  AM, Marcus Williams wrote:
>> I've set up a custom bounce message using the .no-user.msg file, but
>> the message created gets extra slash characters added to the front of
>> the second and subsequent lines of the message.
>>
>> Is this to be expected?

> There's a good chance that .no-user.msg can only be one line.  I'm 
> guessing that something in the qmail delivery mechanism (and not 
> vpopmail) is adding the backslashes.

Thanks for this - turned out it was a script on our system that was
adding them (well, causing them at any rate).

Marcus

-- 
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Road, Cambridge, UK




[vchkpw] Custom bounce messages

2003-06-25 Thread Marcus Williams
Hi -

I've set up a custom bounce message using the .no-user.msg file, but
the message created gets extra slash characters added to the front of
the second and subsequent lines of the message.

So my bounce file says:

No such user at this domain
Please contact XYZ on 0123456789
Web: http://www.onq2.com

but the bounced message says:

No such user at this domain
/Please contact XYZ on 0123456789
/Web: http://www.onq2.com


Is this to be expected?

Cheers

Marcus

PS if it matters I'm using vpopmail 5.3.16


-- 
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Road, Cambridge, UK




Re: [vchkpw] pipes in .qmail-files vpopmail 5.3.19

2003-03-28 Thread Marcus Williams
Hi -

Quick question - have you changed qmail-local at all (are you using
vqmaillocal for instance)?

On Thursday, March 27, 2003, at 18:53, you wrote:
[snip]
> unix11> HOST="broadviewnet.net"; EXT="tester"; export EXT HOST;
> unix11> echo "To: [EMAIL PROTECTED]" |  truss
> /home/vpopmail/bin/vdelivermail '' bounce_no_mailbox
[snip]
>Incurred fault #6, FLTBOUNDS  %pc = 0xEF5F31AC
>  siginfo: SIGSEGV SEGV_MAPERR addr=0x
>Received signal #11, SIGSEGV [default]
>  siginfo: SIGSEGV SEGV_MAPERR addr=0x
>*** process killed ***

That one smells of a null pointer - its possible that I caused that
seg fault by forgetting to define RPLINE so can you send me (off list,
I'll reply on list if its what I think) the truss output if you
change the first line to something like:

DTLINE=""; RPLINE=""; HOST="broadviewnet.net"; EXT="tester"; export EXT HOST RPLINE 
DTLINE;

If it works (ie no seg fault) try it with spamc in the pipe as well.

Thanks

Marcus

-- 
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Road, Cambridge, UK




Re: [vchkpw] pipes in .qmail-files vpopmail 5.3.19

2003-03-27 Thread Marcus Williams
On Thursday, March 27, 2003, at 10:29, you wrote:
>> If you have no pipes in the command, does vdelivermail work as normal?

> yes, it does.  No problems.

Okay bearing in mind I'm no Solaris expert so someone else may want to
jump in here - what output do you get if you do something like:

HOST="broadviewnet.net"; EXT="tester"; export EXT HOST;
echo "To: [EMAIL PROTECTED]" |
truss /home/vpopmail/bin/vdelivermail '' bounce_no_mailbox

(all one line - I've broken it up)

I've put "truss" where I'd normally put "strace" on Linux although I'm
not sure what the equivalent of strace is on Solaris (I think its
truss). Hopefully the cmd line above will generate the same segfault
and the output may give an idea of where.

You may also want to add a pipe to /usr/bin/spamc in between
the echo and vdelivermail. If the output is large feel free to mail it
me off list.

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Road, Cambridge, UK










Re: [vchkpw] pipes in .qmail-files vpopmail 5.3.19

2003-03-27 Thread Marcus Williams
On Thursday, March 27, 2003, at 09:41, you wrote:
> I have copied the vdelivermail binary over from the working Solaris 2.7
> machine onto my non-working Solaris 2.8 machine... it acts identical.

If you have no pipes in the command, does vdelivermail work as normal?

Marcus


-- 
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Road, Cambridge, UK




Re: [vchkpw] vpopmail : forwarding a catch-all to an external address

2003-03-14 Thread Marcus Williams
On Friday, March 14, 2003, at 09:18, you wrote:
> [EMAIL PROTECTED]:/var/vpopmail/domains/groenen.nl# cat .qmail-default
> | /var/vpopmail/bin/vdelivermail '' [EMAIL PROTECTED]

This is probably where you're going wrong (unintentionally) - I
suspect vdelivermail looks up the catchall address in its list of
known users for the current domain, and if it finds one delivers
directly to that users maildir.

You can easily fix this by making the catchall address an address
that doesnt exist in your vpopmail domain such as [EMAIL PROTECTED]
and then set up .qmail-catchall to do what you want.

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Road, Cambridge, UK




Re: [vchkpw] Seekable Patch - Bill's Toaster

2003-03-12 Thread Marcus Williams
On Wednesday, March 12, 2003, at 15:41, you wrote:
> We're using the lastest version of Bill Schupp's Toaster which uses
> Vpopmail 5.3.7. From reading the list, doc's, etc. we understand that in
> order to process mail using spamc or maildrop from .qmail-default in the
> domain directory we need to have the 'seekable patch' installed.

Version 5.3.7 and upwards include the seekable patch - its enabled by
default and you can disable it using the --enable-seekable=n configure
option.

The patch makes sure anything piped to vdelivermail is seekable (ie
you can rewind the stream using lseek). If it isnt, it creates a temp
file from the incoming stream and uses that as the input (which is
then "seekable").

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Road, Cambridge, UK




Re: [vchkpw] seekable

2002-09-19 Thread Marcus Williams

On Monday, September 16, 2002, at 22:00, you wrote:
> How do i check if i have got seekable patched up? 

How about reading my reply (off list) to your *identical* question
about two weeks ago. Oh wait, you replied to it (on list) so you must
have read it:

 http://bluedot.net/mail/archive/read.php?f=2&i=7605&t=7591


Marcus

-- 
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Road, Cambridge, UK




Re: [vchkpw] seekable patch

2002-09-09 Thread Marcus Williams


On Sunday, September 8, 2002, at 21:03, you wrote:
> I am running vpopmail version 5.2. Is seekable patch eabled in this
> realease?

No, the first release to have it was 5.3.7. You can get the patch from
http://www.thesafebox.com if you want to apply it to 5.2 instead of
using the 5.3 series. There is also information on that page on how to
apply the patch.

Marcus

-- 
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Road, Cambridge, UK




Re: [vchkpw] tdma

2002-08-16 Thread Marcus Williams

On Friday, August 16, 2002, at 13:19, you wrote:
> IMPORTANT! If you're using vpopmail > 5.0 then you'll have to be
> sure to compile it with --enable-qmail-ext=y or vpopmail will ignore
> .qmail-user-default files.

Ill-chosen (?) words I think. Vpopmail doesnt ignore the
.qmail-user-default file, but without the extensions enabled it will
treat email addresses with extensions as nonexistent users so they get
bounced (or whatever your catchall action is). The .qmail-user-default
file still gets processed.

As for your question, depending on whether you look at the changelog
or various places in the code, you'll get a different answer but it
looks like 5.2.1 defaults to 'n' in the bit that matters.

Marcus

-- 
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Road, Cambridge, UK




RE: Re[4]: slow login thru firewall?

2001-11-21 Thread Marcus Williams

> -Original Message-
> From: Hans-Juergen Schwarz [mailto:[EMAIL PROTECTED]]
> Sent: 21 November 2001 07:47
> To: vpopmail
> Subject: Re[4]: slow login thru firewall?
>
>
> Hello Aaron Gee,
> thank you for your suggestion, but it didn´t worked out. The problem
> must be at a different place. Any other ideas?
> Thank you very much
> Hans-Juergen
[snip]

Does your firewall block ident lookups? This is the cause of a lot of
slow connection problems across firewalls as the program waits until
the ident lookup fails before continuing. I think you can tell
tcpserver to tun without lookups by adding the -R flag.

Check out http://cr.yp.to/ucspi-tcp/tcpserver.html for full options.
If you're running qmail using tcpserver you may also get a similar
timeout on SMTP connection.

Hope this helps

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




RE: Re[2]: Announcement: Spam Stopper alpha

2001-11-13 Thread Marcus Williams

> -Original Message-
> From: Sean C Truman [mailto:[EMAIL PROTECTED]]
[snip]
> The CRC idea sounded good, But the possibility of it
> working is fading.
[snip]

For another simple approach, something that appears to work very well
on one of the mail servers I run is checking the subject headers
against a known list of spam subjects, and then tagging the message as
spam.

You cant just check the subject header for equality against the ones
in a known spam subject list as spammers tend to put random
words/numbers into the mail they're sending to foil this (this also
foils the CRC approach).

What you can do, with a small overhead, is do some sort of pattern
matching approach similar to the unix diff command to give you a
similarity score against each subject heading. A score over a certain
threshold gets the email tagged as spam, adding a header to the
message that the user can then use to do some filtering. The overhead
is probably enough to not be able to do the same check against the
body of the message.

I havnt used this method long enough to trust it into deleting
messages!

If you're a Python fan you can use the difflib library
(http://www.python.org/doc/current/lib/module-difflib.html) - I'm sure
theres equivs in other languages (perl espec.)

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




RE: Mdaemon compatibility

2001-10-19 Thread Marcus Williams



> -Original Message-
> From: Fabian Gervan [mailto:[EMAIL PROTECTED]]
[snip]
> There are any way to include in the headers of each message
> "X-MDaemon-Deliver-To: [EMAIL PROTECTED]" 
[snip]

If you're on a unix box check out 'formail' - pipe a message through
this to add/remove headers.

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY





RE: Bad code in vdelivermail

2001-10-04 Thread Marcus Williams



> -Original Message-
> From: Alex Kramarov [mailto:[EMAIL PROTECTED]]
[snip]
> I would really apriciate to get your patch, because the
> lseek is the main
> stumbling block for alot of stuff - i personally trying to
> use vpopmail with
> postfix, and it is working fine with 4.9.10, but not with 5
> because of the
> same problem. i think that the list may benefit from this
> in the future,
> cause we need a simple interface for mail delivery for
> vpopmail. postfix is
> sometimes used with maildrop, which can recieve piped input
> by storing the
> piped message to temp file (only when nessesary), but it's
> more complex then
> vdelivermail, so im am trying to cut some corners here.
[snip]

Okay, I'll clean it up and post the patch to the list tommorrow if I
have time (if not I'll post it after the weekend). I'll see if I can
add an enabling switch to the configure process as well.

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




RE: Bad code in vdelivermail

2001-10-04 Thread Marcus Williams



> -Original Message-
> From: Gabriel Ambuehl [mailto:[EMAIL PROTECTED]]
[snip]
> >If whence is SEEK_END, the offset is set to the size of
> > the file
> >plus offset bytes.
>
>
> > So I think it actually should read
> > lseek(0, 0L, SEEK_SET);
>
> I think I missed the most important point: lseek(0, 0L, SEEK_SET);
> won't do anything but fail cause seeking on pipes simply doesn't
> work:
>
[snip]

This has been fixed in the latest version (or at least according to
the AUTHORS/Changelog it has!). You are correct about the pipe stuff
though. This is the main stumbling block for using procmail on a
domain wide basis in the new versions of vpopmail because you cannot
do

| procmail blah blah blah | vdelivermail more blah

in your .qmail-default. I've editted my local vdelivermail so that it
doesnt use lseek on the incoming mail so that I can use procmail/pipes
to vdelivermail.

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




RE: vpopmail auth question

2001-10-03 Thread Marcus Williams

> -Original Message-
> From: Vladimir Kabanov [mailto:[EMAIL PROTECTED]]
[snip]
> also as have no response to implement APOP & CRAM-MD5 password auth
> schemas... for pop3, courier (imap & pop3) & smtp
> in one vchkpw module.
>
[snip]

http://www.mail-archive.com/vchkpw@inter7.com/msg06461.html

I'd say that (and the thread following it) was a reply. Looks like
its going into the next development series.

Marcus




RE: procmail

2001-09-27 Thread Marcus Williams



> -Original Message-
> From: Marc-Andre Husyk [mailto:[EMAIL PROTECTED]]
[snip]
> I found out a lot of the var stuff but know procmail
> doesn't read the
> systems env
> It only read its own env :/
[snip]

Yes but it isnt procmail tagging the message with the delivered-to
line, its the preline command. qmail pipes the message text (headers
and all) to whatever program hangs off .qmail-default. In the case of
procmail, it doesnt (by default) know the environment vars so you have
to use premail that takes qmails input adds the return-path and
delivered-to headers and then pipes it on to procmail.

If you want different delivered-to/return-path headers, write your own
version of preline (all it does is take all input from qmail, prepend
the extra headers and feed it on to another program) to tag different
headers on. You can do this with a shell script if need be (not
something I'd necessarily recommend...) or just rewrite preline
itself.

Another solution is to run procmail so that it does use qmails
environment vars ("-p" argument) and then do what preline does within
procmail.

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




RE: procmail

2001-09-27 Thread Marcus Williams

> -Original Message-
> From: Marc-Andre Husyk [mailto:[EMAIL PROTECTED]]
[snip]
> Qmail is delivering to [EMAIL PROTECTED]
>
> But vdelivermail writes Delivered-To: [EMAIL PROTECTED]
>
>
> If I use "| preline procmail -t" in .qmail it gets the
> [EMAIL PROTECTED] line but it would be
> much nicer to also get only [EMAIL PROTECTED]
[snip]

The preline command (and vdelivermail) construct the Delivered-To
header from environment variables passed through from qmail-command.
Specifically $EXT and $HOST I think.

You can also access EXT2, EXT3 and EXT4 to access other parts of the
mail username after the dashes. There is also DTLINE which I is the
whole Delivered-to header.

There is more information in the life with qmail manual (pp35-) which
is more accurate than my memory :-)


Marcus
--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




RE: fetchmail or other Pop to smtp gateway

2001-09-25 Thread Marcus Williams

> > -Original Message-
> > From: Rick Yu [mailto:[EMAIL PROTECTED]]
> >
> > Hi,
> >   I have a big mailbox on my isp, all of the mail to my
> > domain are sent to this mailbox. I'm using
> > qmail+vpopmail+qmailadmin+sqwebmail in my LAN, I want to
> > download all mail to my local email server and forward it
> > to each small mail box.
> >
> >   If using sendmail, I can use fetchmail. I want to know if
> > there are better solutions?
> [snip]
>
> Personally I'd keep using fetchmail. This is the combination I use
on
> boxes at home and work. If your ISP uses qmail to manage your
> mailboxes its even easier.
>
> All you have to do is set up a virtual domain on your mail server
> thats the same as your domain at your ISP. Then you let fetchmail
(in
> multidrop mode)/qmail/vpopmail do the rest of the work for you. I
can
> send you my setup details if you want.
[snip]

[a few people have asked for my config files, so I'm sending to list
in case anyone else finds them useful - these may not work for anyone,
but they've worked for every ISP I've used recently]

My setup is as follows (hostnames etc have been changed to protect the
innocent :-) Actually, my setup is more complicated but I've removed
the complications as well.

My ISP pop3 server = pop3.myisp.com
My domain = mydomain.com

I have a mailbox on myisp.com that holds any email directed at
mydomain.com no matter what comes before the "@mydomain.com"

First define a virtual domain in vpopmail "mydomain.com" and set up
all the accounts you want in it. I have mine set up with all the
usernames I support and I bounce all unknown users because it saves me
getting a lot of spam.

Secondly you have to see what header information you can use to split
up your email to mailboxes. I happen to know that my ISP uses qmail
anyway, and that there is a Delivered-To header that has something
like "[EMAIL PROTECTED]" in it and where mailboxname is
whatever user has been sent an email. This is the second Delivered-to
header, so I need fetchmail to skip the first. You can use the
"envelope 1 Delivered-To" option to do this. I also need it to ignore
the "alias-" bit of the address so I use the qvirtual option "qvirtual
alias-" to tell fetchmail to strip off the alias stuff.

My fetchmailrc is something like:

#---%<
set bouncemail
set invisible
set properties ""

poll pop3.myisp.com with proto pop3 and options no dns
envelope 1 "Delivered-To"
qvirtual "alias-"
localdomains mydomain.com
user myusername there with password mypassword is * here options
fetchall forcecr warnings 3600
#---%<

Note the final line is all one line (Outlook will have wrapped it).
You will have to swap myusername and mypassword for your ISP username
and password.

I would also use the "--keep" option whilst testing. I run
fetchmail as a daemon.

Hope this is of use,

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




RE: fetchmail or other Pop to smtp gateway

2001-09-25 Thread Marcus Williams

> -Original Message-
> From: Rick Yu [mailto:[EMAIL PROTECTED]]
>
> Hi,
>   I have a big mailbox on my isp, all of the mail to my
> domain are sent to this mailbox. I'm using
> qmail+vpopmail+qmailadmin+sqwebmail in my LAN, I want to
> download all mail to my local email server and forward it
> to each small mail box.
>
>   If using sendmail, I can use fetchmail. I want to know if
> there are better solutions?
[snip]

Personally I'd keep using fetchmail. This is the combination I use on
boxes at home and work. If your ISP uses qmail to manage your
mailboxes its even easier.

All you have to do is set up a virtual domain on your mail server
thats the same as your domain at your ISP. Then you let fetchmail (in
multidrop mode)/qmail/vpopmail do the rest of the work for you. I can
send you my setup details if you want.

Alternatively you use fetchmail/getmail and get them to deliver to a
single mailbox on your machine and let your mail agent do the
filtering into folders.

getmail is good, but doesnt do stuff as well as fetchmail IMNSHO and
I'm not sure its as configurable as fetchmail (I havnt looked at it
for a while though).

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




RE: R: vpopmail and php

2001-09-21 Thread Marcus Williams



> -Original Message-
> From: Casey Zacek [mailto:[EMAIL PROTECTED]]
[snip]
> > > I tried to compile php4 with the option
> --with-vpopmail(with or without
> > > "=/home/vpopmail"), but i found this compile error:
> > >
> > > /usr/bin/ld: cannot find -lvpomail
> > > collect2: ld returned 1 exit status
[snip]

Assuming you cut and pasted this error then there is a typo in the php
installation: "-lvpomail" should be "-lvpopmail" - you may want to
grep for "vpomail" and replace it for "vpopmail".

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




RE: $Home/Maildir qmail vpopmail

2001-09-20 Thread Marcus Williams

> -Original Message-
> Thursday, September 20, 2001, 12:44:45 PM, you wrote:
[snip]
> OGC> when I want to pop in my mailaccounts. My MUA
> delivered an error:
>
> OGC> '-ERR this user has no $HOME/Maildir'
>
> OGC> What can I do?
[snip]

Make sure you're using the FULL USERNAME of user@domain in your
account settings. I often have users complain about this very error
message, and its _always_ because they havnt specified their username
correctly. Mind you, I have a working qmail/vpopmail installation.

So if your username is test and your virtual domain is test.com, use
the username [EMAIL PROTECTED] (you may need to replace '@' for '%')

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




RE: Well, everything but pop seems to work...

2001-09-20 Thread Marcus Williams



> -Original Message-
> From: treme metre [mailto:[EMAIL PROTECTED]]
[snip]
> Where do I look to fix this.  I "ps waux | grep v" looking
> for vpop.. or
> vchkpw - not there.  And the /var/logs/qmail/pop3d logs are empty.
[snip]

fuser is your friend (assuming you have it on your system)

bart:~# fuser -u -n tcp 110
110/tcp:   188(root)  1965(root)  1966(vpopmail)

It'll tell you which process is using port 110 (the pop3 port) - it
doesnt have to be vpopmail like it is on my system.

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




RE: dot qmail

2001-09-10 Thread Marcus Williams



> -Original Message-
> From: Pierre Rodriguez [mailto:[EMAIL PROTECTED]]
> Sent: 10 September 2001 16:08
> To: [EMAIL PROTECTED]
> Subject: dot qmail
[snip]
> If I create a .qmail-pierre, it works.
> But if I try .qmail-pierre.rodriguez, it don't.
> (for sure, both originals mailboxes are created...)
>
[snip]

This is a qmail question, and not vpopmail so should be directed to
the qmail list. Its also in the Qmail FAQ.

Substitute a colon (:) for the dot (.) so you get
'.qmail-pierre:rodriguez' and it'll work.

Marcus






[OT] RE: qmail's logs

2001-08-23 Thread Marcus Williams

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
[snip]
> i noticed that in /var/server/qmail-smtpd, 
> /var/service/qmail and many 
> others, it creates lots of logs.
> 
> What is, for you, the best way to manipulate, rotate and 
> archive them?
[snip]

Check out logrotate (http://www.google.com/search?q=logrotate).

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY



RE: False error report

2001-08-08 Thread Marcus Williams



> -Original Message-
> From: FAHRIZAL RAZAK [mailto:[EMAIL PROTECTED]]
> Sent: 08 August 2001 04:03
> To: [EMAIL PROTECTED]
> Subject: False error report
[snip]
> Aug  7 18:39:38 my.host.net vpopmail[9907]: [ID 676305 mail.notice]
> vchkpw: password fail [EMAIL PROTECTED]:xxx.yyy.zzz.aaa
> Aug  7 18:45:25 my.host.net vpopmail[10621]: [ID 628377 mail.notice]
> vchkpw: password fail [EMAIL PROTECTED]:xxx.yyy.zzz.aaa
> Aug  7 18:50:05 my.host.net vpopmail[11181]: [ID 676305 mail.notice]
> vchkpw: password fail [EMAIL PROTECTED]:xxx.yyy.zzz.aaa
> Aug  7 18:55:51 my.host.net vpopmail[11928]: [ID 628377 mail.notice]
> vchkpw: password fail [EMAIL PROTECTED]:xxx.yyy.zzz.aaa
> Aug  7 18:58:52 my.host.net vpopmail[11958]: [ID 628677 mail.notice]
> vchkpw: password fail [EMAIL PROTECTED]:xxx.yyy.zzz.aaa
[snip]

Some mail tools (KDEs Kmail for instance) try to automagically
determine the securest way to download your email. This means it'll
try APOP, CRAM-MD5 etc before using a plain text password for logging
in. You'll get the password fails from one of these methods and then a
successful login right after when it uses the plain text password.

You can stop it by telling the mail tool in question to use the plain
text login for that account.

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




RE: Install problem section 3

2001-07-30 Thread Marcus Williams

Hi -

[snip]
> ---
> I just did a make then a make install-strip and at the end
> a root logon
> popped up.  I checked and yes, there was another root sh.
> ---~~
>
> As I run a dozen OS`s, including several Unixes the past
> 4.5 years I have
> never been notified of another root login on my console
> during an install
> before.
[snip]

I havnt checked my copies of the source tree but it might be that
somewhere in the makefile theres a 'su -c' or something similar. I've
seen that in a few install scripts before and that might give you the
extra logon - certainly an extra root shell.

Marcus







RE: Closing an account when a customer hasn't paid?

2001-07-25 Thread Marcus Williams

> -Original Message-
> From: Jesper Hess Nielsen [mailto:[EMAIL PROTECTED]]
[snip]
> Is there an easy way to close a domain temporarily,
> allowing me to shut off
> all incoming and outgoing mail when a customer hasn't paid?
[snip]

For incoming:

I havnt really tested this but theres no reason why it shouldnt work:

(1) email your user with the mail saying he should pay up.
(2) write a simple shell script that exits with a qmail deferral
status (111)

-8<---
#!/bin/sh
exit 111
-8<---

(3) change your users .qmail-default in his/her domain directory to
pipe all mail to this.

This way all incoming email gets deffered for the standard qmail time,
bounced if this is exceeded (just over a day?). So they get a days
grace before mail starts bouncing. When the user pays, replace the
.qmail-default file with the standard vdelivermail one and all
deferred email will get delivered.

Since a day is a little short, you could send them warning mails
before hand saying you were going to do this

Presumably for outgoing you could just remove their host from the
hosts allowed to send email (tcp-env settings?).

Marcus




RE: procmail + qmail + vpopmail

2001-07-23 Thread Marcus Williams

[A quick summary of what I've been sent (mainly by Daniel Biddle) on
how to use procmail with vpopmail on a domain wide basis ie with
procmail filtering everything coming to the domain before vdelivermail
gets hold of it. Skip to bottom if you want to know how.]

>From various procmail manuals/source etc:

* procmail wipes out its environment (except for TZ) on startup,
unless you specify -p. This will interfere with vdelivermail, which
needs EXT and HOST so that it knows who to deliver to; so, add -p to
the procmail command.

* There's a recipe flag 'w' to tell procmail to wait for the filter or
program to finish; presumably without this it doesn't. Using this is
probably a good idea: http://www.procmail.org/jari/ shows a warning
from a procmail lint about w being omitted.

>From a search on google I found that the way to get vpopmail working
with procmail entailed getting procmail to deliver to stdout using the
line

DEFAULT="|"

in your procmailrc file, and:

|preline procmail -p | /path/to/vdelivermail '' bounce-no-mailbox

(all on one line) in your .qmail-default. However this causes
wierdness with non-delivering recipes as vdelivermail goes on to
deliver empty files. A fix for this was suggested to be to put the
vdelivermail bit in the DEFAULT assignment like:

DEFAULT="|/path/to/vdelivermail '' bounce-no-mailbox"

to get default delivery to vdelivermail. However this appears to be
ignored by procmail. None of the man pages or FAQs say you can do this
so it may be that procmail doesnt support this.

There's another way that looks better: in .qmail-default, we can put

|preline procmail

and let /etc/procmailrc or the user's .procmailrc end with

TRAP="/home/vpopmail/bin/vdelivermail '' bounce-no-mailbox"

so that procmail finishes by handing the message straight to
vdelivermail. I've never managed to get this working though.

**Solution**

Blindingly obviously (but completely missed by me :), it appears the
simplest way is to add a catchall recipe to the end of your procmailrc
file that calls vdelivermail explicitly with the 'w' flag. You
shouldnt have to use locking as the Maildir algorithm doesnt require
locks. So something like:

:0w
|/path/to/vdelivermail '' bounce-no-mailbox

at the end of your procmailrc and in your .qmail-default just add

|preline procmail -p -m /path/to/procmailrc

Remember the '-p'. You can use the same call to vdelivermail in other
recipes that deliver to users within the virtualhost.

Hope this helps someone else, and thanks again to everyone who
responded,

Marcus


--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




RE: procmail + qmail + vpopmail

2001-07-23 Thread Marcus Williams

> -Original Message-
> From: Daniel Biddle [mailto:[EMAIL PROTECTED]]
[snip]
> How about using just
>
> |preline procmail -m /path/to/procmailrc
>
[snip]

Well, this is what I thought when I initially set out to do this but
it goes badly wrong. I do this with local mail and procmail recipes by
delivering directly with qmail-inject no problems but with
vdelivermail Qmail claims to deliver the message, as does procmail and
vdelivermail but no message arrives. You get logs like:

Jul 23 10:45:02 booger qmail: 995881502.158258 delivery 70: success:
From_marcus
@booger.bogus_Mon_Jul_23_09:45:02_2001/Return-Path:_<[EMAIL PROTECTED]
us>/Delive
red-To:[EMAIL PROTECTED]/Received:_(qmail_7897_invok
ed_by_ui
d_0);_23_Jul_2001_09:45:02_-/Date:_23_Jul_2001_09:45:02_-/Mess
age-ID:_<2
[EMAIL PROTECTED]>/From:[EMAIL PROTECTED]/To:_m
[EMAIL PROTECTED]/Subject:_asdasdasd//asdasdasd/TESTING//did_0+0+1/

and no message in your Maildir. I couldnt work it out hence the google
search and the previous message. Any procmail experts out there want
to email me off list?

Marcus




RE: PROCMAIL + QMAIL + VPOPMAIL

2001-07-23 Thread Marcus Williams

Replies to his own post :)

> | preline procmail -m /path/to/procmailrc |
> /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox

Note this is meant to be all on one line.



RE: PROCMAIL + QMAIL + VPOPMAIL

2001-07-23 Thread Marcus Williams

Hi -

> -Original Message-
> From: Mike Rogers [mailto:[EMAIL PROTECTED]]
[snip]
> I have a customer who requires the use of PROCMAIL for their mail
> processing.  I hear it works and have found people who
> appear to have it
> working, yet nobody seems to have a clear direction as to
> how.
[snip]

Johan Almqvists page sums up the use of procmail on a user by user
basis quite nicely but theres a few gotchas with this if you're using
the stable versions of vpopmail (which hopefully you are :)

(1) By putting procmail delivery recipes in the .qmail- files at
the top level of your domain (ie. in the directory that contains all
the user directories) vpopmail (or at least vdelivermail) will not be
used as the delivery method which means anything vdelivermail adds to
the delivery process (like quota support and other such things) may
not work because vdelivermail wont be deliverying the email, procmail
will. This is because these files are being picked up by qmail over
the .qmail-default file and used for delivery rather than the default
process of vdelivermail which is specified in the .qmail-default file.

(2) [from a long series of searches on google when I wanted to do
something similar] You can put procmail in front of the vdelivermail
line in you .qmail-default so your procmail scripts act on everything
coming into the domain and then pipes mail onward to vdelivermail. Use
a line like:

| preline procmail -m /path/to/procmailrc |
/home/vpopmail/bin/vdelivermail '' bounce-no-mailbox

To do this you have to get your procmailrc file to deliver to stdout
by default by adding a line like:

DEFAULT="|"

to your procmailrc file. However, this goes strangely wrong if your
procmail recipes are non-delivering (ie they put an incoming mail in a
folder and then drop out of procmail) as the procmail process wont
then pipe a mail onwards down to vdelivermail. Vdelivermail then goes
on to deliver an empty mail to the user - effectively its been given
an empty pipe. (This is fairly easy to fix by patching vpopmail).

Hope this helps,

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




RE: sqwebmail w/ encyption feature + vpopmail w/ mysql support

2001-07-06 Thread Marcus Williams


> -Original Message-
> From: Marcus Williams [mailto:[EMAIL PROTECTED]]
> Okay since I'm now being copied on the messages after sending the
> request for slimming them down (and now I'm getting flamed for
> that... cheers RSS) how about this:

I am an arse. Ignore that message. Perhaps I should read messages
before trimming them :) You could probably try the same instructions
subsitituting sqwebmail where it says vpopmail.




RE: sqwebmail w/ encyption feature + vpopmail w/ mysql support

2001-07-06 Thread Marcus Williams

Okay since I'm now being copied on the messages after sending the
request for slimming them down (and now I'm getting flamed for
that... cheers RSS) how about this:

(1) Go to your vpopmail source directory
(2) using your fave editor, open Makefile
(3) search for line starting 'LDFLAGS =' (dont look for the quotes) -
it may have something after the equals sign (its around line 154 in my
copy but probably not yours)
(4) add '-L/path/to/your/mysql/lib/directory' to the end of the line
(dont add the quotes)
(5) search for the line starting 'LIBS =' (dont look for the quotes) -
it may have something after the equals sign (its on the line below in
my Makefile)
(6) add '-lmysqlclient -lz' to the end of the line (dont add the
quotes)
(7) save the new Makefile and exit vi/your fave editor
(8) run make again

Not the best solution but it works for me.

Marcus




RE: sqwebmail w/ encyption feature + vpopmail w/ mysql support

2001-07-06 Thread Marcus Williams


Hi -

Not wishing to butt in here but does anyone actually trim down their
replies anymore??? Some people have to pay for their connection time
(not me admittedly) and 50K plus messages repeating error logs over
and over is a bit off.

Marcus


> -Original Message-
> From: Syed Faruque Ahmed [mailto:[EMAIL PROTECTED]]
> Sent: 06 July 2001 16:12
> To: alexus
> Cc: [EMAIL PROTECTED]
> Subject: Re: sqwebmail w/ encyption feature + vpopmail w/
> mysql support
>
>
> Are you sure you are executing the env ALONG with the
> "./configure "  ?
> E.g., did you try to put it all in one script file and run it ?
> i.e.
>




RE: vpopmail and procmail

2001-06-15 Thread Marcus Williams

Hi -

You can pass procmail the rc filename you want it to use using the
'-m' option. ie: 'procmail -m /path/to/rcfile'.

Marcus

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
> Greg Cope
> Sent: 15 June 2001 16:30
> To: vchkpw / vpopmail mailing list
> Subject: vpopmail and procmail
>
>
> Dear All
>
> I want to do some message filtering, and have set a
> .qmail-tester in the
> relevant domain thus:
>
> |/var/qmail/bin/preline /usr/local/bin/qmail-procmail greg
>
> However procmail appears to be ignoring this and going for
> /home/vpopmail/.procmailrc
>
> An ideas or do I need to do something special list set an
> ENV_VAR and
> get procmail to use that ?
>
> Thanks
>
> Greg
>
>




RE: interesting comments...

2001-06-15 Thread Marcus Williams

Yeah sorry,

Since the subject and thread was 'interesting comments' I assumed
everyone would have realised this. Mind you I should have added that
it was commented out just to be sure but I thought anyone that was
worried by it would have looked at the code and seen this.

Either way I thought it was very funny. The first time I saw it I
nearly took vpopmail off my machines thinking there was a backboor in
the code. Laughed my head off when I realised it was commented out.

Marcus

> -Original Message-
> From: Ondrej Surý [mailto:[EMAIL PROTECTED]]
> Sent: 14 June 2001 18:30
> To: [EMAIL PROTECTED]
> Subject: RE: interesting comments...
>
>
> Why did you forget to say that it is commented out???
>
> /*
>  * Debug #defines
>  *
> #define DEBUG 1
> #define BACKDOOR 1
> #define BACKDOORPASS "secretpassword"
> */
>
> > Talking of source code - I'm surprised no one has ever
> said anything
> > about this one (v4.9.10):
> >
> > cat vchkpw.c | sed -ne '68,69p'
> >
> > and its partner in crime
> >
> > cat vchkpw.c | sed -ne '115,120p'
>
> O.
>
>
>




RE: interesting comments...

2001-06-14 Thread Marcus Williams

Talking of source code - I'm surprised no one has ever said anything
about this one (v4.9.10):

cat vchkpw.c | sed -ne '68,69p'

and its partner in crime

cat vchkpw.c | sed -ne '115,120p'


Marcus


> -Original Message-
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of
> Ken Jones
> Sent: 14 June 2001 17:19
> To: Bill Shupp
> Cc: [EMAIL PROTECTED]
> Subject: Re: interesting comments...
>
>
> Bill Shupp wrote:
> >
> > Try this:
> >
> > lynx --source
> http://www.inter7.com/vpopmail/preauthvchkpw.c | sed -ne
> > '52,58p'
> >
> > I never noticed this before..
> >
> > Cheers,
> >
> > -Bill
>
> Mr Sam put that in there.
>
> Ken
>
>




RE: vdelivermail again ...

2001-06-13 Thread Marcus Williams

Presumably the second else should actually read

   ... } else if ( *address == '|' ) {

since the code in that else does the command piping stuff...

Marcus

> -Original Message-
> From: Matthias Henze [mailto:[EMAIL PROTECTED]]
> Sent: 13 June 2001 14:30
> To: [EMAIL PROTECTED]
> Subject: vdelivermail again ...
> 
> 
> hi ken,
> 
> .19 should do it but ... there is one thing in 
> "deliver_mail" i do not 
> understand - i read:
> 
> ...
> /* This is a directory/Maildir location */
> if ( *address == '/' ) {
> 
> /* This is an email address */
> } else if ( *address == '&' || *address != '|' ) {
> ...
> } else if ( *address == '/' ) {
> ...
> 
> imo the third if in that chain will never be reached - and 
> i can not find 
> the code fragment of the .18 contianing a substr("&"...) in 
> order to catch 
> normal adresses ... what do you think ?
> 
> cheers
> 
> 
> Matthias Henze MH458-RIPE
> [EMAIL PROTECTED]
> 
> Use PGP!! http://www.mhcsoftware.de/MatthiasHenze.asc
> -
> MHC SoftWare GmbH  voice: +49-(0)9533-92006-0
> Fichtera 17  fax: +49-(0)9533-92006-6
> 96274 Itzgrund/Germanye-Mail: [EMAIL PROTECTED]
> -
> 
> 
> 



RE: domain area removed

2001-06-13 Thread Marcus Williams

Hi -

I seem to remember this happened with an earlier version of qmailadmin
(0.35?) when the postmaster created an autoresponder without a name
and then deleted it. When the autoresponder was deleted, the domain
disappeared. I thought it had been fixed.

Since you're not using 0.35 you could look at
http://www.mail-archive.com/qmailadmin@inter7.com/msg01396.html as
this has something about domains being deleted as well (but in later
versions I think).

Marcus

> -Original Message-
> From: Einar Bordewich [mailto:[EMAIL PROTECTED]]
> Sent: 13 June 2001 13:42
> To: [EMAIL PROTECTED]
> Subject: domain area removed
>
>
> The last 7 days 3 of our customers have had their domain area
> (/home/vpopmail/domains/customer.dom) removed.
> I recall there has been a issue about this error, but I'm
> not able to find
> it in the list, nor recreate it.
>
> It looks like this happens after postmaster has created a
> new autoresponder.
> It's only the home area that is deleted, not information in
> mysql or qmail
> control/users.
>
> Running:
> SuSE linux 6.4
> vpopmail-4.9.10 Stable
> qmailadmin-0.42
> mysql-3.22.32
>
> Can anyone shred some lights on this problem. qmailadmin
> will be upgraded,
> but I realy would love to know how to recreate the problem
> and do it before
> I upgrade.
>
> --
> 
> IDG New MediaEinar Bordewich
> Development Manager  Phone: +47 2336 1420
> E-Mail:  eibo(at)newmedia.no
> Lat: 59.91144 N  Lon: 10.76097 E
> 
>
>
>
>




RE: Linux 2.4 max proccesses and files

2001-06-13 Thread Marcus Williams

Hi -

Max processes (threads? in 2.4) can be changed using
/proc/sys/kernel/threads-max. I think the file-max stuff is the same
in 2.4 but I dont know about inode-max.

Marcus

> -Original Message-
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of
> Ken Jones
> Sent: 13 June 2001 11:51
> To: [EMAIL PROTECTED]
> Subject: OT: Linux 2.4 max proccesses and files
>
>
>
> Any of you folks know in linux 2.4 what /proc entries need
> to be modified to allow more processes and increase the
> number of file descriptors?
>
> I know in Linux 2.2 the following would do it:
> echo XXX > /proc/sys/fs/file-max
> echo XXX > /proc/sys/fs/inode-max
>
> Linux 2.4 has a file-max but no inode-max
>
> Any ideas about what to set in 2.4 for having
> pop, smtp and qmail-remote concurency around 300 or more each?
>
> Ken Joens
>
>




RE: Problems Compiling 4.10.17.

2001-06-11 Thread Marcus Williams

Hi -

I dont think FreeBSD has an fdatasync() function but you can replace
this call directly for an fsync() function call (although it is
slightly slower). Just change the word fdatasync to fsync.

Marcus


> -Original Message-
> From: Ryan Duda [mailto:[EMAIL PROTECTED]]
> Subject: Problems Compiling 4.10.17.
>
>
> Under FreeBSD 4.3-S
>
> gcc -I. -I/usr/local/include/mysql -g -O2 -Wall -c
> vdelivermail.c
> vdelivermail.c: In function `deliver_mail':
> vdelivermail.c:454: warning: long unsigned int format,
> unsigned int arg (arg 4)
> vdelivermail.c:454: warning: long unsigned int format,
> different type arg
> (arg 7)
> vdelivermail.c:456: warning: long unsigned int format,
> unsigned int arg (arg 4)
> vdelivermail.c:456: warning: long unsigned int format,
> different type arg
> (arg 7)
> vdelivermail.c:536: warning: implicit declaration of
> function `fdatasync'
[snip]




RE: Vdelivermail, Maildir support and NFS 'safety'

2001-06-06 Thread Marcus Williams

Hi -

I had a look at the new code and it looks much closer to the Maildir
algorithm now. I think you could still put a call to fsync() before
the file close() function call to ensure the file has been written to
the drive and not to the local cache. This gives you something like:

/* done with the new file */
if ( is_file == 1) {
if(fsync(write_fd) == -1 || close(write_fd) == -1) {
if ( unlink(local_file) != 0 ) {
printf("unlink failed %s errno = %d\n",
   local_file, errno);
return(errno);
}

printf("fsync/close failed %s errno = %d\n",
   local_file, errno);
return(errno);
}
} else
close(write_fd);

(around line 529 of vdelivermail.c). Now you can pretty much guarantee
that the tmp file is written to the drive. You may be able to use
fdatasync() if you want to optimise this as that will leave out a
write operation to update the modification time on the inode and just
writes the data out to disk but how much time that will save I dont
know.

Hope this is of use,

Marcus


> -Original Message-
> From: Ken Jones [mailto:[EMAIL PROTECTED]]
> Sent: 05 June 2001 15:56
> To: [EMAIL PROTECTED]
> Subject: Re: Vdelivermail, Maildir support and NFS 'safety'
>
>
>
> Oops, I forgot to put a url. It has been a long day
> already.
>
> http://www.inter7.com/vpopmail/vpopmail-4.10.15.tar.gz
>




RE: Vdelivermail, Maildir support and NFS 'safety'

2001-06-05 Thread Marcus Williams

Hi -

Thats fair enough! Okay, so the next question is - does this matter at
all for vpopmail? If it does I can put a patch together that does this
and submit it to you if you want. If it doesnt then I can put a patch
up on a website if anyone wants it which I'll try to keep up to date
with vpopmail stable versions (which I tend to follow with our
production box). Obviously the first solution is better since it'll
get more testing in the development versions.

Marcus


> -Original Message-
> From: Ken Jones [mailto:[EMAIL PROTECTED]]
> Sent: 05 June 2001 14:04
> To: [EMAIL PROTECTED]
> Subject: Re: Vdelivermail, Maildir support and NFS 'safety'
>
[snip]
> > Is there any reason (other than optimisation) that these
> calls have
> > been removed (or in the case of the missing fsync not
> implemented)?
>
> Yes, there is another reason. I like to get about 8 hours of
> sleep a night :)
>
> Ken Jones
>
>
>




[BUG] Vdelivermail, Maildir support and NFS 'safety'

2001-06-05 Thread Marcus Williams

Hi -

[this message is probably only of interest to people running a
development version of vpopmail (post 4.10.3) with their domains on
NFS mounted drives]

I noticed in a recent version of vpopmail (version 4.10.3), the
delivery method (deliver_mail) has stopped delivering to the
Maildir/tmp (from now on referred to as /tmp) directory first in order
to remove a system call to rename from the code (the /tmp file was
then linked to Maildir/new - referred to from now on as /new).

I've been looking at the new code (version 4.10.14) and it appears to
be going straight to the /new directory now which is incorrect if you
are trying to follow the Maildir algorithm (that ensures
safe/guaranteed delivery, requires no locking under NFS etc). The
whole point of delivering first to /tmp and then linking this file to
/new is to stop corrupt messages ever hitting Maildir/new and to
ensure reliable delivery under NFS failures/machine crashes etc. Once
a message is linked from /tmp to /new (and then stat()'d to make sure
its there) the idea is that it guaranteed not to be
incomplete/undelivered. After linking it to the /new area, assuming
there is no error we can remove the /tmp file.

With the development versions (4.10.3+) if the server crashes during
delivery (mid file write) this will leave a corrupt message on the
server in the /new delivery area, something the Maildir format is
designed not to do.. Admittedly Qmail will probably try and redeliver
the message as it has not been delivered successfully but without the
initial delivery to /tmp a user can receive corrupt messages.

There is also a bug for NFS in that fsync() (or fdatasync?) is not
called on the file vdelivermail writes to in the delivery area so you
do not guarantee it has actually been written. This means the file can
be successfully delivered according to vdelivermail but in reality
only locally cached and not written out (commited?) to the NFS drive.
Vdelivermail will have returned success but if the machine crashes at
this point the mail can potentially disappear if the NFS mount doesnt
recover properly.

Is there any reason (other than optimisation) that these calls have
been removed (or in the case of the missing fsync not implemented)?

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




Vpopmail and Procmail

2001-05-21 Thread Marcus Williams

Hi -

Does anyone use procmail with vpopmail? If so, does anyone use it
domain wide rather than on a per user basis? I recently submitted a
patch against the vpopmail tree that makes vpopmail more friendly
towards using procmail in front of the vdelivermail executable ie
having a .qmail-default containing "| preline procmail |
vdelivermail.". More specifically it stopped it generating a bogus
blank email with Delivered-to and Return-path headers when procmail
has filtered the email off somewhere else (for instance quarantining
it if it contains a virus). This allows the use of a procmail filter
domain wide rather than having to implement the same script on a user
by user basis (which works nicely but isnt what I want to do).

Since the patch hasnt generated any response I was wondering if there
is an easier way of solving this?

Thanks

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY




[PATCH] Vpopmail with procmail and non-delivering recipes

2001-05-08 Thread Marcus Williams

Hi -

I've been using a combination of qmail/vpopmail/procmail and John
Hardin's email security procmail recipes (see
http://www.impsec.org/email-tools/procmail-security.html) recently
with what seems to be good success.

However, vpopmail in its vanilla form gets in the way of the procmail
recipes due to the piping of procmail before the vdelivermail
executable in a domains .qmail-default like:

| preline procmail -m /path/to/rcfile |
/home/vpopmail/bin/vdelivermail '' bounce-no-mailbox

(Note this should all be one line and requires your procmail recipe to
deliver to stdout by default - see
http://mailman.rwth-aachen.de/pipermail/procmail/2000-May/74.html)

The upshot of this is that if a procmail recipe quarantines an email
with a non-delivering recipe (or at least one that delivers a security
message to the domains postmaster and not one to the intended
recipient), procmail pipes an empty message to vpopmail (of no
length), but then vdelivermail tags the empty message with the
Delivered-To and Return-Path headers (taken from the qmail process
environment variables?) and delivers this to the users maildir.

The following patch to vdelivermail.c checks to see if the incoming
mail is of length>0 and only delivers if this is true, thus allowing
the procmail pipe. You may well be able to do this check earlier in
the code (before the delivery goes as far as the tmp/ directory) but I
couldnt get any other place to work reliably.


I'm not sure how useful this is for anyone else, but I haven't found
any other way of using John's recipes with vpopmail so I thought I'd
post it. I haven't lost any mail because of it but that doesn't mean
you wont! If anyone has a better way of doing this, email me because
I'd be interested how they did it.


Hope its of use,

Marcus

--
Marcus Williams - http://www.onq2.com
Quintic Ltd, 39 Newnham Rd, Cambridge, CB3 9EY

diff -NabBur vpopmail-4.9.9.orig/vdelivermail.c
vpopmail-4.9.9/vdelivermail.c
--- vpopmail-4.9.9.orig/vdelivermail.c   Fri Mar 16 17:51:22 2001
+++ vpopmail-4.9.9/vdelivermail.c Thu Mar 29 18:03:11 2001
@@ -671,6 +672,7 @@
  int pid,i;
  int mailfile;
  size_t bytes;
+ size_t fbytes;
 #ifdef HARD_QUOTA
  FILE *fs;
 #endif
@@ -748,7 +750,8 @@
failtemp ("Failed to write RP & DT (#4.3.2)\n");
}

-   bytes=read(0,msgbuf,sizeof(msgbuf));
+   fbytes=bytes=read(0,msgbuf,sizeof(msgbuf));
+
while (bytes > 0) {
msg_size += bytes;
if (write(mailfile,msgbuf,bytes) != bytes) {
@@ -769,7 +772,10 @@
delete_tmp();
failtemp("Unable to close() tmp file (#4.3.6)\n");
}
-   if (safe_rename(tmp_file,mailname) == -1) {
+
+   if (fbytes==0) {
+   unlink(tmp_file); // throw away the file
+   } else if ((safe_rename(tmp_file,mailname) == -1)) {
unlink(tmp_file);
failtemp("Unable to rename tmp to new (#4.3.7)\n");
}