Bryan Ashby
9e9dc9af89
A lot of code tidy up
2020-06-15 19:08:55 -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
438a3161d0
Fix up remoteAddress for WebSocket connections
2020-05-27 21:31: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
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
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
cd3b8d5e76
Low hanging fruit: Don't re-create binary parsers constantly
2019-12-05 20:48:13 -07:00
Bryan Ashby
c9ff904b2b
Fix various minor mistakes
2019-11-08 19:20:14 -07:00
Bryan Ashby
3eed388e33
BBSLink + WebSockets does not update key press monitor
2019-07-11 22:49:15 -06:00
David Stephens
65b48a2af2
Fix MRC prettyBoardName and /INFO
2019-06-22 23:16:08 +01: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
487968dac9
Fix my previous dumb
2019-06-09 09:19:34 -06:00
David Stephens
43e22cfc74
Turn off debug logging of MRC message sending
2019-06-05 23:41:28 +01:00
David Stephens
8153473b89
Dial down MRC logging
2019-05-31 22:00:48 +01:00
David Stephens
19e10bb096
Tweak to MRC handshake
2019-05-31 21:19:29 +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
David Stephens
109b157c02
more MRC bug squashing and tidy up
2019-05-26 00:14:36 +01: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
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
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
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
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
Bryan Ashby
ecaee4fe2f
* Handle RFC 779 SEND_LOCATION in telnet
2015-12-06 15:25:10 -07:00
Bryan Ashby
349549fae2
* Add .gitignore
...
* Use 'privateKeyPem' and 'privateKeyPass' for SSH
2015-10-27 20:46:30 -06:00
Bryan Ashby
4988559569
* Fix 'newMark' -> 'newIndicator' in message list
...
* Better Telnet trace filter similar to SSH
2015-10-22 13:01:16 -06:00
Bryan Ashby
e9836e18db
* New user reserved names now direct to applicaiton process for SSH
2015-10-22 12:22:03 -06:00
Bryan Ashby
93cff52c1f
* Allow SSHPMPT.ASC for displaying SSH/secure app info/instructions
2015-10-22 11:04:50 -06:00
Bryan Ashby
12e7722ec9
* Better place to get server name/type
...
* Servers export 'isSecure'
2015-10-22 00:03:18 -06:00
Bryan Ashby
ad4eea6ba7
* SSH is now functional for 'ssh', PuTTY, SyncTerm, EtherTerm, and hopefully most others
...
* Explicit detect of syncterm as ANSI
* Add serverType (TELNET, SSH) MCI: %ST
2015-10-21 22:51:35 -06:00
Bryan Ashby
e7e9746a85
* Rewrite SSH authentication - now works with PuTTY (thoguh there are some issues) and standard ssh. WIP still!
...
* Idle monitor not started until 'ready' signal
2015-10-21 16:30:32 -06:00
Bryan Ashby
6a2d283fad
* WIP on SSH2 access: Linux ssh can now connect, browse, etc.
...
* Still issues with other terminals such as EtherTERM which just hangs after auth. Does not seem to send the 'shell' event
* Fix typo in msg_list module
2015-10-20 22:37:39 -06:00
Bryan Ashby
0f1fe31fe5
* SSH semi functional
2015-10-20 15:39:33 -06:00
Bryan Ashby
3833f9910e
* Update some packages
...
* Still trying to figure out ssh2
2015-10-19 22:33:11 -06:00