On Fri, 14 Dec 2001, Theo Schlossnagle wrote:
> There is a strong argument for supporting dynamically loadable modules.
Support for dynamically loaded modules is item (1) on the Exim 4 Wish
List. My current main priority, however, it to get Exim 4 tested and
deployed before thinking about new enhancements. (I will also need to
get the book updated, but that may go in parallel. And I don't
necessarily process the Wish List in order.)
I am aware of the security arguments about dynamic loading. We spend our
lives making choices between convenience and security, and not only in
computing. (I know people who will not give their credit card numbers
over the telephone. I suppose it makes their lives a bit more secure,
but I see them being heavily inconvenienced.) If you are really, really
paranoid, you will only use a computer that you have built yourself, and
for which you have either written or understood from source every single
piece of software. I don't think many people go that far. On the whole,
we trust the manufacturers of the hardware. We trust the purveyors of
the OS and the compiler. (But see Ken Thompson's talk/paper on trusting
compilers, way back when he got a Turing Award - some time in the
1980's, I think - published in CACM. Reading the source code is
sometimes not enough.) We trust the libraries and other ancillary
programs. We trust applications that we load from the Internet and
elsewhere.
Everybody has some line at which they stop trusting, depending on their
nature and their experience. (If you've been burgled, you tend to go in
for stronger doors and better locks.) There is a fuzzy area where some
people are happy to go, whereas others are not. That is their choice.
Dynamic loading for a program such as Exim falls into this area, it
seems. That means I must learn a bit about how it works if/when I
implement it, and write some careful documentation pointing out the
pitfalls so that people can make an informed choice.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.