From aa0dff680d2ea351a0a21cb86a51cd99887237c4 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sat, 1 Oct 2005 09:43:53 +0000 Subject: r10671: Attempt to fix the build on machines without kerberos headers. Volker (This used to be commit cb816e65a95802d5172c410d1acda2da070b871d) --- source3/include/includes.h | 38 ++++++++++++++++++++++++++++++++++++++ source3/libads/authdata.c | 2 +- source3/libsmb/clikrb5.c | 18 +++++++++--------- 3 files changed, 48 insertions(+), 10 deletions(-) diff --git a/source3/include/includes.h b/source3/include/includes.h index 74156c6a6d..2f04e27a2a 100644 --- a/source3/include/includes.h +++ b/source3/include/includes.h @@ -1451,6 +1451,44 @@ krb5_principal kerberos_fetch_salt_princ_for_host_princ(krb5_context context, kr void kerberos_set_creds_enctype(krb5_creds *pcreds, int enctype); BOOL kerberos_compatible_enctypes(krb5_context context, krb5_enctype enctype1, krb5_enctype enctype2); void kerberos_free_data_contents(krb5_context context, krb5_data *pdata); +NTSTATUS decode_pac_data(TALLOC_CTX *mem_ctx, + DATA_BLOB *pac_data_blob, + krb5_context context, + krb5_keyblock *service_keyblock, + krb5_const_principal client_principal, + time_t tgs_authtime, + PAC_DATA **pac_data); +void smb_krb5_checksum_from_pac_sig(krb5_checksum *cksum, + PAC_SIGNATURE_DATA *sig); +krb5_error_code smb_krb5_verify_checksum(krb5_context context, + krb5_keyblock *keyblock, + krb5_keyusage usage, + krb5_checksum *cksum, + uint8 *data, + size_t length); +time_t get_authtime_from_tkt(krb5_ticket *tkt); +void smb_krb5_free_ap_req(krb5_context context, + krb5_ap_req *ap_req); +krb5_error_code smb_krb5_get_keyinfo_from_ap_req(krb5_context context, + const krb5_data *inbuf, + krb5_kvno *kvno, + krb5_enctype *enctype); +krb5_error_code krb5_rd_req_return_keyblock_from_keytab(krb5_context context, + krb5_auth_context *auth_context, + const krb5_data *inbuf, + krb5_const_principal server, + krb5_keytab keytab, + krb5_flags *ap_req_options, + krb5_ticket **ticket, + krb5_keyblock **keyblock); +krb5_error_code smb_krb5_parse_name_norealm(krb5_context context, + const char *name, + krb5_principal *principal); +BOOL smb_krb5_principal_compare_any_realm(krb5_context context, + krb5_const_principal princ1, + krb5_const_principal princ2); +int cli_krb5_get_ticket(const char *principal, time_t time_offset, + DATA_BLOB *ticket, DATA_BLOB *session_key_krb5, uint32 extra_ap_opts); #endif /* HAVE_KRB5 */ diff --git a/source3/libads/authdata.c b/source3/libads/authdata.c index 2e7866c055..d28376c775 100644 --- a/source3/libads/authdata.c +++ b/source3/libads/authdata.c @@ -763,7 +763,7 @@ static void dump_pac_logon_info(PAC_LOGON_INFO *logon_info) { } } -NTSTATUS decode_pac_data(TALLOC_CTX *mem_ctx, + NTSTATUS decode_pac_data(TALLOC_CTX *mem_ctx, DATA_BLOB *pac_data_blob, krb5_context context, krb5_keyblock *service_keyblock, diff --git a/source3/libsmb/clikrb5.c b/source3/libsmb/clikrb5.c index e3ad5f17cb..df5ad867da 100644 --- a/source3/libsmb/clikrb5.c +++ b/source3/libsmb/clikrb5.c @@ -642,7 +642,7 @@ failed: #endif } -void smb_krb5_checksum_from_pac_sig(krb5_checksum *cksum, + void smb_krb5_checksum_from_pac_sig(krb5_checksum *cksum, PAC_SIGNATURE_DATA *sig) { #ifdef HAVE_CHECKSUM_IN_KRB5_CHECKSUM @@ -656,7 +656,7 @@ void smb_krb5_checksum_from_pac_sig(krb5_checksum *cksum, #endif } -krb5_error_code smb_krb5_verify_checksum(krb5_context context, + krb5_error_code smb_krb5_verify_checksum(krb5_context context, krb5_keyblock *keyblock, krb5_keyusage usage, krb5_checksum *cksum, @@ -728,7 +728,7 @@ krb5_error_code smb_krb5_verify_checksum(krb5_context context, return ret; } -time_t get_authtime_from_tkt(krb5_ticket *tkt) + time_t get_authtime_from_tkt(krb5_ticket *tkt) { #if defined(HAVE_KRB5_TKT_ENC_PART2) return tkt->enc_part2->times.authtime; @@ -819,7 +819,7 @@ out: return ret; } -void smb_krb5_free_ap_req(krb5_context context, + void smb_krb5_free_ap_req(krb5_context context, krb5_ap_req *ap_req) { #ifdef HAVE_KRB5_FREE_AP_REQ /* MIT */ @@ -836,7 +836,7 @@ void smb_krb5_free_ap_req(krb5_context context, krb5_error_code decode_krb5_ap_req(const krb5_data *code, krb5_ap_req **rep); #endif -krb5_error_code smb_krb5_get_keyinfo_from_ap_req(krb5_context context, + krb5_error_code smb_krb5_get_keyinfo_from_ap_req(krb5_context context, const krb5_data *inbuf, krb5_kvno *kvno, krb5_enctype *enctype) @@ -874,7 +874,7 @@ krb5_error_code smb_krb5_get_keyinfo_from_ap_req(krb5_context context, return ret; } -krb5_error_code krb5_rd_req_return_keyblock_from_keytab(krb5_context context, + krb5_error_code krb5_rd_req_return_keyblock_from_keytab(krb5_context context, krb5_auth_context *auth_context, const krb5_data *inbuf, krb5_const_principal server, @@ -930,7 +930,7 @@ out: return ret; } -krb5_error_code smb_krb5_parse_name_norealm(krb5_context context, + krb5_error_code smb_krb5_parse_name_norealm(krb5_context context, const char *name, krb5_principal *principal) { @@ -946,7 +946,7 @@ krb5_error_code smb_krb5_parse_name_norealm(krb5_context context, return krb5_parse_name(context, name, principal); } -BOOL smb_krb5_principal_compare_any_realm(krb5_context context, + BOOL smb_krb5_principal_compare_any_realm(krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2) { @@ -983,7 +983,7 @@ BOOL smb_krb5_principal_compare_any_realm(krb5_context context, #else /* HAVE_KRB5 */ /* this saves a few linking headaches */ -int cli_krb5_get_ticket(const char *principal, time_t time_offset, + int cli_krb5_get_ticket(const char *principal, time_t time_offset, DATA_BLOB *ticket, DATA_BLOB *session_key_krb5, uint32 extra_ap_opts) { DEBUG(0,("NO KERBEROS SUPPORT\n")); -- cgit