From e38acb344ac5a5c8197dfd333566df29db826f7d Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=BCnther=20Deschner?= Date: Tue, 10 Feb 2015 13:13:01 +0100 Subject: [PATCH] krb5_wrap: add smb_krb5_principal_set_type(). MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Guenther Signed-off-by: Günther Deschner Reviewed-by: Stefan Metzmacher --- lib/krb5_wrap/krb5_samba.c | 21 +++++++++++++++++++++ lib/krb5_wrap/krb5_samba.h | 4 ++++ source4/heimdal_build/wscript_configure | 1 + wscript_configure_system_mitkrb5 | 1 + 4 files changed, 27 insertions(+) diff --git a/lib/krb5_wrap/krb5_samba.c b/lib/krb5_wrap/krb5_samba.c index 6d71f2223db..b70c0d314d2 100644 --- a/lib/krb5_wrap/krb5_samba.c +++ b/lib/krb5_wrap/krb5_samba.c @@ -2603,6 +2603,27 @@ int smb_krb5_principal_get_type(krb5_context context, } /** +* @brief Set the type of a krb5_principal +* +* @param context The krb5_context +* @param principal The const krb5_principal +* @param type The principal type +* +*/ +void smb_krb5_principal_set_type(krb5_context context, + krb5_principal principal, + int type) +{ +#ifdef HAVE_KRB5_PRINCIPAL_SET_TYPE /* Heimdal */ + krb5_principal_set_type(context, principal, type); +#elif defined(krb5_princ_type) /* MIT */ + krb5_princ_type(context, principal) = type; +#else +#error UNKNOWN_PRINC_SET_TYPE_FUNCTION +#endif +} + +/** * @brief Generate a krb5 warning, forwarding to com_err * * @param context The krb5_context diff --git a/lib/krb5_wrap/krb5_samba.h b/lib/krb5_wrap/krb5_samba.h index 7ff3a869973..12711e8cd32 100644 --- a/lib/krb5_wrap/krb5_samba.h +++ b/lib/krb5_wrap/krb5_samba.h @@ -263,6 +263,10 @@ krb5_error_code smb_krb5_make_pac_checksum(TALLOC_CTX *mem_ctx, char *smb_krb5_principal_get_realm(krb5_context context, krb5_const_principal principal); +void smb_krb5_principal_set_type(krb5_context context, + krb5_principal principal, + int type); + krb5_error_code smb_krb5_principal_set_realm(krb5_context context, krb5_principal principal, const char *realm); diff --git a/source4/heimdal_build/wscript_configure b/source4/heimdal_build/wscript_configure index 9a686566144..236adcd000e 100755 --- a/source4/heimdal_build/wscript_configure +++ b/source4/heimdal_build/wscript_configure @@ -164,6 +164,7 @@ conf.define('HAVE_FLAGS_IN_KRB5_CREDS', 1) conf.define('HAVE_KRB5_CONFIG_GET_BOOL_DEFAULT', 1) conf.define('HAVE_KRB5_DATA_COPY', 1) conf.define('HAVE_KRB5_PRINCIPAL_SET_REALM', 1) +conf.define('HAVE_KRB5_PRINCIPAL_SET_TYPE', 1) conf.define('HAVE_KRB5_PRINCIPAL_GET_TYPE', 1) conf.define('HAVE_KRB5_WARNX', 1) diff --git a/wscript_configure_system_mitkrb5 b/wscript_configure_system_mitkrb5 index 38397e32b7d..351e9d83a6d 100644 --- a/wscript_configure_system_mitkrb5 +++ b/wscript_configure_system_mitkrb5 @@ -113,6 +113,7 @@ conf.CHECK_FUNCS(''' krb5_config_get_bool_default krb5_get_profile krb5_data_copy krb5_keyblock_init krb5_principal_set_realm krb5_principal_get_type + krb5_principal_set_type krb5_warnx ''', lib='krb5 k5crypto') -- 2.11.4.GIT