From 1d73764788324de4241037b0cf34b2ec235eeb70 Mon Sep 17 00:00:00 2001 From: Piotr Wielgolaski Date: Wed, 6 Jan 2016 13:12:26 +0100 Subject: [PATCH 1/2] when strictSsl is false set GIT_SSL_NO_VERIFY=true for git command Solves #2129 --- lib/core/resolvers/GitResolver.js | 3 +++ test/core/resolvers/gitResolver.js | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/lib/core/resolvers/GitResolver.js b/lib/core/resolvers/GitResolver.js index cf66d3c4..8d5ea13b 100644 --- a/lib/core/resolvers/GitResolver.js +++ b/lib/core/resolvers/GitResolver.js @@ -26,6 +26,9 @@ function GitResolver(decEndpoint, config, logger) { // anyway mkdirp.sync(config.storage.empty); process.env.GIT_TEMPLATE_DIR = config.storage.empty; + if (!config.strictSsl) { + process.env.GIT_SSL_NO_VERIFY = 'true'; + } Resolver.call(this, decEndpoint, config, logger); diff --git a/test/core/resolvers/gitResolver.js b/test/core/resolvers/gitResolver.js index 0db33889..7dcd93f1 100644 --- a/test/core/resolvers/gitResolver.js +++ b/test/core/resolvers/gitResolver.js @@ -15,6 +15,7 @@ var defaultConfig = require('../../../lib/config'); describe('GitResolver', function () { var tempDir = path.resolve(__dirname, '../../tmp/tmp'); var originalrefs = GitResolver.refs; + var originalEnv = process.env; var logger; before(function () { @@ -23,6 +24,7 @@ describe('GitResolver', function () { afterEach(function () { logger.removeAllListeners(); + process.env = originalEnv; }); function clearResolverRuntimeCache() { @@ -41,6 +43,18 @@ describe('GitResolver', function () { describe('misc', function () { it.skip('should error out if git is not installed'); it.skip('should setup git template dir to an empty folder'); + it('should set process.env.GIT_SSL_NO_VERIFY when strictSSL is false', function () { + var resolver; + var decEndpoint = { source: 'foo'}; + + expect(process.env).to.not.have.property('GIT_SSL_NO_VERIFY'); + + resolver = new GitResolver(decEndpoint, defaultConfig(), logger); + expect(process.env).to.not.have.property('GIT_SSL_NO_VERIFY'); + + resolver = new GitResolver(decEndpoint, defaultConfig({strictSsl: false}), logger); + expect(process.env).to.have.property('GIT_SSL_NO_VERIFY','true'); + }); }); describe('.hasNew', function () { From f0a54d0018927f8f1cf85cb6c7e12a37cea49333 Mon Sep 17 00:00:00 2001 From: Piotr Wielgolaski Date: Fri, 22 Jan 2016 20:17:45 +0100 Subject: [PATCH 2/2] set GIT_SSL_NO_VERIFY for opposite value than strictSsl --- lib/core/resolvers/GitResolver.js | 4 +--- test/core/resolvers/gitResolver.js | 8 +++++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/core/resolvers/GitResolver.js b/lib/core/resolvers/GitResolver.js index 8d5ea13b..aa41ef29 100644 --- a/lib/core/resolvers/GitResolver.js +++ b/lib/core/resolvers/GitResolver.js @@ -26,9 +26,7 @@ function GitResolver(decEndpoint, config, logger) { // anyway mkdirp.sync(config.storage.empty); process.env.GIT_TEMPLATE_DIR = config.storage.empty; - if (!config.strictSsl) { - process.env.GIT_SSL_NO_VERIFY = 'true'; - } + process.env.GIT_SSL_NO_VERIFY = (!config.strictSsl).toString(); Resolver.call(this, decEndpoint, config, logger); diff --git a/test/core/resolvers/gitResolver.js b/test/core/resolvers/gitResolver.js index 7dcd93f1..4d7eba27 100644 --- a/test/core/resolvers/gitResolver.js +++ b/test/core/resolvers/gitResolver.js @@ -50,10 +50,16 @@ describe('GitResolver', function () { expect(process.env).to.not.have.property('GIT_SSL_NO_VERIFY'); resolver = new GitResolver(decEndpoint, defaultConfig(), logger); - expect(process.env).to.not.have.property('GIT_SSL_NO_VERIFY'); + expect(process.env).to.have.property('GIT_SSL_NO_VERIFY','false'); + delete process.env.GIT_SSL_NO_VERIFY; resolver = new GitResolver(decEndpoint, defaultConfig({strictSsl: false}), logger); expect(process.env).to.have.property('GIT_SSL_NO_VERIFY','true'); + delete process.env.GIT_SSL_NO_VERIFY; + + resolver = new GitResolver(decEndpoint, defaultConfig({strictSsl: true}), logger); + expect(process.env).to.have.property('GIT_SSL_NO_VERIFY','false'); + delete process.env.GIT_SSL_NO_VERIFY; }); });