Commit Graph

1809 Commits

Author SHA1 Message Date
Bryan Ashby 43a7bd9ba4
Use mapValuesDeep vs reduceDeep 2020-06-11 21:38:33 -06:00
Bryan Ashby 9394730011
New Config class working quite well for system config. Menu.hjson/etc. to come 2020-06-11 21:16:15 -06:00
Bryan Ashby 37bc2fc3aa
Working well 2020-06-10 22:52:19 -06:00
Bryan Ashby 56472c80a8
Decent merge customizer 2020-06-10 19:15:49 -06:00
Bryan Ashby 4237f78938
noWatch -> hotReload & experimental WIP Config class using ConfigLoader 2020-06-09 21:18:51 -06:00
Bryan Ashby e674079f53
noWatch -> hotReload 2020-06-09 21:18:17 -06:00
Bryan Ashby cfaff61abf WIP new Configuration class 2020-06-07 22:20:34 -06:00
Bryan Ashby dd2a6258d5
Fix up some deprecated config refs 2020-06-07 21:21:31 -06:00
Bryan Ashby 7e006f1c68
Default configuration moved to config_default.js 2020-06-07 15:26:11 -06:00
Bryan Ashby 6258a39c57
Merge pull request #283 from NuSkooler/new-telnet-server
New telnet server implementation based on telnet-socket, includes new websocket server (which inherits from telnet) and some misc updates to I/O.
2020-06-03 20:36:37 -06:00
Bryan Ashby 5b20c3ec38
Crash using VTX Client #284
* Fix try/catch around JSON.parse()
* Ensure we don't try to replace on null/undefined no matter what
2020-06-01 19:22:15 -06:00
Bryan Ashby 74078939cc
DO should be a DONT for echo 2020-05-31 14:54:33 -06:00
Bryan Ashby 29ef0935c3
Don't send back don't in respond to wont new_environ 2020-05-31 11:49:32 -06:00
Bryan Ashby 78b78e8c79
Doc updates 2020-05-30 22:39:27 -06:00
Bryan Ashby 438a3161d0
Fix up remoteAddress for WebSocket connections 2020-05-27 21:31:51 -06:00
Bryan Ashby 87a23bd3c8
Telnet Bridge updates
* Use telnet-socket TelnetSpec/etc. consts & helpers
* Enable passthrough
2020-05-27 21:05:19 -06:00
Bryan Ashby 4dea9bdeb6
Remove dead code 2020-05-27 19:25:15 -06:00
Bryan Ashby a1c9d8538f
Don't cork 2020-05-27 19:24:45 -06:00
Bryan Ashby 0bf3031d9f
WIP on better data handling for file transfer 2020-05-26 22:55:51 -06:00
Bryan Ashby 2234a71705
Working much nicer 2020-05-22 12:55:52 -06:00
Bryan Ashby eeba609560
This is broken WIP. Goign to refactor, but on the road... 2020-05-22 11:41:59 -06:00
Bryan Ashby 5aaf568ed5
Fix bug reported by user before I forget 2020-05-21 21:22:49 -06:00
Bryan Ashby 2a93de9487
Yet more ANSI-BBS related updates 2020-05-21 21:22:15 -06:00
Bryan Ashby 1e6c577cd3
More ANSI-BBS compliant... still some to go 2020-05-21 19:16:40 -06:00
Bryan Ashby 03b79fa9f2
TODO for IAC processing 2020-05-20 20:24:26 -06:00
Bryan Ashby 72301104ff
Update passthrough state 2020-05-20 20:24:12 -06:00
Bryan Ashby 65d68f33dc
Allow passthrough 2020-05-20 20:23:09 -06:00
Bryan Ashby e85ba322ce
WebSockets work with new telnet server 2020-05-18 19:19:30 -06:00
Bryan Ashby 6d307ec06b
Clean up a bit. Still more to do... 2020-05-18 18:41:23 -06:00
Bryan Ashby a1ac6dfc67 Shim in dataHandler for toggling from elsewhere 2020-05-18 00:33:14 -06:00
Bryan Ashby e517e31b94 Working fairly well 2020-05-17 22:35:03 -06:00
Bryan Ashby 1018485e8e WIP 2020-05-17 21:36:48 -06:00
Bryan Ashby 75787b6107
Start work on new telnet server 2020-05-17 20:22:16 -06:00
Bryan Ashby 02fa3b014b
ANSI FILE_ID.DIZ sometimes do not display correctly #244
* When parsing ANSI files, handle UNIX style LF's only vs "standard" DOS CRLF pairs
2020-05-16 17:37:51 -06:00
Bryan Ashby 9ed7c049ad Update uuid dep 2020-05-14 22:05:17 -06:00
Bryan Ashby fc22db5462 FTN/BSO doc tidy up 2020-05-14 20:44:11 -06:00
Bryan Ashby 60955cac11
Fix Message.uuid vs Message.messageUuid
* Just use Message.messageUuid which better aligns with message_uuid in DB, messageId, etc.
* Keep uuid as property for now just in case
2020-05-14 19:46:00 -06:00
Bryan Ashby b7cac2d38f
Fix sliceAtEOF() bug causing short ANSI's to get borked when e.g. display achievements 2020-05-13 20:19:45 -06:00
Bryan Ashby fd6bb47427
Fix yet another bug with node IDs
* Pick appropriate slot
* Log nodeId vs clientId/etc. for less confusion
2020-05-13 19:30:57 -06:00
Bryan Ashby 714f32f695
Add Node.js version to startup log 2020-05-13 19:04:11 -06:00
Bryan Ashby db91d6d6b7
* Update QWK area pointers upon export
* Specialize 0 messages exported
2020-05-12 18:53:47 -06:00
Bryan Ashby f63464c501
Very slight display improvements, include conf in info 2020-05-12 09:12:55 -06:00
Bryan Ashby fbec46d1b9
Fix Message.findMessages() if private tag passed in, fix QWK export 2020-05-11 21:54:20 -06:00
Bryan Ashby b562ba34b0
Fix bad log 2020-05-11 20:31:35 -06:00
Bryan Ashby a56546cf3f
Only export private messages if the user has elected to do so 2020-05-11 19:57:25 -06:00
Bryan Ashby 9174b7b710
Code cleanup, use some defaults 2020-05-11 19:52:01 -06:00
Bryan Ashby ee992278e8
WIP on QWK download support 2020-05-10 21:56:05 -06:00
Bryan Ashby 14f7ca9dcc
Add Ability to Import All File Areas at Once #271
* Simple wildcard support for area tags param
2020-05-07 20:02:12 -06:00
Bryan Ashby d6dce82a92
Clean up log a bit 2020-05-07 19:00:32 -06:00
Bryan Ashby 3732914c4a
Add extra log 2020-05-06 17:50:44 -06:00
Bryan Ashby 387dfb3b5d
Don't idle logout if a transfer is making progress 2020-05-06 17:47:13 -06:00
Bryan Ashby 59ee52ea6f
Tidy + some logging 2020-05-06 17:34:37 -06:00
Bryan Ashby f56e30442a
Suggestion: option to trigger List of pending users. #272 2020-05-05 21:18:58 -06:00
Bryan Ashby 67ac86ac05
Add initial QWK docs, update FTN, etc. 2020-05-05 19:01:47 -06:00
Bryan Ashby 7fb10418f0
Start auto-gen confs at 1000 2020-05-03 12:01:31 -06:00
Bryan Ashby 21374d6e6d
Minor 2020-05-03 11:48:03 -06:00
Bryan Ashby 65a5eabe9c
Try this 2020-05-03 11:40:54 -06:00
Bryan Ashby 2b1747a8f4
Fix NDX filenames 2020-05-03 11:17:33 -06:00
Bryan Ashby c6bde65be0
Minor fixes, tidy up FTS CHRS table a bit 2020-05-03 11:10:40 -06:00
Bryan Ashby b32dae9b48
Auto-generate conf numbers for user export mode 2020-05-03 10:42:57 -06:00
Bryan Ashby c7a543e87e
* oputil mb qwk-export
* oputil mb qwk-dump
* Fix QWK reader encoding
2020-05-02 16:48:24 -06:00
Bryan Ashby 8817113364
* Create bundle filenames to spec
* Better cp437 vs utf8 vs other encoding support
* Add some CP437 and related utils
2020-05-02 13:34:28 -06:00
Bryan Ashby 1f1813c14a
Produce NDX files, various improvements to spec, etc. 2020-04-30 22:07:29 -06:00
Bryan Ashby 2b7d810c77
Lots of progress on packet writing, reading, etc.
* Bug fixes
* Create packet archive
2020-04-27 20:55:41 -06:00
Bryan Ashby 8a81b34ed0
WIP: Lots of progress with QWK reader/writer 2020-04-25 11:25:47 -06:00
Bryan Ashby d8f0601914
Add CONTROL.DAT parsing 2020-04-21 22:57:06 -06:00
Bryan Ashby 6edfe95dfe
A good amount of HEADERS.DAT support 2020-04-21 22:14:29 -06:00
Bryan Ashby 29ee9c4d58
WIP on QWK support 2020-04-21 19:50:04 -06:00
Bryan Ashby 91939f46cf
Merge branch '0.0.11-beta' of github.com:NuSkooler/enigma-bbs into 0.0.11-beta 2020-02-18 09:47:31 -07:00
Bryan Ashby 44fd380397
Merge branch '0.0.11-beta' of ssh://numinibsd/git/base/enigma-bbs into 0.0.11-beta 2020-02-18 09:46:55 -07:00
Bryan Ashby 76d421ecf7
Merge branch '0.0.10-alpha' of ssh://numinibsd/git/base/enigma-bbs into 0.0.11-beta 2020-02-18 09:45:58 -07:00
Bryan Ashby e9cc49497c
Fix group assignment bug 2020-02-18 09:35:23 -07:00
Bryan Ashby ea828ba812 Update copyrights 2020-01-01 14:15:22 -07:00
Bryan Ashby 3f454c44c2 Don't hang on unzip prompting 2019-12-23 20:06:15 -07:00
Bryan Ashby cd3b8d5e76
Low hanging fruit: Don't re-create binary parsers constantly 2019-12-05 20:48:13 -07:00
Bryan Ashby 37638957b4
Fix issues with corrupt FTN packets 2019-11-22 21:44:24 -07:00
Bryan Ashby 1aa545e254
Minor 2019-11-20 19:11:05 -07:00
Bryan Ashby c9ff904b2b
Fix various minor mistakes 2019-11-08 19:20:14 -07:00
Bryan Ashby 351ae52776
Dep updates 2019-10-29 21:17:58 -06:00
Bryan Ashby 1fdaaf5633
Add 'write' access for post FSE
+ hasMessageConfAndAreaWrite()
+ MenuModule helpers: gotoMenuOrPrev(), gotoMenuOrShowMessage(). These will likely replace many other pieces of code soon.
2019-09-16 22:05:03 -06:00
Bryan Ashby 7783262af6
ES6 2019-09-15 21:30:00 -06:00
Bryan Ashby afd6d4265f
More filtering of messages results without ACS
+ filterMessageListByReadACS()
* Use filterMessageListByReadACS() in my messages
* Use filterMessageListByReadACS() in message search
2019-09-11 22:03:24 -06:00
Bryan Ashby 36afcc0298
Cleanup unused 2019-09-11 21:57:07 -06:00
Bryan Ashby 4f6a0b175c
Don't return messages user doesn't have access to! 2019-09-11 21:56:54 -06:00
Bryan Ashby d5268c7b9e
Fix getMessageAreaByTag() and improve hasMessageConfAndAreaRead() 2019-09-11 21:56:33 -06:00
Bryan Ashby dff8e12dcc
Message ACS improvements & minor fixes
+ getSuitableMessageConfAndAreaTags(): Get a suitable conf/area tag pair with priority on defaults
+ hasMessageConfAndAreaRead() helper
+ filterMessageAreaTagsByReadACS() helper
* Always include confTag/areaTag when fetching a conf or area (convenience)
* Fix 'toRemoteUser' assignment in message
* Better kick out of message conf/areas users does not have access to
2019-09-11 21:21:33 -06:00
Bryan Ashby 8027a73ea5
Another message area check 2019-09-09 21:44:03 -06:00
Bryan Ashby 24e18b5a7e
Clean up defualt mesage/file conf/areas at login if user no longer has read access 2019-09-09 21:35:12 -06:00
Bryan Ashby 16f4d62548
Initial support for random 'next', 'action', ... 2019-09-03 19:52:04 -06:00
Bryan Ashby 1e08810188
Update InfoZip list extractor 2019-08-22 21:48:39 -06:00
Bryan Ashby c476d366c7
Merge branch 'user-auto-signature' of ssh://numinibsd/git/base/enigma-bbs into 0.0.10-alpha 2019-08-10 12:19:16 -06:00
Bryan Ashby 236e5dedb1
Switch default zip file handler to InfoZip package 2019-08-10 11:09:56 -06:00
Bryan Ashby b435f3fbb8
Comments 2019-08-10 11:09:34 -06:00
Bryan Ashby 8fde4ccd60
Initial auto-signature support 2019-08-09 23:17:41 -06:00
Bryan Ashby c71404a641
oputil.js fb scan improvement & fixes
* Start of --verbose for oputil.js in general (mostly placeholder at this point)
* Fix --full-scan and rename to just --full
2019-08-09 18:16:23 -06:00
Bryan Ashby 3eed388e33
BBSLink + WebSockets does not update key press monitor 2019-07-11 22:49:15 -06:00
Bryan Ashby 289b32c169
Allow idle monitor to be disabled 2019-07-08 19:49:55 -06:00
Bryan Ashby 1ec721212d
v3 async until 2019-07-08 19:27:54 -06:00
Bryan Ashby d728ddea4c
Fix v3 async whilst 2019-07-08 19:24:37 -06:00
Bryan Ashby 2f391bdbab
Spelling 2019-06-30 19:25:47 -06:00
Bryan Ashby fdce4c939c
Minor 2019-06-22 20:26:58 -06:00
David Stephens 65b48a2af2 Fix MRC prettyBoardName and /INFO 2019-06-22 23:16:08 +01:00
Bryan Ashby 20d3b0fec9
Doh, fix username vs realname 2019-06-17 21:08:50 -06:00
Bryan Ashby abc6465af4
Template fixes 2019-06-16 15:30:47 -06:00
Bryan Ashby abc6a36275
OTP/2FA config template & luciano blocktronics theme 2019-06-15 22:18:51 -06:00
Bryan Ashby 42ac6f8689
ACS checks can now be applied to form actions 2019-06-15 18:42:15 -06:00
Bryan Ashby 91fa8243c8
Documentation
+ User 2FA/OTP Config mod docs
* Add to nav
2019-06-15 18:11:54 -06:00
Bryan Ashby b5a3c030ab
Doc updates & minor code cleanup 2019-06-15 17:19:42 -06:00
Bryan Ashby 0f68f20656
Documentation updates
+ Add Security doc
* Update optuil doc
2019-06-14 21:43:27 -06:00
Bryan Ashby 2b154800c0
More OTP updates/fixes
* Ensure email address at save
* Fix QR display issues for non-Google Auth
* More cleanup/etc.
2019-06-13 22:54:56 -06:00
Bryan Ashby 7481421898
Fix bug caused by new getView() 2019-06-13 22:54:05 -06:00
Bryan Ashby 4ebbedf4bc
Clean up tokens 2019-06-13 20:51:35 -06:00
Bryan Ashby 94747cfe7e
Good progress on 2FA/OTP config: Most of email register lifecycle complete 2019-06-13 19:47:04 -06:00
Bryan Ashby 3efea3de9a
Work on 2FA/OTP email system
* Web routes/handler/etc. mostly functional
* Can now enable -> follow link -> submit -> capture form
* Clean up code
2019-06-12 21:57:45 -06:00
Bryan Ashby fa3e3e5802
Introduce new user_temporary_token & use for token storage of 2FA/OTP registration 2019-06-11 21:20:34 -06:00
Bryan Ashby 18eecb6223
Fix user_temporary_token table 2019-06-11 19:54:57 -06:00
Bryan Ashby f8788d56d6
Merge branch '0.0.10-alpha' of ssh://numinibsd/git/base/enigma-bbs into security-updates 2019-06-11 18:25:35 -06:00
Bryan Ashby 4158b07ad0
Better naming, start on temp tokens table, etc. 2019-06-11 18:25:24 -06:00
Bryan Ashby d6af9a1caa
Minor 2019-06-10 20:12:17 -06:00
Bryan Ashby 80eb8ad38d
Add latency est., activity level indicators, etc. 2019-06-10 20:07:45 -06:00
Bryan Ashby da93fd53e9
Start of custom format obj stuff. Want to add more info 2019-06-09 22:36:24 -06:00
Bryan Ashby 5c978e05bf
Ability to override idle time and/or temporary disable from MRC 2019-06-09 13:41:11 -06:00
Bryan Ashby 487968dac9
Fix my previous dumb 2019-06-09 09:19:34 -06:00
Bryan Ashby 433ad72752 Fixes & /clear
* Fix use port from config
* Add /clear & menu method: clearMessages()
2019-06-09 00:09:07 -06:00
Bryan Ashby ad305b4ccc
Implement 'maxScrollbackLines' config for MRC module 2019-06-08 12:12:29 -06:00
Bryan Ashby f2e769a27a
Fix up colors, clear out socket 2019-06-08 11:58:21 -06:00
Bryan Ashby afb7854ea5
Clean up logging a bit & implement 'omit'
* 'omit' can be set to omit views from form submission
* Don't log as much noise
2019-06-08 11:57:36 -06:00
Bryan Ashby 094385a150
Minor bug fixes and improvements
* Color help text a bit
* Split lines for buffer so padding works - may need to do elsewhere also
* Fix a couple crashes
2019-06-07 23:23:06 -06:00
Bryan Ashby 6e855884ad
Merge pull request #235 from davestephens/0.0.10-alpha
Bring in MRC to 0.0.10 alpha!
2019-06-05 22:41:20 -06:00
David Stephens 43e22cfc74 Turn off debug logging of MRC message sending 2019-06-05 23:41:28 +01:00
David Stephens 8726128cda Turn off MRC by default 2019-06-02 15:47:15 +01:00
David Stephens 5d73a224be Compress MRC help text 2019-06-02 15:24:08 +01:00
Bryan Ashby 9cc59f8ff8
Hopefully a little better handling of external doors/processes 2019-06-01 14:38:48 -06:00
David Stephens 8153473b89 Dial down MRC logging 2019-05-31 22:00:48 +01:00
David Stephens b6d0d0d95e Move generic config options to general config section 2019-05-31 21:20:18 +01:00
David Stephens 19e10bb096 Tweak to MRC handshake 2019-05-31 21:19:29 +01:00
David Stephens ce16f17081 Fix MRC MLTEV padding bug 2019-05-31 20:34:07 +01:00
David Stephens 136854017a Lots of tidy-up from PR #235 feedback 2019-05-31 20:32:16 +01:00
David Stephens 593bf67b45 Stop passing sockets all over the place. General tidy up and refactor. Add reconnection to MRC logic. 2019-05-31 01:16:32 +01:00
Bryan Ashby 29e0c8f790
Ability to show secret or backup codes 2019-05-29 22:03:29 -06:00
David Stephens ca8add36b5 reenable disabled jobs 2019-05-27 15:50:07 +01:00
David Stephens 2c3219fc67 Remove heartbeat when client exits mrc 2019-05-26 23:44:38 +01:00
David Stephens 0b95997554 MRC general config 2019-05-26 00:16:49 +01:00
David Stephens 109b157c02 more MRC bug squashing and tidy up 2019-05-26 00:14:36 +01:00
Bryan Ashby 8802ae24ba
Good progress on 2FA/OTP config 2019-05-24 22:27:50 -06:00
Bryan Ashby b62f55961f
Better formatting 2019-05-24 22:27:28 -06:00
Bryan Ashby 4ef32d1c52
Formatting + refs 2019-05-24 22:26:56 -06:00
Bryan Ashby 9018bc363c
show_art module can now take Buffer to display 2019-05-24 22:26:27 -06:00
David Stephens 9f4f1fca13 Refactor and rename of MRC client and multiplexer 2019-05-22 23:43:41 +01:00
David Stephens 92528fc16f MRC bug squashing 2019-05-20 23:37:32 +01:00
David Stephens 3436dad57a Merge branch '0.0.10-alpha' of github.com:NuSkooler/enigma-bbs into 0.0.10-alpha
* '0.0.10-alpha' of github.com:NuSkooler/enigma-bbs:
  Fix real names during message save
  Improve legacy EOF detector: Must be at least >= size of SAUCE
  Fix to read direct / full path & 'readSauce' option of art
