reassing 516089 libpcap0.8 1.0.0-1 retitle 516089 libpcap0.8: Can't get USB bus index... thanks
(The original bug report was misleading, please don't bother reading it.)
It is impossible to open a device which contains "usb" in the middle of its name.
$ cat pcapbug.c #include <pcap/pcap.h> int main(int argc, char **argv) { char error_buffer[PCAP_ERRBUF_SIZE]; pcap_t *handle; if (argc != 2) { fprintf(stderr, "pcapbug <iface>\n"); return 1; } handle = pcap_open_live(argv[1], BUFSIZ, 1, 10, error_buffer); if (handle == NULL) { fprintf(stderr, "%s\n", error_buffer); return 1; } return 0; } $ gcc -Wall pcapbug.c -o pcapbug -l pcap $ ./pcapbug busby Can't get USB bus index from busby -- Jakub Wilk
diff --git a/pcap-linux.c b/pcap-linux.c --- a/pcap-linux.c +++ b/pcap-linux.c @@ -304,25 +304,25 @@ device = "any"; #ifdef HAVE_DAG_API - if (strstr(device, "dag")) { + if (strstr(device, "dag") == device) { return dag_create(device, ebuf); } #endif /* HAVE_DAG_API */ #ifdef HAVE_SEPTEL_API - if (strstr(device, "septel")) { + if (strstr(device, "septel") == device) { return septel_create(device, ebuf); } #endif /* HAVE_SEPTEL_API */ #ifdef PCAP_SUPPORT_BT - if (strstr(device, "bluetooth")) { + if (strstr(device, "bluetooth") == device) { return bt_create(device, ebuf); } #endif #ifdef PCAP_SUPPORT_USB - if (strstr(device, "usb")) { + if (strstr(device, "usb") == device) { return usb_create(device, ebuf); } #endif