Re: [Openvpn-devel] [Openvpn-users] OpenVPN 2.2-rc Windows installer ready

2011-02-11 Thread Samuli Seppänen
Hi,
> Hi there,
>
> I just tried it on a VM windows xp 32, default installation, just
> clicked on next, next...
>
> Everything seems to be working as usual. I uninstalled the previous
> version before running this new installer and the installation
> finished with no errors. Once installed openvpn connects fine, asking
> for username and password (I use radius for authentication). The icon
> comes up on the status bar and all the right-click options seem to
> work (Disconect, show status, View log... etc.). i guess thats not the
> installer business anyway.
>
> What the installer didnt create for me (even though i remember seeing
> it selected by default during installation although I couldnt be sure,
> so maybe i unselected it while looking at the default options by
> mistake, sorry) was the Start menu folder and icons.
> I removed it and try again and there it was, so maybe it was just me
> the first time.
My guess is that the "Install Start menu entries" was unchecked by
mistake the first time.
> During the second installation i had the openvpn GUI running (I
> uninstalled it previously but left it running disconnected), and the
> installer told me it had a problem copying the file and asked me if I
> wanted to cancel or try again. I mention this cause i don't know if
> this is normal behavior of if it is supposed to shut it down if found
> running. I finally closed it manully and clck on 'retry', then the
> installer had no problem and finished properly.
Yes, I stumbled upon this, too. The problem is that OpenVPN-GUI is using
some of OpenVPN's files, so the uninstaller can't delete them. I'll see
if there's a simple way to kill the OpenVPN-GUI process from within the
uninstaller. If there is, I'll implement that in the final 2.2 release
installer.
> Something that i find missing (and is something that i find very
> annoying) is the fact that it does create a shortcut to openvpn in
> your desktop whether you want it or not. Couldn't it be possible to
> have it as an option during installation (just as you have it for
> 'Create start menu icons' and others)?
Good idea. I'll make that optional in the final 2.2 release.
> And something else i tried was to find any command line options by
> running it on a ms-dos window and found there was none. Wasn't there
> some options in previous versions? I ask that because i repackage the
> openvpn installer some time ago for the company i work for (to include
> config files, keys, etc...), and i recall there were such an options
> which i used to install openvpn quietly calling it with some
> arguments, am i wrong on this?
You mean command-line options for the installer?




I tried running the installer from the command-line in silent mode and
it installed OpenVPN correctly:

 openvpn-2.2-rc-installer-preview-5.exe /S

However, I did not yet try overriding any of the default options with
command-line switches. For that I need to do more research.
> And i think this is it, hope it helps and thanks for the hard work!
>
Thanks! And many thanks to you for testing!

-- 
Samuli Seppänen
Community Manager
OpenVPN Technologies, Inc

irc freenode net: mattock





Re: [Openvpn-devel] OpenVPN 2.2-rc Windows installer ready

2011-02-11 Thread Samuli Seppänen

