Commit Graph

69 Commits

Author SHA1 Message Date
Bryan Ashby 4881c2123a First pass formatting with Prettier
* Added .prettierrc.json
* Added .prettierignore
* Formatted
2022-06-05 14:04:25 -06:00
Bryan Ashby 24963406ea
Much faster getUserList 2020-07-13 22:40:49 -06:00
Bryan Ashby e9cc49497c
Fix group assignment bug 2020-02-18 09:35:23 -07:00
Bryan Ashby 0ed507cd7b
Initial real 2FA/OTP work 2019-04-09 20:07:19 -06:00
Bryan Ashby 23779c3abe
Use authInfo obj vs weird params. auth factor 1: factor 2 for 2FA, etc. 2019-02-22 22:51:12 -07:00
Bryan Ashby 57938e761e
+ Implement SSH PubKey authentication
* Security related items to config/security dir
2019-02-20 23:55:09 -07:00
Bryan Ashby 65ef1feb6c
Use crypto.timingSafeEqual() vs hand rolled method for constant time password comparison 2019-02-20 21:12:41 -07:00
Bryan Ashby 2788c37492 + ACS: AC for achievement count check
+ ACS: AP for achievement point check
+ User minutes used on the system are now tracked
+ MCI: TO for total time spent online system (friendly format)
* Fix up a couple ACS bugs with |value|
* Fix formatting of achievement text
+ Add more achievements
* Fix achievement duration formatting
2019-01-10 20:34:52 -07:00
Bryan Ashby 8652b35b46 Code cleanup & resolve some minor TODO's in dropfile gen 2018-12-09 01:01:55 -07:00
Bryan Ashby 6d2c095976 Fix cb 2018-11-27 22:01:14 -07:00
Bryan Ashby f80e07fcf9 ...and more UserProps 2018-11-23 22:18:15 -07:00
Bryan Ashby a4823c0c4a Logging around accoung lock/unlocking 2018-11-23 11:44:46 -07:00
Bryan Ashby df2bf4477e SECURITY UPDATE
* Handle failed login attempts via Telnet
* New lockout features for >= N failed attempts
* New auto-unlock over email feature
* New auto-unlock after N minutes feature
* Code cleanup in users
* Add user_property.js - start using consts for user properties. Clean up over time.
* Update email docs
2018-11-22 23:07:37 -07:00
Bryan Ashby 9fd819d608 Resolve TODO RE using EnigError for bad login attempts 2018-11-21 19:43:50 -07:00
Bryan Ashby e6a812cf34 Standardization work on built in user list module plus docs & code cleanup
* More docs, fix some info
* Code cleanup
2018-07-22 12:56:56 -06:00
Bryan Ashby 52585c78f0 Major changes around events, event log, etc.
* User event log is now functional & attached to various events
* Add additional missing system events
* Completely re-write last_callers to have new functionality, etc.
* Events.addListenerMultipleEvents()
* New 'moduleInitialize' export for module init vs Event specific registerEvents
* Add docs on last_callers mod
2018-07-21 14:32:06 -06:00
Bryan Ashby 1d8be6b014 Pardon the noise. More tab to space conversion! 2018-06-22 21:26:46 -06:00
Bryan Ashby e9787cee3e ENiGMA 1/2 WILL USE SPACES FROM THIS POINT ON VS TABS
* Really just to make GitHub formatting happy. Arg.
2018-06-21 23:15:04 -06:00
Bryan Ashby 1fe46894d3 More Hot-Reload related changes
* Config.get(): Returns the latest config
* Update code all over the place to use Config.get() vs Config.conf (which will be deprecated)
2018-06-20 19:57:06 -06:00
Bryan Ashby fbe87640c5 + New user event 2018-06-03 19:58:05 -06:00
Bryan Ashby 0ae9d0d143 + User login and logoff events 2018-06-03 17:59:16 -06:00
David Stephens f16eb6f3e6 Fix Node.js 10 deprecation warnings 2018-04-28 13:59:07 +01:00
Bryan Ashby ac1433e84b * Code cleanup and eslint since -- remove unused variables, clean up RegExs, so on... 2018-01-15 12:22:11 -07:00
Bryan Ashby b97f96ce18 * Fix Via parsing
* Use LIKE for real name lookup
2018-01-01 18:43:05 -07:00
Bryan Ashby 84a1f70fc2 * Add some user lookup functionality
* Fix INTL to/from order
* Remove VIA kludge when initially creating a NetMail message
2018-01-01 18:10:38 -07:00
Bryan Ashby 1e250f06d9 * Fix major issue with SQLite transactions + aync code causing collisions 2017-09-16 17:13:11 -06:00
Bryan Ashby 213f63ae12 More deleted user robustness 2017-03-02 18:50:58 -07:00
Bryan Ashby 058ff3f367 * Rework user.js and User object to ES6
* Update download stats for user when web download is completed
2017-02-18 13:21:18 -07:00
Bryan Ashby 12d4c158c4 * ENiGMA now require Node.js 6.x LTS+
* Bump version to 0.0.4-alpha
* Update package dependencies
* Use modified node-buffers that does not use deprecated Array.get()
* Update lodash dependency to 4.x & convert to new methods/etc.
* Better 'noHistory' support for menu stack
* Fix bug in download queue init
* Misc code cleanup
2017-01-28 12:33:06 -07:00
Bryan Ashby 6da7d557f9 * Improvements to ANSI parser
* Introduction of storage tags for file bases / areas
* Expiration for file web server items
* WIP work on clean ANSI (on hold for a bit while other file base stuff is worked on)
2016-12-06 18:58:56 -07:00
Bryan Ashby 2c53515b60 Better isGroupMember() impl. 2016-08-31 22:06:49 -06:00
Bryan Ashby 57309b433a Misc & isRootUserId() 2016-08-29 21:03:48 -06:00
Bryan Ashby 8787703989 * New StatLog: Replaces various logs, system props, etc. into one class/methods
* Uew StatLog for last callers
* Use new StatLog for +op props
* Use new StatLog for user props such as posts & MCI to access such
* Use StatLog for various new MCI codes for +op
* Misc missing MCI codes
2016-07-27 21:44:27 -06:00
Bryan Ashby 6750c05f07 Beter group check and isAuthenticated() 2016-01-30 15:26:19 -07:00
Bryan Ashby edcee5eb6a setNewAuthCredentials() method 2015-12-24 11:54:55 -07:00
Bryan Ashby a1f1578048 System allows non-unique email addresses #7 2015-11-27 22:26:00 -07:00
Bryan Ashby 688e46bc47 * Some more JSON -> HJSON cleanup
* More work on ACS system conditional matching. Now functional within menus. Still more work to go on various ACS checks themselves.
* Use ACS for new user path: If new user requires activation, they will see 'DONE' then get logged off
2015-11-14 12:22:21 -07:00
Bryan Ashby 5bd95255a3 * User.isGroupMember() can now take a string or array of strings to check
* Add WELCOME2.ANS
* Disallow "all" as a username
* Check group membership when switching areas
2015-11-04 23:04:55 -07:00
Bryan Ashby e36507fec1 * WIP user list - mostly complete
* Some code cleanup / renaming
2015-10-18 11:48:08 -06:00
Bryan Ashby 1cb95bd44e * Remove message_area_desc property -- just fetch it 2015-08-20 22:51:00 -06:00
Bryan Ashby 150bd5778a * Switch to JSON/config.json based user groups, and user group membership 2015-08-20 22:29:16 -06:00
Bryan Ashby 35de0a2487 * Initial work on moving to JSON configured Message Areas (vs ID's in SQLite). This will be applied to user groups, and other types as well such that JSON can simply be edited in config.json
* Hopefully better/proper merge of config.js + config.json => config
2015-08-20 16:35:04 -06:00
Bryan Ashby 4cf10ba85c * Minor changes & cleanup 2015-08-19 16:05:35 -06:00
Bryan Ashby 990dffe880 * Very minor 2015-08-17 21:45:11 -06:00
Bryan Ashby d71cae5c37 * persistAllProperties() and persistProperties() for User obje 2015-08-16 21:47:33 -06:00
Bryan Ashby 8d1fac41a9 * User idle timeout
* Only allow one session per user at a time
* user 'timestamp' property -> 'account_created'
* Better User.getLegacySecurityLevel() using group membership
* Client connection management -> client_connections.js
* Minor changes & cleanup
2015-08-04 22:35:59 -06:00
Bryan Ashby 608d4dc094 * DOOR.SYS support
* LORD now works via DOOR.SYS at least
* Abracadabra: nodeMax, tooManyArt support, etc.
* Abracadabra: Exit back to menu
* Some code cleanup
2015-08-03 23:11:17 -06:00
Bryan Ashby 144aa6b351 * More WIP on door support. Proof of concept mostly functional-ish for at least Pimpwars :) 2015-08-02 18:27:05 -06:00
Bryan Ashby 542327460b * Last callers module WIP 2015-07-26 00:20:07 -06:00
Bryan Ashby 7f4c97329d * Some code cleanup 2015-07-23 10:07:56 -06:00