Commit Graph

183 Commits

Author SHA1 Message Date
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 8ba80426e3 Better disconnect - should resolve issues with SSH 2019-02-02 10:20:22 -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 6408e40604 Fix minor typo 2019-01-13 19:10:54 -07:00
Bryan Ashby c5a72c7356 TODO notes 2019-01-02 20:08:00 -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 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 f4088303ca cleanControlCodes -> stripAnsiControlCodes 2018-12-17 22:08:59 -07:00
Bryan Ashby 1f5ec39778 Strip pipe codes! 2018-12-17 21:39:10 -07:00
Bryan Ashby b1eea4f4b7 Some logging updates 2018-12-17 11:20:14 -07:00
Bryan Ashby 6d45d74a47 Little better NNTP config 2018-12-15 23:52:59 -07:00
Bryan Ashby cf6e3d3ba8 Better logging 2018-12-15 02:40:36 -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 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 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 74b03fe846 Fix exception when no SSH stuff is configured 2018-11-12 22:05:36 -07:00
Bryan Ashby 25560cb47a SyncTERM SSH support
+ Enabled all ssh2-streams supported KEX, ciphers, etc. for now. Will communicate with Deuce about this.
2018-11-04 19:29:51 -07:00
Bryan Ashby 3f34f77fcd Implement fake pipe() for WebSocket (doors/etc.) 2018-07-08 11:23:56 -06:00
Bryan Ashby 89bce2c23c trace -> debug for Gopher access logs 2018-07-07 20:02:26 -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 2f09f3e995 Fix a couple rare bugs around SSH sessions 2018-06-14 20:00:01 -06:00
SemperFu 9385cd2c93
Update telnet.js
Spelling
2018-05-12 15:59:28 -04:00
Bryan Ashby 388e581b90 * Fix file transfer bug for WebSockets and SSH. Set/restore temp data handler belongs in base client.
* Lint some files
2018-05-12 09:33:41 -06:00
Bryan Ashby b2ae81c59e
Merge pull request #183 from davestephens/0.0.9-node10
Node.js 10 Upgrade. Bazinga!
2018-04-29 17:31:18 -06:00
Bryan Ashby 73e3e0f0c9 Merge branch '0.0.9-alpha' of github.com:NuSkooler/enigma-bbs into 0.0.9-alpha 2018-04-29 09:08:00 -06:00
David Stephens f16eb6f3e6 Fix Node.js 10 deprecation warnings 2018-04-28 13:59:07 +01:00
Bryan Ashby 0b77c1f79e Better notFoundGenerator 2018-04-24 20:07:02 -06:00
Bryan Ashby 69ced917f3 Bind notFoundGenerator 2018-04-24 19:58:59 -06:00
Jason Kendall 7ac388c30d
Force no compression
It appears as tho there is a problem with compression and the upstream library. This PR forces no compression mode, making a work around for #181. 

