summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>2007-04-19 10:20:57 +0000
committerjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>2007-04-19 10:20:57 +0000
commit35a3c167a12dfacc434a197497627114a904dae1 (patch)
tree57ee3b9f469a02a31f10a1293d3f217972eddcd8
parentd710d36ddebfaea14ee59ea751b3948282c68a91 (diff)
downloadopenvpn-35a3c167a12dfacc434a197497627114a904dae1.tar.gz
openvpn-35a3c167a12dfacc434a197497627114a904dae1.tar.xz
openvpn-35a3c167a12dfacc434a197497627114a904dae1.zip
Updated build system and tap driver to work with
version 5600 of the Windows DDK. git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@1851 e7ae566f-a301-0410-adde-c780ea21d3b5
-rw-r--r--domake-win3
-rw-r--r--install-win32/copyinstaller10
-rw-r--r--install-win32/makebin4
-rw-r--r--install-win32/maketap6
-rw-r--r--install-win32/maketapinstall6
-rw-r--r--install-win32/version.nsi12
-rwxr-xr-xtap-win32/SOURCES.in11
-rwxr-xr-xtap-win32/prototypes.h3
-rwxr-xr-xtap-win32/tapdrvr.c15
9 files changed, 42 insertions, 28 deletions
diff --git a/domake-win b/domake-win
index 5223946..a4d6069 100644
--- a/domake-win
+++ b/domake-win
@@ -1,5 +1,8 @@
#!/bin/sh
+# make without signing:
+# SIGNCODE="null" ./domake-win
+
install-win32/winconfig
install-win32/makeopenvpn
install-win32/maketapinstall
diff --git a/install-win32/copyinstaller b/install-win32/copyinstaller
index f5279ca..96c213d 100644
--- a/install-win32/copyinstaller
+++ b/install-win32/copyinstaller
@@ -5,9 +5,7 @@
# load version.nsi definitions
. autodefs/nsidefs.sh
-if [ -n "$INSTALLER_DEST" ] ; then
- cd install-win32
- ls openvpn*.exe 2>/dev/null || exit 1
- exe=`ls -t openvpn*.exe | head -n 1`
- cp $exe $INSTALLER_DEST
-fi
+cd install-win32
+ls openvpn*.exe 2>/dev/null || exit 1
+exe=`ls -t openvpn*.exe | head -n 1`
+cp $exe ..
diff --git a/install-win32/makebin b/install-win32/makebin
index 671fb3b..66691a9 100644
--- a/install-win32/makebin
+++ b/install-win32/makebin
@@ -32,8 +32,8 @@ if [ -z "$DRVBINSRC" ] ; then
mkdir bin/tapinstall
mkdir bin/tapinstall/i386
mkdir bin/tapinstall/amd64
- cp tapinstall/objfre_wnet_x86/i386/tapinstall.exe bin/tapinstall/i386
- cp tapinstall/objfre_wnet_amd64/amd64/tapinstall.exe bin/tapinstall/amd64
+ cp tapinstall/objfre_w2k_x86/i386/tapinstall.exe bin/tapinstall/i386
+ cp tapinstall/objfre_wlh_amd64/amd64/tapinstall.exe bin/tapinstall/amd64
else
cp -a $DRVBINSRC/driver bin/driver
cp -a $DRVBINSRC/tapinstall bin/tapinstall
diff --git a/install-win32/maketap b/install-win32/maketap
index cd89eea..728bb85 100644
--- a/install-win32/maketap
+++ b/install-win32/maketap
@@ -8,7 +8,7 @@
amdtarget=""
if [ -z "$TAP_BIN_AMD64" ]; then
- amdtarget="fre AMD64 WNET"
+ amdtarget="fre AMD64 WLH"
fi
if [ -z "$DRVBINSRC" ] ; then
@@ -16,7 +16,7 @@ if [ -z "$DRVBINSRC" ] ; then
t=`pwd`
cd ..
- for mode in "fre WNET" "$amdtarget"; do
+ for mode in "w2k f" "$amdtarget"; do
echo '**********' build TAP $mode
cmd //c "C:\\WINDDK\\$DDKVER\\bin\\setenv.bat C:\\WINDDK\\$DDKVER $mode && cd `perl install-win32/dosname.pl $t` && build -cef"
done
@@ -26,3 +26,5 @@ if [ -n "$TAP_BIN_AMD64" ]; then
mkdir -p $t/amd64
cp "$TAP_BIN_AMD64" $t/amd64
fi
+
+title openvpn &>/dev/null
diff --git a/install-win32/maketapinstall b/install-win32/maketapinstall
index 5229a89..72b81b7 100644
--- a/install-win32/maketapinstall
+++ b/install-win32/maketapinstall
@@ -15,7 +15,7 @@ fi
amdtarget=""
if [ -z "$TI_BIN_AMD64" ]; then
- amdtarget="fre AMD64 WNET"
+ amdtarget="fre AMD64 WLH"
fi
if [ -z "$DRVBINSRC" ] ; then
@@ -26,7 +26,7 @@ if [ -z "$DRVBINSRC" ] ; then
t=`pwd`
cd ..
- for mode in "fre WNET" "$amdtarget"; do
+ for mode in "w2k f" "$amdtarget"; do
if [ -n "$mode" ]; then
echo '**********' build TAPINSTALL $mode
cmd //c "C:\\WINDDK\\$DDKVER\\bin\\setenv.bat C:\\WINDDK\\$DDKVER $mode && cd `perl install-win32/dosname.pl $t` && build -cef"
@@ -38,3 +38,5 @@ if [ -n "$TI_BIN_AMD64" ]; then
mkdir -p $t/objfre_wnet_amd64/amd64
cp "$TI_BIN_AMD64" $t/objfre_wnet_amd64/amd64
fi
+
+title openvpn &>/dev/null
diff --git a/install-win32/version.nsi b/install-win32/version.nsi
index 3004aa4..9e9d4e2 100644
--- a/install-win32/version.nsi
+++ b/install-win32/version.nsi
@@ -1,11 +1,11 @@
# Version numbers, settings, and dependencies
# for Windows OpenVPN installer.
-!define PRODUCT_VERSION "2.1_rc2c"
+!define PRODUCT_VERSION "2.1_rc2d"
# For now, use prebuilt AMD64 tap/tapinstall
-!define TAP_BIN_AMD64 "../amd64/tap/tap0901.sys"
-!define TI_BIN_AMD64 "../amd64/tapinstall/tapinstall.exe"
+#!define TAP_BIN_AMD64 "../amd64/tap/tap0901.sys"
+#!define TI_BIN_AMD64 "../amd64/tapinstall/tapinstall.exe"
# Copy installer to this directory when finished.
# If undefined, don't copy installer after generation.
@@ -32,8 +32,8 @@
# TAP Adapter parameters.
!define PRODUCT_TAP_MAJOR_VER 9
-!define PRODUCT_TAP_MINOR_VER 2
-!define PRODUCT_TAP_RELDATE "03/05/2007"
+!define PRODUCT_TAP_MINOR_VER 3
+!define PRODUCT_TAP_RELDATE "04/18/2007"
# Service template files service.[ch] (get from Platform SDK).
# If undefined, don't build openvpnserv.exe
@@ -42,7 +42,7 @@
# DDK Version.
# DDK distribution is assumed to be in C:\WINDDK\${DDKVER}
# Not needed if DRVBINSRC is defined.
-!define DDKVER "3790"
+!define DDKVER 5600
# Code Signing.
# This directory should contain signcode.exe + key files.
diff --git a/tap-win32/SOURCES.in b/tap-win32/SOURCES.in
index 63479a0..d64829d 100755
--- a/tap-win32/SOURCES.in
+++ b/tap-win32/SOURCES.in
@@ -17,13 +17,6 @@ C_DEFINES=
C_DEFINES=$(C_DEFINES) -DTAP_DRIVER_MAJOR_VERSION=@@PRODUCT_TAP_MAJOR_VER@@
C_DEFINES=$(C_DEFINES) -DTAP_DRIVER_MINOR_VERSION=@@PRODUCT_TAP_MINOR_VER@@
-# Use 00:FF:XX:XX:XX:XX format MAC addresses where
-# the Xs are random (like Linux tap driver).
-#
-# Don't allow TAP device to be opened by more than one process
-# at a time.
-C_DEFINES=$(C_DEFINES)
-
# Produce the same symbolic information for both free & checked builds.
# This will allow us to perform full source-level debugging on both
# builds without affecting the free build's performance.
@@ -63,8 +56,8 @@ MSC_OPTIMIZATION=/Od /Oi /Fc
LINKER_FLAGS=$(LINKER_FLAGS) /MAP /MAPINFO:EXPORTS /MAPINFO:LINES
# Generate a browser information file for use in IDE development
-BROWSER_INFO=1
-BROWSERFILE=$(TARGETNAME).BSC -n
+#BROWSER_INFO=1
+#BROWSERFILE=$(TARGETNAME).BSC -n
# Abort compilation on warnings.
MSC_WARNING_LEVEL=/W3 /WX
diff --git a/tap-win32/prototypes.h b/tap-win32/prototypes.h
index 2bd9961..788670c 100755
--- a/tap-win32/prototypes.h
+++ b/tap-win32/prototypes.h
@@ -187,6 +187,7 @@ VOID HookDispatchFunctions();
#if ENABLE_NONADMIN
+#if DDKVER < 5600
/*
* Better solution for use on Vista DDK, but possibly not compatible with
* earlier DDKs:
@@ -216,6 +217,8 @@ ZwSetSecurityObject (
IN SECURITY_INFORMATION SecurityInformation,
IN PSECURITY_DESCRIPTOR SecurityDescriptor);
+#endif
+
VOID AllowNonAdmin (TapExtensionPointer p_Extension);
#endif
diff --git a/tap-win32/tapdrvr.c b/tap-win32/tapdrvr.c
index 3d3c224..7e8d2d6 100755
--- a/tap-win32/tapdrvr.c
+++ b/tap-win32/tapdrvr.c
@@ -39,6 +39,11 @@
// TAP_IOCTL_CONFIG_TUN ioctl.
//======================================================
+#include "../../autodefs/nsidefs.h"
+#ifndef DDKVER
+#error DDKVER must be defined to the DDK Version as in c:\WinDDK\[DDKVER]\...
+#endif
+
#define NDIS_MINIPORT_DRIVER
#define BINARY_COMPATIBLE 0
#define NDIS50_MINIPORT 1
@@ -65,9 +70,15 @@
//========================================================
#define ENABLE_NONADMIN 1 // JYFIXME
+#if DDKVER < 5600
#include <ndis.h>
#include <ntstrsafe.h>
#include <ntddk.h>
+#else
+#include <ntifs.h>
+#include <ndis.h>
+#include <ntstrsafe.h>
+#endif
#include "lock.h"
#include "constants.h"
@@ -408,6 +419,7 @@ NDIS_STATUS AdapterCreate
}
}
} else {
+#if DDKVER < 5600
/* "MiniportName" is available only XP and above. Not on Windows 2000. */
NDIS_STRING key = NDIS_STRING_CONST("NdisVersion");
NdisReadConfiguration (&status, &parm, configHandle, &key, NdisParameterInteger);
@@ -428,7 +440,8 @@ NDIS_STATUS AdapterCreate
}
}
}
- }
+#endif
+ }
}
/* Can't continue without name (see macro 'NAME') */