asn1/kerberos: remember in what frame a key was learned
authorStefan Metzmacher <metze@samba.org>
Mon, 13 Aug 2012 06:59:22 +0000 (08:59 +0200)
committerStefan Metzmacher <metze@samba.org>
Wed, 29 Jan 2014 08:18:23 +0000 (09:18 +0100)
asn1/kerberos/packet-kerberos-template.c
asn1/kerberos/packet-kerberos-template.h

index 87ed2246b2a84cb7a700c9dc0102a737f28f490c..c61c862dbb42d37fc54f1986ad1b6b04f1a77c99 100644 (file)
@@ -251,6 +251,7 @@ printf("added key in %u    keytype:%d len:%d\n",pinfo->fd->num, keytype, keyleng
 
        new_key=(enc_key_t *)g_malloc(sizeof(enc_key_t));
        g_snprintf(new_key->key_origin, KRB_MAX_ORIG_LEN, "%s learnt from frame %u",origin,pinfo->fd->num);
+       new_key->fd_num = pinfo->fd->num;
        new_key->next=enc_key_list;
        enc_key_list=new_key;
        new_key->keytype=keytype;
@@ -306,6 +307,7 @@ printf("read keytab file %s\n", filename);
 
        do{
                new_key=(enc_key_t *)g_malloc(sizeof(enc_key_t));
+               new_key->fd_num = -1;
                new_key->next=enc_key_list;
                ret = krb5_kt_next_entry(krb5_ctx, keytab, &key, &cursor);
                if(ret==0){
@@ -441,6 +443,7 @@ read_keytab_file(const char *filename)
 
        do{
                new_key=g_malloc(sizeof(enc_key_t));
+               new_key->fd_num = -1;
                new_key->next=enc_key_list;
                ret = krb5_kt_next_entry(krb5_ctx, keytab, &key, &cursor);
                if(ret==0){
index 01ced66b26bf85dabd94c4ef38ad33922202d1b6..42c94802cd17643cad1ba0c5101f2eddee8f4127 100644 (file)
@@ -75,6 +75,7 @@ typedef struct _enc_key_t {
        int keylength;
        char *keyvalue;
        char                    key_origin[KRB_MAX_ORIG_LEN+1];
+       int fd_num; /* remember where we learned a key */
 } enc_key_t;
 extern enc_key_t *enc_key_list;