berkeley db (poprelayd)
2005-12-16 by Lawren Quigley-Jones
Last try: I posted a message about this in the past. I'm sorry for the repetition. My support of the sendmail systems on my current network is ending and I am most likely not going to have an occasion to update the patches for poprelayd support that I've been producing for my systems. Poprelayd performs smtp authentication via pop/imap. It is a perl script that parses logs and populates a berkeleydb. It's a bit of a hack, but it is what we have always used on our systems and because it's perl, it is incredibly flexible. I've included the patch for the current release of milter-greylist which loads a berkeley db and adds an "authenticated" flag to any message who's IP is listed in the defined database. The patch includes the appropriate configure file edit which check for a "--with-poprelayd" and "--with-berkeleydb" and unless these are called the patched code is excluded via "#ifdef" commands. The database can only be loaded via a command line argument to milter-greylist (-b <db-path>). I was hoping to add a conf file interface for the database, but never did. Unfortunately this patch is really geared towards poprelayd in that it only reads from the database, but it is a single berkeleydb call which would open the db for writing and creation. The data included in the IP is not parsed by my patch, but it is available, so it would be possible to call the function elsewhere to implement a berkeleydb backend for the greylist.db file. That may speed things up and improve memory usage. If I find the time this is something I would like to do in the future, but if someone else wants to beat me to the punch then by all means have at it. this patch is a start at any rate. I know the department that I'm currently in would really appreciate having this patch included in the milter-greylist source as I will no longer be here to implement the new versions. I don't know how widely poprelayd is used any more, so I'm not sure it will be worth it, but my patch could have other uses. It is a really easy way to whitelist IPs in milter greylist from an external process. Thanks for everything. I know I will be implementing milter-greylist on future sendmail systems, so I'll be back... -Lawren Quigley-Jones