[or-cvs] r17039: {torvm} Change DLL names for WinPcap libs to prevent ambiguous erros (in torvm/trunk/build/win32: files patches)

coderman at seul.org coderman at seul.org
Sun Oct 5 04:34:21 UTC 2008


Author: coderman
Date: 2008-10-05 00:34:19 -0400 (Sun, 05 Oct 2008)
New Revision: 17039

Modified:
   torvm/trunk/build/win32/files/buildall.sh
   torvm/trunk/build/win32/patches/qemu-winpcap-0.9.1.patch
   torvm/trunk/build/win32/patches/winpcap-tor-device-mods.patch
Log:
Change DLL names for WinPcap libs to prevent ambiguous erros when an existing WinPcap installation is already present.

Modified: torvm/trunk/build/win32/files/buildall.sh
===================================================================
--- torvm/trunk/build/win32/files/buildall.sh	2008-10-02 19:41:43 UTC (rev 17038)
+++ torvm/trunk/build/win32/files/buildall.sh	2008-10-05 04:34:19 UTC (rev 17039)
@@ -207,7 +207,7 @@
   echo "ERROR: WinPcap Packet user space library build failed." >&2
   exit 1
 fi
-cp Packet.dll $libdir/
+cp torpkt.dll $libdir/
 cd $wpbase
 cd wpcap/PRJ
 make
@@ -215,15 +215,20 @@
   echo "ERROR: WinPcap libwpcap user space library build failed." >&2
   exit 1
 fi
-cp wpcap.dll $libdir/
+cp torpcap.dll $libdir/
 
 echo "Building qemu ..."
 cd /usr/src
 tar zxvf qemu-0.9.1.tar.gz
 cd qemu-0.9.1
+patch -p1 < ../qemu-kernel-cmdline-from-stdin.patch 2> /dev/null
+if (( $? != 0 )); then
+  echo "ERROR: Qemu cmdline via stdin patch failed." >&2
+  exit 1
+fi
 patch -p1 < ../qemu-winpcap-0.9.1.patch 2> /dev/null
 if (( $? != 0 )); then
-  echo "ERROR: Qemu patch failed." >&2
+  echo "ERROR: Qemu winpcap patch failed." >&2
   exit 1
 fi
 ./configure --prefix=/usr --interp-prefix=qemu-%M \

Modified: torvm/trunk/build/win32/patches/qemu-winpcap-0.9.1.patch
===================================================================
--- torvm/trunk/build/win32/patches/qemu-winpcap-0.9.1.patch	2008-10-02 19:41:43 UTC (rev 17038)
+++ torvm/trunk/build/win32/patches/qemu-winpcap-0.9.1.patch	2008-10-05 04:34:19 UTC (rev 17039)
@@ -1,12 +1,12 @@
 diff -Naur orig-qemu-0.9.1/Makefile.target mod-qemu-0.9.1/Makefile.target
 --- orig-qemu-0.9.1/Makefile.target	2008-01-06 19:38:41.000000000 +0000
-+++ mod-qemu-0.9.1/Makefile.target	2008-09-26 07:33:17.304380744 +0000
++++ mod-qemu-0.9.1/Makefile.target	2008-10-05 03:18:14.491593496 +0000
 @@ -237,7 +237,7 @@
  LIBS+=-lz
  endif
  ifdef CONFIG_WIN32
 -LIBS+=-lwinmm -lws2_32 -liphlpapi
-+LIBS+=-lwinmm -lws2_32 -liphlpapi -lpthreadGC2 -lpacket -lwpcap
++LIBS+=-lwinmm -lws2_32 -liphlpapi -lpthreadGC2 -ltorpkt -ltorpcap
  endif
  ifdef CONFIG_SOLARIS
  LIBS+=-lsocket -lnsl -lresolv
@@ -68,8 +68,8 @@
  #else
 diff -Naur orig-qemu-0.9.1/vl.c mod-qemu-0.9.1/vl.c
 --- orig-qemu-0.9.1/vl.c	2008-01-06 19:38:42.000000000 +0000
