From 64afe177393723a3c92825a78fb6e6e0d29a979d Mon Sep 17 00:00:00 2001 From: recht Date: Thu, 8 Jul 2004 21:11:25 +0000 Subject: Use a better fix from ASG CVS the GSSAPI problems. patch-ap now includes the updates between rev 1.84 and rev 1.90 modulo the support for passing of GSSAPI credentials. Patch provided by Jukka Salmi in PR 26184 Bump PKGREVISION to 3 for the new fix. --- security/cyrus-sasl2/Makefile | 4 +-- security/cyrus-sasl2/distinfo | 4 +-- security/cyrus-sasl2/patches/patch-ap | 51 ++++++++++++++++++++++++++++++----- 3 files changed, 49 insertions(+), 10 deletions(-) (limited to 'security/cyrus-sasl2') diff --git a/security/cyrus-sasl2/Makefile b/security/cyrus-sasl2/Makefile index 60c75676b24..459d29b515f 100644 --- a/security/cyrus-sasl2/Makefile +++ b/security/cyrus-sasl2/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.31 2004/07/06 22:38:32 jlam Exp $ +# $NetBSD: Makefile,v 1.32 2004/07/08 21:11:25 recht Exp $ .include "Makefile.common" -PKGREVISION= 2 +PKGREVISION= 3 SVR4_PKGNAME= csasl COMMENT= Simple Authentication and Security Layer diff --git a/security/cyrus-sasl2/distinfo b/security/cyrus-sasl2/distinfo index 6b8ad0aed9c..f00ca4e8e80 100644 --- a/security/cyrus-sasl2/distinfo +++ b/security/cyrus-sasl2/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.18 2004/07/06 04:20:59 jlam Exp $ +$NetBSD: distinfo,v 1.19 2004/07/08 21:11:25 recht Exp $ SHA1 (cyrus-sasl-2.1.18.tar.gz) = 74496a61a87edd710303d13f8df0534d6765f6ec Size (cyrus-sasl-2.1.18.tar.gz) = 1522578 bytes @@ -15,4 +15,4 @@ SHA1 (patch-al) = f4a2c97d4894a4089b6960bf5a2542dfdec4df6e SHA1 (patch-am) = f0bd15b4f55e5204936a25c558d4bd2b1d4816d5 SHA1 (patch-an) = d6ccabc24d16b63a1c1f4b4f2667b60c37aa88ec SHA1 (patch-ao) = 727830d2f72d6a18a8f0f2959c76dee0c58c5b2c -SHA1 (patch-ap) = 87054f52d3a9874f6849994d593938db9b885088 +SHA1 (patch-ap) = 3eeb15a7d3dfec8a85bd475faa1076315dfd3cdc diff --git a/security/cyrus-sasl2/patches/patch-ap b/security/cyrus-sasl2/patches/patch-ap index 4f0116b1ab5..d5d9bd4043a 100644 --- a/security/cyrus-sasl2/patches/patch-ap +++ b/security/cyrus-sasl2/patches/patch-ap @@ -1,13 +1,52 @@ -$NetBSD: patch-ap,v 1.1 2004/07/05 16:49:18 recht Exp $ +$NetBSD: patch-ap,v 1.2 2004/07/08 21:11:26 recht Exp $ ---- plugins/gssapi.c.orig 2004-02-06 18:23:51.000000000 +0100 -+++ plugins/gssapi.c 2004-07-05 18:41:39.000000000 +0200 -@@ -1419,7 +1419,7 @@ +--- plugins/gssapi.c.orig Fri Feb 6 18:23:51 2004 ++++ plugins/gssapi.c Wed Jul 7 12:09:07 2004 +@@ -990,8 +990,14 @@ + GSS_C_QOP_DEFAULT, + (OM_uint32) oparams->maxoutbuf, + &max_input); +- +- oparams->maxoutbuf -= (max_input - oparams->maxoutbuf); ++ ++ if(max_input > oparams->maxoutbuf) { ++ /* Heimdal appears to get this wrong */ ++ oparams->maxoutbuf -= (max_input - oparams->maxoutbuf); ++ } else { ++ /* This code is actually correct */ ++ oparams->maxoutbuf = max_input; ++ } + } + + gss_release_buffer(&min_stat, output_token); +@@ -1134,6 +1140,7 @@ + gss_buffer_t input_token, output_token; + gss_buffer_desc real_input_token, real_output_token; + OM_uint32 maj_stat = 0, min_stat = 0; ++ OM_uint32 max_input; + gss_buffer_desc name_token; + int ret; + OM_uint32 req_flags, out_req_flags; +@@ -1418,8 +1425,20 @@ + (((unsigned char *) output_token->value)[3] << 0); if(oparams->mech_ssf) { - /* xxx probably too large */ +- /* xxx probably too large */ - oparams->maxoutbuf -= 50; -+ oparams->maxoutbuf -= 256; ++ maj_stat = gss_wrap_size_limit( &min_stat, ++ text->gss_ctx, ++ 1, ++ GSS_C_QOP_DEFAULT, ++ (OM_uint32) oparams->maxoutbuf, ++ &max_input); ++ ++ if(max_input > oparams->maxoutbuf) { ++ /* Heimdal appears to get this wrong */ ++ oparams->maxoutbuf -= (max_input - oparams->maxoutbuf); ++ } else { ++ /* This code is actually correct */ ++ oparams->maxoutbuf = max_input; ++ } } gss_release_buffer(&min_stat, output_token); -- cgit v1.2.3