diff options
-rw-r--r-- | epan/dissectors/packet-xmpp-gtalk.c | 42 | ||||
-rw-r--r-- | epan/dissectors/packet-xmpp-gtalk.h | 1 | ||||
-rw-r--r-- | epan/dissectors/packet-xmpp-other.c | 9 | ||||
-rw-r--r-- | epan/dissectors/packet-xmpp-other.h | 3 | ||||
-rw-r--r-- | epan/dissectors/packet-xmpp-utils.c | 48 | ||||
-rw-r--r-- | epan/dissectors/packet-xmpp-utils.h | 18 | ||||
-rw-r--r-- | epan/dissectors/packet-xmpp.c | 22 | ||||
-rw-r--r-- | epan/dissectors/packet-xmpp.h | 11 |
8 files changed, 38 insertions, 116 deletions
diff --git a/epan/dissectors/packet-xmpp-gtalk.c b/epan/dissectors/packet-xmpp-gtalk.c index d6fa00b66e..2bdd8a24c9 100644 --- a/epan/dissectors/packet-xmpp-gtalk.c +++ b/epan/dissectors/packet-xmpp-gtalk.c @@ -29,7 +29,6 @@ static void xmpp_gtalk_jingleinfo_stun(proto_tree* tree, tvbuff_t* tvb, packet_i static void xmpp_gtalk_jingleinfo_server(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); static void xmpp_gtalk_jingleinfo_relay(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); static void xmpp_gtalk_jingleinfo_relay_serv(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); -static void xmpp_gtalk_nosave_item(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); static void xmpp_gtalk_mail_mail_info(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); static void xmpp_gtalk_mail_senders(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); static void xmpp_gtalk_mail_sender(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); @@ -310,47 +309,6 @@ xmpp_gtalk_usersetting(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp } void -xmpp_gtalk_nosave_query(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element) { - proto_item *query_item; - proto_tree *query_tree; - - xmpp_attr_info attrs_info[] = { - {"xmlns", &hf_xmpp_xmlns, TRUE, TRUE, NULL, NULL} - }; - - xmpp_elem_info elems_info [] = { - {NAME, "item", xmpp_gtalk_nosave_item, MANY}, - }; - - col_append_str(pinfo->cinfo, COL_INFO, "QUERY(google:nosave) "); - - query_item = proto_tree_add_item(tree, hf_xmpp_query, tvb, element->offset, element->length, - ENC_BIG_ENDIAN); - query_tree = proto_item_add_subtree(query_item, ett_xmpp_query); - - xmpp_display_attrs(query_tree, element, pinfo, tvb, attrs_info, array_length(attrs_info)); - xmpp_display_elems(query_tree, element, pinfo, tvb, elems_info, array_length(elems_info)); -} - -static void -xmpp_gtalk_nosave_item(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element) -{ - proto_tree *item_tree; - - xmpp_attr_info attrs_info[] = { - {"xmlns", &hf_xmpp_xmlns, TRUE, FALSE, NULL,NULL}, - {"jid", NULL, TRUE, TRUE, NULL, NULL}, - {"source", NULL, FALSE, TRUE, NULL, NULL}, - {"value", NULL, TRUE, TRUE, NULL, NULL} - }; - - item_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_query_item, NULL, "ITEM"); - - xmpp_display_attrs(item_tree, element, pinfo, tvb, attrs_info, array_length(attrs_info)); - xmpp_display_elems(item_tree, element, pinfo, tvb, NULL, 0); -} - -void xmpp_gtalk_nosave_x(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element) { proto_item *x_item; diff --git a/epan/dissectors/packet-xmpp-gtalk.h b/epan/dissectors/packet-xmpp-gtalk.h index 47d9c7538e..41a49d3beb 100644 --- a/epan/dissectors/packet-xmpp-gtalk.h +++ b/epan/dissectors/packet-xmpp-gtalk.h @@ -17,7 +17,6 @@ extern void xmpp_gtalk_session(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); extern void xmpp_gtalk_jingleinfo_query(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); extern void xmpp_gtalk_usersetting(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); -extern void xmpp_gtalk_nosave_query(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); extern void xmpp_gtalk_nosave_x(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); extern void xmpp_gtalk_mail_query(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); extern void xmpp_gtalk_mail_mailbox(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); diff --git a/epan/dissectors/packet-xmpp-other.c b/epan/dissectors/packet-xmpp-other.c index ba2204d69e..8b16969808 100644 --- a/epan/dissectors/packet-xmpp-other.c +++ b/epan/dissectors/packet-xmpp-other.c @@ -32,6 +32,8 @@ static void xmpp_bytestreams_udpsuccess(proto_tree *tree, tvbuff_t *tvb, packet_ static void xmpp_si_file(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); static void xmpp_si_file_range(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); +static void xmpp_x_data(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); + static void xmpp_x_data_field(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); static void xmpp_x_data_field_option(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); static void xmpp_x_data_field_value(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); @@ -47,6 +49,9 @@ static void xmpp_hashes_hash(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo static void xmpp_jitsi_inputevt_rmt_ctrl(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *element); +static void xmpp_feature_neg(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); + + void xmpp_iq_bind(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *element) { @@ -535,7 +540,7 @@ xmpp_si_file_range(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_ele } /*Feature Negotiation*/ -void +static void xmpp_feature_neg(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element) { proto_item *feature_item; @@ -562,7 +567,7 @@ xmpp_feature_neg(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_eleme /*jabber:x:data*/ -void +static void xmpp_x_data(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element) { proto_item *x_item; diff --git a/epan/dissectors/packet-xmpp-other.h b/epan/dissectors/packet-xmpp-other.h index a2d68c4e52..b30dc61c35 100644 --- a/epan/dissectors/packet-xmpp-other.h +++ b/epan/dissectors/packet-xmpp-other.h @@ -25,9 +25,6 @@ extern void xmpp_bytestreams_query(proto_tree *tree, tvbuff_t *tvb, packet_info extern void xmpp_si(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); -extern void xmpp_feature_neg(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); -extern void xmpp_x_data(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element); - extern void xmpp_ibb_open(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *element); extern void xmpp_ibb_close(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *element); extern void xmpp_ibb_data(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *element); diff --git a/epan/dissectors/packet-xmpp-utils.c b/epan/dissectors/packet-xmpp-utils.c index cc2c579f4c..08687dfb06 100644 --- a/epan/dissectors/packet-xmpp-utils.c +++ b/epan/dissectors/packet-xmpp-utils.c @@ -19,6 +19,22 @@ #include "packet-xmpp-core.h" #include "packet-xmpp-utils.h" +static void +xmpp_copy_hash_table_func(gpointer key, gpointer value, gpointer user_data) +{ + GHashTable *dst = (GHashTable *)user_data; + g_hash_table_insert(dst, key, value); +} + +static void xmpp_copy_hash_table(GHashTable *src, GHashTable *dst) +{ + g_hash_table_foreach(src, xmpp_copy_hash_table_func, dst); +} + +static GList* xmpp_find_element_by_name(xmpp_element_t *packet,const gchar *name); +static gchar* xmpp_ep_string_upcase(const gchar* string); +static void xmpp_unknown_attrs(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, xmpp_element_t *element, gboolean displ_short_list); + void xmpp_iq_reqresp_track(packet_info *pinfo, xmpp_element_t *packet, xmpp_conv_info_t *xmpp_info) @@ -236,7 +252,7 @@ xmpp_unknown(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t } } -void +static void xmpp_unknown_attrs(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, xmpp_element_t *element, gboolean displ_short_list) { proto_item *item = proto_tree_get_parent(tree); @@ -347,7 +363,7 @@ xmpp_ep_init_attr_t(const gchar *value, gint offset, gint length) return result; } -gchar* +static gchar* xmpp_ep_string_upcase(const gchar* string) { gint len = (int)strlen(string); @@ -364,7 +380,7 @@ xmpp_ep_string_upcase(const gchar* string) return result; } -gint +static gint xmpp_element_t_cmp(gconstpointer a, gconstpointer b) { gint result = strcmp(((const xmpp_element_t*)a)->name,((const xmpp_element_t*)b)->name); @@ -375,7 +391,7 @@ xmpp_element_t_cmp(gconstpointer a, gconstpointer b) return result; } -GList* +static GList* xmpp_find_element_by_name(xmpp_element_t *packet,const gchar *name) { GList *found_elements; @@ -705,18 +721,6 @@ xmpp_element_to_string(tvbuff_t *tvb, xmpp_element_t *element) return buff; } -gchar* -xmpp_attr_to_string(tvbuff_t *tvb, xmpp_attr_t *attr) -{ - gchar *buff = NULL; - - if(tvb_offset_exists(tvb, attr->offset + attr->length-1)) - { - buff = tvb_get_string_enc(wmem_packet_scope(), tvb, attr->offset, attr->length, ENC_ASCII); - } - return buff; -} - static void children_foreach_hide_func(proto_node *node, gpointer data) { @@ -1032,18 +1036,6 @@ xmpp_transform_func_cdata(xmpp_element_t *elem) return result; } -static void -xmpp_copy_hash_table_func(gpointer key, gpointer value, gpointer user_data) -{ - GHashTable *dst = (GHashTable *)user_data; - g_hash_table_insert(dst, key, value); -} - -void xmpp_copy_hash_table(GHashTable *src, GHashTable *dst) -{ - g_hash_table_foreach(src, xmpp_copy_hash_table_func, dst); -} - #if 0 static void printf_hash_table_func(gpointer key, gpointer value, gpointer user_data _U_) diff --git a/epan/dissectors/packet-xmpp-utils.h b/epan/dissectors/packet-xmpp-utils.h index 07a823d978..66359125f3 100644 --- a/epan/dissectors/packet-xmpp-utils.h +++ b/epan/dissectors/packet-xmpp-utils.h @@ -144,8 +144,6 @@ extern void xmpp_gtalk_session_track(packet_info *pinfo, xmpp_element_t *packet, */ extern void xmpp_unknown(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *element); -extern void xmpp_unknown_attrs(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *element, gboolean displ_short_list); - /** Displays CDATA from element in tree. You can use your own header field hf or * pass -1. If you pass -1 then CDATA will be display as text: * ELEMENT_NAME: CDATA @@ -173,15 +171,6 @@ extern xmpp_array_t* xmpp_ep_init_array_t(const gchar** array, gint len); /*Allocs ephemeral memory for xmpp_attr_t struct*/ extern xmpp_attr_t* xmpp_ep_init_attr_t(const gchar *value, gint offset, gint length); -/*Allocs ephemeral memory for upcased string*/ -extern gchar* xmpp_ep_string_upcase(const gchar* string); - -/*Compares 2 xmpp_element_t struct by names. Returns value is similar to the returned by strcmp*/ -extern gint xmpp_element_t_cmp(gconstpointer a, gconstpointer b); - -/*Searches child element in parent element by name. GList element is returned.*/ -extern GList* xmpp_find_element_by_name(xmpp_element_t *packet,const gchar *name); - /** steal_* * Functions searches and marks as read found elements. * If element is set as read, it is invisible for these functions.*/ @@ -197,9 +186,6 @@ extern xmpp_element_t* xmpp_get_first_element(xmpp_element_t *packet); /*Converts element to string. Returns memory allocated as ephemeral.*/ extern gchar* xmpp_element_to_string(tvbuff_t *tvb, xmpp_element_t *element); -/*Converts attribute to string. Returns memory allocated as ephemeral.*/ -extern gchar* xmpp_attr_to_string(tvbuff_t *tvb, xmpp_attr_t *attr); - /* Returns attribute by name and set as read. If attrib is set as read, it may be found * one more time, but it is invisible for function xmpp_unknown_attrib*/ extern xmpp_attr_t* xmpp_get_attr(xmpp_element_t *element, const gchar* attr_name); @@ -262,8 +248,4 @@ extern void xmpp_change_elem_to_attrib(const gchar *elem_name, const gchar *attr */ extern xmpp_attr_t* xmpp_transform_func_cdata(xmpp_element_t *elem); -/*Copys keys and values from one hash table to another. - Hash tables must be initialized.*/ -extern void xmpp_copy_hash_table(GHashTable *src, GHashTable *dst); - #endif /* XMPP_UTILS_H */ diff --git a/epan/dissectors/packet-xmpp.c b/epan/dissectors/packet-xmpp.c index d91cd09441..4e70167c60 100644 --- a/epan/dissectors/packet-xmpp.c +++ b/epan/dissectors/packet-xmpp.c @@ -56,7 +56,7 @@ gint hf_xmpp_query_identity = -1; gint hf_xmpp_query_identity_category = -1; gint hf_xmpp_query_identity_type = -1; gint hf_xmpp_query_identity_name = -1; -gint hf_xmpp_query_identity_lang = -1; +static gint hf_xmpp_query_identity_lang = -1; gint hf_xmpp_query_feature = -1; @@ -208,8 +208,8 @@ gint hf_xmpp_conf_info_sid = -1; gint hf_xmpp_unknown = -1; gint hf_xmpp_unknown_attr = -1; -gint hf_xmpp_out = -1; -gint hf_xmpp_in = -1; +static gint hf_xmpp_out = -1; +static gint hf_xmpp_in = -1; gint hf_xmpp_response_in = -1; gint hf_xmpp_response_to = -1; gint hf_xmpp_jingle_session = -1; @@ -221,18 +221,18 @@ gint hf_xmpp_hashes = -1; gint hf_xmpp_jitsi_inputevt = -1; gint hf_xmpp_jitsi_inputevt_rmt_ctrl = -1; -gint ett_xmpp = -1; +static gint ett_xmpp = -1; gint ett_xmpp_iq = -1; gint ett_xmpp_query = -1; gint ett_xmpp_query_item = -1; gint ett_xmpp_query_identity = -1; -gint ett_xmpp_query_feature = -1; +static gint ett_xmpp_query_feature = -1; gint ett_xmpp_query_streamhost = -1; gint ett_xmpp_query_streamhost_used = -1; gint ett_xmpp_query_udpsuccess = -1; -gint ett_xmpp_iq_error = -1; +static gint ett_xmpp_iq_error = -1; gint ett_xmpp_iq_bind = -1; gint ett_xmpp_iq_session = -1; gint ett_xmpp_vcard = -1; @@ -292,9 +292,9 @@ gint ett_xmpp_presence_status = -1; gint ett_xmpp_presence_caps = -1; gint ett_xmpp_auth = -1; -gint ett_xmpp_challenge = -1; -gint ett_xmpp_response = -1; -gint ett_xmpp_success = -1; +static gint ett_xmpp_challenge = -1; +static gint ett_xmpp_response = -1; +static gint ett_xmpp_success = -1; gint ett_xmpp_failure = -1; gint ett_xmpp_stream = -1; gint ett_xmpp_features = -1; @@ -348,8 +348,8 @@ static expert_field ei_xmpp_xml_disabled = EI_INIT; static expert_field ei_xmpp_packet_unknown = EI_INIT; expert_field ei_xmpp_starttls_missing = EI_INIT; expert_field ei_xmpp_response = EI_INIT; -expert_field ei_xmpp_challenge = EI_INIT; -expert_field ei_xmpp_success = EI_INIT; +static expert_field ei_xmpp_challenge = EI_INIT; +static expert_field ei_xmpp_success = EI_INIT; expert_field ei_xmpp_proceed_already_in_frame = EI_INIT; expert_field ei_xmpp_starttls_already_in_frame = EI_INIT; expert_field ei_xmpp_packet_without_response = EI_INIT; diff --git a/epan/dissectors/packet-xmpp.h b/epan/dissectors/packet-xmpp.h index f6153b0cf2..82b7897f4d 100644 --- a/epan/dissectors/packet-xmpp.h +++ b/epan/dissectors/packet-xmpp.h @@ -47,7 +47,6 @@ extern gint hf_xmpp_query_identity; extern gint hf_xmpp_query_identity_category; extern gint hf_xmpp_query_identity_type; extern gint hf_xmpp_query_identity_name; -extern gint hf_xmpp_query_identity_lang; extern gint hf_xmpp_query_feature; @@ -201,8 +200,6 @@ extern gint hf_xmpp_conf_info_sid; extern gint hf_xmpp_unknown; extern gint hf_xmpp_unknown_attr; -extern gint hf_xmpp_out; -extern gint hf_xmpp_in; extern gint hf_xmpp_response_in; extern gint hf_xmpp_response_to; extern gint hf_xmpp_jingle_session; @@ -214,18 +211,15 @@ extern gint hf_xmpp_hashes; extern gint hf_xmpp_jitsi_inputevt; extern gint hf_xmpp_jitsi_inputevt_rmt_ctrl; -extern gint ett_xmpp; extern gint ett_xmpp_iq; extern gint ett_xmpp_query; extern gint ett_xmpp_query_item; extern gint ett_xmpp_query_identity; -extern gint ett_xmpp_query_feature; extern gint ett_xmpp_query_streamhost; extern gint ett_xmpp_query_streamhost_used; extern gint ett_xmpp_query_udpsuccess; -extern gint ett_xmpp_iq_error; extern gint ett_xmpp_iq_bind; extern gint ett_xmpp_iq_session; extern gint ett_xmpp_vcard; @@ -284,9 +278,6 @@ extern gint ett_xmpp_presence_status; extern gint ett_xmpp_presence_caps; extern gint ett_xmpp_auth; -extern gint ett_xmpp_challenge; -extern gint ett_xmpp_response; -extern gint ett_xmpp_success; extern gint ett_xmpp_failure; extern gint ett_xmpp_stream; extern gint ett_xmpp_features; @@ -339,8 +330,6 @@ extern gint ett_unknown[ETT_UNKNOWN_LEN]; extern expert_field ei_xmpp_starttls_missing; extern expert_field ei_xmpp_response; -extern expert_field ei_xmpp_challenge; -extern expert_field ei_xmpp_success; extern expert_field ei_xmpp_proceed_already_in_frame; extern expert_field ei_xmpp_starttls_already_in_frame; extern expert_field ei_xmpp_packet_without_response; |