diff --git a/browserid/lib/db_json.js b/browserid/lib/db_json.js index 608476895e7c57c7bc68d7b73633854551461e60..a38da9d76af3aaa37f8759a7da205f2a74dd0868 100644 --- a/browserid/lib/db_json.js +++ b/browserid/lib/db_json.js @@ -42,14 +42,14 @@ const path = require('path'), fs = require('fs'), secrets = require('./secrets'), -jsel = require('JSONSelect'); +jsel = require('JSONSelect'), +logger = require('../../libs/logging.js').logger, +configuration = require('../../libs/configuration.js'); // a little alias for stringify const ESC = JSON.stringify; -var VAR_DIR = path.join(path.dirname(__dirname), "var"); - -var dbPath = path.join(VAR_DIR, "authdb.json"); +var dbPath = path.join(configuration.get('var_path'), "authdb.json"); /* The JSON database. The structure is thus: * [ @@ -75,7 +75,11 @@ var stagedEmails = { }; var staged = { }; function flush() { - fs.writeFileSync(dbPath, JSON.stringify(db)); + try { + var e = fs.writeFileSync(dbPath, JSON.stringify(db)); + } catch (e) { + logger.error("Cannot save database to " + dbPath); + } } // when should a key created right now expire?