Nicholas Wourms nwourms@netscape.net
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 mailing list