diff options
Diffstat (limited to 'capchild')
-rw-r--r-- | capchild/capture_ifinfo.c | 3 | ||||
-rw-r--r-- | capchild/capture_sync.c | 6 | ||||
-rw-r--r-- | capchild/capture_sync.h | 2 |
3 files changed, 8 insertions, 3 deletions
diff --git a/capchild/capture_ifinfo.c b/capchild/capture_ifinfo.c index eb86215c89..510f529549 100644 --- a/capchild/capture_ifinfo.c +++ b/capchild/capture_ifinfo.c @@ -223,6 +223,7 @@ capture_interface_list(int *err, char **err_str, void (*update_cb)(void)) * we use "real" data serialization instead, e.g. via XML? */ if_capabilities_t * capture_get_if_capabilities(const gchar *ifname, gboolean monitor_mode, + const gchar *auth_string, char **err_str, void (*update_cb)(void)) { if_capabilities_t *caps; @@ -246,7 +247,7 @@ capture_get_if_capabilities(const gchar *ifname, gboolean monitor_mode, #endif /* HAVE_EXTCAP */ /* Try to get our interface list */ - err = sync_if_capabilities_open(ifname, monitor_mode, &data, + err = sync_if_capabilities_open(ifname, monitor_mode, auth_string, &data, &primary_msg, &secondary_msg, update_cb); if (err != 0) { g_log(LOG_DOMAIN_CAPTURE, G_LOG_LEVEL_MESSAGE, "Capture Interface Capabilities failed, error %d, %s (%s)!", diff --git a/capchild/capture_sync.c b/capchild/capture_sync.c index 29274d6647..0b92c57028 100644 --- a/capchild/capture_sync.c +++ b/capchild/capture_sync.c @@ -1324,7 +1324,7 @@ sync_interface_list_open(gchar **data, gchar **primary_msg, * must be freed with g_free(). */ int -sync_if_capabilities_open(const gchar *ifname, gboolean monitor_mode, +sync_if_capabilities_open(const gchar *ifname, gboolean monitor_mode, const gchar* auth, gchar **data, gchar **primary_msg, gchar **secondary_msg, void (*update_cb)(void)) { @@ -1348,6 +1348,10 @@ sync_if_capabilities_open(const gchar *ifname, gboolean monitor_mode, argv = sync_pipe_add_arg(argv, &argc, "-L"); if (monitor_mode) argv = sync_pipe_add_arg(argv, &argc, "-I"); + if (auth) { + argv = sync_pipe_add_arg(argv, &argc, "-A"); + argv = sync_pipe_add_arg(argv, &argc, auth); + } #ifndef DEBUG_CHILD /* Run dumpcap in capture child mode */ diff --git a/capchild/capture_sync.h b/capchild/capture_sync.h index 7449d96939..3cdac27956 100644 --- a/capchild/capture_sync.h +++ b/capchild/capture_sync.h @@ -73,7 +73,7 @@ sync_interface_list_open(gchar **data, gchar **primary_msg, /** Get interface capabilities using dumpcap */ extern int -sync_if_capabilities_open(const gchar *ifname, gboolean monitor_mode, +sync_if_capabilities_open(const gchar *ifname, gboolean monitor_mode, const gchar* auth, gchar **data, gchar **primary_msg, gchar **secondary_msg, void (*update_cb)(void)); |