-+++ mod-qemu-0.9.1/vl.c	2008-09-26 09:30:19.241883984 +0000
-@@ -3858,6 +3858,320 @@
++++ mod-qemu-0.9.1/vl.c	2008-10-05 03:16:48.525662304 +0000
+@@ -3858,6 +3858,249 @@
  
  #endif /* CONFIG_SLIRP */
  
@@ -92,8 +92,6 @@
 +static VLANClientState *pcap_vc;
 +pcap_t* pcaphandle;
 +static void pcap_receive(void *opaque, const uint8_t *buf, int size);
-+char* eth_getname_bydesc(char* desc, char* name);
-+char* eth_getname(int number, char* name);
 +void eth_callback(u_char *user, const struct pcap_pkthdr *phdr, const u_char *pdata);
 +void *pcap_send(void *threadid);
 +int eth_open(char* name);
@@ -186,7 +184,7 @@
 +                    }
 +                    else {
 +                        snprintf(actual_name, actual_name_size, "%s%s", DEVICE_PREFIX, enum_name);
-+                        fprintf(stderr, "pcap: matched requested %s to guid: %s\n", name_data, enum_name);
++                        fprintf(stderr, "pcap: matched requested %s to guid: %s\n\tpcap open devname: %s", name_data, enum_name, actual_name);
 +                    }
 +                }
 +                stop = 1;
@@ -215,6 +213,7 @@
 +        fprintf(stderr, "qemu: could not set up pcap bridge to alias: %s\n", pcap_devicename);
 +        exit(1);
 +    }
++    /* either this works or we exit. don't bother with retval */
 +    eth_open(dev_guid);
 +
 +    pthread_attr_t attr;
