diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2015-07-17 17:01:27 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2015-07-22 07:10:10 +0000 |
commit | 6452caa3b3ffe0f72d2a6396d96f0470ceb77671 (patch) | |
tree | e75ce1025539ea5d2f9e013ae0f23b7340b8c137 /ui/qt/manage_interfaces_dialog.cpp | |
parent | 32d9a1d714d5d253428a5c3d5450e1d3316a9f16 (diff) | |
download | wireshark-6452caa3b3ffe0f72d2a6396d96f0470ceb77671.tar.gz |
Fix retrieval of data link type supported by remote interfaces with authentication
Make use of -A parameter when querying data link types supported by a given interface with dumpcap.
Ensure to pass the authentication parameters configured for a remote interface when calling capture_get_if_capabilities()
Bug: 11366
Change-Id: I4efea615084a82108e4a12a64e8c46817f30a5c6
Reviewed-on: https://code.wireshark.org/review/9690
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'ui/qt/manage_interfaces_dialog.cpp')
-rw-r--r-- | ui/qt/manage_interfaces_dialog.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/ui/qt/manage_interfaces_dialog.cpp b/ui/qt/manage_interfaces_dialog.cpp index c0746f8409..cc80b4dc3e 100644 --- a/ui/qt/manage_interfaces_dialog.cpp +++ b/ui/qt/manage_interfaces_dialog.cpp @@ -475,7 +475,7 @@ void ManageInterfacesDialog::addRemoteInterfaces(GList* rlist, remote_options *r GList *if_entry, *lt_entry; if_info_t *if_info; char *if_string = NULL; - gchar *descr, *str = NULL, *link_type_name = NULL;; + gchar *descr, *str = NULL, *link_type_name = NULL, *auth_str; if_capabilities_t *caps; gint linktype_count; bool monitor_mode, found = false; @@ -490,6 +490,7 @@ void ManageInterfacesDialog::addRemoteInterfaces(GList* rlist, remote_options *r guint num_interfaces = global_capture_opts.all_ifaces->len; for (if_entry = g_list_first(rlist); if_entry != NULL; if_entry = g_list_next(if_entry)) { + auth_str = NULL; if_info = (if_info_t *)if_entry->data; for (i = 0; i < num_interfaces; i++) { device = g_array_index(global_capture_opts.all_ifaces, interface_t, i); @@ -546,7 +547,14 @@ void ManageInterfacesDialog::addRemoteInterfaces(GList* rlist, remote_options *r } device.cfilter = g_strdup(global_capture_opts.default_options.cfilter); monitor_mode = prefs_capture_device_monitor_mode(if_string); - caps = capture_get_if_capabilities(if_string, monitor_mode, NULL, main_window_update); +#ifdef HAVE_PCAP_REMOTE + if (roptions->remote_host_opts.auth_type == CAPTURE_AUTH_PWD) { + auth_str = g_strdup_printf("%s:%s", roptions->remote_host_opts.auth_username, + roptions->remote_host_opts.auth_password); + } +#endif + caps = capture_get_if_capabilities(if_string, monitor_mode, auth_str, NULL, main_window_update); + g_free(auth_str); for (; (curr_addr = g_slist_nth(if_info->addrs, ips)) != NULL; ips++) { address addr_str; char* temp_addr_str = NULL; |