(Trivial) Use enum definitions instead of numbers in a switch statement;

Whitespace cleanup.

svn path=/trunk/; revision=33622
This commit is contained in:
Bill Meier 2010-07-23 14:01:47 +00:00
parent 99a086051b
commit 59f8f254a3
1 changed files with 212 additions and 212 deletions

View File

@ -87,7 +87,7 @@ ct_port_to_str(int port_type_val, guint32 port)
case PT_NCP:
i = (i+1)%4;
bp = &strp[11];
*bp = 0;
do {
*--bp = (port % 10) +'0';
@ -97,12 +97,12 @@ ct_port_to_str(int port_type_val, guint32 port)
return NULL;
}
#define FN_SRC_ADDRESS 0
#define FN_DST_ADDRESS 1
#define FN_ANY_ADDRESS 2
#define FN_SRC_PORT 3
#define FN_DST_PORT 4
#define FN_ANY_PORT 5
#define FN_SRC_ADDRESS 0
#define FN_DST_ADDRESS 1
#define FN_ANY_ADDRESS 2
#define FN_SRC_PORT 3
#define FN_DST_PORT 4
#define FN_ANY_PORT 5
/* given an address (to distinguish between ipv4 and ipv6 for tcp/udp),
a port_type and a name_type (FN_...)
return a string for the filter name.
@ -361,7 +361,7 @@ ct_win_destroy_cb(GtkWindow *win _U_, gpointer data)
g_free(conversations);
}
enum
enum
{
SRC_ADR_COLUMN,
SRC_PORT_COLUMN,
@ -380,12 +380,12 @@ enum
INDEX_COLUMN,
N_COLUMNS
};
static gint
ct_sort_func(GtkTreeModel *model,
GtkTreeIter *a,
GtkTreeIter *b,
gpointer user_data)
GtkTreeIter *a,
GtkTreeIter *b,
gpointer user_data)
{
guint32 idx1, idx2;
/* The col to get data from is in userdata */
@ -402,8 +402,8 @@ ct_sort_func(GtkTreeModel *model,
if (!ct || idx1 >= ct->num_conversations || idx2 >= ct->num_conversations)
return 0;
conv1 = &g_array_index(ct->conversations, conv_t, idx1);
conv2 = &g_array_index(ct->conversations, conv_t, idx2);
conv1 = &g_array_index(ct->conversations, conv_t, idx1);
conv2 = &g_array_index(ct->conversations, conv_t, idx2);
switch(data_column){
@ -421,7 +421,7 @@ ct_sort_func(GtkTreeModel *model,
duration1 = nstime_to_sec(&conv1->stop_time) - nstime_to_sec(&conv1->start_time);
duration2 = nstime_to_sec(&conv2->stop_time) - nstime_to_sec(&conv2->start_time);
switch(data_column){
case DURATION_COLUMN: /* Duration */
CMP_NUM(duration1, duration2);
@ -445,15 +445,15 @@ ct_sort_func(GtkTreeModel *model,
}
/* Filter direction */
#define DIR_A_TO_FROM_B 0
#define DIR_A_TO_B 1
#define DIR_A_FROM_B 2
#define DIR_A_TO_FROM_ANY 3
#define DIR_A_TO_ANY 4
#define DIR_A_FROM_ANY 5
#define DIR_ANY_TO_FROM_B 6
#define DIR_ANY_FROM_B 7
#define DIR_ANY_TO_B 8
#define DIR_A_TO_FROM_B 0
#define DIR_A_TO_B 1
#define DIR_A_FROM_B 2
#define DIR_A_TO_FROM_ANY 3
#define DIR_A_TO_ANY 4
#define DIR_A_FROM_ANY 5
#define DIR_ANY_TO_FROM_B 6
#define DIR_ANY_FROM_B 7
#define DIR_ANY_TO_B 8
static void
ct_select_filter_cb(GtkWidget *widget _U_, gpointer callback_data, guint callback_action)
@ -474,8 +474,8 @@ ct_select_filter_cb(GtkWidget *widget _U_, gpointer callback_data, guint callbac
if (!gtk_tree_selection_get_selected(sel, &model, &iter))
return;
gtk_tree_model_get (model, &iter,
INDEX_COLUMN, &idx,
gtk_tree_model_get (model, &iter,
INDEX_COLUMN, &idx,
-1);
if(idx>= ct->num_conversations){
@ -1032,24 +1032,24 @@ draw_ct_table_addresses(conversations_table *ct)
if (!ct->num_conversations)
return;
store = GTK_LIST_STORE(gtk_tree_view_get_model(ct->table));
store = GTK_LIST_STORE(gtk_tree_view_get_model(ct->table));
g_object_ref(store);
gtk_tree_view_set_model(GTK_TREE_VIEW(ct->table), NULL);
for(i=0;i<ct->num_conversations;i++){
conv_t *conv = &g_array_index(ct->conversations, conv_t, i);
if (!conv->iter_valid)
if (!conv->iter_valid)
continue;
get_ct_table_address(ct, conv, entries);
gtk_list_store_set (store, &conv->iter,
SRC_ADR_COLUMN, entries[0],
SRC_ADR_COLUMN, entries[0],
SRC_PORT_COLUMN, entries[1],
DST_ADR_COLUMN, entries[2],
DST_ADR_COLUMN, entries[2],
DST_PORT_COLUMN, entries[3],
-1);
}
gtk_tree_view_set_model(GTK_TREE_VIEW(ct->table), GTK_TREE_MODEL(store));
g_object_unref(store);
}
@ -1078,8 +1078,8 @@ draw_ct_table_data(conversations_table *ct)
}
gtk_label_set_text(GTK_LABEL(ct->name_lb), title);
}
store = GTK_LIST_STORE(gtk_tree_view_get_model(ct->table));
store = GTK_LIST_STORE(gtk_tree_view_get_model(ct->table));
for(i=0;i<ct->num_conversations;i++){
char start_time[COL_STR_LEN], duration[COL_STR_LEN],
@ -1090,7 +1090,7 @@ draw_ct_table_data(conversations_table *ct)
if (!conversation->modified)
continue;
if (first) {
g_object_ref(store);
gtk_tree_view_set_model(GTK_TREE_VIEW(ct->table), NULL);
@ -1116,15 +1116,15 @@ draw_ct_table_data(conversations_table *ct)
conversation->modified = FALSE;
if (!conversation->iter_valid) {
char *entries[4];
get_ct_table_address(ct, conversation, entries);
conversation->iter_valid = TRUE;
#if GTK_CHECK_VERSION(2,6,0)
gtk_list_store_insert_with_values( store , &conversation->iter, G_MAXINT,
gtk_list_store_insert_with_values( store , &conversation->iter, G_MAXINT,
#else
gtk_list_store_append(store, &conversation->iter);
gtk_list_store_set (store, &conversation->iter,
#endif
#endif
SRC_ADR_COLUMN, entries[0],
SRC_PORT_COLUMN, entries[1],
DST_ADR_COLUMN, entries[2],
@ -1158,18 +1158,18 @@ draw_ct_table_data(conversations_table *ct)
}
}
if (!first) {
if (!ct->fixed_col && ct->num_conversations >= 1000) {
/* finding the right size for a column isn't easy
* let it run in autosize a little (1000 is arbitrary)
* and then switch to fixed width.
*/
ct->fixed_col = TRUE;
if (!ct->fixed_col && ct->num_conversations >= 1000) {
/* finding the right size for a column isn't easy
* let it run in autosize a little (1000 is arbitrary)
* and then switch to fixed width.
*/
ct->fixed_col = TRUE;
switch_to_fixed_col(ct->table);
}
switch_to_fixed_col(ct->table);
}
gtk_tree_view_set_model(GTK_TREE_VIEW(ct->table), GTK_TREE_MODEL(store));
g_object_unref(store);
gtk_tree_view_set_model(GTK_TREE_VIEW(ct->table), GTK_TREE_MODEL(store));
g_object_unref(store);
}
}
@ -1180,9 +1180,9 @@ draw_ct_table_data_cb(void *arg)
}
typedef struct {
int nb_cols;
gint columns_order[N_COLUMNS];
GString *CSV_str;
int nb_cols;
gint columns_order[N_COLUMNS];
GString *CSV_str;
conversations_table *talkers;
} csv_t;
@ -1191,81 +1191,81 @@ static gboolean
csv_handle(GtkTreeModel *model, GtkTreePath *path _U_, GtkTreeIter *iter,
gpointer data)
{
csv_t *csv = (csv_t *)data;
gchar *table_text;
int i;
unsigned idx;
conv_t *conv;
double duration_s;
guint64 value;
csv_t *csv = (csv_t *)data;
gchar *table_text;
int i;
unsigned idx;
conv_t *conv;
double duration_s;
guint64 value;
gtk_tree_model_get(model, iter, INDEX_COLUMN, &idx, -1);
conv=&g_array_index(csv->talkers->conversations, conv_t, idx);
duration_s = nstime_to_sec(&conv->stop_time) - nstime_to_sec(&conv->start_time);
gtk_tree_model_get(model, iter, INDEX_COLUMN, &idx, -1);
conv=&g_array_index(csv->talkers->conversations, conv_t, idx);
duration_s = nstime_to_sec(&conv->stop_time) - nstime_to_sec(&conv->start_time);
for (i=0; i< csv->nb_cols; i++) {
if (i)
g_string_append(csv->CSV_str, ",");
for (i=0; i< csv->nb_cols; i++) {
if (i)
g_string_append(csv->CSV_str, ",");
switch(csv->columns_order[i]) {
case SRC_ADR_COLUMN:
case SRC_PORT_COLUMN:
case DST_ADR_COLUMN:
case DST_PORT_COLUMN:
gtk_tree_model_get(model, iter, csv->columns_order[i], &table_text, -1);
if (table_text) {
g_string_append(csv->CSV_str, table_text);
g_free(table_text);
}
break;
case PACKETS_COLUMN:
case BYTES_COLUMN:
case PKT_AB_COLUMN:
case BYTES_AB_COLUMN:
case PKT_BA_COLUMN:
case BYTES_BA_COLUMN:
gtk_tree_model_get(model, iter, csv->columns_order[i], &value, -1);
g_string_append_printf(csv->CSV_str, "%" G_GINT64_MODIFIER "u", value);
break;
case START_COLUMN:
g_string_append_printf(csv->CSV_str, "%s", rel_time_to_secs_str(&conv->start_time));
break;
case DURATION_COLUMN:
g_string_append_printf(csv->CSV_str, "%.4f", duration_s);
break;
case BPS_AB_COLUMN:
if (duration_s > 0 && conv->tx_frames > 1) {
g_string_append_printf(csv->CSV_str, "%.2f", (gint64) conv->tx_bytes * 8 / duration_s);
} else {
g_string_append(csv->CSV_str, NO_BPS_STR);
}
break;
case BPS_BA_COLUMN:
if (duration_s > 0 && conv->rx_frames > 1) {
g_string_append_printf(csv->CSV_str, "%.2f", (gint64) conv->rx_bytes * 8 / duration_s);
} else {
g_string_append(csv->CSV_str, NO_BPS_STR);
}
break;
default:
break;
switch(csv->columns_order[i]) {
case SRC_ADR_COLUMN:
case SRC_PORT_COLUMN:
case DST_ADR_COLUMN:
case DST_PORT_COLUMN:
gtk_tree_model_get(model, iter, csv->columns_order[i], &table_text, -1);
if (table_text) {
g_string_append(csv->CSV_str, table_text);
g_free(table_text);
}
}
g_string_append(csv->CSV_str,"\n");
break;
case PACKETS_COLUMN:
case BYTES_COLUMN:
case PKT_AB_COLUMN:
case BYTES_AB_COLUMN:
case PKT_BA_COLUMN:
case BYTES_BA_COLUMN:
gtk_tree_model_get(model, iter, csv->columns_order[i], &value, -1);
g_string_append_printf(csv->CSV_str, "%" G_GINT64_MODIFIER "u", value);
break;
case START_COLUMN:
g_string_append_printf(csv->CSV_str, "%s", rel_time_to_secs_str(&conv->start_time));
break;
case DURATION_COLUMN:
g_string_append_printf(csv->CSV_str, "%.4f", duration_s);
break;
case BPS_AB_COLUMN:
if (duration_s > 0 && conv->tx_frames > 1) {
g_string_append_printf(csv->CSV_str, "%.2f", (gint64) conv->tx_bytes * 8 / duration_s);
} else {
g_string_append(csv->CSV_str, NO_BPS_STR);
}
break;
case BPS_BA_COLUMN:
if (duration_s > 0 && conv->rx_frames > 1) {
g_string_append_printf(csv->CSV_str, "%.2f", (gint64) conv->rx_bytes * 8 / duration_s);
} else {
g_string_append(csv->CSV_str, NO_BPS_STR);
}
break;
default:
break;
}
}
g_string_append(csv->CSV_str,"\n");
return FALSE;
return FALSE;
}
static void
copy_as_csv_cb(GtkWindow *copy_bt, gpointer data _U_)
{
GtkClipboard *cb;
char *savelocale;
GList *columns, *list;
GtkClipboard *cb;
char *savelocale;
GList *columns, *list;
GtkTreeViewColumn *column;
GtkListStore *store;
csv_t csv;
GtkListStore *store;
csv_t csv;
csv.talkers=g_object_get_data(G_OBJECT(copy_bt), CONV_PTR_KEY);
if (!csv.talkers)
@ -1308,24 +1308,24 @@ static void
init_default_col_size(GtkWidget *view)
{
default_col_size[SRC_ADR_COLUMN] = get_default_col_size(view, "00000000.000000000000");
default_col_size[DST_ADR_COLUMN] = default_col_size[SRC_ADR_COLUMN];
default_col_size[SRC_ADR_COLUMN] = get_default_col_size(view, "00000000.000000000000");
default_col_size[DST_ADR_COLUMN] = default_col_size[SRC_ADR_COLUMN];
default_col_size[SRC_PORT_COLUMN] = get_default_col_size(view, "000000");
default_col_size[DST_PORT_COLUMN] = default_col_size[SRC_PORT_COLUMN];
default_col_size[PACKETS_COLUMN] = get_default_col_size(view, "00 000 000");
default_col_size[BYTES_COLUMN] = get_default_col_size(view, "0 000 000 000");
default_col_size[PKT_AB_COLUMN] = default_col_size[PACKETS_COLUMN];
default_col_size[PKT_BA_COLUMN] = default_col_size[PACKETS_COLUMN];
default_col_size[PACKETS_COLUMN] = get_default_col_size(view, "00 000 000");
default_col_size[BYTES_COLUMN] = get_default_col_size(view, "0 000 000 000");
default_col_size[PKT_AB_COLUMN] = default_col_size[PACKETS_COLUMN];
default_col_size[PKT_BA_COLUMN] = default_col_size[PACKETS_COLUMN];
default_col_size[BYTES_AB_COLUMN] = default_col_size[BYTES_COLUMN];
default_col_size[BYTES_BA_COLUMN] = default_col_size[BYTES_COLUMN];
default_col_size[START_COLUMN] = get_default_col_size(view, "000000.000000000");
default_col_size[START_COLUMN] = get_default_col_size(view, "000000.000000000");
default_col_size[DURATION_COLUMN] = get_default_col_size(view, "000000.0000");
default_col_size[BPS_AB_COLUMN] = get_default_col_size(view, "000000000.00");
default_col_size[BPS_BA_COLUMN] = default_col_size[BPS_AB_COLUMN];
default_col_size[BPS_AB_COLUMN] = get_default_col_size(view, "000000000.00");
default_col_size[BPS_BA_COLUMN] = default_col_size[BPS_AB_COLUMN];
}
static gboolean
init_ct_table_page(conversations_table *conversations, GtkWidget *vbox, gboolean hide_ports, const char *table_name, const char *tap_name, const char *filter,
init_ct_table_page(conversations_table *conversations, GtkWidget *vbox, gboolean hide_ports, const char *table_name, const char *tap_name, const char *filter,
tap_packet_cb packet_func)
{
int i;
@ -1367,24 +1367,24 @@ init_ct_table_page(conversations_table *conversations, GtkWidget *vbox, gboolean
g_snprintf(title, sizeof(title), "%s Conversations", table_name);
conversations->name_lb=gtk_label_new(title);
/* Create the store */
store = gtk_list_store_new (N_COLUMNS, /* Total number of columns */
G_TYPE_STRING, /* Address A */
G_TYPE_STRING, /* Port A */
G_TYPE_STRING, /* Address B */
G_TYPE_STRING, /* Port B */
G_TYPE_UINT64, /* Packets */
G_TYPE_UINT64, /* Bytes */
G_TYPE_UINT64, /* Packets A->B */
G_TYPE_UINT64, /* Bytes A->B */
G_TYPE_UINT64, /* Packets A<-B */
G_TYPE_UINT64, /* Bytes A<-B */
G_TYPE_STRING, /* Start */
G_TYPE_STRING, /* Duration */
G_TYPE_STRING, /* bps A->B */
G_TYPE_STRING, /* bps A<-B */
G_TYPE_UINT); /* Index */
G_TYPE_STRING, /* Address A */
G_TYPE_STRING, /* Port A */
G_TYPE_STRING, /* Address B */
G_TYPE_STRING, /* Port B */
G_TYPE_UINT64, /* Packets */
G_TYPE_UINT64, /* Bytes */
G_TYPE_UINT64, /* Packets A->B */
G_TYPE_UINT64, /* Bytes A->B */
G_TYPE_UINT64, /* Packets A<-B */
G_TYPE_UINT64, /* Bytes A<-B */
G_TYPE_STRING, /* Start */
G_TYPE_STRING, /* Duration */
G_TYPE_STRING, /* bps A->B */
G_TYPE_STRING, /* bps A<-B */
G_TYPE_UINT); /* Index */
gtk_box_pack_start(GTK_BOX(vbox), conversations->name_lb, FALSE, FALSE, 0);
@ -1410,32 +1410,32 @@ init_ct_table_page(conversations_table *conversations, GtkWidget *vbox, gboolean
renderer = gtk_cell_renderer_text_new ();
g_object_set(renderer, "ypad", 0, NULL);
switch(i) {
case 0: /* addresses and ports */
case 1:
case 2:
case 3:
column = gtk_tree_view_column_new_with_attributes (conversations->default_titles[i], renderer, "text",
i, NULL);
case SRC_ADR_COLUMN: /* addresses and ports */
case SRC_PORT_COLUMN:
case DST_ADR_COLUMN:
case DST_PORT_COLUMN:
column = gtk_tree_view_column_new_with_attributes (conversations->default_titles[i], renderer, "text",
i, NULL);
if(hide_ports && (i == 1 || i == 3)){
/* hide srcport and dstport if we don't use ports */
gtk_tree_view_column_set_visible(column, FALSE);
}
gtk_tree_sortable_set_sort_func(sortable, i, ct_sort_func, GINT_TO_POINTER(i), NULL);
break;
case 4: /* counts */
case 5:
case 6:
case 7:
case 8:
case 9: /* right align numbers */
case PACKETS_COLUMN: /* counts */
case BYTES_COLUMN:
case PKT_AB_COLUMN:
case BYTES_AB_COLUMN:
case PKT_BA_COLUMN:
case BYTES_BA_COLUMN:
g_object_set(G_OBJECT(renderer), "xalign", 1.0, NULL);
column = gtk_tree_view_column_new_with_attributes (conversations->default_titles[i], renderer, NULL);
gtk_tree_view_column_set_cell_data_func(column, renderer, u64_data_func, GINT_TO_POINTER(i), NULL);
break;
default: /* times and bps */
g_object_set(G_OBJECT(renderer), "xalign", 1.0, NULL);
column = gtk_tree_view_column_new_with_attributes (conversations->default_titles[i], renderer, "text",
i, NULL);
column = gtk_tree_view_column_new_with_attributes (conversations->default_titles[i], renderer, "text",
i, NULL);
gtk_tree_sortable_set_sort_func(sortable, i, ct_sort_func, GINT_TO_POINTER(i), NULL);
break;
@ -1450,7 +1450,7 @@ init_ct_table_page(conversations_table *conversations, GtkWidget *vbox, gboolean
/* for capture with ten thousands conversations it's too slow */
if (i == PACKETS_COLUMN) {
gtk_tree_view_column_clicked(column);
gtk_tree_view_column_clicked(column);
gtk_tree_view_column_clicked(column);
}
#endif
}
@ -1470,7 +1470,7 @@ init_ct_table_page(conversations_table *conversations, GtkWidget *vbox, gboolean
ct_create_popup_menu(conversations);
/* register the tap and rerun the taps on the packet list */
error_string=register_tap_listener(tap_name, conversations, filter, 0, reset_ct_table_data_cb, packet_func,
error_string=register_tap_listener(tap_name, conversations, filter, 0, reset_ct_table_data_cb, packet_func,
draw_ct_table_data_cb);
if(error_string){
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", error_string->str);
@ -1517,11 +1517,11 @@ follow_stream_cb(GtkWidget *follow_stream_bt, gpointer data _U_)
ct_port_to_str(conv->port_type, conv->dst_port));
apply_selected_filter (ACTYPE_SELECTED|ACTION_MATCH, filter);
if (strcmp(ct->name, "TCP") == 0)
if (strcmp(ct->name, "TCP") == 0)
follow_tcp_stream_cb (follow_stream_bt, data);
else if (strcmp(ct->name, "UDP") == 0)
else if (strcmp(ct->name, "UDP") == 0)
follow_udp_stream_cb (follow_stream_bt, data);
else
else
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "Unknown stream: %s", ct->name);
g_free (filter);
@ -1547,8 +1547,8 @@ init_conversation_table(gboolean hide_ports, const char *table_name, const char
conversations->filter=filter;
conversations->use_dfilter=FALSE;
g_snprintf(title, sizeof(title), "%s Conversations: %s", table_name, cf_get_display_name(&cfile));
conversations->win = dlg_window_new(title); /* transient_for top_level */
gtk_window_set_destroy_with_parent (GTK_WINDOW(conversations->win), TRUE);
conversations->win = dlg_window_new(title); /* transient_for top_level */
gtk_window_set_destroy_with_parent (GTK_WINDOW(conversations->win), TRUE);
gtk_window_set_default_size(GTK_WINDOW(conversations->win), 750, 400);
@ -1772,8 +1772,8 @@ init_conversation_notebook_cb(GtkWidget *w _U_, gpointer d _U_)
pages = g_malloc(sizeof(void *) * (g_slist_length(registered_ct_tables) + 1));
g_snprintf(title, sizeof(title), "Conversations: %s", cf_get_display_name(&cfile));
win = dlg_window_new(title); /* transient_for top_level */
gtk_window_set_destroy_with_parent (GTK_WINDOW(win), TRUE);
win = dlg_window_new(title); /* transient_for top_level */
gtk_window_set_destroy_with_parent (GTK_WINDOW(win), TRUE);
gtk_window_set_default_size(GTK_WINDOW(win), 750, 400);
@ -1862,10 +1862,10 @@ init_conversation_notebook_cb(GtkWidget *w _U_, gpointer d _U_)
}
typedef struct _key {
address addr1;
address addr2;
guint32 port1;
guint32 port2;
address addr1;
address addr2;
guint32 port1;
guint32 port2;
} conv_key_t;
@ -1876,16 +1876,16 @@ typedef struct _key {
static guint
conversation_hash(gconstpointer v)
{
const conv_key_t *key = (const conv_key_t *)v;
guint hash_val;
const conv_key_t *key = (const conv_key_t *)v;
guint hash_val;
hash_val = 0;
ADD_ADDRESS_TO_HASH(hash_val, &key->addr1);
hash_val += key->port1;
ADD_ADDRESS_TO_HASH(hash_val, &key->addr2);
hash_val += key->port2;
hash_val = 0;
ADD_ADDRESS_TO_HASH(hash_val, &key->addr1);
hash_val += key->port1;
ADD_ADDRESS_TO_HASH(hash_val, &key->addr2);
hash_val += key->port2;
return hash_val;
return hash_val;
}
/*
@ -1894,27 +1894,27 @@ conversation_hash(gconstpointer v)
static gint
conversation_match(gconstpointer v, gconstpointer w)
{
const conv_key_t *v1 = (const conv_key_t *)v;
const conv_key_t *v2 = (const conv_key_t *)w;
const conv_key_t *v1 = (const conv_key_t *)v;
const conv_key_t *v2 = (const conv_key_t *)w;
if (v1->port1 == v2->port1 &&
v1->port2 == v2->port2 &&
ADDRESSES_EQUAL(&v1->addr1, &v2->addr1) &&
ADDRESSES_EQUAL(&v1->addr2, &v2->addr2)) {
return 1;
}
if (v1->port1 == v2->port1 &&
v1->port2 == v2->port2 &&
ADDRESSES_EQUAL(&v1->addr1, &v2->addr1) &&
ADDRESSES_EQUAL(&v1->addr2, &v2->addr2)) {
return 1;
}
if (v1->port2 == v2->port1 &&
v1->port1 == v2->port2 &&
ADDRESSES_EQUAL(&v1->addr2, &v2->addr1) &&
ADDRESSES_EQUAL(&v1->addr1, &v2->addr2)) {
return 1;
}
if (v1->port2 == v2->port1 &&
v1->port1 == v2->port2 &&
ADDRESSES_EQUAL(&v1->addr2, &v2->addr1) &&
ADDRESSES_EQUAL(&v1->addr1, &v2->addr2)) {
return 1;
}
/*
* The addresses or the ports don't match.
*/
return 0;
/*
* The addresses or the ports don't match.
*/
return 0;
}
@ -1953,32 +1953,32 @@ add_conversation_table_data(conversations_table *ct, const address *src, const a
ct->conversations= g_array_sized_new(FALSE, FALSE, sizeof(conv_t), 10000);
ct->hashtable = g_hash_table_new_full(conversation_hash,
conversation_match, /* key_equal_func */
g_free, /* key_destroy_func */
NULL); /* value_destroy_func */
conversation_match, /* key_equal_func */
g_free, /* key_destroy_func */
NULL); /* value_destroy_func */
}
else {
/* try to find it among the existing known conversations */
conv_key_t existing_key;
conv_key_t existing_key;
existing_key.addr1 = *addr1;
existing_key.addr2 = *addr2;
existing_key.port1 = port1;
existing_key.port2 = port2;
conversation_idx = GPOINTER_TO_UINT(g_hash_table_lookup(ct->hashtable, &existing_key));
if (conversation_idx) {
conversation_idx--;
existing_key.addr1 = *addr1;
existing_key.addr2 = *addr2;
existing_key.port1 = port1;
existing_key.port2 = port2;
conversation_idx = GPOINTER_TO_UINT(g_hash_table_lookup(ct->hashtable, &existing_key));
if (conversation_idx) {
conversation_idx--;
conversation=&g_array_index(ct->conversations, conv_t, conversation_idx);
}
}
}
/* if we still dont know what conversation this is it has to be a new one
and we have to allocate it and append it to the end of the list */
if(conversation==NULL){
conv_key_t *new_key;
conv_key_t *new_key;
conv_t conv;
COPY_ADDRESS(&conv.src_address, addr1);
COPY_ADDRESS(&conv.dst_address, addr2);
conv.sat=sat;
@ -1991,7 +1991,7 @@ add_conversation_table_data(conversations_table *ct, const address *src, const a
conv.tx_bytes=0;
conv.iter_valid = FALSE;
conv.modified = TRUE;
if (ts) {
memcpy(&conv.start_time, ts, sizeof(conv.start_time));
memcpy(&conv.stop_time, ts, sizeof(conv.stop_time));
@ -2005,10 +2005,10 @@ add_conversation_table_data(conversations_table *ct, const address *src, const a
/* ct->conversations address is not a constant but src/dst_address.data are */
new_key = g_new(conv_key_t, 1);
SET_ADDRESS(&new_key->addr1, conversation->src_address.type, conversation->src_address.len, conversation->src_address.data);
SET_ADDRESS(&new_key->addr2, conversation->dst_address.type, conversation->dst_address.len, conversation->dst_address.data);
new_key->port1 = port1;
new_key->port2 = port2;
SET_ADDRESS(&new_key->addr1, conversation->src_address.type, conversation->src_address.len, conversation->src_address.data);
SET_ADDRESS(&new_key->addr2, conversation->dst_address.type, conversation->dst_address.len, conversation->dst_address.data);
new_key->port1 = port1;
new_key->port2 = port2;
g_hash_table_insert(ct->hashtable, new_key, GUINT_TO_POINTER(conversation_idx +1));
ct->num_conversations++;