Compare commits

...

37 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
668ad8abf7 fix: #8515, fix login redirect on subfolder 2020-09-14 10:24:43 -04:00
Renovate Bot
f5ba852e78 fix(deps): update dependency nodebb-theme-lavender to v5.1.0 2020-08-13 13:50:19 -04:00
Julian Lam
8479809a73 fix: bump version number for manual release 2020-08-12 20:47:15 -04:00
Barış Soner Uşaklı
311675916a feat: one more test 2020-08-12 20:40:47 -04:00
Barış Soner Uşaklı
c98f55b454 feat: tests for password change 2020-08-12 20:40:46 -04:00
Julian Lam
c2477d9d5f fix: improper targetUid check during password change 2020-08-12 20:40:46 -04:00
Misty (Bot)
28970b030d chore: incrementing version number - v1.14.2 2020-07-15 16:00:30 +00:00
Misty (Bot)
b54c54f62b Merge commit 'c54287fe9c6c4784083896db332962fede9bee08' into v1.14.x 2020-07-15 16:00:30 +00:00
Misty (Bot)
ddf5c3bf7f chore: incrementing version number - v1.14.1 2020-07-08 20:13:42 +00:00
Misty (Bot)
afe1073e03 Merge commit '658dd03b0390c7aca1475a59f915b432ba764ba6' into v1.14.x 2020-07-08 20:13:42 +00:00
Misty (Bot)
1c0eb70046 chore: incrementing version number - v1.14.0 2020-07-02 01:28:05 +00:00
Misty (Bot)
28302c55dc Merge commit 'fe908cc022ff3b2e2a08f4f14dfbe9e00ce56ddd' into v1.14.x 2020-07-02 01:28:05 +00:00
Misty (Bot)
e0d285032d chore: incrementing version number - v1.14.0-12 2020-06-24 20:37:03 +00:00
Misty (Bot)
6bb0241daf Merge commit 'bffb830d8754344f7bf8cc819e7985cd3318d49b' into v1.14.x 2020-06-24 20:37:03 +00:00
Misty (Bot)
a2c62f2e11 chore: incrementing version number - v1.14.0-11 2020-06-24 14:36:52 +00:00
Misty (Bot)
f01ac65c5a Merge commit '8482a54a68396333e0b14a792a8c96720a97b59c' into v1.14.x 2020-06-24 14:36:51 +00:00
Misty (Bot)
c07cca574f chore: incrementing version number - v1.14.0-10 2020-06-23 19:02:45 +00:00
Misty (Bot)
226620140c Merge commit '4f6b6c56319372572cbac19d7a3bc9e3ac3a5417' into v1.14.x 2020-06-23 19:02:45 +00:00
Misty (Bot)
2ee196b4da chore: incrementing version number - v1.14.0-9 2020-06-23 16:38:25 +00:00
Misty (Bot)
b3c4db621a Merge commit 'd50f7c7dfa23dd27060ddf52cbf3712f0724842a' into v1.14.x 2020-06-23 16:38:25 +00:00
Misty (Bot)
592b880b1c chore: incrementing version number - v1.14.0-8 2020-06-16 20:29:58 +00:00
Misty (Bot)
553dbd73ba Merge commit 'b459592a4ece4400ae6c4d1ae0378557b6f39fdb' into v1.14.x 2020-06-16 20:29:58 +00:00
Misty (Bot)
6721d4151e chore: incrementing version number - v1.14.0-7 2020-06-15 23:54:33 +00:00
Misty (Bot)
64c0e1433b Merge commit '5a367ecbb4a46b576f85590f24a9cf4ffea41bcd' into v1.14.x 2020-06-15 23:54:33 +00:00
Misty (Bot)
d142e7c86a chore: incrementing version number - v1.14.0-6 2020-06-15 13:22:29 +00:00
Misty (Bot)
5acf5acb3a Merge commit '7ed1a0140aba3a1f80fe242fa5ae2e360cef009d' into v1.14.x 2020-06-15 13:22:28 +00:00
Misty (Bot)
830c59eb4f chore: incrementing version number - v1.14.0-5 2020-06-11 00:32:05 +00:00
Misty (Bot)
60ba66c0a3 Merge commit '6349fa03e172ce710a5aeabd753953d7f33a53e0' into v1.14.x 2020-06-11 00:32:05 +00:00
Misty (Bot)
470835e6f7 chore: incrementing version number - v1.14.0-4 2020-06-09 15:41:59 +00:00
Misty (Bot)
7b4d726c5d Merge commit 'cf0f8f64a933ac7576f201ad8ab2c1795766646f' into v1.14.x 2020-06-09 15:41:59 +00:00
Misty (Bot)
a49b774800 chore: incrementing version number - v1.14.0-3 2020-06-08 19:23:09 +00:00
Misty (Bot)
0569c27c88 Merge commit 'd92032dad1bd9b47de33b6377efb67b9b4d7d49d' into v1.14.x 2020-06-08 19:23:09 +00:00
Misty (Bot)
4e1c26becb chore: incrementing version number - v1.14.0-2 2020-06-04 18:25:35 +00:00
Misty (Bot)
5aea87ade2 Merge commit 'c1d8b9bb5a9697c8d86ac518456ab1ae6fe45234' into v1.14.x 2020-06-04 18:25:34 +00:00
Misty (Bot)
d93eba9f3b chore: incrementing version number - v1.14.0-1 2020-06-03 17:40:15 +00:00
Misty (Bot)
626def8b31 Merge commit 'f6ad9605c609607c45397cb43ad97e11dd4ab93b' into v1.14.x 2020-06-03 17:40:14 +00:00
Misty (Bot)
a10b5eade8 chore: incrementing version number - v1.14.0-0 2020-05-28 13:21:44 +00:00
4 changed files with 47 additions and 4 deletions

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "1.14.2-beta.1",
"version": "1.14.3",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -89,7 +89,7 @@
"nodebb-plugin-soundpack-default": "1.0.0",
"nodebb-plugin-spam-be-gone": "0.7.2",
"nodebb-rewards-essentials": "0.1.3",
"nodebb-theme-lavender": "5.0.11",
"nodebb-theme-lavender": "5.1.0",
"nodebb-theme-persona": "10.1.65",
"nodebb-theme-slick": "1.2.29",
"nodebb-theme-vanilla": "11.1.33",

