Corinna Vinschen vinschen@redhat.com
Fri Aug 23 03:42:00 GMT 2002

On Thu, Aug 22, 2002 at 07:30:05PM -0400, Pierre A. Humblet wrote:
> I'd like to propose including exim, a Mail Transfer Agent
> similar to sendmail, in setup.

Has my vote.

> 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?

I'm not quite sure if b) or c) is the best option.  I'd vote for
b) for now.  And having a DLL and the static lib is probably helpful.

> 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?

It is.

> 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? 

Both files are likely BSD files.  So the answer is yes.

> Windows issue. The Windows DNSQuery function 
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dns/dns_api
> _2ant.asp
> has an argument, pReserved, described as 
> "[in, out] Returned response in original wire format. This parameter is
> optional."
> Having access to the original response would be very helpful, but I have been 
> unable to use that parameter. Any suggestions out there?

Hmmm, it's INOUT so I assume it could be a pointer to a buffer which
has to be created by you or it has to be a pointer to a pointer which
is set by the function.  I don't see another choice.  Did you try
both variations?

However, The DNS API is available only since W2K.  How do you handle
other OSes?

> 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)? 

I'd just add SSL for now since it works.  Perl is good but perhaps
we should wait until somebody finds the reason for the 98 crash.
SQL?  Hmm.  The problem is that the requirements of Perl and SQL
are loading pretty big packages but I'm unsure how important the
size argument is.

> 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
> features?

I think it's the choice of the maintainer in the first place.
Supporting mbox is standard anyway.  Anything else...


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                                mailto:cygwin@cygwin.com
Red Hat, Inc.

More information about the Cygwin-apps mailing list