#include "krb5_locl.h"
-static void krb5_keytab_entry_dump(krb5_context context,
- const krb5_keytab_entry *entry,
- const char *name,
- int idx,
- const char *func)
-{
- const uint8_t *data = entry->keyblock.keyvalue.data;
- //_krb5_debug(context, 1000,
- // "DEBUG,%s:%s[%d]: entry[kvno=%u,type=%u,len=%zu,%p, %02x%02x%02x%02x...%02x%02x%02x%02x",
- // func,name, idx,
- // entry->vno,
- // entry->keyblock.keytype,
- // entry->keyblock.keyvalue.length,
- // data,
- // data[0],
- // data[1],
- // data[2],
- // data[3],
- // data[entry->keyblock.keyvalue.length-4],
- // data[entry->keyblock.keyvalue.length-3],
- // data[entry->keyblock.keyvalue.length-2],
- // data[entry->keyblock.keyvalue.length-1]);
- dprintf(2,
- "%s:%s[%d]: entry[kvno=%u,type=%u,len=%zu,%p, %02X%02X%02X%02X...%02X%02X%02X%02X\n",
- func,name, idx,
- entry->vno,
- entry->keyblock.keytype,
- entry->keyblock.keyvalue.length,
- data,
- data[0],
- data[1],
- data[2],
- data[3],
- data[entry->keyblock.keyvalue.length-4],
- data[entry->keyblock.keyvalue.length-3],
- data[entry->keyblock.keyvalue.length-2],
- data[entry->keyblock.keyvalue.length-1]);
-}
-
/* memory operations -------------------------------------------- */
struct mkt_data {
krb5_keytab_entry *entry,
krb5_kt_cursor *c)
{
- krb5_error_code ret;
struct mkt_data *d = id->data;
if(c->fd >= d->num_entries)
return KRB5_KT_END;
- ret = krb5_kt_copy_entry_contents(context, &d->entries[c->fd], entry);
- krb5_keytab_entry_dump(context, &d->entries[c->fd], "stored", c->fd, "mkt_next_entry");
- c->fd++;
- krb5_keytab_entry_dump(context, entry, "entry", -1, "mkt_next_entry");
- return ret;
+ return krb5_kt_copy_entry_contents(context, &d->entries[c->fd++], entry);
}
static krb5_error_code KRB5_CALLCONV
krb5_keytab id,
krb5_keytab_entry *entry)
{
- krb5_error_code ret;
struct mkt_data *d = id->data;
krb5_keytab_entry *tmp;
tmp = realloc(d->entries, (d->num_entries + 1) * sizeof(*d->entries));
return ENOMEM;
}
d->entries = tmp;
- ret = krb5_kt_copy_entry_contents(context, entry,
- &d->entries[d->num_entries]);
- if (ret != 0) {
- return ret;
- }
-
- krb5_keytab_entry_dump(context, entry, "entry", -1, "mkt_add_entry");
- krb5_keytab_entry_dump(context, &d->entries[d->num_entries], "stored", d->num_entries, "mkt_add_entry");
- d->num_entries++;
- return ret;
+ return krb5_kt_copy_entry_contents(context, entry,
+ &d->entries[d->num_entries++]);
}
static krb5_error_code KRB5_CALLCONV