View File

@@ -264,7 +264,9 @@ function continueLogin(req, res, next) {
await authenticationController.doLogin(req, userData.uid);
var destination;
if (req.session.returnTo) {
destination = req.session.returnTo;
destination = req.session.returnTo.startsWith('http') ?
req.session.returnTo :
nconf.get('relative_path') + req.session.returnTo;
delete req.session.returnTo;
} else {
destination = nconf.get('relative_path') + '/';

View File

@@ -280,13 +280,18 @@ module.exports = function (User) {
}
let isAdminOrPasswordMatch = false;
const isSelf = parseInt(uid, 10) === parseInt(data.uid, 10);
if (!isAdmin && !isSelf) {
throw new Error('[[user:change_password_error_privileges]]');
}
if (
(isAdmin && !isSelf) || // Admins ok
(!hasPassword && isSelf) // Initial password set ok
) {
isAdminOrPasswordMatch = true;
} else {
isAdminOrPasswordMatch = await User.isPasswordCorrect(uid, data.currentPassword, data.ip);
isAdminOrPasswordMatch = await User.isPasswordCorrect(data.uid, data.currentPassword, data.ip);
}
if (!isAdminOrPasswordMatch) {

View File

@@ -816,6 +816,42 @@ describe('User', function () {
});
});
it('should not let user change another user\'s password', async function () {
const regularUserUid = await User.create({ username: 'regularuserpwdchange', password: 'regularuser1234' });
const uid = await User.create({ username: 'changeadminpwd1', password: '123456' });
let err;
try {
await socketUser.changePassword({ uid: uid }, { uid: regularUserUid, newPassword: '654321', currentPassword: '123456' });
} catch (_err) {
err = _err;
}
assert.equal(err.message, '[[user:change_password_error_privileges]]');
});
it('should not let user change admin\'s password', async function () {
const adminUid = await User.create({ username: 'adminpwdchange', password: 'admin1234' });
await groups.join('administrators', adminUid);
const uid = await User.create({ username: 'changeadminpwd2', password: '123456' });
let err;
try {
await socketUser.changePassword({ uid: uid }, { uid: adminUid, newPassword: '654321', currentPassword: '123456' });
} catch (_err) {
err = _err;
}
assert.equal(err.message, '[[user:change_password_error_privileges]]');
});
it('should let admin change another users password', async function () {
const adminUid = await User.create({ username: 'adminpwdchange2', password: 'admin1234' });
await groups.join('administrators', adminUid);
const uid = await User.create({ username: 'forgotmypassword', password: '123456' });
await socketUser.changePassword({ uid: adminUid }, { uid: uid, newPassword: '654321' });
const correct = await User.isPasswordCorrect(uid, '654321', '127.0.0.1');
assert(correct);
});
it('should change username', function (done) {
socketUser.changeUsernameEmail({ uid: uid }, { uid: uid, username: 'updatedAgain', password: '123456' }, function (err) {
assert.ifError(err);