Fri Aug 23 01:50:00 GMT 2002
Pierre A. Humblet wrote:
>I'd like to propose including exim, a Mail Transfer Agent
>similar to sendmail, in setup.
>The Cygwin port has been available for several months and seems
>to perform well. However there are several packaging decisions
>to make. Feedback from this list would be helpful.
>1) MTAs normally require a DNS resolver, such as bind. Instead
>I have written a library, minires, which is of general interest.
>Thus there are 3 options:
>a) Include minires in the exim port
> (as a separate dll, or as static code ?)
>b) Offer it as a separate package
> (is it helpful to have both a dll and a static lib ?)
>c) Include it in the Cygwin dll
> (single C file, about 800 lines of code and 18 exported functions)
>Which is best?
Probably should be in the dll, that way other applications can make use
of it without having to link to external libraries. Having a resolver
is fairly important, especially if more server-type apps are to be used
on Cygwin. I'm sure others might disagree because they are worried
about the size of the dll... Frankly, IMHO, it's worth the bloat.
Also, Bind9 [8 is hopelessly flawed] may eventually work on Cygwin, it's
just a matter of squaring the socket code away and a few other sticking
points. IIRC, Bind9 should detect the current resolving capabilities of
the c library (or the dll in this case) and subsequently won't duplicate
existing library functions. [Feel free to correct me if I'm wrong.]
>2) The source will need to include the system header files resolv.h and
>arpa/nameser.h, which are nor part of Cygwin.
>Is it OK to place them directly under /usr/include?
>I am not sure how to handle the copyrights issue. Can I simply
>take them off the web (say from the bind package) and delete
>the parts that are unnecessary?
If you include the code in the dll, you'll undoubtly want to have these
headers in the dll distribution. I believe borrowing source from the
*bsd's is ok [as it has been done on the newlib list]. I'll let someone
else comment on the ISC/Bind licensing matter.
>3) Exim comes with a number of features that require extra packages:
>a) SSL/TLS (works fine)
>b) Perl (works for Gerrit Haase on NT, crashes for me on Win98)
>c) SQL (untried)
>Should all these options be included in the precompiled code (thus
>requiring more package downloads)?
All they seem to require is perl (which is installed on most systems),
postgres, and openssl. I don't see these as being that much of a burden
to download... Most people will want to have perl and openssl installed
anyhow. However, postgres is a potential problem because it has a
dependancy on an external package, cygipc. Hopefully, this will be
resolved when cygserver goes gold.
>4) Similarly exim can support various mailbox formats (e.g. maildir)
>and authenticators. I have not tested them, having no use for them.
>Are there strong opinions about including untested and somewhat obscure
Please support mbox format is all that I ask.
If this is successful, I look forward to seeing that qpopper port you're
working on included at some point =).
More information about the Cygwin-apps