Module Name:    src
Committed By:   pettai
Date:           Thu Apr 24 13:50:53 UTC 2014

Modified Files:
        src/crypto/external/bsd/heimdal/bin/krb5-config: Makefile
        src/crypto/external/bsd/heimdal/include: config.h gsskrb5-private.h
            hx509-private.h kdc-private.h krb5-private.h krb5-protos.h
            krb5-types.h ntlm-private.h roken.h version.h
        src/crypto/external/bsd/heimdal/lib/libgssapi: Makefile
        src/crypto/external/bsd/heimdal/lib/libkrb5: Makefile

Log Message:
Update build framework for latest heimdal-1-5-branch

Ok'ed and reviewed by elric@


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
    src/crypto/external/bsd/heimdal/bin/krb5-config/Makefile
cvs rdiff -u -r1.4 -r1.5 src/crypto/external/bsd/heimdal/include/config.h
cvs rdiff -u -r1.1 -r1.2 \
    src/crypto/external/bsd/heimdal/include/gsskrb5-private.h \
    src/crypto/external/bsd/heimdal/include/hx509-private.h \
    src/crypto/external/bsd/heimdal/include/kdc-private.h \
    src/crypto/external/bsd/heimdal/include/krb5-private.h \
    src/crypto/external/bsd/heimdal/include/ntlm-private.h \
    src/crypto/external/bsd/heimdal/include/version.h
cvs rdiff -u -r1.2 -r1.3 \
    src/crypto/external/bsd/heimdal/include/krb5-protos.h
cvs rdiff -u -r1.5 -r1.6 src/crypto/external/bsd/heimdal/include/krb5-types.h
cvs rdiff -u -r1.3 -r1.4 src/crypto/external/bsd/heimdal/include/roken.h
cvs rdiff -u -r1.3 -r1.4 \
    src/crypto/external/bsd/heimdal/lib/libgssapi/Makefile
cvs rdiff -u -r1.7 -r1.8 src/crypto/external/bsd/heimdal/lib/libkrb5/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/crypto/external/bsd/heimdal/bin/krb5-config/Makefile
diff -u src/crypto/external/bsd/heimdal/bin/krb5-config/Makefile:1.2 src/crypto/external/bsd/heimdal/bin/krb5-config/Makefile:1.3
--- src/crypto/external/bsd/heimdal/bin/krb5-config/Makefile:1.2	Fri Apr 12 18:08:10 2013
+++ src/crypto/external/bsd/heimdal/bin/krb5-config/Makefile	Thu Apr 24 13:50:53 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.2 2013/04/12 18:08:10 joerg Exp $
+#	$NetBSD: Makefile,v 1.3 2014/04/24 13:50:53 pettai Exp $
 
 .include <bsd.own.mk>
 .include <${.CURDIR}/../../Makefile.inc>
@@ -12,7 +12,7 @@ CLEANFILES+=	krb5-config
 
 krb5-config: krb5-config.in
 	${TOOL_SED} -e "s!@PACKAGE\@!heimdal!g" \
-	        -e "s!@VERSION\@!1.5pre1!g" \
+	        -e "s!@VERSION\@!1.5.3!g" \
 	        -e "s!@prefix\@!/!g" \
 	        -e "s!@exec_prefix\@!/!g" \
 	        -e "s!@libdir\@!/usr/lib!g" \

