forked from osmocom/wireshark
From Michael Mann:
GUI use external name resolver proliferation https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7380 svn path=/trunk/; revision=43615
This commit is contained in:
parent
a63de46ddd
commit
0696f30690
|
@ -14,6 +14,7 @@ FONT 8, "MS Shell Dlg"
|
|||
CHECKBOX "MAC name resolution", EWFD_MAC_NR_CB, 7, 32, 100, 8, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "Network name resolution", EWFD_NET_NR_CB, 7, 47, 100, 8, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "Transport name resolution", EWFD_TRANS_NR_CB, 7, 62, 100, 8, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "Use external network name resolver", EWFD_EXTERNAL_NR_CB, 7, 77, 135, 8, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
|
||||
LTEXT "Filename:", EWFD_PT_FILENAME, 164, 4, 40, 8
|
||||
LTEXT "-", EWFD_PTX_FILENAME, 211, 4, 150, 8
|
||||
|
|
|
@ -147,6 +147,7 @@ enum
|
|||
#define E_CAP_M_RESOLVE_KEY "cap_m_resolve"
|
||||
#define E_CAP_N_RESOLVE_KEY "cap_n_resolve"
|
||||
#define E_CAP_T_RESOLVE_KEY "cap_t_resolve"
|
||||
#define E_CAP_E_RESOLVE_KEY "cap_e_resolve"
|
||||
|
||||
#define E_CAP_IFTYPE_CBX_KEY "cap_iftype_cbx"
|
||||
#ifdef HAVE_PCAP_REMOTE
|
||||
|
@ -3584,7 +3585,7 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
|
|||
*display_fr, *display_vb,
|
||||
*sync_cb, *auto_scroll_cb, *hide_info_cb,
|
||||
*resolv_fr, *resolv_vb,
|
||||
*m_resolv_cb, *n_resolv_cb, *t_resolv_cb,
|
||||
*m_resolv_cb, *n_resolv_cb, *t_resolv_cb, *e_resolv_cb,
|
||||
*bbox, *close_bt,
|
||||
*help_bt;
|
||||
#ifdef HAVE_AIRPCAP
|
||||
|
@ -4091,6 +4092,14 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
|
|||
"Perform transport layer name resolution while capturing.");
|
||||
gtk_container_add(GTK_CONTAINER(resolv_vb), t_resolv_cb);
|
||||
|
||||
e_resolv_cb = gtk_check_button_new_with_mnemonic(
|
||||
"Use _external network name resolver");
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(e_resolv_cb),
|
||||
gbl_resolv_flags.use_external_net_name_resolver);
|
||||
gtk_widget_set_tooltip_text(e_resolv_cb,
|
||||
"Use the (system's) configured name resolver (e.g., DNS) to resolve network names.");
|
||||
gtk_container_add(GTK_CONTAINER(resolv_vb), e_resolv_cb);
|
||||
|
||||
/* Button row: "Start", "Cancel" and "Help" buttons */
|
||||
bbox = dlg_button_row_new(WIRESHARK_STOCK_CAPTURE_START, GTK_STOCK_CLOSE, GTK_STOCK_HELP, NULL);
|
||||
gtk_box_pack_start(GTK_BOX(main_vb), bbox, FALSE, FALSE, 5);
|
||||
|
@ -4150,6 +4159,7 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
|
|||
g_object_set_data(G_OBJECT(cap_open_w), E_CAP_M_RESOLVE_KEY, m_resolv_cb);
|
||||
g_object_set_data(G_OBJECT(cap_open_w), E_CAP_N_RESOLVE_KEY, n_resolv_cb);
|
||||
g_object_set_data(G_OBJECT(cap_open_w), E_CAP_T_RESOLVE_KEY, t_resolv_cb);
|
||||
g_object_set_data(G_OBJECT(cap_open_w), E_CAP_E_RESOLVE_KEY, e_resolv_cb);
|
||||
|
||||
/* Set the sensitivity of various widgets as per the settings of other
|
||||
widgets. */
|
||||
|
@ -4304,7 +4314,7 @@ capture_dlg_prep(gpointer parent_w) {
|
|||
*ring_filesize_cb, *ring_filesize_sb, *ring_filesize_cbx,
|
||||
*file_duration_cb, *file_duration_sb, *file_duration_cbx,
|
||||
*stop_files_cb, *stop_files_sb,
|
||||
*m_resolv_cb, *n_resolv_cb, *t_resolv_cb;
|
||||
*m_resolv_cb, *n_resolv_cb, *t_resolv_cb, *e_resolv_cb;
|
||||
const gchar *g_save_file;
|
||||
gchar *cf_name;
|
||||
gchar *dirname;
|
||||
|
@ -4337,6 +4347,7 @@ capture_dlg_prep(gpointer parent_w) {
|
|||
m_resolv_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_M_RESOLVE_KEY);
|
||||
n_resolv_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_N_RESOLVE_KEY);
|
||||
t_resolv_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_T_RESOLVE_KEY);
|
||||
e_resolv_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_E_RESOLVE_KEY);
|
||||
|
||||
if (global_capture_opts.num_selected == 0) {
|
||||
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
|
||||
|
@ -4397,6 +4408,10 @@ capture_dlg_prep(gpointer parent_w) {
|
|||
gbl_resolv_flags.transport_name = TRUE;
|
||||
else
|
||||
gbl_resolv_flags.transport_name = FALSE;
|
||||
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(e_resolv_cb)))
|
||||
gbl_resolv_flags.use_external_net_name_resolver = TRUE;
|
||||
else
|
||||
gbl_resolv_flags.use_external_net_name_resolver = FALSE;
|
||||
|
||||
global_capture_opts.has_ring_num_files =
|
||||
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ringbuffer_nbf_cb));
|
||||
|
|
|
@ -430,7 +430,7 @@ file_open_cmd(GtkWidget *w)
|
|||
#else /* USE_WIN32_FILE_DIALOGS */
|
||||
GtkWidget *file_open_w;
|
||||
GtkWidget *main_hb, *main_vb, *filter_hbox, *filter_bt, *filter_te,
|
||||
*m_resolv_cb, *n_resolv_cb, *t_resolv_cb, *prev;
|
||||
*m_resolv_cb, *n_resolv_cb, *t_resolv_cb, *e_resolv_cb, *prev;
|
||||
/* No Apply button, and "OK" just sets our text widget, it doesn't
|
||||
activate it (i.e., it doesn't cause us to try to open the file). */
|
||||
static construct_args_t args = {
|
||||
|
@ -526,6 +526,11 @@ file_open_cmd(GtkWidget *w)
|
|||
gbl_resolv_flags.transport_name);
|
||||
gtk_box_pack_start(GTK_BOX(main_vb), t_resolv_cb, FALSE, FALSE, 0);
|
||||
gtk_widget_show(t_resolv_cb);
|
||||
e_resolv_cb = gtk_check_button_new_with_mnemonic("Use _external network name resolver");
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(e_resolv_cb),
|
||||
gbl_resolv_flags.use_external_net_name_resolver);
|
||||
gtk_box_pack_start(GTK_BOX(main_vb), e_resolv_cb, FALSE, FALSE, 0);
|
||||
gtk_widget_show(e_resolv_cb);
|
||||
|
||||
/* preview widget */
|
||||
prev = preview_new();
|
||||
|
@ -590,6 +595,10 @@ file_open_cmd(GtkWidget *w)
|
|||
gbl_resolv_flags.transport_name = TRUE;
|
||||
else
|
||||
gbl_resolv_flags.transport_name = FALSE;
|
||||
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(e_resolv_cb)))
|
||||
gbl_resolv_flags.use_external_net_name_resolver = TRUE;
|
||||
else
|
||||
gbl_resolv_flags.use_external_net_name_resolver = FALSE;
|
||||
|
||||
/* We've crossed the Rubicon; get rid of the file selection box. */
|
||||
window_destroy(GTK_WIDGET(file_open_w));
|
||||
|
|
|
@ -753,6 +753,17 @@ view_menu_en_for_transport_cb(GtkAction *action _U_, gpointer user_data)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
view_menu_en_use_external_resolver_cb(GtkAction *action _U_, gpointer user_data)
|
||||
{
|
||||
GtkWidget *widget = gtk_ui_manager_get_widget(ui_manager_main_menubar, "/Menubar/ViewMenu/NameResolution/UseExternalNetworkNameResolver");
|
||||
if (!widget){
|
||||
g_warning("view_menu_en_use_external_resolver_cb: No widget found");
|
||||
}else{
|
||||
name_resolution_cb( widget , user_data, &gbl_resolv_flags.use_external_net_name_resolver);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
view_menu_colorize_pkt_lst_cb(GtkAction *action _U_, gpointer user_data)
|
||||
{
|
||||
|
@ -1093,6 +1104,7 @@ static const char *ui_desc_menubar =
|
|||
" <menuitem name='EnableforMACLayer' action='/View/NameResolution/EnableforMACLayer'/>\n"
|
||||
" <menuitem name='EnableforNetworkLayer' action='/View/NameResolution/EnableforNetworkLayer'/>\n"
|
||||
" <menuitem name='EnableforTransportLayer' action='/View/NameResolution/EnableforTransportLayer'/>\n"
|
||||
" <menuitem name='UseExternalNetworkNameResolver' action='/View/NameResolution/UseExternalNetworkNameResolver'/>\n"
|
||||
" </menu>\n"
|
||||
" <menuitem name='ColorizePacketList' action='/View/ColorizePacketList'/>\n"
|
||||
" <menuitem name='AutoScrollinLiveCapture' action='/View/AutoScrollinLiveCapture'/>\n"
|
||||
|
@ -1834,6 +1846,7 @@ static const GtkToggleActionEntry main_menu_bar_toggle_action_entries[] =
|
|||
{"/View/NameResolution/EnableforMACLayer", NULL, "Enable for _MAC Layer", NULL, NULL, G_CALLBACK(view_menu_en_for_MAC_cb), TRUE},
|
||||
{"/View/NameResolution/EnableforNetworkLayer", NULL, "Enable for _Network Layer", NULL, NULL, G_CALLBACK(view_menu_en_for_network_cb), TRUE },
|
||||
{"/View/NameResolution/EnableforTransportLayer", NULL, "Enable for _Transport Layer", NULL, NULL, G_CALLBACK(view_menu_en_for_transport_cb), TRUE },
|
||||
{"/View/NameResolution/UseExternalNetworkNameResolver", NULL, "Use _External Network Name Resolver", NULL, NULL, G_CALLBACK(view_menu_en_use_external_resolver_cb), TRUE },
|
||||
{"/View/ColorizePacketList", NULL, "Colorize Packet List", NULL, NULL, G_CALLBACK(view_menu_colorize_pkt_lst_cb), TRUE },
|
||||
{"/View/AutoScrollinLiveCapture", NULL, "Auto Scroll in Li_ve Capture", NULL, NULL, G_CALLBACK(view_menu_auto_scroll_live_cb), TRUE },
|
||||
};
|
||||
|
@ -4315,6 +4328,11 @@ menu_name_resolution_changed(void)
|
|||
}
|
||||
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu), gbl_resolv_flags.transport_name);
|
||||
|
||||
menu = gtk_ui_manager_get_widget(ui_manager_main_menubar, "/Menubar/ViewMenu/NameResolution/UseExternalNetworkNameResolver");
|
||||
if(!menu){
|
||||
g_warning("menu_name_resolution_changed: No menu found, path= /Menubar/ViewMenu/NameResolution/UseExternalNetworkNameResolver");
|
||||
}
|
||||
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu), gbl_resolv_flags.use_external_net_name_resolver);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -1617,6 +1617,8 @@ open_file_hook_proc(HWND of_hwnd, UINT msg, WPARAM w_param, LPARAM l_param) {
|
|||
SendMessage(cur_ctrl, BM_SETCHECK, gbl_resolv_flags.network_name, 0);
|
||||
cur_ctrl = GetDlgItem(of_hwnd, EWFD_TRANS_NR_CB);
|
||||
SendMessage(cur_ctrl, BM_SETCHECK, gbl_resolv_flags.transport_name, 0);
|
||||
cur_ctrl = GetDlgItem(of_hwnd, EWFD_EXTERNAL_NR_CB);
|
||||
SendMessage(cur_ctrl, BM_SETCHECK, gbl_resolv_flags.use_external_net_name_resolver, 0);
|
||||
|
||||
preview_set_filename(of_hwnd, NULL);
|
||||
break;
|
||||
|
@ -1639,6 +1641,9 @@ open_file_hook_proc(HWND of_hwnd, UINT msg, WPARAM w_param, LPARAM l_param) {
|
|||
cur_ctrl = GetDlgItem(of_hwnd, EWFD_TRANS_NR_CB);
|
||||
if (SendMessage(cur_ctrl, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
||||
gbl_resolv_flags.transport_name = TRUE;
|
||||
cur_ctrl = GetDlgItem(of_hwnd, EWFD_EXTERNAL_NR_CB);
|
||||
if (SendMessage(cur_ctrl, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
||||
gbl_resolv_flags.use_external_net_name_resolver = TRUE;
|
||||
break;
|
||||
case CDN_SELCHANGE:
|
||||
/* This _almost_ works correctly. We need to handle directory
|
||||
|
|
|
@ -110,23 +110,24 @@ void file_set_save_marked_sensitive();
|
|||
#define EWFD_MAC_NR_CB 1002
|
||||
#define EWFD_NET_NR_CB 1003
|
||||
#define EWFD_TRANS_NR_CB 1004
|
||||
#define EWFD_EXTERNAL_NR_CB 1005
|
||||
|
||||
/* Note: The preview title (PT) and text (PTX) MUST have sequential IDs;
|
||||
they're used in a for loop. EWFD_PT_FILENAME MUST be first, and
|
||||
EWFD_PTX_ELAPSED MUST be last. (so why don't we just use an enum? */
|
||||
#define EWFD_PT_FILENAME 1005
|
||||
#define EWFD_PT_FORMAT 1006
|
||||
#define EWFD_PT_SIZE 1007
|
||||
#define EWFD_PT_PACKETS 1008
|
||||
#define EWFD_PT_FIRST_PKT 1009
|
||||
#define EWFD_PT_ELAPSED 1010
|
||||
#define EWFD_PT_FILENAME 1006
|
||||
#define EWFD_PT_FORMAT 1007
|
||||
#define EWFD_PT_SIZE 1008
|
||||
#define EWFD_PT_PACKETS 1009
|
||||
#define EWFD_PT_FIRST_PKT 1010
|
||||
#define EWFD_PT_ELAPSED 1011
|
||||
|
||||
#define EWFD_PTX_FILENAME 1011
|
||||
#define EWFD_PTX_FORMAT 1012
|
||||
#define EWFD_PTX_SIZE 1013
|
||||
#define EWFD_PTX_PACKETS 1014
|
||||
#define EWFD_PTX_FIRST_PKT 1015
|
||||
#define EWFD_PTX_ELAPSED 1016
|
||||
#define EWFD_PTX_FILENAME 1012
|
||||
#define EWFD_PTX_FORMAT 1013
|
||||
#define EWFD_PTX_SIZE 1014
|
||||
#define EWFD_PTX_PACKETS 1015
|
||||
#define EWFD_PTX_FIRST_PKT 1016
|
||||
#define EWFD_PTX_ELAPSED 1017
|
||||
|
||||
|
||||
/* Save dialog defines */
|
||||
|
|
Loading…
Reference in New Issue