[28014] in CVS-changelog-for-Kerberos-V5

home help back first fref pref prev next nref lref last post

krb5 commit [krb5-1.10]: Fix decoding of mkey kvno in mkey_aux tl-data

daemon@ATHENA.MIT.EDU (Tom Yu)
Wed Oct 30 18:15:07 2013

Date: Wed, 30 Oct 2013 18:14:59 -0400
From: Tom Yu <tlyu@mit.edu>
Message-Id: <201310302214.r9UMExNZ017660@drugstore.mit.edu>
To: cvs-krb5@mit.edu
Reply-To: krbdev@mit.edu
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: cvs-krb5-bounces@mit.edu

https://github.com/krb5/krb5/commit/3623e375a0ad440b4bb64b1b1589b962cc542d31
commit 3623e375a0ad440b4bb64b1b1589b962cc542d31
Author: Greg Hudson <ghudson@mit.edu>
Date:   Sat Oct 26 20:17:10 2013 -0400

    Fix decoding of mkey kvno in mkey_aux tl-data
    
    krb5_dbe_lookup_mkey_aux was decoding a 16-bit value directly into an
    int, resulting in the wrong value on big-endian platforms.  The
    consequences are mostly invisible because we ignore this field and try
    all mkey_aux nodes in krb5_def_fetch_mkey_list.
    
    (cherry picked from commit 64ec2941af1561ef06e7e885b2ffb65a675516ce)
    
    ticket: 7749 (new)
    version_fixed: 1.10.7
    status: resolved

 src/lib/kdb/kdb5.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/kdb/kdb5.c b/src/lib/kdb/kdb5.c
index f652fcb..9f4fbda 100644
--- a/src/lib/kdb/kdb5.c
+++ b/src/lib/kdb/kdb5.c
@@ -1643,7 +1643,7 @@ krb5_dbe_lookup_mkey_aux(krb5_context context, krb5_db_entry *entry,
                          krb5_mkey_aux_node **mkey_aux_data_list)
 {
     krb5_tl_data tl_data;
-    krb5_int16 version;
+    krb5_int16 version, mkey_kvno;
     krb5_mkey_aux_node *head_data = NULL, *new_data = NULL,
         *prev_data = NULL;
     krb5_octet *curloc; /* current location pointer */
@@ -1676,7 +1676,8 @@ krb5_dbe_lookup_mkey_aux(krb5_context context, krb5_db_entry *entry,
                 }
                 memset(new_data, 0, sizeof(krb5_mkey_aux_node));
 
-                krb5_kdb_decode_int16(curloc, new_data->mkey_kvno);
+                krb5_kdb_decode_int16(curloc, mkey_kvno);
+                new_data->mkey_kvno = mkey_kvno;
                 curloc += sizeof(krb5_ui_2);
                 krb5_kdb_decode_int16(curloc, new_data->latest_mkey.key_data_kvno);
                 curloc += sizeof(krb5_ui_2);
_______________________________________________
cvs-krb5 mailing list
cvs-krb5@mit.edu
https://mailman.mit.edu/mailman/listinfo/cvs-krb5

home help back first fref pref prev next nref lref last post