72 Commits

Author SHA1 Message Date
Bryan Ashby
f02624c14d
Add ability to toggle avail/invis from WFC 2022-05-31 12:28:26 -06:00
Bryan Ashby
6502f3b55e
Initial support for user status flags (NotAvail, NotVisible, ...) 2022-05-08 22:15:57 -06:00
Bryan Ashby
d0db38a544
More docs, total user count MCI and stat 2022-05-01 19:58:00 -06:00
Bryan Ashby
9c7fb16196
Last caller information / MCI 2020-11-26 19:51:00 -07: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