diff --git a/packages/pg-connection-string/index.js b/packages/pg-connection-string/index.js index c07b146a9..995ff0684 100644 --- a/packages/pg-connection-string/index.js +++ b/packages/pg-connection-string/index.js @@ -65,7 +65,7 @@ function parse(str) { config.ssl = false } - if (config.sslcert || config.sslkey || config.sslrootcert) { + if (config.sslcert || config.sslkey || config.sslrootcert || config.sslmode) { config.ssl = {} } @@ -90,11 +90,9 @@ function parse(str) { case 'require': case 'verify-ca': case 'verify-full': { - config.ssl = config.ssl || true break } case 'no-verify': { - config.ssl = config.ssl || {} config.ssl.rejectUnauthorized = false break } diff --git a/packages/pg-connection-string/test/parse.js b/packages/pg-connection-string/test/parse.js index 9a88f1d09..910d26f7e 100644 --- a/packages/pg-connection-string/test/parse.js +++ b/packages/pg-connection-string/test/parse.js @@ -258,25 +258,25 @@ describe('parse', function () { it('configuration parameter sslmode=prefer', function () { var connectionString = 'pg:///?sslmode=prefer' var subject = parse(connectionString) - subject.ssl.should.eql(true) + subject.ssl.should.eql({}) }) it('configuration parameter sslmode=require', function () { var connectionString = 'pg:///?sslmode=require' var subject = parse(connectionString) - subject.ssl.should.eql(true) + subject.ssl.should.eql({}) }) it('configuration parameter sslmode=verify-ca', function () { var connectionString = 'pg:///?sslmode=verify-ca' var subject = parse(connectionString) - subject.ssl.should.eql(true) + subject.ssl.should.eql({}) }) it('configuration parameter sslmode=verify-full', function () { var connectionString = 'pg:///?sslmode=verify-full' var subject = parse(connectionString) - subject.ssl.should.eql(true) + subject.ssl.should.eql({}) }) it("configuration parameter sslmode=require doesn't overwrite sslrootcert=/path/to/ca", function () {