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