diff options
Diffstat (limited to 'mail/imap-uw/patches/patch-al')
-rw-r--r-- | mail/imap-uw/patches/patch-al | 56 |
1 files changed, 5 insertions, 51 deletions
diff --git a/mail/imap-uw/patches/patch-al b/mail/imap-uw/patches/patch-al index 3c646f7c469..669f06f20d4 100644 --- a/mail/imap-uw/patches/patch-al +++ b/mail/imap-uw/patches/patch-al @@ -1,60 +1,14 @@ -$NetBSD: patch-al,v 1.2 2002/12/11 12:21:25 tron Exp $ +$NetBSD: patch-al,v 1.3 2003/07/28 14:38:06 adam Exp $ ---- src/c-client/auth_gss.c.orig Thu Nov 22 05:03:10 2001 -+++ src/c-client/auth_gss.c Wed Dec 11 12:13:50 2002 -@@ -18,9 +18,17 @@ +--- src/c-client/auth_gss.c.orig 2003-03-05 06:24:17.000000000 +0100 ++++ src/c-client/auth_gss.c 2003-07-28 15:40:16.000000000 +0200 +@@ -18,6 +18,9 @@ * CPYRIGHT, included with this Distribution. */ - + +#ifdef __NetBSD__ -+/* This is really Heimdal specific, but . . . */ +#include <gssapi/gssapi.h> -+#include <krb5/krb5.h> -+ -+#define gss_nt_service_name GSS_C_NT_HOSTBASED_SERVICE -+#else - #define PROTOTYPE(x) x - #include <gssapi/gssapi_generic.h> - #include <gssapi/gssapi_krb5.h> +#endif long auth_gssapi_valid (void); long auth_gssapi_client (authchallenge_t challenger,authrespond_t responder, -@@ -58,24 +66,28 @@ - krb5_context ctx; - krb5_keytab kt; - krb5_kt_cursor csr; -+ -+ /* make a context */ -+ if (krb5_init_context (&ctx)) -+ return NIL; - /* make service name */ - sprintf (tmp,"%s@%s",(char *) mail_parameters (NIL,GET_SERVICENAME,NIL), - mylocalhost ()); - buf.length = strlen (buf.value = tmp); - /* see if can build a name */ - if (gss_import_name (&smn,&buf,GSS_C_NT_HOSTBASED_SERVICE,&name) != -- GSS_S_COMPLETE) return NIL; -- /* make a context */ -- if (!krb5_init_context (&ctx)) { -+ GSS_S_COMPLETE) { -+ krb5_free_context (ctx); /* finished with context */ -+ return NIL; -+ } - /* get default keytab */ -- if (!krb5_kt_default (ctx,&kt)) { -- /* can do server if have good keytab */ -- if (!krb5_kt_start_seq_get (ctx,kt,&csr)) -+ if (!krb5_kt_default (ctx,&kt)) { -+ /* can do server if have good keytab */ -+ if (!krb5_kt_start_seq_get (ctx,kt,&csr)) - auth_gss.server = auth_gssapi_server; -- krb5_kt_close (ctx,kt); /* finished with keytab */ -- } -- krb5_free_context (ctx); /* finished with context */ -+ krb5_kt_close (ctx,kt); /* finished with keytab */ - } -+ krb5_free_context (ctx); /* finished with context */ - gss_release_name (&smn,&name);/* finished with name */ - return LONGT; - } |