*************************************************************************
+QUICK START:
+
+ Unix:
+ ./configure && make && make-install
+
+ Windows:
+ ./domake-win (see comments in the script for more info)
+
+*************************************************************************
+
To download OpenVPN, go to:
http://openvpn.net/download.html
#
# Required libraries (must be prebuilt)
#
-# OpenSSL -- define OPENSSL_DIR in settings.in
-# LZO -- define LZO_DIR in settings.in
+# OpenSSL -- define OPENSSL_DIR in settings.in
+# LZO -- define LZO_DIR in settings.in
+# PKCS11-HELPER -- define PKCS11_HELPER_DIR
#
# Optional OpenVPN GUI binary (prebuilt)
# -- define OPENVPN_GUI_DIR and OPENVPN_GUI in settings.in
--- /dev/null
+F=pkcs11-helper-1.05
+OPENSSL_DIR=`pwd`/openssl-0.9.7m
+
+PKCS11_HELPER_DIR=`pwd`/pkcs11-helper
+rm -rf $PKCS11_HELPER_DIR
+mkdir $PKCS11_HELPER_DIR
+tbz=$F.tar.bz2
+
+rm -rf $F
+tar xfj $tbz
+
+cd $F
+./configure \
+ MAN2HTML=true \
+ ac_cv_type_size_t=no \
+ --disable-crypto-engine-gnutls \
+ --disable-crypto-engine-nss \
+ PKG_CONFIG=true \
+ OPENSSL_CFLAGS="-I${OPENSSL_DIR}/include" \
+ OPENSSL_LIBS="-L${OPENSSL_DIR}/out -lcrypto"
+
+make
+make install DESTDIR="${PKCS11_HELPER_DIR}"
strip bin/$f
done
+# Get PKCS11 libraries
+for f in libpkcs11-helper-1.dll ; do
+ cp $PKCS11_HELPER_DIR/bin/$f bin
+ strip bin/$f
+done
+
# $DRVBINSRC, if defined, points to prebuilt TAP driver and
# tapinstall.exe.
if [ -z "$DRVBINSRC" ] ; then
-diff -wur /y/openssl/openssl-0.9.7l/ms/mw.bat openssl-0.9.7l-modified/ms/mw.bat
---- /y/openssl/openssl-0.9.7l/ms/mw.bat Sat Feb 22 10:02:45 2003
-+++ openssl-0.9.7l-modified/ms/mw.bat Sun Oct 1 04:24:02 2006
-@@ -11,7 +11,9 @@
+[in msys bash window]
+cd /c/src/openssl-0.9.7m
+patch -p1 <../21/install-win32/openssl.patch
+
+[open command prompt window]
+cd \src\openssl-0.9.7m
+ms\mw
+
+diff -wur openssl-0.9.7m.orig/ms/mw.bat openssl-0.9.7m/ms/mw.bat
+--- openssl-0.9.7m.orig/ms/mw.bat Sat Feb 22 11:02:46 2003
++++ openssl-0.9.7m/ms/mw.bat Mon Jan 21 23:12:34 2008
+@@ -1,17 +1,23 @@
+ @rem OpenSSL with Mingw32\r
+ @rem --------------------\r
+ \r
++@rem Include MinGW, MSYS, and ActiveState Perl in path
++set PATH=c:\perl\bin;c:\MinGW\bin;c:\msys\1.0\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
++
+ @rem Makefile\r
+ perl util\mkfiles.pl >MINFO\r
+-perl util\mk1mf.pl Mingw32 >ms\mingw32.mak\r
++perl util\mk1mf.pl no-idea no-mdc2 no-rc5 Mingw32 >ms\mingw32.mak
++
+ @rem DLL definition files\r
+-perl util\mkdef.pl 32 libeay >ms\libeay32.def\r
++perl util\mkdef.pl no-idea no-mdc2 no-rc5 32 libeay >ms\libeay32.def
+ if errorlevel 1 goto end\r
+-perl util\mkdef.pl 32 ssleay >ms\ssleay32.def\r
++perl util\mkdef.pl no-idea no-mdc2 no-rc5 32 ssleay >ms\ssleay32.def
if errorlevel 1 goto end\r
\r
@rem Build the libraries\r
if errorlevel 1 goto end\r
\r
@rem Generate the DLLs and input libraries\r
-@@ -20,6 +22,9 @@
+@@ -20,7 +26,9 @@
dllwrap --dllname libssl32.dll --output-lib out/libssl32.a --def ms/ssleay32.def out/libssl.a out/libeay32.a\r
if errorlevel 1 goto end\r
\r
echo Done compiling OpenSSL\r
\r
:end\r
-diff -wur /y/openssl/openssl-0.9.7l/util/pl/Mingw32.pl openssl-0.9.7l-modified/util/pl/Mingw32.pl
---- /y/openssl/openssl-0.9.7l/util/pl/Mingw32.pl Sun May 16 22:28:31 2004
-+++ openssl-0.9.7l-modified/util/pl/Mingw32.pl Sun Oct 1 04:54:04 2006
+-\r
+diff -wur openssl-0.9.7m.orig/util/pl/Mingw32.pl openssl-0.9.7m/util/pl/Mingw32.pl
+--- openssl-0.9.7m.orig/util/pl/Mingw32.pl Sun May 16 23:28:32 2004
++++ openssl-0.9.7m/util/pl/Mingw32.pl Mon Jan 21 17:52:36 2008
@@ -99,10 +99,10 @@
$n=&bname($target);
$ret.="$target: $files $dep_libs\n";
!define OPENVPN_GUI "openvpn-gui-1.0.3.exe"
# Prebuilt libraries. DMALLOC is optional.
-!define OPENSSL_DIR "../openssl-0.9.7l"
-!define LZO_DIR "../lzo-2.02"
-!define DMALLOC_DIR "../dmalloc-5.4.2"
+!define OPENSSL_DIR "../openssl-0.9.7m"
+!define LZO_DIR "../lzo-2.02"
+!define PKCS11_HELPER_DIR "../pkcs11-helper/usr/local"
+!define DMALLOC_DIR "../dmalloc-5.4.2"
# Write TAP driver and tapinstall.exe to this directory,
# to use as prebuilt binaries for future builds. May
dnl define the OpenVPN version
-define(PRODUCT_VERSION,[2.1_rc4])
+define(PRODUCT_VERSION,[2.1_rc4a])