cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: probs. building libcurl w/gssapi on win32

From: David Rosenstrauch <darose_at_darose.net>
Date: Fri, 23 May 2008 13:49:42 -0400

Yang Tse wrote:
> Ok, you might have read my first mail. But didn't understand it or get the idea.

> You have to #define _KRB5_WIN_MAC_H 1 before including ___ANY___
> GSSMIT header in libcurl, as this is what should prevent the inclusion
> of the contents of GSSMIT's <win-mac.h> even when it is included no
> matter from where.
>
> Get it now ?
>
> I'm unable of writing it more clearly. But I could use upercase if you
> want ;-))))))))

You're correct, I misread/misunderstood your email. I see now that
patching krb5.c too will fix the problem.

I'm not a C developer. But I'm trying to stretch myself a bit
technically here to help provide the project with a patch that fixes
this problem. It's inevitable that I'm going to make some coding
mistakes in the process. But some appreciation of the contribution I'm
trying to make - and a little less sarcastic comments - would be nice.
I realize that I might have gotten a bit snippy in an earlier email (for
which I apologized to Dan, and would like to apologize to you as well),
and perhaps that's contributed to the tone of your responses. All I can
say is that I got a bit frustrated at the conflicting directions on how
you devs wanted this patch done, and my emotion shone through. But
again, my apologies for that.

There's one other thing I want to respond to from your other email, and
then I'm going to let this drop:

"I just gave you an idea that you could also try as a different approach
to solve _YOUR_ problem for which you are being paid."

This is not _MY_ problem:

1) I haven't asked you or anyone to write a custom new feature for me -
or to integrate a new feature that I've written. The curl documentation
says that it already supports GSSAPI and SPNEGO (see:
http://curl.haxx.se/docs/libs.html), but that support is broken. So I
am trying to write code to help fix something in the project that's
broken - yes, partly for my job, but also for the community as well.
It's certainly possible that nobody else needs this code working right
now except for me. But I'd think it's in everyone's interest to see to
it that curl doesn't have bugs in its advertised features, even if
they're minor ones.

2) My problem has already been solved. I already came up with a patch
that fixes these issues on our project, and it's been working fine.
What I'm doing now is trying to donate that patch back to the project
and the community so that everyone can benefit from this work. And I am
NOT being paid to do that. I'm spending time on it (at the expense of
other work!) solely because I feel it is the right thing to do. All
I've been asking for in return is a consensus on how the developers want
these bugs patched. Not an unreasonable request, IMO.

Let's move on ...

"Attached is the patch that I wrote to address this thread's problem.
Obviously it is against current repository version. It would be
interesting to know if it works ... I won't commit it to CVS unless 3
qualified positive votes are given."

Yes, it appears to work fine. Thanks much for taking the time to put
that together.

Not sure if you're only looking for votes from devs, but if you're open
to votes from the community at large, please count me as a positive vote.

Lastly, there's one final patch that I had to make to fix SPNEGO support
(attached). Any questions/comments on it, please let me know.

DR

Only in curl-7.18.2-CVS-work/lib: Debug
Only in curl-7.18.2-CVS-work/lib: Release
Only in curl-7.18.2-CVS-work/lib: curllib.ncb
Only in curl-7.18.2-CVS-work/lib: curllib.plg
diff -uarw -x '*.dsp' -x '*.vcproj' curl-7.18.2-CVS/lib/http_negotiate.c curl-7.18.2-CVS-work/lib/http_negotiate.c
--- curl-7.18.2-CVS/lib/http_negotiate.c 2008-04-14 11:22:46.000000000 -0400
+++ curl-7.18.2-CVS-work/lib/http_negotiate.c 2008-05-23 12:20:48.151112200 -0400
@@ -27,6 +27,11 @@
 #define GSS_C_NT_HOSTBASED_SERVICE gss_nt_service_name
 #endif
 
+#ifdef HAVE_SPNEGO
+#include <spnegohelp.h>
+#include <openssl/objects.h>
+#endif
+
 #ifndef CURL_DISABLE_HTTP
  /* -- WIN32 approved -- */
 #include <stdio.h>
Received on 2008-05-23