summaryrefslogtreecommitdiff
path: root/security/cyrus-sasl2
diff options
context:
space:
mode:
authorrecht <recht@pkgsrc.org>2004-07-08 21:11:25 +0000
committerrecht <recht@pkgsrc.org>2004-07-08 21:11:25 +0000
commit43fcfda955934885ec467c9742e34347a7444970 (patch)
tree0e92018f27f235c5b1342d8bbe46d9272980be2f /security/cyrus-sasl2
parent525839206a37be6062c2050c669c23711a8c548b (diff)
downloadpkgsrc-43fcfda955934885ec467c9742e34347a7444970.tar.gz
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.
Diffstat (limited to 'security/cyrus-sasl2')
-rw-r--r--security/cyrus-sasl2/Makefile4
-rw-r--r--security/cyrus-sasl2/distinfo4
-rw-r--r--security/cyrus-sasl2/patches/patch-ap51
3 files changed, 49 insertions, 10 deletions
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);