@@ -261,59 +260,35 @@
 +
 +int eth_open(char* name)
 +{
-+    const int bufsz = (BUFSIZ < 1520) ? 1520 : BUFSIZ;
++    const int bufsz = 1520;
 +    char errbuf[PCAP_ERRBUF_SIZE];
-+    char temp[1024];
-+    char* savname = name;
-+    int num;
 +    char* msg;
 +
-+    /* translate name of type "ethX" to real device name */
-+    if ((strlen(name) == 4)
-+        && (tolower(name[0]) == 'e')
-+        && (tolower(name[1]) == 't')
-+        && (tolower(name[2]) == 'h')
-+        && isdigit(name[3])) {
-+
-+        num = atoi(&name[3]);
-+        savname = eth_getname(num, temp);
-+    }
-+    if (savname == 0) /* didn't translate */
-+        return -1;
-+
 +    /* attempt to connect device */
 +    memset(errbuf, 0, sizeof(errbuf));
-+    pcaphandle = (void*) pcap_open_live(savname,
++    pcaphandle = (void*) pcap_open_live(name,
 +                                        bufsz,
 +                                        PCAP_OPENFLAG_PROMISCUOUS | PCAP_OPENFLAG_NOCAPTURE_LOCAL,
 +                                        PCAP_READ_TIMEOUT,
 +                                        errbuf);
 +    if (!pcaphandle) { /* try non-promisc open device */
-+        pcaphandle = (void*) pcap_open_live(savname,
++        pcaphandle = (void*) pcap_open_live(name,
 +                                            bufsz,
 +                                            PCAP_OPENFLAG_NOCAPTURE_LOCAL,
 +                                            PCAP_READ_TIMEOUT,
 +                                            errbuf);
 +        if (!pcaphandle) { /* cannot open device */
-+            msg = "Eth: pcap_open_live error - %s\r\n";
-+            fprintf (stderr, msg, errbuf);
++            msg = "Eth: pcap_open_live error for device %s - %s\r\n";
++            fprintf (stderr, msg, name, errbuf);
 +            exit (1);
 +        }
 +        msg = "Eth: opened non-promisc %s\r\n";
-+        fprintf (stderr, msg, savname);
++        fprintf (stderr, msg, name);
 +    } else {
 +        msg = "Eth: opened promisc %s\r\n";
-+        fprintf (stderr, msg, savname);
++        fprintf (stderr, msg, name);
 +    }
 +
-+#if !defined(HAS_PCAP_SENDPACKET) && defined (xBSD) && !defined (__APPLE__)
-+    /* Tell the kernel that the header is fully-formed when it gets it.
-+    This is required in order to fake the src address. */
-+    {
-+        int one = 1;
-+        ioctl(pcap_fileno(dev->pcaphandle), BIOCSHDRCMPLT, &one);
-+    }
-+#endif /* xBSD */
 +#if defined (USE_READER_THREAD)
 +    {
 +        pthread_attr_t attr;
@@ -336,52 +311,6 @@
 +#endif /* !defined (USE_READER_THREAD */
 +    return 0;
 +}
-+
-+#define ETH_MAX_DEVICE 10
-+char* eth_getname_bydesc(char* desc, char* name)
-+{
-+    // ETH_LIST list[ETH_MAX_DEVICE];
-+    struct slist {
-+        int num;
-+        char name[50];
-+        char desc[50];
-+    }list[10];
-+    int count = 1;//eth_devices(ETH_MAX_DEVICE, list);
-+    int i;
-+    int j=strlen(desc);
-+
-+    for (i=0; i<count; i++) {
-+        int found = 1;
-+        int k = strlen(list[i].desc);
-+
-+        if (j != k) continue;
-+        for (k=0; k<j; k++)
-+            if (tolower(list[i].desc[k]) != tolower(desc[k]))
-+        found = 0;
-+        if (found == 0) continue;
-+
-+        /* found a case-insensitive description match */
-+        strcpy(name, list[i].name);
-+        return name;
-+    }
-+    /* not found */
-+    return 0;
-+}
-+
-+char* eth_getname(int number, char* name)
-+{
-+    //ETH_LIST list[ETH_MAX_DEVICE];
-+    struct slist {
-+        int num;
-+        char name[50];
-+        char desc[50];
-+    }list[10];
-+    int count =1;// eth_devices(ETH_MAX_DEVICE, list);
-+
-+    if (count < number) return 0;
-+    strcpy(name, list[number].name);
-+    return name;
-+}
 +#endif //CONFIG_PCAP
 +//////////////////////////////////////////////////////////////////////////////
 +
@@ -390,7 +319,7 @@
  #if !defined(_WIN32)
  
  typedef struct TAPState {
-@@ -4733,6 +5047,14 @@
+@@ -4733,6 +4976,14 @@
          ret = net_slirp_init(vlan);
      } else
  #endif
@@ -405,7 +334,7 @@
  #ifdef _WIN32
      if (!strcmp(device, "tap")) {
          char ifname[64];
-@@ -7551,6 +7873,9 @@
+@@ -7551,6 +7802,9 @@
             "                connect the user mode network stack to VLAN 'n' and send\n"
             "                hostname 'host' to DHCP clients\n"
  #endif
@@ -415,7 +344,7 @@
  #ifdef _WIN32
             "-net tap[,vlan=n],ifname=name\n"
             "                connect the host TAP network interface to VLAN 'n'\n"
-@@ -7656,9 +7981,6 @@
+@@ -7656,9 +7910,6 @@
      QEMU_OPTION_pflash,
      QEMU_OPTION_boot,
      QEMU_OPTION_snapshot,
@@ -425,7 +354,7 @@
      QEMU_OPTION_m,
      QEMU_OPTION_nographic,
      QEMU_OPTION_portrait,
-@@ -7746,9 +8068,6 @@
+@@ -7746,9 +7997,6 @@
      { "pflash", HAS_ARG, QEMU_OPTION_pflash },
      { "boot", HAS_ARG, QEMU_OPTION_boot },
      { "snapshot", 0, QEMU_OPTION_snapshot },
@@ -435,7 +364,7 @@
      { "m", HAS_ARG, QEMU_OPTION_m },
      { "nographic", 0, QEMU_OPTION_nographic },
      { "portrait", 0, QEMU_OPTION_portrait },
-@@ -8355,11 +8674,6 @@
+@@ -8355,11 +8603,6 @@
  		drive_add("file=\"%s\"," FD_ALIAS, optarg,
  		          popt->index - QEMU_OPTION_fda);
                  break;

Modified: torvm/trunk/build/win32/patches/winpcap-tor-device-mods.patch
===================================================================
--- torvm/trunk/build/win32/patches/winpcap-tor-device-mods.patch	2008-10-02 19:41:43 UTC (rev 17038)
+++ torvm/trunk/build/win32/patches/winpcap-tor-device-mods.patch	2008-10-05 04:34:19 UTC (rev 17039)
@@ -72,6 +72,57 @@
  
  #endif //__WPCAPNAMES_H_EED6D131C6DB4dd696757D219977A7E5
  
+diff -Naur orig-winpcap/packetNtx/Dll/AdInfo.c mod-winpcap/packetNtx/Dll/AdInfo.c
+--- orig-winpcap/packetNtx/Dll/AdInfo.c	2007-11-13 22:59:14.000000000 +0000
++++ mod-winpcap/packetNtx/Dll/AdInfo.c	2008-10-05 03:35:04.323075776 +0000
+@@ -96,7 +96,7 @@
+ #endif /* HAVE_DAG_API */
+ 
+ /// Title of error windows
+-TCHAR   szWindowTitle[] = TEXT("PACKET.DLL");
++TCHAR   szWindowTitle[] = TEXT("TORPKT.DLL");
+ 
+ ULONG inet_addrU(const WCHAR *cp);
+ 
+diff -Naur orig-winpcap/packetNtx/Dll/Packet.def mod-winpcap/packetNtx/Dll/Packet.def
+--- orig-winpcap/packetNtx/Dll/Packet.def	2006-08-09 00:11:04.000000000 +0000
++++ mod-winpcap/packetNtx/Dll/Packet.def	1970-01-01 00:00:00.000000000 +0000
+@@ -1,35 +0,0 @@
+-LIBRARY packet
+-
+-EXPORTS
+-		PacketLibraryVersion
+-		PacketGetVersion
+-		PacketGetDriverVersion
+-		PacketOpenAdapter
+-		PacketSendPacket
+-		PacketSendPackets
+-		PacketAllocatePacket
+-		PacketInitPacket
+-		PacketFreePacket
+-		PacketReceivePacket
+-		PacketCloseAdapter
+-		PacketSetHwFilter
+-		PacketGetAdapterNames
+-		PacketRequest
+-		PacketSetBuff
+-		PacketSetBpf
+-		PacketSetSnapLen
+-		PacketGetStats
+-		PacketGetStatsEx
+-		PacketGetNetType
+-		PacketSetReadTimeout
+-		PacketSetMode
+-		PacketSetNumWrites
+-		PacketGetNetInfoEx
+-		PacketSetMinToCopy
+-		PacketGetReadEvent
+-		PacketStopDriver
+-		PacketSetDumpName
+-		PacketSetDumpLimits
+-		PacketIsDumpEnded
+-		PacketSetLoopbackBehavior
+-		PacketGetAirPcapHandle
 diff -Naur orig-winpcap/packetNtx/Dll/Packet32.c mod-winpcap/packetNtx/Dll/Packet32.c
 --- orig-winpcap/packetNtx/Dll/Packet32.c	2007-11-13 22:59:30.000000000 +0000
 +++ mod-winpcap/packetNtx/Dll/Packet32.c	2008-09-27 09:17:40.512431904 +0000
@@ -94,23 +145,103 @@
  		result = TRUE;
  	}
  
+diff -Naur orig-winpcap/packetNtx/Dll/Project/GNUmakefile mod-winpcap/packetNtx/Dll/Project/GNUmakefile
+--- orig-winpcap/packetNtx/Dll/Project/GNUmakefile	2006-11-17 02:29:18.000000000 +0000
++++ mod-winpcap/packetNtx/Dll/Project/GNUmakefile	2008-10-05 03:29:27.294311936 +0000
+@@ -1,23 +1,22 @@
+ # Makefile for cygwin gcc
+ # Nate Lawson <nate at rootlabs.com>
++# Modifications added for Tor VM WinPcap to prevent collision with WinPcap proper
+ 
+ # OPTFLAGS = -g -DDBG 
+ OPTFLAGS = -O -D_WINNT4
+ # I am suspicious of -O2 since it hosed wpcap.dll. To be safe, use -O only
+ 
+ CFLAGS = -I ../../../common -shared -mno-cygwin ${OPTFLAGS} -I..
+-LDFLAGS = -Wl,--out-implib,libpacket.a
++LDFLAGS = -Wl,--out-implib,libtorpkt.a
+ OBJS = ../Packet32.o ../AdInfo.o
+ LIBS = -lws2_32 -lversion
+ 
+-Packet.dll: ${OBJS}
+-	${CC} ${CFLAGS} ${LDFLAGS} -o Packet.dll ../Packet.def ${OBJS} ${LIBS}
++torpkt.dll: ${OBJS}
++	${CC} ${CFLAGS} ${LDFLAGS} -o torpkt.dll ../torpkt.def ${OBJS} ${LIBS}
+ 
+ .c.o:
+ 	${CC} ${CFLAGS} -o $*.o -c $<
+ 
+ clean:
+-	${RM} ${OBJS} libpacket.a Packet.dll
++	${RM} ${OBJS} libtorpkt.a torpkt.dll
+ 
+-install: Packet.dll
+-	cp Packet.dll c:/winnt/system32
+diff -Naur orig-winpcap/packetNtx/Dll/torpkt.def mod-winpcap/packetNtx/Dll/torpkt.def
+--- orig-winpcap/packetNtx/Dll/torpkt.def	1970-01-01 00:00:00.000000000 +0000
++++ mod-winpcap/packetNtx/Dll/torpkt.def	2008-10-05 03:30:05.596489120 +0000
+@@ -0,0 +1,34 @@
++LIBRARY torpkt
++
++EXPORTS
++		PacketLibraryVersion
++		PacketGetVersion
++		PacketGetDriverVersion
++		PacketOpenAdapter
++		PacketSendPacket
++		PacketSendPackets
++		PacketAllocatePacket
++		PacketInitPacket
++		PacketFreePacket
++		PacketReceivePacket
++		PacketCloseAdapter
++		PacketSetHwFilter
++		PacketGetAdapterNames
++		PacketRequest
++		PacketSetBuff
++		PacketSetBpf
++		PacketSetSnapLen
++		PacketGetStats
++		PacketGetStatsEx
++		PacketGetNetType
++		PacketSetReadTimeout
++		PacketSetMode
++		PacketSetNumWrites
++		PacketGetNetInfoEx
++		PacketSetMinToCopy
++		PacketGetReadEvent
++		PacketStopDriver
++		PacketSetDumpName
++		PacketSetDumpLimits
++		PacketIsDumpEnded
++		PacketSetLoopbackBehavior
 diff -Naur orig-winpcap/packetNtx/Dll/version.rc2 mod-winpcap/packetNtx/Dll/version.rc2
 --- orig-winpcap/packetNtx/Dll/version.rc2	2006-07-25 00:46:54.000000000 +0000
-+++ mod-winpcap/packetNtx/Dll/version.rc2	2008-09-28 06:58:58.871717096 +0000
-@@ -26,7 +26,7 @@
++++ mod-winpcap/packetNtx/Dll/version.rc2	2008-10-05 03:33:27.420807160 +0000
+@@ -26,20 +26,20 @@
      BEGIN
          BLOCK "000004b0"
          BEGIN
 -			VALUE "CompanyName",       WINPCAP_COMPANY_NAME
 +			VALUE "CompanyName",       "The Tor Project, Inc."
  #ifdef _WINNT4
- 			VALUE "FileDescription",   "packet.dll (NT4) Dynamic Link Library"
+-			VALUE "FileDescription",   "packet.dll (NT4) Dynamic Link Library"
++			VALUE "FileDescription",   "torpkt.dll (NT4) Dynamic Link Library"
  #elif defined(_WINVISTA)
-@@ -39,7 +39,7 @@
+-			VALUE "FileDescription",   "packet.dll (Vista) Dynamic Link Library"
++			VALUE "FileDescription",   "torpkt.dll (Vista) Dynamic Link Library"
+ #else
+-			VALUE "FileDescription",   "packet.dll (NT5) Dynamic Link Library"
++			VALUE "FileDescription",   "torpkt.dll (NT5) Dynamic Link Library"
+ #endif
+ 			VALUE "FileVersion",       WINPCAP_VER_STRING
+-			VALUE "InternalName",      "packet.dll"
++			VALUE "InternalName",      "torpkt.dll"
  			VALUE "LegalCopyright",    WINPCAP_COPYRIGHT_STRING
  			VALUE "LegalTrademarks",   ""
- 			VALUE "OriginalFilename",  "packet.dll"
+-			VALUE "OriginalFilename",  "packet.dll"
 -			VALUE "ProductName",       WINPCAP_PRODUCT_NAME
++			VALUE "OriginalFilename",  "torpkt.dll"
 +			VALUE "ProductName",       "Tor VM WinPcap Packet.dll Library"
  			VALUE "ProductVersion",    WINPCAP_VER_STRING
              VALUE "Build Description", WINPCAP_BUILD_DESCRIPTION
@@ -202,8 +333,20 @@
  #define WINPCAP_LIBPCAP_VERSION			"1.0 - branch"
 diff -Naur orig-winpcap/wpcap/PRJ/GNUmakefile mod-winpcap/wpcap/PRJ/GNUmakefile
 --- orig-winpcap/wpcap/PRJ/GNUmakefile	2008-05-20 17:30:46.000000000 +0000
-+++ mod-winpcap/wpcap/PRJ/GNUmakefile	2008-09-26 07:13:21.963100240 +0000
-@@ -23,15 +23,14 @@
++++ mod-winpcap/wpcap/PRJ/GNUmakefile	2008-10-05 03:43:00.025757976 +0000
+@@ -1,5 +1,6 @@
+ # Makefile for cygwin gcc
+ # Nate Lawson <nate at rootlabs.com>
++# Modified for Tor VM WinPcap to prevent collision with WinPcap proper
+ 
+ # Set according to your system type
+ SYSTYPE = "NT"
+@@ -18,21 +19,19 @@
+ YFLAGS = -y -p pcap_
+ 
+ PACKET_DIR = packetNTx
+-INSTALL_DIR = ${SYSTEMROOT}\system32
+ 
  CFLAGS = -I ../libpcap -I ../libpcap/bpf -I ../libpcap/lbl \
  	-I ../libpcap/Win32/Include -I../libpcap/Win32/Include/ipv6kit \
  	-I ../../common -I ../Win32-Extensions \
@@ -217,7 +360,221 @@
 +	-DHAVE_REMOTE \
  	-mno-cygwin -shared ${OPTFLAGS}
 -LDFLAGS = -Wl,--out-implib,../lib/libwpcap.a
-+LDFLAGS = -Wl,--out-implib,libwpcap.a
- LIBS = -L ../../${PACKET_DIR}/DLL/Project -lPacket -lws2_32
+-LIBS = -L ../../${PACKET_DIR}/DLL/Project -lPacket -lws2_32
++LDFLAGS = -Wl,--out-implib,libtorpcap.a
++LIBS = -L ../../${PACKET_DIR}/DLL/Project -ltorpkt -lws2_32
  OBJS = ../libpcap/bpf/net/bpf_filter.o \
  	../libpcap/bpf_dump.o \
+ 	../libpcap/bpf_image.o \
+@@ -63,13 +62,14 @@
+ 	../Win32-Extensions/Win32-Extensions.o
+ 
+ main: ${OBJS}
+-	${CC} ${CFLAGS} ${LDFLAGS} -o wpcap.dll wpcap.def ${OBJS} ${LIBS}
++	${CC} ${CFLAGS} ${LDFLAGS} -o torpcap.dll torpcap.def ${OBJS} ${LIBS}
+ 
+-install:
+-	cp wpcap.dll ${INSTALL_DIR}
++# by default, we don't want clean to delete the generated grammar
++realclean: clean
++	${RM} ../libpcap/scanner.c ../libpcap/grammar.c
+ 
+ clean:
+-	${RM} ${OBJS} ../libpcap/scanner.c ../libpcap/grammar.c wpcap.a wpcap.dll
++	${RM} ${OBJS} torpcap.a torpcap.dll
+ 
+ # Keeps intermediate .c files from being deleted
+ .SECONDARY: ../libpcap/scanner.c ../libpcap/grammar.c
+diff -Naur orig-winpcap/wpcap/PRJ/WPCAP.DEF mod-winpcap/wpcap/PRJ/WPCAP.DEF
+--- orig-winpcap/wpcap/PRJ/WPCAP.DEF	2008-04-25 18:45:08.000000000 +0000
++++ mod-winpcap/wpcap/PRJ/WPCAP.DEF	1970-01-01 00:00:00.000000000 +0000
+@@ -1,92 +0,0 @@
+-LIBRARY wpcap.dll
+-
+-DESCRIPTION 'Win32 Packet Capture Library'
+-
+-EXPORTS
+-		pcap_lookupdev
+-		pcap_lookupnet
+-		pcap_open_live
+-		pcap_open_offline
+-		pcap_close
+-		pcap_getnonblock
+-		pcap_setnonblock
+-		pcap_loop
+-		pcap_dispatch
+-		pcap_read
+-		pcap_setuserbuffer
+-		pcap_offline_read
+-		pcap_next
+-		pcap_stats
+-		pcap_stats_ex
+-		pcap_setfilter
+-		pcap_perror
+-		pcap_strerror
+-		pcap_geterr
+-		pcap_compile
+-		pcap_compile_nopcap
+-		pcap_freecode
+-		pcap_datalink
+-		pcap_snapshot
+-		pcap_is_swapped
+-		pcap_major_version
+-		pcap_minor_version
+-		pcap_file
+-		pcap_fileno
+-		pcap_dump_open
+-		pcap_dump_close
+-		pcap_dump_flush
+-		pcap_dump
+-		pcap_dump_file
+-		pcap_setbuff
+-		pcap_setmode
+-		pcap_sendpacket
+-		pcap_sendqueue_alloc
+-		pcap_sendqueue_destroy
+-		pcap_sendqueue_queue
+-		pcap_sendqueue_transmit
+-		pcap_next_etherent
+-		pcap_getevent
+-		pcap_setmintocopy
+-		pcap_open_dead
+-		pcap_findalldevs
+-		pcap_freealldevs
+-		pcap_live_dump
+-		pcap_live_dump_ended
+-		bpf_filter
+-		bpf_validate
+-		bpf_image
+-		bpf_dump
+-		wsockinit
+-		endservent
+-		getservent
+-		eproto_db
+-		pcap_stats_ex
+-		pcap_open
+-		pcap_createsrcstr
+-		pcap_parsesrcstr
+-		pcap_findalldevs_ex
+-		pcap_remoteact_accept
+-		pcap_remoteact_list
+-		pcap_remoteact_close
+-		pcap_remoteact_cleanup
+-		install_bpf_program
+-		pcap_next_ex
+-		pcap_offline_filter
+-		pcap_setsampling
+-		pcap_breakloop
+-		pcap_list_datalinks
+-		pcap_list_datalinks
+-		pcap_set_datalink
+-		pcap_datalink_name_to_val
+-		pcap_datalink_val_to_name
+-		pcap_datalink_val_to_description
+-		pcap_lib_version
+-		pcap_dump_file
+-		pcap_dump_ftell
+-		pcap_get_airpcap_handle
+-		pcap_create
+-		pcap_activate
+-		pcap_set_promisc
+-		pcap_set_snaplen
+-		pcap_set_timeout
+-		pcap_set_buffer_size
+\ No newline at end of file
+diff -Naur orig-winpcap/wpcap/PRJ/torpcap.def mod-winpcap/wpcap/PRJ/torpcap.def
+--- orig-winpcap/wpcap/PRJ/torpcap.def	1970-01-01 00:00:00.000000000 +0000
++++ mod-winpcap/wpcap/PRJ/torpcap.def	2008-10-05 03:43:39.914693936 +0000
+@@ -0,0 +1,92 @@
++LIBRARY torpcap.dll
++
++DESCRIPTION 'Tor VM Win32 Packet Capture Library'
++
++EXPORTS
++		pcap_lookupdev
++		pcap_lookupnet
++		pcap_open_live
++		pcap_open_offline
++		pcap_close
++		pcap_getnonblock
++		pcap_setnonblock
++		pcap_loop
++		pcap_dispatch
++		pcap_read
++		pcap_setuserbuffer
++		pcap_offline_read
++		pcap_next
++		pcap_stats
++		pcap_stats_ex
++		pcap_setfilter
++		pcap_perror
++		pcap_strerror
++		pcap_geterr
++		pcap_compile
++		pcap_compile_nopcap
++		pcap_freecode
++		pcap_datalink
++		pcap_snapshot
++		pcap_is_swapped
++		pcap_major_version
++		pcap_minor_version
++		pcap_file
++		pcap_fileno
++		pcap_dump_open
++		pcap_dump_close
++		pcap_dump_flush
++		pcap_dump
++		pcap_dump_file
++		pcap_setbuff
++		pcap_setmode
++		pcap_sendpacket
++		pcap_sendqueue_alloc
++		pcap_sendqueue_destroy
++		pcap_sendqueue_queue
++		pcap_sendqueue_transmit
++		pcap_next_etherent
++		pcap_getevent
++		pcap_setmintocopy
++		pcap_open_dead
++		pcap_findalldevs
++		pcap_freealldevs
++		pcap_live_dump
++		pcap_live_dump_ended
++		bpf_filter
++		bpf_validate
++		bpf_image
++		bpf_dump
++		wsockinit
++		endservent
++		getservent
++		eproto_db
++		pcap_stats_ex
++		pcap_open
++		pcap_createsrcstr
++		pcap_parsesrcstr
++		pcap_findalldevs_ex
++		pcap_remoteact_accept
++		pcap_remoteact_list
++		pcap_remoteact_close
++		pcap_remoteact_cleanup
++		install_bpf_program
++		pcap_next_ex
++		pcap_offline_filter
++		pcap_setsampling
++		pcap_breakloop
++		pcap_list_datalinks
++		pcap_list_datalinks
++		pcap_set_datalink
++		pcap_datalink_name_to_val
++		pcap_datalink_val_to_name
++		pcap_datalink_val_to_description
++		pcap_lib_version
++		pcap_dump_file
++		pcap_dump_ftell
++		pcap_get_airpcap_handle
++		pcap_create
++		pcap_activate
++		pcap_set_promisc
++		pcap_set_snaplen
++		pcap_set_timeout
++		pcap_set_buffer_size



More information about the tor-commits mailing list