3 ms·
Are there are any well-written overviews of the aspects of qmail's design that you're referring to?
by bdr 17y ago
Are there are any well-written overviews of the aspects of qmail's design that you're referring to?
- vidarh 17y agoI don't specifically know of any overviews, but the main principles are fairly simple: - Split the system into small components that do one thing and do them well. - Give each part of the system the minimal set of privileges needed (if necessary by running as different users and set filesystem privileges accordingly). I.e. qmail has separate binaries for inbound smtp, pop3, managing the queue, local delivery, remote delivery and more. - Make each part of the system communicate only via well defined interfaces (using pipes in qmail) where it is explicitly assumed that you can't really trust the sender. - Don't ever use library functions that don't length check things. Then again he uses his own stdio replacement, and his own string functions.