This work around is derived from https://github.com/mscdex/ssh2/issues/594 which may be the cause for #181 as well.
2018-04-24 08:30:14 -04:00
Bryan Ashby a0cd8fed83 Websocket config should be similar to web #176 2018-04-23 19:03:35 -06:00
Bryan Ashby a1f55e5ad5 Webserver Crashes accessing Directory #177 2018-04-23 18:41:12 -06:00
Bryan Ashby 695e84e16f * Remove "LastLine" indicator - does not seem to be used in practice/is not required
* Add logging to Gopher
2018-04-16 19:29:25 -06:00
Bryan Ashby f557e5b6e0 Minor Gopher updates 2018-04-16 17:10:19 -06:00
Bryan Ashby 8ee573fb9d Initial commit of Gopher contnet server 2018-04-15 20:25:56 -06:00
Bryan Ashby 290b391bf8 Fix TypeError: cb is not a function during ping 2018-03-14 20:26:40 -06:00
Bryan Ashby 94f3721bf8 Prompt when already logged in 2018-01-21 20:49:38 -07:00
Bryan Ashby 8bfad971a1 Finish conversion from 'binary' -> 'binary-parser'
* FTN packets
* SAUCE
2018-01-21 11:58:19 -07:00
Bryan Ashby 7af30ea112 Proceed telnet login even if term type is not received [right away]; Allows older DOS terms to function 2017-11-28 20:17:44 -07:00
Bryan Ashby a5f72a345c Fix Content-Type 2017-10-29 21:02:36 -06:00
Bryan Ashby 4b0ef85432 Allow index.html in root 2017-10-29 20:04:10 -06:00
Bryan Ashby e55b4aa50b Return event in unknownOption() 2017-10-29 20:03:33 -06:00
Bryan Ashby 42d6190802 Additional logging 2017-09-08 23:36:26 -06:00
Bryan Ashby 3c40cb0766 Fix WONT/DONT cycle seen with EtherTerm 2017-09-01 17:42:20 -06:00
Bryan Ashby c63a32a9ba Handle lack of command in odd state 2017-08-19 13:59:09 -06:00
Bryan Ashby c7ff033737 Assert we have a buffer 2017-08-19 13:57:02 -06:00
Bryan Ashby 0ebf839822 Fix undefined ref 2017-08-18 21:50:41 -06:00
Bryan Ashby 3f4ce1c0f4 Merge branch 'master' of ssh://numinibsd/git/base/enigma-bbs into 0.0.7-alpha 2017-08-14 21:22:36 -06:00
Bryan Ashby b7ca78ebc4 Fix WebSocket disconnect 2017-08-14 21:22:03 -06:00
Bryan Ashby 9720258303 Merge branch 'master' of github.com:NuSkooler/enigma-bbs into 0.0.7-alpha 2017-08-06 10:33:53 -06:00
Bryan Ashby d5954f8198 #118: Crash on STDIO doors when logged in via WebSocket 2017-08-06 10:20:55 -06:00
Bryan Ashby 848b0f7cf6 EnigAssert() vs assert() and fix a logging issue 2017-07-30 14:31:16 -06:00
Bryan Ashby 429e03185c Merge from master 2017-07-23 13:05:28 -06:00
Bryan Ashby d57ca0873e * File Base newscan basic functionality
* Try to handle unknown options in telnet server
2017-07-17 19:46:38 -06:00
Bryan Ashby 7c81cbed51 Fix route handling for HTTPS 2017-06-22 22:20:05 -06:00
Bryan Ashby 7343ab2ff2 Updated Events - use glob for finding nested modules/etc. 2017-06-22 22:19:34 -06:00
Bryan Ashby 64aa63e8b5 Fix disconnect of WebSocket 2017-06-06 20:04:28 -06:00
Bryan Ashby ff5896e80c Fix proxied check for remoteAddress 2017-06-01 18:56:05 -06:00
Bryan Ashby ab8cb77f81 * secureProxy -> proxied in webSocket config
* Add support for X-Forwarded-For and X-Real-IP in WebSocket for remoteAddr
2017-06-01 18:48:14 -06:00
Bryan Ashby 385edc0953 X-Forwarded-Proto isSecure override option 2017-05-31 22:13:44 -06:00
Bryan Ashby 74bab3d6c5 Better configuration for WebSockets 2017-05-30 21:31:35 -06:00
Bryan Ashby 2e18833014 Working WebSocket connections - not yet complete, but working well 2017-05-26 08:25:41 -06:00
Bryan Ashby 019596d709 Convert to using graceful-fs vs vanilla fs module 2017-05-19 21:20:19 -06:00
Bryan Ashby f5899bc10f * Bump version to 0.0.5-alpha
* Add email password reset support
2017-02-26 21:28:05 -07:00
Bryan Ashby 9bb28b36cd Crash on Telnet Bridge connecting to Tradewars server #105 2017-02-22 23:20:05 -07:00
Bryan Ashby 6406d32165 Handle (default) case of web server being disabled in file areas/web link generation 2017-02-18 09:56:23 -07:00
Bryan Ashby 6a684266a2 Fix crash when file does not exist... and 404 page contents don't exist :) 2017-02-16 21:09:53 -07:00
Bryan Ashby 6285193545 Very minor fixes 2017-02-16 20:53:14 -07:00
Bryan Ashby f9e91987ac Better arg parsing for main 2017-02-09 21:08:23 -07:00
Bryan Ashby 92772eb1a9 * Added ability to serve static files from web server
* Web server can have custom error pages, e.g. 404.html
* "file_area" stuff -> "file_base"
* Fix some rare bugs in theme/art loading
* Adjust tab order dynamically for file upload details
2017-02-04 09:20:36 -07:00
Bryan Ashby 1c03c3021a * Temporary fix for MAJOR global temp cleanup bug: comment out node-temp .cleanup() methods
* Don't move temp uploads to area directory until user submit/completed
* New file util module
2017-01-23 23:32:40 -07:00
Bryan Ashby 8d51c7d47c * Additional helpers to MenuModule
* Gzip signature (.gz)
* Switch to sha-256 vs sha1 for internal file hashes
* Nearly complete callback / scan update support for scanFile()
* Fix data input issue after performing upload
* Support 'sz' recv (uploads)
2017-01-21 22:09:29 -07:00
Bryan Ashby 0a92eec5e8 * WIP on upload support - protocols, modules, etc.
* Ability for KeyEntryView to only show specific/allowed keys
* Start moving/adding common methods to MenuModule vs boilerplate code
* menuFlags: String|StringArray: flags for menus, e.g. new 'noHistory' flag to prevent appending to history/stack
* New download stats/MCI codes
* Ability to redirect input stream to [protocols] temporairly
2016-12-31 14:50:29 -07:00
Bryan Ashby a7c0f2b7b0 * Add FileBaseFilters
* Add HTTP(S) file web server with temp URLs
* Get temp web d/l from file list
* Add File area filter editor (all file area stuff will be rename to file "base" later)
* Concept of "listening servers" vs "login servers"
* Ability to get servers by their package name
* New MCI: %FN: File Base active filter name
* Some ES6 updates
* VC resetInitialFocus() to set focus to explicit/detected initial focus field
* Limit what is dumped out when logging form data
2016-10-24 21:49:45 -06:00
Bryan Ashby 9f22117e49 * Move login servers to core/servers/login 2016-09-19 21:28:50 -06:00
Bryan Ashby caa9137162 * Move login servers to core/servers/login
* A bit of minor changes related to upcoming file areas --- will likely branch before anything major
* Clean up database.js a bit
2016-09-19 21:28:21 -06:00
Bryan Ashby 70d1eb8d91 Update ssh2 3rd party module & ssh.js local server 2016-09-11 16:21:27 -06:00
Bryan Ashby f7c21baa52 * FSE quote format is now configurable and random if there are 2:n available
* Remove old 3rd party string-format & replace with string_format.js version
* Some fix some bugs with string_format.js padding, width, and number format
2016-09-04 21:36:26 -06:00
Bryan Ashby e7ba6c406e * Introduce MCI cache: Art files are hashed and MCI info (per client) is cached. Term resizes invalidate the cache
* Bring in farmhash for art file hashing (and perhaps other uses soon)
* Re-write of art.js display(). Better system, use MCI cache, etc.
* Update package.json engines node req.
2016-08-31 22:06:28 -06:00
Bryan Ashby d50e505bd7 * Allow for clients such as ConnectBot that see "home" as 0,0 vs ANSI-BBS standard 1,1 by offsetting CPR values
* Some code cleanup
* Don't assert in View.js setPosition(); Instead, sanatize values
2016-08-14 11:45:31 -06:00
Bryan Ashby e19b725aa8 Various cleanup WIP 2016-07-17 22:16:15 -06:00
Bryan Ashby dfb4f17c5f * Resp DONT to WONT NEW-ENVIRONMENT 2016-07-10 22:14:30 -06:00
Bryan Ashby 6ffef26cbf Start of cleanup 2016-07-09 20:09:03 -06:00
Bryan Ashby b91c9771fc * Updated Message Network docs
* .ANS files updated from attributes
2016-03-20 21:34:39 -06:00
Bryan Ashby 93a28f4b7b Rename debugConnections -> traceConnections 2015-12-07 21:45:48 -07:00