Index: src/crypto/external/bsd/heimdal/include/config.h
diff -u src/crypto/external/bsd/heimdal/include/config.h:1.4 src/crypto/external/bsd/heimdal/include/config.h:1.5
--- src/crypto/external/bsd/heimdal/include/config.h:1.4	Tue Nov  8 22:13:58 2011
+++ src/crypto/external/bsd/heimdal/include/config.h	Thu Apr 24 13:50:53 2014
@@ -143,6 +143,9 @@ static /**/const char *const rcsid[] = {
 /* Define to 1 if you have the `atexit' function. */
 #define HAVE_ATEXIT 1
 
+/* Define to 1 if you have the `backtrace' function. */
+/* #undef HAVE_BACKTRACE */
+
 /* Define to 1 if you have the <bind/bitypes.h> header file. */
 /* #undef HAVE_BIND_BITYPES_H */
 
@@ -212,6 +215,9 @@ static /**/const char *const rcsid[] = {
 /* Define to 1 if you have the <db5/db.h> header file. */
 /* #undef HAVE_DB5_DB_H */
 
+/* Define to 1 if you have the <db6/db.h> header file. */
+/* #undef HAVE_DB6_DB_H */
+
 /* Define if you have user supplied header location */
 /* #undef HAVE_DBHEADER */
 
@@ -224,9 +230,6 @@ static /**/const char *const rcsid[] = {
 /* Define to 1 if you have the `dbopen' function. */
 #define HAVE_DBOPEN 1
 
-/* Define to 1 if you have the <db_185.h> header file. */
-/* #undef HAVE_DB_185_H */
-
 /* Define to 1 if you have the `db_create' function. */
 /* #undef HAVE_DB_CREATE */
 
@@ -341,6 +344,9 @@ static /**/const char *const rcsid[] = {
 /* Define if you have the function `estrdup'. */
 #define HAVE_ESTRDUP 1
 
+/* Define to 1 if you have the <execinfo.h> header file. */
+#undef HAVE_EXECINFO_H
+
 /* Define if you have the function `fchown'. */
 #define HAVE_FCHOWN 1
 
@@ -720,6 +726,9 @@ static /**/const char *const rcsid[] = {
 /* Define if you want support for cache in sqlite. */
 /* #undef HAVE_SCC */
 
+/* Define to 1 if you have the <search.h> header file. */
+/* #undef HAVE_SEARCH_H */
+
 /* Define to 1 if you have the <security/pam_modules.h> header file. */
 #define HAVE_SECURITY_PAM_MODULES_H 1
 
@@ -810,6 +819,9 @@ static /**/const char *const rcsid[] = {
 /* Define to 1 if the system has the type `socklen_t'. */
 #define HAVE_SOCKLEN_T 1
 
+/* Define if you want support for sqlite in Heimdal. */
+/* #undef HAVE_SQLITE3 */
+
 /* Define to 1 if the system has the type `ssize_t'. */
 #define HAVE_SSIZE_T 1
 
@@ -1101,6 +1113,9 @@ static /**/const char *const rcsid[] = {
 /* Define to 1 if you have the <sys/wait.h> header file. */
 #define HAVE_SYS_WAIT_H 1
 
+/* Define to 1 if you have the `tdelete' function. */
+/* #undef HAVE_TDELETE */
+
 /* Define to 1 if you have the <termcap.h> header file. */
 #define HAVE_TERMCAP_H 1
 
@@ -1113,6 +1128,9 @@ static /**/const char *const rcsid[] = {
 /* Define to 1 if you have the <term.h> header file. */
 #define HAVE_TERM_H 1
 
+/* Define to 1 if you have the `tfind' function. */
+/* #undef HAVE_TFIND */
+
 /* Define to 1 if you have the `tgetent' function. */
 #define HAVE_TGETENT 1
 
@@ -1128,12 +1146,18 @@ static /**/const char *const rcsid[] = {
 /* Define to 1 if you have the <tmpdir.h> header file. */
 /* #undef HAVE_TMPDIR_H */
 
+/* Define if you have the function `tsearch'. */
+/* #undef HAVE_TSEARCH 1 */
+
 /* Define to 1 if you have the `ttyname' function. */
 #define HAVE_TTYNAME 1
 
 /* Define to 1 if you have the `ttyslot' function. */
 #define HAVE_TTYSLOT 1
 
+/* Define to 1 if you have the `twalk' function. */
+/* #undef HAVE_TWALK */
+
 /* Define to 1 if you have the <udb.h> header file. */
 /* #undef HAVE_UDB_H */
 
@@ -1298,7 +1322,7 @@ static /**/const char *const rcsid[] = {
 #define KRB5 1
 
 /* Define to enable kx509. */
-/* #undef KX509 */
+#define KX509 1
 
 /* path to lib */
 #define LIBDIR "/usr/lib"
@@ -1444,7 +1468,7 @@ static /**/const char *const rcsid[] = {
 #define PACKAGE_NAME "Heimdal"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "Heimdal 1.5pre1"
+#define PACKAGE_STRING "Heimdal 1.5.3"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "heimdal"
@@ -1453,7 +1477,7 @@ static /**/const char *const rcsid[] = {
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.5pre1"
+#define PACKAGE_VERSION "1.5.3"
 
 /* Define to enable PKINIT. */
 #define PKINIT 1
@@ -1535,6 +1559,9 @@ static /**/const char *const rcsid[] = {
 /* Define for large files, on AIX-style hosts. */
 /* #undef _LARGE_FILES */
 
+/* Define to get POSIX getpwnam_r in some systems. */
+/* #undef _POSIX_PTHREAD_SEMANTICS */
+
 /* Define to empty if `const' does not conform to ANSI C. */
 /* #undef const */
 

Index: src/crypto/external/bsd/heimdal/include/gsskrb5-private.h
diff -u src/crypto/external/bsd/heimdal/include/gsskrb5-private.h:1.1 src/crypto/external/bsd/heimdal/include/gsskrb5-private.h:1.2
--- src/crypto/external/bsd/heimdal/include/gsskrb5-private.h:1.1	Wed Apr 13 19:03:58 2011
+++ src/crypto/external/bsd/heimdal/include/gsskrb5-private.h	Thu Apr 24 13:50:53 2014
@@ -193,7 +193,7 @@ _gssapi_verify_mic_arcfour (
 	const gss_buffer_t /*token_buffer*/,
 	gss_qop_t * /*qop_state*/,
 	krb5_keyblock */*key*/,
-	char */*type*/);
+	const char */*type*/);
 
 OM_uint32
 _gssapi_verify_mic_cfx (
@@ -300,6 +300,17 @@ _gsskrb5_acquire_cred (
 	OM_uint32 * time_rec );
 
 OM_uint32 GSSAPI_CALLCONV
+_gsskrb5_acquire_cred_ext (
+	OM_uint32 * /*minor_status*/,
+	const gss_name_t /*desired_name*/,
+	gss_const_OID /*credential_type*/,
+	const void */*credential_data*/,
+	OM_uint32 /*time_req*/,
+	gss_const_OID /*desired_mech*/,
+	gss_cred_usage_t /*cred_usage*/,
+	gss_cred_id_t * output_cred_handle );
+
+OM_uint32 GSSAPI_CALLCONV
 _gsskrb5_add_cred (
 	 OM_uint32 */*minor_status*/,
 	const gss_cred_id_t /*input_cred_handle*/,
@@ -313,6 +324,13 @@ _gsskrb5_add_cred (
 	OM_uint32 */*initiator_time_rec*/,
 	OM_uint32 */*acceptor_time_rec*/);
 
+OM_uint32 GSSAPI_CALLCONV
+_gsskrb5_authorize_localname (
+	OM_uint32 */*minor_status*/,
+	const gss_name_t /*input_name*/,
+	gss_const_buffer_t /*user_name*/,
+	gss_const_OID /*user_name_type*/);
+
 OM_uint32
 _gsskrb5_canon_name (
 	OM_uint32 */*minor_status*/,
@@ -599,6 +617,13 @@ _gsskrb5_make_header (
 	const gss_OID /*mech*/);
 
 OM_uint32 GSSAPI_CALLCONV
+_gsskrb5_pname_to_uid (
+	OM_uint32 */*minor_status*/,
+	const gss_name_t /*pname*/,
+	const gss_OID /*mech_type*/,
+	uid_t */*uidp*/);
+
+OM_uint32 GSSAPI_CALLCONV
 _gsskrb5_process_context_token (
 	 OM_uint32 */*minor_status*/,
 	const gss_ctx_id_t /*context_handle*/,
@@ -614,7 +639,9 @@ _gsskrb5_pseudo_random (
 	gss_buffer_t /*prf_out*/);
 
 OM_uint32
-_gsskrb5_register_acceptor_identity (const char */*identity*/);
+_gsskrb5_register_acceptor_identity (
+	OM_uint32 */*min_stat*/,
+	const char */*identity*/);
 
 OM_uint32
 _gsskrb5_release_buffer (
@@ -702,7 +729,7 @@ _gsskrb5_verify_mic_internal (
 	const gss_buffer_t /*message_buffer*/,
 	const gss_buffer_t /*token_buffer*/,
 	gss_qop_t * /*qop_state*/,
-	char * type );
+	const char * type );
 
 OM_uint32 GSSAPI_CALLCONV
 _gsskrb5_wrap (
Index: src/crypto/external/bsd/heimdal/include/hx509-private.h
diff -u src/crypto/external/bsd/heimdal/include/hx509-private.h:1.1 src/crypto/external/bsd/heimdal/include/hx509-private.h:1.2
--- src/crypto/external/bsd/heimdal/include/hx509-private.h:1.1	Wed Apr 13 19:03:58 2011
+++ src/crypto/external/bsd/heimdal/include/hx509-private.h	Thu Apr 24 13:50:53 2014
@@ -425,7 +425,7 @@ hx509_revoke_ctx
 _hx509_revoke_ref (hx509_revoke_ctx /*ctx*/);
 
 void
-_hx509_sel_yyerror (char */*s*/);
+_hx509_sel_yyerror (const char */*s*/);
 
 int
 _hx509_self_signed_valid (
Index: src/crypto/external/bsd/heimdal/include/kdc-private.h
diff -u src/crypto/external/bsd/heimdal/include/kdc-private.h:1.1 src/crypto/external/bsd/heimdal/include/kdc-private.h:1.2
--- src/crypto/external/bsd/heimdal/include/kdc-private.h:1.1	Wed Apr 13 19:03:58 2011
+++ src/crypto/external/bsd/heimdal/include/kdc-private.h	Thu Apr 24 13:50:53 2014
@@ -57,7 +57,7 @@ _kdc_db_fetch (
 	krb5_kdc_configuration */*config*/,
 	krb5_const_principal /*principal*/,
 	unsigned /*flags*/,
-	krb5int32 */*kvno_ptr*/,
+	krb5uint32 */*kvno_ptr*/,
 	HDB **/*db*/,
 	hdb_entry_ex **/*h*/);
 
@@ -98,9 +98,12 @@ _kdc_encode_reply (
 krb5_error_code
 _kdc_find_etype (
 	krb5_context /*context*/,
-	const hdb_entry_ex */*princ*/,
+	krb5_boolean /*use_strongest_session_key*/,
+	krb5_boolean /*is_preauth*/,
+	hdb_entry_ex */*princ*/,
 	krb5_enctype */*etypes*/,
 	unsigned /*len*/,
+	krb5_enctype */*ret_enctype*/,
 	Key **/*ret_key*/);
 
 const PA_DATA*
@@ -159,6 +162,7 @@ krb5_error_code
 _kdc_pac_verify (
 	krb5_context /*context*/,
 	const krb5_principal /*client_principal*/,
+	const krb5_principal /*delegated_proxy_principal*/,
 	hdb_entry_ex */*client*/,
 	hdb_entry_ex */*server*/,
 	hdb_entry_ex */*krbtgt*/,
Index: src/crypto/external/bsd/heimdal/include/krb5-private.h
diff -u src/crypto/external/bsd/heimdal/include/krb5-private.h:1.1 src/crypto/external/bsd/heimdal/include/krb5-private.h:1.2
--- src/crypto/external/bsd/heimdal/include/krb5-private.h:1.1	Wed Apr 13 19:03:58 2011
+++ src/crypto/external/bsd/heimdal/include/krb5-private.h	Thu Apr 24 13:50:53 2014
@@ -8,6 +8,25 @@
 #define __attribute__(x)
 #endif
 
+#ifndef KRB5_DEPRECATED_FUNCTION
+#ifndef __has_extension
+#define __has_extension(x) 0
+#define KRB5_DEPRECATED_FUNCTIONhas_extension 1
+#endif
+#if __has_extension(attribute_deprecated_with_message)
+#define KRB5_DEPRECATED_FUNCTION(x) __attribute__((__deprecated__(x)))
+#elif defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1 )))
+#define KRB5_DEPRECATED_FUNCTION(X) __attribute__((__deprecated__))
+#else
+#define KRB5_DEPRECATED_FUNCTION(X)
+#endif
+#ifdef KRB5_DEPRECATED_FUNCTIONhas_extension
+#undef __has_extension
+#undef KRB5_DEPRECATED_FUNCTIONhas_extension
+#endif
+#endif /* KRB5_DEPRECATED_FUNCTION */
+
+
 void
 _heim_krb5_ipc_client_clear_target (void);
 
@@ -119,6 +138,9 @@ _krb5_debug (
 	...)
      __attribute__((format (printf, 3, 4)));
 
+void
+_krb5_debug_backtrace (krb5_context /*context*/);
+
 krb5_error_code
 _krb5_derive_key (
 	krb5_context /*context*/,
@@ -156,6 +178,12 @@ _krb5_dh_group_ok (
 	char **/*name*/);
 
 krb5_error_code
+_krb5_einval (
+	krb5_context /*context*/,
+	const char */*func*/,
+	unsigned long /*argn*/);
+
+krb5_error_code
 _krb5_erase_file (
 	krb5_context /*context*/,
 	const char */*filename*/);
@@ -247,7 +275,7 @@ _krb5_get_cred_kdc_any (
 	krb5_creds ***/*ret_tgts*/);
 
 char *
-_krb5_get_default_cc_name_from_registry (void);
+_krb5_get_default_cc_name_from_registry (krb5_context /*context*/);
 
 char *
 _krb5_get_default_config_config_files_from_registry (void);
@@ -288,6 +316,14 @@ _krb5_have_debug (
 krb5_boolean
 _krb5_homedir_access (krb5_context /*context*/);
 
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+_krb5_init_etype (
+	krb5_context /*context*/,
+	krb5_pdu /*pdu_type*/,
+	unsigned */*len*/,
+	krb5_enctype **/*val*/,
+	const krb5_enctype */*etypes*/);
+
 krb5_error_code
 _krb5_internal_hmac (
 	krb5_context /*context*/,
@@ -298,14 +334,14 @@ _krb5_internal_hmac (
 	struct _krb5_key_data */*keyblock*/,
 	Checksum */*result*/);
 
-krb5_error_code
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 _krb5_kcm_get_initial_ticket (
 	krb5_context /*context*/,
 	krb5_ccache /*id*/,
 	krb5_principal /*server*/,
 	krb5_keyblock */*key*/);
 
-krb5_error_code
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 _krb5_kcm_get_ticket (
 	krb5_context /*context*/,
 	krb5_ccache /*id*/,
@@ -313,10 +349,10 @@ _krb5_kcm_get_ticket (
 	krb5_enctype /*enctype*/,
 	krb5_principal /*server*/);
 
-krb5_boolean
+KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL
 _krb5_kcm_is_running (krb5_context /*context*/);
 
-krb5_error_code
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 _krb5_kcm_noop (
 	krb5_context /*context*/,
 	krb5_ccache /*id*/);
@@ -529,6 +565,11 @@ _krb5_send_and_recv_tcp (
 	const krb5_data */*req*/,
 	krb5_data */*rep*/);
 
+int
+_krb5_set_default_cc_name_to_registry (
+	krb5_context /*context*/,
+	krb5_ccache /*id*/);
+
 void
 _krb5_unload_plugins (
 	krb5_context /*context*/,
@@ -556,4 +597,7 @@ _krb5_xunlock (
 	krb5_context /*context*/,
 	int /*fd*/);
 
+#undef KRB5_DEPRECATED_FUNCTION
+#define KRB5_DEPRECATED_FUNCTION(X)
+
 #endif /* __krb5_private_h__ */
Index: src/crypto/external/bsd/heimdal/include/ntlm-private.h
diff -u src/crypto/external/bsd/heimdal/include/ntlm-private.h:1.1 src/crypto/external/bsd/heimdal/include/ntlm-private.h:1.2
--- src/crypto/external/bsd/heimdal/include/ntlm-private.h:1.1	Wed Apr 13 19:03:58 2011
+++ src/crypto/external/bsd/heimdal/include/ntlm-private.h	Thu Apr 24 13:50:53 2014
@@ -77,7 +77,7 @@ _gss_ntlm_delete_sec_context (
 	gss_ctx_id_t * /*context_handle*/,
 	gss_buffer_t output_token );
 
-OM_uint32
+OM_uint32 GSSAPI_CALLCONV
 _gss_ntlm_destroy_cred (
 	OM_uint32 */*minor_status*/,
 	gss_cred_id_t */*cred_handle*/);
@@ -175,7 +175,7 @@ _gss_ntlm_inquire_context (
 	int * /*locally_initiated*/,
 	int * open_context );
 
-OM_uint32
+OM_uint32 GSSAPI_CALLCONV
 _gss_ntlm_inquire_cred (
 	OM_uint32 * /*minor_status*/,
 	const gss_cred_id_t /*cred_handle*/,
@@ -206,14 +206,14 @@ _gss_ntlm_inquire_names_for_mech (
 	const gss_OID /*mechanism*/,
 	gss_OID_set * name_types );
 
-OM_uint32
+OM_uint32 GSSAPI_CALLCONV
 _gss_ntlm_inquire_sec_context_by_oid (
 	OM_uint32 */*minor_status*/,
 	const gss_ctx_id_t /*context_handle*/,
 	const gss_OID /*desired_object*/,
 	gss_buffer_set_t */*data_set*/);
 
-void
+void GSSAPI_CALLCONV
 _gss_ntlm_iter_creds_f (
 	OM_uint32 /*flags*/,
 	void *userctx ,
Index: src/crypto/external/bsd/heimdal/include/version.h
diff -u src/crypto/external/bsd/heimdal/include/version.h:1.1 src/crypto/external/bsd/heimdal/include/version.h:1.2
--- src/crypto/external/bsd/heimdal/include/version.h:1.1	Wed Apr 13 19:03:58 2011
+++ src/crypto/external/bsd/heimdal/include/version.h	Thu Apr 24 13:50:53 2014
@@ -1,5 +1,5 @@
 #ifndef VERSION_HIDDEN
 #define VERSION_HIDDEN
 #endif
-VERSION_HIDDEN const char *heimdal_long_version = "@(#)$Version: Heimdal 1.5pre1 by elric on straasha.imrryr.org (x86_64-unknown-netbsd5.99.41) Fri Mar 18 00:25:26 GMT 2011 $";
-VERSION_HIDDEN const char *heimdal_version = "Heimdal 1.5pre1";
+VERSION_HIDDEN const char *heimdal_long_version = "@(#)$Version: Heimdal 1.5.3 by pettai on stinky (x86_64-unknown-netbsd6.99.40) Tue Apr 22 09:10:01 UTC 2014 $";
+VERSION_HIDDEN const char *heimdal_version = "Heimdal 1.5.3";

Index: src/crypto/external/bsd/heimdal/include/krb5-protos.h
diff -u src/crypto/external/bsd/heimdal/include/krb5-protos.h:1.2 src/crypto/external/bsd/heimdal/include/krb5-protos.h:1.3
--- src/crypto/external/bsd/heimdal/include/krb5-protos.h:1.2	Tue May 17 12:56:44 2011
+++ src/crypto/external/bsd/heimdal/include/krb5-protos.h	Thu Apr 24 13:50:53 2014
@@ -8,6 +8,25 @@
 #define __attribute__(x)
 #endif
 
+#ifndef KRB5_DEPRECATED_FUNCTION
+#ifndef __has_extension
+#define __has_extension(x) 0
+#define KRB5_DEPRECATED_FUNCTIONhas_extension 1
+#endif
+#if __has_extension(attribute_deprecated_with_message)
+#define KRB5_DEPRECATED_FUNCTION(x) __attribute__((__deprecated__(x)))
+#elif defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1 )))
+#define KRB5_DEPRECATED_FUNCTION(X) __attribute__((__deprecated__))
+#else
+#define KRB5_DEPRECATED_FUNCTION(X)
+#endif
+#ifdef KRB5_DEPRECATED_FUNCTIONhas_extension
+#undef __has_extension
+#undef KRB5_DEPRECATED_FUNCTIONhas_extension
+#endif
+#endif /* KRB5_DEPRECATED_FUNCTION */
+
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -25,18 +44,20 @@ extern "C" {
 #endif
 #endif
 #endif
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb524_convert_creds_kdc (
 	krb5_context /*context*/,
 	krb5_creds */*in_cred*/,
-	struct credentials */*v4creds*/);
+	struct credentials */*v4creds*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb524_convert_creds_kdc_ccache (
 	krb5_context /*context*/,
 	krb5_ccache /*ccache*/,
 	krb5_creds */*in_cred*/,
-	struct credentials */*v4creds*/);
+	struct credentials */*v4creds*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_abort (
@@ -386,11 +407,12 @@ krb5_auth_con_setuserkey (
 	krb5_auth_context /*auth_context*/,
 	krb5_keyblock */*keyblock*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_auth_getremoteseqnumber (
 	krb5_context /*context*/,
 	krb5_auth_context /*auth_context*/,
-	int32_t */*seqnumber*/);
+	int32_t */*seqnumber*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_build_ap_req (
@@ -470,12 +492,13 @@ krb5_c_encrypt_length (
 	size_t /*inputlen*/,
 	size_t */*length*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_c_enctype_compare (
 	krb5_context /*context*/,
 	krb5_enctype /*e1*/,
 	krb5_enctype /*e2*/,
-	krb5_boolean */*similar*/);
+	krb5_boolean */*similar*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_c_get_checksum (
@@ -623,11 +646,12 @@ krb5_cc_end_seq_get (
 	const krb5_ccache /*id*/,
 	krb5_cc_cursor */*cursor*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_cc_gen_new (
 	krb5_context /*context*/,
 	const krb5_cc_ops */*ops*/,
-	krb5_ccache */*id*/);
+	krb5_ccache */*id*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_cc_get_config (
@@ -832,14 +856,15 @@ krb5_cccol_last_change_time (
 	const char */*type*/,
 	krb5_timestamp */*mtime*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_change_password (
 	krb5_context /*context*/,
 	krb5_creds */*creds*/,
 	const char */*newpw*/,
 	int */*result_code*/,
 	krb5_data */*result_code_string*/,
-	krb5_data */*result_string*/);
+	krb5_data */*result_string*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_check_transited (
@@ -897,8 +922,9 @@ krb5_cksumtype_valid (
 KRB5_LIB_FUNCTION void KRB5_LIB_CALL
 krb5_clear_error_message (krb5_context /*context*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION void KRB5_LIB_CALL
-krb5_clear_error_string (krb5_context /*context*/);
+KRB5_LIB_FUNCTION void KRB5_LIB_CALL
+krb5_clear_error_string (krb5_context /*context*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_closelog (
@@ -996,11 +1022,12 @@ krb5_config_parse_file_multi (
 	const char */*fname*/,
 	krb5_config_section **/*res*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_config_parse_string_multi (
 	krb5_context /*context*/,
 	const char */*string*/,
-	krb5_config_section **/*res*/);
+	krb5_config_section **/*res*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL
 krb5_config_vget_bool (
@@ -1275,69 +1302,77 @@ krb5_data_realloc (
 KRB5_LIB_FUNCTION void KRB5_LIB_CALL
 krb5_data_zero (krb5_data */*p*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_decode_Authenticator (
 	krb5_context /*context*/,
 	const void */*data*/,
 	size_t /*length*/,
 	Authenticator */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_decode_ETYPE_INFO (
 	krb5_context /*context*/,
 	const void */*data*/,
 	size_t /*length*/,
 	ETYPE_INFO */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_decode_ETYPE_INFO2 (
 	krb5_context /*context*/,
 	const void */*data*/,
 	size_t /*length*/,
 	ETYPE_INFO2 */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_decode_EncAPRepPart (
 	krb5_context /*context*/,
 	const void */*data*/,
 	size_t /*length*/,
 	EncAPRepPart */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_decode_EncASRepPart (
 	krb5_context /*context*/,
 	const void */*data*/,
 	size_t /*length*/,
 	EncASRepPart */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_decode_EncKrbCredPart (
 	krb5_context /*context*/,
 	const void */*data*/,
 	size_t /*length*/,
 	EncKrbCredPart */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_decode_EncTGSRepPart (
 	krb5_context /*context*/,
 	const void */*data*/,
 	size_t /*length*/,
 	EncTGSRepPart */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_decode_EncTicketPart (
 	krb5_context /*context*/,
 	const void */*data*/,
 	size_t /*length*/,
 	EncTicketPart */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_decode_ap_req (
@@ -1594,69 +1629,77 @@ krb5_eai_to_heim_errno (
 	int /*eai_errno*/,
 	int /*system_error*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_encode_Authenticator (
 	krb5_context /*context*/,
 	void */*data*/,
 	size_t /*length*/,
 	Authenticator */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_encode_ETYPE_INFO (
 	krb5_context /*context*/,
 	void */*data*/,
 	size_t /*length*/,
 	ETYPE_INFO */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_encode_ETYPE_INFO2 (
 	krb5_context /*context*/,
 	void */*data*/,
 	size_t /*length*/,
 	ETYPE_INFO2 */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_encode_EncAPRepPart (
 	krb5_context /*context*/,
 	void */*data*/,
 	size_t /*length*/,
 	EncAPRepPart */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_encode_EncASRepPart (
 	krb5_context /*context*/,
 	void */*data*/,
 	size_t /*length*/,
 	EncASRepPart */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_encode_EncKrbCredPart (
 	krb5_context /*context*/,
 	void */*data*/,
 	size_t /*length*/,
 	EncKrbCredPart */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_encode_EncTGSRepPart (
 	krb5_context /*context*/,
 	void */*data*/,
 	size_t /*length*/,
 	EncTGSRepPart */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_encode_EncTicketPart (
 	krb5_context /*context*/,
 	void */*data*/,
 	size_t /*length*/,
 	EncTicketPart */*t*/,
-	size_t */*len*/);
+	size_t */*len*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_encrypt (
@@ -1735,11 +1778,12 @@ krb5_enctype_valid (
 	krb5_context /*context*/,
 	krb5_enctype /*etype*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL
 krb5_enctypes_compatible_keys (
 	krb5_context /*context*/,
 	krb5_enctype /*etype1*/,
-	krb5_enctype /*etype2*/);
+	krb5_enctype /*etype2*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 krb5_error_code
 krb5_enomem (krb5_context /*context*/);
@@ -1841,20 +1885,22 @@ krb5_free_creds (
 	krb5_context /*context*/,
 	krb5_creds */*c*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_free_creds_contents (
 	krb5_context /*context*/,
-	krb5_creds */*c*/);
+	krb5_creds */*c*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION void KRB5_LIB_CALL
 krb5_free_data (
 	krb5_context /*context*/,
 	krb5_data */*p*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION void KRB5_LIB_CALL
+KRB5_LIB_FUNCTION void KRB5_LIB_CALL
 krb5_free_data_contents (
 	krb5_context /*context*/,
-	krb5_data */*data*/);
+	krb5_data */*data*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_free_default_realm (
@@ -1876,10 +1922,11 @@ krb5_free_error_message (
 	krb5_context /*context*/,
 	const char */*msg*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION void KRB5_LIB_CALL
+KRB5_LIB_FUNCTION void KRB5_LIB_CALL
 krb5_free_error_string (
 	krb5_context /*context*/,
-	char */*str*/);
+	char */*str*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_free_host_realm (
@@ -1921,10 +1968,11 @@ krb5_free_ticket (
 	krb5_context /*context*/,
 	krb5_ticket */*ticket*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION void KRB5_LIB_CALL
+KRB5_LIB_FUNCTION void KRB5_LIB_CALL
 krb5_free_unparsed_name (
 	krb5_context /*context*/,
-	char */*str*/);
+	char */*str*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_fwd_tgt_creds (
@@ -1954,11 +2002,12 @@ krb5_generate_seq_number (
 	const krb5_keyblock */*key*/,
 	uint32_t */*seqno*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_generate_subkey (
 	krb5_context /*context*/,
 	const krb5_keyblock */*key*/,
-	krb5_keyblock **/*subkey*/);
+	krb5_keyblock **/*subkey*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_generate_subkey_extended (
@@ -1977,22 +2026,24 @@ krb5_get_all_server_addrs (
 	krb5_context /*context*/,
 	krb5_addresses */*res*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_get_cred_from_kdc (
 	krb5_context /*context*/,
 	krb5_ccache /*ccache*/,
 	krb5_creds */*in_creds*/,
 	krb5_creds **/*out_creds*/,
-	krb5_creds ***/*ret_tgts*/);
+	krb5_creds ***/*ret_tgts*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_get_cred_from_kdc_opt (
 	krb5_context /*context*/,
 	krb5_ccache /*ccache*/,
 	krb5_creds */*in_creds*/,
 	krb5_creds **/*out_creds*/,
 	krb5_creds ***/*ret_tgts*/,
-	krb5_flags /*flags*/);
+	krb5_flags /*flags*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_get_credentials (
@@ -2065,6 +2116,7 @@ krb5_get_default_config_files (char ***/
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_get_default_in_tkt_etypes (
 	krb5_context /*context*/,
+	krb5_pdu /*pdu_type*/,
 	krb5_enctype **/*etypes*/);
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
@@ -2085,10 +2137,11 @@ krb5_get_default_realms (
 KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL
 krb5_get_dns_canonicalize_hostname (krb5_context /*context*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL
+KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL
 krb5_get_err_text (
 	krb5_context /*context*/,
-	krb5_error_code /*code*/);
+	krb5_error_code /*code*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION const char * KRB5_LIB_CALL
 krb5_get_error_message (
@@ -2129,7 +2182,7 @@ krb5_get_ignore_addresses (
 	krb5_context /*context*/,
 	krb5_addresses */*addresses*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_get_in_cred (
 	krb5_context /*context*/,
 	krb5_flags /*options*/,
@@ -2142,9 +2195,10 @@ krb5_get_in_cred (
 	krb5_decrypt_proc /*decrypt_proc*/,
 	krb5_const_pointer /*decryptarg*/,
 	krb5_creds */*creds*/,
-	krb5_kdc_rep */*ret_as_reply*/);
+	krb5_kdc_rep */*ret_as_reply*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_get_in_tkt (
 	krb5_context /*context*/,
 	krb5_flags /*options*/,
@@ -2157,9 +2211,10 @@ krb5_get_in_tkt (
 	krb5_const_pointer /*decryptarg*/,
 	krb5_creds */*creds*/,
 	krb5_ccache /*ccache*/,
-	krb5_kdc_rep */*ret_as_reply*/);
+	krb5_kdc_rep */*ret_as_reply*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_get_in_tkt_with_keytab (
 	krb5_context /*context*/,
 	krb5_flags /*options*/,
@@ -2169,9 +2224,10 @@ krb5_get_in_tkt_with_keytab (
 	krb5_keytab /*keytab*/,
 	krb5_ccache /*ccache*/,
 	krb5_creds */*creds*/,
-	krb5_kdc_rep */*ret_as_reply*/);
+	krb5_kdc_rep */*ret_as_reply*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_get_in_tkt_with_password (
 	krb5_context /*context*/,
 	krb5_flags /*options*/,
@@ -2181,9 +2237,10 @@ krb5_get_in_tkt_with_password (
 	const char */*password*/,
 	krb5_ccache /*ccache*/,
 	krb5_creds */*creds*/,
-	krb5_kdc_rep */*ret_as_reply*/);
+	krb5_kdc_rep */*ret_as_reply*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_get_in_tkt_with_skey (
 	krb5_context /*context*/,
 	krb5_flags /*options*/,
@@ -2193,7 +2250,8 @@ krb5_get_in_tkt_with_skey (
 	const krb5_keyblock */*key*/,
 	krb5_ccache /*ccache*/,
 	krb5_creds */*creds*/,
-	krb5_kdc_rep */*ret_as_reply*/);
+	krb5_kdc_rep */*ret_as_reply*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_get_init_creds_keyblock (
@@ -2225,14 +2283,16 @@ krb5_get_init_creds_opt_free (
 	krb5_context /*context*/,
 	krb5_get_init_creds_opt */*opt*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_get_init_creds_opt_get_error (
 	krb5_context /*context*/,
 	krb5_get_init_creds_opt */*opt*/,
-	KRB_ERROR **/*error*/);
+	KRB_ERROR **/*error*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION void KRB5_LIB_CALL
-krb5_get_init_creds_opt_init (krb5_get_init_creds_opt */*opt*/);
+KRB5_LIB_FUNCTION void KRB5_LIB_CALL
+krb5_get_init_creds_opt_init (krb5_get_init_creds_opt */*opt*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION void KRB5_LIB_CALL
 krb5_get_init_creds_opt_set_address_list (
@@ -2557,13 +2617,6 @@ KRB5_LIB_FUNCTION void KRB5_LIB_CALL
 krb5_init_ets (krb5_context /*context*/);
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
-krb5_init_etype (
-	krb5_context /*context*/,
-	unsigned */*len*/,
-	krb5_enctype **/*val*/,
-	const krb5_enctype */*etypes*/);
-
-KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_initlog (
 	krb5_context /*context*/,
 	const char */*program*/,
@@ -2615,33 +2668,37 @@ krb5_keyblock_key_proc (
 KRB5_LIB_FUNCTION void KRB5_LIB_CALL
 krb5_keyblock_zero (krb5_keyblock */*keyblock*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_CALLCONV
+KRB5_LIB_FUNCTION krb5_error_code KRB5_CALLCONV
 krb5_keytab_key_proc (
 	krb5_context /*context*/,
 	krb5_enctype /*enctype*/,
 	krb5_salt /*salt*/,
 	krb5_const_pointer /*keyseed*/,
-	krb5_keyblock **/*key*/);
+	krb5_keyblock **/*key*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_keytype_to_enctypes (
 	krb5_context /*context*/,
 	krb5_keytype /*keytype*/,
 	unsigned */*len*/,
-	krb5_enctype **/*val*/);
+	krb5_enctype **/*val*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_keytype_to_enctypes_default (
 	krb5_context /*context*/,
 	krb5_keytype /*keytype*/,
 	unsigned */*len*/,
-	krb5_enctype **/*val*/);
+	krb5_enctype **/*val*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_keytype_to_string (
 	krb5_context /*context*/,
 	krb5_keytype /*keytype*/,
-	char **/*string*/);
+	char **/*string*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_krbhst_format_string (
@@ -2784,7 +2841,7 @@ krb5_kt_get_type (
 KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL
 krb5_kt_have_content (
 	krb5_context /*context*/,
-        krb5_keytab /*id*/);
+	krb5_keytab /*id*/);
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_kt_next_entry (
@@ -3157,13 +3214,14 @@ krb5_passwd_result_to_string (
 	krb5_context /*context*/,
 	int /*result*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_CALLCONV
+KRB5_LIB_FUNCTION krb5_error_code KRB5_CALLCONV
 krb5_password_key_proc (
 	krb5_context /*context*/,
 	krb5_enctype /*type*/,
 	krb5_salt /*salt*/,
 	krb5_const_pointer /*keyseed*/,
-	krb5_keyblock **/*key*/);
+	krb5_keyblock **/*key*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_pk_enterprise_cert (
@@ -3199,16 +3257,18 @@ krb5_prepend_error_message (
 	...)
      __attribute__ ((format (printf, 3, 4)));
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_realm * KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_realm * KRB5_LIB_CALL
 krb5_princ_realm (
 	krb5_context /*context*/,
-	krb5_principal /*principal*/);
+	krb5_principal /*principal*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION void KRB5_LIB_CALL
+KRB5_LIB_FUNCTION void KRB5_LIB_CALL
 krb5_princ_set_realm (
 	krb5_context /*context*/,
 	krb5_principal /*principal*/,
-	krb5_realm */*realm*/);
+	krb5_realm */*realm*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL
 krb5_principal_compare (
@@ -3755,12 +3815,12 @@ krb5_set_error_message (
 	...)
      __attribute__ ((format (printf, 3, 4)));
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_set_error_string (
 	krb5_context /*context*/,
 	const char */*fmt*/,
 	...)
-     __attribute__((format (printf, 2, 3)));
+     __attribute__((format (printf, 2, 3))) KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_set_extra_addresses (
@@ -3864,10 +3924,10 @@ krb5_sockaddr2port (
 	int16_t */*port*/);
 
 KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL
-krb5_sockaddr_uninteresting (const struct sockaddr */*sa*/);
+krb5_sockaddr_is_loopback (const struct sockaddr */*sa*/);
 
 KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL
-krb5_sockaddr_is_loopback (const struct sockaddr */*sa*/);
+krb5_sockaddr_uninteresting (const struct sockaddr */*sa*/);
 
 KRB5_LIB_FUNCTION void KRB5_LIB_CALL
 krb5_std_usage (
@@ -3940,6 +4000,11 @@ krb5_storage_set_flags (
 	krb5_storage */*sp*/,
 	krb5_flags /*flags*/);
 
+KRB5_LIB_FUNCTION void KRB5_LIB_CALL
+krb5_storage_set_max_alloc (
+	krb5_storage */*sp*/,
+	size_t /*size*/);
+
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_storage_to_data (
 	krb5_storage */*sp*/,
@@ -4115,11 +4180,12 @@ krb5_string_to_key_salt_opaque (
 	krb5_data /*opaque*/,
 	krb5_keyblock */*key*/);
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_string_to_keytype (
 	krb5_context /*context*/,
 	const char */*string*/,
-	krb5_keytype */*keytype*/);
+	krb5_keytype */*keytype*/)
+     KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_string_to_salttype (
@@ -4402,12 +4468,12 @@ krb5_vset_error_message (
 	va_list /*args*/)
      __attribute__ ((format (printf, 3, 0)));
 
-KRB5_DEPRECATED KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
+KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_vset_error_string (
 	krb5_context /*context*/,
 	const char */*fmt*/,
 	va_list /*args*/)
-     __attribute__ ((format (printf, 2, 0)));
+     __attribute__ ((format (printf, 2, 0))) KRB5_DEPRECATED_FUNCTION("Use X instead");
 
 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
 krb5_vwarn (
@@ -4466,4 +4532,6 @@ krb5_xfree (void */*ptr*/);
 }
 #endif
 
+#undef KRB5_DEPRECATED_FUNCTION
+
 #endif /* __krb5_protos_h__ */

Index: src/crypto/external/bsd/heimdal/include/krb5-types.h
diff -u src/crypto/external/bsd/heimdal/include/krb5-types.h:1.5 src/crypto/external/bsd/heimdal/include/krb5-types.h:1.6
--- src/crypto/external/bsd/heimdal/include/krb5-types.h:1.5	Sun Apr 24 22:24:14 2011
+++ src/crypto/external/bsd/heimdal/include/krb5-types.h	Thu Apr 24 13:50:53 2014
@@ -1,4 +1,5 @@
-/*	$NetBSD: krb5-types.h,v 1.5 2011/04/24 22:24:14 elric Exp $	*/
+/* krb5-types.h -- this file was generated for x86_64-unknown-netbsd6.99.40 by
+                   $Id: krb5-types.h,v 1.6 2014/04/24 13:50:53 pettai Exp $ */
 
 #ifndef __krb5_types_h__
 #define __krb5_types_h__
@@ -37,4 +38,11 @@ typedef int krb5_socket_t;
 #define HEIMDAL_NORETURN_ATTRIBUTE
 #endif
 #endif
+#ifndef HEIMDAL_UNUSED_ATTRIBUTE
+#if defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1 )))
+#define HEIMDAL_UNUSED_ATTRIBUTE __attribute__((unused))
+#else
+#define HEIMDAL_UNUSED_ATTRIBUTE
+#endif
+#endif
 #endif /* __krb5_types_h__ */

Index: src/crypto/external/bsd/heimdal/include/roken.h
diff -u src/crypto/external/bsd/heimdal/include/roken.h:1.3 src/crypto/external/bsd/heimdal/include/roken.h:1.4
--- src/crypto/external/bsd/heimdal/include/roken.h:1.3	Fri Apr 15 21:03:51 2011
+++ src/crypto/external/bsd/heimdal/include/roken.h	Thu Apr 24 13:50:53 2014
@@ -60,6 +60,8 @@ typedef int rk_socket_t;
 #define rk_SOCK_EXIT() do { } while(0)
 
 
+#define IN_LOOPBACKNET 127
+
 
 #define UNREACHABLE(x)
 #define UNUSED_ARGUMENT(x)

Index: src/crypto/external/bsd/heimdal/lib/libgssapi/Makefile
diff -u src/crypto/external/bsd/heimdal/lib/libgssapi/Makefile:1.3 src/crypto/external/bsd/heimdal/lib/libgssapi/Makefile:1.4
--- src/crypto/external/bsd/heimdal/lib/libgssapi/Makefile:1.3	Sun Jul 31 09:58:19 2011
+++ src/crypto/external/bsd/heimdal/lib/libgssapi/Makefile	Thu Apr 24 13:50:53 2014
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.3 2011/07/31 09:58:19 plunky Exp $
+# $NetBSD: Makefile,v 1.4 2014/04/24 13:50:53 pettai Exp $
 
 USE_FORT?= yes        # network protocol library
 
@@ -73,6 +73,7 @@ krb5src = \
 	krb5/inquire_mechs_for_name.c \
 	krb5/inquire_names_for_mech.c \
 	krb5/inquire_sec_context_by_oid.c \
+	krb5/pname_to_uid.c \
 	krb5/process_context_token.c \
 	krb5/prf.c \
 	krb5/release_buffer.c \
@@ -84,6 +85,7 @@ krb5src = \
 	krb5/set_sec_context_option.c \
 	krb5/ticket_flags.c \
 	krb5/unwrap.c \
+	krb5/authorize_localname.c \
 	krb5/verify_mic.c \
 	krb5/wrap.c
 
@@ -92,7 +94,10 @@ mechsrc = \
 	mech/doxygen.c \
 	mech/gss_accept_sec_context.c \
 	mech/gss_acquire_cred.c \
+	mech/gss_acquire_cred_ext.c \
+	mech/gss_acquire_cred_with_password.c \
 	mech/gss_add_cred.c \
+	mech/gss_add_cred_with_password.c \
 	mech/gss_add_oid_set_member.c \
 	mech/gss_aeap.c \
 	mech/gss_buffer_set.c \
@@ -133,6 +138,7 @@ mechsrc = \
 	mech/gss_oid.c \
 	mech/gss_oid_equal.c \
 	mech/gss_oid_to_str.c \
+	mech/gss_pname_to_uid.c \
 	mech/gss_process_context_token.c \
 	mech/gss_pseudo_random.c \
 	mech/gss_release_buffer.c \
@@ -149,6 +155,7 @@ mechsrc = \
 	mech/gss_test_oid_set_member.c \
 	mech/gss_unseal.c \
 	mech/gss_unwrap.c \
+	mech/gss_authorize_localname.c \
 	mech/gss_utils.c \
 	mech/gss_verify.c \
 	mech/gss_verify_mic.c \

Index: src/crypto/external/bsd/heimdal/lib/libkrb5/Makefile
diff -u src/crypto/external/bsd/heimdal/lib/libkrb5/Makefile:1.7 src/crypto/external/bsd/heimdal/lib/libkrb5/Makefile:1.8
--- src/crypto/external/bsd/heimdal/lib/libkrb5/Makefile:1.7	Wed Sep 11 23:04:09 2013
+++ src/crypto/external/bsd/heimdal/lib/libkrb5/Makefile	Thu Apr 24 13:50:53 2014
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.7 2013/09/11 23:04:09 joerg Exp $
+# $NetBSD: Makefile,v 1.8 2014/04/24 13:50:53 pettai Exp $
 
 USE_FORT?= yes	# network protocol library
 
@@ -532,7 +532,7 @@ heimdal.texi: vars.texi
 vars.texi: vars.tin
 	< ${HEIMDIST}/doc/vars.tin > $@			\
 	sed -e 's,[@]dbdir[@],/var/heimdal,g'		\
-	    -e 's,[@]PACKAGE_VERSION[@],1.5pre1,g'
+	    -e 's,[@]PACKAGE_VERSION[@],1.5.3,g'
 
 CLEANFILES+=	vars.texi
 

Reply via email to