#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
+#include <string.h>
#include <gtk/gtk.h>
-#include <string.h>
-#include "decode_as_dlg.h"
-#include "dlg_utils.h"
-#include "globals.h"
-#include "simple_dialog.h"
#include <epan/packet.h>
-#include <epan/ipproto.h>
-#include "gui_utils.h"
#include <epan/epan_dissect.h>
-#include "compat_macros.h"
-#include "decode_as_dcerpc.h"
-
#include <epan/dissectors/packet-dcerpc.h>
+#include "../simple_dialog.h"
+
+#include "gtk/decode_as_dlg.h"
+#include "gtk/dlg_utils.h"
+#include "gtk/gui_utils.h"
+#include "gtk/decode_as_dcerpc.h"
+
/**************************************************/
/* Typedefs & Enums */
/**************************************************/
/* inject one of our bindings into the dcerpc binding table */
-static void
+static void
decode_dcerpc_inject_binding(gpointer data, gpointer user_data _U_)
{
dcerpc_add_conv_to_bind_table((decode_dcerpc_bind_values_t *) data);
/* inject all of our bindings into the dcerpc binding table */
-static void
+static void
decode_dcerpc_inject_bindings(gpointer data _U_) {
g_slist_foreach(decode_dcerpc_bindings, decode_dcerpc_inject_binding, NULL /* user_data */);
}
/* init this file */
-void
+void
decode_dcerpc_init(void) {
GHook* hook_init_proto;
/* free a binding */
-void
+void
decode_dcerpc_binding_free(void *binding_in)
{
decode_dcerpc_bind_values_t *binding = binding_in;
/* don't compare uuid and ver! */
- if(
+ if(
ADDRESSES_EQUAL(&binding_a->addr_a, &binding_b->addr_a) &&
ADDRESSES_EQUAL(&binding_a->addr_b, &binding_b->addr_b) &&
binding_a->ptype == binding_b->ptype &&
{
gchar string1[20];
-
+
decode_dcerpc_bind_values_t *binding = data;
g_snprintf(string1, sizeof(string1), "ctx_id: %u", binding->ctx_id);
decode_add_to_show_list (
- user_data,
- "DCE-RPC",
- string1,
- "-",
+ user_data,
+ "DCE-RPC",
+ string1,
+ "-",
binding->ifname->str);
}
decode_dcerpc_binding_free(binding);
decode_dcerpc_bindings = g_slist_remove(
- decode_dcerpc_bindings,
+ decode_dcerpc_bindings,
decode_dcerpc_bindings->data);
}
}
/* remove a binding (looking the same way as the given one) */
static void
decode_dcerpc_binding_reset(
-const gchar *table_name _U_,
+const gchar *table_name _U_,
decode_dcerpc_bind_values_t *binding)
{
GSList *le;
/* a binding has changed (remove a previously existing one) */
static void
decode_dcerpc_binding_change(
-const gchar *table_name,
+const gchar *table_name,
decode_dcerpc_bind_values_t *binding)
{
binding->ver = key->ver;
decode_dcerpc_binding_change(table_name, binding);
}
- if (abbrev != NULL)
- g_free(abbrev);
+ g_free(abbrev);
}
/*
* This routine is called when the user clicks the "OK" button in the
* "Decode As..." dialog window and the DCE-RPC page is foremost.
- * This routine takes care of making any changes requested to the DCE-RPC
+ * This routine takes care of making any changes requested to the DCE-RPC
* binding tables.
*
* @param notebook_pg A pointer to the "DCE-RPC" notebook page.
decode_dcerpc_bind_values_t *binding;
- list = OBJECT_GET_DATA(notebook_pg, E_PAGE_LIST);
+ list = g_object_get_data(G_OBJECT(notebook_pg), E_PAGE_LIST);
if (requested_action == E_DECODE_NO)
gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(list)));
- binding = OBJECT_GET_DATA(notebook_pg, E_PAGE_BINDING);
+ binding = g_object_get_data(G_OBJECT(notebook_pg), E_PAGE_BINDING);
- /*table_name = OBJECT_GET_DATA(notebook_pg, E_PAGE_TABLE);*/
+ /*table_name = g_object_get_data(G_OBJECT(notebook_pg), E_PAGE_TABLE);*/
table_name = "DCE-RPC";
decode_change_one_dcerpc_binding(table_name, binding, list);
}
/* add an interface to the list */
-static void
+static void
decode_dcerpc_add_to_list(gpointer key, gpointer value, gpointer user_data)
{
/*dcerpc_uuid_key *k = key;*/
/* create page content */
page_hb = gtk_hbox_new(FALSE, 5);
- OBJECT_SET_DATA(page_hb, E_PAGE_ACTION, decode_dcerpc);
- OBJECT_SET_DATA(page_hb, E_PAGE_TABLE, "DCE-RPC");
- OBJECT_SET_DATA(page_hb, E_PAGE_TITLE, "DCE-RPC");
- OBJECT_SET_DATA(page_hb, E_PAGE_BINDING, binding);
-
+ g_object_set_data(G_OBJECT(page_hb), E_PAGE_ACTION, decode_dcerpc);
+ g_object_set_data(G_OBJECT(page_hb), E_PAGE_TABLE, "DCE-RPC");
+ g_object_set_data(G_OBJECT(page_hb), E_PAGE_TITLE, "DCE-RPC");
+ g_object_set_data(G_OBJECT(page_hb), E_PAGE_BINDING, binding);
+
info_vb = gtk_vbox_new(FALSE, 5);
gtk_box_pack_start(GTK_BOX(page_hb), info_vb, TRUE, TRUE, 0);
switch(binding->ptype) {
case(PT_TCP):
- g_string_sprintf(gs2, "TCP port");
+ g_string_printf(gs2, "TCP port");
break;
case(PT_UDP):
- g_string_sprintf(gs2, "UDP port");
+ g_string_printf(gs2, "UDP port");
break;
default:
- g_string_sprintf(gs2, "Unknown port type");
+ g_string_printf(gs2, "Unknown port type");
}
/* XXX - how to print the address binding->addr_a? */
- g_string_sprintf(gs, "Address: ToBeDone %s: %u", gs2->str, binding->port_a);
+ g_string_printf(gs, "Address: ToBeDone %s: %u", gs2->str, binding->port_a);
label = gtk_label_new(gs->str);
gtk_box_pack_start(GTK_BOX(info_vb), label, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(info_vb), label, TRUE, TRUE, 0);
/* XXX - how to print the address binding->addr_b? */
- g_string_sprintf(gs, "Address: ToBeDone %s: %u", gs2->str, binding->port_b);
+ g_string_printf(gs, "Address: ToBeDone %s: %u", gs2->str, binding->port_b);
label = gtk_label_new(gs->str);
gtk_box_pack_start(GTK_BOX(info_vb), label, TRUE, TRUE, 0);
label = gtk_label_new("&");
gtk_box_pack_start(GTK_BOX(info_vb), label, TRUE, TRUE, 0);
- g_string_sprintf(gs, "Context ID: %u", binding->ctx_id);
+ g_string_printf(gs, "Context ID: %u", binding->ctx_id);
label = gtk_label_new(gs->str);
gtk_box_pack_start(GTK_BOX(info_vb), label, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(info_vb), label, TRUE, TRUE, 0);
gtk_widget_set_sensitive(label, binding->smb_fid);
- g_string_sprintf(gs, "SMB FID: %u", binding->smb_fid);
+ g_string_printf(gs, "SMB FID: %u", binding->smb_fid);
label = gtk_label_new(gs->str);
gtk_box_pack_start(GTK_BOX(info_vb), label, TRUE, TRUE, 0);
gtk_widget_set_sensitive(label, binding->smb_fid);