The chapter about Sendmail in Architecture of Open Source Applications[1] gives an explanations as to why it is so convoluted. Sendmail was originally written when TCP/IP and SMTP did not even exist.
That's not the real problem. Sendmail was written when databases didn't exist in the UNIX world and before UNIX had locking mechanisms. Many of the legacy problems with UNIX/Linux come from components which maintain a database with special purpose code. Sendmail, BIND, login/passwd, etc.
Comments
Sendmail.
The chapter about Sendmail in Architecture of Open Source Applications[1] gives an explanations as to why it is so convoluted. Sendmail was originally written when TCP/IP and SMTP did not even exist.
[1] http://aosabook.org/en/sendmail.html
That's not the real problem. Sendmail was written when databases didn't exist in the UNIX world and before UNIX had locking mechanisms. Many of the legacy problems with UNIX/Linux come from components which maintain a database with special purpose code. Sendmail, BIND, login/passwd, etc.