2019-05-19 13:00:40 +01:00
David Stephens 67ecad4e1a Implemented most MRC server calls 2019-05-19 00:01:58 +01:00
David Stephens 9c2b3be0b1 MRC WIP 2019-05-18 00:25:35 +01:00
Bryan Ashby 50d108b44c
Merge branch '0.0.10-alpha' of github.com:NuSkooler/enigma-bbs into security-updates 2019-05-15 21:55:32 -06:00
Bryan Ashby da91bf0191
Fix real names during message save 2019-05-15 21:51:44 -06:00
Bryan Ashby 013c088651
Merge branch '0.0.9-alpha' of github.com:NuSkooler/enigma-bbs into 0.0.10-alpha 2019-05-13 21:32:34 -06:00
Bryan Ashby 228d3e3ae7
Improve legacy EOF detector: Must be at least >= size of SAUCE 2019-05-13 21:31:34 -06:00
Bryan Ashby b0d081ad04
Fix to read direct / full path & 'readSauce' option of art 2019-05-13 21:27:59 -06:00
Bryan Ashby d215919bff
Improvements to oputil
* Major update to --help
* '2fa' is now '2fa-otp' or just 'otp'
* Better 2fa-otp output & handling
2019-05-11 00:21:42 -06:00
Bryan Ashby 6953cdf159
QR's can't alwasy be created 2019-05-11 00:20:02 -06:00
Bryan Ashby 401d0a10b1
Fix 'AR' ACS check 2019-05-11 00:19:11 -06:00
Bryan Ashby 2767f3c4e3
Don't store hashed versions of backup codes
* Really no point; secret must be in plain-text and only ever used in conjunction with pass/etc.
* Better oputil handling
2019-05-09 20:25:47 -06:00
Bryan Ashby 6070bc94e7
Good progress on QR support 2019-05-09 19:56:04 -06:00
Bryan Ashby 3c6c8d2a5c
Add missing OTP file, minor updates 2019-05-08 21:06:10 -06:00
Bryan Ashby e5398db07b
WIP on OTP 2FA, stats, etc. 2019-05-07 21:36:33 -06:00
Bryan Ashby e960e2800d
Merge branch '0.0.10-alpha' of ssh://numinibsd/git/base/enigma-bbs into security-updates 2019-05-06 20:49:16 -06:00
Bryan Ashby 826e5fc0f1
Merge branch '0.0.9-alpha' of github.com:NuSkooler/enigma-bbs into 0.0.10-alpha 2019-04-23 18:17:54 -06:00
Bryan Ashby 509831cc0c
Better handling of active door instances 2019-04-23 18:16:55 -06:00
Bryan Ashby 50426d0e60
Listen 'address' for WebSockets 2019-04-09 20:25:37 -06:00
Bryan Ashby 37ea1e3a30
Listen 'address' for SSH 2019-04-09 20:25:27 -06:00
Bryan Ashby 8114a1e3f2
Listen 'address' for Telnet 2019-04-09 20:25:14 -06:00
Bryan Ashby 3460b98bf5
Listen 'address' for Web 2019-04-09 20:25:03 -06:00
Bryan Ashby d54338c46e
Listen 'address' for Gopher 2019-04-09 20:24:52 -06:00
Bryan Ashby 0ed507cd7b
Initial real 2FA/OTP work 2019-04-09 20:07:19 -06:00
Bryan Ashby 75d6eef92f
Merge branch '0.0.9-alpha' of github.com:NuSkooler/enigma-bbs into security-updates 2019-04-08 20:16:16 -06:00
Bryan Ashby 19e70d1c78
Fix log message & hopefully handle client socket errors better 2019-04-08 20:14:00 -06:00
Bryan Ashby 64de10cbf7
Fix crash if client disconnects/is logged out while door is running 2019-04-05 21:53:30 -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 f41d12c688
+ oputil user rename 2019-02-16 11:03:46 -07:00
Bryan Ashby 83d0daf4b7
Add 'My Messages' module 2019-02-15 21:55:18 -07:00
Bryan Ashby c695c1f4c5
New findMessages() filters 2019-02-15 21:53:18 -07:00
Bryan Ashby 1ca1128df6
Update docs & examples on SSH Private Key (PK) generation 2019-02-15 18:48:16 -07:00
Bryan Ashby 562c73e096
Merge 0.0.9-alpha into develop 2019-02-15 14:43:50 -07:00
FrozenFOXX fd514e9613
Added better description of options for SSH keys 2019-02-15 11:38:33 -08:00
Bryan Ashby f8bbc23951 Add Luciano art for message search 2019-02-15 12:37:17 -07:00
FrozenFOXX 66bd2ce108
Downgraded to AES128
Downgraded to AES128, AES256 does not currently seem to work.
2019-02-15 10:15:37 -08:00
FrozenFOXX 95214b0fb2
Update config.js
Updated the OpenSSL command to use aes256 over des3.
2019-02-14 11:05:02 -08:00
Bryan Ashby a314b40eb8 Update to daily maintenance schedule 2019-02-10 12:31:25 -07:00
Bryan Ashby 6a7aa5acb8 Reset daily stats @ midnight, duh 2019-02-09 10:56:36 -07:00
Bryan Ashby 50c1a60838 File scan improvements
* Support more versions of RAR signatures & file listings
* Better FILE_ID.DIZ, NFO, etc. extraction
2019-02-02 19:04:36 -07:00
Bryan Ashby 8ba80426e3 Better disconnect - should resolve issues with SSH 2019-02-02 10:20:22 -07:00
Bryan Ashby 6aa6712edc Minor achievement event improvements 2019-01-30 23:36:00 -07:00
Bryan Ashby 4bb4a06e66 Fix duplicate announcements for retroactive achievements 2019-01-30 21:01:49 -07:00
Bryan Ashby 8458d47f0c Fix funkyness with theme getting overridden from prefs when using SSH 2019-01-30 20:42:30 -07:00
Bryan Ashby 21b54eda7e Fix interrupt bug when connecting over SSH with multi-node 2019-01-29 21:31:39 -07:00
Bryan Ashby f15629682c Fix outstanding SSH bug seen with NetRunner and SyncTERM with ugly hack: Disable keep-alives 2019-01-29 20:36:45 -07:00
Bryan Ashby 1cd73ec78b Merge branch '0.0.9-alpha' of github.com:NuSkooler/enigma-bbs into 0.0.9-alpha 2019-01-26 15:30:41 -07:00
Bryan Ashby 6193dca58a Stats that are numbers should be formatted 2019-01-26 12:57:29 -07:00
Bryan Ashby bec497b209 totalCount & totalPoints should be numbers 2019-01-26 12:57:07 -07:00
Bryan Ashby c98e1474d0 Add totalPoints, totalCount 2019-01-26 12:05:07 -07:00
Bryan Ashby 3450500d27 factory() should not crash if data is null 2019-01-26 12:04:59 -07:00
Bryan Ashby 0efa148f63 Better incrementUserStat() 2019-01-24 21:54:16 -07:00
Bryan Ashby eea9e7b5e6 Don't use Errors 2019-01-24 21:53:45 -07:00
Bryan Ashby aa9cd8899c New 'userStatIncNewVal' achievement type 2019-01-24 21:53:31 -07:00
Bryan Ashby ae2a225e3a Module for listing user achievements earned 2019-01-22 21:55:28 -07:00
Bryan Ashby 4f0ade6ce1 * getAchievementsEarnedByUser() exported as standard method using global inst
* Added timestamp info
2019-01-22 21:54:37 -07:00
Bryan Ashby 4b763cc369 Spelling 2019-01-22 21:54:12 -07:00
Bryan Ashby b45cccaef7 Don't real-time interrupt while you interrupt... yo dawg. 2019-01-22 20:19:05 -07:00
Bryan Ashby 16e903d4c6 Achievements are now recorded in more detail such that they can be retrieved *as they were* at the time of earning 2019-01-20 21:58:00 -07:00
Bryan Ashby 18a7a79f14 TopX mciMap standardized on "value" vs (propName, logName, etc.) 2019-01-20 21:57:31 -07:00
Bryan Ashby 34f0afc175 Fix INSERT clause for cases of overlap 2019-01-20 12:22:42 -07:00
Bryan Ashby 4696bd9ff2 Fix PCBoard/WildCat! color codes 2019-01-18 23:46:15 -07:00
Bryan Ashby 0457a6601f Better door tracking
* Send event info with door run time & door tag
* Only if >= 45s
* Only log minutes if >= 1
* No timer required; track only @ door exit time
2019-01-18 23:12:01 -07:00
Bryan Ashby 7776391184 Door utility and door tracking
* Require >= 45s of time in a door before it counts as "run"
2019-01-18 22:09:10 -07:00
Bryan Ashby 4e1997302e Fairly functional 2019-01-17 21:27:37 -07:00
Bryan Ashby 2a3271ef4e Fix some events 2019-01-17 21:27:25 -07:00
Bryan Ashby 39e7fe5d69 + WIP TopX module 2019-01-17 20:18:23 -07:00
Bryan Ashby dc70521057 + New, more detailed user event log entries that can be summed/etc.
* Last callers indicators now use new user event log entries
2019-01-17 20:18:02 -07:00
Bryan Ashby 7c6e3e3ad4 Cleanup, notes, etc. 2019-01-17 20:14:59 -07:00
Bryan Ashby 483e7f4ee9 Add global boolean to node sent event 2019-01-17 20:14:33 -07:00
Bryan Ashby 680898b56b Add minutes used to logoff event 2019-01-17 20:13:49 -07:00
Bryan Ashby 6408e40604 Fix minor typo 2019-01-13 19:10:54 -07:00
Bryan Ashby 403ee891d5 Change column name, drop a useless one 2019-01-13 18:19:00 -07:00
Bryan Ashby 90137819dd Merge branch '0.0.9-alpha' of ssh://numinibsd/git/base/enigma-bbs into achivements-0.0.9-alpha 2019-01-12 23:00:27 -07:00
Bryan Ashby d5bd2d5adf Experimental UTF-8 -> CP437 (aka nix -> ansi) override to work around terms such as NR that report 'xterm' but want CP437 2019-01-12 10:31:03 -07:00
Bryan Ashby 3f2e836a83 Minor fixes 2019-01-10 21:41:32 -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 091a9ae2c7 Fix some bugs, clean up, etc. in achievements 2019-01-09 20:07:59 -07:00
Bryan Ashby b96fa154c0 Spelling 2019-01-09 20:07:27 -07:00
Bryan Ashby 83c57926d3 Never interrupt during upload 2019-01-09 20:06:55 -07:00
Bryan Ashby c9af0edef8 resetScreen() vs clearScreen() 2019-01-09 20:06:30 -07:00
Bryan Ashby 34c9178099 Achievement & Event improvements
* User stat set vs user stat increment system events
* Proper addMultipleEventListener() and removeMultipleEventListener() Events APIs
* userStatSet vs userStatInc user stat achievement types. userStatInc for example can be used for door minutes used
2019-01-06 21:56:12 -07:00
Bryan Ashby 925ca134c6 Door stats for CombatNet module 2019-01-06 18:01:03 -07:00
Bryan Ashby 99a95e7648 Door stats to Exodus module 2019-01-06 17:50:22 -07:00
Bryan Ashby 8315b62199 Door stats to BBSLink module 2019-01-06 17:42:07 -07:00
Bryan Ashby f653d83c14 Implement retroactive achievements (for userStat types so far) 2019-01-06 10:41:04 -07:00
Bryan Ashby 2b802cb534 Better theming for achievements 2019-01-05 22:51:16 -07:00
Bryan Ashby 22b7fdd65c Add door stats & new mini format styles
+ Door runs stat
+ Door run minutes stat
+ Door runs MCI
+ Door run friendly duration MCI
+ durationHours/Minutes/Seconds mini format styles
2019-01-05 21:17:53 -07:00
Bryan Ashby 9d39e99c5a Update copyright 2019-01-05 21:17:18 -07:00
Bryan Ashby 3d07f763d1 Achievement improvement & more achievements 2019-01-05 19:04:19 -07:00
Bryan Ashby f56a72e0c3 Start of theming of achievements
+ default text/SGR styles can now be set for quick customization of colors
2019-01-05 16:55:37 -07:00
Bryan Ashby 2bd51c0725 Achievements are now in 'achievements.hjson'
+ Config.general.achievementFile
* Implement (re)caching (aka hot-reload)
* Update values a bit
2019-01-05 12:18:44 -07:00
Bryan Ashby c332b0f3ec WIP on user achievements
+ Add MCI codes for points/count
+ Add docs for MCI codes
+ Record in stats, stat log, etc.
* Do not trigger more than once
* Code cleanup & organization, add classes, etc.
* Tweaks to DB table
2019-01-05 10:49:19 -07:00
Bryan Ashby 6410637359 Don't allow real time interrupt until ready 2019-01-03 22:03:00 -07:00
Bryan Ashby 10517b1060 Progress on achivements
* Fetch art if available
* Queue local and/or global interrupts
* Apply text formatting
* Bug exists with interruptions in certain scenarios that needs worked out
2019-01-03 21:03:08 -07:00
Bryan Ashby bd03d7a79b Fix comment 2019-01-03 21:02:57 -07:00
Bryan Ashby ea055ab58b Handle pause for text-only interruptions also 2019-01-03 21:02:42 -07:00
Bryan Ashby 9f728a2e94 Fix longstanding bug with node IDs 2019-01-03 21:02:21 -07:00
Bryan Ashby a34dab6a73 WIP on user achievements
* Hook up events for testing
* Start to plug in experimental interrupt
2019-01-02 22:13:42 -07:00
Bryan Ashby c5a72c7356 TODO notes 2019-01-02 20:08:00 -07:00
Bryan Ashby eaace9a81d TODO notes 2019-01-02 20:07:46 -07:00
Bryan Ashby b23cdd20bf Listen to 'env' events 2019-01-02 19:52:15 -07:00
Bryan Ashby 4fb7c4bf53 Some minor cleanup 2018-12-31 11:33:14 -07:00
Bryan Ashby 0230d9958c Better screen size detection when NAWS/etc. fails:
Ask to move cursor to 999,999. We expect that we'll really get something like 80x25 generally. *Then* issue
special DSR that should give us screen size. We should get a good "bottom right" aka screen size either way.
2018-12-31 11:30:40 -07:00
Bryan Ashby 78484a2352 Compare SAUCE for --update propertly 2018-12-29 13:28:08 -07:00
Bryan Ashby 6b02ddbdae Fix FILE_ID.DIZ (and other) display issues when ANSI is stored with specific term width in SAUCE
+ Preserve SAUCE records of desc/long_desc during import (in meta)
* Use SAUCE term width for ANSI Prep when displaying desc
2018-12-29 13:15:58 -07:00
Bryan Ashby 046550842b ACS changes in prep for checking from ie content servers such as NNTP
* ACS now takes subject { client, user }
* ACS checks now consider client/user optional & checks fail (return false) if an object is not available
2018-12-28 10:39:41 -07:00
Bryan Ashby 8d46a305c5 Add IP address to failed login attempts 2018-12-27 14:16:59 -07:00
Bryan Ashby 3864d957c9 * Servers now use async listen() 2018-12-27 02:46:16 -07:00
Bryan Ashby 9d1815682d * ServerModule's createServer() is now async
* Re-write of NNTP Message-ID <> internal message UUIDs
2018-12-27 02:19:26 -07:00
Bryan Ashby ee93035bb8 * Disconnect clients that attempt to login with banned usernames for Telnet as well
* Slow disconnects to thwart brute force attacks - these names won't exist anyway,
  but we want the attacking client to not DoS us
