From ece5f9603e0ae81210f81ae42fae7b699404d5ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Mon, 20 Nov 2006 18:12:41 +0000 Subject: [PATCH] Make krb5_get_init_creds_opt_free take a context argument. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19078 ec53bebd-3082-4978-b11e-865c3cabbd6b --- appl/gssmask/gssmask.c | 2 +- appl/popper/pop_pass.c | 2 +- kdc/hprop.c | 2 +- kpasswd/kpasswd-generator.c | 2 +- kpasswd/kpasswd.c | 2 +- kuser/kinit.c | 4 ++-- lib/gssapi/krb5/acquire_cred.c | 2 +- lib/kadm5/init_c.c | 4 ++-- lib/kadm5/ipropd_slave.c | 2 +- lib/krb5/init_creds.c | 3 ++- lib/krb5/init_creds_pw.c | 8 ++++---- lib/krb5/krb5_get_init_creds.3 | 1 + lib/krb5/verify_user.c | 2 +- 13 files changed, 19 insertions(+), 17 deletions(-) diff --git a/appl/gssmask/gssmask.c b/appl/gssmask/gssmask.c index 4a73146af..63dc5dd21 100644 --- a/appl/gssmask/gssmask.c +++ b/appl/gssmask/gssmask.c @@ -548,7 +548,7 @@ out: "AcquireCreds handle: %d return code: %d", handle, gsm_error); if (opt) - krb5_get_init_creds_opt_free (opt); + krb5_get_init_creds_opt_free (context, opt); if (principal) krb5_free_principal(context, principal); free(name); diff --git a/appl/popper/pop_pass.c b/appl/popper/pop_pass.c index d3bb25cfc..abd6d69fc 100644 --- a/appl/popper/pop_pass.c +++ b/appl/popper/pop_pass.c @@ -76,7 +76,7 @@ krb5_verify_password (POP *p) 0, NULL, get_options); - krb5_get_init_creds_opt_free(get_options); + krb5_get_init_creds_opt_free(p->context, get_options); if (ret) { pop_log(p, POP_PRIORITY, "krb5_get_init_creds_password: %s", diff --git a/kdc/hprop.c b/kdc/hprop.c index c570018dc..e0c415282 100644 --- a/kdc/hprop.c +++ b/kdc/hprop.c @@ -499,7 +499,7 @@ get_creds(krb5_context context, krb5_ccache *cache) ret = krb5_get_init_creds_keytab(context, &creds, client, keytab, 0, NULL, init_opts); if(ret) krb5_err(context, 1, ret, "krb5_get_init_creds"); - krb5_get_init_creds_opt_free(init_opts); + krb5_get_init_creds_opt_free(context, init_opts); ret = krb5_kt_close(context, keytab); if(ret) krb5_err(context, 1, ret, "krb5_kt_close"); diff --git a/kpasswd/kpasswd-generator.c b/kpasswd/kpasswd-generator.c index ac0647ca5..cff60713b 100644 --- a/kpasswd/kpasswd-generator.c +++ b/kpasswd/kpasswd-generator.c @@ -151,7 +151,7 @@ generate_requests (const char *filename, unsigned nreq) free (old_pwd); free (new_pwd); krb5_free_cred_contents (context, &cred); - krb5_get_init_creds_opt_free(opt); + krb5_get_init_creds_opt_free(context, opt); } } diff --git a/kpasswd/kpasswd.c b/kpasswd/kpasswd.c index 80de63116..b11f68df2 100644 --- a/kpasswd/kpasswd.c +++ b/kpasswd/kpasswd.c @@ -199,7 +199,7 @@ main (int argc, char **argv) krb5_err(context, 1, ret, "krb5_get_init_creds"); } - krb5_get_init_creds_opt_free(opt); + krb5_get_init_creds_opt_free(context, opt); ret = krb5_cc_initialize(context, id, admin_principal); krb5_free_principal(context, admin_principal); diff --git a/kuser/kinit.c b/kuser/kinit.c index af19a1346..5092226bd 100644 --- a/kuser/kinit.c +++ b/kuser/kinit.c @@ -599,7 +599,7 @@ get_new_tickets(krb5_context context, opt); } else if (!interactive) { krb5_warnx(context, "Not interactive, failed to get initial ticket"); - krb5_get_init_creds_opt_free(opt); + krb5_get_init_creds_opt_free(context, opt); return 0; } else { @@ -628,7 +628,7 @@ get_new_tickets(krb5_context context, server_str, opt); } - krb5_get_init_creds_opt_free(opt); + krb5_get_init_creds_opt_free(context, opt); #ifdef KRB4 if (ret == KRB5KRB_AP_ERR_V4_REPLY || ret == KRB5_KDC_UNREACH) { int exit_val; diff --git a/lib/gssapi/krb5/acquire_cred.c b/lib/gssapi/krb5/acquire_cred.c index fd87c896d..eb7265585 100644 --- a/lib/gssapi/krb5/acquire_cred.c +++ b/lib/gssapi/krb5/acquire_cred.c @@ -179,7 +179,7 @@ static OM_uint32 acquire_initiator_cred goto end; kret = krb5_get_init_creds_keytab(context, &cred, handle->principal, keytab, 0, NULL, opt); - krb5_get_init_creds_opt_free(opt); + krb5_get_init_creds_opt_free(context, opt); if (kret) goto end; kret = krb5_cc_gen_new(context, &krb5_mcc_ops, diff --git a/lib/kadm5/init_c.c b/lib/kadm5/init_c.c index 6f44ad7a4..aeb70361b 100644 --- a/lib/kadm5/init_c.c +++ b/lib/kadm5/init_c.c @@ -177,7 +177,7 @@ get_new_cache(krb5_context context, else ret = krb5_kt_resolve(context, keytab, &kt); if(ret) { - krb5_get_init_creds_opt_free(opt); + krb5_get_init_creds_opt_free(context, opt); return ret; } ret = krb5_get_init_creds_keytab (context, @@ -199,7 +199,7 @@ get_new_cache(krb5_context context, server_name, opt); } - krb5_get_init_creds_opt_free(opt); + krb5_get_init_creds_opt_free(context, opt); switch(ret){ case 0: break; diff --git a/lib/kadm5/ipropd_slave.c b/lib/kadm5/ipropd_slave.c index 5cd12452d..f6f13d88e 100644 --- a/lib/kadm5/ipropd_slave.c +++ b/lib/kadm5/ipropd_slave.c @@ -115,7 +115,7 @@ get_creds(krb5_context context, const char *keytab_str, ret = krb5_get_init_creds_keytab(context, &creds, client, keytab, 0, server, init_opts); free (server); - krb5_get_init_creds_opt_free(init_opts); + krb5_get_init_creds_opt_free(context, init_opts); if(ret) krb5_err(context, 1, ret, "krb5_get_init_creds"); ret = krb5_kt_close(context, keytab); diff --git a/lib/krb5/init_creds.c b/lib/krb5/init_creds.c index 902f3ea12..c443bf1ee 100644 --- a/lib/krb5/init_creds.c +++ b/lib/krb5/init_creds.c @@ -130,7 +130,8 @@ _krb5_get_init_creds_opt_set_krb5_error(krb5_context context, void KRB5_LIB_FUNCTION -krb5_get_init_creds_opt_free(krb5_get_init_creds_opt *opt) +krb5_get_init_creds_opt_free(krb5_context context, + krb5_get_init_creds_opt *opt) { if (opt->opt_private == NULL) return; diff --git a/lib/krb5/init_creds_pw.c b/lib/krb5/init_creds_pw.c index 83f151061..104cff832 100644 --- a/lib/krb5/init_creds_pw.c +++ b/lib/krb5/init_creds_pw.c @@ -729,8 +729,8 @@ pa_etype_info2(krb5_context context, if (e.val[i].salt == NULL) krb5_free_salt(context, salt); if (ret == 0) { - free_ETYPE_INFO2(&e); - return paid; + free_ETYPE_INFO2(&e); + return paid; } } } @@ -1515,7 +1515,7 @@ krb5_get_init_creds_password(krb5_context context, ret = krb5_get_init_creds_opt_set_pa_password(context, options, password, NULL); if (ret) { - krb5_get_init_creds_opt_free(options); + krb5_get_init_creds_opt_free(context, options); memset(buf, 0, sizeof(buf)); return ret; } @@ -1523,7 +1523,7 @@ krb5_get_init_creds_password(krb5_context context, ret = krb5_get_init_creds(context, creds, client, prompter, data, start_time, in_tkt_service, options); - krb5_get_init_creds_opt_free(options); + krb5_get_init_creds_opt_free(context, options); memset(buf, 0, sizeof(buf)); return ret; } diff --git a/lib/krb5/krb5_get_init_creds.3 b/lib/krb5/krb5_get_init_creds.3 index 59ba027ec..62f47ca65 100644 --- a/lib/krb5/krb5_get_init_creds.3 +++ b/lib/krb5/krb5_get_init_creds.3 @@ -72,6 +72,7 @@ Kerberos 5 Library (libkrb5, -lkrb5) .Fc .Ft void .Fo krb5_get_init_creds_opt_free +.Fa "krb5_context context" .Fa "krb5_get_init_creds_opt *opt" .Fc .Ft void diff --git a/lib/krb5/verify_user.c b/lib/krb5/verify_user.c index 418ee016e..37d420d30 100644 --- a/lib/krb5/verify_user.c +++ b/lib/krb5/verify_user.c @@ -172,7 +172,7 @@ verify_user_opt_int(krb5_context context, 0, NULL, opt); - krb5_get_init_creds_opt_free(opt); + krb5_get_init_creds_opt_free(context, opt); if(ret) return ret; #define OPT(V, D) ((vopt && (vopt->V)) ? (vopt->V) : (D))