From a73db0951387cba8a523cd681c02209a04ffcc5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Tue, 9 Mar 2004 17:34:59 +0000 Subject: [PATCH] add _krb5_store_creds_heimdal_0_7 and _krb5_store_creds_heimdal_pre_0_7 that store the creds in just that format make krb5_store_creds default to mit format git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@13485 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/store.c | 42 +++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/lib/krb5/store.c b/lib/krb5/store.c index 37b259473..09c6cb154 100644 --- a/lib/krb5/store.c +++ b/lib/krb5/store.c @@ -625,13 +625,12 @@ bitswap32(int32_t b) /* - * store `creds' on `sp' returning error or zero + * */ krb5_error_code -krb5_store_creds(krb5_storage *sp, krb5_creds *creds) +_krb5_store_creds_internal(krb5_storage *sp, krb5_creds *creds, int v0_6) { - int32_t dummy32; int ret; ret = krb5_store_principal(sp, creds->client); @@ -650,12 +649,15 @@ krb5_store_creds(krb5_storage *sp, krb5_creds *creds) enc-tkt-in-skey bit from KDCOptions */ if(ret) return ret; - dummy32 = creds->flags.i; - if (0) /* change heimdal major version 0.7 or 0.8 ? */ - dummy32 = bitswap32(TicketFlags2int(creds->flags.b)); - ret = krb5_store_int32(sp, dummy32); - if(ret) - return ret; + if (v0_6) { + ret = krb5_store_int32(sp, creds->flags.i); + if(ret) + return ret; + } else { + ret = krb5_store_int32(sp, bitswap32(TicketFlags2int(creds->flags.b))); + if(ret) + return ret; + } ret = krb5_store_addrs(sp, creds->addresses); if(ret) return ret; @@ -669,6 +671,28 @@ krb5_store_creds(krb5_storage *sp, krb5_creds *creds) return ret; } +/* + * store `creds' on `sp' returning error or zero + */ + +krb5_error_code +krb5_store_creds(krb5_storage *sp, krb5_creds *creds) +{ + return _krb5_store_creds_internal(sp, creds, 0); +} + +krb5_error_code +_krb5_store_creds_heimdal_0_7(krb5_storage *sp, krb5_creds *creds) +{ + return _krb5_store_creds_internal(sp, creds, 0); +} + +krb5_error_code +_krb5_store_creds_heimdal_pre_0_7(krb5_storage *sp, krb5_creds *creds) +{ + return _krb5_store_creds_internal(sp, creds, 1); +} + krb5_error_code krb5_ret_creds(krb5_storage *sp, krb5_creds *creds) {