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