diff options
-rw-r--r-- | asn1/kerberos/packet-kerberos-template.c | 25 | ||||
-rw-r--r-- | epan/dissectors/packet-kerberos.c | 35 |
2 files changed, 48 insertions, 12 deletions
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 } diff --git a/epan/dissectors/packet-kerberos.c b/epan/dissectors/packet-kerberos.c index bfaa6f3be2..01b92e8f21 100644 --- a/epan/dissectors/packet-kerberos.c +++ b/epan/dissectors/packet-kerberos.c @@ -89,6 +89,8 @@ #include <epan/dissectors/packet-gssapi.h> #include <epan/dissectors/packet-smb-common.h> +#include <wsutil/ws_diag_control.h> + void proto_register_kerberos(void); void proto_reg_handoff_kerberos(void); @@ -318,7 +320,7 @@ static int hf_kerberos_KDCOptions_renew = -1; static int hf_kerberos_KDCOptions_validate = -1; /*--- End of included file: packet-kerberos-hf.c ---*/ -#line 145 "../../asn1/kerberos/packet-kerberos-template.c" +#line 147 "../../asn1/kerberos/packet-kerberos-template.c" /* Initialize the subtree pointers */ static gint ett_kerberos = -1; @@ -382,7 +384,7 @@ static gint ett_kerberos_KERB_PA_PAC_REQUEST = -1; static gint ett_kerberos_ChangePasswdData = -1; /*--- End of included file: packet-kerberos-ett.c ---*/ -#line 151 "../../asn1/kerberos/packet-kerberos-template.c" +#line 153 "../../asn1/kerberos/packet-kerberos-template.c" static expert_field ei_kerberos_decrypted_keytype = EI_INIT; static expert_field ei_kerberos_address = EI_INIT; @@ -411,7 +413,7 @@ static gboolean gbl_do_col_info; #define KERBEROS_ADDR_TYPE_IPV6 24 /*--- End of included file: packet-kerberos-val.h ---*/ -#line 164 "../../asn1/kerberos/packet-kerberos-template.c" +#line 166 "../../asn1/kerberos/packet-kerberos-template.c" static void call_kerberos_callbacks(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int tag, kerberos_callbacks *cb) @@ -547,21 +549,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; @@ -571,7 +579,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; @@ -595,11 +605,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 } @@ -646,7 +657,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; @@ -693,14 +706,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; @@ -710,7 +727,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; @@ -733,10 +752,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 } @@ -3912,7 +3933,7 @@ dissect_kerberos_ChangePasswdData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, /*--- End of included file: packet-kerberos-fn.c ---*/ -#line 1655 "../../asn1/kerberos/packet-kerberos-template.c" +#line 1676 "../../asn1/kerberos/packet-kerberos-template.c" /* Make wrappers around exported functions for now */ int @@ -4866,7 +4887,7 @@ void proto_register_kerberos(void) { NULL, HFILL }}, /*--- End of included file: packet-kerberos-hfarr.c ---*/ -#line 1952 "../../asn1/kerberos/packet-kerberos-template.c" +#line 1973 "../../asn1/kerberos/packet-kerberos-template.c" }; /* List of subtrees */ @@ -4931,7 +4952,7 @@ void proto_register_kerberos(void) { &ett_kerberos_ChangePasswdData, /*--- End of included file: packet-kerberos-ettarr.c ---*/ -#line 1959 "../../asn1/kerberos/packet-kerberos-template.c" +#line 1980 "../../asn1/kerberos/packet-kerberos-template.c" }; static ei_register_info ei[] = { |