Commit Graph

585 Commits

Author SHA1 Message Date
Bryan Ashby 1113a5f366 Fix some encode/decoding errors with unknown/unsupported encodings 2016-04-14 22:11:01 -06:00
Bryan Ashby 2c0267adf1 Fix assert when looking for MSGID 2016-04-13 21:38:45 -06:00
Bryan Ashby 7278450d9e * Ability to save off imported (and later, exported) packets for debugging purposes via scannerTossers::ftn_bso::retainImportPacketPath config.hjson opt 2016-04-13 21:06:27 -06:00
Bryan Ashby f0919b5227 * Fix bug causing private mail to be skipped during new scan
* Some code cleanup: spaces -> indents
* Resolve TODO removing Message.MetaCategories: Just use string names
* Misc ES5 -> ES6
* Fix bug in module loader when require() fails
* Some DRY in new_scan.js
2016-04-12 22:38:32 -06:00
Bryan Ashby 54c79dee05 Adjust to TZUTC kludge 2016-04-11 20:44:08 -06:00
Bryan Ashby 8f988f5dc1 Some notes 2016-04-11 20:23:11 -06:00
Bryan Ashby 91e0c44d9d RE: check should not be case sensitive 2016-04-11 20:22:55 -06:00
Bryan Ashby 2342806576 Fallback decoding 2016-04-10 22:04:22 -06:00
Bryan Ashby a6d7d41601 FTN/BSN import/export now ignores case in filenames 2016-04-02 09:56:16 -06:00
Bryan Ashby fbf9bc49f9 Better FTN outbound handing of zones...I think 2016-04-02 00:28:25 -06:00
Bryan Ashby 568a138cab * Better logging of import/export stats & schedules
* Some code cleanup
* Remove all mkdirp module stuff -- use fs-extra
2016-03-28 22:07:21 -06:00
Bryan Ashby b5a4fadb92 originName -> originLine 2016-03-28 19:58:07 -06:00
Bryan Ashby 434fcdb652 * Fix a few bugs with import - use eachSeries() for packet import to properly handle SQL transaction with 2:n packets 2016-03-28 19:36:09 -06:00
Bryan Ashby 8645cac892 Use fs-extra for move vs fs.rename(), start replace of mkdirp 2016-03-27 23:19:18 -06:00
Bryan Ashby 38a96f53da * Fix quickstart config.hjson example
* Fix minor log issue in bbs.js @ error when parsing config/etc.
2016-03-27 00:19:31 -06:00
Bryan Ashby 91279464f7 Documentation on Message Conferences & Areas 2016-03-25 20:47:25 -06:00
Bryan Ashby 0b23f0aa3b Add 'sort' key available to message conferences and areas 2016-03-24 23:10:08 -06:00
Bryan Ashby 686573e362 Merge branch 'msg_network' of ssh://numinibsd/git/base/enigma-bbs into msg_network 2016-03-23 21:01:01 -06:00
Bryan Ashby 98e6afa1af * Don't blow up @ message network record() if no network configured for areaTag
* Remove console.log() of message persist; use proper client.log
2016-03-23 20:59:38 -06:00
Bryan Ashby 485dccfe11 SSH not enabled by default (Req's PK/pass in config) 2016-03-22 22:29:08 -06:00
Bryan Ashby 4e21901be7 * Fix hard line feeds @ FTN import/export
* Retain Origin and tear lines in imported messages
2016-03-22 22:24:00 -06:00
Bryan Ashby b91c9771fc * Updated Message Network docs
* .ANS files updated from attributes
2016-03-20 21:34:39 -06:00
Bryan Ashby 9fa044119b Catch exception @ createServer() e.g. if no PK exists for ssh.js 2016-03-19 22:17:49 -06:00
Bryan Ashby d29829a46c * Implemented @watch rule for import schedule
* Implemented @immediate rule for export schedule
2016-03-15 21:44:24 -06:00
Bryan Ashby 964c53ea9f * Changed scan check to use new System state_flags0 meta to skip already imported/exported msgs
* Use moment.js for Message modTimestamp
* Remove user_message_status stuff
* Add REPLY kludge support @ export
* Use TID vs PID kludge @ export (spec)
* Start work on @immediate - nearly complete
2016-03-14 22:29:41 -06:00
Bryan Ashby a787a2eab3 * Fix collsion with import/export temporary dirs; better use of temp dirs all around
* Raw (non-bundle) packet exports are now BSO named (e.g. .cut for crash)
2016-03-13 11:11:51 -06:00
Bryan Ashby 86c659849c * Flow file creation for exported bundles based on node configuration - 'crash' is currently the default 2016-03-12 00:22:06 -07:00
Bryan Ashby 31ca7d3eaf * Don't export imported messages
* Some basic code cleanup
2016-03-09 22:32:00 -07:00
Bryan Ashby ad0296addf * Change FTN packet read() to use async iterator
* createMessageUuidAlternate(): Mmethod for FTN message v5 UUID generation when no MSGID to work with
* parseAbbreviatedNetNodeList() now works properly
* Add core/uuid_util.js for various UUID utilities such as v5 named UUID generation
* Fix message meta load/retrieval
* Add lookup for REPLY kludge -> MSGID -> local reply IDs
* Fix SEEN-BY additions @ export
* Don't override MSGIDs if they already exist
* Store MSGID @ export so it can be inspected later
* Add import functionality (working, but WIP!)
* Clean up bundles and packets after import
2016-03-08 22:30:04 -07:00
Bryan Ashby 6094bed07f * Use node-temp for temp file creation, cleanup, etc.
* Lots of WIP on FTN BSO import
* Fix double callbacks in ArchiveUtil
* Impl ArchiveUtil.extractTo()
* Update bunyan
2016-03-03 22:54:32 -07:00
Bryan Ashby 5c324788fe * Minor work on FTN/BSO import
* Minor work on message network docs
2016-03-01 22:42:29 -07:00
Bryan Ashby 662d3f232e * Use key name for configured archiver name (e.g. "zip")
* Start WIP on mesasge import/toss via schedule
* Defaults for message network name
2016-02-29 22:32:51 -07:00
Bryan Ashby 1a6af18801 Update area scan ID after successful export 2016-02-28 22:35:43 -07:00
Bryan Ashby 76bbc43600 * Start work on FTN/BSO schedule via later.js
* Utilize last scan message ID to scan areas
* Lots of changes to FTN packet creation
* Create packets with target max size
* Create ArcMail bundles when configured to do so
2016-02-28 22:04:03 -07:00
Bryan Ashby ae20dc1f7c * Fix FTN packet created date/time & moment stuff 2016-02-23 23:38:05 -07:00
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
Bryan Ashby 9df21170c6 * Clean up connect.js a bit, add Github URL
* Readme updated some more :)
2015-10-29 14:10:34 -06:00
Bryan Ashby 77a4f27d9e * Remove old files 2015-10-27 22:49:51 -06:00
Bryan Ashby c5a094d8ff * Lots of mods/art/* file cleanup
* doortoomany.ans -> DOORMANY.ANS
2015-10-27 21:12:55 -06:00
Bryan Ashby 349549fae2 * Add .gitignore
* Use 'privateKeyPem' and 'privateKeyPass' for SSH
2015-10-27 20:46:30 -06:00
Bryan Ashby 4a386d649e * WIP on message last read - not fully functional yet 2015-10-22 15:44:44 -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 4a22ce0924 * Servers now define 'firstMenu'. This allows e.g. SSH to pre auth, while Telnet still gets the matrix 2015-10-22 10:36:08 -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