Better special char support for mongo user/pass

-URL encoding the mongo username and password helps prevent connection issues when using certain special characters such as % or @ for example
This commit is contained in:
Joe Uhren
2022-06-13 19:37:48 -06:00
parent d838970d66
commit 40d367510d
6 changed files with 10 additions and 10 deletions
+2 -2
View File
@@ -6,8 +6,8 @@ var app = require('../app');
app.set('port', process.env.PORT || settings.webserver.port); app.set('port', process.env.PORT || settings.webserver.port);
var dbString = 'mongodb://' + settings.dbsettings.user; var dbString = 'mongodb://' + encodeURIComponent(settings.dbsettings.user);
dbString = dbString + ':' + settings.dbsettings.password; dbString = dbString + ':' + encodeURIComponent(settings.dbsettings.password);
dbString = dbString + '@' + settings.dbsettings.address; dbString = dbString + '@' + settings.dbsettings.address;
dbString = dbString + ':' + settings.dbsettings.port; dbString = dbString + ':' + settings.dbsettings.port;
dbString = dbString + '/' + settings.dbsettings.database; dbString = dbString + '/' + settings.dbsettings.database;
+2 -2
View File
@@ -11,8 +11,8 @@ function exit(exitCode) {
process.exit(exitCode); process.exit(exitCode);
} }
var dbString = 'mongodb://' + settings.dbsettings.user; var dbString = 'mongodb://' + encodeURIComponent(settings.dbsettings.user);
dbString = dbString + ':' + settings.dbsettings.password; dbString = dbString + ':' + encodeURIComponent(settings.dbsettings.password);
dbString = dbString + '@' + settings.dbsettings.address; dbString = dbString + '@' + settings.dbsettings.address;
dbString = dbString + ':' + settings.dbsettings.port; dbString = dbString + ':' + settings.dbsettings.port;
dbString = dbString + "/IQUIDUS-BENCHMARK"; dbString = dbString + "/IQUIDUS-BENCHMARK";
+1 -1
View File
@@ -88,7 +88,7 @@ rl.question('Are you sure you want to do this? [y/n]: ', function (deleteAnswer)
const settings = require('../lib/settings'); const settings = require('../lib/settings');
const mongoose = require('mongoose'); const mongoose = require('mongoose');
const dbString = `mongodb://${settings.dbsettings.user}:${settings.dbsettings.password}@${settings.dbsettings.address}:${settings.dbsettings.port}/${settings.dbsettings.database}`; const dbString = `mongodb://${encodeURIComponent(settings.dbsettings.user)}:${encodeURIComponent(settings.dbsettings.password)}@${settings.dbsettings.address}:${settings.dbsettings.port}/${settings.dbsettings.database}`;
console.log('Connecting to database..'); console.log('Connecting to database..');
+1 -1
View File
@@ -78,7 +78,7 @@ function drop_collection(mongoose, colName, cb) {
} }
function delete_database(mongoose, settings, cb) { function delete_database(mongoose, settings, cb) {
const dbString = `mongodb://${settings.dbsettings.user}:${settings.dbsettings.password}@${settings.dbsettings.address}:${settings.dbsettings.port}/${settings.dbsettings.database}`; const dbString = `mongodb://${encodeURIComponent(settings.dbsettings.user)}:${encodeURIComponent(settings.dbsettings.password)}@${settings.dbsettings.address}:${settings.dbsettings.port}/${settings.dbsettings.database}`;
console.log('Connecting to database..'); console.log('Connecting to database..');
+2 -2
View File
@@ -215,8 +215,8 @@ if (lib.is_locked([database]) == false) {
if (mode == 'update') if (mode == 'update')
console.log(`Syncing ${(database == 'index' ? 'blocks' : database)}.. Please wait..`); console.log(`Syncing ${(database == 'index' ? 'blocks' : database)}.. Please wait..`);
var dbString = 'mongodb://' + settings.dbsettings.user; var dbString = 'mongodb://' + encodeURIComponent(settings.dbsettings.user);
dbString = dbString + ':' + settings.dbsettings.password; dbString = dbString + ':' + encodeURIComponent(settings.dbsettings.password);
dbString = dbString + '@' + settings.dbsettings.address; dbString = dbString + '@' + settings.dbsettings.address;
dbString = dbString + ':' + settings.dbsettings.port; dbString = dbString + ':' + settings.dbsettings.port;
dbString = dbString + '/' + settings.dbsettings.database; dbString = dbString + '/' + settings.dbsettings.database;
+2 -2
View File
@@ -58,8 +58,8 @@ try {
const db = require('../lib/database'); const db = require('../lib/database');
const settings = require('../lib/settings'); const settings = require('../lib/settings');
var dbString = 'mongodb://' + settings.dbsettings.user; var dbString = 'mongodb://' + encodeURIComponent(settings.dbsettings.user);
dbString = dbString + ':' + settings.dbsettings.password; dbString = dbString + ':' + encodeURIComponent(settings.dbsettings.password);
dbString = dbString + '@' + settings.dbsettings.address; dbString = dbString + '@' + settings.dbsettings.address;
dbString = dbString + ':' + settings.dbsettings.port; dbString = dbString + ':' + settings.dbsettings.port;
dbString = dbString + '/' + settings.dbsettings.database; dbString = dbString + '/' + settings.dbsettings.database;