diff --git a/src/cloudron.js b/src/cloudron.js index 4b561d0cd..f6e069a6f 100644 --- a/src/cloudron.js +++ b/src/cloudron.js @@ -888,7 +888,7 @@ function migrate(options, callback) { var dnsConfig = _.pick(options, 'domain', 'provider', 'accessKeyId', 'secretAccessKey', 'region', 'endpoint'); - settings.setDnsConfig(dnsConfig, function (error) { + settings.setDnsConfig(dnsConfig, options.domain, function (error) { if (error && error.reason === SettingsError.BAD_FIELD) return callback(new CloudronError(CloudronError.BAD_FIELD, error.message)); if (error) return callback(new CloudronError(CloudronError.INTERNAL_ERROR, error)); diff --git a/src/routes/cloudron.js b/src/routes/cloudron.js index 0ecd25ab9..72a8b0bd9 100644 --- a/src/routes/cloudron.js +++ b/src/routes/cloudron.js @@ -92,7 +92,7 @@ function dnsSetup(req, res, next) { config.set('fqdn', req.body.domain); - settings.setDnsConfig(req.body, function (error) { + settings.setDnsConfig(req.body, req.body.domain, function (error) { if (error && error.reason === SettingsError.BAD_FIELD) return next(new HttpError(400, error.message)); if (error) return next(new HttpError(500, error)); diff --git a/src/settings.js b/src/settings.js index 1e82f9732..a56aa6e47 100644 --- a/src/settings.js +++ b/src/settings.js @@ -343,14 +343,15 @@ function getDnsConfig(callback) { }); } -function setDnsConfig(dnsConfig, callback) { +function setDnsConfig(dnsConfig, domain, callback) { assert.strictEqual(typeof dnsConfig, 'object'); + assert.strictEqual(typeof domain, 'string'); assert.strictEqual(typeof callback, 'function'); sysinfo.getIp(function (error, ip) { if (error) return callback(new SettingsError(SettingsError.INTERNAL_ERROR, 'Error getting IP:' + error.message)); - subdomains.verifyDnsConfig(dnsConfig, config.fqdn(), ip, function (error, result) { + subdomains.verifyDnsConfig(dnsConfig, domain, ip, function (error, result) { if (error && error.reason === SubdomainError.ACCESS_DENIED) return callback(new SettingsError(SettingsError.BAD_FIELD, 'Error adding A record. Access denied')); if (error && error.reason === SubdomainError.NOT_FOUND) return callback(new SettingsError(SettingsError.BAD_FIELD, 'Zone not found')); if (error && error.reason === SubdomainError.EXTERNAL_ERROR) return callback(new SettingsError(SettingsError.BAD_FIELD, 'Error adding A record:' + error.message));