> hi Samuli,
>
> Samuli Seppänen wrote:
>   
>> Hi all,
>>
>> The (hopefully) final preview of the OpenVPN 2.2-rc installer for
>> Windows is available here:
>>
>> 
>>
>> The main reason for this preview installer is our use of the new,
>> relatively untested Python-based buildsystem which uses VS 2008 tools.
>> Note that the new buildsystem is not replacing the old autotools-based
>> one. This installer and the included binaries have been tested on the
>> following platforms:
>>
>> - Windows XP 32-bit
>> - Windows XP 64-bit
>> - Windows 7 64-bit
>>
>> The plan is to get James to sign the installer during today's IRC
>> meeting (#openvpn-devel at irc.freenode.net) at 18:00 UTC. If you want
>> help make sure that 2.2-rc is a solid release, please test the installer
>> and let us know if there are any issues - or if it works perfectly.
>>
>>   
>> 
> just FYI: this installers runs on Windows 2000 (grin), if  you choose to 
> not install the TAP-Win32 driver. the executables work, but OpenVPN 
> refuses to start as the tap-win32 driver needs to be version 9.7 and I 
> only have 9.6 - is this new version *really* necessary? what is new in it?
>
> Tomorrow I will test it on a Windows XP VM (which I don't have here 
> right now) and on Win7 64bit.
>
> cheers,
>
> JJK
>
>   
Hi JJK,

The older TAP driver probably works fine for the 2.2 branch. However, it
won't work properly in 2.3, which will contain IPv6 support. Anyways, in
one of the IRC meetings it was decided to drop Windows 2000 support
mainly because MS does not support it anymore, either. Also, supporting
it would have added significant amount of complexity because the Win2k
driver needs to be built separately.

On a related note... originally the installer script contained a list of
"known good" Windows versions and would refuse to install on any other
platforms. When Windows 7 came out, that code was commented out - I'd
assume NSIS at that point could not detect Win7 correctly. Anyways,  a
few days back I removed that code altogether. However, I think
blacklisting would make sense to prevent installation on platforms where
OpenVPN would not work properly anyways.

-- 
Samuli Seppänen
Community Manager
OpenVPN Technologies, Inc

irc freenode net: mattock




[Openvpn-devel] Summary of the IRC meeting (10th Feb 2011)

2011-02-11 Thread Samuli Seppänen
Hi,

Here's the summary of the previous community meeting.

---

COMMUNITY MEETING

Place: #openvpn-devel on irc.freenode.net
List-Post: openvpn-devel@lists.sourceforge.net
Date: Thursday, 10th Feb 2011
Time: 18:00 UTC

Planned meeting topics for this meeting were on this page:



Next meeting will be announced in advance, but will be on the same
weekday and at the same time. Your local meeting time is easy to check
from services such as



or with

$ date -u


SUMMARY

cron2, dazo, ecrist, jamesyonan, krzee, mattock, psha were present
in this meeting.

--

Discussed the 2.2-rc release. The only thing that held it back was lack
of Windows installer. Now a fully functional installer is available:



Although 2.2-rc could be released right now, agreed that mattock's
buildsystem patches should be merged with beta2.2 branch first. Mattock
promised to start sending them out on Friday (Feb 11th).

Decided to postpone fixing the only known (un)installer bug ("Start menu
entries not removed on Vista/7") until final 2.2 release to avoid
further delay. The issue is detailed here:



This bug exists in all previous installers, and is easy to work around
by removing the start menu entries manually.

--

Discussed documentation migration from openvpn.net to the Trac Wiki.
Francis had asked for "Access Server" and "Hosted Service" buttons in
the Trac button row:



After lengthy discussion ended up in the following layout:

| Commercial Products | Docs | Wiki | Forums | Source | Bugs | Report
Bug | Download |

The switch from "Ticket" to "Bug" tries ensure that people post only
real bug reports to Trac, instead of support or feature requests. The
latter are more suited for the forums, IRC or mailing lists.

Note that the removal of buttons does not affect Trac functionality. So,
"Timeline" and "Roadmap" are still available (/timeline, /roadmap)

--

Discussed "Sctp implementation in openvpn" issue briefly:



Mattock promised to ask the author to contact OpenVPN developers.

--

Discussed the "Windows auto-connect when starting gui" issue briefly:



It's best to ask about this from d12fk on IRC. He's the maintainer for
the new OpenVPN-GUI:



---

Full chatlog as an attachment

-- 
Samuli Seppänen
Community Manager
OpenVPN Technologies, Inc

irc freenode net: mattock

(20:00:48) ***psha entering prophet mode
(20:00:49) mattock: tadaa...
(20:01:16) psha: you'll either burn your dinner or break ipad!
(20:01:26) ***psha leaving prophet mode
(20:01:44) psha: computers and kitched are mutual exclusive
(20:01:48) psha: oops, meeting
(20:02:40) cron2: emptying dishwasher...
(20:02:44) mattock: dazo: why not just postpone the buildsystem patches until 
2.2-final?
(20:03:36) mattock: it'll take at least a couple of days to clean them up + 
time required to get them ACKd
(20:04:03) cron2: rc should be identical to final except for bugfixes
(20:04:30) ***ecrist agrees with cron2 
(20:05:07) mattock: I think for code that's a good practice... but for the 
build system? Windows installer won't contain any code at all, and *NIX users 
won't use the new buildsystem
(20:05:13) jamesyonan [~jamesy...@c-76-120-71-74.hsd1.co.comcast.net] è 
entrato nel canale.
(20:05:13) modalità (+o jamesyonan) da ChanServ
(20:05:52) dazo: mattock: I'm tempted to agree with you ... but we do change 
the code repository, including the beta2.2 branch due to where we have our 
build environment code
(20:06:12) mattock: yeah, that's true
(20:06:17) dazo: and so a tag must include your build changes
(20:07:06) dazo: This is one of the core reasons, I would like to get windows 
building and wintap driver out of the the openvpn tree, to a separate tree
(20:07:28) mattock: yep, that would help
(20:07:43) mattock: will beta2.2 branch we dumped after 2.2-rc release?
(20:07:52) cron2: but it will bring in lots ofnew complications
(20:08:06) cron2: lk
(20:08:10) cron2: argh
(20:08:12) dazo: cron2: not necessarily so much
(20:08:38) ***dazo admits he might be naively optimistic, but he has big hope 
in that git submodule will solve that
(20:09:00) dazo: but I do know that one challenge is the shared tun.[ch] code
(20:09:20) mattock: I guess the meeting has now begun :)
(20:09:41) mattock: topics here: 
https://community.openvpn.net/openvpn/wiki/Topics-2011-02-10
(20:09:42) ecrist: to a degree, it's been going for ~4 hours
(20:09:43) vpnHelper: Title: Topics-2011-02-10 – OpenVPN Community (at 
community.openvpn.net)
(20:09:56) dazo: heh
(20:10:05) dazo: ecrist: just unofficially ;-)
(20:10:06) mattock: ecrist: the meeting never ends
(20:10:1

[Openvpn-devel] [PATCH 00/13] Fix remaining major issues with Python-based buildsystem

2011-02-11 Thread Samuli Seppänen

This patchset allows building all OpenVPN components using the new Python-based 
buildsystem. It also allows packaging the resulting files into a functional 
installer package. Only two manual steps are necessary after applying these 
patches:

- embedding manifest files to the executables and DLLs
- running MakeNSIS to generate the installer   

This patchset reuses existing variables in config-win32.h and version.m4 to 
avoid duplication of configuration data. The drawback is that the buildsystem 
code is slightly more complex than it could be.

Full patch list:

[PATCH 01/13] Added ENABLE_PASSWORD_SAVE to config-win32.h
[PATCH 02/13] Added a nmake makefile for openvpnserv.exe building
[PATCH 03/13] Moved TAP-driver version info to version.m4. Cleaned up 
win/settings.in.
[PATCH 04/13] Added helper functionality to win/wb.py
[PATCH 05/13] Added support for viewing config-win32.h paramters to win/show.py
[PATCH 06/13] Added comments and made small modifications to win/msvc.mak.in
[PATCH 07/13] Added command-line switch to win/build_all.py to skip TAP driver 
building
[PATCH 08/13] Added configure.h and version.m4 variable parsing to win/config.py
[PATCH 09/13] Added openvpnserv.exe building to win/build.py
[PATCH 10/13] Added comments to win/build_ddk.py
[PATCH 11/13] Several modifications to win/make_dist.py to allow building the 
NSI installer
[PATCH 12/13] Copied install-win32/setpath.nsi to win/setpath.nsi
[PATCH 13/13] Added first version of NSI installer script to win/openvpn.nsi



[Openvpn-devel] [PATCH 01/13] Added ENABLE_PASSWORD_SAVE to config-win32.h

2011-02-11 Thread Samuli Seppänen
This change adds ENABLE_PASSWORD_SAVE to config-win32.h. This option is also
defined in win/settings.in, but it does not have any effect there.
---
 config-win32.h |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/config-win32.h b/config-win32.h
index be0b320..87a0b68 100644
--- a/config-win32.h
+++ b/config-win32.h
@@ -50,6 +50,9 @@ typedef unsigned long in_addr_t;
 #define TAP_WIN32_DEBUG
 #endif

+/* Enable reading credentials from a file */
+#define ENABLE_PASSWORD_SAVE 1
+
 /* Enable client/server capability */
 #define ENABLE_CLIENT_SERVER 1

-- 
1.6.3.3




[Openvpn-devel] [PATCH 02/13] Added a nmake makefile for openvpnserv.exe building

2011-02-11 Thread Samuli Seppänen
This change adds a nmake makefile (service-win32/msvc.mak) which allows building
openvpnserv.exe using the new Python-based buildsystem.
---
 service-win32/msvc.mak |   30 ++
 1 files changed, 30 insertions(+), 0 deletions(-)
 create mode 100644 service-win32/msvc.mak

diff --git a/service-win32/msvc.mak b/service-win32/msvc.mak
new file mode 100644
index 000..0da85a5
--- /dev/null
+++ b/service-win32/msvc.mak
@@ -0,0 +1,30 @@
+# This makefile builds the OpenVPN service wrapper for Windows in the 
+# Visual Studio 2008 environment.
+
+# Some of these libs may not be needed
+LIBS = ws2_32.lib crypt32.lib iphlpapi.lib winmm.lib user32.lib gdi32.lib 
advapi32.lib wininet.lib
+EXE = openvpnserv.exe
+
+CPP=cl.exe
+CPP_ARG_COMMON=/nologo /W3 -DWIN32 -DWIN32_LEAN_AND_MEAN -D_CONSOLE -D_MBCS 
-D_CRT_SECURE_NO_DEPRECATE /FD /c -I".."
+CPP_PROJ=$(CPP_ARG_COMMON) /O2 /MD -DNDEBUG
+
+LINK32=link.exe
+LINK32_FLAGS=/nologo /subsystem:console /incremental:no
+
+OBJS = \
+   openvpnserv.obj \
+   service.obj
+
+openvpnserv : $(OBJS)
+   $(LINK32) @<<
+   $(LINK32_FLAGS) "/out:$(EXE)" $(LIBS) $(OBJS)
+<<
+
+clean :
+   del /Q $(OBJS) $(EXE) *.idb *.pdb
+
+.c.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $<
+<<
-- 
1.6.3.3




[Openvpn-devel] [PATCH 03/13] Moved TAP-driver version info to version.m4. Cleaned up win/settings.in.

2011-02-11 Thread Samuli Seppänen
Previously parts of TAP-driver version information were stored in
win/settings.in. This patch moves all of it to version.m4. This patch also
cleans up and adds comments to win/settings.in
---
 version.m4  |5 -
 win/settings.in |   25 +
 2 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/version.m4 b/version.m4
index 794a4a8..475a82f 100644
--- a/version.m4
+++ b/version.m4
@@ -1,6 +1,9 @@
 dnl define the OpenVPN version
-define(PRODUCT_VERSION,[2.2-beta5])
+define(PRODUCT_VERSION,[2.2-rc])
 dnl define the TAP version
 define(PRODUCT_TAP_ID,[tap0901])
 define(PRODUCT_TAP_WIN32_MIN_MAJOR,[9])
 define(PRODUCT_TAP_WIN32_MIN_MINOR,[1])
+define(PRODUCT_TAP_RELDATE,[04/19/2010])
+define(PRODUCT_TAP_DEVICE_DESCRIPTION,[TAP-Win32 Adapter V9])
+define(PRODUCT_TAP_PROVIDER,[TAP-Win32 Provider V9])
diff --git a/win/settings.in b/win/settings.in
index f8eeb20..c349752 100644
--- a/win/settings.in
+++ b/win/settings.in
@@ -1,39 +1,32 @@
 # Version numbers, settings, and dependencies
 # for Windows OpenVPN installer.
+#
+# Note that some variables are parsed by wb.py from version.m4 and are not 
+# stored in this file. This is done to allow using the old and new Windows 
build 
+# systems side-by-side

 # Branding
 !define PRODUCT_NAME  "OpenVPN"
 !define PRODUCT_UNIX_NAME "openvpn"
 !define PRODUCT_FILE_EXT  "ovpn"

-# Allow --askpass and --auth-user-pass passwords to be read from a file
-;!define ENABLE_PASSWORD_SAVE
-
-# Include the OpenVPN GUI exe in the installer.
-# May be undefined.
+# Include the OpenVPN GUI exe in the installer. Comment out USE_GUI to disable.
+!define USE_GUI
 !define OPENVPN_GUI_DIR "../openvpn-gui"
 !define OPENVPN_GUI "openvpn-gui-1.0.3.exe"

 # Prebuilt libraries.  DMALLOC is optional.
 !define OPENSSL_DIR  "../openssl"
 !define LZO_DIR  "../lzo"
+!define PKCS11_HELPER_DIR "../pkcs11-helper"

 # write output files here
 !define DIST   "dist"

-# tapinstall.exe source code.
-# Not needed if DRVBINSRC is defined
-# (or if using pre-built mode).
+# tapinstall.exe (a.k.a. devcon.exe) source code. Not needed if DRVBINSRC is 
+# defined (or if using pre-built mode).
 !define TISRC  "../tapinstall"

-# TAP Adapter parameters.  Note that PRODUCT_TAP_ID is
-# defined in version.m4.
-!define PRODUCT_TAP_DEVICE_DESCRIPTION  "TAP-Win32 Adapter V9"
-!define PRODUCT_TAP_PROVIDER"TAP-Win32 Provider V9"
-!define PRODUCT_TAP_MAJOR_VER   9
-!define PRODUCT_TAP_MINOR_VER   7
-!define PRODUCT_TAP_RELDATE "04/19/2010"
-
 # TAP adapter icon -- visible=0x81 or hidden=0x89
 !define PRODUCT_TAP_CHARACTERISTICS 0x81

-- 
1.6.3.3




[Openvpn-devel] [PATCH 04/13] Added helper functionality to win/wb.py

2011-02-11 Thread Samuli Seppänen
This change adds several helper functions to win/wb.py:

- config-win32.h parser (to read build configuration options)
- helper function to cd to service-win32 for openvpnserv.exe building
- code to dynamically generate TAP-driver -related variables from version.m4,
  required by tap-win32/tapdrv.c
- configure.h generator to allow viewing build options using openvpn --version
- creation of temporary version.m4-based file to allow importing it's variables
  to the NSI installer script (win/openvpn.nsi)
- helper function to rename files (used in win/make_dist.py)
---
 win/wb.py |   99 +
 1 files changed, 99 insertions(+), 0 deletions(-)

diff --git a/win/wb.py b/win/wb.py
index 8e23684..2d7bd61 100644
--- a/win/wb.py
+++ b/win/wb.py
@@ -19,6 +19,12 @@ def get_config():

 return kv

+def get_build_params():
+kv = {}
+parse_config_win32_h(kv,home_fn('config-win32.h'))
+
+return kv
+
 def mod_fn(fn, src=__file__, real=True):
 p = os.path.join(os.path.dirname(src), os.path.normpath(fn))
 if real:
@@ -31,18 +37,35 @@ def home_fn(fn, real=True):
 def cd_home():
 os.chdir(os.path.join(os.path.dirname(__file__), '..'))

+def cd_service_win32():
+os.chdir(os.path.join(os.path.dirname(__file__), '../service-win32'))
+
 def system(cmd):
 print "RUN:", cmd
 os.system(cmd)

 def parse_version_m4(kv, version_m4):
+'''Parse define lines in version.m4'''
 r = re.compile(r'^define\((\w+),\[(.*)\]\)$')
 f = open(version_m4)
 for line in f:
 line = line.rstrip()
 m = re.match(r, line)
+
 if m:
 g = m.groups()
+
+# If we encounter PRODUCT_TAP_WIN32_MIN_MAJOR or 
+# PRODUCT_TAP_WIN32_MIN_MAJOR then we need to generate extra 
+# variables, PRODUCT_TAP_MAJOR_VER and PRODUCT_TAP_MINOR_VER with 
+# the same contents. This is necessary because tap-win32/tapdrv.c 
+# build depends on those.
+if g[0] == 'PRODUCT_TAP_WIN32_MIN_MAJOR':
+kv['PRODUCT_TAP_MAJOR_VER'] = g[1]
+elif g[0] == 'PRODUCT_TAP_WIN32_MIN_MINOR':
+kv['PRODUCT_TAP_MINOR_VER'] = g[1]
+
+# Add the variable to build configuration
 kv[g[0]] = g[1]
 f.close()

@@ -57,6 +80,39 @@ def parse_settings_in(kv, settings_in):
 kv[g[0]] = g[1] or ''
 f.close()

+def parse_config_win32_h(kv, config_win32_h):
+r = re.compile(r'^#define\s+(ENABLE_\w+)\s+(\w+)')
+s = re.compile(r'^#ifdef|^#ifndef')
+e = re.compile(r'^#endif')
+
+# How "deep" in nested conditional statements are we?
+depth=0
+
+f = open(config_win32_h)
+
+for line in f:
+line = line.rstrip()
+
+# Check if this is a #define line starting with ENABLE_
+m = re.match(r, line)
+
+# Calculate how deep we're in (nested) conditional statements. A simple
+# #ifdef/#endif state switcher would get confused by an #endif followed
+# by a #define.
+if re.match(s, line):
+depth=depth+1
+if re.match(e, line):
+depth=depth-1
+
+if m:
+# Only add this #define if it's not inside a conditional statement 
+# block
+if depth == 0:
+g = m.groups()
+kv[g[0]] = g[1] or ''
+f.close()
+
+
 def dict_def(dict, newdefs):
 ret = dict.copy()
 ret.update(newdefs)
@@ -70,6 +126,43 @@ def build_autodefs(kv, autodefs_in, autodefs_out):
quote_end='@',
head_comment='/* %s */\n\n' % autogen)

