diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2013-05-16 22:23:16 +0000 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2013-05-16 22:23:16 +0000 |
commit | c3836c576e53df00206e15366c59cedc1cb6625a (patch) | |
tree | 1572155b6ce5e9e91c3c962a723002a532f403c7 /asn1/kerberos | |
parent | 5e1da6c1a6ddd0ff6bf6792f27596e64788088ca (diff) |
Fix link failure with Windows
svn path=/trunk/; revision=49349
Diffstat (limited to 'asn1/kerberos')
-rw-r--r-- | asn1/kerberos/kerberos.cnf | 21 | ||||
-rw-r--r-- | asn1/kerberos/packet-kerberos-template.c | 19 | ||||
-rw-r--r-- | asn1/kerberos/packet-kerberos-template.h | 2 |
3 files changed, 23 insertions, 19 deletions
diff --git a/asn1/kerberos/kerberos.cnf b/asn1/kerberos/kerberos.cnf index 4fabb08637..a402a4638a 100644 --- a/asn1/kerberos/kerberos.cnf +++ b/asn1/kerberos/kerberos.cnf @@ -59,24 +59,28 @@ TYPED-DATA guint32 msgtype; %(DEFAULT_BODY)s + +#.FN_FTR MESSAGE-TYPE if (gbl_do_col_info) { col_add_str(actx->pinfo->cinfo, COL_INFO, val_to_str(msgtype, krb5_msg_types, - "Unknown msg type %%#x")); + "Unknown msg type %#x")); } gbl_do_col_info=FALSE; /* append the application type to the tree */ - proto_item_append_text(tree, " %%s", val_to_str(msgtype, krb5_msg_types, "Unknown:0x%%x")); + proto_item_append_text(tree, " %s", val_to_str(msgtype, krb5_msg_types, "Unknown:0x%x")); #.FN_BODY ERROR-CODE VAL_PTR = &krb5_errorcode %(DEFAULT_BODY)s + +#.FN_FTR ERROR-CODE if(krb5_errorcode) { col_add_fstr(actx->pinfo->cinfo, COL_INFO, - "KRB Error: %%s", + "KRB Error: %s", val_to_str(krb5_errorcode, krb5_error_codes, - "Unknown error code %%#x")); + "Unknown error code %#x")); } return offset; @@ -114,9 +118,9 @@ guint32 msgtype; (guint32*)actx->value_ptr); if(tree){ - proto_item_append_text(tree, " %%s", + proto_item_append_text(tree, " %s", val_to_str(*((guint32*)actx->value_ptr), krb5_preauthentication_types, - "Unknown:%%d")); + "Unknown:%d")); } #.FN_BODY PA-DATA/padata-value @@ -315,7 +319,8 @@ guint32 msgtype; actx->value_ptr = key; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, - &(key->keytype)); + &keytype); + key->keytype = keytype; #.FN_BODY EncryptionKey/keyvalue kerberos_key_t* key = (kerberos_key_t*)actx->value_ptr; @@ -333,7 +338,9 @@ guint32 msgtype; %(DEFAULT_BODY)s if (key != NULL) { +/**/#ifdef HAVE_KERBEROS add_encryption_key(actx->pinfo, key->keytype, key->keylength, key->keyvalue, "key"); +/**/#endif } #.FN_BODY AuthorizationData/_item/ad-type diff --git a/asn1/kerberos/packet-kerberos-template.c b/asn1/kerberos/packet-kerberos-template.c index 7cf64ac4bd..6a4c02927a 100644 --- a/asn1/kerberos/packet-kerberos-template.c +++ b/asn1/kerberos/packet-kerberos-template.c @@ -153,14 +153,13 @@ static gint ett_krb_recordmark = -1; #include "packet-kerberos-ett.c" -static guint32 krb5_errorcode; - - static dissector_handle_t krb4_handle=NULL; +/* Global variables */ +static guint32 krb5_errorcode; +static guint32 keytype; static gboolean gbl_do_col_info; - static void call_kerberos_callbacks(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int tag) { @@ -749,12 +748,6 @@ g_warning("woohoo decrypted keytype:%d in frame:%u\n", keytype, pinfo->fd->num); g_free(decrypted_data); return NULL; } -#else -/* Make an empty function if none of the decryption algorithms are defined */ -static void -add_encryption_key(packet_info *pinfo _U_, int keytype _U_, int keylength _U_, const char *keyvalue _U_, const char *origin _U_) -{ -} #endif /* HAVE_MIT_KERBEROS / HAVE_HEIMDAL_KERBEROS / HAVE_LIBNETTLE */ @@ -1845,6 +1838,12 @@ dissect_kerberos_main(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int d return (dissect_kerberos_common(tvb, pinfo, tree, do_col_info, FALSE, FALSE, cb)); } +guint32 +kerberos_output_keytype(void) +{ + return keytype; +} + static gint dissect_kerberos_udp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { diff --git a/asn1/kerberos/packet-kerberos-template.h b/asn1/kerberos/packet-kerberos-template.h index e8d1540408..01ced66b26 100644 --- a/asn1/kerberos/packet-kerberos-template.h +++ b/asn1/kerberos/packet-kerberos-template.h @@ -48,8 +48,6 @@ typedef struct _kerberos_callbacks { gint dissect_kerberos_main(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean do_col_info, kerberos_callbacks *cb); -#include "packet-kerberos-exp.h" - int dissect_krb5_Checksum(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_); |