fix: avoid setting db ssl unless explicitly provided

pull/880/head
Nick 5 years ago
parent a50bb2f281
commit f7ebccbb43

@ -14,6 +14,7 @@ defaults:
user: wikijs user: wikijs
pass: wikijsrocks pass: wikijsrocks
db: wiki db: wiki
ssl: false
storage: ./db.sqlite storage: ./db.sqlite
ssl: ssl:
enabled: false enabled: false

@ -29,18 +29,27 @@ module.exports = {
user: WIKI.config.db.user, user: WIKI.config.db.user,
password: WIKI.config.db.pass, password: WIKI.config.db.pass,
database: WIKI.config.db.db, database: WIKI.config.db.db,
port: WIKI.config.db.port, port: WIKI.config.db.port
ssl: !_.isNil(WIKI.config.db.ssl) && WIKI.config.db.ssl !== false
} }
const dbUseSSL = (WIKI.config.db.ssl === true || WIKI.config.db.ssl === 'true' || WIKI.config.db.ssl === 1 || WIKI.config.db.ssl === '1')
switch (WIKI.config.db.type) { switch (WIKI.config.db.type) {
case 'postgres': case 'postgres':
dbClient = 'pg' dbClient = 'pg'
if (dbUseSSL && _.isPlainObject(dbConfig)) {
dbConfig.ssl = true
}
break break
case 'mariadb': case 'mariadb':
case 'mysql': case 'mysql':
dbClient = 'mysql2' dbClient = 'mysql2'
if (dbUseSSL && _.isPlainObject(dbConfig)) {
dbConfig.ssl = true
}
// Fix mysql boolean handling... // Fix mysql boolean handling...
dbConfig.typeCast = (field, next) => { dbConfig.typeCast = (field, next) => {
if (field.type === 'TINY' && field.length === 1) { if (field.type === 'TINY' && field.length === 1) {
@ -52,6 +61,13 @@ module.exports = {
break break
case 'mssql': case 'mssql':
dbClient = 'mssql' dbClient = 'mssql'
if (_.isPlainObject(dbConfig)) {
dbConfig.appName = 'Wiki.js'
if (dbUseSSL) {
dbConfig.encrypt = true
}
}
break break
case 'sqlite': case 'sqlite':
dbClient = 'sqlite3' dbClient = 'sqlite3'

Loading…
Cancel
Save