From c7ce0e0c222e367534834f34323adc109345c114 Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Wed, 27 Aug 2014 14:48:22 -0700 Subject: Be more selective about turning off deprecation warnings. Only turn them off in the vicinity of those nasty cross-platform APIs. (This also checks in the generated Kerberos dissector, which we forgot to do in the last checkin.) Change-Id: I5dc9162ff64afe764e37866706590ed2ed965acb Reviewed-on: https://code.wireshark.org/review/3882 Reviewed-by: Guy Harris --- asn1/kerberos/packet-kerberos-template.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'asn1/kerberos/packet-kerberos-template.c') diff --git a/asn1/kerberos/packet-kerberos-template.c b/asn1/kerberos/packet-kerberos-template.c index 3254c0907e..076857388b 100644 --- a/asn1/kerberos/packet-kerberos-template.c +++ b/asn1/kerberos/packet-kerberos-template.c @@ -282,8 +282,6 @@ read_keytab_file(const char *filename _U_) static krb5_context krb5_ctx; -USES_APPLE_DEPRECATED_API - void read_keytab_file(const char *filename) { @@ -300,21 +298,27 @@ read_keytab_file(const char *filename) if(first_time){ first_time=FALSE; +USES_APPLE_DEPRECATED_API ret = krb5_init_context(&krb5_ctx); +USES_APPLE_RST if(ret && ret != KRB5_CONFIG_CANTOPEN){ return; } } /* should use a file in the wireshark users dir */ +USES_APPLE_DEPRECATED_API ret = krb5_kt_resolve(krb5_ctx, filename, &keytab); +USES_APPLE_RST if(ret){ fprintf(stderr, "KERBEROS ERROR: Badly formatted keytab filename :%s\n",filename); return; } +USES_APPLE_DEPRECATED_API ret = krb5_kt_start_seq_get(krb5_ctx, keytab, &cursor); +USES_APPLE_RST if(ret){ fprintf(stderr, "KERBEROS ERROR: Could not open or could not read from keytab file :%s\n",filename); return; @@ -324,7 +328,9 @@ read_keytab_file(const char *filename) new_key=(enc_key_t *)g_malloc(sizeof(enc_key_t)); new_key->fd_num = -1; new_key->next=enc_key_list; +USES_APPLE_DEPRECATED_API ret = krb5_kt_next_entry(krb5_ctx, keytab, &key, &cursor); +USES_APPLE_RST if(ret==0){ int i; char *pos; @@ -348,11 +354,12 @@ read_keytab_file(const char *filename) } }while(ret==0); +USES_APPLE_DEPRECATED_API ret = krb5_kt_end_seq_get(krb5_ctx, keytab, &cursor); if(ret){ krb5_kt_close(krb5_ctx, keytab); } - +USES_APPLE_RST } @@ -399,7 +406,9 @@ decrypt_krb5_data(proto_tree *tree _U_, packet_info *pinfo, key.key.enctype=ek->keytype; key.key.length=ek->keylength; key.key.contents=ek->keyvalue; +USES_APPLE_DEPRECATED_API ret = krb5_c_decrypt(krb5_ctx, &(key.key), usage, 0, &input, &data); +USES_APPLE_RST if(ret == 0){ char *user_data; @@ -420,8 +429,6 @@ decrypt_krb5_data(proto_tree *tree _U_, packet_info *pinfo, return NULL; } -USES_APPLE_RST - #elif defined(HAVE_HEIMDAL_KERBEROS) static krb5_context krb5_ctx; @@ -448,14 +455,18 @@ read_keytab_file(const char *filename) } /* should use a file in the wireshark users dir */ +USES_APPLE_DEPRECATED_API ret = krb5_kt_resolve(krb5_ctx, filename, &keytab); +USES_APPLE_RST if(ret){ fprintf(stderr, "KERBEROS ERROR: Could not open keytab file :%s\n",filename); return; } +USES_APPLE_DEPRECATED_API ret = krb5_kt_start_seq_get(krb5_ctx, keytab, &cursor); +USES_APPLE_RST if(ret){ fprintf(stderr, "KERBEROS ERROR: Could not read from keytab file :%s\n",filename); return; @@ -465,7 +476,9 @@ read_keytab_file(const char *filename) new_key=g_malloc(sizeof(enc_key_t)); new_key->fd_num = -1; new_key->next=enc_key_list; +USES_APPLE_DEPRECATED_API ret = krb5_kt_next_entry(krb5_ctx, keytab, &key, &cursor); +USES_APPLE_RST if(ret==0){ unsigned int i; char *pos; @@ -488,10 +501,12 @@ read_keytab_file(const char *filename) } }while(ret==0); +USES_APPLE_DEPRECATED_API ret = krb5_kt_end_seq_get(krb5_ctx, keytab, &cursor); if(ret){ krb5_kt_close(krb5_ctx, keytab); } +USES_APPLE_RST } -- cgit v1.2.3