Subject: Re: MIT Kfw SDK w/ Cygwin? Trying to build OpenSSH w/ GSS-API on Cygwin...
From: Jeffrey Altman <[email-masked]>
To: "Danilo Almeida" <[email-masked]>
Cc: "Nicolas Williams" <[email-masked]>, <[email-masked]>, <[email-masked]>
Date: Thu, 3 Jan 2002 15:09:50 EST

Danilio

There are other issues that can become problems when you are using
runtime environments from different vendors.  Both runtime is going to
try to simulate Unix style signal handling by installing Exception
Handlers.  When mixing debug and non-debug dlls on Windows this is not
a problem because the rest of the environment is the same.

This will not be true when mixing CygWin and MSVCRT.DLL.  

- Jeff

> Nico,
> 
> Mixing CRTs can work.  It depends on whether the code in question does not
> expose CRT APIs.  In general, krb5 tends to be pretty good about it...or at
> least, I have tried to clean up some of the problems in that area.  (On
> Windows, you might have a krb5 dll using the debug CRT while the app uses a
> non-debug CRT.)
> 
> If the OpenSSH code is misusing the gssapi (i.e., using free directly
> instead of calling apropriate gssapi routines), then you'll have problems.
> Otherwise, I tend to think that you should generally be ok.  The KfW code
> will use MSVCRT while the OpenSSH code uses cygwin.  Since each is
> encapsulated in separate DLLs, they can call same-name CRT functions from
> different DLLs w/o any problems.  Again, the problem happens if MSVCRT
> allocated memory (opens a file, whatever) and cygwin tries to deallocate (or
> use the file handle opened by MSVCRT, etc).  That should not happen with
> well-designed APIs that do not use CRT abstractions in the API.
> 
> - Danilio
> 
> ----- Original Message -----
> From: "Nicolas Williams" <[email-masked]>
> To: <[email-masked]>; <[email-masked]>
> Sent: Thursday, January 03, 2002 1:24 PM
> Subject: MIT Kfw SDK w/ Cygwin? Trying to build OpenSSH w/ GSS-API on
> Cygwin...
> 
> 
> I'm trying to build OpenSSH (2.9p2, for now) with Simon Wilkinson's
> patches that implement the external-keyx / GSS-API extensions.
> 
> Specifically I wish to use Kerberos V as the GSS mechanism.
> 
> That means picking Heimdal or MIT krb5 as the Kerberos V implementation.
> 
> I started with MIT krb5, specifically Kfw (Kerberos for Windows).
> 
> Kfw is compiled with MSVC++ (all C).
> 
> *FAQ check: it is supposedly ok to mix Cygwin with MSVC++ built (C only)
> DLLs*
> 
> After writing the necessary autoconf checks for Kfw (library names
> differ) and dealing with making sure that _WIN32 is defined where the
> Kfw headers are included, I've gotten as far as getting a successful
> link of ssh.exe. But it crashes with SIGSEGV and I'm still trying to
> get a stack trace.
> 
> Looking at the dependencies of the Kfw DLLs I see that there is a
> dependency on MSVCRT.DLL.
> 
> *FAQ check: MSVCRT.DLL and cygwin1.dll are mutually exclusive*
> 
> But the dependency on MSVCRT.DLL by the MIT Kfw DLLs is indirect.
> 
> QUESTION: Does the MSVCRT.DLL/cygwin1.dll mutual exclusivity apply in
>           this case?
> 
> If so, then I'll give up on Kfw now and try Heimdal - unfortunately that
> probably means giving up on Leash32.
> 
> QUESTION: Does the MIT krb5 stuff build on Cygwin? Kerbnet appears to
>           have died some time ago...
> 
> Thanks,
> 
> Nico
> 
> 
> 

 Jeffrey Altman * Sr.Software Designer      C-Kermit 8.0 available now!!!
 The Kermit Project @ Columbia University   includes Telnet, FTP and HTTP
 http://www.kermit-project.org/             secured with Kerberos, SRP, and 
 [email-masked]                OpenSSL. Interfaces with OpenSSH

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/