parent
d0af7351c5
commit
7896033ed8
|
@ -123,27 +123,27 @@ airpcap_toolbar_encryption_cb(GtkWidget *entry _U_, gpointer user_data _U_)
|
|||
return;
|
||||
}
|
||||
|
||||
if (!(airpcap_if_list == NULL)){
|
||||
n = g_list_length(airpcap_if_list);
|
||||
if (!(airpcap_if_list == NULL)) {
|
||||
n = g_list_length(airpcap_if_list);
|
||||
|
||||
/* The same kind of settings should be propagated to all the adapters */
|
||||
/* Apply this change to all the adapters !!! */
|
||||
for(i = 0; i < n; i++) {
|
||||
curr_if = (airpcap_if_info_t*)g_list_nth_data(airpcap_if_list,i);
|
||||
/* The same kind of settings should be propagated to all the adapters */
|
||||
/* Apply this change to all the adapters !!! */
|
||||
for(i = 0; i < n; i++) {
|
||||
curr_if = (airpcap_if_info_t*)g_list_nth_data(airpcap_if_list,i);
|
||||
|
||||
if( (curr_if != NULL) && (curr_if != airpcap_if_selected) ) {
|
||||
ad = airpcap_if_open(curr_if->name, ebuf);
|
||||
if(ad) {
|
||||
curr_if->DecryptionOn = airpcap_if_selected->DecryptionOn;
|
||||
airpcap_if_set_decryption_state(ad,curr_if->DecryptionOn);
|
||||
/* Save configuration for the curr_if */
|
||||
if(!airpcap_if_store_cur_config_as_adapter_default(ad)) {
|
||||
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "Cannot save configuration!!!\nRemember that in order to store the configuration in the registry you have to:\n\n- Close all the airpcap-based applications.\n- Be sure to have administrative privileges.");
|
||||
}
|
||||
airpcap_if_close(ad);
|
||||
if( (curr_if != NULL) && (curr_if != airpcap_if_selected) ) {
|
||||
ad = airpcap_if_open(curr_if->name, ebuf);
|
||||
if(ad) {
|
||||
curr_if->DecryptionOn = airpcap_if_selected->DecryptionOn;
|
||||
airpcap_if_set_decryption_state(ad,curr_if->DecryptionOn);
|
||||
/* Save configuration for the curr_if */
|
||||
if(!airpcap_if_store_cur_config_as_adapter_default(ad)) {
|
||||
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "Cannot save configuration!!!\nRemember that in order to store the configuration in the registry you have to:\n\n- Close all the airpcap-based applications.\n- Be sure to have administrative privileges.");
|
||||
}
|
||||
airpcap_if_close(ad);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "AirPcap Adapter Error!");
|
||||
return;
|
||||
|
@ -175,28 +175,28 @@ toolbar_display_airpcap_key_management_cb(GtkWidget *w, gpointer data)
|
|||
|
||||
from_widget = (gint*)g_malloc(sizeof(gint));
|
||||
*from_widget = AIRPCAP_ADVANCED_FROM_TOOLBAR;
|
||||
g_object_set_data(G_OBJECT(airpcap_tb),AIRPCAP_ADVANCED_FROM_KEY,from_widget);
|
||||
g_object_set_data(G_OBJECT(airpcap_tb), AIRPCAP_ADVANCED_FROM_KEY, from_widget);
|
||||
|
||||
display_airpcap_key_management_cb(w,data);
|
||||
}
|
||||
|
||||
GtkWidget *airpcap_toolbar_new()
|
||||
{
|
||||
GtkWidget *channel_lb = NULL,
|
||||
*channel_cb = NULL,
|
||||
*channel_offset_lb = NULL,
|
||||
*channel_offset_cb = NULL,
|
||||
*fcs_filter_lb = NULL,
|
||||
*fcs_filter_cb = NULL;
|
||||
GtkWidget *channel_lb = NULL,
|
||||
*channel_cb = NULL,
|
||||
*channel_offset_lb = NULL,
|
||||
*channel_offset_cb = NULL,
|
||||
*fcs_filter_lb = NULL,
|
||||
*fcs_filter_cb = NULL;
|
||||
GtkWidget *airpcap_tb;
|
||||
|
||||
GtkWidget *decryption_mode_lb;
|
||||
GtkWidget *decryption_mode_cb;
|
||||
|
||||
GtkTooltips *airpcap_tooltips;
|
||||
GtkToolItem *key_management_bt = NULL,
|
||||
*advanced_bt = NULL,
|
||||
*tool_item;
|
||||
GtkToolItem *key_management_bt = NULL,
|
||||
*advanced_bt = NULL,
|
||||
*tool_item;
|
||||
|
||||
/* airpcap toolbar */
|
||||
airpcap_tooltips = gtk_tooltips_new();
|
||||
|
@ -206,25 +206,23 @@ GtkWidget *airpcap_toolbar_new()
|
|||
|
||||
/* Create the "802.11 Channel:" label */
|
||||
channel_lb = gtk_label_new("802.11 Channel: ");
|
||||
g_object_set_data(G_OBJECT(airpcap_tb),AIRPCAP_TOOLBAR_CHANNEL_LABEL_KEY,channel_lb);
|
||||
g_object_set_data(G_OBJECT(airpcap_tb), AIRPCAP_TOOLBAR_CHANNEL_LABEL_KEY, channel_lb);
|
||||
gtk_widget_show(channel_lb);
|
||||
|
||||
gtk_widget_set_size_request(channel_lb, 85, -1);
|
||||
|
||||
tool_item = gtk_tool_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (tool_item), channel_lb);
|
||||
gtk_widget_show (GTK_WIDGET (tool_item));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb),
|
||||
tool_item,
|
||||
-1);
|
||||
tool_item = gtk_tool_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (tool_item), channel_lb);
|
||||
gtk_widget_show (GTK_WIDGET (tool_item));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb), tool_item, -1);
|
||||
|
||||
gtk_tooltips_set_tip(GTK_TOOLTIPS(airpcap_tooltips), GTK_WIDGET(tool_item),
|
||||
"Current 802.11 Channel",
|
||||
"Private");
|
||||
gtk_tooltips_set_tip(GTK_TOOLTIPS(airpcap_tooltips), GTK_WIDGET(tool_item),
|
||||
"Current 802.11 Channel",
|
||||
"Private");
|
||||
|
||||
/* Create the channel combo box */
|
||||
channel_cb = gtk_combo_box_new_text();
|
||||
g_object_set_data(G_OBJECT(airpcap_tb),AIRPCAP_TOOLBAR_CHANNEL_KEY,channel_cb);
|
||||
g_object_set_data(G_OBJECT(airpcap_tb), AIRPCAP_TOOLBAR_CHANNEL_KEY, channel_cb);
|
||||
|
||||
/* Select the current channel */
|
||||
airpcap_update_channel_combo(GTK_WIDGET(channel_cb), airpcap_if_selected);
|
||||
|
@ -233,34 +231,30 @@ GtkWidget *airpcap_toolbar_new()
|
|||
|
||||
gtk_widget_show(channel_cb);
|
||||
|
||||
tool_item = gtk_tool_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (tool_item), channel_cb);
|
||||
gtk_widget_show (GTK_WIDGET (tool_item));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb),
|
||||
tool_item,
|
||||
-1);
|
||||
tool_item = gtk_tool_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (tool_item), channel_cb);
|
||||
gtk_widget_show (GTK_WIDGET (tool_item));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb), tool_item, -1);
|
||||
|
||||
gtk_tooltips_set_tip(GTK_TOOLTIPS(airpcap_tooltips), GTK_WIDGET(tool_item),
|
||||
"802.11 Channel",
|
||||
"Private");
|
||||
gtk_tooltips_set_tip(GTK_TOOLTIPS(airpcap_tooltips), GTK_WIDGET(tool_item),
|
||||
"802.11 Channel",
|
||||
"Private");
|
||||
|
||||
|
||||
/* Create the "Channel Offset:" label */
|
||||
channel_offset_lb = gtk_label_new("Channel Offset: ");
|
||||
g_object_set_data(G_OBJECT(airpcap_tb),AIRPCAP_TOOLBAR_CHANNEL_OFFSET_LABEL_KEY,channel_offset_lb);
|
||||
g_object_set_data(G_OBJECT(airpcap_tb), AIRPCAP_TOOLBAR_CHANNEL_OFFSET_LABEL_KEY, channel_offset_lb);
|
||||
gtk_widget_show(channel_offset_lb);
|
||||
|
||||
gtk_widget_set_size_request(channel_offset_lb, 90, -1);
|
||||
tool_item = gtk_tool_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (tool_item), channel_offset_lb);
|
||||
gtk_widget_show (GTK_WIDGET (tool_item));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb),
|
||||
tool_item,
|
||||
-1);
|
||||
tool_item = gtk_tool_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (tool_item), channel_offset_lb);
|
||||
gtk_widget_show (GTK_WIDGET (tool_item));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb), tool_item, -1);
|
||||
|
||||
gtk_tooltips_set_tip(GTK_TOOLTIPS(airpcap_tooltips), GTK_WIDGET(tool_item),
|
||||
"Current 802.11 Channel Offset",
|
||||
"Private");
|
||||
gtk_tooltips_set_tip(GTK_TOOLTIPS(airpcap_tooltips), GTK_WIDGET(tool_item),
|
||||
"Current 802.11 Channel Offset",
|
||||
"Private");
|
||||
|
||||
/* Start: Channel offset combo box */
|
||||
channel_offset_cb = gtk_combo_box_new_text();
|
||||
|
@ -273,18 +267,16 @@ GtkWidget *airpcap_toolbar_new()
|
|||
}
|
||||
|
||||
gtk_tooltips_set_tip(airpcap_tooltips, GTK_WIDGET(channel_offset_cb),
|
||||
"802.11 Channel Offset", "Private");
|
||||
"802.11 Channel Offset", "Private");
|
||||
|
||||
gtk_widget_set_size_request(channel_offset_cb, 50, -1);
|
||||
|
||||
gtk_widget_show(channel_offset_cb);
|
||||
|
||||
tool_item = gtk_tool_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (tool_item), channel_offset_cb);
|
||||
gtk_widget_show (GTK_WIDGET (tool_item));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb),
|
||||
tool_item,
|
||||
-1);
|
||||
tool_item = gtk_tool_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (tool_item), channel_offset_cb);
|
||||
gtk_widget_show (GTK_WIDGET (tool_item));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb), tool_item, -1);
|
||||
|
||||
/* callback for channel combo box */
|
||||
g_signal_connect(channel_cb,"changed", G_CALLBACK(airpcap_channel_changed_set_cb), channel_offset_cb);
|
||||
|
@ -294,20 +286,17 @@ GtkWidget *airpcap_toolbar_new()
|
|||
|
||||
/* Wrong CRC Label */
|
||||
fcs_filter_lb = gtk_label_new(" FCS Filter: ");
|
||||
g_object_set_data(G_OBJECT(airpcap_tb),AIRPCAP_TOOLBAR_FCS_FILTER_LABEL_KEY,fcs_filter_lb);
|
||||
g_object_set_data(G_OBJECT(airpcap_tb), AIRPCAP_TOOLBAR_FCS_FILTER_LABEL_KEY, fcs_filter_lb);
|
||||
gtk_widget_show(fcs_filter_lb);
|
||||
gtk_tooltips_set_tip(airpcap_tooltips, GTK_WIDGET(fcs_filter_lb),
|
||||
"", "Private");
|
||||
tool_item = gtk_tool_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (tool_item), fcs_filter_lb);
|
||||
gtk_widget_show (GTK_WIDGET (tool_item));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb),
|
||||
tool_item,
|
||||
-1);
|
||||
gtk_tooltips_set_tip(airpcap_tooltips, GTK_WIDGET(fcs_filter_lb), "", "Private");
|
||||
tool_item = gtk_tool_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (tool_item), fcs_filter_lb);
|
||||
gtk_widget_show (GTK_WIDGET (tool_item));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb), tool_item, -1);
|
||||
|
||||
/* FCS filter combo box */
|
||||
fcs_filter_cb = gtk_combo_box_new_text();
|
||||
g_object_set_data(G_OBJECT(airpcap_tb),AIRPCAP_TOOLBAR_FCS_FILTER_KEY,fcs_filter_cb);
|
||||
g_object_set_data(G_OBJECT(airpcap_tb), AIRPCAP_TOOLBAR_FCS_FILTER_KEY, fcs_filter_cb);
|
||||
|
||||
gtk_widget_set_size_request(fcs_filter_cb, 100, -1);
|
||||
|
||||
|
@ -320,24 +309,21 @@ GtkWidget *airpcap_toolbar_new()
|
|||
"Select the 802.11 FCS filter that the wireless adapter will apply.",
|
||||
"Private");
|
||||
|
||||
if (airpcap_if_selected != NULL)
|
||||
{
|
||||
if (airpcap_if_selected != NULL) {
|
||||
airpcap_validation_type_combo_set_by_type(fcs_filter_cb, airpcap_if_selected->CrcValidationOn);
|
||||
}
|
||||
|
||||
g_signal_connect (fcs_filter_cb, "changed", G_CALLBACK(airpcap_toolbar_fcs_filter_combo_cb), NULL);
|
||||
gtk_widget_show(fcs_filter_cb);
|
||||
|
||||
tool_item = gtk_tool_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (tool_item), fcs_filter_cb);
|
||||
gtk_widget_show (GTK_WIDGET (tool_item));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb),
|
||||
tool_item,
|
||||
-1);
|
||||
tool_item = gtk_tool_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (tool_item), fcs_filter_cb);
|
||||
gtk_widget_show (GTK_WIDGET (tool_item));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb), tool_item, -1);
|
||||
|
||||
/* Decryption mode combo box */
|
||||
decryption_mode_lb = gtk_label_new ("Decryption Mode: ");
|
||||
g_object_set_data(G_OBJECT(airpcap_tb),AIRPCAP_TOOLBAR_DECRYPTION_LABEL_KEY,decryption_mode_lb);
|
||||
g_object_set_data(G_OBJECT(airpcap_tb), AIRPCAP_TOOLBAR_DECRYPTION_LABEL_KEY, decryption_mode_lb);
|
||||
gtk_widget_set_name (decryption_mode_lb, "decryption_mode_lb");
|
||||
gtk_widget_show (decryption_mode_lb);
|
||||
|
||||
|
@ -347,59 +333,54 @@ GtkWidget *airpcap_toolbar_new()
|
|||
gtk_widget_set_size_request(decryption_mode_cb, 83, -1);
|
||||
update_decryption_mode_list(decryption_mode_cb);
|
||||
|
||||
tool_item = gtk_tool_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (tool_item), decryption_mode_cb);
|
||||
gtk_widget_show (GTK_WIDGET (tool_item));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb),
|
||||
tool_item,
|
||||
-1);
|
||||
tool_item = gtk_tool_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (tool_item), decryption_mode_cb);
|
||||
gtk_widget_show (GTK_WIDGET (tool_item));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb), tool_item, -1);
|
||||
|
||||
gtk_tooltips_set_tip(airpcap_tooltips, GTK_WIDGET(fcs_filter_lb),
|
||||
"Choose a Decryption Mode", "Private");
|
||||
gtk_tooltips_set_tip(airpcap_tooltips, GTK_WIDGET(fcs_filter_lb),
|
||||
"Choose a Decryption Mode", "Private");
|
||||
|
||||
/* Set current decryption mode!!!! */
|
||||
update_decryption_mode(decryption_mode_cb);
|
||||
g_signal_connect(decryption_mode_cb, "changed", G_CALLBACK(on_decryption_mode_cb_changed), NULL);
|
||||
g_object_set_data(G_OBJECT(airpcap_tb),AIRPCAP_TOOLBAR_DECRYPTION_KEY,decryption_mode_cb);
|
||||
g_object_set_data(G_OBJECT(airpcap_tb), AIRPCAP_TOOLBAR_DECRYPTION_KEY, decryption_mode_cb);
|
||||
|
||||
/* Advanced button */
|
||||
advanced_bt = gtk_tool_button_new(NULL, /* a widget that will be used as icon widget, or NULL */
|
||||
"Wireless Settings...");
|
||||
g_object_set_data(G_OBJECT(airpcap_tb),AIRPCAP_TOOLBAR_ADVANCED_KEY,advanced_bt);
|
||||
advanced_bt = gtk_tool_button_new(NULL, /* a widget that will be used as icon widget, or NULL */
|
||||
"Wireless Settings...");
|
||||
g_object_set_data(G_OBJECT(airpcap_tb), AIRPCAP_TOOLBAR_ADVANCED_KEY, advanced_bt);
|
||||
|
||||
g_signal_connect(advanced_bt, "clicked", G_CALLBACK(toolbar_display_airpcap_advanced_cb), airpcap_tb);
|
||||
gtk_widget_show(GTK_WIDGET(advanced_bt));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb),
|
||||
advanced_bt,
|
||||
-1);
|
||||
gtk_tooltips_set_tip(GTK_TOOLTIPS(airpcap_tooltips), GTK_WIDGET(advanced_bt),
|
||||
"Set Advanced Wireless Settings",
|
||||
"Private");
|
||||
/* Key Management button */
|
||||
key_management_bt = gtk_tool_button_new(NULL, /* a widget that will be used as icon widget, or NULL */
|
||||
"Decryption Keys...");
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb), advanced_bt, -1);
|
||||
|
||||
g_object_set_data(G_OBJECT(airpcap_tb),AIRPCAP_TOOLBAR_KEY_MANAGEMENT_KEY,key_management_bt);
|
||||
gtk_tooltips_set_tip(GTK_TOOLTIPS(airpcap_tooltips), GTK_WIDGET(advanced_bt),
|
||||
"Set Advanced Wireless Settings",
|
||||
"Private");
|
||||
/* Key Management button */
|
||||
key_management_bt = gtk_tool_button_new(NULL, /* a widget that will be used as icon widget, or NULL */
|
||||
"Decryption Keys...");
|
||||
|
||||
g_object_set_data(G_OBJECT(airpcap_tb), AIRPCAP_TOOLBAR_KEY_MANAGEMENT_KEY, key_management_bt);
|
||||
|
||||
g_signal_connect(key_management_bt, "clicked", G_CALLBACK(toolbar_display_airpcap_key_management_cb), airpcap_tb);
|
||||
gtk_widget_show(GTK_WIDGET(key_management_bt));
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb),
|
||||
key_management_bt,
|
||||
-1);
|
||||
gtk_tooltips_set_tip(GTK_TOOLTIPS(airpcap_tooltips), GTK_WIDGET(key_management_bt),
|
||||
"Manage Decryption Keys",
|
||||
"Private");
|
||||
gtk_toolbar_insert(GTK_TOOLBAR(airpcap_tb), key_management_bt, -1);
|
||||
gtk_tooltips_set_tip(GTK_TOOLTIPS(airpcap_tooltips), GTK_WIDGET(key_management_bt),
|
||||
"Manage Decryption Keys",
|
||||
"Private");
|
||||
|
||||
/* If no airpcap interface is present, gray everything */
|
||||
if(airpcap_if_active == NULL) {
|
||||
if(airpcap_if_list == NULL || g_list_length(airpcap_if_list) == 0) {
|
||||
/* No airpcap device found */
|
||||
airpcap_enable_toolbar_widgets(airpcap_tb,FALSE);
|
||||
airpcap_enable_toolbar_widgets(airpcap_tb, FALSE);
|
||||
/* recent.airpcap_toolbar_show = TRUE; */
|
||||
} else {
|
||||
/* default adapter is not airpcap... or is airpcap but is not found*/
|
||||
airpcap_set_toolbar_stop_capture(airpcap_if_active);
|
||||
airpcap_enable_toolbar_widgets(airpcap_tb,FALSE);
|
||||
airpcap_enable_toolbar_widgets(airpcap_tb, FALSE);
|
||||
/* recent.airpcap_toolbar_show = TRUE; */
|
||||
}
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue