krb5 commit: Add krb5_free_enctypes API
Greg Hudson
ghudson at MIT.EDU
Wed Feb 27 17:29:54 EST 2013
https://github.com/krb5/krb5/commit/8df7b929c3ee272e8255d57720c3e299ebccd198
commit 8df7b929c3ee272e8255d57720c3e299ebccd198
Author: Greg Hudson <ghudson at mit.edu>
Date: Wed Feb 27 17:29:16 2013 -0500
Add krb5_free_enctypes API
Rename krb5_free_ktypes to krb5_free_enctypes and add it to the public
API.
ticket: 7584
doc/appdev/refs/api/index.rst | 1 +
src/include/k5-int.h | 2 --
src/include/krb5/krb5.hin | 13 +++++++++++++
src/lib/krb5/ccache/cc_mslsa.c | 4 ++--
src/lib/krb5/krb/init_ctx.c | 4 ++--
src/lib/krb5/libkrb5.exports | 2 +-
src/lib/krb5_32.def | 4 +++-
7 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/doc/appdev/refs/api/index.rst b/doc/appdev/refs/api/index.rst
index a280d39..b87859f 100644
--- a/doc/appdev/refs/api/index.rst
+++ b/doc/appdev/refs/api/index.rst
@@ -197,6 +197,7 @@ Rarely used public interfaces
krb5_free_data.rst
krb5_free_data_contents.rst
krb5_free_default_realm.rst
+ krb5_free_enctypes.rst
krb5_free_error.rst
krb5_free_host_realm.rst
krb5_free_keyblock.rst
diff --git a/src/include/k5-int.h b/src/include/k5-int.h
index 9136bfc..74b12af 100644
--- a/src/include/k5-int.h
+++ b/src/include/k5-int.h
@@ -2344,8 +2344,6 @@ krb5_error_code krb5_set_default_tgs_ktypes(krb5_context,
krb5_error_code KRB5_CALLCONV
krb5_get_tgs_ktypes(krb5_context, krb5_const_principal, krb5_enctype **);
-void KRB5_CALLCONV krb5_free_ktypes(krb5_context, krb5_enctype *);
-
krb5_boolean krb5_is_permitted_enctype(krb5_context, krb5_enctype);
krb5_boolean KRB5_CALLCONV krb5int_c_weak_enctype(krb5_enctype);
diff --git a/src/include/krb5/krb5.hin b/src/include/krb5/krb5.hin
index 687f2b9..e95d029 100644
--- a/src/include/krb5/krb5.hin
+++ b/src/include/krb5/krb5.hin
@@ -3038,6 +3038,8 @@ krb5_set_default_tgs_enctypes(krb5_context context, const krb5_enctype *etypes);
* keys within @a context, as determined by configuration or by a previous call
* to krb5_set_default_tgs_enctypes().
*
+ * Use krb5_free_enctypes() to free @a ktypes when it is no longer needed.
+ *
* @retval 0 Success; otherwise - Kerberos error codes
*/
krb5_error_code KRB5_CALLCONV
@@ -4757,6 +4759,17 @@ void KRB5_CALLCONV
krb5_free_string(krb5_context context, char *val);
/**
+ * Free an array of encryption types.
+ *
+ * @param [in] context Library context
+ * @param [in] val Array of enctypes to be freed
+ *
+ * @version First introduced in 1.12
+ */
+void KRB5_CALLCONV
+krb5_free_enctypes(krb5_context context, krb5_enctype *val);
+
+/**
* Free an array of checksum types.
*
* @param [in] context Library context
diff --git a/src/lib/krb5/ccache/cc_mslsa.c b/src/lib/krb5/ccache/cc_mslsa.c
index d692b42..bfaae65 100644
--- a/src/lib/krb5/ccache/cc_mslsa.c
+++ b/src/lib/krb5/ccache/cc_mslsa.c
@@ -1207,7 +1207,7 @@ krb5_is_permitted_tgs_enctype(krb5_context context, krb5_const_principal princ,
if (*ptr == etype)
ret = 1;
- krb5_free_ktypes (context, list);
+ krb5_free_enctypes(context, list);
return(ret);
}
@@ -1502,7 +1502,7 @@ GetMSTGT(krb5_context context, HANDLE LogonHandle, ULONG PackageId, KERB_EXTERNA
cleanup:
if ( etype_list )
- krb5_free_ktypes(context, etype_list);
+ krb5_free_enctypes(context, etype_list);
if ( pTicketRequest )
LocalFree(pTicketRequest);
diff --git a/src/lib/krb5/krb/init_ctx.c b/src/lib/krb5/krb/init_ctx.c
index 6054b20..33330e7 100644
--- a/src/lib/krb5/krb/init_ctx.c
+++ b/src/lib/krb5/krb/init_ctx.c
@@ -543,7 +543,7 @@ krb5_get_default_in_tkt_ktypes(krb5_context context, krb5_enctype **ktypes)
void
KRB5_CALLCONV
-krb5_free_ktypes (krb5_context context, krb5_enctype *val)
+krb5_free_enctypes(krb5_context context, krb5_enctype *val)
{
free (val);
}
@@ -582,6 +582,6 @@ krb5_is_permitted_enctype(krb5_context context, krb5_enctype etype)
if (krb5_get_permitted_enctypes(context, &list))
return FALSE;
ret = k5_etypes_contains(list, etype);
- krb5_free_ktypes(context, list);
+ krb5_free_enctypes(context, list);
return ret;
}
diff --git a/src/lib/krb5/libkrb5.exports b/src/lib/krb5/libkrb5.exports
index eb3eb79..8d19f14 100644
--- a/src/lib/krb5/libkrb5.exports
+++ b/src/lib/krb5/libkrb5.exports
@@ -291,6 +291,7 @@ krb5_free_enc_kdc_rep_part
krb5_free_enc_sam_response_enc_2
krb5_free_enc_sam_response_enc_2_contents
krb5_free_enc_tkt_part
+krb5_free_enctypes
krb5_free_error
krb5_free_error_message
krb5_free_etype_info
@@ -306,7 +307,6 @@ krb5_free_keyblock
krb5_free_keyblock_contents
krb5_free_keytab_entry_contents
krb5_free_krbhst
-krb5_free_ktypes
krb5_free_last_req
krb5_free_octet_data
krb5_free_pa_data
diff --git a/src/lib/krb5_32.def b/src/lib/krb5_32.def
index 0d066cb..d093d1f 100644
--- a/src/lib/krb5_32.def
+++ b/src/lib/krb5_32.def
@@ -274,7 +274,6 @@ EXPORTS
krb5int_cc_default @268 ; PRIVATE GSSAPI k5-int.h
krb5_free_ap_req @119 ; PRIVATE GSSAPI krb5.hin
- krb5_free_ktypes @139 ; PRIVATE GSSAPI krb5.hin
krb5_get_tgs_ktypes @177 ; PRIVATE GSSAPI krb5.hin
krb5_auth_con_set_req_cksumtype @36 ; PRIVATE GSSAPI krb5.hin
krb5_kt_free_entry @192 ; PRIVATE GSSAPI krb5.hin
@@ -445,3 +444,6 @@ EXPORTS
krb5_cc_move @416
krb5_get_init_creds_opt_set_in_ccache @417
krb5int_build_conf_principals @418 ; PRIVATE
+
+; new in 1.12
+ krb5_free_enctypes @419
More information about the cvs-krb5
mailing list