Opened 2 years ago

Closed 2 years ago

#190 closed Bug / Defect (fixed)

OpenVPN built from "master" fails to start

Reported by: samuli Owned by:
Priority: blocker Milestone:
Component: Generic / unclassified Version: 2.2.1
Severity: Not set (if unsure, select this one) Keywords:
Cc:

Description (last modified by samuli)

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:

CommitIDAuthorDescriptionReverting fixed openvpn.exe?
330baf2David Sommersethautotools ./configure don't like compat.hNo
032f004David SommersethFix compilation errors on Linux platforms without SO_MARKNo
edf8bbaDavid SommersethNew Windows build fixesUntested
a4234e1David SommersethEnable access() when building in Visual StudioUntested
ec302f7David SommersethMove away from openvpn_basename() over to platform provided basename()Untested
8ee5646David SommersethFix a couple of issues in openvpn_execve()No
9449e6aFrederic CrozatAdd support to forward console query to systemdNo
6abb6cdGert DoeringFix list-overrun checks in copy_route_[ipv6_]option_list()No
9140223Gert DoeringFix build-up of duplicate IPv6 routes on reconnect.No
1d5c443David SommersethFix compiling with --disable-crypto and/or --disable-sslNo
e3f1b6aJames YonanAllow "tap-win32 dynamic <offset>" to be used in topology subnet mode.No
8407991James YonanFixed client issues with DHCP Router option extraction/deletion when using layer 2 with DHCP proxy:No
ffea644James YonanAdded "memstats" option to maintain real-time operating stats in a memory-mapped file.No
359adbfJames YonanRaised D_PID_DEBUG_LOW from level 3 to 4 to reduce replay error verbosity at level 3.No
870cf16David SommersethDon't look for 'stdin' file when using --auth-user-passNo(1)

(1) manual revert was necessary

Change History (10)

comment:1 Changed 2 years ago by samuli

  • Description modified (diff)

comment:2 Changed 2 years ago by samuli

  • Description modified (diff)

comment:3 Changed 2 years ago by samuli

  • Description modified (diff)

comment:4 Changed 2 years ago by samuli

  • Description modified (diff)

comment:5 Changed 2 years ago by samuli

  • Description modified (diff)

comment:6 Changed 2 years ago by samuli

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 2 years ago by samuli

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 2 years ago by samuli

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 2 years ago by samuli

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

comment:10 Changed 2 years ago by samuli

  • Resolution set to fixed
  • Status changed from new to 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.

Note: See TracTickets for help on using tickets.