summaryrefslogtreecommitdiff
path: root/capchild
diff options
context:
space:
mode:
Diffstat (limited to 'capchild')
-rw-r--r--capchild/capture_ifinfo.c3
-rw-r--r--capchild/capture_sync.c6
-rw-r--r--capchild/capture_sync.h2
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));