+def build_configure_h(kv, configure_h_out, head_comment):
+"""Generate a configure.h dynamically"""
+fout = open(configure_h_out, 'w')
+configure_defines='#define CONFIGURE_DEFINES \"'
+configure_call='#define CONFIGURE_CALL \" config_all.py \"'
+
+fout.write(head_comment)
+
+dict = get_build_params()
+
+for key, value in dict.iteritems():
+configure_defines = configure_defines + " " + key + "=" + value + ","
+
+configure_defines = configure_defines + "\"" + "\n"
+
+fout.write(configure_defines)
+fout.write(configure_call)
+fout.close()
+
+def build_version_m4_vars(version_m4_vars_out, head_comment):
+"""Generate a temporary file containing variables from version.m4 in 
+win/settings.in format. This done to allow importing them in win/openvpn.nsi"""
+
+fout = open(version_m4_vars_out, 'w')
+fout.write(head_comment)
+
+kv = {}
+parse_version_m4(kv, home_fn('version.m4'))
+
+for key, value in kv.iteritems():
+ line = "!define " + key + "\t" + "\"" + value + "\"" + "\n"
+ fout.write(line)
+
+fout.close()
+
+
+
 def preprocess(kv, in_fn, out_fn, quote_begin=None, quote_end=None, 
if_prefix=None, head_comment=None):
 def repfn(m):
 var, = m.groups()
