Question About vpnc-script-win.js

Vlad ntvdm at hotmail.com
Sun Mar 15 21:23:54 PDT 2015


David Woodhouse <dwmw2 <at> infradead.org> writes:

> 
> On Fri, 2015-01-30 at 08:31 -0500, Steven Petraglia wrote:
> > 
> > ::-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> > :: Windows7 Run From Current Dir
> > ::-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> > pushd %~dp0
> > 
> > set VERBOSE=-v
> > 
> > set CISCO_SPLIT_INC=2
> > set CISCO_SPLIT_INC_0_ADDR = "20.137.0.0"
> > set CISCO_SPLIT_INC_0_MASK = "255.255.0.0"
> > set CISCO_SPLIT_INC_0_MASKLEN = "32"
> > set CISCO_SPLIT_INC_1_ADDR = "170.225.31.0"
> > set CISCO_SPLIT_INC_1_MASK = "255.255.255.0"
> > set CISCO_SPLIT_INC_1_MASKLEN = "32"
> > 
> > "openconnect.exe" %VERBOSE%  client.com 
> 
> Hah, so *this* is why OpenConnect was crashing. It tries to set these
> environment variables according to what the server tells us, and the bug
> triggered when it found them already set (I'd coded it to delete
> existing conflicting variables from the environment but evidently not
> tested it very well).
> 
> You need to interpose your script between openconnect and
> vpnc-script-win.js, not run it before openconnect.
> 
> So run openconnect with '--script routehack.bat', and change
> routehack.bat so that it sets those variables and then invokes
> vpnc-script-win.js.
> 
> Although I think openconnect expects its script to be run with
> 'cscript.exe' so perhaps it needs to be JavaScript instead of a batch
> file.

At the top of vpnc-script-win.js, one can add the following to set those 
variables from within cscript (confirmed to work):


var oShell = WScript.CreateObject("WScript.Shell");
var oEnv = oShell.Environment("PROCESS");
oEnv("TEST1") = "TEST_VALUE";

oEnv("CISCO_SPLIT_INC_0_ADDR")="10.0.0.0";
oEnv("CISCO_SPLIT_INC_0_MASK")="255.0.0.0";
...
oEnv("CISCO_SPLIT_INC")="2";


Cheers,
V.






More information about the openconnect-devel mailing list