Commit Graph

123 Commits

Author SHA1 Message Date
Julian Lam
c93bd0105e fix: expire email validation tokens on password change 2022-07-20 17:02:39 -04:00
Barış Soner Uşaklı
3a009f96cd fix: closes #10621, convert \r\n to \n so it isn't counted as 2 characters 2022-05-14 20:03:16 -04:00
Barış Soner Uşaklı
3414a23bce feat: min:rep:upvote, and other limits similar to downvotes
closes #10380
2022-03-11 13:34:36 -05:00
Julian Lam
6aae2e5d89 Revert "fix: proactively guard against homograph characters in website values"
This reverts commit fa7dcdb968.
2022-02-11 14:12:22 -05:00
Julian Lam
fa7dcdb968 fix: proactively guard against homograph characters in website values 2022-02-01 10:25:36 -05:00
Julian Lam
ffdf26afef docs: comment hint :shipit: 2022-01-11 13:54:02 -05:00
Barış Soner Uşaklı
a8afdc6019 fix: #10069, don't modify fields array
use a single setObjectFields for the profile update
2021-12-08 18:38:02 -05:00
Julian Lam
c1ac291284 fix: ability to enumerate email via updateProfile method 2021-11-08 15:36:37 -05:00
Julian Lam
3bcd1f1438 fix: email validation flow, so that it actually works, fixed event logging bug, new email verification template 2021-07-30 13:29:13 -04:00
Julian Lam
087e6020e4 refactor(email): validation checking methods, +tests fix 2021-07-30 13:29:13 -04:00
Julian Lam
69c96dd23c refactor(emails): more work in update email interstitial, interstitial skipping, email change on confirmation, deprecation of requireEmailConfirmation 2021-07-30 13:29:13 -04:00
Julian Lam
f365bc4600 refactor(emails): interstitial for adding/updating email 2021-07-30 13:29:13 -04:00
Julian Lam
bfd512b99b feat: expose username validation logic to user lib, new hook filter:username.check 2021-03-05 11:20:19 -05:00
Barış Soner Uşaklı
a598abcd8e feat: use updateProfile for picture change
so it triggers action:user:updateProfile
2021-03-03 17:11:13 -05:00
Peter Jaszkowiak
b56d9e12b5 chore: eslint prefer-arrow-callback 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
707b55b6a5 chore: eslint prefer-template 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
2be396ff6e fix: email testing and settings change from ACP
- changing email SMTP settings wouldn't apply the first time
- "Send Test Email" now will report emailer errors in most cases
2020-12-18 16:39:09 -05:00
Julian Lam
6e2da9966e refactor: move plugin hook methods to plugin.hooks.* 2020-11-20 16:32:39 -05:00
Julian Lam
512f6de6de feat: allow passwords with length > 73 characters (#8818)
* feat: allow passwords longer than 73 characters

Context: A bcrypt/blowfish limitation means that password length is capped at 72 characters. We can get around this without compromising on security
by hashing all incoming passwords with SHA512, and then sending that to bcrypt.

https://dropbox.tech/security/how-dropbox-securely-stores-your-passwords

* feat: add additional test for passwords > 73 chars

* fix: remove 'password-too-long' error message and all invocations

* test: added test to show that a super long password won't bring down NodeBB

* fix: remove debug log

* Revert "fix: remove 'password-too-long' error message and all invocations"

This reverts commit 1e312bf7ef.

* fix: added back password length checks, but at 512 chars

As processing a large string still uses a lot of memory
2020-11-06 08:40:00 -05:00
Barış Soner Uşaklı
872bacf1c4 Admin/users (#8762)
* feat: wip admin/users

* feat: more work

* feat: more fixes

* feat: #8662, verified/unverified user groups

* feat: add filter

* feat: change user search to use filters array

* refactor: remove unused search call

* fix: tests

* fix: cant join system groups

* fix: upgrade script
2020-10-13 22:42:50 -04:00
Julian Lam
30b3fedca4 fix: password reset to invalidate all existing reset tokens for that uid 2020-10-13 11:48:32 -04:00
Barış Soner Uşaklı
dc29f4dca2 refactor: switch to using slugify module 2020-10-11 21:49:37 -04:00
Barış Soner Uşaklı
ac43cd8b6f fix: #8665, trim email before checking validity 2020-09-21 20:50:56 -04:00
Barış Soner Uşaklı
38d3982bf1 fix: #8418
allow updating other profile fields when username isnt being changed
2020-09-12 21:48:56 -04:00
Barış Soner Uşaklı
4be693f2e7 feat: fullname search (#8641)
* feat: fullname search

* fix: take last element

* fix: attempt to fix psql like query

* feat: upgrade sript, another fix attempt

* fix: psql test

* fix: psql scan

* feat: add debug for test

* feat: test collate

* feat: cleanup

* fix: upgrade script
2020-09-11 23:20:49 -04:00
Barış Soner Uşaklı
846b7d2430 refactor: change pwd change logic
add one more test
2020-08-12 22:09:22 -04:00
Julian Lam
16cee1b03b fix: improper targetUid check during password change 2020-08-12 13:23:58 -04:00
Barış Soner Uşaklı
1d3fa3bc4e feat: throw error if uid is missing for update 2020-05-15 15:23:01 -04:00
Barış Soner Uşaklı
00e299e93e feat: closes #8229, add targetUid to action:password.change 2020-04-01 00:11:55 -04:00
Barış Soner Uşaklı
14e7866745 fix: #8179, limit length of location/website/fullname, check grouptitle 2020-02-24 16:58:51 -05:00
Barış Soner Uşaklı
f4381ba366 fix: add missing await to sendValidationEmail 2019-11-07 18:10:30 -05:00
Barış Soner Uşaklı
625b0815bb refactor: shorter, new Date doesnt throw 2019-09-23 23:51:45 -04:00
Barış Soner Uşaklı
babb9d7c55 fix: #7913, dont allow urls in fullname/location, validate birthday 2019-09-23 23:50:04 -04:00
Barış Soner Uşaklı
a7d2b8a1fe refactor: async/await socket.io 2019-09-15 02:14:51 -04:00
Barış Soner Uşaklı
22f8011686 refactor: remove async from isPasswordValid, function is sync 2019-09-11 00:28:42 -04:00
Barış Soner Uşaklı
6fea46b6e2 feat: #7743
user/posts
user/profile
2019-07-16 15:29:58 -04:00
Barış Soner Uşaklı
198d05875f feat: cleanup, use bulk 2019-06-24 21:36:20 -04:00
Julian Lam
80c0d579e3 fix: #7593, unable to set account password if no password set 2019-05-22 13:40:00 -04:00
Andrew Rodrigues
e114b16d7a fix: if editing password is disabled in ACP, prevent direct access via route/socket (related: #7576) 2019-05-09 15:50:51 -04:00
Barış Soner Uşaklı
e17c4b2766 uid fixes 2018-11-17 22:31:39 -05:00
Barış Soner Uşaklı
9c022afae1 Parse int (#6853)
* Store config fields as JSON in the db

Fewer parseInts

* Remove unnecessary parseInts

* remove some dupe code add tests

* remove console.log

* remove more parseInts

* WIP: read meta.configs defaults from defaults.json

remove more parseInts

* more work

* add log for failing test

* update admin pwd

* fix tests, dont require posts/cache before configs are initialized

* handle saves

* Test boolean conditions

* remove more parseInts

* Fix boolean values

* remove lots more parseInts

* removed json parsing

* renamed var to number

* categories dont have timestamp
2018-10-21 16:47:51 -04:00
Barış Soner Uşaklı
d996ea27be closes #6763 2018-09-15 17:59:57 -04:00
Julian Lam
f9d3484ec6 fixes #6543 2018-08-10 16:07:25 -04:00
Julian Lam
b6a5419ca1 closes #6674 2018-07-27 11:54:32 -04:00
Barış Soner Uşaklı
cfb9784527 closes #6641 2018-07-09 14:26:21 -04:00
Julian Lam
7e6007e146 revoke all sessions on email change 2018-06-29 14:23:25 -04:00
Julian Lam
be0ef799ee closes #6592 2018-06-29 14:16:28 -04:00
Barış Soner Uşaklı
6eea11a4fd closes #6529 2018-05-28 13:30:11 -04:00
Barış Soner Uşaklı
72140e5338 closes #5991, closes #5884 2018-01-12 17:29:47 -05:00
Barış Soner Uşaklı
caaa72b752 closes #6124 2017-11-27 12:52:08 -05:00