120 Commits (371b46581a8734cc76001578ac182112417885b0)

Author SHA1 Message Date
Julian Lam 6aae2e5d89 Revert "fix: proactively guard against homograph characters in website values"
This reverts commit fa7dcdb968.
3 years ago
Julian Lam fa7dcdb968 fix: proactively guard against homograph characters in website values 3 years ago
Julian Lam ffdf26afef docs: comment hint :shipit: 3 years ago
Barış Soner Uşaklı a8afdc6019 fix: #10069, don't modify fields array
use a single setObjectFields for the profile update
4 years ago
Julian Lam c1ac291284 fix: ability to enumerate email via updateProfile method 4 years ago
Julian Lam 3bcd1f1438 fix: email validation flow, so that it actually works, fixed event logging bug, new email verification template 4 years ago
Julian Lam 087e6020e4 refactor(email): validation checking methods, +tests fix 4 years ago
Julian Lam 69c96dd23c refactor(emails): more work in update email interstitial, interstitial skipping, email change on confirmation, deprecation of requireEmailConfirmation 4 years ago
Julian Lam f365bc4600 refactor(emails): interstitial for adding/updating email 4 years ago
Julian Lam bfd512b99b feat: expose username validation logic to user lib, new hook `filter:username.check` 4 years ago
Barış Soner Uşaklı a598abcd8e feat: use updateProfile for picture change
so it triggers action:user:updateProfile
4 years ago
Peter Jaszkowiak b56d9e12b5 chore: eslint prefer-arrow-callback 4 years ago
Peter Jaszkowiak 707b55b6a5 chore: eslint prefer-template 4 years ago
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
5 years ago
Julian Lam 6e2da9966e refactor: move plugin hook methods to plugin.hooks.* 5 years ago
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 1e312bf7ef7e119fa0f1bd3517d756ca013d5e79.

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

As processing a large string still uses a lot of memory
5 years ago
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
5 years ago
Julian Lam 30b3fedca4 fix: password reset to invalidate all existing reset tokens for that uid 5 years ago
Barış Soner Uşaklı dc29f4dca2 refactor: switch to using slugify module 5 years ago
Barış Soner Uşaklı ac43cd8b6f fix: #8665, trim email before checking validity 5 years ago
Barış Soner Uşaklı 38d3982bf1 fix: #8418
allow updating other profile fields when username isnt being changed
5 years ago
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
5 years ago
Barış Soner Uşaklı 846b7d2430 refactor: change pwd change logic
add one more test
5 years ago
Julian Lam 16cee1b03b fix: improper targetUid check during password change 5 years ago
Barış Soner Uşaklı 1d3fa3bc4e feat: throw error if uid is missing for update 5 years ago
Barış Soner Uşaklı 00e299e93e feat: closes #8229, add targetUid to action:password.change 5 years ago
Barış Soner Uşaklı 14e7866745 fix: #8179, limit length of location/website/fullname, check grouptitle 5 years ago
Barış Soner Uşaklı f4381ba366 fix: add missing await to sendValidationEmail 6 years ago
Barış Soner Uşaklı 625b0815bb refactor: shorter, new Date doesnt throw 6 years ago
Barış Soner Uşaklı babb9d7c55 fix: #7913, dont allow urls in fullname/location, validate birthday 6 years ago
Barış Soner Uşaklı a7d2b8a1fe refactor: async/await socket.io 6 years ago
Barış Soner Uşaklı 22f8011686 refactor: remove async from isPasswordValid, function is sync 6 years ago
Barış Soner Uşaklı 6fea46b6e2 feat: #7743
user/posts
user/profile
6 years ago
Barış Soner Uşaklı 198d05875f feat: cleanup, use bulk 6 years ago
Julian Lam 80c0d579e3 fix: #7593, unable to set account password if no password set 6 years ago
Andrew Rodrigues e114b16d7a fix: if editing password is disabled in ACP, prevent direct access via route/socket (related: #7576) 6 years ago
Barış Soner Uşaklı e17c4b2766 uid fixes 7 years ago
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
7 years ago
Barış Soner Uşaklı d996ea27be closes #6763 7 years ago
Julian Lam f9d3484ec6 fixes #6543 7 years ago
Julian Lam b6a5419ca1 closes #6674 7 years ago
Barış Soner Uşaklı cfb9784527 closes #6641 7 years ago
Julian Lam 7e6007e146 revoke all sessions on email change 7 years ago
Julian Lam be0ef799ee closes #6592 7 years ago
Barış Soner Uşaklı 6eea11a4fd closes #6529 7 years ago
Barış Soner Uşaklı 72140e5338 closes #5991, closes #5884 8 years ago
Barış Soner Uşaklı caaa72b752 closes #6124 8 years ago
Peter Jaszkowiak 46fafb20b9 Remove string.js dependency 8 years ago
Baris Usakli 753f1576ce processSortedSet 8 years ago
Julian Lam f56578ab50 remove reset tokens if target user email changes 8 years ago