On Tue, 2003-01-14 at 18:43, John Morrissey wrote:
> On Tue, Jan 14, 2003 at 06:22:35PM +0000, Ricardo Cerqueira wrote:

> 
> I wrote a similar patch that does this;
> http://horde.net/~jwm/software/qmail/#verifyrcptto

I didn't know that. I've just finished reading it, and the
implementation is very similar.

> 
> I like your CHECKRCPT idea. My patch only does envelope RCPT checking if the
> client host isn't a RELAYCLIENT; yours makes it much more flexible.
> 
> My verifyrcpt patch also checks for .qmail files, so ~alias is checked. That
> sounds like it would correspond with your checkdomains and checkskip control
> files.

It would, if it weren't for a little caveat: almost every qmail
installation I have uses 2 groups of machines: 1 group serves as the
"world contact" (MX and outbound mail), the other serves as
storage/pop3/imap (that's where the customers go). RCPTs should be
validated when the mail is incoming (the outside group), but the storage
and ~alias are located in the other group, so I can't validate them
directly :-)

> 
> Would you be willing to merge (or let me merge) your CHECKRCPT support into
> my verifyrcptto patch? That way we'd have a single patch for this
> functionality. I'd like to have it integrated into qmail-ldap and I've asked
> Claudio and Andre several times about it, but I've never gotten a response
> from them. :-/

I still need checkdomains and checkskip, for the reason I explained
above...
Using CHECKRCPT in your patch seems trivial. I think reading the env var
at startup and setting, for example, checkrcpt=1 should do it. After
that, it's only a matter of changing

if (verifyrcptto && !relayclient) {

with

if (checkrcpt && verifyrcptto && !relayclient)

A full merger (checking checkdomains + checkskip + ~alias) would be
interesting, and doesn't look too complicated. Feel free to try and
merge them. I probably won't have time for it until my next vacation (or
my next insomnia, whichever comes first :-))

-- 
Ricardo Cerqueira
"ASCII stupid question, get a stupid ANSI"

Reply via email to