diff --git a/src/routes/test/apps-test.js b/src/routes/test/apps-test.js index 00fb73aa8..2801eef1b 100644 --- a/src/routes/test/apps-test.js +++ b/src/routes/test/apps-test.js @@ -58,7 +58,7 @@ var APP_MANIFEST_1 = JSON.parse(fs.readFileSync(__dirname + '/../../../../test-a APP_MANIFEST_1.dockerImage = TEST_IMAGE; APP_MANIFEST_1.singleUser = true; -var USERNAME = 'admin', PASSWORD = 'Foobar?1337', EMAIL ='admin@me.com'; +var USERNAME = 'superadmin', PASSWORD = 'Foobar?1337', EMAIL ='admin@me.com'; var USER_1_ID = null, USERNAME_1 = 'user', PASSWORD_1 = 'Foobar?1338', EMAIL_1 ='user@me.com'; var token = null; // authentication token var token_1 = null; diff --git a/src/routes/test/backups-test.js b/src/routes/test/backups-test.js index e38e39daa..a2739a812 100644 --- a/src/routes/test/backups-test.js +++ b/src/routes/test/backups-test.js @@ -19,7 +19,7 @@ var appdb = require('../../appdb.js'), var SERVER_URL = 'http://localhost:' + config.get('port'); -var USERNAME = 'admin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com'; +var USERNAME = 'superadmin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com'; var token = null; var server; diff --git a/src/routes/test/clients-test.js b/src/routes/test/clients-test.js index 98f73531e..4a7c87b93 100644 --- a/src/routes/test/clients-test.js +++ b/src/routes/test/clients-test.js @@ -21,7 +21,7 @@ var async = require('async'), var SERVER_URL = 'http://localhost:' + config.get('port'); -var USERNAME = 'admin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com'; +var USERNAME = 'superadmin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com'; var token = null; // authentication token function cleanup(done) { diff --git a/src/routes/test/cloudron-test.js b/src/routes/test/cloudron-test.js index ae22c97e4..cf9b6a143 100644 --- a/src/routes/test/cloudron-test.js +++ b/src/routes/test/cloudron-test.js @@ -18,7 +18,7 @@ var async = require('async'), var SERVER_URL = 'http://localhost:' + config.get('port'); -var USERNAME = 'admin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com'; +var USERNAME = 'superadmin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com'; var token = null; // authentication token var server; diff --git a/src/routes/test/developer-test.js b/src/routes/test/developer-test.js index acdb8a017..681d72422 100644 --- a/src/routes/test/developer-test.js +++ b/src/routes/test/developer-test.js @@ -17,7 +17,7 @@ var async = require('async'), var SERVER_URL = 'http://localhost:' + config.get('port'); -var USERNAME = 'admin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com'; +var USERNAME = 'superadmin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com'; var token = null; // authentication token var server; diff --git a/src/routes/test/groups-test.js b/src/routes/test/groups-test.js index a6be935b6..28d86bf20 100644 --- a/src/routes/test/groups-test.js +++ b/src/routes/test/groups-test.js @@ -21,7 +21,7 @@ var appdb = require('../../appdb.js'), var SERVER_URL = 'http://localhost:' + config.get('port'); -var USERNAME = 'admin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com'; +var USERNAME = 'superadmin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com'; var USERNAME_1 = 'user', PASSWORD_1 = 'Foobar?1337', EMAIL_1 ='happy@me.com'; var token, token_1 = null; var userId, userId_1 = null; diff --git a/src/routes/test/settings-test.js b/src/routes/test/settings-test.js index 635630780..a855d9202 100644 --- a/src/routes/test/settings-test.js +++ b/src/routes/test/settings-test.js @@ -22,7 +22,7 @@ var appdb = require('../../appdb.js'), var SERVER_URL = 'http://localhost:' + config.get('port'); -var USERNAME = 'admin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com'; +var USERNAME = 'superadmin', PASSWORD = 'Foobar?1337', EMAIL ='silly@me.com'; var token = null; var server; diff --git a/src/routes/test/simpleauth-test.js b/src/routes/test/simpleauth-test.js index 12cefa2b0..14533b290 100644 --- a/src/routes/test/simpleauth-test.js +++ b/src/routes/test/simpleauth-test.js @@ -21,7 +21,7 @@ describe('SimpleAuth API', function () { var SERVER_URL = 'http://localhost:' + config.get('port'); var SIMPLE_AUTH_ORIGIN = 'http://localhost:' + config.get('simpleAuthPort'); - var USERNAME = 'aDMin', PASSWORD = 'Foobar?1337', EMAIL ='silly@ME.com'; + var USERNAME = 'superaDMin', PASSWORD = 'Foobar?1337', EMAIL ='silly@ME.com'; var APP_0 = { id: 'app0', diff --git a/src/routes/test/user-test.js b/src/routes/test/user-test.js index 6350b9fda..97ad5b8ea 100644 --- a/src/routes/test/user-test.js +++ b/src/routes/test/user-test.js @@ -19,7 +19,7 @@ var config = require('../../config.js'), var SERVER_URL = 'http://localhost:' + config.get('port'); -var USERNAME_0 = 'aDmIn', PASSWORD = 'Foobar?1337', EMAIL_0 = 'silLY@me.com', EMAIL_0_NEW = 'stupID@me.com', DISPLAY_NAME_0_NEW = 'New Name'; +var USERNAME_0 = 'superaDmIn', PASSWORD = 'Foobar?1337', EMAIL_0 = 'silLY@me.com', EMAIL_0_NEW = 'stupID@me.com', DISPLAY_NAME_0_NEW = 'New Name'; var USERNAME_1 = 'userTheFirst', EMAIL_1 = 'taO@zen.mac'; var USERNAME_2 = 'userTheSecond', EMAIL_2 = 'USER@foo.bar', EMAIL_2_NEW = 'happy@ME.com'; var USERNAME_3 = 'userTheThird', EMAIL_3 = 'user3@FOO.bar'; diff --git a/src/user.js b/src/user.js index 0269621f5..f6e396d87 100644 --- a/src/user.js +++ b/src/user.js @@ -75,6 +75,8 @@ UserError.BAD_TOKEN = 'Bad token'; function validateUsername(username) { assert.strictEqual(typeof username, 'string'); + // https://github.com/gogits/gogs/blob/52c8f691630548fe091d30bcfe8164545a05d3d5/models/repo.go#L393 + var RESERVED_USERNAMES = [ 'admin' ]; // apps like wordpress, gogs don't like these // allow empty usernames if (username === '') return null; @@ -82,6 +84,8 @@ function validateUsername(username) { if (username.length <= 2) return new UserError(UserError.BAD_USERNAME, 'Username must be atleast 3 chars'); if (username.length > 256) return new UserError(UserError.BAD_USERNAME, 'Username too long'); + if (RESERVED_USERNAMES.indexOf(username) !== -1) return new UserError(UserError.BAD_USERNAME, 'Username is reserved'); + return null; }