diff --git a/src/config.js b/src/config.js index d67f7074e..3f8a41442 100644 --- a/src/config.js +++ b/src/config.js @@ -33,6 +33,7 @@ exports = module.exports = { appFqdn: appFqdn, zoneName: zoneName, setZoneName: setZoneName, + hasIPv6: hasIPv6, isDemo: isDemo, @@ -232,3 +233,8 @@ function tlsKey() { var keyFile = path.join(baseDir(), 'configs/host.key'); return safe.fs.readFileSync(keyFile, 'utf8'); } + +function hasIPv6() { + // require here to avoid cyclic dependencies, it is cached anyways + return fs.existsSync(require('./paths.js').IPV6_PROC_FILE); +} \ No newline at end of file diff --git a/src/paths.js b/src/paths.js index 6dd863b21..e1dfb57cb 100644 --- a/src/paths.js +++ b/src/paths.js @@ -19,6 +19,7 @@ exports = module.exports = { ADDON_CONFIG_DIR: path.join(config.baseDir(), 'platformdata/addons'), COLLECTD_APPCONFIG_DIR: path.join(config.baseDir(), 'platformdata/collectd/collectd.conf.d'), LOGROTATE_CONFIG_DIR: path.join(config.baseDir(), 'platformdata/logrotate.d'), + IPV6_PROC_FILE: '/proc/net/if_inet6', NGINX_CONFIG_DIR: path.join(config.baseDir(), 'platformdata/nginx'), NGINX_APPCONFIG_DIR: path.join(config.baseDir(), 'platformdata/nginx/applications'), NGINX_CERT_DIR: path.join(config.baseDir(), 'platformdata/nginx/cert'), diff --git a/src/test/config-test.js b/src/test/config-test.js index b623a7846..216ae5139 100644 --- a/src/test/config-test.js +++ b/src/test/config-test.js @@ -94,4 +94,7 @@ describe('config', function () { done(); }); + it('test machine has IPv6 support', function () { + expect(config.hasIPv6()).to.equal(true); + }); });