atif.ghaffar's blog

atif.ghaffar's picture

Moving old to new. Do not be afraid of the re-write -- but take some help

Recently I had to help users on one of my opensource project ISPMan. http://ispman.net
This project started in 2001 as I was too unwilling to take care of the DNS and VitualHosting stuff as it was a side-thing to the company I worked for (so i wrote a software that took care of all these little details)

Summary: A large project that needs a rewrite can be done in a matter of day.
I will not give you a full case study about a project that went through a re-write but a case study about how easy it is to re-write something.

atif.ghaffar's picture

nginx: high performance smpt/pop/imap proxy

nginx is a high performance smtp/pop/imap proxy that lets you do custom authorization and lookups and is very scalable. (just add nodes)

Nginx by default is a reverse proxy and this is what it is doing here for pop/imap connections. It is also an excellelent reverse proxy for web servers.

Advantage: You dont have to have a speacial database or ldap schema. Just an url to do auth and lookup with.
A url that may be accessed by a unix or a tcp socket. Write your own auth handler - according to your own policy.

For example:
A user called atif tries to login with the pass testxyz.
You pass this infomation to a URL such as
socket:/var/tmp/xyz.sock
or
http://auth.corp.mailserver.net:someport/someurl

The auth server replies with either a FAILURE such as

Auth-Status: Invalid Login or password

or with a success such as
Auth-Status: OK
Auth-Server: OneOfThe100Servers
Auth-Port: optionalyAPort

We have implemented it at our ISP and it has saves us a lot of headaches.

This would work for both imap and pop.
I have not yet tried for SMTP.

Syndicate content