#include "airpcap_gui_utils.h"
#include "airpcap_dlg.h"
-
-
-/* temporary block signals to widgets */
-BOOL block_advanced_signals;
-
/*
* This function is used to write the preferences to the preferences file.
* It has the same behaviour as prefs_main_write() in prefs_dlg.c
}
}
-/*
- * This struct will contain useful data for the selected (actual) airpcap device
- */
-void
-airpcap_fill_if_combo(GtkWidget *combo, GList* if_list)
-{
- int ifn = 0;
- GList* popdown_if_list = NULL;
- GList* curr = NULL;
- airpcap_if_info_t* if_info = NULL;
-
- curr = g_list_nth(if_list, ifn);
- if_info = NULL;
- if (curr != NULL) if_info = curr->data;
-
- popdown_if_list = NULL;
- ifn = g_list_length(if_list) - 1;
- while (ifn >= 0) /* reverse order */
- {
- curr = g_list_nth(if_list, ifn);
- if_info = NULL;
- if (curr != NULL)
- if_info = curr->data;
- if (if_info != NULL)
- popdown_if_list = g_list_append( popdown_if_list , if_info->description) ;
- ifn--;
- }
- gtk_combo_set_popdown_strings( GTK_COMBO(combo), popdown_if_list) ;
- g_list_free(popdown_if_list);
-
- if (airpcap_if_selected != NULL)
- {
- gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(combo)->entry), airpcap_if_selected->description);
- }
- else
- {
- gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(combo)->entry), "No Wireless Interfaces Found");
- }
-}
-
/*
* Callback for the select row event in the key list widget
*/
void
-on_key_ls_select_row(GtkWidget *widget,
+on_key_ls_select_row(GtkWidget *widget _U_,
gint row,
gint column,
- GdkEventButton *event,
+ GdkEventButton *event _U_,
gpointer data)
{
airpcap_key_ls_selected_info_t* selected_item;
* Callback for the unselect row event in the key list widget
*/
void
-on_key_ls_unselect_row(GtkWidget *widget,
- gint row,
- gint column,
- GdkEventButton *event,
+on_key_ls_unselect_row(GtkWidget *widget _U_,
+ gint row _U_,
+ gint column _U_,
+ GdkEventButton *event _U_,
gpointer data)
{
airpcap_key_ls_selected_info_t* selected_item;
* Callback for the click column event in the key list widget
*/
void
-on_key_ls_click_column(GtkWidget *widget,
- gint column,
- gpointer data)
+on_key_ls_click_column(GtkWidget *widget _U_,
+ gint column _U_,
+ gpointer data _U_)
{
}
/*
- * Callback for the crc chackbox
+ * Callback for the crc checkbox
*/
static void
-on_fcs_ck_toggled(GtkWidget *w, gpointer user_data)
+on_fcs_ck_toggled(GtkWidget *w _U_, gpointer user_data _U_)
{
- if ( !block_advanced_signals && (airpcap_if_selected != NULL))
+ if (airpcap_if_selected != NULL)
{
if (airpcap_if_selected->IsFcsPresent)
{
* Callback for the wrong crc combo
*/
static void
-on_edit_type_en_changed(GtkWidget *w, gpointer data)
+on_edit_type_cb_changed(GtkWidget *w, gpointer data)
{
GtkWidget *edit_key_w;
GtkWidget *edit_ssid_te;
- GtkWidget *type_te;
+ GtkWidget *type_cb;
GtkWidget *key_lb;
GtkWidget *ssid_lb;
gchar* type_text = NULL;
edit_key_w = GTK_WIDGET(data);
- type_te = w;
+ type_cb = w;
edit_ssid_te = g_object_get_data(G_OBJECT(edit_key_w),AIRPCAP_ADVANCED_EDIT_KEY_SSID_KEY);
key_lb = g_object_get_data(G_OBJECT(edit_key_w),AIRPCAP_ADVANCED_EDIT_KEY_KEY_LABEL_KEY);
ssid_lb = g_object_get_data(G_OBJECT(edit_key_w),AIRPCAP_ADVANCED_EDIT_KEY_SSID_LABEL_KEY);
- type_text = g_strdup(gtk_entry_get_text(GTK_ENTRY(type_te)));
+ type_text = gtk_combo_box_get_active_text(GTK_COMBO_BOX(type_cb));
if (string_is_not_empty(type_text))
{
/*
- * If it is a WEP key, no SSID is required! Gray out rhe entry text so
+ * If it is a WEP key, no SSID is required! Gray out the entry text so
* it doesn't create confusion ...
*/
if (g_ascii_strcasecmp(type_text,AIRPCAP_WEP_KEY_STRING) == 0)
gtk_widget_set_sensitive(edit_ssid_te,FALSE);
/*
* Maybe the user has already entered some text into the SSID field
- * and then switched to WEP...
+ * and then switched to WPA...
*/
gtk_entry_set_text(GTK_ENTRY(edit_ssid_te),"");
gtk_label_set_text(GTK_LABEL(key_lb),"Key");
gtk_widget_set_sensitive(edit_ssid_te,TRUE);
/*
* Maybe the user has already entered some text into the SSID field
- * and then switched to WEP...
+ * and then switched to WPA...
*/
gtk_entry_set_text(GTK_ENTRY(edit_ssid_te),"");
gtk_label_set_text(GTK_LABEL(key_lb),"Passphrase");
* Callback for the wrong crc combo
*/
static void
-on_add_type_en_changed(GtkWidget *w, gpointer data)
+on_add_type_cb_changed(GtkWidget *w, gpointer data)
{
GtkWidget *add_key_w;
GtkWidget *add_ssid_te;
- GtkWidget *type_te;
+ GtkWidget *type_cb;
GtkWidget *key_lb;
GtkWidget *ssid_lb;
gchar* type_text = NULL;
add_key_w = GTK_WIDGET(data);
- type_te = w;
+ type_cb = w;
add_ssid_te = g_object_get_data(G_OBJECT(add_key_w),AIRPCAP_ADVANCED_ADD_KEY_SSID_KEY);
key_lb = g_object_get_data(G_OBJECT(add_key_w),AIRPCAP_ADVANCED_ADD_KEY_KEY_LABEL_KEY);
ssid_lb = g_object_get_data(G_OBJECT(add_key_w),AIRPCAP_ADVANCED_ADD_KEY_SSID_LABEL_KEY);
- type_text = g_strdup(gtk_entry_get_text(GTK_ENTRY(type_te)));
+ type_text = gtk_combo_box_get_active_text(GTK_COMBO_BOX(type_cb));
if (string_is_not_empty(type_text))
{
gtk_widget_set_sensitive(add_ssid_te,FALSE);
/*
* Maybe the user has already entered some text into the SSID field
- * and then switched to WEP...
+ * and then switched to WPA...
*/
gtk_entry_set_text(GTK_ENTRY(add_ssid_te),"");
gtk_label_set_text(GTK_LABEL(key_lb),"Key");
gtk_widget_set_sensitive(add_ssid_te,TRUE);
/*
* Maybe the user has already entered some text into the SSID field
- * and then switched to WEP...
+ * and then switched to WPA...
*/
gtk_entry_set_text(GTK_ENTRY(add_ssid_te),"");
gtk_label_set_text(GTK_LABEL(key_lb),"Passphrase");
* Callback for the wrong crc combo
*/
static void
-on_fcs_filter_en_changed(GtkWidget *w, gpointer data)
+on_fcs_filter_cb_changed(GtkWidget *fcs_filter_cb, gpointer data _U_)
{
- const gchar *s;
-
- s = gtk_entry_get_text(GTK_ENTRY(w));
+ gchar *fcs_filter_str;
- if ( !block_advanced_signals && (data != NULL) && (w != NULL) )
+ if (fcs_filter_cb != NULL)
{
- if ((g_ascii_strcasecmp("",s)))
+ fcs_filter_str = gtk_combo_box_get_active_text(GTK_COMBO_BOX(fcs_filter_cb));
+ if (fcs_filter_str && (g_ascii_strcasecmp("", fcs_filter_str)))
{
- airpcap_if_selected->CrcValidationOn = airpcap_get_validation_type(s);
+ airpcap_if_selected->CrcValidationOn = airpcap_get_validation_type(fcs_filter_str);
airpcap_if_selected->saved = FALSE;
}
+ g_free(fcs_filter_str);
}
}
-/*
- * Changed callback for the channel combobox
- */
-static void
-on_channel_en_changed(GtkWidget *w _U_, gpointer data)
-{
- const gchar *s;
- ULONG ch_freq;
-
- if ( !block_advanced_signals && (data != NULL) && (w != NULL) )
- {
- s = gtk_entry_get_text(GTK_ENTRY(w));
- if ((g_ascii_strcasecmp("",s)))
- {
- if (airpcap_if_selected != NULL)
- {
- ch_freq = airpcap_get_frequency_from_str(s);
- airpcap_if_active->channelInfo.Frequency = ch_freq;
- airpcap_if_selected->saved = FALSE;
- airpcap_update_channel_offset_cb(airpcap_if_selected, ch_freq, GTK_WIDGET(data));
- }
- }
- }
-}
/*
- * Changed callback for the channel offset combobox
+ * Changed callback for the capture type combobox
*/
static void
-on_channel_offset_cb_changed(GtkWidget *w, gpointer data)
+on_capture_type_cb_changed(GtkWidget *cb, gpointer user_data _U_)
{
- const gchar *s;
- int offset;
+ gchar *s;
- if (w == NULL || GTK_WIDGET_SENSITIVE(w)) {
+ if (cb == NULL) {
return;
}
+
+ s = gtk_combo_box_get_active_text(GTK_COMBO_BOX(cb));
- if ( !block_advanced_signals && (data != NULL) )
- {
- s = gtk_entry_get_text(GTK_ENTRY(w));
- if ((g_ascii_strcasecmp("",s)))
- {
- if (airpcap_if_selected != NULL)
- {
- sscanf(s,"%d",&offset);
- airpcap_if_selected->channelInfo.ExtChannel = offset;
- airpcap_if_selected->saved = FALSE;
- }
- }
- }
-}
-
-/*
- * Changed callback for the capture type combobox
- */
-static void
-on_capture_type_en_changed(GtkWidget *w _U_, gpointer data)
-{
- const gchar *s;
-
- s = gtk_entry_get_text(GTK_ENTRY(w));
-
- if ( !block_advanced_signals && (data != NULL) && (w != NULL) )
+ if ((g_ascii_strcasecmp("",s)))
{
- if ((g_ascii_strcasecmp("",s)))
- {
- airpcap_if_selected->linkType = airpcap_get_link_type(s);
- airpcap_if_selected->saved = FALSE;
- }
+ airpcap_if_selected->linkType = airpcap_get_link_type(s);
+ airpcap_if_selected->saved = FALSE;
}
-}
-
-/*
- * Activate callback for the adapter combobox
- */
-static void
-combo_if_activate_cb(GtkWidget *entry _U_, gpointer data)
-{
+ g_free(s);
}
/*
* Thread function used to blink the led
*/
-gboolean update_blink(gpointer data _U_)
+gboolean update_blink(gpointer data)
{
airpcap_if_info_t* sel;
PAirpcapHandle ad;
* Blink button callback
*/
void
-on_blink_bt_clicked( GtkWidget *blink_bt _U_, gpointer if_data )
+on_blink_bt_clicked( GtkWidget *blink_bt, gpointer data _U_)
{
PAirpcapHandle ad = NULL;
gchar ebuf[AIRPCAP_ERRBUF_SIZE];
- if (airpcap_if_selected != NULL)
+ if (airpcap_if_selected != NULL) {
if (!(airpcap_if_selected->blinking))
{
gtk_button_set_label(GTK_BUTTON(blink_bt),"Stop Blinking");
airpcap_if_close(ad);
}
}
+ }
}
/*
* Callback for the 'Any' adapter What's This button.
*/
void
-on_what_s_this_bt_clicked( GtkWidget *blink_bt _U_, gpointer if_data )
+on_what_s_this_bt_clicked( GtkWidget *blink_bt _U_, gpointer data _U_)
{
simple_dialog(ESD_TYPE_INFO,ESD_BTN_OK,
"The Multi-Channel Aggregator is a virtual device "
/* the window was closed, cleanup things */
void
-on_key_management_destroy(GtkWidget *w _U_, gpointer data _U_)
+on_key_management_destroy(GtkWidget *w _U_, gpointer data)
{
- GtkWidget *airpcap_advanced_w,
- *toolbar;
+ GtkWidget *airpcap_advanced_w,
+ *toolbar;
gint *from_widget = NULL;
/* Retrieve the GUI object pointers */
- airpcap_advanced_w = GTK_WIDGET(data);
+ airpcap_advanced_w = GTK_WIDGET(data);
- toolbar = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_TOOLBAR_KEY));
+ toolbar = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_TOOLBAR_KEY));
/* ... */
- from_widget = (gint*)g_object_get_data(G_OBJECT(toolbar),AIRPCAP_ADVANCED_FROM_KEY);
+ from_widget = (gint*)g_object_get_data(G_OBJECT(toolbar),AIRPCAP_ADVANCED_FROM_KEY);
/* gray out the toolbar (if we came here from the toolbar advanced button)*/
if ( *from_widget == AIRPCAP_ADVANCED_FROM_TOOLBAR)
gtk_widget_set_sensitive(toolbar,TRUE);
/* the Advenced wireless Settings window was closed, cleanup things */
static void
-on_airpcap_advanced_destroy(GtkWidget *w _U_, gpointer data _U_)
+on_airpcap_advanced_destroy(GtkWidget *w _U_, gpointer data)
{
- GtkWidget *airpcap_advanced_w,
- *toolbar;
+ GtkWidget *airpcap_advanced_w,
+ *toolbar;
gint *from_widget = NULL;
/* Retrieve the GUI object pointers */
- airpcap_advanced_w = GTK_WIDGET(data);
+ airpcap_advanced_w = GTK_WIDGET(data);
- toolbar = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_TOOLBAR_KEY));
+ toolbar = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_TOOLBAR_KEY));
/* ... */
- from_widget = (gint*)g_object_get_data(G_OBJECT(toolbar),AIRPCAP_ADVANCED_FROM_KEY);
+ from_widget = (gint*)g_object_get_data(G_OBJECT(toolbar),AIRPCAP_ADVANCED_FROM_KEY);
/* gray out the toolbar (if we came here from the toolbar advanced button)*/
if ( *from_widget == AIRPCAP_ADVANCED_FROM_TOOLBAR)
gtk_widget_set_sensitive(toolbar,TRUE);
on_key_management_apply_bt_clicked(GtkWidget *button _U_, gpointer data)
{
/* advenced window */
- GtkWidget *key_management_w;
+ GtkWidget *key_management_w;
/* widgets in the toolbar */
- GtkWidget *toolbar;
- GtkWidget *toolbar_cm;
+ GtkWidget *toolbar;
+ GtkWidget *toolbar_cb;
GtkWidget *key_ls;
- GtkWidget *decryption_en;
+ GtkWidget *decryption_mode_cb;
- char* decryption_mode_string = NULL;
module_t *wlan_module = prefs_find_module("wlan");
+ gchar *decryption_mode_string;
/* retrieve main window */
key_management_w = GTK_WIDGET(data);
- decryption_en = GTK_WIDGET(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_ADVANCED_WEP_DECRYPTION_KEY));
+ decryption_mode_cb = GTK_WIDGET(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_ADVANCED_DECRYPTION_MODE_KEY));
key_ls = GTK_WIDGET(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_ADVANCED_KEYLIST_KEY));
toolbar = GTK_WIDGET(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_TOOLBAR_KEY));
- toolbar_cm = GTK_WIDGET(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_TOOLBAR_DECRYPTION_KEY));
+ toolbar_cb = GTK_WIDGET(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_TOOLBAR_DECRYPTION_KEY));
-#define CANT_SAVE_ERR_STR "Cannot save configuration! Another application" \
+#define CANT_SAVE_ERR_STR "Cannot save configuration! Another application " \
"might be using AirPcap, or you might not have sufficient privileges."
/* Set the Decryption Mode */
- if (g_ascii_strcasecmp(gtk_entry_get_text(GTK_ENTRY(decryption_en)),AIRPCAP_DECRYPTION_TYPE_STRING_WIRESHARK) == 0)
+
+ decryption_mode_string = gtk_combo_box_get_active_text (GTK_COMBO_BOX(decryption_mode_cb));
+ if (g_ascii_strcasecmp(decryption_mode_string, AIRPCAP_DECRYPTION_TYPE_STRING_WIRESHARK) == 0)
{
set_wireshark_decryption(TRUE);
if (!set_airpcap_decryption(FALSE)) g_warning(CANT_SAVE_ERR_STR);
}
- else if (g_ascii_strcasecmp(gtk_entry_get_text(GTK_ENTRY(decryption_en)),AIRPCAP_DECRYPTION_TYPE_STRING_AIRPCAP) == 0)
+ else if (g_ascii_strcasecmp(decryption_mode_string, AIRPCAP_DECRYPTION_TYPE_STRING_AIRPCAP) == 0)
{
set_wireshark_decryption(FALSE);
if (!set_airpcap_decryption(TRUE)) g_warning(CANT_SAVE_ERR_STR);
}
- else if (g_ascii_strcasecmp(gtk_entry_get_text(GTK_ENTRY(decryption_en)),AIRPCAP_DECRYPTION_TYPE_STRING_NONE) == 0)
+ else if (g_ascii_strcasecmp(decryption_mode_string, AIRPCAP_DECRYPTION_TYPE_STRING_NONE) == 0)
{
set_wireshark_decryption(FALSE);
if (!set_airpcap_decryption(FALSE)) g_warning(CANT_SAVE_ERR_STR);
}
+ g_free(decryption_mode_string);
/* Save the configuration */
airpcap_read_and_save_decryption_keys_from_clist(key_ls,airpcap_if_selected,airpcap_if_list); /* This will save the keys for every adapter */
/* The update will make redissect al the packets... no need to do it here again */
- update_decryption_mode_cm(toolbar_cm);
+ update_decryption_mode(toolbar_cb);
/* Redissect all the packets, and re-evaluate the display filter. */
prefs_apply(wlan_module);
}
-/*
- * Callback for the Wireless Advanced Settings 'Apply' button.
- */
-void
-on_advanced_apply_bt_clicked(GtkWidget *button, gpointer data _U_)
-{
- /* advenced window */
- GtkWidget *main_w;
-
- /* widgets in the toolbar */
- GtkWidget *toolbar,
- *toolbar_if_lb,
- *toolbar_channel_cm,
- *toolbar_channel_offset_cb,
- *toolbar_wrong_crc_cm;
-
- /* retrieve main window */
- main_w = GTK_WIDGET(data);
-
- toolbar = GTK_WIDGET(g_object_get_data(G_OBJECT(main_w),AIRPCAP_TOOLBAR_KEY));
-
- /* retrieve toolbar info */
- toolbar_if_lb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_INTERFACE_KEY));
- toolbar_channel_cm = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_CHANNEL_KEY));
- toolbar_channel_offset_cb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_CHANNEL_OFFSET_KEY));
- toolbar_wrong_crc_cm = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_FCS_FILTER_KEY));
-
- /* Save the configuration (for all ) */
- airpcap_save_selected_if_configuration(airpcap_if_selected);
-
- /* Update toolbar (only if airpcap_if_selected is airpcap_if_active)*/
- if ( g_ascii_strcasecmp(airpcap_if_selected->description,airpcap_if_active->description) == 0)
- {
- gtk_label_set_text(GTK_LABEL(toolbar_if_lb), g_strdup_printf("%s %s\t","Current Wireless Interface: #",airpcap_get_if_string_number(airpcap_if_selected)));
- airpcap_update_channel_combo(GTK_WIDGET(toolbar_channel_cm),airpcap_if_selected);
- airpcap_update_channel_offset_combo_entry(GTK_WIDGET(toolbar_channel_offset_cb),airpcap_if_selected->channelInfo.ExtChannel);
- airpcap_validation_type_combo_set_by_type(toolbar_wrong_crc_cm,airpcap_if_selected->CrcValidationOn);
- }
-}
-
-#if 0 /* XXX: not used ?? */
-/*
- * Callback for the 'OK' button.
- */
-static void
-airpcap_advanced_ok_cb(GtkWidget *w, gpointer data _U_)
-{
- /* advanced window */
- GtkWidget *main_w;
-
- /* widgets in the toolbar */
- GtkWidget *toolbar,
- *toolbar_if_lb,
- *toolbar_channel_cm,
- *toolbar_wrong_crc_cm,
- *toolbar_decryption_ck;
-
- GtkWidget *key_ls;
-
- /* retrieve main window */
- main_w = GTK_WIDGET(data);
-
- toolbar = GTK_WIDGET(g_object_get_data(G_OBJECT(main_w),AIRPCAP_TOOLBAR_KEY));
-
- key_ls = GTK_WIDGET(g_object_get_data(G_OBJECT(main_w),AIRPCAP_ADVANCED_KEYLIST_KEY));
-
- /* retrieve toolbar info */
- toolbar_if_lb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_INTERFACE_KEY));
- toolbar_channel_cm = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_CHANNEL_KEY));
- toolbar_wrong_crc_cm = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_FCS_FILTER_KEY));
- toolbar_decryption_ck = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_DECRYPTION_KEY));
-
- /* Save the configuration */
- airpcap_add_keys_from_list(key_ls,airpcap_if_selected);
- airpcap_save_selected_if_configuration(airpcap_if_selected);
- /* Remove GLIB timeout */
- g_source_remove(airpcap_if_selected->tag);
-
- /* Update toolbar (only if airpcap_if_selected is airpcap_if_active)*/
- if ( g_ascii_strcasecmp(airpcap_if_selected->description,airpcap_if_active->description) == 0)
- {
- gtk_label_set_text(GTK_LABEL(toolbar_if_lb), g_strdup_printf("%s %s\t","Current Wireless Interface: #",airpcap_get_if_string_number(airpcap_if_selected)));
- airpcap_update_channel_combo(GTK_WIDGET(toolbar_channel_cm),airpcap_if_selected);
- airpcap_validation_type_combo_set_by_type(toolbar_wrong_crc_cm,airpcap_if_selected->CrcValidationOn);
-
- g_signal_handlers_block_by_func (toolbar_decryption_ck,airpcap_toolbar_encryption_cb, toolbar);
- if (airpcap_if_active->DecryptionOn == AIRPCAP_DECRYPTION_ON)
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar_decryption_ck),TRUE);
- else
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar_decryption_ck),FALSE);
- g_signal_handlers_unblock_by_func (toolbar_decryption_ck,airpcap_toolbar_encryption_cb, toolbar);
- }
-}
-#endif
/*
* Callback for the 'Reset Configuration' button.
*/
void
-on_reset_configuration_bt_clicked(GtkWidget *button, gpointer data _U_)
+on_reset_configuration_bt_clicked(GtkWidget *button _U_, gpointer data _U_)
{
return;
}
* Callback used to add a WEP key in the add new key box;
*/
static void
-on_add_key_ok_bt_clicked(GtkWidget *widget, gpointer data _U_)
+on_add_key_ok_bt_clicked(GtkWidget *widget _U_, gpointer data)
{
- GtkWidget *type_cm,
- *key_en,
- *ssid_en;
+ GtkWidget *type_cb,
+ *key_en,
+ *ssid_en;
GtkWidget *key_ls;
GString *new_type_string,
- *new_key_string,
- *new_ssid_string;
+ *new_key_string,
+ *new_ssid_string;
- gchar *type_entered = NULL;
- gchar *key_entered = NULL;
- gchar *ssid_entered = NULL;
+ gchar *type_entered = NULL;
+ gchar *key_entered = NULL;
+ gchar *ssid_entered = NULL;
airpcap_key_ls_selected_info_t *selected_item;
key_ls = g_object_get_data(G_OBJECT(data),AIRPCAP_ADVANCED_ADD_KEY_LIST_KEY);
selected_item = g_object_get_data(G_OBJECT(data),AIRPCAP_ADVANCED_SELECTED_KEY_LIST_ITEM_KEY);
- type_cm = g_object_get_data(G_OBJECT(data),AIRPCAP_ADVANCED_ADD_KEY_TYPE_KEY);
+ type_cb = g_object_get_data(G_OBJECT(data),AIRPCAP_ADVANCED_ADD_KEY_TYPE_KEY);
key_en = g_object_get_data(G_OBJECT(data),AIRPCAP_ADVANCED_ADD_KEY_KEY_KEY);
ssid_en = g_object_get_data(G_OBJECT(data),AIRPCAP_ADVANCED_ADD_KEY_SSID_KEY);
keys_in_list = GTK_CLIST(key_ls)->rows;
- type_entered = g_strdup(gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(type_cm)->entry)));
+ type_entered = gtk_combo_box_get_active_text(GTK_COMBO_BOX(type_cb));
key_entered = g_strdup(gtk_entry_get_text(GTK_ENTRY(key_en)));
ssid_entered = g_strdup(gtk_entry_get_text(GTK_ENTRY(ssid_en)));
new_key_string = g_string_new(key_entered);
new_ssid_string = g_string_new(ssid_entered);
+ g_free(type_entered);
+ g_free(key_entered );
+ g_free(ssid_entered);
+
g_strchug(new_key_string->str);
g_strchomp(new_key_string->str);
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
return;
}
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
return;
}
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
return;
}
}
else if (g_ascii_strcasecmp(new_type_string->str,AIRPCAP_WPA_PWD_KEY_STRING) == 0) /* WPA Key */
{
/* XXX - Perform some WPA related input fields check */
- /* If everything is ok, modify the entry int he list */
+ /* If everything is ok, modify the entry in the list */
if ( ((new_key_string->len) > WPA_KEY_MAX_CHAR_SIZE) || ((new_key_string->len) < WPA_KEY_MIN_CHAR_SIZE))
{
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
return;
}
/*
- * XXX - Maybe we need some check on the characters? I'm not sure if only stabdard ASCII are ok...
+ * XXX - Maybe we need some check on the characters? I'm not sure if only standard ASCII are ok...
*/
- if ( ((new_ssid_string->len) > WPA_SSID_MAX_CHAR_SIZE) || ((new_ssid_string->len) < WPA_SSID_MIN_CHAR_SIZE))
+ if ((new_ssid_string->len) > WPA_SSID_MAX_CHAR_SIZE)
{
simple_dialog(ESD_TYPE_ERROR,ESD_BTN_OK,"SSID key size out of range!\nValid SSID size range is %d-%d ASCII characters (%d-%d bits).",WPA_SSID_MIN_CHAR_SIZE,WPA_SSID_MAX_CHAR_SIZE,WPA_SSID_MIN_BIT_SIZE,WPA_SSID_MAX_BIT_SIZE);
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
return;
}
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
return;
}
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
return;
}
}
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
-
window_destroy(GTK_WIDGET(data));
return;
}
* Callback used to edit a WEP key in the edit key box;
*/
static void
-on_edit_key_ok_bt_clicked(GtkWidget *widget, gpointer data _U_)
+on_edit_key_ok_bt_clicked(GtkWidget *widget _U_, gpointer data)
{
- GtkWidget *type_cm,
- *key_en,
- *ssid_en;
+ GtkWidget *type_cb,
+ *key_en,
+ *ssid_en;
GtkWidget *key_ls;
GString *new_type_string,
- *new_key_string,
- *new_ssid_string;
+ *new_key_string,
+ *new_ssid_string;
- gchar *type_entered = NULL;
- gchar *key_entered = NULL;
- gchar *ssid_entered = NULL;
+ gchar *type_entered = NULL;
+ gchar *key_entered = NULL;
+ gchar *ssid_entered = NULL;
airpcap_key_ls_selected_info_t *selected_item;
key_ls = g_object_get_data(G_OBJECT(data),AIRPCAP_ADVANCED_EDIT_KEY_LIST_KEY);
selected_item = g_object_get_data(G_OBJECT(data),AIRPCAP_ADVANCED_EDIT_KEY_SELECTED_KEY);
- type_cm = g_object_get_data(G_OBJECT(data),AIRPCAP_ADVANCED_EDIT_KEY_TYPE_KEY);
+ type_cb = g_object_get_data(G_OBJECT(data),AIRPCAP_ADVANCED_EDIT_KEY_TYPE_KEY);
key_en = g_object_get_data(G_OBJECT(data),AIRPCAP_ADVANCED_EDIT_KEY_KEY_KEY);
ssid_en = g_object_get_data(G_OBJECT(data),AIRPCAP_ADVANCED_EDIT_KEY_SSID_KEY);
keys_in_list = GTK_CLIST(key_ls)->rows;
- type_entered = g_strdup(gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(type_cm)->entry)));
+ type_entered = gtk_combo_box_get_active_text(GTK_COMBO_BOX(type_cb));
key_entered = g_strdup(gtk_entry_get_text(GTK_ENTRY(key_en)));
ssid_entered = g_strdup(gtk_entry_get_text(GTK_ENTRY(ssid_en)));
new_key_string = g_string_new(key_entered);
new_ssid_string = g_string_new(ssid_entered);
+ g_free(type_entered);
+ g_free(key_entered );
+ g_free(ssid_entered);
+
g_strchug(new_key_string->str);
g_strchomp(new_key_string->str);
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
return;
}
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
return;
}
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
return;
}
}
else if (g_ascii_strcasecmp(new_type_string->str,AIRPCAP_WPA_PWD_KEY_STRING) == 0) /* WPA Key */
{
/* XXX - Perform some WPA related input fields check */
- /* If everything is ok, modify the entry int he list */
+ /* If everything is ok, modify the entry in the list */
if ( ((new_key_string->len) > WPA_KEY_MAX_CHAR_SIZE) || ((new_key_string->len) < WPA_KEY_MIN_CHAR_SIZE))
{
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
return;
}
/*
- * XXX - Maybe we need some check on the characters? I'm not sure if only stabdard ASCII are ok...
+ * XXX - Maybe we need some check on the characters? I'm not sure if only standard ASCII are ok...
*/
- if ( ((new_ssid_string->len) > WPA_SSID_MAX_CHAR_SIZE) || ((new_ssid_string->len) < WPA_SSID_MIN_CHAR_SIZE))
+ if ((new_ssid_string->len) > WPA_SSID_MAX_CHAR_SIZE)
{
simple_dialog(ESD_TYPE_ERROR,ESD_BTN_OK,"SSID key size out of range!\nValid SSID size range is %d-%d ASCII characters (%d-%d bits).",WPA_SSID_MIN_CHAR_SIZE,WPA_SSID_MAX_CHAR_SIZE,WPA_SSID_MIN_BIT_SIZE,WPA_SSID_MAX_BIT_SIZE);
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
return;
}
else if (g_ascii_strcasecmp(new_type_string->str,AIRPCAP_WPA_BIN_KEY_STRING) == 0) /* WPA_BIN Key */
{
/* XXX - Perform some WPA_BIN related input fields check */
- /* If everything is ok, modify the entry int he list */
+ /* If everything is ok, modify the entry in the list */
if ( ((new_key_string->len) != WPA_PSK_KEY_CHAR_SIZE))
{
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
return;
}
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
return;
}
}
g_string_free(new_key_string, TRUE);
g_string_free(new_ssid_string,TRUE);
- g_free(type_entered);
- g_free(key_entered );
- g_free(ssid_entered);
-
window_destroy(GTK_WIDGET(data));
return;
}
* Callback for the 'Add Key' button.
*/
void
-on_add_new_key_bt_clicked(GtkWidget *button, gpointer data _U_)
+on_add_new_key_bt_clicked(GtkWidget *button _U_, gpointer data)
{
GtkWidget *add_key_window;
GtkWidget *add_frame;
GtkWidget *main_v_box;
GtkWidget *add_tb;
GtkWidget *add_frame_al;
- GtkWidget *add_type_cm;
- GList *add_type_cm_items = NULL;
- GtkWidget *add_type_en;
+ GtkWidget *add_type_cb;
GtkWidget *add_key_te;
GtkWidget *add_ssid_te;
GtkWidget *add_type_lb;
GtkWidget *airpcap_advanced_w;
/* Key List Widget */
- GtkWidget *key_ls;
+ GtkWidget *key_ls;
gint keys_in_list = 0;
gtk_widget_show (add_tb);
gtk_container_add (GTK_CONTAINER (add_frame_al), add_tb);
- add_type_cm = gtk_combo_new ();
- gtk_widget_set_name (add_type_cm, "add_type_cm");
- gtk_widget_show (add_type_cm);
- gtk_table_attach (GTK_TABLE (add_tb), add_type_cm, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_size_request (add_type_cm, 83, -1);
- add_type_cm_items = g_list_append (add_type_cm_items, (gpointer) AIRPCAP_WEP_KEY_STRING);
+ add_type_cb = gtk_combo_box_new_text();
+ gtk_combo_box_append_text(GTK_COMBO_BOX(add_type_cb), AIRPCAP_WEP_KEY_STRING);
- /* XXX - DEcomment only when WPA and WPA_BIN will be ready */
#ifdef HAVE_AIRPDCAP
- add_type_cm_items = g_list_append (add_type_cm_items, (gpointer) AIRPCAP_WPA_PWD_KEY_STRING);
- add_type_cm_items = g_list_append (add_type_cm_items, (gpointer) AIRPCAP_WPA_BIN_KEY_STRING);
+ gtk_combo_box_append_text(GTK_COMBO_BOX(add_type_cb), AIRPCAP_WPA_PWD_KEY_STRING);
+ gtk_combo_box_append_text(GTK_COMBO_BOX(add_type_cb), AIRPCAP_WPA_BIN_KEY_STRING);
#endif
- gtk_combo_set_popdown_strings (GTK_COMBO (add_type_cm),
- add_type_cm_items);
- g_list_free (add_type_cm_items);
-
- add_type_en = GTK_COMBO (add_type_cm)->entry;
- gtk_widget_set_name (add_type_en, "add_type_en");
- gtk_editable_set_editable (GTK_EDITABLE (add_type_en), FALSE);
- gtk_widget_show (add_type_en);
+ gtk_combo_box_set_active(GTK_COMBO_BOX(add_type_cb), 0);
+ gtk_widget_set_name (add_type_cb, "add_type_cb");
+ gtk_widget_show (add_type_cb);
+ gtk_table_attach (GTK_TABLE (add_tb), add_type_cb, 0, 1, 1, 2,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_widget_set_size_request (add_type_cb, 83, -1);
add_key_te = gtk_entry_new ();
gtk_widget_set_name (add_key_te, "add_key_te");
/* Add callbacks */
g_signal_connect(ok_bt, "clicked", G_CALLBACK(on_add_key_ok_bt_clicked), add_key_window );
g_signal_connect(cancel_bt, "clicked", G_CALLBACK(window_cancel_button_cb), add_key_window );
- g_signal_connect(add_type_en, "changed", G_CALLBACK(on_add_type_en_changed), add_key_window);
- g_signal_connect(add_key_window, "delete_event", G_CALLBACK(window_delete_event_cb), add_key_window);
+ g_signal_connect(add_type_cb, "changed", G_CALLBACK(on_add_type_cb_changed), add_key_window);
+ g_signal_connect(add_key_window, "delete_event", G_CALLBACK(window_delete_event_cb), NULL);
g_signal_connect(add_key_window, "destroy", G_CALLBACK(on_add_key_w_destroy), data);
/* Add widget data */
g_object_set_data(G_OBJECT(add_key_window),AIRPCAP_ADVANCED_ADD_KEY_LIST_KEY,key_ls);
g_object_set_data(G_OBJECT(add_key_window),AIRPCAP_ADVANCED_SELECTED_KEY_LIST_ITEM_KEY,selected_item);
- g_object_set_data(G_OBJECT(add_key_window),AIRPCAP_ADVANCED_ADD_KEY_TYPE_KEY,add_type_cm);
+ g_object_set_data(G_OBJECT(add_key_window),AIRPCAP_ADVANCED_ADD_KEY_TYPE_KEY,add_type_cb);
g_object_set_data(G_OBJECT(add_key_window),AIRPCAP_ADVANCED_ADD_KEY_KEY_KEY,add_key_te);
g_object_set_data(G_OBJECT(add_key_window),AIRPCAP_ADVANCED_ADD_KEY_SSID_KEY,add_ssid_te);
g_object_set_data(G_OBJECT(add_key_window),AIRPCAP_ADVANCED_ADD_KEY_KEY_LABEL_KEY,add_key_lb);
gtk_widget_show(add_key_window);
}
-/*
- * Add key window destroy callback
- */
-static void
-add_key_w_destroy_cb(GtkWidget *button, gpointer data _U_)
-{
- return;
-}
-
/*
* Edit key window destroy callback
*/
void
-on_edit_key_w_destroy(GtkWidget *button, gpointer data _U_)
+on_edit_key_w_destroy(GtkWidget *button _U_, gpointer data)
{
GtkWidget *airpcap_advanced_w;
* Add key window destroy callback
*/
void
-on_add_key_w_destroy(GtkWidget *button, gpointer data _U_)
+on_add_key_w_destroy(GtkWidget *button _U_, gpointer data)
{
GtkWidget *airpcap_advanced_w;
* Callback for the 'Remove Key' button.
*/
void
-on_remove_key_bt_clicked(GtkWidget *button, gpointer data _U_)
+on_remove_key_bt_clicked(GtkWidget *button _U_, gpointer data)
{
GtkWidget *key_ls;
GtkWidget *airpcap_advanced_w;
if ( r == NO_ROW_SELECTED ) /* No key selected */
return;
- /* Remove selected key*/
+ /* Remove selected key */
gtk_clist_remove(GTK_CLIST(key_ls),r);
/* Reselect another row, if any... */
* Callback for the 'Edit Key' button.
*/
void
-on_edit_key_bt_clicked(GtkWidget *button, gpointer data _U_)
+on_edit_key_bt_clicked(GtkWidget *button _U_, gpointer data)
{
GtkWidget *edit_key_window;
GtkWidget *edit_frame;
GtkWidget *main_v_box;
GtkWidget *edit_tb;
GtkWidget *edit_frame_al;
- GtkWidget *edit_type_cm;
- GList *edit_type_cm_items = NULL;
- GtkWidget *edit_type_en;
+ GtkWidget *edit_type_cb;
GtkWidget *edit_key_te;
GtkWidget *edit_ssid_te;
GtkWidget *edit_type_lb;
GtkWidget *airpcap_advanced_w;
/* Key List Widget */
- GtkWidget *key_ls;
+ GtkWidget *key_ls;
/* Selected entry in the key list (if any)*/
airpcap_key_ls_selected_info_t* selected_item;
gchar *row_type,
- *row_key,
- *row_ssid;
+ *row_key,
+ *row_ssid;
gint r,c;
gtk_widget_show (edit_tb);
gtk_container_add (GTK_CONTAINER (edit_frame_al), edit_tb);
- edit_type_cm = gtk_combo_new ();
- gtk_widget_set_name (edit_type_cm, "edit_type_cm");
- gtk_widget_show (edit_type_cm);
- gtk_table_attach (GTK_TABLE (edit_tb), edit_type_cm, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_size_request (edit_type_cm, 83, -1);
- edit_type_cm_items = g_list_append (edit_type_cm_items, (gpointer) AIRPCAP_WEP_KEY_STRING);
- /* XXX - Decomment only when WPA and WPA_BIN support will be ready!!! */
+ edit_type_cb = gtk_combo_box_new_text();
+ gtk_combo_box_append_text(GTK_COMBO_BOX(edit_type_cb), AIRPCAP_WEP_KEY_STRING);
+
#ifdef HAVE_AIRPDCAP
- edit_type_cm_items = g_list_append (edit_type_cm_items, (gpointer) AIRPCAP_WPA_PWD_KEY_STRING);
- edit_type_cm_items = g_list_append (edit_type_cm_items, (gpointer) AIRPCAP_WPA_BIN_KEY_STRING);
+ gtk_combo_box_append_text(GTK_COMBO_BOX(edit_type_cb), AIRPCAP_WPA_PWD_KEY_STRING);
+ gtk_combo_box_append_text(GTK_COMBO_BOX(edit_type_cb), AIRPCAP_WPA_BIN_KEY_STRING);
#endif
- gtk_combo_set_popdown_strings (GTK_COMBO (edit_type_cm),
- edit_type_cm_items);
- g_list_free (edit_type_cm_items);
-
- edit_type_en = GTK_COMBO (edit_type_cm)->entry;
- gtk_widget_set_name (edit_type_en, "edit_type_en");
/* Set current type */
- gtk_entry_set_text(GTK_ENTRY(edit_type_en),row_type);
- gtk_editable_set_editable (GTK_EDITABLE (edit_type_en), FALSE);
- gtk_widget_show (edit_type_en);
+ gtk_combo_box_set_active(GTK_COMBO_BOX(edit_type_cb), 0);
+#ifdef HAVE_AIRPDCAP
+ if (g_ascii_strcasecmp(row_type, AIRPCAP_WPA_PWD_KEY_STRING) == 0) {
+ gtk_combo_box_set_active(GTK_COMBO_BOX(edit_type_cb), 1);
+ } else if (g_ascii_strcasecmp(row_type, AIRPCAP_WPA_BIN_KEY_STRING) == 0) {
+ gtk_combo_box_set_active(GTK_COMBO_BOX(edit_type_cb), 2);
+ }
+#endif
+ gtk_widget_set_name (edit_type_cb, "edit_type_cb");
+ gtk_widget_show (edit_type_cb);
+ gtk_table_attach (GTK_TABLE (edit_tb), edit_type_cb, 0, 1, 1, 2,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_widget_set_size_request (edit_type_cb, 83, -1);
edit_key_te = gtk_entry_new ();
gtk_widget_set_name (edit_key_te, "edit_key_te");
/* Add callbacks */
g_signal_connect(ok_bt, "clicked", G_CALLBACK(on_edit_key_ok_bt_clicked), edit_key_window );
g_signal_connect(cancel_bt, "clicked", G_CALLBACK(window_cancel_button_cb), edit_key_window );
- g_signal_connect(edit_type_en, "changed", G_CALLBACK(on_edit_type_en_changed), edit_key_window);
- g_signal_connect(edit_key_window, "delete_event", G_CALLBACK(window_delete_event_cb), edit_key_window);
+ g_signal_connect(edit_type_cb, "changed", G_CALLBACK(on_edit_type_cb_changed), edit_key_window);
+ g_signal_connect(edit_key_window, "delete_event", G_CALLBACK(window_delete_event_cb), NULL);
g_signal_connect(edit_key_window, "destroy", G_CALLBACK(on_edit_key_w_destroy), data);
/* Add widget data */
g_object_set_data(G_OBJECT(edit_key_window),AIRPCAP_ADVANCED_EDIT_KEY_LIST_KEY,key_ls);
g_object_set_data(G_OBJECT(edit_key_window),AIRPCAP_ADVANCED_EDIT_KEY_SELECTED_KEY,selected_item);
- g_object_set_data(G_OBJECT(edit_key_window),AIRPCAP_ADVANCED_EDIT_KEY_TYPE_KEY,edit_type_cm);
+ g_object_set_data(G_OBJECT(edit_key_window),AIRPCAP_ADVANCED_EDIT_KEY_TYPE_KEY,edit_type_cb);
g_object_set_data(G_OBJECT(edit_key_window),AIRPCAP_ADVANCED_EDIT_KEY_KEY_KEY,edit_key_te);
g_object_set_data(G_OBJECT(edit_key_window),AIRPCAP_ADVANCED_EDIT_KEY_SSID_KEY,edit_ssid_te);
g_object_set_data(G_OBJECT(edit_key_window),AIRPCAP_ADVANCED_EDIT_KEY_KEY_LABEL_KEY,edit_key_lb);
* Callback for the 'Move Key Up' button.
*/
void
-on_move_key_up_bt_clicked(GtkWidget *button, gpointer data _U_)
+on_move_key_up_bt_clicked(GtkWidget *button _U_, gpointer data)
{
GtkWidget *airpcap_advanced_w;
GtkWidget *key_ls;
* Callback for the 'Move Key Down' button.
*/
void
-on_move_key_down_bt_clicked(GtkWidget *button, gpointer data _U_)
+on_move_key_down_bt_clicked(GtkWidget *button _U_, gpointer data)
{
GtkWidget *airpcap_advanced_w;
GtkWidget *key_ls;
/* Turns the decryption on or off */
void
-on_enable_decryption_en_changed(GtkWidget *w, gpointer data)
+on_decryption_mode_cb_changed(GtkWidget *cb, gpointer data _U_)
{
- GtkEntry *decryption_en;
-
- char* decryption_mode_string = NULL;
-
- decryption_en = GTK_ENTRY(w);
-
- /*
- * This callback is called twice: when the current text is canceled ("")
- * and then when the 'new text' is added ("new text"). We don't really
- * care about the first time, and we just return.
- */
- if (g_ascii_strcasecmp(gtk_entry_get_text(decryption_en),"") == 0)
+ gint cur_active;
+
+ if (cb == NULL) {
return;
-
- if (g_ascii_strcasecmp(gtk_entry_get_text(decryption_en),AIRPCAP_DECRYPTION_TYPE_STRING_WIRESHARK) == 0)
- {
- set_wireshark_decryption(TRUE);
- if (!set_airpcap_decryption(FALSE)) g_warning(CANT_SAVE_ERR_STR);
}
- else if (g_ascii_strcasecmp(gtk_entry_get_text(decryption_en),AIRPCAP_DECRYPTION_TYPE_STRING_AIRPCAP) == 0)
- {
- set_wireshark_decryption(FALSE);
- if (!set_airpcap_decryption(TRUE)) g_warning(CANT_SAVE_ERR_STR);
+
+ cur_active = gtk_combo_box_get_active(GTK_COMBO_BOX(cb));
+
+ if (cur_active < 0) {
+ return;
}
- else if (g_ascii_strcasecmp(gtk_entry_get_text(decryption_en),AIRPCAP_DECRYPTION_TYPE_STRING_NONE) == 0)
- {
- set_wireshark_decryption(FALSE);
- if (!set_airpcap_decryption(FALSE)) g_warning(CANT_SAVE_ERR_STR);
+
+ switch(cur_active) {
+ /* XXX - Don't use magic numbers here */
+ case 1: /* Wireshark */
+ set_wireshark_decryption(TRUE);
+ if (!set_airpcap_decryption(FALSE)) g_warning(CANT_SAVE_ERR_STR);
+ break;
+ case 2: /* Driver */
+ set_wireshark_decryption(FALSE);
+ if (!set_airpcap_decryption(TRUE)) g_warning(CANT_SAVE_ERR_STR);
+ break;
+ default:
+ set_wireshark_decryption(FALSE);
+ if (!set_airpcap_decryption(FALSE)) g_warning(CANT_SAVE_ERR_STR);
+ break;
}
/* Redissect all the packets, and re-evaluate the display filter. */
- cf_redissect_packets(&cfile);
+ redissect_packets();
}
/*
- * Will fill the given combo box with the current decryption mode string
+ * Selects the current decryption mode string in the decryption mode combo box
*/
void
-update_decryption_mode_cm(GtkWidget *w)
+update_decryption_mode(GtkWidget *cb)
{
- /*
- * This ensures that the entry tet changes... the callback will return immediately, but
- * at least next time packets will be redissected...
- */
- gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(w)->entry),"");
+ if (cb == NULL) {
+ return;
+ }
/* Wireshark decryption is on */
if (wireshark_decryption_on())
{
- gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(w)->entry),AIRPCAP_DECRYPTION_TYPE_STRING_WIRESHARK);
- /* We don't know if AirPcap decryption is on or off, but we just turn it off */
- if (!set_airpcap_decryption(FALSE)) g_warning(CANT_SAVE_ERR_STR);
+ gtk_combo_box_set_active(GTK_COMBO_BOX(cb), 1);
}
/* AirPcap decryption is on */
else if (airpcap_decryption_on())
{
- gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(w)->entry),AIRPCAP_DECRYPTION_TYPE_STRING_AIRPCAP);
+ gtk_combo_box_set_active(GTK_COMBO_BOX(cb), 2);
}
/* No decryption enabled */
else
{
- gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(w)->entry),AIRPCAP_DECRYPTION_TYPE_STRING_NONE);
+ gtk_combo_box_set_active(GTK_COMBO_BOX(cb), 0);
}
return;
* Creates the list of available decryption modes, depending on the adapters found
*/
void
-update_decryption_mode_list(GtkWidget *w)
+update_decryption_mode_list(GtkWidget *cb)
{
- GList *enable_decryption_cb_items = NULL;
- GtkWidget *entry;
- gchar *current_text;
+ gchar *current_text;
- if (w == NULL)
+ if (cb == NULL)
return;
- entry = GTK_COMBO(w)->entry;
current_text = NULL;
/*
* XXX - Retrieve the current 'decryption mode'. It would be better just block the
- * signal handler, but it doesn't work... one of these days I'll try to figure otu why...
+ * signal handler, but it doesn't work... one of these days I'll try to figure out why...
*/
- current_text = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry)));
-
- enable_decryption_cb_items = g_list_append (enable_decryption_cb_items, AIRPCAP_DECRYPTION_TYPE_STRING_NONE);
- enable_decryption_cb_items = g_list_append (enable_decryption_cb_items, AIRPCAP_DECRYPTION_TYPE_STRING_WIRESHARK);
+ current_text = gtk_combo_box_get_active_text(GTK_COMBO_BOX(cb));
+
+ while (gtk_tree_model_iter_n_children(gtk_combo_box_get_model(GTK_COMBO_BOX(cb)), NULL) > 0) {
+ gtk_combo_box_remove_text(GTK_COMBO_BOX(cb), 0);
+ }
+ gtk_combo_box_append_text(GTK_COMBO_BOX(cb), AIRPCAP_DECRYPTION_TYPE_STRING_NONE);
+ gtk_combo_box_append_text(GTK_COMBO_BOX(cb), AIRPCAP_DECRYPTION_TYPE_STRING_WIRESHARK);
+
if (airpcap_if_list != NULL && g_list_length(airpcap_if_list) > 0)
{
- enable_decryption_cb_items = g_list_append (enable_decryption_cb_items, AIRPCAP_DECRYPTION_TYPE_STRING_AIRPCAP);
+ gtk_combo_box_append_text(GTK_COMBO_BOX(cb), AIRPCAP_DECRYPTION_TYPE_STRING_AIRPCAP);
}
else
{
/* The last decryption mode was 'Driver', but no more AirPcap adapter are found */
if (g_ascii_strcasecmp(current_text,AIRPCAP_DECRYPTION_TYPE_STRING_AIRPCAP) == 0)
{
- if (current_text != NULL) g_free(current_text);
-
+ g_free(current_text);
current_text = g_strdup(AIRPCAP_DECRYPTION_TYPE_STRING_NONE);
}
}
- g_signal_handlers_block_matched(entry,G_SIGNAL_MATCH_DATA,0,0,0,0,airpcap_tb);
- gtk_combo_set_popdown_strings (GTK_COMBO (w), enable_decryption_cb_items);
- /* The 'changed' callback will be called twice */
- gtk_entry_set_text(GTK_ENTRY(entry),current_text);
- g_signal_handlers_unblock_matched(entry,G_SIGNAL_MATCH_DATA,0,0,0,0,airpcap_tb);
-
- if (current_text != NULL) g_free(current_text);
+ if (g_ascii_strcasecmp(current_text, AIRPCAP_DECRYPTION_TYPE_STRING_WIRESHARK) == 0) {
+ gtk_combo_box_set_active(GTK_COMBO_BOX(cb), 1);
+ } else if (g_ascii_strcasecmp(current_text, AIRPCAP_DECRYPTION_TYPE_STRING_AIRPCAP) == 0) {
+ gtk_combo_box_set_active(GTK_COMBO_BOX(cb), 2);
+ } else { /* None / Invalid */
+ gtk_combo_box_set_active(GTK_COMBO_BOX(cb), 0);
+ }
- g_list_free (enable_decryption_cb_items);
+ g_free(current_text);
}
/* Called to create the airpcap settings' window */
void
-display_airpcap_advanced_cb(GtkWidget *w, gpointer data)
+display_airpcap_advanced_cb(GtkWidget *w _U_, gpointer data)
{
GtkWidget *airpcap_advanced_w;
GtkWidget *main_box;
GtkWidget *channel_lb;
GtkWidget *channel_offset_lb;
GtkWidget *capture_type_lb;
- GtkWidget *channel_cm;
- GList *channel_cm_items = NULL;
- GtkWidget *channel_en;
- GtkWidget *capture_type_cm;
+ GtkWidget *channel_cb;
GtkWidget *channel_offset_cb;
- GList *capture_type_cm_items = NULL;
- GtkWidget *capture_type_en;
+ GtkWidget *capture_type_cb;
GtkWidget *fcs_ck;
GtkWidget *basic_parameters_fcs_h_box;
GtkWidget *basic_parameters_fcs_filter_lb;
- GtkWidget *fcs_filter_cm;
- GList *fcs_filter_cm_items = NULL;
- GtkWidget *fcs_filter_en;
+ GtkWidget *fcs_filter_cb;
GtkWidget *basic_parameters_frame_lb;
GtkWidget *low_buttons_h_box;
GtkWidget *left_h_button_box;
GtkWidget *apply_bt;
GtkWidget *cancel_bt;
- /* for loop counter */
- guint i;
-
/* widgets in the toolbar */
- GtkWidget *toolbar,
- *toolbar_if_lb,
- *toolbar_channel_cm,
- *toolbar_wrong_crc_cm;
-
- /* other stuff */
- /*GList *channel_list,*capture_list;*/
- /*GList *linktype_list = NULL;*/
- gchar *capture_s;
+ GtkWidget *toolbar,
+ *toolbar_if_lb,
+ *toolbar_channel_cb,
+ *toolbar_wrong_crc_cb;
/* user data - RETRIEVE pointers of toolbar widgets */
- toolbar = GTK_WIDGET(data);
- toolbar_if_lb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_INTERFACE_KEY));
- toolbar_channel_cm = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_CHANNEL_KEY));
- toolbar_wrong_crc_cm= GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_FCS_FILTER_KEY));
+ toolbar = GTK_WIDGET(data);
+ toolbar_if_lb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_INTERFACE_KEY));
+ toolbar_channel_cb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_CHANNEL_KEY));
+ toolbar_wrong_crc_cb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_FCS_FILTER_KEY));
/* gray out the toolbar */
gtk_widget_set_sensitive(toolbar,FALSE);
/* main window */
/* global */
- /* NULL to global widgets */
- block_advanced_signals = FALSE;
-
/* the selected is the active, for now */
airpcap_if_selected = airpcap_if_active;
/* Create the new window */
- airpcap_advanced_w = window_new(GTK_WINDOW_TOPLEVEL, "Advanced Wireless Settings");
+ airpcap_advanced_w = dlg_window_new("Advanced Wireless Settings"); /* transient_for top_level */
+ gtk_window_set_destroy_with_parent (GTK_WINDOW(airpcap_advanced_w), TRUE);
gtk_container_set_border_width (GTK_CONTAINER (airpcap_advanced_w), 5);
gtk_window_set_position (GTK_WINDOW (airpcap_advanced_w),
/* End: Channel offset label */
/* Start: Channel offset combo box */
- channel_offset_cb = gtk_combo_new();
+ channel_offset_cb = gtk_combo_box_new_text();
gtk_widget_set_name (channel_offset_cb, "channel_offset_cb");
- gtk_editable_set_editable(GTK_EDITABLE(GTK_COMBO(channel_offset_cb)->entry),FALSE);
- airpcap_update_channel_offset_cb(airpcap_if_selected, airpcap_if_selected->channelInfo.Frequency, channel_offset_cb);
- airpcap_update_channel_offset_combo_entry(channel_offset_cb, airpcap_if_selected->channelInfo.ExtChannel);
+ airpcap_update_channel_offset_combo(airpcap_if_selected, airpcap_if_selected->channelInfo.Frequency, channel_offset_cb, FALSE);
gtk_widget_show(channel_offset_cb);
(GtkAttachOptions) (0), 0, 0);
/* End: Channel offset combo box */
- channel_cm = gtk_combo_new ();
- gtk_widget_set_name (channel_cm, "channel_cm");
- gtk_widget_show (channel_cm);
- gtk_table_attach (GTK_TABLE (basic_parameters_tb), channel_cm, 1, 2, 0, 1,
+ channel_cb = gtk_combo_box_new_text();
+ gtk_widget_set_name (channel_cb, "channel_cb");
+ gtk_widget_show (channel_cb);
+ gtk_table_attach (GTK_TABLE (basic_parameters_tb), channel_cb, 1, 2, 0, 1,
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
- if (airpcap_if_selected != NULL && airpcap_if_selected->pSupportedChannels != NULL && airpcap_if_selected->numSupportedChannels > 0){
- for (i = 0; i<(airpcap_if_selected->numSupportedChannels); i++){
- channel_cm_items = g_list_append(channel_cm_items, ieee80211_mhz_to_str(airpcap_if_selected->pSupportedChannels[i].Frequency));
- }
- gtk_combo_set_popdown_strings( GTK_COMBO(channel_cm), channel_cm_items);
- airpcap_free_channel_combo_list (channel_cm_items);
- }
+ /* Select the current channel */
+ airpcap_update_channel_combo(GTK_WIDGET(channel_cb), airpcap_if_selected);
- /* Select the first entry */
- if (airpcap_if_selected != NULL)
- {
- airpcap_update_channel_combo(GTK_WIDGET(channel_cm), airpcap_if_selected);
+ capture_type_cb = gtk_combo_box_new_text();
+ gtk_combo_box_append_text(GTK_COMBO_BOX(capture_type_cb), AIRPCAP_LINK_TYPE_NAME_802_11_ONLY);
+ gtk_combo_box_append_text(GTK_COMBO_BOX(capture_type_cb), AIRPCAP_LINK_TYPE_NAME_802_11_PLUS_RADIO);
+ if (airpcap_get_dll_state() == AIRPCAP_DLL_OK) {
+ gtk_combo_box_append_text(GTK_COMBO_BOX(capture_type_cb), AIRPCAP_LINK_TYPE_NAME_802_11_PLUS_PPI);
}
-
- channel_en = GTK_COMBO (channel_cm)->entry;
- gtk_editable_set_editable(GTK_EDITABLE(channel_en),FALSE);
- gtk_widget_set_name (channel_en, "channel_en");
- gtk_widget_show (channel_en);
-
- capture_type_cm = gtk_combo_new ();
- gtk_widget_set_name (capture_type_cm, "capture_type_cm");
- gtk_widget_show (capture_type_cm);
- gtk_table_attach (GTK_TABLE (basic_parameters_tb), capture_type_cm, 1, 2, 2,
+ gtk_widget_set_name (capture_type_cb, "capture_type_cb");
+ gtk_widget_show (capture_type_cb);
+ gtk_table_attach (GTK_TABLE (basic_parameters_tb), capture_type_cb, 1, 2, 2,
3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
- capture_type_cm_items =
- g_list_append (capture_type_cm_items, (gpointer) AIRPCAP_LINK_TYPE_NAME_802_11_ONLY);
- capture_type_cm_items =
- g_list_append (capture_type_cm_items, (gpointer) AIRPCAP_LINK_TYPE_NAME_802_11_PLUS_RADIO);
-
- if (airpcap_get_dll_state() == AIRPCAP_DLL_OK){
- capture_type_cm_items =
- g_list_append (capture_type_cm_items, (gpointer) AIRPCAP_LINK_TYPE_NAME_802_11_PLUS_PPI);
- }
- gtk_combo_set_popdown_strings (GTK_COMBO (capture_type_cm),
- capture_type_cm_items);
/* Current interface value */
- capture_s = NULL;
if (airpcap_if_selected != NULL)
{
- if (airpcap_if_selected->linkType == AIRPCAP_LT_802_11){
- capture_s = g_strdup_printf("%s",AIRPCAP_LINK_TYPE_NAME_802_11_ONLY);
- }else if (airpcap_if_selected->linkType == AIRPCAP_LT_802_11_PLUS_RADIO){
- capture_s = g_strdup_printf("%s",AIRPCAP_LINK_TYPE_NAME_802_11_PLUS_RADIO);
- }else if (airpcap_if_selected->linkType == AIRPCAP_LT_802_11_PLUS_PPI){
- capture_s = g_strdup_printf("%s",AIRPCAP_LINK_TYPE_NAME_802_11_PLUS_PPI);
- }
-
- if (capture_s != NULL) gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(capture_type_cm)->entry), capture_s);
+ if (airpcap_if_selected->linkType == AIRPCAP_LT_802_11_PLUS_RADIO){
+ gtk_combo_box_set_active(GTK_COMBO_BOX(capture_type_cb), AIRPCAP_LINK_TYPE_NUM_802_11_PLUS_RADIO);
+ }else if (airpcap_if_selected->linkType == AIRPCAP_LT_802_11_PLUS_PPI){
+ gtk_combo_box_set_active(GTK_COMBO_BOX(capture_type_cb), AIRPCAP_LINK_TYPE_NUM_802_11_PLUS_PPI);
+ } else {
+ gtk_combo_box_set_active(GTK_COMBO_BOX(capture_type_cb), AIRPCAP_LINK_TYPE_NUM_802_11_ONLY);
+ }
}
- g_free(capture_s);
-
- g_list_free (capture_type_cm_items);
-
- capture_type_en = GTK_COMBO (capture_type_cm)->entry;
- gtk_widget_set_name (capture_type_en, "capture_type_en");
- gtk_widget_show (capture_type_en);
fcs_ck = gtk_check_button_new_with_label ("Include 802.11 FCS in Frames");
gtk_box_pack_start (GTK_BOX (basic_parameters_fcs_h_box),
basic_parameters_fcs_filter_lb, FALSE, FALSE, 0);
- fcs_filter_cm = gtk_combo_new ();
- gtk_widget_set_name (fcs_filter_cm, "fcs_filter_cm");
- gtk_widget_show (fcs_filter_cm);
- gtk_box_pack_start (GTK_BOX (basic_parameters_fcs_h_box), fcs_filter_cm,
+ fcs_filter_cb = gtk_combo_box_new_text();
+ gtk_combo_box_append_text(GTK_COMBO_BOX(fcs_filter_cb), airpcap_get_validation_name(AIRPCAP_VT_ACCEPT_EVERYTHING));
+ gtk_combo_box_append_text(GTK_COMBO_BOX(fcs_filter_cb), airpcap_get_validation_name(AIRPCAP_VT_ACCEPT_CORRECT_FRAMES));
+ gtk_combo_box_append_text(GTK_COMBO_BOX(fcs_filter_cb), airpcap_get_validation_name(AIRPCAP_VT_ACCEPT_CORRUPT_FRAMES));
+ gtk_combo_box_set_active(GTK_COMBO_BOX(fcs_filter_cb), 0);
+ gtk_widget_set_name (fcs_filter_cb, "fcs_filter_cb");
+ gtk_widget_show (fcs_filter_cb);
+ gtk_box_pack_start (GTK_BOX (basic_parameters_fcs_h_box), fcs_filter_cb,
FALSE, FALSE, 0);
- gtk_widget_set_size_request (fcs_filter_cm, 112, -1);
- fcs_filter_cm_items =
- g_list_append (fcs_filter_cm_items, (gpointer) "All Frames");
- fcs_filter_cm_items =
- g_list_append (fcs_filter_cm_items, (gpointer) "Valid Frames");
- fcs_filter_cm_items =
- g_list_append (fcs_filter_cm_items, (gpointer) "Invalid Frames");
- gtk_combo_set_popdown_strings (GTK_COMBO (fcs_filter_cm),
- fcs_filter_cm_items);
- g_list_free (fcs_filter_cm_items);
-
- fcs_filter_en = GTK_COMBO (fcs_filter_cm)->entry;
- gtk_widget_set_name (fcs_filter_en, "fcs_filter_en");
+ gtk_widget_set_size_request (fcs_filter_cb, 112, -1);
if (airpcap_if_selected != NULL)
{
- airpcap_validation_type_combo_set_by_type(fcs_filter_cm,airpcap_if_selected->CrcValidationOn);
+ airpcap_validation_type_combo_set_by_type(fcs_filter_cb, airpcap_if_selected->CrcValidationOn);
}
- gtk_widget_show (fcs_filter_en);
-
basic_parameters_frame_lb = gtk_label_new ("<b>Basic Parameters</b>");
gtk_widget_set_name (basic_parameters_frame_lb,
"basic_parameters_frame_lb");
cancel_bt = g_object_get_data(G_OBJECT(right_h_button_box), GTK_STOCK_CANCEL);
/* Connect the callbacks */
- g_signal_connect (airpcap_advanced_w, "delete_event", G_CALLBACK(window_delete_event_cb), airpcap_advanced_w);
+ g_signal_connect (airpcap_advanced_w, "delete_event", G_CALLBACK(window_delete_event_cb), NULL);
g_signal_connect (airpcap_advanced_w, "destroy", G_CALLBACK(on_airpcap_advanced_destroy), airpcap_advanced_w);
if (!airpcap_if_is_any(airpcap_if_selected))
{
- g_signal_connect (blink_bt, "clicked", G_CALLBACK(on_blink_bt_clicked), airpcap_advanced_w);
+ g_signal_connect (blink_bt, "clicked", G_CALLBACK(on_blink_bt_clicked), NULL);
}
else
{
- g_signal_connect (blink_bt, "clicked", G_CALLBACK(on_what_s_this_bt_clicked), airpcap_advanced_w);
+ g_signal_connect (blink_bt, "clicked", G_CALLBACK(on_what_s_this_bt_clicked), NULL);
}
- g_signal_connect (channel_en, "changed", G_CALLBACK(on_channel_en_changed), channel_offset_cb);
- g_signal_connect (GTK_COMBO(channel_offset_cb)->entry, "changed", G_CALLBACK(on_channel_offset_cb_changed), airpcap_advanced_w);
- g_signal_connect (capture_type_en, "changed", G_CALLBACK(on_capture_type_en_changed), airpcap_advanced_w);
- g_signal_connect (fcs_ck, "toggled", G_CALLBACK(on_fcs_ck_toggled), airpcap_advanced_w);
- g_signal_connect (fcs_filter_en, "changed", G_CALLBACK(on_fcs_filter_en_changed), airpcap_advanced_w);
- g_signal_connect (reset_configuration_bt, "clicked", G_CALLBACK(on_reset_configuration_bt_clicked), airpcap_advanced_w);
+ g_signal_connect (channel_cb, "changed", G_CALLBACK(airpcap_channel_changed_noset_cb), channel_offset_cb);
+ /* We don't attach the channel offset combo because we don't want it changing anything yet. */
+ g_signal_connect (capture_type_cb, "changed", G_CALLBACK(on_capture_type_cb_changed), NULL);
+ g_signal_connect (fcs_ck, "toggled", G_CALLBACK(on_fcs_ck_toggled), NULL);
+ g_signal_connect (fcs_filter_cb, "changed", G_CALLBACK(on_fcs_filter_cb_changed), NULL);
+ g_signal_connect (reset_configuration_bt, "clicked", G_CALLBACK(on_reset_configuration_bt_clicked), NULL);
g_signal_connect (apply_bt, "clicked", G_CALLBACK(on_advanced_apply_bt_clicked), airpcap_advanced_w);
g_signal_connect (ok_bt,"clicked", G_CALLBACK(on_advanced_ok_bt_clicked), airpcap_advanced_w);
g_signal_connect (cancel_bt,"clicked", G_CALLBACK(on_advanced_cancel_bt_clicked), airpcap_advanced_w);
/* Store pointers to all widgets, for use by lookup_widget(). */
g_object_set_data (G_OBJECT(airpcap_advanced_w), AIRPCAP_ADVANCED_BLINK_KEY, blink_bt);
- g_object_set_data (G_OBJECT(airpcap_advanced_w), AIRPCAP_ADVANCED_CHANNEL_KEY,channel_cm);
- g_object_set_data (G_OBJECT(airpcap_advanced_w), AIRPCAP_ADVANCED_LINK_TYPE_KEY,capture_type_cm);
+ g_object_set_data (G_OBJECT(airpcap_advanced_w), AIRPCAP_ADVANCED_CHANNEL_KEY,channel_cb);
+ g_object_set_data (G_OBJECT(airpcap_advanced_w), AIRPCAP_ADVANCED_CHANNEL_OFFSET_KEY, channel_offset_cb);
+ g_object_set_data (G_OBJECT(airpcap_advanced_w), AIRPCAP_ADVANCED_LINK_TYPE_KEY,capture_type_cb);
g_object_set_data (G_OBJECT(airpcap_advanced_w), AIRPCAP_ADVANCED_FCS_CHECK_KEY, fcs_ck);
- g_object_set_data (G_OBJECT(airpcap_advanced_w), AIRPCAP_ADVANCED_FCS_FILTER_KEY, fcs_filter_cm);
+ g_object_set_data (G_OBJECT(airpcap_advanced_w), AIRPCAP_ADVANCED_FCS_FILTER_KEY, fcs_filter_cb);
g_object_set_data (G_OBJECT(airpcap_advanced_w), AIRPCAP_ADVANCED_OK_KEY, ok_bt);
g_object_set_data (G_OBJECT(airpcap_advanced_w), AIRPCAP_ADVANCED_CANCEL_KEY, cancel_bt);
}
/*
- * Callback for the OK button 'clicked' in the Advanced Wireless Settings window.
+ * Callback for the Wireless Advanced Settings 'Apply' button.
*/
void
-on_advanced_ok_bt_clicked(GtkWidget *button, gpointer data _U_)
+on_advanced_apply_bt_clicked(GtkWidget *button _U_, gpointer data)
{
- PAirpcapHandle ad = NULL;
- gchar ebuf[AIRPCAP_ERRBUF_SIZE];
-
- /* Retrieve object data */
- GtkWidget *airpcap_advanced_w;
- GtkWidget *channel_combo;
- GtkWidget *capture_combo;
- GtkWidget *crc_check;
- GtkWidget *wrong_crc_combo;
- GtkWidget *blink_bt;
- GtkWidget *interface_combo;
- GtkWidget *cancel_bt;
- GtkWidget *ok_bt;
+ /* advenced window */
+ GtkWidget *airpcap_advanced_w;
+ GtkWidget *channel_cb, *channel_offset_cb;
/* widgets in the toolbar */
- GtkWidget *toolbar,
- *toolbar_if_lb,
- *toolbar_channel_cm,
- *toolbar_channel_offset_cb,
- *toolbar_wrong_crc_cm,
- *advanced_bt;
+ GtkWidget *toolbar,
+ *toolbar_if_lb,
+ *toolbar_channel_cb,
+ *toolbar_channel_offset_cb,
+ *toolbar_fcs_filter_cb;
- /* Retrieve the GUI object pointers */
- airpcap_advanced_w = GTK_WIDGET(data);
- interface_combo = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_INTERFACE_KEY));
- channel_combo = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_CHANNEL_KEY));
- capture_combo = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_LINK_TYPE_KEY));
- crc_check = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_FCS_CHECK_KEY));
- wrong_crc_combo = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_FCS_FILTER_KEY));
- blink_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_BLINK_KEY));
- cancel_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_CANCEL_KEY));
- ok_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_OK_KEY));
- advanced_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_KEY));
-
- toolbar = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_TOOLBAR_KEY));
+ /* retrieve main window */
+ airpcap_advanced_w = GTK_WIDGET(data);
+
+ /* Set the channel and offset */
+ channel_cb = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_CHANNEL_KEY));
+ channel_offset_cb = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_CHANNEL_OFFSET_KEY));
+ airpcap_channel_offset_changed_cb(channel_offset_cb, NULL);
+ airpcap_channel_changed_set_cb(channel_cb, channel_offset_cb);
- /* retrieve toolbar info */
- toolbar_if_lb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_INTERFACE_KEY));
- toolbar_channel_cm = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_CHANNEL_KEY));
- toolbar_channel_offset_cb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_CHANNEL_OFFSET_KEY));
- toolbar_wrong_crc_cm = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_FCS_FILTER_KEY));
- /* Stop blinking ALL leds (go through the airpcap_if_list) */
- if (airpcap_if_selected != NULL)
- {
- ad = airpcap_if_open(airpcap_if_selected->name, ebuf);
- if (ad)
- {
- g_source_remove(airpcap_if_selected->tag);
- airpcap_if_turn_led_on(ad, 0);
- airpcap_if_selected->blinking = FALSE;
- airpcap_if_selected->led = TRUE;
- airpcap_if_close(ad);
- }
- }
+ toolbar = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_TOOLBAR_KEY));
- /* ??? - Ask if want to save configuration */
+ /* retrieve toolbar info */
+ toolbar_if_lb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_INTERFACE_KEY));
+ toolbar_channel_cb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_CHANNEL_KEY));
+ toolbar_channel_offset_cb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_CHANNEL_OFFSET_KEY));
+ toolbar_fcs_filter_cb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_FCS_FILTER_KEY));
- /* Save the configuration */
+ /* Save the configuration (for all ) */
airpcap_save_selected_if_configuration(airpcap_if_selected);
- /* Remove GLIB timeout */
- g_source_remove(airpcap_if_selected->tag);
/* Update toolbar (only if airpcap_if_selected is airpcap_if_active)*/
if ( g_ascii_strcasecmp(airpcap_if_selected->description,airpcap_if_active->description) == 0)
{
gtk_label_set_text(GTK_LABEL(toolbar_if_lb), g_strdup_printf("%s %s\t","Current Wireless Interface: #",airpcap_get_if_string_number(airpcap_if_selected)));
- airpcap_update_channel_combo(GTK_WIDGET(toolbar_channel_cm),airpcap_if_selected);
- airpcap_update_channel_offset_combo_entry(GTK_WIDGET(toolbar_channel_offset_cb),airpcap_if_selected->channelInfo.ExtChannel);
- airpcap_validation_type_combo_set_by_type(toolbar_wrong_crc_cm,airpcap_if_selected->CrcValidationOn);
+ airpcap_update_channel_combo(GTK_WIDGET(toolbar_channel_cb),airpcap_if_selected);
+ airpcap_update_channel_offset_combo(airpcap_if_selected, airpcap_if_selected->channelInfo.Frequency, toolbar_channel_offset_cb, TRUE);
+ airpcap_validation_type_combo_set_by_type(toolbar_fcs_filter_cb,airpcap_if_selected->CrcValidationOn);
}
+}
- /* If interface active is airpcap, set sensitive TRUE for airpcap toolbar */
- if ( get_airpcap_if_from_name(airpcap_if_list,airpcap_if_active->description) != NULL)
- {
- airpcap_set_toolbar_start_capture(airpcap_if_active);
+/*
+ * Callback for the OK button 'clicked' in the Advanced Wireless Settings window.
+ */
+void
+on_advanced_ok_bt_clicked(GtkWidget *button _U_, gpointer data)
+{
+ PAirpcapHandle ad = NULL;
+ gchar ebuf[AIRPCAP_ERRBUF_SIZE];
+
+ /* Retrieve object data */
+ GtkWidget *airpcap_advanced_w = GTK_WIDGET(data);
+
+ if (airpcap_if_selected == NULL) { /* There's not much we can do. */
+ gtk_widget_destroy(airpcap_advanced_w);
+ return;
}
- else
+
+ on_advanced_apply_bt_clicked(button, data);
+
+ /* Stop blinking our LED */
+ ad = airpcap_if_open(airpcap_if_selected->name, ebuf);
+ if (ad)
{
- airpcap_set_toolbar_stop_capture(airpcap_if_active);
+ g_source_remove(airpcap_if_selected->tag);
+ airpcap_if_turn_led_on(ad, 0);
+ airpcap_if_selected->blinking = FALSE;
+ airpcap_if_selected->led = TRUE;
+ airpcap_if_close(ad);
}
+ /* Remove GLIB timeout */
+ g_source_remove(airpcap_if_selected->tag);
+
gtk_widget_destroy(airpcap_advanced_w);
}
* Callback for the CANCEL button 'clicked' in the Advanced Wireless Settings window.
*/
void
-on_advanced_cancel_bt_clicked(GtkWidget *button, gpointer data _U_)
+on_advanced_cancel_bt_clicked(GtkWidget *button _U_, gpointer data)
{
PAirpcapHandle ad = NULL;
gchar ebuf[AIRPCAP_ERRBUF_SIZE];
GtkWidget *ok_bt;
/* widgets in the toolbar */
- GtkWidget *toolbar,
- *toolbar_if_lb,
- *toolbar_channel_cm,
- *toolbar_wrong_crc_cm,
- *advanced_bt;
+ GtkWidget *toolbar,
+ *toolbar_if_lb,
+ *toolbar_channel_cb,
+ *toolbar_wrong_crc_cb,
+ *advanced_bt;
/* Retrieve the GUI object pointers */
airpcap_advanced_w = GTK_WIDGET(data);
- interface_combo = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_INTERFACE_KEY));
- channel_combo = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_CHANNEL_KEY));
- capture_combo = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_LINK_TYPE_KEY));
- crc_check = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_FCS_CHECK_KEY));
- wrong_crc_combo = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_FCS_FILTER_KEY));
- blink_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_BLINK_KEY));
- cancel_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_CANCEL_KEY));
- ok_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_OK_KEY));
- advanced_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_KEY));
+ interface_combo = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_INTERFACE_KEY));
+ channel_combo = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_CHANNEL_KEY));
+ capture_combo = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_LINK_TYPE_KEY));
+ crc_check = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_FCS_CHECK_KEY));
+ wrong_crc_combo = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_FCS_FILTER_KEY));
+ blink_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_BLINK_KEY));
+ cancel_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_CANCEL_KEY));
+ ok_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_OK_KEY));
+ advanced_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_ADVANCED_KEY));
toolbar = GTK_WIDGET(g_object_get_data(G_OBJECT(airpcap_advanced_w),AIRPCAP_TOOLBAR_KEY));
/* retrieve toolbar info */
- toolbar_if_lb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_INTERFACE_KEY));
- toolbar_channel_cm = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_CHANNEL_KEY));
- toolbar_wrong_crc_cm = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_FCS_FILTER_KEY));
+ toolbar_if_lb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_INTERFACE_KEY));
+ toolbar_channel_cb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_CHANNEL_KEY));
+ toolbar_wrong_crc_cb = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_FCS_FILTER_KEY));
/* Stop blinking ALL leds (go through the airpcap_if_list) */
if (airpcap_if_selected != NULL)
}
/* reload the configuration!!! Configuration has not been saved but
- the corresponding structure has been modified probably...*/
+ the corresponding structure has been modified probably...*/
if (!airpcap_if_selected->saved)
{
airpcap_load_selected_if_configuration(airpcap_if_selected);
/* Called to create the key management window */
void
-display_airpcap_key_management_cb(GtkWidget *w, gpointer data)
+display_airpcap_key_management_cb(GtkWidget *w _U_, gpointer data)
{
GtkWidget *key_management_w;
GtkWidget *main_box;
GtkWidget *keys_fr;
GtkWidget *keys_al;
GtkWidget *keys_h_sub_box;
- GtkWidget *enable_decryption_tb;
- GtkWidget *enable_decryption_lb;
- GtkWidget *enable_decryption_cb;
- /*GList *enable_decryption_cb_items = NULL;*/
- GtkWidget *enable_decryption_en;
+ GtkWidget *decryption_mode_tb;
+ GtkWidget *decryption_mode_lb;
+ GtkWidget *decryption_mode_cb;
GtkWidget *keys_v_sub_box;
GtkWidget *keys_scrolled_w;
GtkWidget *key_ls;
GtkWidget *key_list_decryption_type_col_lb;
GtkWidget *key_list_decryption_key_col_lb;
+#ifdef HAVE_AIRPDCAP
GtkWidget *key_ls_decryption_ssid_col_lb;
+#endif
GtkWidget *key_v_button_box;
GtkWidget *add_new_key_bt;
GtkWidget *remove_key_bt;
GtkWidget *cancel_bt;
/* widgets in the toolbar */
- GtkWidget *toolbar,
- *toolbar_decryption_ck;
+ GtkWidget *toolbar,
+ *toolbar_decryption_ck;
/* other stuff */
- /*GList *channel_list,*capture_list;*/
- /*GList *linktype_list = NULL;*/
+ /*GList *channel_list,*capture_list;*/
+ /*GList *linktype_list = NULL;*/
/* Selected row/column structure */
airpcap_key_ls_selected_info_t *key_ls_selected_item;
key_ls_selected_item->column = NO_COLUMN_SELECTED;
/* user data - RETRIEVE pointers of toolbar widgets */
- toolbar = GTK_WIDGET(data);
+ toolbar = GTK_WIDGET(data);
toolbar_decryption_ck = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_DECRYPTION_KEY));
/* gray out the toolbar */
/* main window */
/* global */
- /* NULL to global widgets */
- block_advanced_signals = FALSE;
-
/* the selected is the active, for now */
airpcap_if_selected = airpcap_if_active;
/* Create the new window */
- key_management_w = window_new(GTK_WINDOW_TOPLEVEL, "Decryption Key Management");
+ key_management_w = dlg_window_new("Decryption Key Management"); /* transient_for top_level */
+ gtk_window_set_destroy_with_parent (GTK_WINDOW(key_management_w), TRUE);
gtk_container_set_border_width (GTK_CONTAINER (key_management_w), 5);
gtk_window_set_position (GTK_WINDOW (key_management_w),
gtk_widget_show (keys_h_sub_box);
gtk_container_add (GTK_CONTAINER (keys_al), keys_h_sub_box);
- enable_decryption_tb = gtk_table_new (1, 2, FALSE);
- gtk_widget_set_name (enable_decryption_tb, "enable_decryption_tb");
- gtk_widget_show (enable_decryption_tb);
- gtk_box_pack_start (GTK_BOX (keys_h_sub_box), enable_decryption_tb, FALSE,
+ decryption_mode_tb = gtk_table_new (1, 2, FALSE);
+ gtk_widget_set_name (decryption_mode_tb, "decryption_mode_tb");
+ gtk_widget_show (decryption_mode_tb);
+ gtk_box_pack_start (GTK_BOX (keys_h_sub_box), decryption_mode_tb, FALSE,
FALSE, 0);
- gtk_table_set_col_spacings (GTK_TABLE (enable_decryption_tb), 6);
+ gtk_table_set_col_spacings (GTK_TABLE (decryption_mode_tb), 6);
- enable_decryption_lb = gtk_label_new ("Select Decryption Mode");
- gtk_widget_set_name (enable_decryption_lb, "enable_decryption_lb");
- gtk_widget_show (enable_decryption_lb);
- gtk_table_attach (GTK_TABLE (enable_decryption_tb), enable_decryption_lb, 1,
+ decryption_mode_lb = gtk_label_new ("Select Decryption Mode");
+ gtk_widget_set_name (decryption_mode_lb, "decryption_mode_lb");
+ gtk_widget_show (decryption_mode_lb);
+ gtk_table_attach (GTK_TABLE (decryption_mode_tb), decryption_mode_lb, 1,
2, 0, 1, (GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (enable_decryption_lb), 0, 0.5);
+ gtk_misc_set_alignment (GTK_MISC (decryption_mode_lb), 0, 0.5);
- enable_decryption_cb = gtk_combo_new ();
- gtk_widget_set_name (enable_decryption_cb, "enable_decryption_cb");
- gtk_widget_show (enable_decryption_cb);
- gtk_table_attach (GTK_TABLE (enable_decryption_tb), enable_decryption_cb, 0,
+ decryption_mode_cb = gtk_combo_box_new_text();
+ update_decryption_mode_list(decryption_mode_cb);
+ gtk_widget_set_name (decryption_mode_cb, "decryption_mode_cb");
+ gtk_widget_show (decryption_mode_cb);
+ gtk_table_attach (GTK_TABLE (decryption_mode_tb), decryption_mode_cb, 0,
1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0),
0, 0);
- gtk_widget_set_size_request (enable_decryption_cb, 83, -1);
- update_decryption_mode_list(enable_decryption_cb);
-
- enable_decryption_en = GTK_COMBO (enable_decryption_cb)->entry;
- gtk_widget_set_name (enable_decryption_en, "enable_decryption_en");
- gtk_widget_show (enable_decryption_en);
- gtk_editable_set_editable (GTK_EDITABLE (enable_decryption_en), FALSE);
- GTK_WIDGET_UNSET_FLAGS (enable_decryption_en, GTK_CAN_FOCUS);
+ gtk_widget_set_size_request (decryption_mode_cb, 83, -1);
/* Set correct decryption mode!!!! */
- update_decryption_mode_cm(enable_decryption_cb);
+ update_decryption_mode(decryption_mode_cb);
keys_v_sub_box = gtk_hbox_new (FALSE, 0);
gtk_widget_set_name (keys_v_sub_box, "keys_v_sub_box");
cancel_bt = g_object_get_data(G_OBJECT(right_h_button_box), GTK_STOCK_CANCEL);
/* Connect the callbacks */
- g_signal_connect (key_management_w, "delete_event", G_CALLBACK(window_delete_event_cb), key_management_w);
+ g_signal_connect (key_management_w, "delete_event", G_CALLBACK(window_delete_event_cb), NULL);
g_signal_connect (key_management_w, "destroy", G_CALLBACK(on_key_management_destroy), key_management_w);
g_signal_connect (add_new_key_bt, "clicked", G_CALLBACK(on_add_new_key_bt_clicked), key_management_w);
g_signal_connect (remove_key_bt, "clicked", G_CALLBACK(on_remove_key_bt_clicked), key_management_w);
g_signal_connect (edit_key_bt, "clicked", G_CALLBACK(on_edit_key_bt_clicked), key_management_w);
g_signal_connect (move_key_up_bt, "clicked", G_CALLBACK(on_move_key_up_bt_clicked), key_management_w);
g_signal_connect (move_key_down_bt, "clicked", G_CALLBACK(on_move_key_down_bt_clicked), key_management_w);
- g_signal_connect (reset_configuration_bt, "clicked", G_CALLBACK(on_reset_configuration_bt_clicked), key_management_w);
+ g_signal_connect (reset_configuration_bt, "clicked", G_CALLBACK(on_reset_configuration_bt_clicked), NULL);
g_signal_connect (apply_bt, "clicked", G_CALLBACK(on_key_management_apply_bt_clicked), key_management_w);
g_signal_connect (ok_bt, "clicked", G_CALLBACK(on_key_management_ok_bt_clicked), key_management_w);
g_signal_connect (cancel_bt, "clicked", G_CALLBACK(on_key_management_cancel_bt_clicked), key_management_w);
g_signal_connect (key_ls, "select_row", G_CALLBACK(on_key_ls_select_row), key_management_w);
g_signal_connect (key_ls, "unselect_row", G_CALLBACK(on_key_ls_unselect_row), key_management_w);
- g_signal_connect (key_ls, "click_column", G_CALLBACK(on_key_ls_click_column), key_management_w);
+ g_signal_connect (key_ls, "click_column", G_CALLBACK(on_key_ls_click_column), NULL);
/* Different because the window will be closed ... */
/*window_set_cancel_button(key_management_w, ok_bt, window_cancel_button_cb);
g_object_set_data (G_OBJECT(key_management_w), AIRPCAP_ADVANCED_SELECTED_KEY_LIST_ITEM_KEY,key_ls_selected_item);
/* Store pointers to all widgets, for use by lookup_widget(). */
- g_object_set_data (G_OBJECT(key_management_w), AIRPCAP_ADVANCED_WEP_DECRYPTION_KEY, enable_decryption_en);
+ g_object_set_data (G_OBJECT(key_management_w), AIRPCAP_ADVANCED_DECRYPTION_MODE_KEY, decryption_mode_cb);
g_object_set_data (G_OBJECT(key_management_w), AIRPCAP_ADVANCED_KEYLIST_KEY, key_ls);
g_object_set_data (G_OBJECT(key_management_w), AIRPCAP_ADVANCED_OK_KEY, ok_bt);
g_object_set_data (G_OBJECT(key_management_w), AIRPCAP_ADVANCED_CANCEL_KEY, cancel_bt);
/* Ask the user what to do ...*/
airpcap_keys_check_w(key_management_w,NULL);
}
- else /* Keys from lists are equals, or wireshark has got no keys */
+ else /* Keys from lists are equals, or Wireshark has got no keys */
{
airpcap_load_decryption_keys(airpcap_if_list);
airpcap_fill_key_list(key_ls);
void
on_key_management_ok_bt_clicked(GtkWidget *button, gpointer data)
{
- /* advenced window */
- GtkWidget *key_management_w;
+ /* advanced window */
+ GtkWidget *key_management_w;
/* retrieve main window */
key_management_w = GTK_WIDGET(data);
/* Save the preferences to preferences file!!! */
write_prefs_to_file();
- /* If interface active is airpcap, set sensitive TRUE for airpcap toolbar */
- if (airpcap_if_list != NULL && g_list_length(airpcap_if_list) > 0)
- {
- if (airpcap_if_active != NULL)
- {
- if ( get_airpcap_if_from_name(airpcap_if_list,airpcap_if_active->description) != NULL)
- {
- airpcap_set_toolbar_start_capture(airpcap_if_active);
- }
- else
- {
- airpcap_set_toolbar_stop_capture(airpcap_if_active);
- }
- }
- }
-
gtk_widget_destroy(key_management_w);
}
* Callback for the CANCEL button 'clicked' in the Decryption Key Management window.
*/
void
-on_key_management_cancel_bt_clicked(GtkWidget *button, gpointer data _U_)
+on_key_management_cancel_bt_clicked(GtkWidget *button _U_, gpointer data)
{
- PAirpcapHandle ad = NULL;
-
/* Retrieve object data */
GtkWidget *key_management_w;
GtkWidget *cancel_bt;
GtkWidget *key_ls;
/* widgets in the toolbar */
- GtkWidget *toolbar,
- *toolbar_decryption_ck,
- *key_management_bt;
+ GtkWidget *toolbar,
+ *toolbar_decryption_ck,
+ *key_management_bt;
/* Row selected structure */
airpcap_key_ls_selected_info_t *selected_item;
/* Retrieve the GUI object pointers */
- key_management_w = GTK_WIDGET(data);
- cancel_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_ADVANCED_CANCEL_KEY));
- ok_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_ADVANCED_OK_KEY));
- key_ls = GTK_WIDGET(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_ADVANCED_KEYLIST_KEY));
+ key_management_w = GTK_WIDGET(data);
+ cancel_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_ADVANCED_CANCEL_KEY));
+ ok_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_ADVANCED_OK_KEY));
+ key_ls = GTK_WIDGET(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_ADVANCED_KEYLIST_KEY));
key_management_bt = GTK_WIDGET(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_ADVANCED_KEY));
toolbar = GTK_WIDGET(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_TOOLBAR_KEY));
/* retrieve toolbar info */
- toolbar_decryption_ck = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_DECRYPTION_KEY));
+ toolbar_decryption_ck = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbar),AIRPCAP_TOOLBAR_DECRYPTION_KEY));
/* Retrieve the selected row item pointer... */
- selected_item = (airpcap_key_ls_selected_info_t*)(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_ADVANCED_SELECTED_KEY_LIST_ITEM_KEY));
+ selected_item = (airpcap_key_ls_selected_info_t*)(g_object_get_data(G_OBJECT(key_management_w),AIRPCAP_ADVANCED_SELECTED_KEY_LIST_ITEM_KEY));
/* And free it */
g_free(selected_item);
}
/*
- * Dialog box that appears whenever keys are not consistent between wireshark and AirPcap
+ * Dialog box that appears whenever keys are not consistent between Wireshark and AirPcap
*/
void
-airpcap_keys_check_w(GtkWidget *w, gpointer data)
+airpcap_keys_check_w(GtkWidget *w, gpointer data _U_)
{
GtkWidget *keys_check_w;
GtkWidget *main_v_box;
}
void
-on_keys_check_cancel_bt_clicked (GtkWidget *button, gpointer user_data)
+on_keys_check_cancel_bt_clicked (GtkWidget *button _U_, gpointer user_data)
{
GtkWidget *key_management_w;
GtkWidget *keys_check_w;
key_management_w = g_object_get_data(G_OBJECT(keys_check_w),AIRPCAP_CHECK_WINDOW_KEY);
- /* w may be NULL if airpcap_keys_check_w() has been called while wireshark was loading,
+ /* w may be NULL if airpcap_keys_check_w() has been called while Wireshark was loading,
and is not NULL if it was called when the Key Management widget has been clicked */
if (key_management_w != NULL)
{
}
void
-on_keys_check_ok_bt_clicked (GtkWidget *button, gpointer user_data)
+on_keys_check_ok_bt_clicked (GtkWidget *button _U_, gpointer user_data)
{
GtkWidget *key_management_w;
GtkWidget *keys_check_w;
GtkWidget *merge_rb,
- *keep_rb,
- *import_rb,
- *ignore_rb;
+ *keep_rb,
+ *import_rb,
+ *ignore_rb;
keys_check_w = GTK_WIDGET(user_data);
}
void
-on_keys_check_w_destroy (GtkWidget *w, gpointer user_data)
+on_keys_check_w_destroy (GtkWidget *w _U_, gpointer user_data)
{
gtk_widget_set_sensitive(top_level,TRUE);
gtk_widget_set_sensitive(GTK_WIDGET(user_data),TRUE);
}
void
-on_keep_bt_clicked (GtkWidget *button, gpointer user_data)
+on_keep_bt_clicked (GtkWidget *button _U_, gpointer user_data)
{
GtkWidget *key_management_w;
GtkWidget *keys_check_w;
/* Close the window */
gtk_widget_destroy(keys_check_w);
- /* w may be NULL if airpcap_keys_check_w() has been called while wireshark was loading,
+ /* w may be NULL if airpcap_keys_check_w() has been called while Wireshark was loading,
and is not NULL if it was called when the Key Management widget has been clicked */
if (key_management_w != NULL)
{
}
void
-on_merge_bt_clicked (GtkWidget * button, gpointer user_data)
+on_merge_bt_clicked (GtkWidget* button _U_, gpointer user_data)
{
GtkWidget *key_management_w;
GtkWidget *keys_check_w;
gtk_widget_destroy(keys_check_w);
- /* w may be NULL if airpcap_keys_check_w() has been called while wireshark was loading,
+ /* w may be NULL if airpcap_keys_check_w() has been called while Wireshark was loading,
and is not NULL if it was called when the Key Management widget has been clicked */
if (key_management_w != NULL)
{
void
-on_import_bt_clicked (GtkWidget * button, gpointer user_data)
+on_import_bt_clicked (GtkWidget* button _U_, gpointer user_data)
{
GtkWidget *key_management_w;
GtkWidget *keys_check_w;
gtk_widget_destroy(keys_check_w);
- /* w may be NULL if airpcap_keys_check_w() has been called while wireshark was loading,
+ /* w may be NULL if airpcap_keys_check_w() has been called while Wireshark was loading,
and is not NULL if it was called when the Key Management widget has been clicked */
if (key_management_w != NULL)
{
void
-on_ignore_bt_clicked (GtkWidget * button, gpointer user_data)
+on_ignore_bt_clicked (GtkWidget* button _U_, gpointer user_data)
{
GtkWidget *key_management_w;
GtkWidget *keys_check_w;
key_management_w = g_object_get_data(G_OBJECT(keys_check_w),AIRPCAP_CHECK_WINDOW_KEY);
- /* w may be NULL if airpcap_keys_check_w() has been called while wireshark was loading,
+ /* w may be NULL if airpcap_keys_check_w() has been called while Wireshark was loading,
and is not NULL if it was called when the Key Management widget has been clicked */
if (key_management_w != NULL)
{
#endif /* HAVE_AIRPCAP */
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set shiftwidth=4 tabstop=4 noexpandtab
+ * :indentSize=4:tabSize=4:noTabs=false:
+ */