@@ -116,6 +209,7 @@ def print_key_values(kv):
 print "%s%s%s" % (k, ' '*(32-

[Openvpn-devel] [PATCH 05/13] Added support for viewing config-win32.h paramters to win/show.py

2011-02-11 Thread Samuli Seppänen
The win/show.py tools is used to view build parameters interactively. This
changes it so that it displays parameters parsed from config-win32.h in addition
to those from win/settings.in.
---
 win/show.py |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/win/show.py b/win/show.py
index 9558c87..6b1140a 100644
--- a/win/show.py
+++ b/win/show.py
@@ -1,9 +1,9 @@
-from wb import get_config
+from wb import get_config, get_build_params
 from js import JSON

 def main():
-kv = get_config()
-print JSON().encode(kv)
+print JSON().encode(get_config())
+print JSON().encode(get_build_params())

 # if we are run directly, and not loaded as a module
 if __name__ == "__main__":
-- 
1.6.3.3




[Openvpn-devel] [PATCH 06/13] Added comments and made small modifications to win/msvc.mak.in

2011-02-11 Thread Samuli Seppänen
The win/msvc.mak.in file is used as basis for msvc.mak file which drives
openvpn.exe building. This change separates output file from LINK32_FLAGS and
adds helpful comments to the win/msvc.mak.in file.
---
 win/msvc.mak.in |   32 
 1 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/win/msvc.mak.in b/win/msvc.mak.in
index 5d94a6e..1ffb5da 100644
--- a/win/msvc.mak.in
+++ b/win/msvc.mak.in
@@ -1,12 +1,15 @@
-# This makefile builds the user-mode component
-# of OpenVPN for Windows in the Visual Studio 2008 environment.
-
-# To build:
-#python win\config.py
-#nmake /f msvc.mak
-
-# Each of the OPENSSL and LZO dirs should have 'lib' and 'include'
-# directories under them.
+# This makefile builds the user-mode component of OpenVPN for Windows in the 
+# Visual Studio 2008 environment. Note that this file is basis for the real 
+# makefile (..\msvc.mak) but unusable as is. The real makefile is 
automatically 
+# generated during the build process by the Python build scripts.
+#
+# A few details are in order:
+#
+# - Everything between @<< and << is inserted into a s.c. "in-line file". This 
+#   file drives the linker (link.exe).
+# - HEADERS_OBJS is expanded to all all header and source files listed in 
+#  ..\Makefile.am
+# - OPENSSL_DIR and LZO_DIR are dynamically created from settings.in

 OPENSSL = @OPENSSL_DIR@
 OPENSSL_DYNAMIC = libeay32.lib ssleay32.lib
@@ -30,22 +33,19 @@ LINK32=link.exe
 !ifdef PRODUCT_OPENVPN_DEBUG
 # debug:
 CPP_PROJ=$(CPP_ARG_COMMON) /MD /Z7
-LINK32_FLAGS=/nologo /subsystem:console /incremental:no /opt:ref /opt:icf 
/debug /out:"$(EXE)"
-# old debug:
-#CPP_PROJ=$(CPP_ARG_COMMON) /MDd /Zi /Od -D_DEBUG
-#LINK32_FLAGS=/nologo /subsystem:console /incremental:no /debug /out:"$(EXE)"
+LINK32_FLAGS=/nologo /subsystem:console /incremental:no /opt:ref /opt:icf 
/debug
 !else
 # release:
 CPP_PROJ=$(CPP_ARG_COMMON) /O2 /MD -DNDEBUG
-LINK32_FLAGS=/nologo /subsystem:console /incremental:no /out:"$(EXE)"
+LINK32_FLAGS=/nologo /subsystem:console /incremental:no
 !endif

-# HEADERS and OBJS definitions, automatically generated
+# HEADERS and OBJS definitions, automatically generated from ../Makefile.am
 @HEADERS_OBJS@

 openvpn : $(OBJS)
$(LINK32) @<<
-   $(LINK32_FLAGS) $(LIB_DIRS) $(LIBS) $(OBJS)
+   $(LINK32_FLAGS) "/out:$(EXE)" $(LIB_DIRS) $(LIBS) $(OBJS)
 <<

 clean :
-- 
1.6.3.3




[Openvpn-devel] [PATCH 07/13] Added command-line switch to win/build_all.py to skip TAP driver building

2011-02-11 Thread Samuli Seppänen
Modified win/build_all.py so that by giving -n or --notap switch the TAP driver
is not built. This is useful if using prebuilt TAP drivers, or when WinDDK is
not installed.
---
 win/build_all.py |   23 ---
 1 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/win/build_all.py b/win/build_all.py
index dec3a78..2c4d1aa 100644
--- a/win/build_all.py
+++ b/win/build_all.py
@@ -11,6 +11,7 @@ def Usage():
 print
 print " -h, --help Show this help"
 print " -u, --unsigned Do not sign the TAP drivers"
+print " -n, --notapDon't build the TAP driver"
 sys.exit(1)

 def main(config):
@@ -18,9 +19,12 @@ def main(config):
 # Do a signed build by default
 signedBuild=True

+# Build the TAP driver by default
+tap=True
+
 # Parse the command line argument(s)
 try:
-   opts, args = getopt.getopt(sys.argv[1:], "hu", ["help", "unsigned"])
+   opts, args = getopt.getopt(sys.argv[1:], "hun", ["help", "unsigned", 
"notap"])
 except getopt.GetoptError:
Usage()

@@ -29,7 +33,8 @@ def main(config):
   Usage()
if o in ("-u", "--unsigned"):
   signedBuild=False
-
+   if o in ("-n", "--notap"):
+  tap=False

 # Check if the SignTool module is present. This avoids ImportErrors popping
 # up annoyingly _after_ the build.
@@ -45,8 +50,12 @@ def main(config):
 # Start the build
 config_all(config)
 build_openvpn()
-build_ddk(config, 'tap', 'all')
-build_ddk(config, 'tapinstall', 'all')
+
+if tap:
+   build_ddk(config, 'tap', 'all')
+   build_ddk(config, 'tapinstall', 'all')
+else:
+   print "Not building the TAP driver"

 if signedBuild:
sign(config, 'all')
@@ -54,6 +63,6 @@ def main(config):
 make_dist(config)

 # if we are run directly, and not loaded as a module
-if __name__ == "__main__":
-from wb import config
-main(config)
+if __name__ == "__main__":
+from wb import config
+main(config)
-- 
1.6.3.3




[Openvpn-devel] [PATCH 08/13] Added configure.h and version.m4 variable parsing to win/config.py

2011-02-11 Thread Samuli Seppänen
Python-based buildsystem uses win/config.py to obtain global build parameters
from various sources. Added parsing of the (fake) configure.h and version.m4 to
it so that other Python build files can use them.
---
 win/config.py |4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/win/config.py b/win/config.py
index cf38cac..d4dc6f4 100644
--- a/win/config.py
+++ b/win/config.py
@@ -1,6 +1,8 @@
-from wb import preprocess, autogen, mod_fn, home_fn, build_autodefs, 
make_headers_objs, dict_def
+from wb import preprocess, autogen, mod_fn, home_fn, build_configure_h, 
build_version_m4_vars, build_autodefs, make_headers_objs, dict_def

 def main(config):
+build_configure_h(config, mod_fn(home_fn('configure.h')), head_comment='/* 
%s */\n\n' % autogen)
+build_version_m4_vars(mod_fn(mod_fn('version_m4_vars.tmp')), 
head_comment='/* %s */\n\n' % autogen)
 build_autodefs(config, mod_fn('autodefs.h.in'), home_fn('autodefs.h'))
 ho = make_headers_objs(home_fn('Makefile.am'))

-- 
1.6.3.3




[Openvpn-devel] [PATCH 09/13] Added openvpnserv.exe building to win/build.py

2011-02-11 Thread Samuli Seppänen
Made win/build.py call nmake in service-win32 directory to build openvpnserv.exe
after main build (openvpn.exe) has finished.
---
 win/build.py |9 -
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/win/build.py b/win/build.py
index 3a9fbc7..1861377 100644
--- a/win/build.py
+++ b/win/build.py
@@ -1,18 +1,25 @@
 import os, sys
-from wb import system, config, home_fn, cd_home
+from wb import system, config, home_fn, cd_home, cd_service_win32

 os.environ['PATH'] += ";%s\\VC" % (os.path.normpath(config['MSVC']),)

 def build_vc(cmd):
+"""Make sure environment variables are setup before build"""
 system('cmd /c "vcvarsall.bat x86 && %s"' % (cmd,))

 def main():
+"""Build openvpn.exe and openvpnserv.exe"""
 cd_home()
 build_vc("nmake /f %s" % (home_fn('msvc.mak'),))
+cd_service_win32()
+build_vc("nmake /f %s" % ('msvc.mak'))

 def clean():
+"""Clean up after openvpn.exe and openvpnserv.exe build"""
 cd_home()
 build_vc("nmake /f %s clean" % (home_fn('msvc.mak'),))
+os.chdir("service-win32")
+build_vc("nmake /f %s clean" % ('msvc.mak'))

 # if we are run directly, and not loaded as a module
 if __name__ == "__main__":
-- 
1.6.3.3




[Openvpn-devel] [PATCH 10/13] Added comments to win/build_ddk.py

2011-02-11 Thread Samuli Seppänen
---
 win/build_ddk.py |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/win/build_ddk.py b/win/build_ddk.py
index 1a0cf82..65eed25 100644
--- a/win/build_ddk.py
+++ b/win/build_ddk.py
@@ -8,6 +8,7 @@ def build_ddk(config, dir, x64):
 return build_tap(ddk_path, ddk_major, debug, dir, x64)

 def build_tap(ddk_path, ddk_major, debug, dir, x64):
+"""Build drivers using WinDDK tools"""
 setenv_bat = os.path.realpath(os.path.join(ddk_path, 'bin/setenv.bat'))
 target = 'chk' if debug else 'fre'
 if x64:
-- 
1.6.3.3




[Openvpn-devel] [PATCH 11/13] Several modifications to win/make_dist.py to allow building the NSI installer

2011-02-11 Thread Samuli Seppänen
Added copying of all remaining openvpn dependencies to dist directory so that
the NSI installer script (win/openvpn.nsi) can find and use them more easily.
This includes openvpn.exe, openvpnserv.exe, libpkcs11-helper-1.dll, openssl.exe,
and example files. The associated, external DDL/manifest files are copied also,
so that embedding them with mt.exe is easier. This is a temporary solution until
nmake makefiles are modified to automate this process, except for a few of the
library dependencies (lzo2.dll and libpkcs11-helper-1.dll).
---
 win/make_dist.py |   28 +---
 1 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/win/make_dist.py b/win/make_dist.py
index a6a0563..ab54c2a 100644
--- a/win/make_dist.py
+++ b/win/make_dist.py
@@ -1,5 +1,5 @@
 import os
-from wb import home_fn, rm_rf, mkdir, cp_a, cp
+from wb import home_fn, rm_rf, mkdir, cp_a, cp, rename

 def main(config, tap=True):
 dist = config['DIST']
@@ -8,6 +8,7 @@ def main(config, tap=True):
 bin = os.path.join(dist, 'bin')
 i386 = os.path.join(dist, 'i386')
 amd64 = os.path.join(dist, 'amd64')
+samples = os.path.join(dist, 'samples')

 # build dist and subdirectories
 rm_rf(dist)
@@ -16,15 +17,34 @@ def main(config, tap=True):
 if tap:
 mkdir(i386)
 mkdir(amd64)
+mkdir(samples)

-# copy openvpn.exe and manifest
+# copy openvpn.exe, openvpnserv.exe and their manifests
 cp(home_fn('openvpn.exe'), bin)
 cp(home_fn('openvpn.exe.manifest'), bin)
+cp(home_fn('service-win32/openvpnserv.exe'), bin)
+cp(home_fn('service-win32/openvpnserv.exe.manifest'), bin)
+
+# copy openvpn-gui
+cp(home_fn(config['OPENVPN_GUI_DIR']+"/"+config['OPENVPN_GUI']), bin)

 # copy DLL dependencies
 cp(home_fn(config['LZO_DIR']+'/bin/lzo2.dll'), bin)
+cp(home_fn(config['LZO_DIR']+'/bin/lzo2.dll.manifest'), bin)
 cp(home_fn(config['OPENSSL_DIR']+'/bin/libeay32.dll'), bin)
 cp(home_fn(config['OPENSSL_DIR']+'/bin/ssleay32.dll'), bin)
+cp(home_fn(config['PKCS11_HELPER_DIR']+'/lib/libpkcs11-helper-1.dll'), bin)
+
cp(home_fn(config['PKCS11_HELPER_DIR']+'/lib/libpkcs11-helper-1.dll.manifest'), 
bin)
+
+# copy OpenSSL utilities (=openvpn.exe)
+cp(home_fn(config['OPENSSL_DIR']+'/bin/openssl.exe'), bin)
+
+# copy sample config files; renaming is necessary due to openvpn.nsi script
+cp(home_fn('install-win32/sample.ovpn'), samples)
+cp(home_fn('sample-config-files/client.conf'), samples)
+cp(home_fn('sample-config-files/server.conf'), samples)
+rename(os.path.join(samples,'client.conf'), os.path.join(samples, 
'client.ovpn'))
+rename(os.path.join(samples,'server.conf'), os.path.join(samples, 
'server.ovpn'))

 # copy MSVC CRT
 cp_a(home_fn(config['MSVC_CRT']), bin)
@@ -40,16 +60,18 @@ def main(config, tap=True):
 cp(os.path.join(dir, f), dest)
 break

-# copy tapinstall
+# Copy tapinstall.exe (usually known as devcon.exe)
 dest = {'amd64' : amd64, 'i386' : i386}
 for dirpath, dirnames, filenames in os.walk(home_fn('tapinstall')):
 for f in filenames:
 if f == 'tapinstall.exe':
+   # dir_name is either i386 or amd64
 dir_name = os.path.basename(dirpath)
 src = os.path.join(dirpath, f)
 if dir_name in dest:
 cp(src, dest[dir_name])

+
 # if we are run directly, and not loaded as a module
 if __name__ == "__main__":
 from wb import config
-- 
1.6.3.3




[Openvpn-devel] [PATCH 12/13] Copied install-win32/setpath.nsi to win/setpath.nsi

2011-02-11 Thread Samuli Seppänen
---
 win/setpath.nsi |  231 +++
 1 files changed, 231 insertions(+), 0 deletions(-)
 create mode 100755 win/setpath.nsi

diff --git a/win/setpath.nsi b/win/setpath.nsi
new file mode 100755
index 000..a9626c3
--- /dev/null
+++ b/win/setpath.nsi
@@ -0,0 +1,231 @@
+; Modify the user's PATH variable.
+;
+; Modified by JY to have both a RemoveFromPath
+; and an un.RemoveFromPath which are basically
+; copies of each other.  Why does NSIS demand
+; this nonsense?
+;
+; Modified Feb 14, 2005 by Mathias Sundman:
+;   Added code to remove the semicolon at the end of the path
+;   when uninstalling.
+;
+;   Added code to make sure we don't insert an extra semicolon
+;   before our path if there already exist one at the end of
+;   the original path.
+;
+;   Removed duplicated "un. and install" functions and made
+;   macros to duplicate the code instead.
+
+; example usage
+;
+;Section "Add to path"
+;  Push $INSTDIR
+;  Call AddToPath
+;SectionEnd
+;
+;# ...
+;
+;Section "uninstall"
+;  # ...
+;  Push $INSTDIR
+;  Call un.RemoveFromPath
+;  # ...
+;SectionEnd
+
+!verbose 3
+!include "WinMessages.NSH"
+!verbose 4
+
+;
+; AddToPath - Adds the given dir to the search path.
+;Input - head of the stack
+;Note - Win9x systems requires reboot
+;
+Function AddToPath
+  Exch $0
+  Push $1
+  Push $2
+  
+  Call IsNT
+  Pop $1
+  StrCmp $1 1 AddToPath_NT
+; Not on NT
+StrCpy $1 $WINDIR 2
+FileOpen $1 "$1\autoexec.bat" a
+FileSeek $1 0 END
+GetFullPathName /SHORT $0 $0
+FileWrite $1 "$\r$\nSET PATH=%PATH%;$0$\r$\n"
+FileClose $1
+Goto AddToPath_done
+
+  AddToPath_NT:
+ReadRegStr $1 HKCU "Environment" "PATH"
+StrCpy $2 $1 1 -1 # copy last char
+StrCmp $2 ";" 0 +2 # if last char == ;
+  StrCpy $1 $1 -1 # remove last char
+
+StrCmp $1 "" AddToPath_NTdoIt
+  StrCpy $0 "$1;$0"
+  Goto AddToPath_NTdoIt
+AddToPath_NTdoIt:
+  WriteRegExpandStr HKCU "Environment" "PATH" $0
+  SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" 
/TIMEOUT=5000
+  
+  AddToPath_done:
+Pop $2
+Pop $1
+Pop $0
+FunctionEnd
+
+;
+; RemoveFromPath - Remove a given dir from the path
+; Input: head of the stack
+;
+!macro RemoveFromPath un
+Function ${un}RemoveFromPath
+  Exch $0
+  Push $1
+  Push $2
+  Push $3
+  Push $4
+  Push $5
+  
+  Call ${un}IsNT
+  Pop $1
+  StrCmp $1 1 RemoveFromPath_NT
+; Not on NT
+StrCpy $1 $WINDIR 2
+FileOpen $1 "$1\autoexec.bat" r
+GetTempFileName $4
+FileOpen $2 $4 w
+GetFullPathName /SHORT $0 $0
+StrCpy $0 "SET PATH=%PATH%;$0"
+SetRebootFlag true
+Goto RemoveFromPath_dosLoop
+
+RemoveFromPath_dosLoop:
+  FileRead $1 $3
+  StrCmp $3 "$0$\r$\n" RemoveFromPath_dosLoop
+  StrCmp $3 "$0$\n" RemoveFromPath_dosLoop
+  StrCmp $3 "$0" RemoveFromPath_dosLoop
+  StrCmp $3 "" RemoveFromPath_dosLoopEnd
+  FileWrite $2 $3
+  Goto RemoveFromPath_dosLoop
+
+RemoveFromPath_dosLoopEnd:
+  FileClose $2
+  FileClose $1
+  StrCpy $1 $WINDIR 2
+  Delete "$1\autoexec.bat"
+  CopyFiles /SILENT $4 "$1\autoexec.bat"
+  Delete $4
+  Goto RemoveFromPath_done
+
+  RemoveFromPath_NT:
+StrLen $2 $0
+ReadRegStr $1 HKCU "Environment" "PATH"
+Push $1
+Push $0
+Call ${un}StrStr ; Find $0 in $1
+Pop $0 ; pos of our dir
+IntCmp $0 -1 RemoveFromPath_done
+  ; else, it is in path
+  StrCpy $3 $1 $0 ; $3 now has the part of the path before our dir
+  IntOp $2 $2 + $0 ; $2 now contains the pos after our dir in the path 
(';')
+  IntOp $2 $2 + 1 ; $2 now containts the pos after our dir and the 
semicolon.
+  StrLen $0 $1
+  StrCpy $1 $1 $0 $2
+  StrCpy $3 "$3$1"
+
+  StrCpy $5 $3 1 -1 # copy last char
+  StrCmp $5 ";" 0 +2 # if last char == ;
+StrCpy $3 $3 -1 # remove last char
+
+  WriteRegExpandStr HKCU "Environment" "PATH" $3
+  SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" 
/TIMEOUT=5000
+  
+  RemoveFromPath_done:
+Pop $5
+Pop $4
+Pop $3
+Pop $2
+Pop $1
+Pop $0
+FunctionEnd
+!macroend
+!insertmacro RemoveFromPath ""
+!insertmacro RemoveFromPath "un."
+
+
+;
+; StrStr - Finds a given string in another given string.
+;   Returns -1 if not found and the pos if found.
+;  Input: head of the stack - string to find
+;  second in the stack - string to find in
+;  Output: head of the stack
+;
+!macro StrStr un
+Function ${un}StrStr
+  Push $0
+  Exch
+  Pop $0 ; $0 now have the string to find
+  Push $1
+  Exch 2

[Openvpn-devel] [PATCH 13/13] Added first version of NSI installer script to win/openvpn.nsi

2011-02-11 Thread Samuli Seppänen
This win/openvpn.nsi file is a heavily cleaned-up version of the
install-win32/openvpn.nsi file. The key differences:

- paths have been adapted to new buildsystem's requirements
- obsolete XGUI support has been removed
- unused Windows version detection has been removed
- variables specific to new build system (win/settings.in, version.m4) are
  imported
- a few new installer options have been introduced:
  - install lzo2.dll
  - install msvcr90.dll (a requirement from VS2008 builds)
---
 win/openvpn.nsi |  802 +++
 1 files changed, 802 insertions(+), 0 deletions(-)
 create mode 100755 win/openvpn.nsi

diff --git a/win/openvpn.nsi b/win/openvpn.nsi
new file mode 100755
index 000..cbae21a
--- /dev/null
+++ b/win/openvpn.nsi
@@ -0,0 +1,802 @@
+; 
+; * Copyright (C) 2002-2010 OpenVPN Technologies, Inc.   *
+; *  This program is free software; you can redistribute it and/or modify*
+; *  it under the terms of the GNU General Public License version 2  *
+; *  as published by the Free Software Foundation.   *
+; 
+
+; OpenVPN install script for Windows, using NSIS
+
+SetCompressor lzma
+
+!include "MUI.nsh"
+
+# Include basic build settings
+!include "settings.in"
+
+# Include variables generated dynamically from version.m4 by wb.py
+!include "version_m4_vars.tmp"
+
+;!include "guidefs.nsi"
+!include "setpath.nsi"
+
+!ifdef EXTRACT_FILES
+!include "MultiFileExtract.nsi"
+!endif
+
+!define GEN "..\dist"
+!define BIN "${GEN}\bin"
+!define EASYRSA "..\easy-rsa"
+
+!define PRODUCT_ICON "icon.ico"
+
+!ifdef PRODUCT_TAP_DEBUG
+!define DBG_POSTFIX "-DBG"
+!else
+!define DBG_POSTFIX ""
+!endif
+
+!define VERSION "${PRODUCT_VERSION}${DBG_POSTFIX}"
+
+!define TAP "${PRODUCT_TAP_ID}"
+!define TAPDRV "${TAP}.sys"
+
+; Default service settings
+!define SERV_CONFIG_DIR   "$INSTDIR\config"
+!define SERV_CONFIG_EXT   "${PRODUCT_FILE_EXT}"
+!define SERV_EXE_PATH "$INSTDIR\bin\${PRODUCT_UNIX_NAME}.exe"
+!define SERV_LOG_DIR  "$INSTDIR\log"
+!define SERV_PRIORITY "NORMAL_PRIORITY_CLASS"
+!define SERV_LOG_APPEND   "0"
+
+;
+;Configuration
+
+  ;General
+
+  OutFile "${GEN}\${PRODUCT_UNIX_NAME}-${VERSION}${OUTFILE_LABEL}-install.exe"
+
+  ShowInstDetails show
+  ShowUninstDetails show
+
+  ;Folder selection page
+  InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
+  
+  ;Remember install folder
+  InstallDirRegKey HKCU "Software\${PRODUCT_NAME}" ""
+
+;
+;Modern UI Configuration
+
+  Name "${PRODUCT_NAME} ${VERSION} ${TITLE_LABEL}"
+
+  !define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the 
installation of ${PRODUCT_NAME}, an Open Source VPN package by James 
Yonan.\r\n\r\nNote that the Windows version of ${PRODUCT_NAME} will only run on 
Win 2000, XP, or higher.\r\n\r\n\r\n"
+
+  !define MUI_COMPONENTSPAGE_TEXT_TOP "Select the components to 
install/upgrade.  Stop any ${PRODUCT_NAME} processes or the ${PRODUCT_NAME} 
service if it is running.  All DLLs are installed locally."
+
+  !define MUI_COMPONENTSPAGE_SMALLDESC
+  !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\INSTALL-win32.txt"
+  !define MUI_FINISHPAGE_NOAUTOCLOSE
+  !define MUI_ABORTWARNING
+  !define MUI_ICON "..\images\${PRODUCT_ICON}"
+  !define MUI_UNICON "..\images\${PRODUCT_ICON}"
+  !define MUI_HEADERIMAGE
+  !define MUI_HEADERIMAGE_BITMAP "..\images\install-whirl.bmp"
+  !define MUI_UNFINISHPAGE_NOAUTOCLOSE
+
+  !insertmacro MUI_PAGE_WELCOME
+  !insertmacro MUI_PAGE_LICENSE "..\COPYRIGHT.GPL"
+  !insertmacro MUI_PAGE_COMPONENTS
+  !insertmacro MUI_PAGE_DIRECTORY
+  !insertmacro MUI_PAGE_INSTFILES
+  !insertmacro MUI_PAGE_FINISH
+  
+  !insertmacro MUI_UNPAGE_CONFIRM
+  !insertmacro MUI_UNPAGE_INSTFILES  
+  !insertmacro MUI_UNPAGE_FINISH
+
+
+;
+;Languages
+ 
+  !insertmacro MUI_LANGUAGE "English"
+  
+;
+;Language Strings
+
+  LangString DESC_SecOpenVPNUserSpace ${LANG_ENGLISH} "Install ${PRODUCT_NAME} 
user-space components, including ${PRODUCT_UNIX_NAME}.exe."
+
+!ifdef USE_GUI
+  LangString DESC_SecOpenVPNGUI ${LANG_ENGLISH} "Install ${PRODUCT_NAME} GUI 
by Mathias Sundman"
+!endif
+
+  LangString DESC_SecOpenVPNEasyRSA ${LANG_ENGLISH} "Install ${PRODUCT_NAME} 
RSA scripts for X509 certificate management."
+
+  LangString DESC_SecOpenSSLDLLs ${LANG_ENGLISH} "Install OpenSSL DLLs locally 
(may be omitted if DLLs are already installed globally)."
+
+  LangString DESC_SecPKCS11DLLs ${LANG_ENGLISH} "Install PKCS#11 helper DLLs 
locally (may be omitted if DLLs are already installed globally)."
+
+  LangString DESC_SecLZO2DLLs ${LANG_ENGLISH} "Install LZO2 DLLs locally (may 
be omitted if DLLs are already installed globally)."
+
+  LangString DESC_SecMSVCR90DLL ${

Re: [Openvpn-devel] [PATCH 00/13] Fix remaining major issues with Python-based buildsystem

2011-02-11 Thread Carsten Krüger
> - embedding manifest files to the executables and DLLs

could be easily included:
http://msdn.microsoft.com/en-us/library/ms235591(v=vs.80).aspx

greetings
Carsten




Re: [Openvpn-devel] OpenVPN 2.2-rc Windows installer ready

2011-02-11 Thread Gert Doering
Hi,

On Fri, Feb 11, 2011 at 10:41:55AM +0200, Samuli Seppänen wrote:
> The older TAP driver probably works fine for the 2.2 branch. However, it
> won't work properly in 2.3, which will contain IPv6 support. 

It will just not do IPv6, but the code in tun.c checks for this, and
will print a warning so users can see why IPv6 is not working.  

It won't explode or break IPv4.

gert
-- 
USENET is *not* the non-clickable part of WWW!
   //www.muc.de/~gert/
Gert Doering - Munich, Germany g...@greenie.muc.de
fax: +49-89-35655025g...@net.informatik.tu-muenchen.de


pgpaYPrwHZrhj.pgp
Description: PGP signature