No subject

Matthew Kaufman matthew at scruz.net
Tue Jul 15 18:38:31 UTC 1997


Original message <Pine.BSI.3.96.970715210717.373B-100000 at duncan.nac.net>
From: Alex Rubenstein <alex at nac.net>
Date: Jul 15, 21:07
Subject: 
> 
> 
> 
> has anyone hacked QMail or Sendmail so that it could act as a mail server
> without actually having accounts on it?

Yes.

> 
> The idea that I have is that when a user gets mail (ala SMTP connection   
> coming in), or the user checks mail (ala POP connection coming in), the   
> mail server (Qmail, Sendmail, whatever) could make an ODBC/SQL call to a  
> NT Server running MS-SQL (doesn't really matter, as it is a pure ODBC 
> call). Has anyone done anything like this?  Just curious. Thanks in 
> advance. Pointers would be good also.

We have a modified:
   sendmail
   mail.local
   popd

all of which verify accounts against our internal database (same one
which handles Radius queries and which the web/ftp server uses to do 
authentication and transfer limit quotas... in our case, a custom-written 
database package that keeps local copies of all of the data, and can read
it in a single disk seek, so there's no problems if the network to the 
database server is ill)

there's only about a dozen lines of code in each (usually the fastest 
solution is to have a routine which accesses the database, and then fills
in a fake passwd struct as would be returned by getpwent)

nice thing is that you can build in things like "allow mail to arrive,
but return special failure code when user connects to pop server" to
deal with "customer exists but hasn't paid for >45 days", and even more
clever... "forward this mail to this other address for 30 days, and then
bounce thereafter"

only hint to be had is that even though it feels like modifying mail.local
should be enough, sendmail ALSO checks to see if the user exists on the
system before asking mail.local to do the delivery, so you need to hack both
of them.

we've investigated making the same hacks to both MMDF and qmail, and these
appear to be equally trivial.

-matthew kaufman
 matthew at scruz.net





More information about the NANOG mailing list