Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=24d5e357837a7c6c6cad90e45fd0b34b146bfa36

commit 24d5e357837a7c6c6cad90e45fd0b34b146bfa36
Author: Miklos Vajna <vmik...@frugalware.org>
Date:   Tue Mar 30 13:59:15 2010 +0200

krb5-1.7-5-i686

- add CVE-2010-0628.patch
- closes #4137

diff --git a/source/lib-extra/krb5/CVE-2010-0628.patch 
b/source/lib-extra/krb5/CVE-2010-0628.patch
new file mode 100644
index 0000000..325ba93
--- /dev/null
+++ b/source/lib-extra/krb5/CVE-2010-0628.patch
@@ -0,0 +1,73 @@
+Index: src/lib/gssapi/spnego/spnego_mech.c
+===================================================================
+--- src/lib/gssapi/spnego/spnego_mech.c        (revision 23717)
++++ src/lib/gssapi/spnego/spnego_mech.c        (working copy)
+@@ -1570,7 +1570,7 @@
+       spnego_gss_ctx_id_t sc = NULL;
+       spnego_gss_cred_id_t spcred = NULL;
+       OM_uint32 mechstat = GSS_S_FAILURE;
+-      int sendTokenInit = 0;
++      int sendTokenInit = 0, tmpret;
+
+       mechtok_in = mic_in = mic_out = GSS_C_NO_BUFFER;
+
+@@ -1603,7 +1603,6 @@
+               if (delegated_cred_handle != NULL)
+                       *delegated_cred_handle = GSS_C_NO_CREDENTIAL;
+               if (input_token->length == 0) {
+-                      sendTokenInit = 1;
+                       ret = acc_ctx_hints(minor_status,
+                                           context_handle, spcred,
+                                           &mic_out,
+@@ -1611,6 +1610,7 @@
+                                           &return_token);
+                       if (ret != GSS_S_COMPLETE)
+                               goto cleanup;
++                      sendTokenInit = 1;
+                       ret = GSS_S_CONTINUE_NEEDED;
+               } else {
+                       /* Can set negState to REQUEST_MIC */
+@@ -1658,29 +1658,23 @@
+                                &negState, &return_token);
+       }
+ cleanup:
+-      if (return_token != NO_TOKEN_SEND && return_token != CHECK_MIC) {
+-              /* For acceptor-sends-first send a tokenInit */
+-              int tmpret;
+-
++      if (return_token == INIT_TOKEN_SEND && sendTokenInit) {
+               assert(sc != NULL);
+-
+-              if (sendTokenInit) {
+-                      tmpret = make_spnego_tokenInit_msg(sc,
+-                                                         1,
+-                                                         mic_out,
+-                                                         0,
+-                                                         GSS_C_NO_BUFFER,
+-                                                         return_token,
+-                                                         output_token);
+-              } else {
+-                      tmpret = make_spnego_tokenTarg_msg(negState,
+-                                                         sc ? 
sc->internal_mech : GSS_C_NO_OID,
+-                                                         &mechtok_out, 
mic_out,
+-                                                         return_token,
+-                                                         output_token);
+-              }
++              tmpret = make_spnego_tokenInit_msg(sc, 1, mic_out, 0,
++                                                 GSS_C_NO_BUFFER,
++                                                 return_token, output_token);
+               if (tmpret < 0)
+                       ret = GSS_S_FAILURE;
++      } else if (return_token != NO_TOKEN_SEND &&
++                 return_token != CHECK_MIC) {
++              tmpret = make_spnego_tokenTarg_msg(negState,
++                                                 sc ? sc->internal_mech :
++                                                 GSS_C_NO_OID,
++                                                 &mechtok_out, mic_out,
++                                                 return_token,
++                                                 output_token);
++              if (tmpret < 0)
++                      ret = GSS_S_FAILURE;
+       }
+       if (ret == GSS_S_COMPLETE) {
+               *context_handle = (gss_ctx_id_t)sc->ctx_handle;
diff --git a/source/lib-extra/krb5/FrugalBuild 
b/source/lib-extra/krb5/FrugalBuild
index 42d0e3e..1c6dfe9 100644
--- a/source/lib-extra/krb5/FrugalBuild
+++ b/source/lib-extra/krb5/FrugalBuild
@@ -3,7 +3,7 @@

pkgname=krb5
pkgver=1.7
-pkgrel=4
+pkgrel=5
pkgdesc="Kerberos: The Network Authentication Protocol"
url="http://web.mit.edu/kerberos/";
license="MIT licence"
@@ -14,8 +14,10 @@ rodepends=("libkrb5=$pkgver")
archs=('i686' 'ppc' 'x86_64')
groups=('lib-extra')
up2date="echo $pkgver"
-source=(http://web.mit.edu/kerberos/dist/$pkgname/$pkgver/$pkgname-$pkgver-signed.tar)
-sha1sums=('0fe1b1cf9f8d4f5f5d7fdaf89326baf5c5adbc66')
+source=(http://web.mit.edu/kerberos/dist/$pkgname/$pkgver/$pkgname-$pkgver-signed.tar
 \
+       CVE-2010-0628.patch)
+sha1sums=('0fe1b1cf9f8d4f5f5d7fdaf89326baf5c5adbc66' \
+          'cf5c69909e5f1edc745f222f62f6dc676a150778')
#signature=($source.asc)
#signatures=(http://web.mit.edu/kerberos/www/$pkgname-$pkgver/$pkgname-$pkgver.sig)
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to