#190 closed Bug / Defect ( fixed )

OpenVPN built from "master" fails to start

Reported by: Samuli Seppänen Owned by:
Priority: blocker Milestone:
Component: Generic / unclassified Version: OpenVPN 2.2.1 (Community Ed)
Severity: Not set (select this one, unless your'e a OpenVPN developer) Keywords:
Cc:

Description (last modified by Samuli Seppänen )

The openvpn.exe binary does not work at all if built from latest sources in openvpn.git "master" branch. Latest known-good installer is ​ this , where latest commit is e7d1ac82f. Full details are available ​ here .

Due to Windows build fixes using git-bisect is not an option. We need to manually locate the offending commit from this list:

Full list of changes since the known good version:

CommitID Author Description Reverting fixed openvpn.exe?
330baf2 David Sommerseth autotools ./configure don't like compat.h No
032f004 David Sommerseth Fix compilation errors on Linux platforms without SO_MARK No
edf8bba David Sommerseth New Windows build fixes Untested
a4234e1 David Sommerseth Enable access() when building in Visual Studio Untested
ec302f7 David Sommerseth Move away from openvpn_basename() over to platform provided basename() Untested
8ee5646 David Sommerseth Fix a couple of issues in openvpn_execve() No
9449e6a Frederic Crozat Add support to forward console query to systemd No
6abb6cd Gert Doering Fix list-overrun checks in copy_route_[ipv6_]option_list() No
9140223 Gert Doering Fix build-up of duplicate IPv6 routes on reconnect. No
1d5c443 David Sommerseth Fix compiling with --disable-crypto and/or --disable-ssl No
e3f1b6a James Yonan Allow "tap-win32 dynamic <offset>" to be used in topology subnet mode. No
8407991 James Yonan Fixed client issues with DHCP Router option extraction/deletion when using layer 2 with DHCP proxy: No
ffea644 James Yonan Added "memstats" option to maintain real-time operating stats in a memory-mapped file. No
359adbf James Yonan Raised D_PID_DEBUG_LOW from level 3 to 4 to reduce replay error verbosity at level 3. No
870cf16 David Sommerseth Don't look for 'stdin' file when using --auth-user-pass No(1)

(1) manual revert was necessary

Change History (10)

comment:1 Changed 13 years ago by Samuli Seppänen

Description: modified ( diff )

comment:2 Changed 13 years ago by Samuli Seppänen

Description: modified ( diff )

comment:3 Changed 13 years ago by Samuli Seppänen

Description: modified ( diff )

comment:4 Changed 13 years ago by Samuli Seppänen

Description: modified ( diff )

comment:5 Changed 13 years ago by Samuli Seppänen

Description: modified ( diff )

comment:6 Changed 13 years ago by Samuli Seppänen

This issue caused by file access checks in options.c (lines 2627-2628):

  /* Is the file itself accessible? */
  if (!errcode && (type & CHKACC_FILE) && (access (file, mode) != 0) )
      errcode = errno;

Commenting this out fixes the problem.

comment:7 Changed 13 years ago by Samuli Seppänen

The above method seems fail when checking --tmp-dir, which, by default is C:\Users\<username>\ AppData? \Local\Temp . Changing --tmp-dir to something else in OpenVPN configuration does not help.

comment:8 Changed 13 years ago by Samuli Seppänen

Adding #define access _access right after #define HAVE_ACCESS 1 (in win/config.h.in ) does not help. Still the same failure.

comment:9 Changed 13 years ago by Samuli Seppänen

Added some related documentation to the Wiki, in case somebody wants to take a stab at debugging this further:

comment:10 Changed 13 years ago by Samuli Seppänen

Resolution: → fixed
Status: new → closed

From #openvpn-devel chatlogs (13.1.2012):

mattock: looks like it fails on line 2628 in options.c

According to dazo, this should be fixed now.