Linux Today: Linux News On Internet Time.

More on LinuxToday Philip Hazel, Author of Exim

Jan 17, 2002, 23:06 (22 Talkback[s])

WEBINAR: On-demand webcast

How to Boost Database Development Productivity on Linux, Docker, and Kubernetes with Microsoft SQL Server 2017 REGISTER >

"Exim is written in standard C. It is not an ideal language because it is so easy to write code with loopholes. Just think how many buffer overflow exploits have existed in networking applications over the years. I would have preferred to use a language that has more checks for this kind of error. However, given that I wanted to write a program that was portable to a lot of systems, and which was efficient, C was the only realistic choice.

As far as development tools go, I suppose the major one is my test suite. It consists of several Perl scripts and a large number of testing configurations and test data. Whenever a test is run, the output is compared with previous output. Every time I fix a bug or make an addition to Exim, a new test is added to the suite. It is now sufficiently comprehensive that it usually picks up any stupidities that I introduce by accident.

Unfortunately, the test suite isn't something that can easily be exported. It assumes the existence of several local accounts, and also the existence of a local testing DNS zone. In other words, it needs a special environment in which to run. It also assumes a fully-configured Exim, with all possible optional code sections included."

Complete Story