diff --git a/src/docker.js b/src/docker.js index f916a4f70..d7a24df7b 100644 --- a/src/docker.js +++ b/src/docker.js @@ -68,7 +68,12 @@ function testRegistryConfig(auth, callback) { assert.strictEqual(typeof auth, 'object'); assert.strictEqual(typeof callback, 'function'); - return callback(null); + let docker = exports.connection; + docker.checkAuth(auth, function (error /*, data */) { // this returns a 500 even for auth errors + if (error) return callback(new BoxError(BoxError.BAD_FIELD, error, { field: 'serverAddress' })); + + callback(); + }); } function injectPrivateFields(newConfig, currentConfig) { diff --git a/src/routes/settings.js b/src/routes/settings.js index 365fc4cc5..177119353 100644 --- a/src/routes/settings.js +++ b/src/routes/settings.js @@ -282,6 +282,7 @@ function setRegistryConfig(req, res, next) { if (typeof req.body.serverAddress !== 'string') return next(new HttpError(400, 'serverAddress is required')); if ('username' in req.body && typeof req.body.username !== 'string') return next(new HttpError(400, 'username is required')); + if ('email' in req.body && typeof req.body.email !== 'string') return next(new HttpError(400, 'email is required')); if ('password' in req.body && typeof req.body.password !== 'string') return next(new HttpError(400, 'password is required')); settings.setRegistryConfig(req.body, function (error) {