From b5d1f77046792e88db90094a156e4722e34ad381 Mon Sep 17 00:00:00 2001 From: Ulf Lamping Date: Sat, 21 May 2005 09:41:57 +0000 Subject: as suggested by Loris: add wpcap_packet_get_version() and check the packet.dll version before using it (very restrictive for now, will check for exact DLL version strings). If version is unknown, ask user to continue or not. svn path=/trunk/; revision=14411 --- capture_wpcap_packet.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'capture_wpcap_packet.c') diff --git a/capture_wpcap_packet.c b/capture_wpcap_packet.c index c208f9962b..d1ffcf25b1 100644 --- a/capture_wpcap_packet.c +++ b/capture_wpcap_packet.c @@ -79,6 +79,7 @@ gboolean has_wpacket = FALSE; /******************************************************************************************************************************/ /* stuff to load WinPcap's packet.dll and the functions required from it */ +static PCHAR (*p_PacketGetVersion) (void); static LPADAPTER (*p_PacketOpenAdapter) (char *adaptername); static void (*p_PacketCloseAdapter) (LPADAPTER); static int (*p_PacketRequest) (LPADAPTER, int, void *); @@ -97,9 +98,10 @@ wpcap_packet_load(void) /* These are the symbols I need or want from packet.dll */ static const symbol_table_t symbols[] = { + SYM(PacketGetVersion, FALSE), SYM(PacketOpenAdapter, FALSE), SYM(PacketCloseAdapter, FALSE), - SYM(PacketRequest, TRUE), + SYM(PacketRequest, FALSE), { NULL, NULL, FALSE } }; @@ -131,7 +133,6 @@ wpcap_packet_load(void) sym++; } - has_wpacket = TRUE; } @@ -141,12 +142,22 @@ wpcap_packet_load(void) /* functions to access the NDIS driver values */ +/* get dll version */ +char * +wpcap_packet_get_version(void) +{ + g_assert(has_wpacket); + return p_PacketGetVersion(); +} + + /* open the interface */ void * wpcap_packet_open(char *if_name) { - LPADAPTER adapter; + LPADAPTER adapter; + g_assert(has_wpacket); adapter = p_PacketOpenAdapter(if_name); return adapter; @@ -158,6 +169,7 @@ void wpcap_packet_close(void *adapter) { + g_assert(has_wpacket); p_PacketCloseAdapter(adapter); } -- cgit v1.2.3