cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: probs. building libcurl w/gssapi on win32

From: Dan Fandrich <dan_at_coneharvesters.com>
Date: Wed, 21 May 2008 13:58:47 -0700

On Wed, May 21, 2008 at 04:34:56PM -0400, David Rosenstrauch wrote:
> As promised, here's my patch of tweaks required for building libcurl with
> SPNEGO support on Windows Visual C++. Although I initially did this work
> for libcurl 7.15.4, which we're still using here at work, I ported my
> fixes to the latest CVS for the patch I'm sending.
>
> The Kerberos implementation I built against was MIT Kerberos For Windows
> (KFW) v3.2.2. (I don't think it's possible to use Heimdal anyway, as I
> don't think Heimdal can be built on Windows with Visual C++.) As you can
> see, there's a bunch of tweaks required to get this to build with the
> current MIT Kerberos. I guess the GSSAPI/SPNEGO code must have fallen out
> of sync with MIT, due to lack of people building for it.
>
> Any questions/issues, please let me know.

> +++ curl-7.18.2-CVS-work/lib/config-win32.h 2008-05-20 12:09:37.258864400 -0400
[...]
> /* Define if you have the <stdlib.h> header file. */
> +#ifndef HAVE_GSSMIT
> #define HAVE_STDLIB_H 1
> +#endif
>
> /* Define if you have the <sys/param.h> header file. */
> /* #define HAVE_SYS_PARAM_H 1 */
> @@ -77,7 +82,9 @@
> /* #define HAVE_SYS_TIME_H 1 */
>
> /* Define if you have the <sys/types.h> header file. */
> +#ifndef HAVE_GSSMIT
> #define HAVE_SYS_TYPES_H 1
> +#endif
>
> /* Define if you have the <sys/utime.h> header file */
> #ifndef __BORLANDC__
> @@ -188,7 +195,9 @@
> #define HAVE_STRICMP 1
>
> /* Define if you have the strdup function. */
> +#ifndef HAVE_GSSMIT
> #define HAVE_STRDUP 1
> +#endif
>
> /* Define if you have the strftime function. */
> #define HAVE_STRFTIME 1
> @@ -213,7 +222,9 @@
> #endif
>
> /* Define if you have the getnameinfo function. */
> +#ifndef HAVE_GSSMIT
> #define HAVE_GETNAMEINFO 1
> +#endif

It seems to me these changes would affect all of libcurl; why exactly is
this needed only with the HAVE_GSSMIT case?

> +++ curl-7.18.2-CVS-work/lib/file.c 2008-05-20 12:05:38.106555600 -0400
> @@ -90,7 +90,7 @@
> /* The last #include file should be: */
> #include "memdebug.h"
>
> -#if defined(WIN32) || defined(MSDOS) || defined(__EMX__) || defined(__SYMBIAN32__)
> +#if (defined(WIN32) || defined(MSDOS) || defined(__EMX__) || defined(__SYMBIAN32__)) && !defined(HAVE_GSSMIT)
> #define MSDOS_FILESYSTEM 1
> #endif

This definitely looks fishy. Why would enabling GSSMIT cause the filesystem
conventions to change for file: URLs?

>>> Dan

-- 
http://www.MoveAnnouncer.com              The web change of address service
          Let webmasters know that your web site has moved
Received on 2008-05-21