Commit Graph

500 Commits

Author SHA1 Message Date
Bryan Ashby 1417b7efdd * Fix messages with no origin line
* Fix end of message/termination detection for FTN packets
* Start of archive support -- one use will be FTN archives
* Work on FTN ArcMail/bundles
2016-02-23 21:56:22 -07:00
Bryan Ashby a858a93ee1 * FTN BSO module: Export to <domain>.<zone> dirs where appropriate
* Code cleanup
* Fix FTN packet header writing
* Add CHRS support to FTN packet I/O
* Change to FNV-1a hash of ms since 2016-1-1 ("enigma epoc") + message ID for MSGID serial number and <packet>.pkt BSO export
* Only write some FTN kludges for EchoMail (vs NetMail)
* If config specifies, call message network modoule(s) .record() method @ persist (WIP)
2016-02-20 17:57:38 -07:00
Bryan Ashby 74f5342997 * msg_network.js: Management of message network modules (start/stop/etc.)
* Minor updates to ES6 in some areas
* Better bbs.js startup seq
* Better iterator support for loadModulesForCategory()
* Start work on loading message network modules & tieing in record() (WIP)
* FTN PacketHeader is now a ES6 class
* Various FTN utils, e.g. Via line creation
2016-02-16 22:11:55 -07:00
Bryan Ashby 13d5c4d8f4 * New Address class for FTN addresses + experiment with ES6 classes
* Move a lot of address functionality/parsing/etc. to Address
* WIP on ftn_bso scan/tosser
* PATH and SEEN-BY creation, parsing, etc.
2016-02-15 17:56:05 -07:00
Bryan Ashby 7b5ab029f9 Many updates to read/write of packets of diff versions 2016-02-10 22:24:46 -07:00
Bryan Ashby dec78e942d * Reworked FTN packet I/O (WIP)
* Detect FTN packet 2, 2.2, and 2+
* Various FTN utils (MSGID, Origin, PID, generation etc)
* More work on message network readyness
2016-02-09 22:30:59 -07:00
Bryan Ashby 317af8419a Major commit for new message network WIP 2016-02-02 21:35:59 -07:00
Bryan Ashby 6750c05f07 Beter group check and isAuthenticated() 2016-01-30 15:26:19 -07:00
Bryan Ashby 794c885ac1 * Add new method for getting online/active node information
* Use new online method for whos online
2016-01-30 15:18:55 -07:00
Bryan Ashby e8a729cebd Remove break me nonsense 😁 2016-01-22 22:16:25 -07:00
Bryan Ashby 12414d0d7a Fix some bugs with merging when no explicit form defined 2016-01-16 19:04:17 -07:00
Bryan Ashby 5700ff27ba Missing changes for theme fixes 2016-01-14 22:58:56 -07:00
Bryan Ashby ea820dbbbb Missing config_util.js 2016-01-14 22:56:21 -07:00
Bryan Ashby 4fdd3dbbfe MAJOR CHANGE to theming system:
* Less complex
* Themes are only loaded once. Users share avail themes[] objects
* Themes are applied to configuration _once_
* Users can switch themes in configuration
* Other related improvements
2016-01-14 22:44:33 -07:00
Bryan Ashby ef047bc515 Use === for comparison 2016-01-04 23:33:03 -07:00
Bryan Ashby 36c995018d Add getCount() and getItems9) 2016-01-04 23:32:43 -07:00
Bryan Ashby 9ce2991216 Better handling of quote builder - do not wrap back up to start when appending lines; Final line closes the builder (experimental) 2016-01-04 23:32:01 -07:00
Bryan Ashby dd82a24e56 Newscan functionality for messages in working state 2016-01-03 19:40:34 -07:00
Bryan Ashby 63019e9338 Fixes to last read ID updates and DRY 2016-01-03 17:47:39 -07:00
Bryan Ashby 9306b6e38c * Update last read ID even for private_mail
* Allow options.config or extraArgs for various configuration
2016-01-03 17:46:32 -07:00
Bryan Ashby f3b98c5644 Fix callback, add some WIP commented out concepts 2016-01-03 15:53:27 -07:00
Bryan Ashby a4cd689697 Updated new scan WIP 2016-01-02 18:35:13 -07:00
Bryan Ashby 484ccdc014 Fix to/from user ID meta 2016-01-02 18:34:50 -07:00
Bryan Ashby 3056d6c742 Add some note 2016-01-02 18:34:12 -07:00
Bryan Ashby 79cb65304d Some minor improvements for NetRunner + fix RE: RE: RE bug 2016-01-02 13:40:02 -07:00
Bryan Ashby f292944992 Add callbacks to write methods 2016-01-02 12:11:40 -07:00
Bryan Ashby 7b521d8699 removeClient() at logoff() 2016-01-02 12:10:54 -07:00
Bryan Ashby b3e1490d63 Add username to client.log 2016-01-01 21:17:13 -07:00
Bryan Ashby 1212eb41eb Semi functional for basic private mail 2015-12-30 23:24:26 -07:00
Bryan Ashby ac6288eb23 Notes 2015-12-30 22:29:41 -07:00
Bryan Ashby 92c33d2d43 Add WIP method getNewMessagesInAreaForUser() 2015-12-30 22:29:10 -07:00
Bryan Ashby 7fb9cdccb1 Add local_bulletin message area type 2015-12-30 22:28:25 -07:00
Bryan Ashby db014c16bf Backup restore() when 'close' fails to fire 2015-12-28 16:34:28 -07:00
Bryan Ashby eca82b66d4 Better loading of themes & getAvailThemes() 2015-12-24 11:56:04 -07:00
Bryan Ashby 37bba84cb4 Missing ; 2015-12-24 11:55:37 -07:00
Bryan Ashby edcee5eb6a setNewAuthCredentials() method 2015-12-24 11:54:55 -07:00
Bryan Ashby a9490d8fd2 Formatting 2015-12-24 11:54:38 -07:00
Bryan Ashby d2c8bd90f0 setFocusItemIndex() support 2015-12-24 11:54:03 -07:00
Bryan Ashby a2011ef39c setText() for MaskEditTextView 2015-12-24 11:53:34 -07:00
Bryan Ashby 67b0d1a683 User configuration functional 2015-12-24 11:52:23 -07:00
Bryan Ashby fe01a9f15e Additional max lengths for user properties 2015-12-24 11:51:49 -07:00
Bryan Ashby e8c8975f13 Allow hotkeys to submit 2015-12-23 19:08:24 -07:00
Bryan Ashby 3ffccc35da Switch to Renegade style color codes as default pipe code system 2015-12-21 18:07:03 -07:00
Bryan Ashby 727f9fdb1f Fix occasional null ref if client ends before door sock 2015-12-15 23:27:13 -07:00
Bryan Ashby 1404768ed3 Add explicit 'ansi-bbs' as ANSI terminal type 2015-12-14 10:33:15 -07:00
Bryan Ashby 0489f5b2dd * Remove/fix up some console.log()'s 2015-12-13 17:32:05 -07:00
Bryan Ashby b53ad03ad0 Default to luciano_blocktronics for pre-login theme 2015-12-13 16:47:28 -07:00
Bryan Ashby da5d88d20d * Validation framework functional
* Use validation for FSE, NUA, etc.
* Switch to nua.js from apply.js (MenuModule + validation)
2015-12-12 15:52:56 -07:00
Bryan Ashby 0d477210f9 Add Config.general.menuFile: Specify name or path of menu HJSON file. Defaults to menu.hjson in mods 2015-12-11 13:58:58 -07:00
Bryan Ashby bd4c50fa8d Handle SIGINT a bit more gracefully - disconnect clients 2015-12-11 13:57:56 -07:00
Bryan Ashby cb3ae84bc5 Many updates to view validation framework 2015-12-10 21:45:02 -07:00
Bryan Ashby 490d71c180 Remove console.log() 2015-12-10 21:44:36 -07:00
Bryan Ashby 007103cbc1 * New validation methods 2015-12-10 21:44:21 -07:00
Bryan Ashby 34a8bdae21 * Notes on validation framework usage 2015-12-10 21:43:57 -07:00
Bryan Ashby 743035683c * WIP on new view validation framework 2015-12-10 00:04:38 -07:00
Bryan Ashby 964b899fe5 * 'validator' property 2015-12-10 00:03:58 -07:00
Bryan Ashby 93a28f4b7b Rename debugConnections -> traceConnections 2015-12-07 21:45:48 -07:00
Bryan Ashby 4458bcfd37 * Remove inhSocket stuff at least for now: a) It's untested and liekly dangerous, b) does not work with SSH connections 2015-12-07 21:44:42 -07:00
Bryan Ashby 06974973a3 * Make keyboard input trace optional
* Ensure term exists before calling disconnect()
2015-12-07 21:43:37 -07:00
Bryan Ashby 32fe815ea2 Ensure top() exists before attempting to return instance 2015-12-07 19:15:15 -07:00
Bryan Ashby 6af0861dfe * ClientTerminal now has disconnect() method called by a client when a connection ends thus preventing data to be written after 2015-12-07 19:12:31 -07:00
Bryan Ashby 7cc1fe55c0 * Better handling of TOONODE (existing user already logged in) 2015-12-06 20:54:23 -07:00
Bryan Ashby ecaee4fe2f * Handle RFC 779 SEND_LOCATION in telnet 2015-12-06 15:25:10 -07:00
Bryan Ashby 6152530a57 * Add {userId} arg to doors 2015-12-06 15:24:34 -07:00
ENiGMA BBS 58f4af0f11 * Fix defaultHandlerMissingMod for menu load error 2015-12-05 23:22:23 -07:00
Bryan Ashby 406b272de1 Some fixes to doors using sockets. Works on Windows! 2015-12-03 20:31:20 -07:00
Bryan Ashby 5087467eeb * Doors can now optionally spawn a temporary server for I/O (e.g. to be used for virtual serial port for QEMU/etc.) 2015-12-02 22:10:45 -07:00
Bryan Ashby 87b6e245ce Help on message reading #29 2015-11-28 12:17:14 -07:00
Bryan Ashby a1f1578048 System allows non-unique email addresses #7 2015-11-27 22:26:00 -07:00
Bryan Ashby d7c35911e8 * Some DOOR32 updates 2015-11-26 22:09:40 -07:00
Bryan Ashby 5d37b25ad9 WIP door32.sys support 2015-11-26 21:48:02 -07:00
Bryan Ashby c7a6e6fd29 * Temporary work around for broken pty/iconv-lite encoding with doors 2015-11-26 21:27:57 -07:00
Bryan Ashby 15cf37c55c Add Who's Online mod 2015-11-25 18:03:47 -07:00
Bryan Ashby 6a70c5af51 Fix bad SyncTerm/cterm font ESC generation when no font match 2015-11-25 17:58:35 -07:00
Bryan Ashby 11ff742dc6 Don't set font to default (cp437) if it came from SAUCE 2015-11-21 17:01:21 -07:00
Bryan Ashby 3380f3a2e5 * Remove console.log() 2015-11-21 13:31:26 -07:00
Bryan Ashby 97ac37deb9 * Fix ~ and config.hjson lookup on Windows 2015-11-21 13:29:24 -07:00
Bryan Ashby 3ad43c07e8 * New user / apply crashes if no message areas defined #19 2015-11-20 23:46:48 -07:00
Bryan Ashby 839ab8fc91 * Leaving feedback to Sysop #20
* Cache sysop info after first user created
* ACS check preventing sysop from sending feedback to themselves @ apply
2015-11-20 17:49:37 -07:00
Bryan Ashby c81eb6f514 * Update some packages
* Use ptyw.js (from a specific rev for now) vs pty.js for better Windows support
* Updated docs slightly
* Use iconv.encode() in dropfile generation
2015-11-20 11:48:32 -07:00
Bryan Ashby 48c12ddffb * ACS checks in 'next' blocks can now have a default "catch all" by simply omitting the 'acs' portion of a condition 2015-11-14 17:51:05 -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 03f9ad4789 * ACS system is now to chars for all IDs, e.g. ID, LC, etc. 2015-11-13 16:13:20 -07:00
Bryan Ashby a2f8101821 * Some additional work on ACS 2015-11-12 20:47:34 -07:00
Bryan Ashby da460dfc7b * Change config.hjson path from ~/.enigma-bbs/config.hjson to ~/.config/enigma-bbs/config.hjson
* Note about first user being sysop
2015-11-12 16:18:28 -07:00
Bryan Ashby a1d3ab9f0e * Lots of progress on PEG.js ACS parsing and validation implementation 2015-11-12 00:31:25 -07:00
Bryan Ashby 23025ca5bd * Very early start on PEG.js based ACS grammar 2015-11-10 23:05:42 -07:00
Bryan Ashby e023d0236e * Fix accidental delete of user db line 2015-11-06 19:09:26 -07:00
Bryan Ashby b6aa21b990 * Fix misc path 2015-11-06 18:30:08 -07:00
Bryan Ashby 3af5b9a213 * Much better DB init 2015-11-06 18:25:07 -07:00
Bryan Ashby 2423a00d05 * Add misc to path creation 2015-11-06 17:15:05 -07:00
Bryan Ashby 4d40fe0f1b * Databases not initialized on first run #15 2015-11-06 16:14:30 -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 b1be5cdff4 * Delete mods/login.js (not used)
* More fallbackMenuModule & gotoMenuModule clean up -- should all be using new system now
2015-11-03 23:25:35 -07:00
Bryan Ashby f7a7423b32 * New menu stack functional
* @systemMethod:fallbackMenu -> @systemMethod:prevMenu
* Lots of cleanup of gotoMenuModule() -> MenuModule.gotoMenu()
* Lots of cleanup of fallbackMenuModule() -> MenuModule.prevMenu()
* Lots of cleanup of 'next' processing -> MenuModule.nextMenu()
* Clean up CPU strings a bit more
2015-11-03 23:15:49 -07:00
Bryan Ashby 15ce69e02c * More work on MenuStack 2015-11-03 16:42:11 -07:00
Bryan Ashby 64e9b9b057 * Start work on MenuStack 2015-11-03 15:17:14 -07:00
Bryan Ashby da9ae94ab8 * Sanatise ARM CPU string a bit 2015-11-01 14:02:06 -07:00
Bryan Ashby f318dc8da2 * Couple more toString() -> decode() updates 2015-11-01 13:55:59 -07:00
Bryan Ashby 46088a9f02 * Update to encode()/decode() direct calls for iconv-lite
* Overrite font (to not use!) when showing pause prompts - they should use the current set by menu/art
2015-11-01 13:32:52 -07:00