On Linux, try to open the "any" device and, if we can open it, add it to
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 23 Dec 2000 19:50:36 +0000 (19:50 +0000)
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 23 Dec 2000 19:50:36 +0000 (19:50 +0000)
the end of the list of interfaces on which you can capture.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2774 f5534014-38df-0310-8fa8-9805f1628bb7

util.c

diff --git a/util.c b/util.c
index eb85be846efd6269d92859894bf355acd6b99b48..0bd6787d192db9782bfc49b8d5707ed1977bc23b 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1,7 +1,7 @@
 /* util.c
  * Utility routines
  *
- * $Id: util.c,v 1.47 2000/10/11 07:35:00 guy Exp $
+ * $Id: util.c,v 1.48 2000/12/23 19:50:36 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -632,6 +632,23 @@ get_interface_list(int *err, char *err_str)
 #endif
        }
 
+#ifdef linux
+       /*
+        * OK, maybe we have support for the "any" device, to do a cooked
+        * capture on all interfaces at once.
+        * Try opening it and, if that succeeds, add it to the end of
+        * the list of interfaces.
+        */
+       pch = pcap_open_live("any", MIN_PACKET_SIZE, 0, 0, err_str);
+       if (pch != NULL) {
+               /*
+                * It worked; we can use the "any" device.
+                */
+               il = g_list_insert(il, g_strdup("any"), -1);
+               pcap_close(pch);
+       }
+#endif
+
        g_free(ifc.ifc_buf);
        close(sock);