diff options
-rw-r--r-- | netconf-service/index.js | 4 | ||||
-rwxr-xr-x | netconf-service/netconf.service | 13 | ||||
-rw-r--r-- | node/Service.cpp | 2 |
3 files changed, 18 insertions, 1 deletions
diff --git a/netconf-service/index.js b/netconf-service/index.js index 671836de..81b0e37f 100644 --- a/netconf-service/index.js +++ b/netconf-service/index.js @@ -476,6 +476,7 @@ function doNetconfRequest(message) }],function(err) { + // Send response to parent process if (err) { console.error('unable to generate certificate for peer '+peerId.address()+' on network '+nwid+': '+err); response.data['error'] = 'ACCESS_DENIED'; // unable to generate certificate @@ -489,7 +490,8 @@ function doNetconfRequest(message) //netconf.data[ZT_NETWORKCONFIG_DICT_KEY_MULTICAST_DEPTH] = 0; //netconf.data[ZT_NETWORKCONFIG_DICT_KEY_MULTICAST_RATES] = ''; netconf.data[ZT_NETWORKCONFIG_DICT_KEY_PRIVATE] = privateNetwork ? '1' : '0'; - netconf.data[ZT_NETWORKCONFIG_DICT_KEY_NAME] = network['name']; + if (network['name']) + netconf.data[ZT_NETWORKCONFIG_DICT_KEY_NAME] = network['name']; if (network['desc']) netconf.data[ZT_NETWORKCONFIG_DICT_KEY_DESC] = network['desc']; if ((v4NeedAssign)&&(v4Assignments.length > 0)) diff --git a/netconf-service/netconf.service b/netconf-service/netconf.service new file mode 100755 index 00000000..5371ff0c --- /dev/null +++ b/netconf-service/netconf.service @@ -0,0 +1,13 @@ +#!/bin/bash + +export PATH=/bin:/usr/bin:/usr/local/bin + +# We will start in ZT_HOME + +if [ ! -d ./services.d/netconf-service ]; then + echo 'cannot find netconf-service subfolder to launch subprocess' >>&2 + exit 1 +fi + +cd services.d/netconf-service +exec node index.js diff --git a/node/Service.cpp b/node/Service.cpp index 1e252a84..a43d104a 100644 --- a/node/Service.cpp +++ b/node/Service.cpp @@ -139,6 +139,8 @@ void Service::threadMain() dup2(in[0],STDIN_FILENO); dup2(out[1],STDOUT_FILENO); dup2(err[1],STDERR_FILENO); + setenv("ZT_HOME",_r->homePath.c_str(),1); + chdir(_r->homePath.c_str()); execl(_path.c_str(),_path.c_str(),_r->homePath.c_str(),(const char *)0); exit(-1); } |