aboutsummaryrefslogtreecommitdiffstats
path: root/capture_opts.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2020-03-27 20:08:33 -0700
committerGuy Harris <gharris@sonic.net>2020-03-28 03:34:18 +0000
commitfd88bfa348677ec7bdd95d6a7130a08212ee98f7 (patch)
tree979a32097209379646ce4dccb107859ce52e04df /capture_opts.c
parent5e77ab8b9512519c7e975bbbac264a2241904bc6 (diff)
Write the if_hardware option, if available, to pcapng files when capturing.
Change-Id: Ib9ff78d148a2364c84d84b4a9b020b3d783654a3 Reviewed-on: https://code.wireshark.org/review/36602 Petri-Dish: Guy Harris <gharris@sonic.net> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <gharris@sonic.net>
Diffstat (limited to 'capture_opts.c')
-rw-r--r--capture_opts.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/capture_opts.c b/capture_opts.c
index 26a0c18b56..2cc9fc6be8 100644
--- a/capture_opts.c
+++ b/capture_opts.c
@@ -45,6 +45,8 @@ capture_opts_init(capture_options *capture_opts)
capture_opts->num_selected = 0;
capture_opts->default_options.name = NULL;
capture_opts->default_options.descr = NULL;
+ capture_opts->default_options.hardware = NULL;
+ capture_opts->default_options.display_name = NULL;
capture_opts->default_options.cfilter = NULL;
capture_opts->default_options.has_snaplen = FALSE;
capture_opts->default_options.snaplen = WTAP_MAX_PACKET_SIZE_STANDARD;
@@ -158,6 +160,7 @@ capture_opts_log(const char *log_domain, GLogLevelFlags log_level, capture_optio
interface_opts = &g_array_index(capture_opts->ifaces, interface_options, i);
g_log(log_domain, log_level, "Interface name[%02d] : %s", i, interface_opts->name ? interface_opts->name : "(unspecified)");
g_log(log_domain, log_level, "Interface description[%02d] : %s", i, interface_opts->descr ? interface_opts->descr : "(unspecified)");
+ g_log(log_domain, log_level, "Interface vendor description[%02d] : %s", i, interface_opts->hardware ? interface_opts->hardware : "(unspecified)");
g_log(log_domain, log_level, "Display name[%02d]: %s", i, interface_opts->display_name ? interface_opts->display_name : "(unspecified)");
g_log(log_domain, log_level, "Capture filter[%02d] : %s", i, interface_opts->cfilter ? interface_opts->cfilter : "(unspecified)");
g_log(log_domain, log_level, "Snap length[%02d] (%u) : %d", i, interface_opts->has_snaplen, interface_opts->snaplen);
@@ -199,6 +202,8 @@ capture_opts_log(const char *log_domain, GLogLevelFlags log_level, capture_optio
}
g_log(log_domain, log_level, "Interface name[df] : %s", capture_opts->default_options.name ? capture_opts->default_options.name : "(unspecified)");
g_log(log_domain, log_level, "Interface Descr[df] : %s", capture_opts->default_options.descr ? capture_opts->default_options.descr : "(unspecified)");
+ g_log(log_domain, log_level, "Interface Hardware Descr[df] : %s", capture_opts->default_options.hardware ? capture_opts->default_options.hardware : "(unspecified)");
+ g_log(log_domain, log_level, "Interface display name[df] : %s", capture_opts->default_options.display_name ? capture_opts->default_options.display_name : "(unspecified)");
g_log(log_domain, log_level, "Capture filter[df] : %s", capture_opts->default_options.cfilter ? capture_opts->default_options.cfilter : "(unspecified)");
g_log(log_domain, log_level, "Snap length[df] (%u) : %d", capture_opts->default_options.has_snaplen, capture_opts->default_options.snaplen);
g_log(log_domain, log_level, "Link Type[df] : %d", capture_opts->default_options.linktype);
@@ -539,6 +544,7 @@ fill_in_interface_opts_from_ifinfo(interface_options *interface_opts,
{
interface_opts->name = g_strdup(if_info->name);
+ interface_opts->hardware = g_strdup(if_info->vendor_description);
if (if_info->friendly_name != NULL) {
/*
* We have a friendly name; remember it as the
@@ -718,6 +724,7 @@ capture_opts_add_iface_opt(capture_options *capture_opts, const char *optarg_str
*/
interface_opts.name = g_strdup(optarg_str_p);
interface_opts.descr = NULL;
+ interface_opts.hardware = NULL;
interface_opts.display_name = g_strdup(optarg_str_p);
interface_opts.if_type = capture_opts->default_options.if_type;
interface_opts.extcap = g_strdup(capture_opts->default_options.extcap);
@@ -1168,6 +1175,7 @@ capture_opts_del_iface(capture_options *capture_opts, guint if_index)
g_free(interface_opts->name);
g_free(interface_opts->descr);
+ g_free(interface_opts->hardware);
g_free(interface_opts->display_name);
g_free(interface_opts->cfilter);
g_free(interface_opts->timestamp_type);
@@ -1214,6 +1222,7 @@ collect_ifaces(capture_options *capture_opts)
if (!device->hidden && device->selected) {
interface_opts.name = g_strdup(device->name);
interface_opts.descr = g_strdup(device->friendly_name);
+ interface_opts.hardware = g_strdup(device->vendor_description);
interface_opts.display_name = g_strdup(device->display_name);
interface_opts.linktype = device->active_dlt;
interface_opts.cfilter = g_strdup(device->cfilter);
@@ -1280,6 +1289,7 @@ capture_opts_free_interface_t(interface_t *device)
if (device != NULL) {
g_free(device->name);
g_free(device->display_name);
+ g_free(device->vendor_description);
g_free(device->friendly_name);
g_free(device->addresses);
g_free(device->cfilter);