2018-12-25 00:18:04 -07:00
Bryan Ashby 06a1925288 Check bad usernames @ login 2018-12-24 15:32:38 -07:00
Bryan Ashby 73e8b0454e Wrap ctx.reject() and catch throws 2018-12-24 15:14:37 -07:00
Bryan Ashby c6e176f5bd Add oputil fb desc 2018-12-21 14:39:57 -07:00
Bryan Ashby f4088303ca cleanControlCodes -> stripAnsiControlCodes 2018-12-17 22:08:59 -07:00
Bryan Ashby eeaeef9a8c Yet another FILES.BBS type 2018-12-17 21:39:25 -07:00
Bryan Ashby 1f5ec39778 Strip pipe codes! 2018-12-17 21:39:10 -07:00
Bryan Ashby 03662dc056 Fix major durp in code with CNET codes 2018-12-17 21:38:09 -07:00
Bryan Ashby 098e3c2fba More FILES.BBS support 2018-12-17 17:23:02 -07:00
Bryan Ashby 84ca97e936 FILES.BBS handling improvements - WIP 2018-12-17 15:56:09 -07:00
Bryan Ashby 996fcb389e Minor help update 2018-12-17 12:10:55 -07:00
Bryan Ashby 832e04cdf0 + Initial FILES.BBS support during file scan: A few formats supported so far, more to come...
* Detect DESCRIPT.ION, FILES.BBS, etc. during scans
2018-12-17 12:08:06 -07:00
Bryan Ashby 8356f00ba6 Fix bug when user has been nuked 2018-12-17 11:56:07 -07:00
Bryan Ashby b1eea4f4b7 Some logging updates 2018-12-17 11:20:14 -07:00
Bryan Ashby 12a1809a88 lol fail 2018-12-16 00:40:14 -07:00
Bryan Ashby 422a925daa + oputil.js user info
* Fix up some help messaging
* Don't allow del of +op
2018-12-16 00:26:28 -07:00
Bryan Ashby 6d45d74a47 Little better NNTP config 2018-12-15 23:52:59 -07:00
Bryan Ashby 3eaf4dd0d8 + oputil.js user rm USERNAME
* Fix some of my horrid spelling...
2018-12-15 23:42:19 -07:00
Bryan Ashby cf6e3d3ba8 Better logging 2018-12-15 02:40:36 -07:00
Bryan Ashby b89096fd99 publicPort typo 2018-12-15 02:39:57 -07:00
Bryan Ashby 4b2771012b Show desc if set 2018-12-15 02:06:15 -07:00
Bryan Ashby dba2fc18f6 Strip MCI/Pipe codes 2018-12-15 01:55:38 -07:00
Bryan Ashby a3ba57b0b8 Fix schedule issue 2018-12-14 23:21:33 -07:00
Bryan Ashby b903b2ee82 Better logging 2018-12-14 23:08:53 -07:00
Bryan Ashby 874aee5baa Change listen addr 2018-12-14 23:03:10 -07:00
Bryan Ashby 772022f0d0 + NNTP Content Server
* Read-only to public conf/areas only for now
* Missing some protocol support
* Could use better encoding practices and ANSI prep
2018-12-14 22:21:57 -07:00
Bryan Ashby cde329b439 Spelling 2018-12-10 21:54:59 -07:00
Bryan Ashby a036f6c6bf Minor code tidy 2018-12-09 02:35:34 -07:00
Bryan Ashby a70d865d74 Code tidy 2018-12-09 02:33:48 -07:00
Bryan Ashby 844286ea1c Use constants 2018-12-09 02:32:41 -07:00
Bryan Ashby 704c242aa4 Fix bug in newScanMessageArea() 2018-12-09 02:32:20 -07:00
Bryan Ashby 167916e8dd Fix bug in findByFullPath() 2018-12-09 02:20:50 -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 a8604ece54 Ensure 'userName' has _something_ if sanatized all the way out 2018-12-09 00:17:03 -07:00
Bryan Ashby 2474e82829 Change default dropfile path to just ./enigma-bbs/drop/ so we can have a shorter name for Win16 binaries 2018-12-08 23:41:42 -07:00
Bryan Ashby ecb0cd8941 Minor door updates 2018-12-08 00:43:20 -07:00
Bryan Ashby 60369ea378 * Note on FILEBONE.NA support
* Notes on importing in file area docs
2018-12-04 20:42:56 -07:00
Bryan Ashby 9c835af000 Initial support for FILEGATE.ZXX / RAID style import of file areas 2018-12-03 23:51:43 -07:00
Bryan Ashby 0c23339a2d Code cleanup: Use EnigError's vs standard Error. WIP... 2018-12-02 19:33:07 -07:00
Bryan Ashby 5dea13e652 + validateConfigFields() for 'config' block validation 2018-12-02 19:30:50 -07:00
Bryan Ashby 36d55a409e Add send node msg event 2018-12-01 17:00:07 -07:00
Bryan Ashby eec06e7004 Fix oops! 2018-12-01 16:59:47 -07:00
Bryan Ashby fe44f2c4d6 User interrupts & node module ready to rock. ...maybe with bugs? 2018-11-30 23:20:44 -07:00
Bryan Ashby d9238ee6a5 Merge branch '0.0.9-alpha' of github.com:NuSkooler/enigma-bbs into user-interruptions 2018-11-29 21:17:31 -07:00
Bryan Ashby 6d2c095976 Fix cb 2018-11-27 22:01:14 -07:00
Bryan Ashby 098c24e48a Fix D/L stats 2018-11-27 21:29:35 -07:00
Bryan Ashby 6cce013187 + MCI: PT - total messages posted today (non-private)
+ MCI: TP - total messages/posts on system (non-private, includes imports, only counts *current*, not all of time)
* Move some stats to startup() calls
* Fix some DATE() comparisons in SQL to use 'localtime' as our timestamps include TZ
* Update luciano_blocktronics SYSSTAT to show more info
2018-11-27 21:21:00 -07:00
Bryan Ashby fb13381bb5 Default back to 'forever' for login history. It's small data... 2018-11-27 19:45:36 -07:00
Bryan Ashby 4b5f26b31b Record offeset again... dur 2018-11-25 20:31:25 -07:00
Bryan Ashby e606ec6f63 Fix ISO timestamps hopefully 2018-11-25 20:29:36 -07:00
Bryan Ashby f471fd0ebe Finally implement "Total Calls Today" MCI: TT
+ Add findSystemLogEntries() to StatLog amongst others
2018-11-25 20:13:48 -07:00
Bryan Ashby ec97b3e8d4 More user/system stat constants & usage 2018-11-25 19:05:16 -07:00
Bryan Ashby 596026d1ce Merge branch '0.0.9-alpha' of github.com:NuSkooler/enigma-bbs into user-interruptions 2018-11-25 10:42:12 -07:00
Bryan Ashby e464f95924 UT MCI now displays theme name, UD displays ID 2018-11-25 10:35:05 -07:00
Mike Ralphson 546fbbd533
oputil_help; correct references to optutil 2018-11-25 13:59:12 +00:00
Bryan Ashby c0de3d7048 Merge branch '0.0.9-alpha' of github.com:NuSkooler/enigma-bbs into user-interruptions 2018-11-24 20:26:19 -07:00
Bryan Ashby 2c4fdfdd5f * Moved oputil.js config import-areas to 'oputil.js mb import-areas'
* 'oputil.js mb import-areas' now *optionally* binds areas to FTN networks. Otherwise only areas are imported
2018-11-24 20:02:19 -07:00
Bryan Ashby 1dafa2854b Fix initial load introduced last nigth :( 2018-11-24 09:39:53 -07:00
Bryan Ashby 2fb3ce83a3 Spelling... 2018-11-24 09:33:20 -07:00
Bryan Ashby 36e9356663 Merge branch '0.0.9-alpha' of github.com:NuSkooler/enigma-bbs into user-interruptions 2018-11-23 22:19:18 -07:00
Bryan Ashby f80e07fcf9 ...and more UserProps 2018-11-23 22:18:15 -07:00
Bryan Ashby d11aca571e Yet more UserProps usage 2018-11-23 22:02:36 -07:00
Bryan Ashby 4050affedf More conversion to UserProps 2018-11-23 17:41:16 -07:00
Bryan Ashby b82c640014 Work on using UserProps, fix up ISO timestamps, etc. 2018-11-23 14:47:18 -07:00
Bryan Ashby f45e785da1 oputil.js user activate <name> will now unlock accounts 2018-11-23 12:02:41 -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 1f9b963e76 Fix typo 2018-11-22 10:10:53 -07:00
Bryan Ashby 20e9d9ad7e Actually log spawn() failure in Event Scheduler 2018-11-21 22:21:24 -07:00
Bryan Ashby ec1ce3062e Catch bad spawn 2018-11-21 21:24:11 -07:00
Bryan Ashby 472968e81d Cleaner code 2018-11-21 19:50:03 -07:00
Bryan Ashby 9fd819d608 Resolve TODO RE using EnigError for bad login attempts 2018-11-21 19:43:50 -07:00
Bryan Ashby ebc70907d4 Newest messages first when listing msgs from Gopher 2018-11-21 17:55:31 -07:00
Bryan Ashby 3af5b6f509 * Word wrap messages when output via Gopher server
* Fix Gopher startup banner default
2018-11-20 21:02:30 -07:00
Bryan Ashby 3fd526da6f Fix some spelling 2018-11-20 21:01:39 -07:00
Bryan Ashby ec1f437dd9 Fix DEP0005 during file base scan 2018-11-19 20:16:30 -07:00
Bryan Ashby 370f8039db * Use itemFormat/focusItemFormat for set newscan message/file conf/areas
* Docs for set_newscan_date module
2018-11-18 14:19:34 -07:00
Bryan Ashby b34294fbef * Docs + itemFormat/focusItem format for web download manager
* Fix some typos
2018-11-18 12:02:57 -07:00
Bryan Ashby e316b5fe80 Add File Base Download Manager docs 2018-11-18 01:56:40 -07:00
Bryan Ashby 2a95849f7d Add default keys for show art by message/file conf/areas 2018-11-17 21:04:00 -07:00
Bryan Ashby b3ec97cc5c Art asset ACS conditional cleanup: Make more general purpose 2018-11-17 18:56:09 -07:00
Bryan Ashby ac0f54dc9b Better MCI handling 2018-11-17 13:24:16 -07:00
Bryan Ashby 8702e309ae Fix bug in default config / user config merging: Some arrays should be replaced while others should be merged 2018-11-17 13:14:51 -07:00
Bryan Ashby f4b03826b0 Fix --version 2018-11-15 22:21:45 -07:00
Bryan Ashby f9429dd2e6 Move where passwordChar lives 2018-11-15 20:32:08 -07:00
Bryan Ashby 080d1727c2 WIP on real-time interruptions (ie: incoming message)
Still need work on *when* they are allowed with good defaults, etc.
2018-11-14 22:47:20 -07:00
Bryan Ashby 4025c3c643 Merge branch '0.0.9-alpha' of ssh://numinibsd/git/base/enigma-bbs into user-interruptions 2018-11-14 22:05:23 -07:00
Bryan Ashby cc9c143927 Cleanup & prep for real-time interrupt 2018-11-14 22:04:29 -07:00