pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/security/cyrus-sasl2 Use a better fix from ASG CVS the...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/eb8c62fa67d0
branches:  trunk
changeset: 477771:eb8c62fa67d0
user:      recht <recht%pkgsrc.org@localhost>
date:      Thu Jul 08 21:11:25 2004 +0000

description:
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:

 security/cyrus-sasl2/Makefile         |   4 +-
 security/cyrus-sasl2/distinfo         |   4 +-
 security/cyrus-sasl2/patches/patch-ap |  57 +++++++++++++++++++++++++++++-----
 3 files changed, 52 insertions(+), 13 deletions(-)

diffs (94 lines):

diff -r 5bc241aeb690 -r eb8c62fa67d0 security/cyrus-sasl2/Makefile
--- a/security/cyrus-sasl2/Makefile     Thu Jul 08 20:37:53 2004 +0000
+++ b/security/cyrus-sasl2/Makefile     Thu Jul 08 21:11:25 2004 +0000
@@ -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 -r 5bc241aeb690 -r eb8c62fa67d0 security/cyrus-sasl2/distinfo
--- a/security/cyrus-sasl2/distinfo     Thu Jul 08 20:37:53 2004 +0000
+++ b/security/cyrus-sasl2/distinfo     Thu Jul 08 21:11:25 2004 +0000
@@ -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-am) = f0bd15b4f55e5204936a25c558d4bd2b1d4816d5
 SHA1 (patch-an) = d6ccabc24d16b63a1c1f4b4f2667b60c37aa88ec
 SHA1 (patch-ao) = 727830d2f72d6a18a8f0f2959c76dee0c58c5b2c
-SHA1 (patch-ap) = 87054f52d3a9874f6849994d593938db9b885088
+SHA1 (patch-ap) = 3eeb15a7d3dfec8a85bd475faa1076315dfd3cdc
diff -r 5bc241aeb690 -r eb8c62fa67d0 security/cyrus-sasl2/patches/patch-ap
--- a/security/cyrus-sasl2/patches/patch-ap     Thu Jul 08 20:37:53 2004 +0000
+++ b/security/cyrus-sasl2/patches/patch-ap     Thu Jul 08 21:11:25 2004 +0000
@@ -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 @@
- 
-       if(oparams->mech_ssf) {
-           /* xxx probably too large */
--          oparams->maxoutbuf -= 50;
-+          oparams->maxoutbuf -= 256;
+--- 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 */
+-          oparams->maxoutbuf -= 50;
++            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);



Home | Main Index | Thread Index | Old Index