Yahoo Groups archive

Milter-greylist

Index last updated: 2026-04-28 23:32 UTC

Message

Re: [milter-greylist] [RFC] Recipient settings through LDAP?

2006-11-24 by AIDA Shinra

At Thu, 23 Nov 2006 09:35:01 +0100 (CET),
Oliver Fromme wrote:
> > > Where will you store the information in /etc/passwd?
> >
> > Sorry, I meant a monolithic file which is similar to /etc/passwd
> > (or /etc/aliases)
> 
> .
> >
> > * It can be parsed by only fgets() and strtok().
> > * It can be edited by a machine without breaking comment lines.
> > * No macro nor ifdef nor wildcard.
> Such a plain file is terribly inefficient and has bad
> performance for any significant number of users.
> I would recommend to use a real database (e.g. PostgreSQL).
> It has several advantages:
> - Good performance (with proper indices).
> - No problem syncing between MXs, they simply access
> the same database (or a replicated one: most databases
> already support replication themselves).
> - There already exist solutions for users to edit their
> own data in SQL tables.

Plain file is simple solution for small sites. Imagine a site which
has 20 users and every user has a shell account. In this case LDAP
will be overkilling unless the site is already running LDAP for
authentication purpose. Such a site can provide a setuid perl script
to let users modify greylisting preferences. MXes will fetch the
preference file from the master server every 5 minutes. Simple enough.

Shared SQL server is not a good choice because if the SQL server
failed then all MXes stop working. Replication is necessary unless
multiple MXes are managed in the same network for load balancing
purpose.

In contrast RDBMS is worth considering as an alternative of LDAP.

RDBMS advantages:
* Some sites are already using SQL servers as their backends.
* Better supported in scripting languages.

RDBMS disadvantages and LDAP advantages:
* LDAP is designed as a standard mechanism to keep per-user
information.
* I guess more sites are running LDAP than RDBMS.
* There exist many SQL implementations and their APIs are different
each other. Do we have to implement many bindings for the same
purpose?

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.