Synchronet Git Commit Log

This is a log of the 500 most recent pushes to the master branch of the Synchronet Git repository.
If you want to view more pushes/commits, you can by passing ?<number> in URL.
  1. Rob Swindell
    Sat Apr 17 2021 21:23:21 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbs_ini.c diff
    Write the global sound (WAV) file settings in sbbs_write_ini().
  2. Rob Swindell
    Sat Apr 17 2021 21:04:41 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/ctrl/.gitignore diff
    Ignore sbbsctrl.str output file.
  3. Rob Swindell
    Sat Apr 17 2021 21:12:42 GMT-0700 (PDT)
    Added Files:
    
    src/sbbs3/ctrl/SoundCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/SoundCfgDlgUnit.dfm diff
    src/sbbs3/ctrl/SoundCfgDlgUnit.h diff
    Modified Files:
    src/sbbs3/ctrl/FtpCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/FtpCfgDlgUnit.dfm diff
    src/sbbs3/ctrl/FtpCfgDlgUnit.h diff
    src/sbbs3/ctrl/MailCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/MailCfgDlgUnit.dfm diff
    src/sbbs3/ctrl/MailCfgDlgUnit.h diff
    src/sbbs3/ctrl/PropertiesDlgUnit.cpp diff
    src/sbbs3/ctrl/PropertiesDlgUnit.dfm diff
    src/sbbs3/ctrl/PropertiesDlgUnit.h diff
    src/sbbs3/ctrl/ServicesCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/ServicesCfgDlgUnit.dfm diff
    src/sbbs3/ctrl/ServicesCfgDlgUnit.h diff
    src/sbbs3/ctrl/TelnetCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/TelnetCfgDlgUnit.dfm diff
    src/sbbs3/ctrl/TelnetCfgDlgUnit.h diff
    src/sbbs3/ctrl/WebCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/WebCfgDlgUnit.dfm diff
    src/sbbs3/ctrl/WebCfgDlgUnit.h diff
    src/sbbs3/ctrl/sbbsctrl.bpr diff
    src/sbbs3/ctrl/sbbsctrl.cpp diff
    src/sbbs3/ctrl/sbbsctrl.res diff
    Move all common sound (WAV) file configuration to its own dialog Increment the version in the project file to v3.19a.
  4. Rob Swindell
    Sat Apr 17 2021 20:19:37 GMT-0700 (PDT)
    Added Files:
    
    src/sbbs3/ctrl/.gitignore diff
    Ignore more C++Builder artifact files.
  5. Rob Swindell
    Sat Apr 17 2021 20:20:23 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/ctrl/MainFormUnit.dfm diff
    Disable ChangeDir functionality of SaveDialog This would cause all relative file paths to fail after exporting settings to .ini file in another directory. Long time bug.
  6. Rob Swindell
    Sat Apr 17 2021 18:52:56 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/ctrl/FtpCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/ServicesCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/TelnetCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/WebCfgDlgUnit.cpp diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/ftpsrvr.h diff
    src/sbbs3/login.cpp diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/mailsrvr.h diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/services.c diff
    src/sbbs3/services.h diff
    src/sbbs3/startup.h diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/websrvr.h diff
    src/sbbs3/xtrn_sec.cpp diff
    Update sound (WAV) file play-on-event support in Windows build A "hack attempt" sound file is now supported in the Terminal Server, Mail Server, and Services. "login" and "logoff" sound files are now supported in the Terminal Server, FTP Server, Web Server, Mail Server, and Services. This enhancement fixes Issue #157 The following sound files may now be configured in the [Global] section of the ctrl/sbbs.ini file, if desired to set the default sound files for all servers/services in on place: - AnswerSound - LoginSound - LogoutSound - HangupSound - HackAttemptSound
  7. Rob Swindell
    Sat Apr 17 2021 15:19:04 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbs_ini.c diff
    Fix typo in previous commit.
  8. Rob Swindell
    Sat Apr 17 2021 15:13:03 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/services.c diff
    src/sbbs3/services.h diff
    Allow an alternate "services.ini" filename to be specified in sbbs.ini Set sbbs.ini [services] iniFileName to something other than services.ini to override the default filename. The automatic/optional hostname decoration of the filename is still supported. Addresses request #238.
  9. Rob Swindell
    Sat Apr 17 2021 14:43:49 GMT-0700 (PDT)
    Modified Files:
    
    exec/hatchit.js diff
    Added "Replaces" keyword support for Al (TRMB) Made some other cosmetic improvements/fixes.
  10. Rob Swindell
    Sat Apr 17 2021 14:38:57 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/text.dat diff
    Added FiUploadedTo string.
  11. Rob Swindell
    Sat Apr 17 2021 14:32:31 GMT-0700 (PDT)
    Modified Files:
    
    src/uifc/uifc32.c diff
    Support WIN_ORG and WIN_BOT modes in uifc.input
  12. Rob Swindell
    Sat Apr 17 2021 14:38:24 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    Display list of file recipients ("Uploaded to") when relevant for the user-to-user file transfer directory
  13. Rob Swindell
    Sat Apr 17 2021 13:34:30 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/filebase.js diff
    Replace the guts of OldFileBase to make it v3.19 compatible This appears to be enough to make hatchit.js work again and file listings in webv4 (not sure beyond that). This file is now just an unnecessary shim and should go away when the consumers (hatchit and webv4) no longer need it. I did not "port" support for the file properties: - base - ext - datoffset - opencount - misc - altpath They don't appear to be needed.
  14. Rob Swindell
    Sat Apr 17 2021 02:37:36 GMT-0700 (PDT)
    Modified Files:
    
    exec/dupefind.js diff
    Update command-line parsing (e.g. double-dash support) and help output
  15. Rob Swindell
    Sat Apr 17 2021 00:21:18 GMT-0700 (PDT)
    Modified Files:
    
    exec/addfiles.js diff
    Make --help work and copy the option parsing logic from filelist.js
  16. Rob Swindell
    Fri Apr 16 2021 19:08:45 GMT-0700 (PDT)
    Modified Files:
    
    text/menu/transfer.msg diff
    Restore the /U and /D (user-to-user file transfer) commands
  17. Rob Swindell
    Fri Apr 16 2021 18:52:36 GMT-0700 (PDT)
    Modified Files:
    
    exec/filelist.js diff
    Optionally include newest-file-in-archive date/time and other features
  18. Rob Swindell
    Fri Apr 16 2021 18:50:43 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/text.dat diff
    Restore user-to-user file transfer related strings. More use of the "conditional newline" (^A?) code rather than hard-coded CRLFCRLFs.
  19. Rob Swindell
    Fri Apr 16 2021 18:48:27 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/execfile.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scfg/scfgxfr1.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/userdat.c diff
    Restore the user-to-user file transfer feature I forget who it was that said they were still using this feature in v3.18, but here you go, it's working again (the /D and /U commands). I'm not migrating any file sender/recipient info from v3.18, so only files added after upgrading to this will be downloadable from the "user" directory (if you have one). Something that I never implemented before but noticed is missing is the removal (or dereferencing) of user-to-user files that were sent from/to a user that is then deleted. So that's still a TODO item.
  20. Rob Swindell
    Fri Apr 16 2021 18:49:03 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/addfiles.c diff
    Fix the file update support a bit. This is still broken (errors when updating existing files) and is still planned for deprecation.
  21. Rob Swindell
    Fri Apr 16 2021 18:49:22 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/getmail.c diff
    Don't log a file removal error if the file doesn't exist.
  22. Rob Swindell
    Fri Apr 16 2021 17:08:22 GMT-0700 (PDT)
    Modified Files:
    
    exec/str_cmds.js diff
    Fix TypeError: file_area.lib_list[i].dir is undefined dir is not a property of lib_list[], appears to be a typo. Also, in the "lib" scope commands, j was not defined. The offline_dir property appears to have been deprecated (no longer enumerable) years ago, in favor of the dir/dir_list[].is_offline property, so use that property instead for skipping offline dirs. Reported by xbit (XBITBBS) Also, make sure the ;upload and other lib/all search commands are abortable with Ctrl-C.
  23. Rob Swindell
    Fri Apr 16 2021 12:32:24 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/addfiles.c diff
    Fix some crashes on multi-line description import stuff Even though this is going to be removed / deprecated.
  24. Rob Swindell
    Thu Apr 15 2021 19:35:20 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/str_list.c diff
    if strListFind() is passed a NULL 'str' value, return -1 (not found) Return int value for "string not found" rather than crash/segfault. Seems the better option.
  25. Rob Swindell
    Fri Apr 16 2021 11:39:12 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/pack_qwk.cpp diff
    Fix QWK/BLT-* copy issue (regression since v3.18) Reported by Daryl Stout (TBOLT)
  26. Rob Swindell
    Wed Apr 14 2021 19:19:32 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/userdat.c diff
    Don't compare array against NULL Addresses CID 319116 and 319090
  27. Rob Swindell
    Tue Apr 13 2021 22:57:16 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    Refactor putuserrec() This started with a Coverity issue (CID 33230) which got me looking at this function and wondering: why is str2 being NUL-terminated here? Why is the length of str2 to be calculated on successive lines? What is with this (long)((long)((long)((long)) typecast? This was some of the oldest code in Synchronet (along with a lot of the other functions in this file). I tried to keep as much intact as possible while still improving the logic and readability.
  28. Rob Swindell
    Tue Apr 13 2021 20:20:05 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/postmsg.cpp diff
    Debug the "thread_back field missing" error Some QWKnet vote messages are failing: evnt unpackREP <ENSEMBLE> !ERROR 2 (No such file or directory) in qwk.cpp line 1146 (qwk_vote) writing "/sbbs/data/subs/dove-gen" access=-105 info=smb_addvote thread_back field missing Catch this problem a little higher up (in votemsg()) and log the message's reply-IDs to help determine what's the root-cause here. Don't bother calling smb_addvote() if thread_back is 0.
  29. Rob Swindell
    Tue Apr 13 2021 20:20:05 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/con_out.cpp diff
    src/sbbs3/qwktomsg.cpp diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/un_rep.cpp diff
    Add/use P_REMOTE print-mode flag to bputs() Do nothing if online != ON_REMOTE. Eliminates some if(online == ON_REMOTE) clauses.
  30. Deucе
    Tue Apr 13 2021 16:53:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    Delete one-shot events before running the callback. If a callback deletes the one-shot event that invoked it, the event pointer in the caller would be to free()d memory with hilarious results.
  31. echicken
    Tue Apr 13 2021 13:34:26 GMT-0700 (PDT)
    Modified Files:
    
    exec/presence-service.js diff
    Hack the planet.
  32. echicken
    Tue Apr 13 2021 09:17:28 GMT-0700 (PDT)
    Added Files:
    
    exec/presence-service.js diff
    Serves "presence" data about local and remote users. Upon connecting, a client will be sent a list of who's online on the local BBS as well as other systems (if you and they are set up for instant messaging). Updates will be sent for subsequent events (logon, update, logoff). Mostly intended for use by local consumers; you probably don't need to open any ports for this. Nothing uses this at the moment and you do not need to add it to your config. Eventually it'll bring interBBS presence and messaging back to webv4 and probably introduce a fancier textmode imsg module.
  33. Rob Swindell
    Tue Apr 13 2021 01:04:27 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Check return value of JS_ValueToInt32() CID 331092
  34. Rob Swindell
    Tue Apr 13 2021 01:05:21 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/scansubs.cpp diff
    Don't pass uninitialized string to scanposts() CID 319108
  35. Rob Swindell
    Mon Apr 12 2021 20:48:55 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Fix some memory leaks
  36. Deucе
    Mon Apr 12 2021 13:20:18 GMT-0700 (PDT)
    Modified Files:
    
    exec/fseditor.js diff
    Do not use js.report_error() Properly throw an error instead.
  37. Rob Swindell
    Mon Apr 12 2021 00:38:39 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/file_size.js diff
    Use Math.round() for sizes > 1024 and < 1024000
  38. Rob Swindell
    Mon Apr 12 2021 00:33:58 GMT-0700 (PDT)
    Modified Files:
    
    install/GNUmakefile diff
    Copy upgrade_to_v319 to exec dir upon install. <shrug> Fixes issue #252.
  39. Deucе
    Sun Apr 11 2021 21:11:26 GMT-0700 (PDT)
    Added Files:
    
    3rdp/build/js-allow-python3.patch diff
    Modified Files:
    3rdp/build/GNUmakefile diff
    Disable configure test for python2.[567] Just don't check the python version at all. If your python is older than 2.5, you're already having other issues.
  40. Rob Swindell
    Sun Apr 11 2021 20:59:52 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/file_size.js diff
    Revert back to whole numbers only for the comma-formatted K output but round-up non-zero values to 1K.
  41. Rob Swindell
    Sun Apr 11 2021 21:00:35 GMT-0700 (PDT)
    Modified Files:
    
    exec/filelist.js diff
    Add configurable size formatting, filename formatting, ext-description offset
  42. echicken
    Sun Apr 11 2021 20:59:02 GMT-0700 (PDT)
    Modified Files:
    
    exec/loadfonts.js diff
    Accolades
  43. echicken
    Sun Apr 11 2021 20:55:09 GMT-0700 (PDT)
    Modified Files:
    
    exec/loadfonts.js diff
    Updated documentation section 1.1a01
  44. echicken
    Sun Apr 11 2021 20:52:49 GMT-0700 (PDT)
    Modified Files:
    
    exec/loadfonts.js diff
    Added some documentation. Appended very important trailing linefeed.
  45. Rob Swindell
    Sun Apr 11 2021 20:33:04 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Add format_name() method to format a filename for display It's a wrapper for filedat.c -> format_filename() which can truncate and pad a filename for display purposes.
  46. Deucе
    Sat Apr 10 2021 13:13:18 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/sockwrap.c diff
    Add more detail to socket_check() comment
  47. Deucе
    Sat Apr 10 2021 13:06:21 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/sockwrap.c diff
    Finally document socket_check() behaviour. Tweak the poll() implementation to match. Should fix #248
  48. Rob Swindell
    Thu Apr 08 2021 02:32:43 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/file_size.js diff
    When bytes is falsey and size is > 0 but < 1000*1024 don't return "0K" Instead, return the fractional size in KB's with 2 digits of precision. Fixed up some of the variable names.
  49. Rob Swindell
    Thu Apr 08 2021 02:32:43 GMT-0700 (PDT)
    Modified Files:
    
    exec/filelist.js diff
    Pretty much a complete re-write and still a work-in-progress, but useful The biggest difference is that you can combine all files from multiple dirs into a single sorted list and you can sort on any property (field) value. The byte/credit format is very customizeable, the output format is completely customizeable. By default, just the filenames are output, but either use '-ext' or one or more '-v' values to add more fields. Use -p=list to specify a comma-separated list of properties to print.
  50. Deucе
    Wed Apr 07 2021 23:25:27 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    Fix sizeof() target.
  51. Deucе
    Wed Apr 07 2021 23:12:23 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_socket.c diff
    When a callback event is handled, get remote_addr Prevents weird issues with getting remote address.
  52. Rob Swindell
    Wed Apr 07 2021 20:33:18 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    Sorted loadfiles() results were corrupted when detail was < normal When only reading the index (detail = file_detail_index), smb_getfile() just sets the file->name convenience pointer to point to the name in the index. Then when loadfiles() would sort the list, these pointers would not be adjusted (so they would point to the wrong names) resulting in a corrupted file list (e.g. name/size mismatches and no logical sort order). The solution is to call smb_getfile() on each file *after* the read index records have been sorted. This also means that the sort-by-name routines needed to always sort using the index name and not the convenience pointer (which is NULL in this case). While fixing this, I noticed there was no bounds checking in the loadfiles() and loadfilenames() read-loops, so if the indexes happened to be longer than the total_files value from the status header, a buffer under-alloc/overflow would occur and a likely crash as a result. So stop reading the index when the expected maximum number of index records have been read.
  53. echicken
    Wed Apr 07 2021 08:50:59 GMT-0700 (PDT)
    Modified Files:
    
    webv4/root/api/events.ssjs diff
    Content-Type not Content-type; delay 1000 ms between event source scans.
  54. Rob Swindell
    Wed Apr 07 2021 00:09:10 GMT-0700 (PDT)
    Modified Files:
    
    exec/dupefind.js diff
    Use the new file_size_str() usage for prettier sizes-in-bytes
  55. Rob Swindell
    Wed Apr 07 2021 00:10:04 GMT-0700 (PDT)
    Modified Files:
    
    exec/addfiles.js diff
    Replace print() with writeln()
  56. Rob Swindell
    Wed Apr 07 2021 00:06:32 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/file_size.js diff
    Add optional/better format to file_size_str() by passing a precision as 3rd arg Returns a floating-point formatted size estimate more in-line with my preference (e.g. 17.0G instead of 17,000M).
  57. Rob Swindell
    Tue Apr 06 2021 23:32:15 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Fix hash() method broken in commit bc4f24f5 - file needs the dir num
  58. Deucе
    Tue Apr 06 2021 23:22:34 GMT-0700 (PDT)
    Modified Files:
    
    exec/imapservice.js diff
    Some more fixes... Fix bseen calculation and saving Only save seen data after all repsonses have been sent Stop processing when the socket has been closed
  59. Rob Swindell
    Tue Apr 06 2021 19:27:50 GMT-0700 (PDT)
    Added Files:
    
    exec/dupefind.js diff
    A duplicate file finder for Synchronet v3.19 - replaces native DUPEFIND Can find duplicate files in your file bases by name and/or hash sum - fast! Can output simple text or JSON format. Run 'jsexec dupefind' to search just for duplicate files by hash (SHA-1) or run 'jsexec dupefind -help' for the various usage options.
  60. Rob Swindell
    Tue Apr 06 2021 19:23:14 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Don't expand empty from, tags, desc properties unless detail=MAX
  61. Rob Swindell
    Tue Apr 06 2021 19:17:04 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Fix missing paren warnings.
  62. Rob Swindell
    Tue Apr 06 2021 18:32:30 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/scfglib2.c diff
    Don't pretend that user-to-user file transfers are working (they don't) So just always assume that no "user" directory has been configured. At least for now while I ponder whether this is a feature worth restoring and if so, how.
  63. Rob Swindell
    Tue Apr 06 2021 18:33:20 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/services.c diff
    Include user alias in logged JS error/warning messages
  64. Rob Swindell
    Tue Apr 06 2021 18:36:51 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Include all properties in getter when detail is MAX Adds from/tags/desc/extdesc properties, even when absent or blank. When parsing a file object, set the from, desc, tags and cost properties only if they already have been set or the new values is non-blank/0.
  65. Deucе
    Tue Apr 06 2021 00:56:32 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_system.c diff
    src/xpdev/genwrap.c diff
    Fix msclock() and xp_timer() to be monotonic on *nix Previously, these both used gettimeofday() which is both expensive to call, and not monotonic. This fixes system.clock_ticks in JS and various internal bits. for when the UTC wall clock jumps. While we're here, fix the documention of system.clock_ticks
  66. Rob Swindell
    Tue Apr 06 2021 00:41:12 GMT-0700 (PDT)
    Modified Files:
    
    exec/tickit.js diff
    Use -debug command-line option if you want the <area> using ... address log For Nelgin, to reduce log spam.
  67. Rob Swindell
    Tue Apr 06 2021 00:07:07 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/scfg/scfgsub.c diff
    Clarity around QWK Conference Names
  68. Rob Swindell
    Mon Apr 05 2021 23:36:16 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/jsexec.c diff
    Typos in help
  69. Rob Swindell
    Mon Apr 05 2021 23:27:06 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/dupefind.c diff
    Fix heap corruption (under malloc) - crashed on Linux-x64
  70. Deucе
    Mon Apr 05 2021 23:04:38 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_socket.c diff
    Fix some bugs around sock.on('write'...) and sock.clearOn()
  71. Deucе
    Mon Apr 05 2021 21:25:36 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sockopts.c diff
    Only set IPV6_ONLY if it's #defined.
  72. Deucе
    Mon Apr 05 2021 19:21:25 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Fixes for async lookups - Add a unique number to event names for each request Prevents responses from being acepted by multiple queries - Don't set Socket.dnsObject for synchronous lookups - OPcode of 2 is used for status replies (ie: NXDOMAIN) - Be more careful construct result array in request()
  73. Deucе
    Mon Apr 05 2021 18:11:23 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sockopts.c diff
    JSDOOR isn't defined here.
  74. Rob Swindell
    Mon Apr 05 2021 18:04:08 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sexyz.c diff
    Address GCC 9.3.0 warnings: warning: format not a string literal and no format arguments
  75. Deucе
    Mon Apr 05 2021 17:29:03 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Only the async query needs the timeout now, so move it back in. Also, have handle_response() return errors.
  76. Deucе
    Mon Apr 05 2021 17:11:00 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Use this, not ctx in handlers.
  77. Rob Swindell
    Mon Apr 05 2021 14:13:09 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/telgate.cpp diff
    src/xpdev/gen_defs.h diff
    Allow SAFECAT to work on uchar arrays Caught by CID 331001 The use of SAFECAT() with a typecast to a pointer is not going to work as expected. This change broke line-based telnet-gateway functionality (unconfirmed, but pretty obvious).
  78. Deucе
    Mon Apr 05 2021 12:03:05 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/services.c diff
    Set fds to NULL before recycle. Likely the cause of the crash that killed cvs.synchro.net last night
  79. Deucе
    Mon Apr 05 2021 01:42:53 GMT-0700 (PDT)
    Modified Files:
    
    exec/imapservice.js diff
    Fix last commit... there are bits that aren't Seen that are saved
  80. Deucе
    Mon Apr 05 2021 01:33:40 GMT-0700 (PDT)
    Modified Files:
    
    exec/imapservice.js diff
    Guard against Seen being undefined when saving config.
  81. Deucе
    Mon Apr 05 2021 01:24:38 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    EVN MR!
  82. Deucе
    Mon Apr 05 2021 01:14:45 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    MOAR!
  83. Deucе
    Mon Apr 05 2021 01:13:08 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    Spaces -> Tabs Tabs are the shit.
  84. Rob Swindell
    Mon Apr 05 2021 01:03:59 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_msg_area.c diff
    src/sbbs3/scfg/scfgmsg.c diff
    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    Add area_tag property to msg_area.sub[] For easier use of the auto-generated echo-tags in JS. And a helper function sub_area_tag(), now used in SCFG too.
  85. Randy Sommerfeld
    Mon Apr 05 2021 00:12:40 GMT-0700 (PDT)
    Added Files:
    
    exec/load/ircd/channel.js diff
    exec/load/ircd/config.js diff
    exec/load/ircd/core.js diff
    exec/load/ircd/server.js diff
    exec/load/ircd/unregistered.js diff
    exec/load/ircd/user.js diff
    Modified Files:
    exec/ircd.js diff
    IRCd 1.9
  86. Deucе
    Mon Apr 05 2021 00:12:40 GMT-0700 (PDT)
    Added Files:
    
    exec/load/ircd/channel.js diff
    exec/load/ircd/config.js diff
    exec/load/ircd/core.js diff
    exec/load/ircd/server.js diff
    exec/load/ircd/unregistered.js diff
    exec/load/ircd/user.js diff
    Modified Files:
    exec/ircd.js diff
    Merge branch 'deuce-says-so' into 'master' First IRCd 1.9 changes See merge request main/sbbs!125
  87. Deucе
    Sun Apr 04 2021 23:41:55 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_socket.c diff
    Make the callback stuff 3.19
  88. Deucе
    Sun Apr 04 2021 20:24:29 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    Keep running the event loop while the run queue is not empty Previously, timed or polled callbacks were required to keep the event loop running.
  89. Michael J. Ryan
    Fri Apr 02 2021 13:37:42 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/array.js diff
    Update array.js formatting Autoformatted via prettier with settings below, this is so additional polyfill matches can be used to match formatting in future PRs for polyfills, as well as full formatting tooling for .js files. ```yaml tabWidth: 4 useTabs: true singleQuote: true trailingComma: "es5" ```
  90. echicken
    Sun Apr 04 2021 19:53:02 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/array.js diff
    Merge branch 'format-array-polyfills' into 'master' Update array.js formatting See merge request main/sbbs!120
  91. Deucе
    Sun Apr 04 2021 19:31:17 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/exec.cpp diff
    Have js_execfile() save/restore callbacks This should allow callbacks to not interfere between (say) shells and doors.
  92. Rob Swindell
    Sun Apr 04 2021 19:12:43 GMT-0700 (PDT)
    Modified Files:
    
    exec/addfiles.js diff
    Add option (-delete) to delete the list file after import Like the -d option for ADDFILES. For Al (TRMB)
  93. Deucе
    Sun Apr 04 2021 19:09:30 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    Clarify that dispatchEvent() adds to the end of the run queue
  94. Deucе
    Sun Apr 04 2021 19:04:42 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    Add js.setImmediate(callback[, thisObj) I haven't added a clearImmediate() because there's currently no way of manipulating the run queue, and I can't come up with a reason someone would actually need it.
  95. Deucе
    Sun Apr 04 2021 18:51:18 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    Fix event listener removal Was terribly broken.
  96. Deucе
    Sun Apr 04 2021 18:16:09 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Change default failures to 3 and timeout to 5sec Also, check that the opcode and response flag are correct when parsing responses. When handling a resolve call, ensure no errors occured.
  97. Rob Swindell
    Sun Apr 04 2021 18:11:45 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/ansi_cio.c diff
    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/conio/cterm.c diff
    src/conio/cterm.h diff
    src/conio/mouse.c diff
    src/encode/base64.h diff
    src/encode/lzh.c diff
    src/encode/lzh.h diff
    src/sbbs3/ftpsrvr.h diff
    src/sbbs3/js_cryptcert.h diff
    src/sbbs3/js_cryptcon.h diff
    src/sbbs3/ringbuf.c diff
    src/sbbs3/websrvr.h diff
    src/uifc/uifc.h diff
    src/uifc/uifc32.c diff
    src/uifc/uifcx.c diff
    src/xpdev/datewrap.h diff
    src/xpdev/dirwrap.h diff
    src/xpdev/eventwrap.h diff
    src/xpdev/filewrap.h diff
    src/xpdev/genwrap.h diff
    src/xpdev/link_list.h diff
    src/xpdev/msg_queue.h diff
    src/xpdev/multisock.h diff
    src/xpdev/netwrap.h diff
    src/xpdev/semfile.h diff
    src/xpdev/semwrap.h diff
    src/xpdev/threadwrap.h diff
    src/xpdev/wrapdll.h diff
    src/xpdev/xp_dl.h diff
    src/xpdev/xpbeep.c diff
    src/xpdev/xpbeep.h diff
    src/xpdev/xpdatetime.h diff
    src/xpdev/xpmap.h diff
    src/xpdev/xpprintf.h diff
    The great DLLCALL purge of 2021 - part 2
  98. Rob Swindell
    Sun Apr 04 2021 16:37:14 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/chksmb.c diff
    src/sbbs3/data.cpp diff
    src/sbbs3/date_str.c diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/getmail.c diff
    src/sbbs3/getstats.c diff
    src/sbbs3/js_client.c diff
    src/sbbs3/js_com.c diff
    src/sbbs3/js_cryptcert.c diff
    src/sbbs3/js_cryptcon.c diff
    src/sbbs3/js_cryptkeyset.c diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_msg_area.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_queue.c diff
    src/sbbs3/js_rtpool.c diff
    src/sbbs3/js_server.c diff
    src/sbbs3/js_sprintf.c diff
    src/sbbs3/js_system.c diff
    src/sbbs3/js_user.c diff
    src/sbbs3/js_xtrn_area.c diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/logfile.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/msg_id.c diff
    src/sbbs3/msgdate.c diff
    src/sbbs3/ntsvcs.c diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/services.c diff
    src/sbbs3/sockopts.c diff
    src/sbbs3/ssl.c diff
    src/sbbs3/startup.h diff
    src/sbbs3/uedit/uedit.c diff
    src/sbbs3/websrvr.c diff
    src/xpdev/datewrap.c diff
    src/xpdev/dirwrap.c diff
    src/xpdev/genwrap.c diff
    src/xpdev/ini_file.c diff
    src/xpdev/link_list.c diff
    src/xpdev/msg_queue.c diff
    src/xpdev/multisock.c diff
    src/xpdev/netwrap.c diff
    src/xpdev/semfile.c diff
    src/xpdev/semwrap.c diff
    src/xpdev/threadwrap.c diff
    src/xpdev/xp_dl.c diff
    src/xpdev/xpdatetime.c diff
    src/xpdev/xpmap.c diff
    src/xpdev/xpprintf.c diff
    The great DLLCALL purge of 2021 This macro has expanded to nothing for a while now and even before, the usage was misguided and unnecessary as explained in this video: https://www.youtube.com/watch?v=cjotPqQxxAY
  99. Deucе
    Sun Apr 04 2021 16:27:48 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_socket.c diff
    Fix errors with callback-based connect() Non-poll used the wrong value for calculating the high socket (which is ignored on Win32, the only non-poll() user), and the socket was being set in the wrong union member.
  100. Deucе
    Sun Apr 04 2021 16:17:34 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/sockwrap.h diff
    Add nfds_t required by poll(), and add note describing Win32 bug
  101. Rob Swindell
    Sun Apr 04 2021 15:26:59 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/str.cpp diff
    This strcpy() needs to remain as was (caught be GCC).
  102. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    If error is NULL, insure maxerrlen is 0. Hopefully this will eliminate the "Dereference after null check" warnings by Coverity (e.g. CID 330993).
  103. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_archive.c diff
    Insure outdir is never NULL CID 319037
  104. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_com.c diff
    Handle filelength() returning negative value CID 33260
  105. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_console.cpp diff
    Remove logically dead code CID 174335
  106. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_cryptcert.c diff
    Remove structurally dead code (copy pasta?) CID 174455
  107. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_cryptcon.c diff
    Don't use mode without checking if NULL first CID 319598
  108. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_cryptkeyset.c diff
    Remove structurally dead code CID 174483
  109. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_file.c diff
    Fix some printf argument types CID 319023 319065 319134
  110. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Alt paths aren't supported/used any longer Fixes CID 330973
  111. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    dirnum is unsigned, so do not check for negative CID 330990
  112. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_socket.c diff
    printf fmt/argument type mismatches CID 319085 319089 319135 319142
  113. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_system.c diff
    client.addr is now an array not pointer CID 319143
  114. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_uifc.c diff
    Remove logically dead code PROP_CHANGES already handled in if() condition CID 33176
  115. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    ftell() can return negative, deal CID 33232
  116. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/node.c diff
    Address logically dead code This is so old/bad. CID 33179.
  117. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/postmsg.cpp diff
    mod_ar is no longer a pointer, it's an array CID 319077
  118. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/qwk.cpp diff
    The QWK reset sub ptr command would never work Caught by Coverity-scan CID 33178
  119. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/scfg/scfgnet.c diff
    strcat() -> SAFECAT() CID 174491
  120. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/str.cpp diff
    strcpy -> SAFECOPY CID 33568
  121. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/str.cpp diff
    read_ar is no longer a ptr, it's an array CID 319112
  122. Deucе
    Sun Apr 04 2021 13:58:27 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Use a single class, and pass in a synchronous flag.
  123. Rob Swindell
    Sun Apr 04 2021 13:30:22 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_bbs.cpp diff
    Fix unsigned int compare to negative - caught by Coverity-scan
  124. Rob Swindell
    Sun Apr 04 2021 13:30:46 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_file.c diff
    printf usage issue caught by Coverity.
  125. Rob Swindell
    Sun Apr 04 2021 13:31:20 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Fix memory leaks caught by Coverity.
  126. Rob Swindell
    Sun Apr 04 2021 13:31:35 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_msg_area.c diff
    mod_ar is not a pointer, it's an array.
  127. Rob Swindell
    Sun Apr 04 2021 13:33:25 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_socket.c diff
    Fix resource leaks caught by Coverity-scan CID 330950 and 319020
  128. Rob Swindell
    Sun Apr 04 2021 13:35:07 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_system.c diff
    Fix dead code issues reported by Coverity-scan
  129. Rob Swindell
    Sun Apr 04 2021 13:35:27 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/qwk.cpp diff
    Fix incorrect buf size argument caught by Coverity-scan
  130. Rob Swindell
    Sun Apr 04 2021 13:35:50 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbsecho.c diff
    Use SAFECAT() instead of strcat() for more safety.
  131. Rob Swindell
    Sun Apr 04 2021 13:37:11 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/services.c diff
    Fix UDP buffer memory leak when max clients reached Caught by Coverity-scan CID 330055
  132. Rob Swindell
    Sun Apr 04 2021 13:38:06 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/upgrade_to_v319.c diff
    Address Coverity-reported issues The use of uninitialized smb.retry_time was worst offender, but not expected to cause any actual issues.
  133. Rob Swindell
    Sun Apr 04 2021 13:28:54 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/websrvr.c diff
    Fix resource leak in ssjs_send_headers() IdArray returned by JS_Enumerate() was never freed. Caught by Coverity-scan, CID 319627.
  134. Rob Swindell
    Sun Apr 04 2021 13:22:04 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/xtrn.cpp diff
    Fix use of uninitialized local variable (err_pipe[]) on *nix And other weirdness around EX_NOLOG mode checks. Addresses Coverity-scan CID 330048.
  135. Rob Swindell
    Sun Apr 04 2021 13:15:30 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/websrvr.c diff
    Fix socket descriptor leak in fastcgi_connect() Found by Coverity-scan (CID 330051) @Deuce should review this.
  136. Rob Swindell
    Sun Apr 04 2021 04:19:43 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/atcodes.cpp diff
    New @-code: CONTINUE CONTINUE is like GETKEY except it'll set the display-abort flag if 'N' or 'Q' are typed. Make the WAIT:<n> argument 10ths of a second (instead of milliseconds) to be more consistent with DELAY:<n>.
  137. Rob Swindell
    Sun Apr 04 2021 04:05:57 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbs.h diff
    Specify default kmode values for getkey() and inkey()
  138. Rob Swindell
    Sun Apr 04 2021 04:08:32 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/atcodes.cpp diff
    New @-codes: GETKEY and WAIT:<milliseconds> GETKEY waits indefinitely for any key press by the user (resolves issue #245). WAIT:<n> waits for up to n-milliseconds for a key press and then continues on. For both cases, the key pressed is not echoed or acted upon in any way. Ctrl-keys could be handled by global or built-in ctrl-key handlers, so those would be the exception.
  139. Rob Swindell
    Sun Apr 04 2021 04:08:51 GMT-0700 (PDT)
    Modified Files:
    
    docs/newfilebase.txt diff
    Finish the incomplete thought in the Sorting section
  140. Rob Swindell
    Sun Apr 04 2021 03:51:06 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/scfg/scfgsub.c diff
    Allow the disabling of @-code expansion in sysop-posted msgs And make it the default for newly created sub-boards.
  141. Deucе
    Sun Apr 04 2021 02:50:04 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/uncrustify.cfg diff
    Fix single-line if stuff
  142. Rob Swindell
    Sun Apr 04 2021 02:49:37 GMT-0700 (PDT)
    Added Files:
    
    3rdp/win32.release/libarchive/bin/archive.dll diff
    3rdp/win32.release/libarchive/bin/archive.lib diff
    3rdp/win32.release/libarchive/include/archive.h diff
    3rdp/win32.release/libarchive/include/archive_entry.h diff
    3rdp/win32.release/libarchive/libarchive.props diff
    3rdp/win32.release/zlib/bin/zlib1.dll diff
    3rdp/win32.release/zlib/include/zconf.h diff
    3rdp/win32.release/zlib/include/zlib.h diff
    docs/newfilebase.txt diff
    exec/addfiles.js diff
    exec/archive.js diff
    exec/filelist.js diff
    exec/hashfile.js diff
    exec/postfile.js diff
    exec/rehashfiles.js diff
    exec/updatefiles.js diff
    src/hash/sha1.c diff
    src/hash/sha1.h diff
    src/sbbs3/js_archive.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/upgrade_to_v319.c diff
    src/sbbs3/upgrade_to_v319.vcxproj diff
    Modified Files:
    3rdp/build/Common.gmake diff
    ctrl/file.cnf diff
    ctrl/text.dat diff
    exec/default.src diff
    exec/jsdocs.js diff
    exec/load/avatar_lib.js diff
    exec/load/fidocfg.js diff
    exec/load/sbbslist_lib.js diff
    exec/load/text.js diff
    exec/pcboard.src diff
    exec/sbbslist.js diff
    exec/simple.src diff
    exec/tickit.js diff
    exec/update.js diff
    exec/wildcat.src diff
    src/hash/crc16.c diff
    src/hash/crc16.h diff
    src/hash/crc32.c diff
    src/hash/crc32.h diff
    src/hash/md5.c diff
    src/hash/md5.h diff
    src/hash/objects.mk diff
    src/sbbs3/GNUmakefile diff
    src/sbbs3/addfiles.c diff
    src/sbbs3/addfiles.vcxproj diff
    src/sbbs3/allusers.c diff
    src/sbbs3/atcodes.cpp diff
    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/chksmb.c diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/ctrl/AboutBoxFormUnit.dfm diff
    src/sbbs3/ctrl/MainFormUnit.cpp diff
    src/sbbs3/ctrl/sbbsctrl.bpr diff
    src/sbbs3/dat_rec.c diff
    src/sbbs3/dat_rec.h diff
    src/sbbs3/data.cpp diff
    src/sbbs3/delfiles.c diff
    src/sbbs3/delfiles.vcxproj diff
    src/sbbs3/download.cpp diff
    src/sbbs3/dupefind.c diff
    src/sbbs3/dupefind.vcxproj diff
    src/sbbs3/email.cpp diff
    src/sbbs3/exec.cpp diff
    src/sbbs3/execfile.cpp diff
    src/sbbs3/execfunc.cpp diff
    src/sbbs3/execmisc.cpp diff
    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/filelist.c diff
    src/sbbs3/filelist.vcxproj diff
    src/sbbs3/fixsmb.c diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/ftpsrvr.h diff
    src/sbbs3/ftpsrvr.vcxproj diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/getstats.c diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_com.c diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/js_user.c diff
    src/sbbs3/jsdoor.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/load_cfg.h diff
    src/sbbs3/logfile.cpp diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/mailsrvr.vcxproj diff
    src/sbbs3/main.cpp diff
    src/sbbs3/makeuser.vcxproj diff
    src/sbbs3/msg_id.c diff
    src/sbbs3/msgdate.c diff
    src/sbbs3/msgdate.h diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/node.c diff
    src/sbbs3/nodedefs.h diff
    src/sbbs3/objects.mk diff
    src/sbbs3/pack_qwk.cpp diff
    src/sbbs3/pack_rep.cpp diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/qwknodes.c diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/release.bat diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbs.vcxproj diff
    src/sbbs3/sbbs3.sln diff
    src/sbbs3/sbbs4defs.h diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsecho.vcxproj diff
    src/sbbs3/scandirs.cpp diff
    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfg.h diff
    src/sbbs3/scfg/scfg.vcxproj diff
    src/sbbs3/scfg/scfgnet.c diff
    src/sbbs3/scfg/scfgsub.c diff
    src/sbbs3/scfg/scfgxfr1.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/scfgsave.h diff
    src/sbbs3/services.c diff
    src/sbbs3/services.vcxproj diff
    src/sbbs3/sexyz.vcxproj diff
    src/sbbs3/slog.c diff
    src/sbbs3/smbactiv.c diff
    src/sbbs3/smbutil.c diff
    src/sbbs3/str.cpp diff
    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    src/sbbs3/targets.mk diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/tmp_xfer.cpp diff
    src/sbbs3/uedit/uedit.c diff
    src/sbbs3/un_qwk.cpp diff
    src/sbbs3/un_rep.cpp diff
    src/sbbs3/unbaja.c diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    src/sbbs3/useredit.cpp diff
    src/sbbs3/v4upgrade.c diff
    src/sbbs3/viewfile.cpp diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/websrvr.vcxproj diff
    src/sbbs3/writemsg.cpp diff
    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    src/smblib/smbadd.c diff
    src/smblib/smballoc.c diff
    src/smblib/smbdefs.h diff
    src/smblib/smbdump.c diff
    src/smblib/smbfile.c diff
    src/smblib/smbhash.c diff
    src/smblib/smblib.c diff
    src/smblib/smblib.h diff
    src/smblib/smblib.vcxproj diff
    src/smblib/smbstr.c diff
    src/xpdev/dirwrap.c diff
    src/xpdev/dirwrap.h diff
    src/xpdev/gen_defs.h diff
    src/xpdev/ini_file.c diff
    src/xpdev/str_list.c diff
    src/xpdev/str_list.h diff
    src/xpdev/xpdatetime.c diff
    src/xpdev/xpdatetime.h diff
    text/menu/sysxfer.asc diff
    text/menu/transfer.msg diff
    Removed Files:

    src/sbbs3/sortdir.cpp diff
    A poll() failure with EINTR does not mean a socket is closed. This won't impact Synchronet as it has a separate signal handling thread, but we still need to behave properly for processes that don't. I'm also saying that ENOMEM does not indicate a disconnection, though it may be better to pretend it was disconnected...
  143. Rob Swindell
    Sun Apr 04 2021 02:49:38 GMT-0700 (PDT)
    Added Files:
    
    3rdp/win32.release/libarchive/bin/archive.dll diff
    3rdp/win32.release/libarchive/bin/archive.lib diff
    3rdp/win32.release/libarchive/include/archive.h diff
    3rdp/win32.release/libarchive/include/archive_entry.h diff
    3rdp/win32.release/libarchive/libarchive.props diff
    3rdp/win32.release/zlib/bin/zlib1.dll diff
    3rdp/win32.release/zlib/include/zconf.h diff
    3rdp/win32.release/zlib/include/zlib.h diff
    docs/newfilebase.txt diff
    exec/addfiles.js diff
    exec/archive.js diff
    exec/filelist.js diff
    exec/hashfile.js diff
    exec/postfile.js diff
    exec/rehashfiles.js diff
    exec/updatefiles.js diff
    src/hash/sha1.c diff
    src/hash/sha1.h diff
    src/sbbs3/js_archive.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/upgrade_to_v319.c diff
    src/sbbs3/upgrade_to_v319.vcxproj diff
    Modified Files:
    3rdp/build/Common.gmake diff
    ctrl/file.cnf diff
    ctrl/text.dat diff
    exec/default.src diff
    exec/jsdocs.js diff
    exec/load/avatar_lib.js diff
    exec/load/fidocfg.js diff
    exec/load/sbbslist_lib.js diff
    exec/load/text.js diff
    exec/pcboard.src diff
    exec/sbbslist.js diff
    exec/simple.src diff
    exec/tickit.js diff
    exec/update.js diff
    exec/wildcat.src diff
    src/hash/crc16.c diff
    src/hash/crc16.h diff
    src/hash/crc32.c diff
    src/hash/crc32.h diff
    src/hash/md5.c diff
    src/hash/md5.h diff
    src/hash/objects.mk diff
    src/sbbs3/GNUmakefile diff
    src/sbbs3/addfiles.c diff
    src/sbbs3/addfiles.vcxproj diff
    src/sbbs3/allusers.c diff
    src/sbbs3/atcodes.cpp diff
    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/chksmb.c diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/ctrl/AboutBoxFormUnit.dfm diff
    src/sbbs3/ctrl/MainFormUnit.cpp diff
    src/sbbs3/ctrl/sbbsctrl.bpr diff
    src/sbbs3/dat_rec.c diff
    src/sbbs3/dat_rec.h diff
    src/sbbs3/data.cpp diff
    src/sbbs3/delfiles.c diff
    src/sbbs3/delfiles.vcxproj diff
    src/sbbs3/download.cpp diff
    src/sbbs3/dupefind.c diff
    src/sbbs3/dupefind.vcxproj diff
    src/sbbs3/email.cpp diff
    src/sbbs3/exec.cpp diff
    src/sbbs3/execfile.cpp diff
    src/sbbs3/execfunc.cpp diff
    src/sbbs3/execmisc.cpp diff
    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/filelist.c diff
    src/sbbs3/filelist.vcxproj diff
    src/sbbs3/fixsmb.c diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/ftpsrvr.h diff
    src/sbbs3/ftpsrvr.vcxproj diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/getstats.c diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_com.c diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/js_user.c diff
    src/sbbs3/jsdoor.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/load_cfg.h diff
    src/sbbs3/logfile.cpp diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/mailsrvr.vcxproj diff
    src/sbbs3/main.cpp diff
    src/sbbs3/makeuser.vcxproj diff
    src/sbbs3/msg_id.c diff
    src/sbbs3/msgdate.c diff
    src/sbbs3/msgdate.h diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/node.c diff
    src/sbbs3/nodedefs.h diff
    src/sbbs3/objects.mk diff
    src/sbbs3/pack_qwk.cpp diff
    src/sbbs3/pack_rep.cpp diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/qwknodes.c diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/release.bat diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbs.vcxproj diff
    src/sbbs3/sbbs3.sln diff
    src/sbbs3/sbbs4defs.h diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsecho.vcxproj diff
    src/sbbs3/scandirs.cpp diff
    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfg.h diff
    src/sbbs3/scfg/scfg.vcxproj diff
    src/sbbs3/scfg/scfgnet.c diff
    src/sbbs3/scfg/scfgsub.c diff
    src/sbbs3/scfg/scfgxfr1.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/scfgsave.h diff
    src/sbbs3/services.c diff
    src/sbbs3/services.vcxproj diff
    src/sbbs3/sexyz.vcxproj diff
    src/sbbs3/slog.c diff
    src/sbbs3/smbactiv.c diff
    src/sbbs3/smbutil.c diff
    src/sbbs3/str.cpp diff
    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    src/sbbs3/targets.mk diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/tmp_xfer.cpp diff
    src/sbbs3/uedit/uedit.c diff
    src/sbbs3/un_qwk.cpp diff
    src/sbbs3/un_rep.cpp diff
    src/sbbs3/unbaja.c diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    src/sbbs3/useredit.cpp diff
    src/sbbs3/v4upgrade.c diff
    src/sbbs3/viewfile.cpp diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/websrvr.vcxproj diff
    src/sbbs3/writemsg.cpp diff
    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    src/smblib/smbadd.c diff
    src/smblib/smballoc.c diff
    src/smblib/smbdefs.h diff
    src/smblib/smbdump.c diff
    src/smblib/smbfile.c diff
    src/smblib/smbhash.c diff
    src/smblib/smblib.c diff
    src/smblib/smblib.h diff
    src/smblib/smblib.vcxproj diff
    src/smblib/smbstr.c diff
    src/xpdev/dirwrap.c diff
    src/xpdev/dirwrap.h diff
    src/xpdev/gen_defs.h diff
    src/xpdev/ini_file.c diff
    src/xpdev/str_list.c diff
    src/xpdev/str_list.h diff
    src/xpdev/xpdatetime.c diff
    src/xpdev/xpdatetime.h diff
    text/menu/sysxfer.asc diff
    text/menu/transfer.msg diff
    Removed Files:

    src/sbbs3/sortdir.cpp diff
    Merge branch 'new_file_base' into 'master' New file base Closes #241 See merge request main/sbbs!123
  144. Deucе
    Sun Apr 04 2021 02:41:57 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/uncrustify.cfg diff
    Updates
  145. Deucе
    Sun Apr 04 2021 02:07:48 GMT-0700 (PDT)
    Added Files:
    
    src/syncterm/uncrustify.cfg diff
    Initial pass at uncrustify config for SyncTERM code
  146. Deucе
    Sat Apr 03 2021 21:43:29 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Add DNS_blocking sub-class for non-event driven lookups The DNS_blocking class supports the same API as the DNS class, but does not use events, so any method will complete before returning. As such, the callback argument is optional.
  147. Deucе
    Sat Apr 03 2021 16:00:59 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/sbbs.h diff
    Fix removal of non-timer events js_callback_t was not being properly retreived.
  148. Deucе
    Sat Apr 03 2021 01:15:10 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/GNUmakefile diff
    Not sure why jsdoor depended on sbbs Not having that dependency is the entire point of it.
  149. Deucе
    Sat Apr 03 2021 00:33:49 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    At least test that it compiles. Sheesh.
  150. Deucе
    Sat Apr 03 2021 00:32:43 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Add untested parsers for interesting record types SRV, NAPTR, and URI
  151. Deucе
    Fri Apr 02 2021 23:58:01 GMT-0700 (PDT)
    Modified Files:
    
    exec/imapservice.js diff
    Ensure line isn't valid is it's not read in parse_string() Thus appears to have been the root cause of the infinite loop/memory issue. Basically, line was never replaced if it didn't match ^{[0-9]+}$ and didn't result in a number when passed to parseInt() This resulted in an infinite loop that kept pushing zero-length strings into an array.
  152. Deucе
    Fri Apr 02 2021 23:54:39 GMT-0700 (PDT)
    Modified Files:
    
    exec/imapservice.js diff
    Improve error message
  153. Deucе
    Fri Apr 02 2021 23:51:25 GMT-0700 (PDT)
    Modified Files:
    
    exec/imapservice.js diff
    Check for invalid line thing... Implicated in possible infinite loop/OOM problems.
  154. Eric Oulashin
    Fri Apr 02 2021 21:57:05 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/slyvote/readme.txt diff
    xtrn/slyvote/slyvote.js diff
    Version 1.11: When configured to use all available sub-boards, still don't allow choosing a sub-board that has polls disabled. This fixes an issue where SlyVote was showing all available message groups but some could be empty due to having no sub-boards that allow polls.
  155. Rob Swindell
    Fri Apr 02 2021 22:48:20 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/slyvote/readme.txt diff
    xtrn/slyvote/slyvote.js diff
    Merge branch '247_slyvote_msggroup_undefined' into 'master' Fix for #247: Slyvote javascript error pMsgGrps[pGrpIdx] is undefined See merge request main/sbbs!122
  156. Eric Oulashin
    Fri Apr 02 2021 20:45:35 GMT-0700 (PDT)
    Modified Files:
    
    exec/sbbslist.js diff
    The command prompt is now always on the bottom of the screen (console.screen_rows).
  157. Rob Swindell
    Fri Apr 02 2021 22:47:55 GMT-0700 (PDT)
    Modified Files:
    
    exec/sbbslist.js diff
    Merge branch '244_sbbslist_command_prompt_not_always_on_bottom' into 'master' The command prompt is now always on the bottom of the screen See merge request main/sbbs!121
  158. Deucе
    Fri Apr 02 2021 14:31:13 GMT-0700 (PDT)
    Added Files:
    
    exec/load/dns.js diff
    Modified Files:
    src/sbbs3/exec.cpp diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/js_socket.h diff
    src/sbbs3/js_system.c diff
    src/sbbs3/jsdoor.c diff
    src/sbbs3/jsexec.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/services.c diff
    src/sbbs3/websrvr.c diff
    src/xpdev/sockwrap.c diff
    src/xpdev/sockwrap.h diff
    Initial work on setTimeout() This appears to work and the event handler *should* work on other event types already. Note, this is *nix-only due to the use of poll(). select() will need to be used for Windows to keep XP compatability.
  159. Deucе
    Fri Apr 02 2021 14:31:13 GMT-0700 (PDT)
    Added Files:
    
    exec/load/dns.js diff
    Modified Files:
    src/sbbs3/exec.cpp diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/js_socket.h diff
    src/sbbs3/js_system.c diff
    src/sbbs3/jsdoor.c diff
    src/sbbs3/jsexec.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/services.c diff
    src/sbbs3/websrvr.c diff
    src/xpdev/sockwrap.c diff
    src/xpdev/sockwrap.h diff
    Merge branch 'echicken-less-grumpy' into 'master' Implement support for callback style programming See merge request main/sbbs!118
  160. Michael J. Ryan
    Fri Apr 02 2021 12:36:55 GMT-0700 (PDT)
    Modified Files:
    
    .gitignore diff
    ignore .vscode
  161. Rob Swindell
    Fri Apr 02 2021 13:11:33 GMT-0700 (PDT)
    Modified Files:
    
    .gitignore diff
    Merge branch 'ignore-vscode' into 'master' ignore .vscode See merge request main/sbbs!119
  162. Deucе
    Fri Apr 02 2021 12:45:21 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_socket.c diff
    Fix Socket.connect() Broken with the poll() update
  163. Deucе
    Thu Apr 01 2021 23:20:42 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sockopts.c diff
    Default to IPV6_V6ONLY=1 for jsdoor
  164. echicken
    Thu Apr 01 2021 11:44:16 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/typeahead.js diff
    Added 'autoDelete' setting. Probably needs some more work. If true, and if this is our first input, and if the users types something that would otherwise have been appended to the default text, then the default text is deleted first.
  165. echicken
    Thu Apr 01 2021 11:46:15 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/go-for/go-for.js diff
    Use new typeahead autoDelete setting.
  166. echicken
    Thu Apr 01 2021 11:32:34 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/go-for/go-for.js diff
    xtrn/go-for/help.txt diff
    q from help screen quits help, not the whole program. o from help screen no longer causes go-for to shit its pants in dramatic fashion. s and w are now aliases for tab and ` respectively (item nav).
  167. Rob Swindell
    Wed Mar 31 2021 23:51:52 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/writemsg.cpp diff
    Fix editmsg() always fails bug introduced in commit 0c441424 Another Coverity-issued-fixed-introduced-bug. Failure to remove a non-existant file is not reason for failure.
  168. Deucе
    Wed Mar 31 2021 23:04:32 GMT-0700 (PDT)
    Modified Files:
    
    src/uifc/uifc32.c diff
    Have showbuf() clamp width the same way as height... Basically, assume left is correct, and calculate the correct width to fill the screen to the esge.
  169. Deucе
    Wed Mar 31 2021 21:19:05 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_uifc.c diff
    Make context defaults for with and height same as no-context ones. ARE YOU HAPPY NOW CYAN?!?!
  170. Deucе
    Wed Mar 31 2021 16:52:51 GMT-0700 (PDT)
    Modified Files:
    
    src/build/Common.gmake diff
    os is lower-case. Fixes *nix builds of Win32 programs.
  171. Deucе
    Wed Mar 31 2021 16:50:41 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    Fix error in last commit. Looks like I was partially restoring old code before I stopped.
  172. Deucе
    Wed Mar 31 2021 16:39:24 GMT-0700 (PDT)
    Modified Files:
    
    src/build/Common.gmake diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/services.c diff
    src/sbbs3/xtrn.cpp diff
    src/xpdev/multisock.c diff
    src/xpdev/sockwrap.c diff
    Use new PREFER_POLL define to control poll() usage Rather than depending on _WIN32 which is silly, make it clear what exactly is being done and why. Note that the spy socket stuff and some external stuff on *nix have had the select() implementation removed. To support using select() on !Win32 will require de-refactoring that's not really worth doing. Instead, just use #error and reference the commit where the old code can be found.
  173. Deucе
    Wed Mar 31 2021 14:00:54 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_uifc.c diff
    Set a better default window for uifc.showbuf() Rather than defaulting to zero lines high and the width of the title, default to the entire screen area.
  174. Deucе
    Wed Mar 31 2021 13:56:40 GMT-0700 (PDT)
    Modified Files:
    
    src/uifc/uifc32.c diff
    Fix glitch in showbuf window with odd-numbered width
  175. Deucе
    Wed Mar 31 2021 13:49:42 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_uifc.c diff
    Fix showbuf context issues.
  176. Deucе
    Wed Mar 31 2021 13:21:36 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/mxlookup.c diff
    Fix clang warning
  177. Deucе
    Tue Mar 30 2021 21:12:21 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/websrvr.c diff
    Remove some unused variables.
  178. Deucе
    Tue Mar 30 2021 12:06:49 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/execnet.cpp diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/ident.c diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/mxlookup.c diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbs_status.c diff
    src/sbbs3/services.c diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/xtrn.cpp diff
    Initial poll() work Still needs updates in services_thread(), CGI stuff in websrvr.c, and sbbs_t::external()
  179. Deucе
    Tue Mar 30 2021 12:06:50 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/execnet.cpp diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/ident.c diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/mxlookup.c diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbs_status.c diff
    src/sbbs3/services.c diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/xtrn.cpp diff
    Merge branch 'poll-update' into 'master' Poll update See merge request main/sbbs!116
  180. Deucе
    Mon Mar 29 2021 23:47:30 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/syncterm.c diff
    Use kDownloadsFolderType for downloads. Found by digging through headers... Apple doesn't document this.
  181. Synchronet
    Mon Mar 29 2021 23:15:05 GMT-0700 (PDT)
    Added Files:
    
    3rdp/build/cl-check-before-use.patch diff
    Modified Files:
    3rdp/build/GNUmakefile diff
    Fix macOS build. Just some more macOS silliness.
  182. Deucе
    Mon Mar 29 2021 19:53:45 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ooii.c diff
    Guard against pathologically bad OO][ sequences.
  183. Deucе
    Mon Mar 29 2021 17:49:35 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/GNUmakefile diff
    src/syncterm/conn.c diff
    src/syncterm/extdeps.mk diff
    src/syncterm/objects.mk diff
    Fix WITHOUT_CRYPTLIB option.
  184. Deucе
    Mon Mar 29 2021 16:54:15 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/bbslist.c diff
    Fix issue with redrawing BBS list from settings menu Sometimes the comment wasn't redrawn. Also, remove configurable mouse actions stuff, not implemented in 13 years, I suspect I'll never do it.
  185. Deucе
    Mon Mar 29 2021 09:37:03 GMT-0700 (PDT)
    Modified Files:
    
    exec/fseditor.js diff
    Don't use handle_backspace() to handle delete. While they both delete a character, delete at the end of a line will move the next line up instead of moving this line up. Fixes #243
  186. Rob Swindell
    Sat Mar 27 2021 21:56:38 GMT-0700 (PDT)
    Modified Files:
    
    exec/login.js diff
    Run the "inactive_hangup" option through parseInt() Just in case it was read as a string (e.g. had a ; comment following the value)
  187. Rob Swindell
    Sat Mar 27 2021 17:34:33 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/modopts.ini diff
    Remove the comment from the [login] inactive_hangup value caused it to be represented as JS string rather than number causing an issue with login.js: Node 1 terminal not detected, reducing inactivity hang-up timeout to 0 seconds
  188. Deucе
    Sat Mar 27 2021 16:51:38 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/lord2/cnw/inn.ref diff
    Actually, it was everything *except* Leave that was broken. Redraw map before returning to startma/startma1
  189. Deucе
    Sat Mar 27 2021 16:29:27 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/lord2/cnw/inn.ref diff
    Redraw map when you 'Leave' talking to Ma in Greetree inn. There's likely an ass-ton of these though.
  190. Deucе
    Fri Mar 26 2021 23:19:40 GMT-0700 (PDT)
    Modified Files:
    
    exec/dorkit/sbbs_input.js diff
    js.terminated does not get set when the user disconnects Also check bbs.online for sbbs input.
  191. Deucе
    Fri Mar 26 2021 23:16:40 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/lord/lord.js diff
    Don't enable ctrl keys with dorkit here either.
  192. Deucе
    Fri Mar 26 2021 23:15:47 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Don't enable ctrl-keys for background threads. Synchronet goes boom.
  193. Deucе
    Fri Mar 26 2021 23:06:39 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dorkit.js diff
    Don't set js.terminated mmmkay?
  194. Deucе
    Fri Mar 26 2021 14:36:47 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    Fix a (harmless) user creation error When a players map is set, it automatically triggers a player record write. When a new player is being created, the map is set before the player is added via @addchar. This attempted to write record number undefined in the player file, which threw an exception. Since exceptions are being caught, logged, and ignored, this did not cause a problem, but did log an error when it wasn't necessary.
  195. Deucе
    Fri Mar 26 2021 14:10:53 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    Initialize v variables to zero when creating a new world record. This should never actually be done though since the map would be completely empty.
  196. Deucе
    Fri Mar 26 2021 13:58:00 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Do not attempt to list online players who are not on a valid map location Prevents a who's online list from aborting early when it encounters and invalid player record.
  197. Deucе
    Thu Mar 25 2021 22:56:06 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_global.c diff
    Properly handle CSI m in html_encode() Used by gcc in warnings.
  198. Deucе
    Thu Mar 25 2021 16:58:36 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/conn_telnet.c diff
    telnet_interpret() can grow th input buffer by a byte. If a '\r' is the last thing in the previous receive buffer.
  199. Deucе
    Mon Mar 22 2021 22:36:48 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/websrvr.c diff
    post_to_file() shouldn't close the file since it didn't open it.
  200. Deucе
    Mon Mar 22 2021 21:40:33 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/sockwrap.c diff
    Properly set buffer size when calling getsockopt()
  201. Deucе
    Mon Mar 22 2021 21:41:07 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/multisock.c diff
    Return an error if calloc() fails allocating pollfd array.
  202. Deucе
    Sun Mar 21 2021 14:30:25 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/sockwrap.c diff
    We still need to peek a byte to tell that recv is done with poll() Not all implementations set POLLHUP when a TCP socket is half-closed.
  203. Deucе
    Sun Mar 21 2021 10:42:40 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/sockwrap.c diff
    Fix poll()-based socket_check() implementation Was returning disconnected when it wasn't at times.
  204. Deucе
    Sun Mar 21 2021 10:21:32 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/multisock.c diff
    Fix memory leaks and logic errors in multisock accept() This likely unbreaks the things.
  205. Deucе
    Sun Mar 21 2021 10:07:36 GMT-0700 (PDT)
    Modified Files:
    
    3rdp/build/cl-poll-not-select.patch diff
    Fix logic error in cl poll patch
  206. Deucе
    Sun Mar 21 2021 09:25:35 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/multisock.c diff
    Fix bad listening socket detection in multisock A socket isn't bad just because there was no incoming connections. :D
  207. Deucе
    Sun Mar 21 2021 05:39:22 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/multisock.c diff
    Properly use poll_timeout in xpms_accept()
  208. Deucе
    Sun Mar 21 2021 05:04:54 GMT-0700 (PDT)
    Added Files:
    
    3rdp/build/cl-poll-not-select.patch diff
    Modified Files:
    3rdp/build/GNUmakefile diff
    Patch Cryptlib to use poll() on non-Windows systems
  209. Deucе
    Sun Mar 21 2021 04:36:11 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/sockwrap.c diff
    A poll() failure with EINTR does not mean a socket is closed. This won't impact Synchronet as it has a separate signal handling thread, but we still need to behave properly for processes that don't. I'm also saying that ENOMEM does not indicate a disconnection, though it may be better to pretend it was disconnected...
  210. Deucе
    Sat Mar 20 2021 21:18:04 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/multisock.c diff
    src/xpdev/sockwrap.c diff
    Stop using select() in *nix for xpdev stuff.
  211. Deucе
    Sat Mar 20 2021 20:49:33 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/conn.c diff
    Check for writability on non-blocking connect(), not read
  212. Deucе
    Sat Mar 20 2021 20:00:27 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/conn.c diff
    Stop using select() in SyncTERM completely.
  213. Deucе
    Sat Mar 20 2021 15:09:33 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/rlogin.c diff
    src/syncterm/ssh.c diff
    src/xpdev/sockwrap.c diff
    src/xpdev/sockwrap.h diff
    Add three new socket status functions: socket_readable() returns TRUE if recv() will not block if called on the specified socket. socket_writable() returns TRUE if send() will not block if called on the specified socket. socket_recvdone() returns TRUE if all data has been recv()ed an the socket is closed. "will not block" includes "will return an error". This matches the three main use-cases for select() of a single socket in Synchronet. Use them in the SyncTERM RLogin stuff so they can be tested easily.
  214. Deucе
    Sat Mar 20 2021 12:38:52 GMT-0700 (PDT)
    Added Files:
    
    3rdp/build/cl-mingw-add-m32.patch diff
    Modified Files:
    3rdp/build/GNUmakefile diff
    src/build/Common.gmake diff
    src/conio/GNUmakefile diff
    src/syncterm/GNUmakefile diff
    src/syncterm/syncterm.c diff
    Add support for MinGW-w64 MinGW32 is getting long in the tooth and is missing a lot of modern Windows features as well as having broken headers. Most people will be using MinGW-w64 at this point, so add support for it. Once I ensure SyncTERM works properly with it, MinGW32 support will be discontinued. I suspect this will impact exactly zero people since the reason this exists is to build the Win32 versions of SyncTERM on FreeBSD. Changes: - Explicitly request 32-bit Windows output - Detect the string "mingw32" anywhere in the hardware description - Explicitly link with libuuid - Add a terrible hack to syncterm.c to block wincrypt.h
  215. Deucе
    Sat Mar 20 2021 12:21:10 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/cterm.c diff
    Ensure cleared block in in scrolling region Do not clear at the current X/Y on scroll (derp)
  216. Deucе
    Sat Mar 20 2021 11:47:09 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/cterm.c diff
    Fix error on scroll with left/right margins Scrolling would clear the line to the end of the screen, not the end of the scrolling region. Sorry echicken.
  217. Rob Swindell
    Fri Mar 19 2021 21:24:28 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/websrvr.c diff
    Track the active client "highwater mark" (highest number of concurrent clients) Could be useful for knowing if you need to increase MaxClients for typical usage.
  218. Rob Swindell
    Fri Mar 19 2021 19:03:01 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/fido_syscfg.js diff
    Refactor the get_pw() and get_ticpw() methods First look for a linked node matching the node address string as passed, then look for a match using the normalized address (removing .0 and @domain). The "ALL" wildcard should not be used for password lookups. This should fix reported issue 240.
  219. Deucе
    Fri Mar 19 2021 13:43:04 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/multisock.c diff
    Revert last commit that used poll() Borland hates it.
  220. Deucе
    Fri Mar 19 2021 13:25:52 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/multisock.c diff
    src/xpdev/sockwrap.h diff
    First attempt to use poll() There has been a sighting of Synchronet exceeding FD_SETSIZE sockets. This means select() is of less use and we need to start migrating to either poll() or platform-specific methods to achieve the same end. This commit is mostly to check that poll() builds on Win32 and that it actually works.
  221. Deucе
    Fri Mar 19 2021 12:20:00 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Declare the 't' variable used for word-wrap. Hopefully fixes crash in lord when composing a message and using word-wrap.
  222. Deucе
    Fri Mar 19 2021 11:04:50 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/xpbeep.c diff
    Fix race condition when handle is opened by playing a sample. Caused a SyncTERM hang if it played a FG beep.
  223. Deucе
    Fri Mar 19 2021 11:04:50 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/sdl_con.c diff
    Fix AltGr with SDL2 This is pretty insane since SDL2 completely ignores the keysym value of the X11 keyboard event, so here's what we do... 1) When there's a keypress that includes right-alt, store the sym/mod 2) When we get text input, if it's the same as we would get if ALT wasn't pressed for the last keydown, parse through the mapping (ie: handle ALT keys) 3) If it's different, use that (gets AltGr modified value) I get that AltGr is hard in a cross-platform way, but just pretending it doesn't exist at all for key input is a very weird choice.
  224. Deucе
    Fri Mar 19 2021 11:04:50 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/term.c diff
    Better comment conformance in key parsing There's a comment saying we set key=0 when we consume it... do so in a couple cases where it wasn't done. Range check the key before sending to the remote. This should not actually do anything different, but in the future if things are changed at least the comments won't be misleading.
  225. Rob Swindell
    Fri Mar 19 2021 00:02:40 GMT-0700 (PDT)
    Modified Files:
    
    text/menu/main.msg diff
    Put back the space that got removed from the first heading line.
  226. Rob Swindell
    Thu Mar 18 2021 21:23:33 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/postmsg.cpp diff
    Move the tags prompt to *before* the locking of the message base Thanks Mr. Executive Chicken esq. for the telephone call and bug report.
  227. Rob Swindell
    Thu Mar 18 2021 21:00:24 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/smbdefs.js diff
    Define SMB_TAGS_MAXLEN for maximum total tags length per message
  228. Rob Swindell
    Thu Mar 18 2021 21:01:36 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/smbdefs.js diff
    Max that SMB_TAGS_MAXLEN
  229. Rob Swindell
    Thu Mar 18 2021 19:43:33 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/echocfg.c diff
    src/sbbs3/rechocfg.c diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsecho.h diff
    Build log rotation into SBBSecho, bump version to 3.14 2 new configuration params: MaxLogSize (default: 10M) and MaxLogsKept (10)
  230. Rob Swindell
    Thu Mar 18 2021 18:36:54 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/xpbeep.c diff
    Fix the single-threaded build: error: ‘handle_mutex’ undeclared
  231. Rob Swindell
    Thu Mar 18 2021 16:51:56 GMT-0700 (PDT)
    Modified Files:
    
    text/menu/main.msg diff
    Fix indentation problem introduced in previous commit.
  232. Rob Swindell
    Thu Mar 18 2021 16:39:37 GMT-0700 (PDT)
    Modified Files:
    
    text/menu/main.msg diff
    Remove trailing newline (not using GitLab edit file this time).
  233. Rob Swindell
    Thu Mar 18 2021 16:37:17 GMT-0700 (PDT)
    Modified Files:
    
    text/menu/main.msg diff
    Revert "Remove trailing newline" This reverts commit f6c2bc3337b0855cf0f17bf1cb4ab158dda8bfae.
  234. Deucе
    Thu Mar 18 2021 14:26:51 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/xpbeep.c diff
    Remove debug crap.
  235. Deucе
    Thu Mar 18 2021 14:25:32 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/xpbeep.c diff
    Fix bug in last commit (extra parameter)
  236. Deucе
    Thu Mar 18 2021 14:24:02 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/xpbeep.c diff
    When trying to open pulse, play a millisecond of silence This allows the playback thread to open the device and errors to be checked. Otherwise, the first sound won't play.
  237. Rob Swindell
    Thu Mar 18 2021 14:22:14 GMT-0700 (PDT)
    Modified Files:
    
    text/menu/main.msg diff
    Remove trailing newline
  238. Deucе
    Thu Mar 18 2021 13:38:54 GMT-0700 (PDT)
    Modified Files:
    
    exec/imapservice.js diff
    Fix two isses with IMAP service... 1) user.number immediately after login() remains zero, but changes "sometime" after. Avoid using user.number right after login() call to generate filename. All data/user/0000.imap files can be deleted after this change. 2) Saving Seen data would modify the object storing it when binary seen values were used. Use JSON.parse(JSON.stringify() to make a copy before saving and restore it afterward. Should fix issue reported by nickshanks1 over IRC.
  239. Rob Swindell
    Thu Mar 18 2021 13:16:46 GMT-0700 (PDT)
    Modified Files:
    
    text/menu/main.msg diff
    Add L command to main menu (replacing the never-used Z command) Addresses issue #239
  240. Deucе
    Thu Mar 18 2021 10:16:42 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/bbslist.c diff
    Fix menu draw when returning to dialing list from comment Also note the spectacularily poorly named WIN_REDRAW and WIN_NODRAW flags. WIN_REDRAW indicates that this *is* a redraw of the menu, which indicates that you don't need to redraw the menu (because it's already correct on screen). Weird, but not insane... WIN_NODRAW on the other hand indicates this is *not* a redraw, and that the window is incorrect on screen and you therefore *must* redraw the menu. That is to say: WIN_REDRAW prevents the window from being redrawn WIN_NODRAW forces the window to be redrawn
  241. Deucе
    Thu Mar 18 2021 09:57:28 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/xpbeep.c diff
    Do what was likely intended by 8b6b7b7c The previous attempt completely disabled pulse audio.
  242. Deucе
    Thu Mar 18 2021 00:14:39 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/xpbeep.c diff
    Re-enable PulseAudio, ensure the handle is set to NULL on close.
  243. Deucе
    Wed Mar 17 2021 23:41:18 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/xpbeep.c diff
    Fix ALSA output on Linux It seems that the "real" ALSA will actually silently fail if you try to clear errors when no errors have occured. The FreeBSD emulation of ALSA does not have this insane requirement, so this went unnoticed for the 1.1 release. I suspect that this actually fixes SF bug 24, because ALSA is preferred over pulseaudio.
  244. Rob Swindell
    Wed Mar 17 2021 21:27:07 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Add filename and line number to exception catch log messages.
  245. Deucе
    Wed Mar 17 2021 15:45:26 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/bbslist.c diff
    src/syncterm/bbslist.h diff
    First cut at adding a comment field to listings. The jury is still out on some details... 1) If you press ESC while editing the comment, it currently cancels the edit. Would people expect ESC to exit the program instead? 2) The format/colours of the displayed comment... right now it's using the UIFC background colours, and not draing a border or window. 3) Just how long should the comment field be, and how should it be edited.
  246. Deucе
    Wed Mar 17 2021 13:38:18 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/sdl_con.c diff
    Special-case TAB so "backtab" works properly.
  247. Deucе
    Wed Mar 17 2021 10:38:03 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_socket.c diff
    Close Socket on unhandled TLS errors While errors on transmit seem to be handled well, errors on receive do not, especially through js_recv_line() which has been seen to trigger a large number (hundreds) of ECONNRESET errors. To prevent this, simply close the socket when an otherwise unhandled error occurs. Almost certainly fixes that issue, but the underlying cause is still undetermined. The calling script (imapservice.js) was checking Socket.is_connected after each recv_line() call, so if the socket was actually reset, it would be expected to only call it once. An alternative would be to explicitly handle the error that is seen (CRYPT_ERROR_PARAM1), but let's try a generic fix first and see of anything breaks because of it. Most likely issue would be an inability to recv() data after calling shutdown(), but I don't think many people do that except to move the TIME_WAIT to where they want it.
  248. Deucе
    Wed Mar 17 2021 10:27:58 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    src/sbbs3/websrvr.c diff
    Limit sends in terminal and web servers to 8k as well. It fixed an issue in js_socket.c, no reason to expect better behaviour with TLS. This may fix SZ YModem-G transfers on cvs.synchro.net...
  249. Deucе
    Wed Mar 17 2021 10:13:50 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/mime.js diff
    Work around exception on spammy mail... Don't include the obsolete unstructured regex in abs.unstrctured, and use the abnf.unstructured for parsing headers. This fixes an issue seen running the IMAP server on gratuitously spammy messages.
  250. Deucе
    Wed Mar 17 2021 06:51:51 GMT-0700 (PDT)
    Modified Files:
    
    src/uifc/uifc32.c diff
    Small fixes for ugetstr() - Backtab also exits with K_TABEXIT when the string is selected - Backspace scrolls the text to the left of the cursor to the right if the left of the input is not the start of the string.
  251. Deucе
    Tue Mar 16 2021 21:36:51 GMT-0700 (PDT)
    Modified Files:
    
    exec/imapservice.js diff
    Rename variable for consistency.
  252. Deucе
    Tue Mar 16 2021 21:35:39 GMT-0700 (PDT)
    Modified Files:
    
    src/uifc/uifc32.c diff
    Allow showbuf buffers to be placed up against the status line.
  253. Deucе
    Tue Mar 16 2021 16:19:58 GMT-0700 (PDT)
    Modified Files:
    
    exec/imapservice.js diff
    Don't overwrite the base global with the index base when reading config This falls squarely into the "How did that ever work?" category.
  254. Rob Swindell
    Tue Mar 16 2021 14:04:09 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/logonlist_lib.js diff
    Insure there's always a logon.jsonl file before calling file_backup() in maint Fix for Altere's logons yesterday list that isn't rotating out because nobody logged on today.
  255. Deucе
    Tue Mar 16 2021 10:59:11 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.h diff
    src/syncterm/window.c diff
    Add a "fake mode" for output drivers that can't change screen size Previously, the height was left the same, and the width was set to the next-lowest "standard" size. Now the cterm window is set to the size of the requested mode and both top/bottom and side bars are added to make the virtual screen the same as the requested one. Using the "current" mode still retains the old behaviour. Closes SF request 11
  256. Deucе
    Tue Mar 16 2021 10:24:03 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/sdl_con.c diff
    src/conio/sdlfuncs.c diff
    src/conio/sdlfuncs.h diff
    Don't allow ALT-Direction to work when maximized With maximized windows, unexpected behaviour occured when the program resized itself, then the window manager minimized/restored the window Should address SF bugs #18 and #13
  257. Deucе
    Tue Mar 16 2021 05:15:25 GMT-0700 (PDT)
    Added Files:
    
    3rdp/build/cl-allow-none-auth.patch diff
    Modified Files:
    3rdp/build/GNUmakefile diff
    src/syncterm/bbslist.c diff
    src/syncterm/conn.c diff
    src/syncterm/conn.h diff
    src/syncterm/ssh.c diff
    src/syncterm/st_crypt.c diff
    src/syncterm/st_crypt.h diff
    src/syncterm/term.c diff
    Add support for the SSH "none" auth method. This is used by some BBSs to enable encryption without needing to integrate the BBS user base into their SSH server (and presumably so they don't need to run multiple SSH servers). All users log in with the same username (ie: "bbs") and no password is requested or required. Once the BBS starts, it prompts for the BBS user name and password as normal. In SyncTERM, the user/password/syspass fields are redefined as SSHuser/BBSuser/BBSpassword and they are moved around when you change the connection type. This means that if you change a listing that has a syspass to SSH (no auth) and back, the syspass is lost. I'm not sure if I plan to fix this or not.
  258. Deucе
    Tue Mar 16 2021 00:26:21 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbscon.c diff
    src/sbbs3/startup.h diff
    Add NO_TELNET option to terminal server.
  259. Deucе
    Tue Mar 16 2021 00:32:52 GMT-0700 (PDT)
    Added Files:
    
    3rdp/build/js-Wno-misleading-indentation.patch diff
    Modified Files:
    3rdp/build/GNUmakefile diff
    Fix indentation warning from Clang in JS header It would be fine if this only warned while building JS, we're used to ignoring that, but this bugger warns while building Synchronet stuff.
  260. Deucе
    Mon Mar 15 2021 22:59:56 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    src/syncterm/ripper.h diff
    src/syncterm/term.c diff
    Suspend RIP processing for file transfers
  261. Deucе
    Mon Mar 15 2021 15:57:56 GMT-0700 (PDT)
    Modified Files:
    
    3rdp/build/GNUmakefile diff
    Disable tracejit on OSs it's not supported on. Only supported on FreeBSD, Linux, Solaris, OS/2, GNU, Cygwin, and Darwin Should allow OpenBSD to build JS engine.
  262. Deucе
    Mon Mar 15 2021 15:19:24 GMT-0700 (PDT)
    Added Files:
    
    3rdp/build/cl-openbsd-threads.patch diff
    3rdp/build/cl-random-openbsd.patch diff
    3rdp/build/cl-uint64_t-redefine.patch diff
    Modified Files:
    3rdp/build/GNUmakefile diff
    Add some more patches to make OpenBSD 6.8 build Not yet tested, so more patches may be incoming.
  263. echicken
    Mon Mar 15 2021 13:42:31 GMT-0700 (PDT)
    Modified Files:
    
    exec/fido-nodelist-browser.js diff
    Comment out previous change pending fixes to nodelist firstline parsing in ftn_nodelist.js.
  264. echicken
    Mon Mar 15 2021 12:55:56 GMT-0700 (PDT)
    Modified Files:
    
    exec/fido-nodelist-browser.js diff
    Show domain & date information in top bar when domain tree expanded.
  265. Deucе
    Mon Mar 15 2021 12:00:59 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/bbslist.c diff
    Move log options into a separate menu and fix overflows There are too many options now to fit in an 80x25 screen, so group all the log options into a separate sub-menu. While we're here, notice that we're writing paths up to MAX_PATH into an 80-character buffer and fix that.
  266. Deucе
    Mon Mar 15 2021 03:42:28 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/bbslist.c diff
    Make log level selection a menu like every other non-binary option.
  267. Deucе
    Mon Mar 15 2021 02:41:45 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/bbslist.c diff
    Change default connection type from RLogin to SSH because it's 2021 dammit.
  268. Deucе
    Mon Mar 15 2021 01:48:47 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbs_ini.c diff
    DOSCmd is only on FreeBSD and DOSEmu is only on Linux. Do not get/set these values on other OSs. Fixes a segfault caused by default_dosemuconf_path being undefined on FreeBSD, but would also happen on any other *nix platform (ie: OpenBSD, etc).
  269. Deucе
    Mon Mar 15 2021 01:28:09 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/term.c diff
    Work around broken sz Some broken protocol drivers (like sz) don't send a YModem terminate at the end of a batch (or maybe just after a single file?) so SyncTERM ends up trying to fall back from G to CRC-16 to 8-bit before ending. This detects when the last known file was received, and if the YModem header that follows is not correct, aborts the transfer.
  270. Deucе
    Mon Mar 15 2021 01:10:05 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    Revert the last changes. Something weird is happening to the cryptlib session when SZ sends a lot of data... no real clues left.
  271. Deucе
    Mon Mar 15 2021 00:51:44 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    Changing timeout didn't help. Use PopData of zero bytes to rekey... This issue may actually be a rekey issue, to clear this, we need to call cryptPopData(), but we can pop zero bytes. In this case, re-try the flush.
  272. Deucе
    Mon Mar 15 2021 00:16:19 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    Increase flush write timeout for SSH. During YModem-G transfers, the previous 5-second timeout was exceeded.
  273. Deucе
    Mon Mar 15 2021 00:03:07 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/term.c diff
    Revert last change... YModem is supposed to send a termination block.
  274. Deucе
    Sun Mar 14 2021 22:57:30 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Add comments for all the things. Just copied out of the documentation.
  275. Deucе
    Sun Mar 14 2021 22:57:30 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/term.c diff
    In XModem/YModem, when total_files reaches zero, stop downloading.
  276. Rob Swindell
    Sun Mar 14 2021 17:34:11 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/services.ini diff
    Add IMAPS service example configuration, disabled by default
  277. Deucе
    Sun Mar 14 2021 15:16:41 GMT-0700 (PDT)
    Added Files:
    
    src/syncterm/telnets.c diff
    src/syncterm/telnets.h diff
    Modified Files:
    src/syncterm/conn.c diff
    src/syncterm/conn.h diff
    src/syncterm/conn_telnet.c diff
    src/syncterm/conn_telnet.h diff
    src/syncterm/objects.mk diff
    src/syncterm/ssh.c diff
    src/syncterm/ssh.h diff
    Add support for telnets (Telnet over SSL) It's not clear if this is working properly or not since the only BBS I know of that supports telnets (fido.beholderbbs.org) doesn't seem to do any telnet "stuff".
  278. Deucе
    Sun Mar 14 2021 14:39:34 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/conn.c diff
    src/syncterm/conn_pty.c diff
    src/syncterm/modem.c diff
    src/syncterm/rlogin.c diff
    src/syncterm/ssh.c diff
    Use a separate status for thread exited than thread not started Should fix SF #45 since it appears the input thread started then exited before SyncTERM realized the connection was successful.
  279. Deucе
    Sun Mar 14 2021 14:12:59 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/conn.c diff
    src/syncterm/conn.h diff
    src/syncterm/conn_telnet.c diff
    src/syncterm/conn_telnet.h diff
    src/syncterm/rlogin.c diff
    src/syncterm/rlogin.h diff
    src/syncterm/telnet_io.c diff
    src/syncterm/telnet_io.h diff
    Move telnet expansion/parsing into conn layer In preperation for telnets support, make conn support TX/RX parsers. Make telnet use those new hooks, and remove unused and ambiguous bits of the conn API (conn_recv(), conn_peek()).
  280. Deucе
    Sun Mar 14 2021 03:16:29 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/syncterm.c diff
    Disable ALPHA splash screen. All the major bugs I'm aware of are fixed (though RIP is still incomplete)
  281. Deucе
    Sun Mar 14 2021 03:06:09 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/sdl_con.c diff
    Fix SF #44 problem keypad non-numbers Make an exception for all keypad stuff.
  282. Deucе
    Sun Mar 14 2021 01:48:09 GMT-0800 (PDT)
    Modified Files:
    
    src/conio/bitmap_con.c diff
    Fix SF bug #40 Cursor update issue, cursor was only redrawn on a blink status change. This will redraw the cursor any time the cursor moves now.
  283. Deucе
    Sat Mar 13 2021 22:43:56 GMT-0800 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Don't make parse_rip() do anything when RIP is disabled. Should fix file transfer issues. (SF bug #38)
  284. Rob Swindell
    Sat Mar 13 2021 20:35:21 GMT-0800 (PDT)
    Modified Files:
    
    exec/load/newsutil.js diff
    Do the FTN CHRS kludge to MIME charset translation for CP866->koi8-r for Al (TRMB) and his Russian users, requested via DOVE-Net. Do an FTN "ASCII 1" -> "US-ASCII" translation of the CHRS->charset too.
  285. Deucе
    Sat Mar 13 2021 16:55:56 GMT-0800 (PST)
    Added Files:
    
    3rdp/build/js-volatile-outside-functions.patch diff
    Modified Files:
    3rdp/build/GNUmakefile diff
    Don't use "asm volatile" outside of functions. Clang 11 throws an error if you do.
  286. Deucе
    Sat Mar 13 2021 14:22:29 GMT-0800 (PST)
    Modified Files:
    
    src/syncterm/term.c diff
    Remove some backslashes from the ends of lines... Presumably these were part of macros once and never cleaned up?
  287. Deucе
    Sat Mar 13 2021 13:52:42 GMT-0800 (PST)
    Modified Files:
    
    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/sbbs3/js_conio.c diff
    src/uifc/uifc32.c diff
    We can't pollute the namespace with curses everywhere. Just rename ESCDELAY member to escdelay.
  288. Rob Swindell
    Sat Mar 13 2021 12:46:12 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/writemsg.cpp diff
    Fix error removing INPUT.MSG introduced in Commit 0c441424 remove() is expected to fail in this scenario sometimes depending on how writemsg() is used - in the error case, the user was trying to edit his .plan file with the ;plan command: term Node 10 <Deuce> !ERROR 11 (Resource temporarily unavailable) in writemsg.cpp line 1232 (editfile) removing "/sbbs/node10/temp/INPUT.MSG" access=0 Thanks for the bug report!
  289. Deucе
    Sat Mar 13 2021 11:48:07 GMT-0800 (PST)
    Modified Files:
    
    src/conio/ciolib.h diff
    include curs_fix from ciolib.h to fix openSUSE Apparently, the ncurses in openSUSE Leap-15.2 has the following: Since we have a struct member named ESCDELAY, we can't actually set it at all when this macro is defined. The three possibilities to deal with this are: 1) Rename the ESCDELAY member. Likely the best option long-term, but I don't want to find everything and update it at this time. 2) Avoid using the ESCDELAY member #ifdef ESCDELAY Which makes it not work in the exact set of circumstances it makes sense in. 3) #include curs_fix.h from ciolib.h This actually renames the ESCDELAY member to _nc_ESCDELAY, but you won't be able to actually notice this.
  290. Deucе
    Sat Mar 13 2021 11:24:08 GMT-0800 (PST)
    Modified Files:
    
    src/conio/cterm.c diff
    Fix issue with ATASCII delete/insert character. Before the Unicode support was added, displaying a NUL would clear the cell, but now it is translated. For ATASCII, this results in a heart character being displayed instead of an empty cell when inserting or deleting characters. Fixes bug #28 on Sourceforge.
  291. Deucе
    Sat Mar 13 2021 00:00:04 GMT-0800 (PST)
    Modified Files:
    
    src/syncterm/term.c diff
    Handle the new value of CIO_KEY_QUIT better. The low byte is no longer zero.
  292. Deucе
    Sat Mar 13 2021 00:00:04 GMT-0800 (PST)
    Modified Files:
    
    3rdp/build/terminal-params.patch diff
    Fix SSH height/width parameters set get works as well as set.
  293. Rob Swindell
    Wed Mar 10 2021 23:33:55 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/pktdump.c diff
    Fix issue display AREA keywords at beginning of body text or any lines that were only terminated with carriage-return (\r) since these are treated rather-oddly by the FTN software as a line-ending and line-feeds are to be ignored. So transfer \r to \n on output and ignore the \n's in the body text.
  294. Rob Swindell
    Wed Mar 10 2021 21:24:30 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/scfg/scfgsys.c diff
    Add the missing curly braces from previous commit.
  295. Rob Swindell
    Wed Mar 10 2021 19:34:16 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/scfg/scfgsys.c diff
    Read the Let's Encrypt ACME host name from the letsyncrypt.ini file.
  296. Deucе
    Wed Mar 10 2021 16:48:53 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/scfg/scfgsys.c diff
    Fix typo in last commit, reported by MobileCoz via IRC... Thanks!
  297. Deucе
    Wed Mar 10 2021 15:43:27 GMT-0800 (PST)
    Modified Files:
    
    exec/letsyncrypt.js diff
    If the service host is changed, the old private key is invalid. Just delete the old private key and create a new one for the new host.
  298. Deucе
    Wed Mar 10 2021 15:36:12 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/scfg/scfgsys.c diff
    Update letsyncrypt.key as well as the SSL/SSH keys when syspass is changed. Currently, this is hard-coding the name of the key, which should be read from the letsyncrypt.ini file in case someone is using an ACME v2 service that is not provided by letsyncrypt.org.
  299. Deucе
    Wed Mar 10 2021 15:36:12 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Some cleanup Remove obsolete comments, and remove an extraneous savetime call.
  300. echicken
    Wed Mar 10 2021 06:19:03 GMT-0800 (PST)
    Modified Files:
    
    webv4/pages/003-games.xjs diff
    If 'code' query param exists, is a valid xtrn code, and user can access, then jump right into it after the page loads. (Requested by Mortifis.)
  301. Rob Swindell
    Wed Mar 10 2021 01:24:16 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/scfg/scfgxtrn.c diff
    Set the default event error log level to LOG_ERR (not LOG_EMERG)
  302. Rob Swindell
    Tue Mar 09 2021 19:19:20 GMT-0800 (PST)
    Modified Files:
    
    src/xpdev/ini_file.c diff
    De-duplicate the lists returned by iniGet/ReadSectionList() I noticed a duplicate area name (AGN_MODS) in a filefix %LIST response from my FidoNet hub that's running TickIt/TickFix, and I thought to myself: Self, that shouldn't be possible. But alas, if one does have duplicate sections in a .ini file (e.g. tickit.ini), the iniGet/ReadSectionList() function would indeed return duplicate items in the list. Since the second section with the same name is not actually accessible, it shouldn't be counted as a valid section and thus not returned as part of the section list. Section names are not case sensitive, so the names are compared case-insensitively for de-duplication purposes too.
  303. Deucе
    Tue Mar 09 2021 16:22:52 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    xtrn/lord2/lord2.js diff
    Save time in player.lastsaved every time. This allows timing out the battle bit. If the game/BBS crashes while you're in battle, you should now only need to wait two times the idle timeout (ie: 2 * 5 minutes) before you can get back in.
  304. Deucе
    Tue Mar 09 2021 16:08:43 GMT-0800 (PST)
    Modified Files:
    
    xtrn/knk/knk.js diff
    xtrn/lord/lord.js diff
    Basic CONNECTION_CLOSED key handling in LORD and KnK
  305. Deucе
    Tue Mar 09 2021 16:00:47 GMT-0800 (PST)
    Modified Files:
    
    exec/load/dorkit.js diff
    xtrn/lord2/l2cfg.js diff
    xtrn/lord2/l2lib.js diff
    xtrn/lord2/lord2.js diff
    xtrn/lord2/map.dat diff
    Disconnect Commit #2 - In dorkit, start the timer if keyboard is invoked and dk.connection.active is false. - In LORD2, check for a CONNECTION_CLOSED key after getkey() where appropriate. - Also in LORD2, allow the busy flag to suspend pending timeouts.
  306. Deucе
    Tue Mar 09 2021 15:08:29 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    getkey() can return undefined.
  307. Deucе
    Tue Mar 09 2021 15:26:34 GMT-0800 (PST)
    Modified Files:
    
    exec/dorkit/ansi_input.js diff
    exec/dorkit/jsexec_input.js diff
    exec/dorkit/local_console.js diff
    exec/dorkit/sbbs_input.js diff
    exec/dorkit/socket_input.js diff
    exec/load/dorkit.js diff
    src/conio/ciolib.h diff
    Deal with dorkit hangup issues... commit #1 1) Ciolib CIO_KEY_QUIT and CIO_KEY_MOUSE conflicted with ALT_7 and ALT_6 respectively, change these to use \xE0 prefixes. 2) Add a new dorkit key "CONNECTION_CLOSED" which is returned by getkey() after the connection is closed. 3) Have the various connection back-ends send a CONNECTION_CLOSED key to the keyboard buffer when the connection is closed. 4) Have the local console send a CONNECTION_CLOSED key when the window is closed. 5) Disable auto_terminate in dorkit. 6) Introduce dk.connection.disconnect_timeout variable (defaults to 30 seconds). After a CONNECTION_CLOSED key is received, dorkit will immediately set js.terminated, then after disconnect_timeout seconds, will enable js.auto_terminate. 7) After a CONNECTION_CLOSED key, waitkey() always returns true, getkey() always returns a CONNECTION_CLOSED key, and getbyte() always returns undefined. 8) To prevent a poorly written door from hogging 100% CPU for the whole 30 seconds, put an mswait(1) in the connection check when the inactivity timer is running.
  308. Deucе
    Tue Mar 09 2021 09:19:48 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Remove 'y'
  309. Deucе
    Tue Mar 09 2021 02:23:35 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Allow comments at end of @if ... then do lines This likely breaks things nobody does.
  310. Deucе
    Tue Mar 09 2021 02:05:32 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2cfg.js diff
    Fix variable editors, they had an off-by-one.
  311. Deucе
    Tue Mar 09 2021 02:05:33 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/cnw/auction.ref diff
    Fix inifinite loop when there's no auctions
  312. Deucе
    Tue Mar 09 2021 02:05:33 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    More CNW related fixes... - Convert second argument to @readspecial to upper-case - Convert both sides to strings for equality comparisons - Implement @display label in file.name - Fix @do XXX is getname ### where ### is the current player
  313. Rob Swindell
    Tue Mar 09 2021 00:39:35 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/scfg/scfgxtrn.c diff
    Make it very obvious when a timed event has been disabled By displaying "<DISABLED>" instead of the command-line in the event list.
  314. Deucе
    Mon Mar 08 2021 23:52:26 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    xtrn/lord2/lord2.js diff
    More svar fixes, and fix &money and &gold in hard-coded strings.
  315. Deucе
    Mon Mar 08 2021 22:59:41 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    xtrn/lord2/lord2.js diff
    @if still needs the old getsvar() behaviour.
  316. Deucе
    Mon Mar 08 2021 22:48:20 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Fix @NUMRETURN It appears this was written for RTWall to detect BBS numbers with.
  317. Deucе
    Mon Mar 08 2021 22:44:20 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    xtrn/lord2/lord2.js diff
    Fixes required for RTWall - Have getsvar() join arguments with spaces for strings - Fix fg/bg in @readstring/@readnum - Special-case NIL in readstring (this is where it's documented)
  318. Deucе
    Mon Mar 08 2021 21:43:36 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    xtrn/lord2/lord2.js diff
    Various engine fixes/updates - Set default values for world.dat so it can be created with new() - Add `r0 to start of the default more string - Create the world file if it doesn't exist (for globals) - Fix stupid error in @do trim - Support all the different @clear commands - Support the different @key commands properly - Support @name command - Only @say is still required for the NPC "stuff" that nothing uses - Fix blank line skip looking for @begin after @if...then do Was looking for comments starting with ; only - Add try/catch around maint call in case it doesn't exist - Don't load rules.ref if there's a REF passed on command-line
  319. Deucе
    Mon Mar 08 2021 16:19:17 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Fix @rank section argument usage.
  320. Deucе
    Mon Mar 08 2021 16:03:41 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/cnw/map.dat diff
    More Pooh's Honey Cave fixes.
  321. Deucе
    Mon Mar 08 2021 15:50:17 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/cnw/map.dat diff
    Fix exit from Pooh's Honey Cave as well. Was broken the same way as Christopher Robin's House.
  322. Deucе
    Mon Mar 08 2021 15:42:42 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Add date/node to error log entries.
  323. Deucе
    Mon Mar 08 2021 15:34:00 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    @readnum and @readstr ignore invalid fg/bg arguments (ie: comments)
  324. Deucе
    Mon Mar 08 2021 15:35:10 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/cnw/map.dat diff
    Fix exit from Christopher Robin's house. Previously dumped you on an uninitialized map, not returns you to the hundred acre wood as intended.
  325. Deucе
    Mon Mar 08 2021 12:19:35 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Support '9' for PgUp and '3' for PgDn in item lists.
  326. Deucе
    Mon Mar 08 2021 11:58:42 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Log REF errors to error.log In general, LORD2 ignores errors and continues, but various things will cause exceptions to be thrown. Instead of tracking all these down and suppressing them, log them to error.log and continue. Since we're doing this, we can now throw Error()s whenever we detect an issue in REF files, so add some of these in.
  327. Rob Swindell
    Mon Mar 08 2021 11:46:14 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/sbbs_status.c diff
    src/sbbs3/websrvr.c diff
    Remove a few more extraneous (void) typedefs in protected_*int_init calls
  328. Rob Swindell
    Mon Mar 08 2021 11:40:23 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/ftpsrvr.c diff
    Remove extraneous (void) typedefs See if this resolves rjwboys reported error: threadwrap.h:204:42: error: expected expression before ‘do’ #define protected_uint32_init(pval, val) atomic_init(pval, val)
  329. Rob Swindell
    Mon Mar 08 2021 11:09:06 GMT-0800 (PST)
    Modified Files:
    
    src/build/Common.gmake diff
    Add -std=c++11 for .cpp builds Hope to address error reported by rjwboys via IRC when using gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) from ansiterm.cpp:22 /user/include/c++/5/bits/c++0x_warning.h:32:2 error #error this file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
  330. MJ
    Mon Mar 08 2021 09:29:39 GMT-0800 (PST)
    Modified Files:
    
    exec/load/frame.js diff
    fix issue with over-scrolling in scroll, pagedown
  331. Deucе
    Sun Mar 07 2021 22:11:10 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/cnw/talk.ref diff
    @do goto I mean.
  332. Deucе
    Sun Mar 07 2021 22:08:46 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/cnw/talk.ref diff
    Use goto instead of routine to clear menu for Gossip. Calling @routine blew up the stack, so presumably this needs to be done everywhere.
  333. Deucе
    Sun Mar 07 2021 22:10:15 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/cnw/talk.ref diff
    Use @do goto rather than @routine for menu erase always.
  334. Deucе
    Sun Mar 07 2021 22:06:15 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/cnw/talk.ref diff
    Erase menu after Gossip as well.
  335. Deucе
    Sun Mar 07 2021 21:26:37 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/jsexec.c diff
    JSDoor still needs the module name.
  336. echicken
    Sun Mar 07 2021 19:49:15 GMT-0800 (PST)
    Modified Files:
    
    webv4/.gitignore diff
    Ignore robots.txt
  337. Rob Swindell
    Sun Mar 07 2021 16:04:24 GMT-0800 (PST)
    Modified Files:
    
    web/root/msgs/subs.ssjs diff
    Use msg_area....sub[].posts for actual number of posted messages This excludes votes and polls automatically.
  338. Rob Swindell
    Sun Mar 07 2021 15:45:22 GMT-0800 (PST)
    Modified Files:
    
    web/lib/msgslib.ssjs diff
    Minor optimization to previous commit.
  339. Rob Swindell
    Sun Mar 07 2021 15:30:17 GMT-0800 (PST)
    Modified Files:
    
    exec/load/ansiterm_lib.js diff
    Add a state.reset() method - not sure how widely supported this seqwuence is e.g. ANSI.SYS doesn't appear to support it
  340. Rob Swindell
    Sun Mar 07 2021 15:32:22 GMT-0800 (PST)
    Modified Files:
    
    exec/sbbsimsg.js diff
    Indent users a tad to make the separation of systems and users more obvious
  341. Rob Swindell
    Sun Mar 07 2021 15:29:25 GMT-0800 (PST)
    Modified Files:
    
    exec/load/text.js diff
    Add 3 new text.dat items
  342. Rob Swindell
    Sun Mar 07 2021 15:20:34 GMT-0800 (PST)
    Modified Files:
    
    web/lib/msgslib.ssjs diff
    Fix bug that caused really-long sub-board load times. I'm not sure how long this has been like this, but the last_msg of a sub-board can be a super high number (e.g. in the billions), so using that value as the highest message offset would cause tons of message index read failures and just cause this loop to interate unneccessarily through tons of non-existent messages. Also, this code is utter crap.
  343. Rob Swindell
    Sun Mar 07 2021 15:10:15 GMT-0800 (PST)
    Modified Files:
    
    exec/hatchit.js diff
    exec/load/filebase.js diff
    exec/load/freqit_common.js diff
    webv4/lib/files.js diff
    webv4/root/api/files.ssjs diff
    Rename the FileBase object created by filebase.js to OldFileBase SBBS v3.19 introduces a built-in FileBase class. To resolve this conflict, rename the soon-to-be-deprecated FileBase object to OldFileBase.
  344. Deucе
    Sun Mar 07 2021 11:49:33 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/jsexec.c diff
    Enable JSOPTION_VAROBJFIX for JSDoor. This option fixes the fact that the following two lines sometimes place the variables in different scopes at the top-level of included scripts: var x = 1; y = 2; I plan to use this to experiment on if this is what's causing much of the remaining scope chain weirdness... it certain explains some things we've been seeing (and possibly even things like the METHODJIT issues DigitalMan saw yesterday). Enabling in sbbs/jsexec is a much bigger lift, but this change may end up being all upside... the docs have suggested this option always be set since it was originally introduced, and now that I understand scopes better, it's pretty clear why that is.
  345. Deucе
    Sun Mar 07 2021 03:07:01 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Re-load the current map if map === null May fix an issue when dead players enter the game?
  346. Rob Swindell
    Sun Mar 07 2021 03:03:31 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/jsexec.c diff
    src/sbbs3/sbbsdefs.h diff
    Disable METHODJIT by default for JavaScript, 'cept in JSDoor METHODJIT (JägerMonkey) is doing weird stuff with xtrn_sec.js when enabled, so don't introduce that noise.
  347. Deucе
    Sun Mar 07 2021 02:56:37 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Add another TODO regarding CRLFs in REF files.
  348. Deucе
    Sun Mar 07 2021 02:56:11 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/igm.js diff
    IGMs do not need a name (see CNW 1371 upgrade for example)
  349. Deucе
    Sun Mar 07 2021 02:51:56 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/cnw/talk.ref diff
    Erase NPC menu after interacting. This was the bit that irritated me the most about CNW, so I fixed it.
  350. Deucе
    Sun Mar 07 2021 02:47:37 GMT-0800 (PST)
    Added Files:
    
    xtrn/lord2/cnw/30dayidx.dat diff
    xtrn/lord2/cnw/3rdparty.dat diff
    xtrn/lord2/cnw/alchmist.clr diff
    xtrn/lord2/cnw/alien.ref diff
    xtrn/lord2/cnw/andhouse.ref diff
    xtrn/lord2/cnw/andrew.ref diff
    xtrn/lord2/cnw/archery.clr diff
    xtrn/lord2/cnw/arris.ref diff
    xtrn/lord2/cnw/atlantis.ref diff
    xtrn/lord2/cnw/atrain.ref diff
    xtrn/lord2/cnw/auction.ref diff
    xtrn/lord2/cnw/backdoor.ref diff
    xtrn/lord2/cnw/badcomp.ref diff
    xtrn/lord2/cnw/badwords.dat diff
    xtrn/lord2/cnw/baitshop.ref diff
    xtrn/lord2/cnw/bandit.ref diff
    xtrn/lord2/cnw/bann.clr diff
    xtrn/lord2/cnw/bat.ref diff
    xtrn/lord2/cnw/battle.ref diff
    xtrn/lord2/cnw/battle1.ans diff
    xtrn/lord2/cnw/battle2.ans diff
    xtrn/lord2/cnw/battle2.ref diff
    xtrn/lord2/cnw/battle3.ans diff
    xtrn/lord2/cnw/battle4.ans diff
    xtrn/lord2/cnw/battle5.ans diff
    xtrn/lord2/cnw/battle6.ans diff
    xtrn/lord2/cnw/battlefx.ref diff
    xtrn/lord2/cnw/battlest.ref diff
    xtrn/lord2/cnw/battlexh.ref diff
    xtrn/lord2/cnw/begger.ref diff
    xtrn/lord2/cnw/blackbar.ref diff
    xtrn/lord2/cnw/blackdgn.ref diff
    xtrn/lord2/cnw/bldn.ref diff
    xtrn/lord2/cnw/blizzard.ref diff
    xtrn/lord2/cnw/blksheep.ref diff
    xtrn/lord2/cnw/blue.ref diff
    xtrn/lord2/cnw/blues.ref diff
    xtrn/lord2/cnw/bmblchck.clr diff
    xtrn/lord2/cnw/boat.ref diff
    xtrn/lord2/cnw/bone.ref diff
    xtrn/lord2/cnw/bong.ref diff
    xtrn/lord2/cnw/bordgard.clr diff
    xtrn/lord2/cnw/bounty.ref diff
    xtrn/lord2/cnw/breanna.ref diff
    xtrn/lord2/cnw/bunfig.ref diff
    xtrn/lord2/cnw/bunny.ref diff
    xtrn/lord2/cnw/camelot.ref diff
    xtrn/lord2/cnw/canoe.chk diff
    xtrn/lord2/cnw/canoe.idf diff
    xtrn/lord2/cnw/canoe.ref diff
    xtrn/lord2/cnw/canoeday.ref diff
    xtrn/lord2/cnw/castaway.ans diff
    xtrn/lord2/cnw/castle.ovr diff
    xtrn/lord2/cnw/castle1.ref diff
    xtrn/lord2/cnw/castle2.ref diff
    xtrn/lord2/cnw/castle3.ref diff
    xtrn/lord2/cnw/castle32.ref diff
    xtrn/lord2/cnw/castle4.ref diff
    xtrn/lord2/cnw/church.ref diff
    xtrn/lord2/cnw/cinnamon.idf diff
    xtrn/lord2/cnw/cleft.ref diff
    xtrn/lord2/cnw/cloak.ref diff
    xtrn/lord2/cnw/cloakf.ref diff
    xtrn/lord2/cnw/coliseum.ref diff
    xtrn/lord2/cnw/cottage.ref diff
    xtrn/lord2/cnw/crazy.ref diff
    xtrn/lord2/cnw/dangerf.ref diff
    xtrn/lord2/cnw/dangerf2.ref diff
    xtrn/lord2/cnw/dangerf3.ref diff
    xtrn/lord2/cnw/deeds.ref diff
    xtrn/lord2/cnw/deeds2.ref diff
    xtrn/lord2/cnw/deinstal.ref diff
    xtrn/lord2/cnw/descent.ref diff
    xtrn/lord2/cnw/devhot.ref diff
    xtrn/lord2/cnw/devil.ref diff
    xtrn/lord2/cnw/devisl.ref diff
    xtrn/lord2/cnw/devisl2.ref diff
    xtrn/lord2/cnw/df.ref diff
    xtrn/lord2/cnw/dforest.ref diff
    xtrn/lord2/cnw/disco.ref diff
    xtrn/lord2/cnw/divinec.ref diff
    xtrn/lord2/cnw/doc.ref diff
    xtrn/lord2/cnw/doc2.ref diff
    xtrn/lord2/cnw/docs/3rdparty.bak diff
    xtrn/lord2/cnw/docs/3rdparty.doc diff
    xtrn/lord2/cnw/docs/about.txt diff
    xtrn/lord2/cnw/docs/backdoor.doc diff
    xtrn/lord2/cnw/docs/begger.txt diff
    xtrn/lord2/cnw/docs/blue.doc diff
    xtrn/lord2/cnw/docs/bong.doc diff
    xtrn/lord2/cnw/docs/canoe.doc diff
    xtrn/lord2/cnw/docs/cnw-bugs.txt diff
    xtrn/lord2/cnw/docs/cnw-todo.txt diff
    xtrn/lord2/cnw/docs/cnw.ad diff
    xtrn/lord2/cnw/docs/cnw.txt diff
    xtrn/lord2/cnw/docs/coliseum.doc diff
    xtrn/lord2/cnw/docs/compile.doc diff
    xtrn/lord2/cnw/docs/coolhou.nfo diff
    xtrn/lord2/cnw/docs/cstats.doc diff
    xtrn/lord2/cnw/docs/deadsay.txt diff
    xtrn/lord2/cnw/docs/descent.doc diff
    xtrn/lord2/cnw/docs/developr.doc diff
    xtrn/lord2/cnw/docs/devil.doc diff
    xtrn/lord2/cnw/docs/devils.txt diff
    xtrn/lord2/cnw/docs/disco.doc diff
    xtrn/lord2/cnw/docs/exfun.doc diff
    xtrn/lord2/cnw/docs/extitems.doc diff
    xtrn/lord2/cnw/docs/freddy.doc diff
    xtrn/lord2/cnw/docs/gargoyle.doc diff
    xtrn/lord2/cnw/docs/grsysop.rln diff
    xtrn/lord2/cnw/docs/gypsi.txt diff
    xtrn/lord2/cnw/docs/hawood.txt diff
    xtrn/lord2/cnw/docs/history.doc diff
    xtrn/lord2/cnw/docs/ibbs.doc diff
    xtrn/lord2/cnw/docs/igm.bak diff
    xtrn/lord2/cnw/docs/igm.doc diff
    xtrn/lord2/cnw/docs/ilist.txt diff
    xtrn/lord2/cnw/docs/innguard.txt diff
    xtrn/lord2/cnw/docs/inns.doc diff
    xtrn/lord2/cnw/docs/island.doc diff
    xtrn/lord2/cnw/docs/items.txt diff
    xtrn/lord2/cnw/docs/jennie.doc diff
    xtrn/lord2/cnw/docs/jennie2.doc diff
    xtrn/lord2/cnw/docs/kiteria.doc diff
    xtrn/lord2/cnw/docs/l2cnw.app diff
    xtrn/lord2/cnw/docs/l2map.dox diff
    xtrn/lord2/cnw/docs/l2nwfaq.doc diff
    xtrn/lord2/cnw/docs/lbugrpt.doc diff
    xtrn/lord2/cnw/docs/lenny.doc diff
    xtrn/lord2/cnw/docs/lokisinn.doc diff
    xtrn/lord2/cnw/docs/mcode.doc diff
    xtrn/lord2/cnw/docs/mimsic.doc diff
    xtrn/lord2/cnw/docs/newstuff.txt diff
    xtrn/lord2/cnw/docs/obugrpt.doc diff
    xtrn/lord2/cnw/docs/odinkeep.doc diff
    xtrn/lord2/cnw/docs/order.doc diff
    xtrn/lord2/cnw/docs/orphan.doc diff
    xtrn/lord2/cnw/docs/owtc.doc diff
    xtrn/lord2/cnw/docs/py'spl~1.rtf diff
    xtrn/lord2/cnw/docs/qbugrpt.doc diff
    xtrn/lord2/cnw/docs/quester.doc diff
    xtrn/lord2/cnw/docs/read_me.txt diff
    xtrn/lord2/cnw/docs/readme diff
    xtrn/lord2/cnw/docs/readme.1st diff
    xtrn/lord2/cnw/docs/readme.6 diff
    xtrn/lord2/cnw/docs/readme.doc diff
    xtrn/lord2/cnw/docs/readme.ice diff
    xtrn/lord2/cnw/docs/readme.now diff
    xtrn/lord2/cnw/docs/readme.txt diff
    xtrn/lord2/cnw/docs/readme2.now diff
    xtrn/lord2/cnw/docs/readme2.txt diff
    xtrn/lord2/cnw/docs/readme3.now diff
    xtrn/lord2/cnw/docs/readme3.txt diff
    xtrn/lord2/cnw/docs/readme4.doc diff
    xtrn/lord2/cnw/docs/refhelp.doc diff
    xtrn/lord2/cnw/docs/register.doc diff
    xtrn/lord2/cnw/docs/registry.doc diff
    xtrn/lord2/cnw/docs/reset.doc diff
    xtrn/lord2/cnw/docs/rtwedit.txt diff
    xtrn/lord2/cnw/docs/sandcity.txt diff
    xtrn/lord2/cnw/docs/seasons.doc diff
    xtrn/lord2/cnw/docs/slayer.doc diff
    xtrn/lord2/cnw/docs/sysop.doc diff
    xtrn/lord2/cnw/docs/sysop.txt diff
    xtrn/lord2/cnw/docs/sysop2.doc diff
    xtrn/lord2/cnw/docs/sysops.doc diff
    xtrn/lord2/cnw/docs/teamlord.txt diff
    xtrn/lord2/cnw/docs/theif.doc diff
    xtrn/lord2/cnw/docs/thod.doc diff
    xtrn/lord2/cnw/docs/tmhsknew.doc diff
    xtrn/lord2/cnw/docs/tscrew.doc diff
    xtrn/lord2/cnw/docs/tst.doc diff
    xtrn/lord2/cnw/docs/uga.doc diff
    xtrn/lord2/cnw/docs/update.doc diff
    xtrn/lord2/cnw/docs/upgrade.txt diff
    xtrn/lord2/cnw/docs/violet.doc diff
    xtrn/lord2/cnw/docs/wally.doc diff
    xtrn/lord2/cnw/docs/wampa.doc diff
    xtrn/lord2/cnw/docs/warning.txt diff
    xtrn/lord2/cnw/docs/whatsnew.112 diff
    xtrn/lord2/cnw/docs/whatsnew.doc diff
    xtrn/lord2/cnw/docs/whatsnew.txt diff
    xtrn/lord2/cnw/docs/wishwel2.txt diff
    xtrn/lord2/cnw/docs/wizard20.doc diff
    xtrn/lord2/cnw/docs/wizcast.doc diff
    xtrn/lord2/cnw/docs/xena.txt diff
    xtrn/lord2/cnw/dormft.ref diff
    xtrn/lord2/cnw/dragon.ref diff
    xtrn/lord2/cnw/dragons.ref diff
    xtrn/lord2/cnw/drgnhm2.ref diff
    xtrn/lord2/cnw/drgnhome.ref diff
    xtrn/lord2/cnw/drinkoff.ref diff
    xtrn/lord2/cnw/dsprhope.ref diff
    xtrn/lord2/cnw/end.ref diff
    xtrn/lord2/cnw/ericsbar.ref diff
    xtrn/lord2/cnw/error.log diff
    xtrn/lord2/cnw/ex!.ref diff
    xtrn/lord2/cnw/example.ref diff
    xtrn/lord2/cnw/extitems.idf diff
    xtrn/lord2/cnw/extitems.ref diff
    xtrn/lord2/cnw/faerie.ref diff
    xtrn/lord2/cnw/falls.ref diff
    xtrn/lord2/cnw/farm.ref diff
    xtrn/lord2/cnw/felhouse.ref diff
    xtrn/lord2/cnw/felicity.ref diff
    xtrn/lord2/cnw/ffear.ref diff
    xtrn/lord2/cnw/fgrave.ref diff
    xtrn/lord2/cnw/figaro.ref diff
    xtrn/lord2/cnw/figarol.ref diff
    xtrn/lord2/cnw/figarop.ref diff
    xtrn/lord2/cnw/figaror.ref diff
    xtrn/lord2/cnw/fight.ref diff
    xtrn/lord2/cnw/fightne.ref diff
    xtrn/lord2/cnw/fightnw.ref diff
    xtrn/lord2/cnw/fightsw.ref diff
    xtrn/lord2/cnw/finger.ans diff
    xtrn/lord2/cnw/fishy.ans diff
    xtrn/lord2/cnw/fishyl.ans diff
    xtrn/lord2/cnw/fishys.ans diff
    xtrn/lord2/cnw/flagcity.ref diff
    xtrn/lord2/cnw/flirt.ref diff
    xtrn/lord2/cnw/flirtd.ref diff
    xtrn/lord2/cnw/flowers.ref diff
    xtrn/lord2/cnw/fonts/lord2.fnt diff
    xtrn/lord2/cnw/fonts/readme.txt diff
    xtrn/lord2/cnw/freddy.ref diff
    xtrn/lord2/cnw/gamble.ref diff
    xtrn/lord2/cnw/game.dat diff
    xtrn/lord2/cnw/gametxt.ref diff
    xtrn/lord2/cnw/gandalf.ref diff
    xtrn/lord2/cnw/garden.clr diff
    xtrn/lord2/cnw/gargoyle.ref diff
    xtrn/lord2/cnw/genran.ref diff
    xtrn/lord2/cnw/genran2.ref diff
    xtrn/lord2/cnw/give.ref diff
    xtrn/lord2/cnw/glendale.ref diff
    xtrn/lord2/cnw/gm23.ref diff
    xtrn/lord2/cnw/goblin.ref diff
    xtrn/lord2/cnw/gorilla.ref diff
    xtrn/lord2/cnw/gravey.ref diff
    xtrn/lord2/cnw/green.ref diff
    xtrn/lord2/cnw/griz.ref diff
    xtrn/lord2/cnw/gshops.ref diff
    xtrn/lord2/cnw/guards.clr diff
    xtrn/lord2/cnw/gumgod.ans diff
    xtrn/lord2/cnw/gumtown.ref diff
    xtrn/lord2/cnw/gumtown2.ref diff
    xtrn/lord2/cnw/gumtown3.ref diff
    xtrn/lord2/cnw/gumtown4.ref diff
    xtrn/lord2/cnw/gurub.ref diff
    xtrn/lord2/cnw/guy.ref diff
    xtrn/lord2/cnw/gypsy.ref diff
    xtrn/lord2/cnw/gypsysp.ref diff
    xtrn/lord2/cnw/habib.ref diff
    xtrn/lord2/cnw/hackney.ref diff
    xtrn/lord2/cnw/hatalk.ref diff
    xtrn/lord2/cnw/hate.ref diff
    xtrn/lord2/cnw/haunted.ref diff
    xtrn/lord2/cnw/hawk.clr diff
    xtrn/lord2/cnw/hawood.ref diff
    xtrn/lord2/cnw/hell.ref diff
    xtrn/lord2/cnw/help.ref diff
    xtrn/lord2/cnw/hitems.ref diff
    xtrn/lord2/cnw/home.ref diff
    xtrn/lord2/cnw/hongcfg.ref diff
    xtrn/lord2/cnw/hongkong.ref diff
    xtrn/lord2/cnw/hongmons.ref diff
    xtrn/lord2/cnw/hongwhor.ref diff
    xtrn/lord2/cnw/house.ref diff
    xtrn/lord2/cnw/house1.ref diff
    xtrn/lord2/cnw/house2.ref diff
    xtrn/lord2/cnw/igm/alien.igm diff
    xtrn/lord2/cnw/igm/andrew.igm diff
    xtrn/lord2/cnw/igm/atrain.igm diff
    xtrn/lord2/cnw/igm/backdoor.igm diff
    xtrn/lord2/cnw/igm/badcomp.igm diff
    xtrn/lord2/cnw/igm/baitshop.igm diff
    xtrn/lord2/cnw/igm/bandit.igm diff
    xtrn/lord2/cnw/igm/battle.igm diff
    xtrn/lord2/cnw/igm/begger.igm diff
    xtrn/lord2/cnw/igm/blackbar.igm diff
    xtrn/lord2/cnw/igm/blackdc.igm diff
    xtrn/lord2/cnw/igm/blizzard.igm diff
    xtrn/lord2/cnw/igm/blksheep.igm diff
    xtrn/lord2/cnw/igm/blue.igm diff
    xtrn/lord2/cnw/igm/bong.igm diff
    xtrn/lord2/cnw/igm/breanna.igm diff
    xtrn/lord2/cnw/igm/bunny.igm diff
    xtrn/lord2/cnw/igm/canoe.igm diff
    xtrn/lord2/cnw/igm/church.igm diff
    xtrn/lord2/cnw/igm/cleft.igm diff
    xtrn/lord2/cnw/igm/cloak.igm diff
    xtrn/lord2/cnw/igm/coliseum.igm diff
    xtrn/lord2/cnw/igm/cottage.igm diff
    xtrn/lord2/cnw/igm/crazy.igm diff
    xtrn/lord2/cnw/igm/descent.igm diff
    xtrn/lord2/cnw/igm/devil.igm diff
    xtrn/lord2/cnw/igm/devisl.igm diff
    xtrn/lord2/cnw/igm/disco.igm diff
    xtrn/lord2/cnw/igm/divinec.igm diff
    xtrn/lord2/cnw/igm/doc.igm diff
    xtrn/lord2/cnw/igm/drgnhome.igm diff
    xtrn/lord2/cnw/igm/dsprhope.igm diff
    xtrn/lord2/cnw/igm/exfun.igm diff
    xtrn/lord2/cnw/igm/faerie.igm diff
    xtrn/lord2/cnw/igm/farm.igm diff
    xtrn/lord2/cnw/igm/felicity.igm diff
    xtrn/lord2/cnw/igm/ffear.igm diff
    xtrn/lord2/cnw/igm/fgrave.igm diff
    xtrn/lord2/cnw/igm/figaro.igm diff
    xtrn/lord2/cnw/igm/freddy.igm diff
    xtrn/lord2/cnw/igm/gargoyle.igm diff
    xtrn/lord2/cnw/igm/give.igm diff
    xtrn/lord2/cnw/igm/glendale.igm diff
    xtrn/lord2/cnw/igm/gorilla.igm diff
    xtrn/lord2/cnw/igm/griz.igm diff
    xtrn/lord2/cnw/igm/gum.igm diff
    xtrn/lord2/cnw/igm/gurub.igm diff
    xtrn/lord2/cnw/igm/guy.igm diff
    xtrn/lord2/cnw/igm/gypsy.igm diff
    xtrn/lord2/cnw/igm/habib.igm diff
    xtrn/lord2/cnw/igm/haunted.igm diff
    xtrn/lord2/cnw/igm/hawood.igm diff
    xtrn/lord2/cnw/igm/hongkong.igm diff
    xtrn/lord2/cnw/igm/house.igm diff
    xtrn/lord2/cnw/igm/icelord.igm diff
    xtrn/lord2/cnw/igm/innguard.igm diff
    xtrn/lord2/cnw/igm/inns.igm diff
    xtrn/lord2/cnw/igm/island.igm diff
    xtrn/lord2/cnw/igm/isle.igm diff
    xtrn/lord2/cnw/igm/jcamelot.igm diff
    xtrn/lord2/cnw/igm/jennie.igm diff
    xtrn/lord2/cnw/igm/jester.igm diff
    xtrn/lord2/cnw/igm/jrest.igm diff
    xtrn/lord2/cnw/igm/kiteria.igm diff
    xtrn/lord2/cnw/igm/knotwood.igm diff
    xtrn/lord2/cnw/igm/lenny.igm diff
    xtrn/lord2/cnw/igm/lokisinn.igm diff
    xtrn/lord2/cnw/igm/mimsic.igm diff
    xtrn/lord2/cnw/igm/mine.igm diff
    xtrn/lord2/cnw/igm/mold.igm diff
    xtrn/lord2/cnw/igm/mon.igm diff
    xtrn/lord2/cnw/igm/mortal.igm diff
    xtrn/lord2/cnw/igm/mosh.igm diff
    xtrn/lord2/cnw/igm/myst.igm diff
    xtrn/lord2/cnw/igm/mythran.igm diff
    xtrn/lord2/cnw/igm/ocean.igm diff
    xtrn/lord2/cnw/igm/odinkeep.igm diff
    xtrn/lord2/cnw/igm/orphan.igm diff
    xtrn/lord2/cnw/igm/owtc.igm diff
    xtrn/lord2/cnw/igm/p1092.igm diff
    xtrn/lord2/cnw/igm/p1357.igm diff
    xtrn/lord2/cnw/igm/p1436.igm diff
    xtrn/lord2/cnw/igm/palo.igm diff
    xtrn/lord2/cnw/igm/passage.igm diff
    xtrn/lord2/cnw/igm/photek.igm diff
    xtrn/lord2/cnw/igm/prison.igm diff
    xtrn/lord2/cnw/igm/pyramid.igm diff
    xtrn/lord2/cnw/igm/qfortres.igm diff
    xtrn/lord2/cnw/igm/quester.igm diff
    xtrn/lord2/cnw/igm/rdcastle.igm diff
    xtrn/lord2/cnw/igm/rdhide.igm diff
    xtrn/lord2/cnw/igm/reddtown.igm diff
    xtrn/lord2/cnw/igm/registry.igm diff
    xtrn/lord2/cnw/igm/reset.igm diff
    xtrn/lord2/cnw/igm/resort.igm diff
    xtrn/lord2/cnw/igm/revenge.igm diff
    xtrn/lord2/cnw/igm/rose.igm diff
    xtrn/lord2/cnw/igm/sandcity.igm diff
    xtrn/lord2/cnw/igm/save.igm diff
    xtrn/lord2/cnw/igm/scorp.igm diff
    xtrn/lord2/cnw/igm/scvngr.igm diff
    xtrn/lord2/cnw/igm/seasons.igm diff
    xtrn/lord2/cnw/igm/shark.igm diff
    xtrn/lord2/cnw/igm/ship.igm diff
    xtrn/lord2/cnw/igm/shipwrk.igm diff
    xtrn/lord2/cnw/igm/show.igm diff
    xtrn/lord2/cnw/igm/sl.igm diff
    xtrn/lord2/cnw/igm/slayer.igm diff
    xtrn/lord2/cnw/igm/soldacar.igm diff
    xtrn/lord2/cnw/igm/sorry.igm diff
    xtrn/lord2/cnw/igm/stoneb.igm diff
    xtrn/lord2/cnw/igm/sword.igm diff
    xtrn/lord2/cnw/igm/swordcas.igm diff
    xtrn/lord2/cnw/igm/sysop.igm diff
    xtrn/lord2/cnw/igm/talquiz.igm diff
    xtrn/lord2/cnw/igm/teaml.igm diff
    xtrn/lord2/cnw/igm/tempmap.igm diff
    xtrn/lord2/cnw/igm/tense.igm diff
    xtrn/lord2/cnw/igm/theif.igm diff
    xtrn/lord2/cnw/igm/thief.igm diff
    xtrn/lord2/cnw/igm/thod.igm diff
    xtrn/lord2/cnw/igm/tls1.igm diff
    xtrn/lord2/cnw/igm/tm.igm diff
    xtrn/lord2/cnw/igm/tmhsk.igm diff
    xtrn/lord2/cnw/igm/tok.igm diff
    xtrn/lord2/cnw/igm/torin.igm diff
    xtrn/lord2/cnw/igm/tscrew.igm diff
    xtrn/lord2/cnw/igm/tst.igm diff
    xtrn/lord2/cnw/igm/uga.igm diff
    xtrn/lord2/cnw/igm/vdhut.igm diff
    xtrn/lord2/cnw/igm/violet.igm diff
    xtrn/lord2/cnw/igm/voyage.igm diff
    xtrn/lord2/cnw/igm/wally.igm diff
    xtrn/lord2/cnw/igm/wampa.igm diff
    xtrn/lord2/cnw/igm/wedchap.igm diff
    xtrn/lord2/cnw/igm/wgrave.igm diff
    xtrn/lord2/cnw/igm/wishwel2.igm diff
    xtrn/lord2/cnw/igm/wizard20.igm diff
    xtrn/lord2/cnw/igm/wizcast.igm diff
    xtrn/lord2/cnw/igm/woodland.igm diff
    xtrn/lord2/cnw/igm/xena.igm diff
    xtrn/lord2/cnw/inn.ref diff
    xtrn/lord2/cnw/inns.ref diff
    xtrn/lord2/cnw/inns1.ref diff
    xtrn/lord2/cnw/inns2.ref diff
    xtrn/lord2/cnw/install.ref diff
    xtrn/lord2/cnw/island.ref diff
    xtrn/lord2/cnw/isle.ref diff
    xtrn/lord2/cnw/islea.ref diff
    xtrn/lord2/cnw/isleb.ref diff
    xtrn/lord2/cnw/islemall.ref diff
    xtrn/lord2/cnw/item99.ref diff
    xtrn/lord2/cnw/items.dat diff
    xtrn/lord2/cnw/items.ref diff
    xtrn/lord2/cnw/itemsel.ref diff
    xtrn/lord2/cnw/jcastle.ref diff
    xtrn/lord2/cnw/jennie.ref diff
    xtrn/lord2/cnw/jester.clr diff
    xtrn/lord2/cnw/joust.clr diff
    xtrn/lord2/cnw/jump.ref diff
    xtrn/lord2/cnw/jw-isle.ref diff
    xtrn/lord2/cnw/jw-isle1.ref diff
    xtrn/lord2/cnw/jw-isle2.ref diff
    xtrn/lord2/cnw/jw-isle3.ref diff
    xtrn/lord2/cnw/jw-islel.mil diff
    xtrn/lord2/cnw/king.clr diff
    xtrn/lord2/cnw/kiteria.ref diff
    xtrn/lord2/cnw/knotwood.ref diff
    xtrn/lord2/cnw/knuckle.ref diff
    xtrn/lord2/cnw/koshi.ref diff
    xtrn/lord2/cnw/kraken.ans diff
    xtrn/lord2/cnw/l2tree.dat diff
    xtrn/lord2/cnw/lenny.ref diff
    xtrn/lord2/cnw/locate.ref diff
    xtrn/lord2/cnw/locate2.ref diff
    xtrn/lord2/cnw/location.ref diff
    xtrn/lord2/cnw/lockers.ref diff
    xtrn/lord2/cnw/lockmant.idf diff
    xtrn/lord2/cnw/lockmant.ref diff
    xtrn/lord2/cnw/lockref2.ref diff
    xtrn/lord2/cnw/lockref3.ref diff
    xtrn/lord2/cnw/lockref4.ref diff
    xtrn/lord2/cnw/lockref5.ref diff
    xtrn/lord2/cnw/lockref6.ref diff
    xtrn/lord2/cnw/logstuff.ref diff
    xtrn/lord2/cnw/loki.ref diff
    xtrn/lord2/cnw/lokia.ref diff
    xtrn/lord2/cnw/lokib.ref diff
    xtrn/lord2/cnw/lokigrdb.ref diff
    xtrn/lord2/cnw/lokiguar.ref diff
    xtrn/lord2/cnw/lokirmb.ref diff
    xtrn/lord2/cnw/lokiroom.ref diff
    xtrn/lord2/cnw/lord.ans diff
    xtrn/lord2/cnw/lordad.ans diff
    xtrn/lord2/cnw/love1.ref diff
    xtrn/lord2/cnw/maint.idf diff
    xtrn/lord2/cnw/maint.ref diff
    xtrn/lord2/cnw/majic.ref diff
    xtrn/lord2/cnw/map.dat diff
    xtrn/lord2/cnw/mdata.dat diff
    xtrn/lord2/cnw/mine.ref diff
    xtrn/lord2/cnw/minn.ref diff
    xtrn/lord2/cnw/mold.ref diff
    xtrn/lord2/cnw/mon.ref diff
    xtrn/lord2/cnw/mortal.ref diff
    xtrn/lord2/cnw/mosh.ref diff
    xtrn/lord2/cnw/movegold.idf diff
    xtrn/lord2/cnw/mrgtroid.clr diff
    xtrn/lord2/cnw/myhome.ref diff
    xtrn/lord2/cnw/myst.ref diff
    xtrn/lord2/cnw/mythran.ref diff
    xtrn/lord2/cnw/npc-sex.ref diff
    xtrn/lord2/cnw/npc/npc-79.idf diff
    xtrn/lord2/cnw/npc/npc-bday.idf diff
    xtrn/lord2/cnw/npc/npc-df.idf diff
    xtrn/lord2/cnw/npc/npc-hp.idf diff
    xtrn/lord2/cnw/npc/npc-hp2.idf diff
    xtrn/lord2/cnw/npc/npc-st.idf diff
    xtrn/lord2/cnw/npc/npcage.idf diff
    xtrn/lord2/cnw/npc/npcagep.idf diff
    xtrn/lord2/cnw/npc/npcbday.tmp diff
    xtrn/lord2/cnw/npc/npcchange.tmp diff
    xtrn/lord2/cnw/npc/npcgems.idf diff
    xtrn/lord2/cnw/npc/npcgendr.idf diff
    xtrn/lord2/cnw/npc/npcgold.idf diff
    xtrn/lord2/cnw/npc/npcgreed.idf diff
    xtrn/lord2/cnw/npc/npchange.idf diff
    xtrn/lord2/cnw/npc/npcjob.idf diff
    xtrn/lord2/cnw/npc/npclbs.idf diff
    xtrn/lord2/cnw/npc/npclost.idf diff
    xtrn/lord2/cnw/npc/npcloyal.idf diff
    xtrn/lord2/cnw/npc/npcreqc1.idf diff
    xtrn/lord2/cnw/npc/npcreqc2.idf diff
    xtrn/lord2/cnw/npc/npcreqc3.idf diff
    xtrn/lord2/cnw/npc/npcreqc4.idf diff
    xtrn/lord2/cnw/npc/npcreqc5.idf diff
    xtrn/lord2/cnw/npc/npcreqc6.idf diff
    xtrn/lord2/cnw/npc/npcreqc7.idf diff
    xtrn/lord2/cnw/npc/npcreqc8.idf diff
    xtrn/lord2/cnw/npc/npcreql.idf diff
    xtrn/lord2/cnw/npc/npcslut.idf diff
    xtrn/lord2/cnw/npc/npcstat.idf diff
    xtrn/lord2/cnw/npc/npctaxes.idf diff
    xtrn/lord2/cnw/npc/npctimes.idf diff
    xtrn/lord2/cnw/npc/npctouch.idf diff
    xtrn/lord2/cnw/npc/npcvd.idf diff
    xtrn/lord2/cnw/npc/taxyear.idf diff
    xtrn/lord2/cnw/npc/wedchk.tmp diff
    xtrn/lord2/cnw/npcfight.ref diff
    xtrn/lord2/cnw/npcflirt.ref diff
    xtrn/lord2/cnw/npcflrt2.ref diff
    xtrn/lord2/cnw/npcgosip.ref diff
    xtrn/lord2/cnw/npclost.ref diff
    xtrn/lord2/cnw/npcmaint.ref diff
    xtrn/lord2/cnw/npcmake.ref diff
    xtrn/lord2/cnw/npcmake2.ref diff
    xtrn/lord2/cnw/npcmake3.ref diff
    xtrn/lord2/cnw/npcmake4.ref diff
    xtrn/lord2/cnw/npcmake5.ref diff
    xtrn/lord2/cnw/npcname.ref diff
    xtrn/lord2/cnw/npcname2.ref diff
    xtrn/lord2/cnw/npcwed.ref diff
    xtrn/lord2/cnw/npcwedd.ref diff
    xtrn/lord2/cnw/npcwith.ref diff
    xtrn/lord2/cnw/ocean.ref diff
    xtrn/lord2/cnw/ocean2.ref diff
    xtrn/lord2/cnw/ocean3.ref diff
    xtrn/lord2/cnw/odinkeep.ref diff
    xtrn/lord2/cnw/oracle1.ref diff
    xtrn/lord2/cnw/oracle2.ref diff
    xtrn/lord2/cnw/oracle3.ref diff
    xtrn/lord2/cnw/orphan.ref diff
    xtrn/lord2/cnw/owtc.ref diff
    xtrn/lord2/cnw/palo.ref diff
    xtrn/lord2/cnw/pass3.ref diff
    xtrn/lord2/cnw/passage.ref diff
    xtrn/lord2/cnw/passagez.ref diff
    xtrn/lord2/cnw/passinn.ref diff
    xtrn/lord2/cnw/pastuff.ref diff
    xtrn/lord2/cnw/pawnshop.ref diff
    xtrn/lord2/cnw/pentagrm.ref diff
    xtrn/lord2/cnw/people.ref diff
    xtrn/lord2/cnw/photek.ref diff
    xtrn/lord2/cnw/polar.ref diff
    xtrn/lord2/cnw/pooch.clr diff
    xtrn/lord2/cnw/porttown.ref diff
    xtrn/lord2/cnw/ppyramid.ref diff
    xtrn/lord2/cnw/prison.ref diff
    xtrn/lord2/cnw/prisonb.ref diff
    xtrn/lord2/cnw/prisonc.ref diff
    xtrn/lord2/cnw/prisond.ref diff
    xtrn/lord2/cnw/prisone.ref diff
    xtrn/lord2/cnw/prisonf.ref diff
    xtrn/lord2/cnw/pyramid.ref diff
    xtrn/lord2/cnw/qfortres.ref diff
    xtrn/lord2/cnw/quest.ref diff
    xtrn/lord2/cnw/quester.ref diff
    xtrn/lord2/cnw/rdfight.ref diff
    xtrn/lord2/cnw/reddfrst.ref diff
    xtrn/lord2/cnw/reddtown.ref diff
    xtrn/lord2/cnw/reset.bat diff
    xtrn/lord2/cnw/reset.ref diff
    xtrn/lord2/cnw/reset.sh diff
    xtrn/lord2/cnw/resort.ref diff
    xtrn/lord2/cnw/revenge.ref diff
    xtrn/lord2/cnw/revmon.ref diff
    xtrn/lord2/cnw/riding.clr diff
    xtrn/lord2/cnw/rock.ref diff
    xtrn/lord2/cnw/rose.ref diff
    xtrn/lord2/cnw/rose1.ans diff
    xtrn/lord2/cnw/rose10.ans diff
    xtrn/lord2/cnw/rose2.ans diff
    xtrn/lord2/cnw/rose2.ref diff
    xtrn/lord2/cnw/rose3.ans diff
    xtrn/lord2/cnw/rose4.ans diff
    xtrn/lord2/cnw/rose5.ans diff
    xtrn/lord2/cnw/rose6.ans diff
    xtrn/lord2/cnw/rose7.ans diff
    xtrn/lord2/cnw/rose8.ans diff
    xtrn/lord2/cnw/rose9.ans diff
    xtrn/lord2/cnw/rroom.ref diff
    xtrn/lord2/cnw/rroom2.ref diff
    xtrn/lord2/cnw/rules.ref diff
    xtrn/lord2/cnw/sandcity.ref diff
    xtrn/lord2/cnw/save.ref diff
    xtrn/lord2/cnw/scorp.ref diff
    xtrn/lord2/cnw/scvngr.num diff
    xtrn/lord2/cnw/scvngr.ref diff
    xtrn/lord2/cnw/scvngr1.ans diff
    xtrn/lord2/cnw/scvngr2.ans diff
    xtrn/lord2/cnw/scvngr3.ans diff
    xtrn/lord2/cnw/sea01.ans diff
    xtrn/lord2/cnw/seasons.ref diff
    xtrn/lord2/cnw/shark.ref diff
    xtrn/lord2/cnw/shell.ans diff
    xtrn/lord2/cnw/shell.ref diff
    xtrn/lord2/cnw/ship.ref diff
    xtrn/lord2/cnw/shipwrk.ref diff
    xtrn/lord2/cnw/show.ref diff
    xtrn/lord2/cnw/show2.ref diff
    xtrn/lord2/cnw/show3.ref diff
    xtrn/lord2/cnw/show4.ref diff
    xtrn/lord2/cnw/show5.ref diff
    xtrn/lord2/cnw/sl.ref diff
    xtrn/lord2/cnw/slayer.ref diff
    xtrn/lord2/cnw/slayer2.ref diff
    xtrn/lord2/cnw/sobank.ref diff
    xtrn/lord2/cnw/sold.ref diff
    xtrn/lord2/cnw/sorry.ref diff
    xtrn/lord2/cnw/spider.ref diff
    xtrn/lord2/cnw/srdtower.ref diff
    xtrn/lord2/cnw/stable.clr diff
    xtrn/lord2/cnw/stime.dat diff
    xtrn/lord2/cnw/stoneb.ref diff
    xtrn/lord2/cnw/stonep.ref diff
    xtrn/lord2/cnw/store.clr diff
    xtrn/lord2/cnw/sword.ref diff
    xtrn/lord2/cnw/swordcas.ref diff
    xtrn/lord2/cnw/sysop.ref diff
    xtrn/lord2/cnw/talk.ref diff
    xtrn/lord2/cnw/talquiz.ref diff
    xtrn/lord2/cnw/taxes.chk diff
    xtrn/lord2/cnw/taxes.idf diff
    xtrn/lord2/cnw/taxes.ref diff
    xtrn/lord2/cnw/taxes2.ref diff
    xtrn/lord2/cnw/tense1.ref diff
    xtrn/lord2/cnw/tense2.ref diff
    xtrn/lord2/cnw/tense3.ref diff
    xtrn/lord2/cnw/tensem.ref diff
    xtrn/lord2/cnw/theif.ref diff
    xtrn/lord2/cnw/thief.ref diff
    xtrn/lord2/cnw/thod.ref diff
    xtrn/lord2/cnw/time.dat diff
    xtrn/lord2/cnw/tldrag.ref diff
    xtrn/lord2/cnw/tlhouse.ref diff
    xtrn/lord2/cnw/tls1.ref diff
    xtrn/lord2/cnw/tls2.ref diff
    xtrn/lord2/cnw/tls3.ref diff
    xtrn/lord2/cnw/tm.ref diff
    xtrn/lord2/cnw/tmhsfrt.ref diff
    xtrn/lord2/cnw/tok.ref diff
    xtrn/lord2/cnw/tok1.ref diff
    xtrn/lord2/cnw/tok2.ref diff
    xtrn/lord2/cnw/tokmon.ref diff
    xtrn/lord2/cnw/toss.ans diff
    xtrn/lord2/cnw/tower.ans diff
    xtrn/lord2/cnw/trader.dat diff
    xtrn/lord2/cnw/train2.ref diff
    xtrn/lord2/cnw/train3.ref diff
    xtrn/lord2/cnw/training.ref diff
    xtrn/lord2/cnw/travel.ref diff
    xtrn/lord2/cnw/treasure.ref diff
    xtrn/lord2/cnw/tst.ref diff
    xtrn/lord2/cnw/tstdrgon.ref diff
    xtrn/lord2/cnw/tstinn.ref diff
    xtrn/lord2/cnw/turgon.ref diff
    xtrn/lord2/cnw/uga.ref diff
    xtrn/lord2/cnw/undead.ref diff
    xtrn/lord2/cnw/update.tmp diff
    xtrn/lord2/cnw/varlist.dat diff
    xtrn/lord2/cnw/vaults.idf diff
    xtrn/lord2/cnw/vaults.ref diff
    xtrn/lord2/cnw/vdhut.ref diff
    xtrn/lord2/cnw/vehicle.ref diff
    xtrn/lord2/cnw/version.dat diff
    xtrn/lord2/cnw/voyage.ref diff
    xtrn/lord2/cnw/voyfite.ref diff
    xtrn/lord2/cnw/wally.ref diff
    xtrn/lord2/cnw/wampa.ref diff
    xtrn/lord2/cnw/warriors.ref diff
    xtrn/lord2/cnw/weelie.ans diff
    xtrn/lord2/cnw/wench.clr diff
    xtrn/lord2/cnw/wgrave.ref diff
    xtrn/lord2/cnw/wishwel2.ref diff
    xtrn/lord2/cnw/wishwell.ref diff
    xtrn/lord2/cnw/wizard.clr diff
    xtrn/lord2/cnw/wizcast.ref diff
    xtrn/lord2/cnw/wizfight.ref diff
    xtrn/lord2/cnw/woodland.ref diff
    xtrn/lord2/cnw/world.dat diff
    xtrn/lord2/cnw/ww2.ref diff
    xtrn/lord2/cnw/xena.ref diff
    Add an installed copy of Complete New World You can copy this whole thing over your LORD2 install, or copy/symlink the JS files in here and run it here. Complete New World is a massively expanded LORD2 world, but it has not been nearly as well-tested with the JS implementation.
  351. Deucе
    Sun Mar 07 2021 02:23:42 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2cfg.js diff
    Use `p01 not the player experience field for experience.
  352. Deucе
    Sun Mar 07 2021 02:07:42 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Some CNW things try to get info about player 0 Player 0 of course is not valid, and lord2.js would crash. Properly handle this for getname and deleted so Bartender at the Red Dragon can tell you there's no teams.
  353. Deucе
    Sun Mar 07 2021 02:15:55 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Set player map to 1 not zero on death
  354. Deucе
    Sun Mar 07 2021 02:16:56 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Set map/x/y to 1 not zero on death.
  355. Rob Swindell
    Sat Mar 06 2021 23:04:17 GMT-0800 (PST)
    Modified Files:
    
    webv4/root/api/register.ssjs diff
    A couple of new user gender related fixes - Default gender of ' ' (instead of '') - Don't write the gender to the user's birthdate
  356. echicken
    Sat Mar 06 2021 22:50:16 GMT-0800 (PST)
    Modified Files:
    
    exec/menushell.js diff
    Wow.
  357. echicken
    Sat Mar 06 2021 22:44:23 GMT-0800 (PST)
    Modified Files:
    
    exec/load/menu-commands.js diff
    The order of things. Maybe fixes this report from ragnarok: Node 1 !JavaScript /sbbs/exec/load/menu-commands.js line 59: TypeError: Commands.User.Find is undefined
  358. echicken
    Sat Mar 06 2021 22:14:39 GMT-0800 (PST)
    Modified Files:
    
    exec/load/menu-command-helpers.js diff
    No functional change; just some reformatting so I can go to sleep tonight without cringing myself to death. "echicken authored 6 years ago" ... yikes, I can practically smell the whisky coming off of this file.
  359. echicken
    Sat Mar 06 2021 22:37:12 GMT-0800 (PST)
    Modified Files:
    
    exec/menuedit.js diff
    It'd be difficult to make this script less horrible, but I can make it look a bit more almost okay. No functional change - unless I broke something, then there's a HUGE functional change.
  360. echicken
    Sat Mar 06 2021 22:05:50 GMT-0800 (PST)
    Modified Files:
    
    exec/load/menu-commands.js diff
    Don't assign bbs methods to properties of another object. Wrap calls to bbs methods in a function, use that as property. Formatting changes so that if I ever work on this again in the future it will look slightly less horrible. Changes were made for ragnarok; if you're not him, you probably shouldn't use this.
  361. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/lib/auth.js diff
    Throw actual Error objects.
  362. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/lib/events/forum.js diff
    Use 'require'.
  363. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/lib/request.js diff
    This isn't a 'class', so call it 'request', and include return-style last line.
  364. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/root/api/files.ssjs diff
    Use require() for request,FileBase. Use 'request' to get query params.
  365. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/lib/forum.js diff
    listSubs doesn't need to return that much detail. New stuff will be exported as part of 'forum' object, for use with require().
  366. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/root/js/graphics-converter.js diff
    Skip the stupid parentNode dance and just .remove() the element.
  367. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/pages/002-files.xjs diff
    Use require() and 'request'.
  368. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/pages/001-forum.xjs diff
    WIP; quite broken in places at the moment.
  369. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/root/api/attachments.ssjs diff
    Some tidying up, I guess
  370. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/root/api/auth.ssjs diff
    Delete response
  371. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/root/api/forum.ssjs diff
    Use require() and request; some WIP stuff for the new forum that will change later.
  372. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/root/api/register.ssjs diff
    Use require(), request; unset some stuff prior to exit.
  373. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/root/api/system.ssjs diff
    Eh.
  374. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Added Files:
    
    webv4/root/js/cache.js diff
    Client side cache stuff, WIP.
  375. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/root/js/avatars.js diff
    New Avatar fetch/cache thing for new forum.
  376. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/root/js/xjs-forum.js diff
    More new forum work in progress.
  377. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/sidebar/001-nodelist.xjs diff
    No functional change.
  378. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/sidebar/002-recent-visitors.xjs diff
    Use var for server-side stuff. Formatting.
  379. echicken
    Sat Mar 06 2021 21:30:54 GMT-0800 (PST)
    Modified Files:
    
    webv4/root/index.xjs diff
    Fix missing page title when defaulting to home. Exit immediately if client attempting redirect to arbitrary external site. (This won't work for them anyway, but no need to run the rest of the script.) Use js.exec() for components instead of load(). Use <? ... ?> instead of <?xjs ... ?> for XJS one-liners.
  380. Rob Swindell
    Sat Mar 06 2021 20:51:22 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/jsexec.c diff
    src/sbbs3/startup.h diff
    Address GCC warnings recently introduced by not defining bbs_options in jsexec
  381. Rob Swindell
    Sat Mar 06 2021 15:48:55 GMT-0800 (PST)
    Modified Files:
    
    ctrl/text.dat diff
    Define and use 3 new text.dat strings for netmail sent confirmation
  382. Rob Swindell
    Sat Mar 06 2021 15:47:57 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/netmail.cpp diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    Define and use 3 new text.dat strings for netmail sent confirmation Sent to terminal user after successfully sending netmail: - InternetMailSent - FidoNetMailSent - QWKNetMailSent As requested by Keyop in irc.
  383. Rob Swindell
    Sat Mar 06 2021 15:11:24 GMT-0800 (PST)
    Modified Files:
    
    exec/msglist.js diff
    Pause after msg forwarded, for Keyop.
  384. Rob Swindell
    Sat Mar 06 2021 14:09:45 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/jsexec.c diff
    Don't compile the .ini parsing stuff for JSDoor This should fix the recent JSDoor build issue introduced.
  385. Rob Swindell
    Sat Mar 06 2021 13:57:34 GMT-0800 (PST)
    Modified Files:
    
    exec/msglist.js diff
    Clear screen after getting forward-to address As pointed out by Keyop via irc, if the message has an attachment, a comment is prompted for and since the "To:" prompt uses P_NOCRLF, the first comment prompt was on the same line. So clear the screen, which is what happens when the forwarded message has no attachment anyway.
  386. Rob Swindell
    Sat Mar 06 2021 13:49:04 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/js_global.c diff
    src/sbbs3/jsexec.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/services.c diff
    src/sbbs3/startup.h diff
    src/sbbs3/websrvr.c diff
    Allow fine-grained control over JavaScript compiler options via *.ini JavaScriptOptions bit-field can be set in sbbs.ini and jsexec.ini to over-ride the default JS compiler options which have been changed from 0 to (options previously only used by JSDoor): JIT | METHODJIT | COMPILE_N_GO | PROFILING * JIT - TraceMonkey * METHODJIT - JägerMonkey * COMPILE_N_GO - compile-time scope chain resolution of consts * PROFILING - Choose between TraceMonkey and JägerMonkey at compile-time based on profiling results Other options available but not enabled by default: * STRICT - warn on debious practice (i.e. similar to "use strict") * WERROR - convert warnings to errors * VAROBJFIX - use last object on scope chain as the ECMA 'variables object' * RELIMIT - Throw exception on any regular expression which backtracks more than n^3 times, where n is length of the input string * ANONFUNFIX - Disallow function () {} in statement context per ECMA-262 Edition 3. * METHODJIT_ALWAYS - Always whole-method JIT, don't tune at run-time. Also: - Fixed JS warning string formatting (missing space separator). - Removed an extraneous new-line in lprintf() call in mailsrvr. - Added basic assertEq() global method to jsexec, required when running SpiderMonkey test scripts.
  387. Rob Swindell
    Sat Mar 06 2021 13:30:04 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/mailsrvr.c diff
    Don't send default MIME Content-type for msgs with attachments The file attachments, when MIME-encoded, already include a MIME Content-type header field, so don't send another. This should fix issue #233.
  388. Rob Swindell
    Sat Mar 06 2021 02:05:03 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    Add a js.options property to report the option flags used for the JS ctx
  389. Deucе
    Sat Mar 06 2021 01:33:36 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    ...ooooooooOOOOOOOOOOVE()
  390. Deucе
    Sat Mar 06 2021 01:32:04 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    file_remoooooove()
  391. Deucе
    Sat Mar 06 2021 01:28:44 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Delete mat*.dat before renaming mail*.dat to it. Fixes infinite mail loop.
  392. Deucе
    Sat Mar 06 2021 01:10:10 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    xtrn/lord2/lord2.js diff
    Fix bounty and such... So it actually looks like the *only* thing that doesn't expand & strings is the output code.
  393. Deucе
    Fri Mar 05 2021 23:55:05 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Fix line clear in char... `r instead of `r
  394. Deucе
    Fri Mar 05 2021 23:37:00 GMT-0800 (PST)
    Added Files:
    
    xtrn/lord2/alloff.js diff
    Add alloff command to clear users. This should also be handled by the game after a timeout...
  395. Deucе
    Fri Mar 05 2021 23:27:27 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    time() not now()
  396. Deucе
    Fri Mar 05 2021 23:10:56 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Clean up ref return stuff. Get rid of routineabort stuff and use the callstack thing. Fixes ITEMEXIT
  397. Deucе
    Fri Mar 05 2021 22:29:50 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Fix end of file check.
  398. Deucе
    Fri Mar 05 2021 22:15:59 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Now that getlines() returns ;-prefixes, @fight needs all the indexes changed.
  399. Deucе
    Fri Mar 05 2021 22:04:10 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Remove extra return which broke pretty much everything.
  400. Deucе
    Fri Mar 05 2021 21:34:23 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    More core REF fixes... 1) Comments do not start with a ; Any line that doesn't start with an @ is either a parameter to the last command (such as in @show), or is ignored. Further, "extra" arguments are also ignored. This means you can literally type comments almost anywhere. 2) There is a maximum "call stack" of two "frames". If you nest subroutines three deep, the first one will never be returned to. 3) Implement @routineabort. 4) If @run is used in a subroutine, it acts as an immediate return The arguments are not consulted, and no error is displayed. 5) Of course, if you call subroutines three deep and return from two of them, the first subroutine is now the topmost frame, so run behaves normally there.
  401. Rob Swindell
    Fri Mar 05 2021 20:43:20 GMT-0800 (PST)
    Modified Files:
    
    .gitignore diff
    Ignore cscope.files
  402. Rob Swindell
    Fri Mar 05 2021 20:36:12 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    Don't leave the logged event code as "DAILY" after daily events run I noticed "DAILY ... Semaphore signaled" in the event thread log output. Now fixed.
  403. Rob Swindell
    Fri Mar 05 2021 20:41:02 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/writemsg.cpp diff
    Don't allow subject to be changed when forwarding file attachments Since the filename is in the subject, we can't allow the user to change the subject (duh). Also, don't bother with the "Fwd:" prefix thing as that could potentially cause problems in other places where the filename (only) is assumed to be in the subject. Also, make sure to create the destination directory when moving file attachments. These changes fix issue #230 reported by Keyop.
  404. MJ
    Fri Mar 05 2021 09:47:13 GMT-0800 (PST)
    Modified Files:
    
    xtrn/dicewarz2/game.js diff
    show splash screen and await response before restoring system status. explicitly disconnect from json client when exiting.
  405. Deucе
    Fri Mar 05 2021 01:23:15 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2cfg.js diff
    Fix misplaced ]
  406. Deucе
    Fri Mar 05 2021 00:19:47 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Call replace_svars() for @choice options as well. Fixes issue in healers huts.
  407. Deucе
    Thu Mar 04 2021 17:03:45 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/js_file.c diff
    Implement POSIX requirements for FD/Stream interactions. Documented here: https://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_ chap02_05.html#tag_02_05_01 This provides the best chance at read_raw() reading from the right location and updating the file pointer as expected while avoiding behaviour which is explicitly undefined by POSIX.
  408. Deucе
    Thu Mar 04 2021 16:30:14 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    xtrn/lord2/lord2.js diff
    Write the player record after changing lastmap. This allows more @whoison to be more accurate. Also, fix a misplaced ) while I'm here.
  409. Deucе
    Thu Mar 04 2021 16:24:45 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    Update lastmap if map is updated via the REF variable.
  410. Deucе
    Thu Mar 04 2021 15:01:02 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2cfg.js diff
    Fix copy pasta.
  411. Deucе
    Thu Mar 04 2021 15:01:12 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    xtrn/lord2/map.dat diff
    Deal with the mess in PukeWorld
  412. Deucе
    Thu Mar 04 2021 13:47:20 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Replace & vars in @fight strings as well. (More issues with rape)
  413. Deucе
    Thu Mar 04 2021 13:26:43 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    "Offline" battles (against computer) don't set the battle bit. REF files need to set it manually if they want it.
  414. Deucе
    Thu Mar 04 2021 13:27:12 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2cfg.js diff
    get_player() sets player, it doesn't return it.
  415. Deucе
    Thu Mar 04 2021 11:58:10 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    Don't strip $. I think I was intending to strip & and prevent those variables, but it looks like the original doesn't. However, it also looks like the original doesn't *always* replace string variables... will need to look into that harder in the future.
  416. Deucе
    Thu Mar 04 2021 11:58:10 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    xtrn/lord2/lord2.js diff
    Deal with the three classes of variables... 1) ` vars which are always expanded. 2) & vars which are expanded "sometimes" (generally for display stuff). 3) "pure" vars which are only expanded when they are the entire string. The main change here is in the & var handling... lw() no longer expands these, so they can be displayed to the user... they are now expanded in the following cases: 1) Anything that calculates the displayed length. The assumption here is that the string will be passed to one of the following things. 2) Bar updates, either @quebar or @saybar 3) @do addlog 4) @do write 5) @moremap 6) @progname 7) @show 8) @writefile
  417. MJ
    Thu Mar 04 2021 10:05:08 GMT-0800 (PST)
    Modified Files:
    
    xtrn/dicewarz2/game.js diff
    reverse the logic in my previous commit :| also dont show the next turn alert if hidden_names == true
  418. MJ
    Thu Mar 04 2021 09:01:35 GMT-0800 (PST)
    Modified Files:
    
    xtrn/dicewarz2/game.js diff
    actually hide player names, if hidden_names == true
  419. echicken
    Thu Mar 04 2021 08:29:23 GMT-0800 (PST)
    Modified Files:
    
    exec/ircd.js diff
    Added cmdline arg -a (address) so that I can pass a comma separated list of interfaces to bind to.
  420. Deucе
    Thu Mar 04 2021 01:28:49 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Make the other player foreground colour 8 on background colour 7 Prevents invsible other players. :D
  421. Deucе
    Thu Mar 04 2021 01:13:13 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Add PgUp/PgDown for item menus. While we're here, remove the janky redraw avoidance and fix various other item menu issues.
  422. Deucе
    Thu Mar 04 2021 00:19:47 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Two Smackrod related issues - Fix update_space() to move to correct location every tim Resulted in "ghost" player character after using smackrod - Load the map and set lastx/lasty when loading an existing player record. Undefined lastx/lasty would crash the game, and using the smackrod on joining allowed that.
  423. Deucе
    Wed Mar 03 2021 23:39:48 GMT-0800 (PST)
    Modified Files:
    
    exec/load/recordfile.js diff
    Revert back to using vbuf for write buffering. While it would be nice to serialize it and do a single write, there's no native functions to create binary values from numbers in the Synchronet JS object model at this time.
  424. Deucе
    Wed Mar 03 2021 23:15:26 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Write player record any time battle is set. Should eliminate ghost "busy" status.
  425. Deucе
    Wed Mar 03 2021 23:08:56 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Use getvar() on exist/exists arguments.
  426. Deucе
    Wed Mar 03 2021 22:57:49 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Fix an error on timeout handling and fix issue dropping quest items.
  427. Deucе
    Wed Mar 03 2021 22:41:01 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Check for @fight immediately after random REFs run as well. Should fix the issue with rape.
  428. Deucе
    Wed Mar 03 2021 22:16:23 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Clear battle flag after running a random ref
  429. Deucе
    Wed Mar 03 2021 22:00:53 GMT-0800 (PST)
    Modified Files:
    
    exec/load/recordfile.js diff
    Looks like a vbuf size of a record is broken. :(
  430. Deucе
    Wed Mar 03 2021 21:55:51 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Fix bad argument (args, not arg) Arr.
  431. Deucе
    Wed Mar 03 2021 21:29:20 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Fix two multiplayer issues: 1) Call update_update() more often when player data changes. Should hopefully solve issue with players staying red after a battle on other people's screens. 2) When erasing other players, also erase ones that have moved off your map.
  432. Deucе
    Wed Mar 03 2021 21:13:23 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Fix missing CRLF in chooseplayer.
  433. Deucе
    Wed Mar 03 2021 20:33:12 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Fix reversed logic in previous commit.
  434. Deucе
    Wed Mar 03 2021 20:28:36 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Un doodly doo doo.
  435. Deucе
    Wed Mar 03 2021 20:27:13 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Looks like in-process doesn't add js.exec_dir to the load path list.
  436. Deucе
    Wed Mar 03 2021 19:20:11 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    xtrn/lord2/lord2.js diff
    Start of a timeout handing framework. As of this commit, LORD2 keeps track of the last time a key was pressed, and a timeout occurs five minutes after that if it's waiting for a key. This has issues as the getstr() timeout does not behave in this manner. However, if the timeout callback style works, getstr() and the other dk functions can grow callback support pretty easily, and this seems like it may be the best way forward. Further, disconnect handling should be tied up in this, and dorkit does not have very robust features for this. In most cases, a disconnect will be treated the same as a timeout, so the same solution should likely be usable by both. The biggest challenge is preventing the need for all the code to have exceptional condition handling, which can be quite tricky as battles can end by running a REF file (For example, the training centre). This would mean all code paths reachable via REF calls would need to fail nicely in the face of a connection loss/timeout.
  437. Rob Swindell
    Wed Mar 03 2021 18:50:34 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/getmail.c diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/writemsg.cpp diff
    Ignore filenames in subject that aren't valid filenames, e.g. "Fwd:" There were 2 bug identified by issue #230: - the "Fwd:" prefix being added to the message subject was being treated as a filename. I first thought to just remove this subject tag, but then thought it best to just ignore obviously invalid filenames in the subject in the first place. - when forwarding files to a netmail address, the 'to' extension (user number) is 0, so the file will be in the data/file/####.out directory of the sender instead. We have 4 places (at least) where the message subjects are parsed and only one of those places currently supports quoted filenames (e.g. with spaces in them) and some of the others (e.g. QWK) don't support multiple filenames at all. That should be fixed.
  438. Rob Swindell
    Wed Mar 03 2021 18:55:38 GMT-0800 (PST)
    Added Files:
    
    xtrn/.gitignore diff
    Ignore TBD data files.
  439. Rob Swindell
    Wed Mar 03 2021 18:20:00 GMT-0800 (PST)
    Added Files:
    
    text/menu/head.msg diff
    text/menu/main.msg diff
    text/menu/tail.msg diff
    text/menu/transfer.msg diff
    Removed Files:

    text/menu/main.asc diff
    text/menu/transfer.asc diff
    Make main and transfer menus easier to edit with PabloDraw Renamed from *.asc to *.msg Replaced mouse hot-spot @-codes with the color-coded hotspots Removed trailling newline in head.* to avoid line-wrap in PabloDraw on @ include line The Sysop Menu line still wraps (in PD) - no easy solution for that just yet. For nickshanks1 in IRC.
  440. Deucе
    Wed Mar 03 2021 17:29:06 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Remove 2.5 second delay at end of game (?!) While we're looking at the exit behaviour, use the recfile close method now instead of f.file.close().
  441. Deucе
    Wed Mar 03 2021 15:32:40 GMT-0800 (PST)
    Added Files:
    
    xtrn/lord2/igm.js diff
    Modified Files:
    xtrn/lord2/l2cfg.js diff
    xtrn/lord2/l2lib.js diff
    And now there's an IGM utility. About the only thing still missing is the ALLOFF utility which is simple enough, but various other bits really need to be fixed before that is done.
  442. Deucе
    Wed Mar 03 2021 13:44:53 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2cfg.js diff
    Full functional l2cfg A couple minor TODOs (can't launch REF editor for example)
  443. Deucе
    Wed Mar 03 2021 00:47:32 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2lib.js diff
    Fix pretty_int() commas for negative values.
  444. Deucе
    Tue Mar 02 2021 22:41:40 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Fix @fight more... put it in move_player(). Also, keep the cursor at the player position a bit better.
  445. Deucе
    Tue Mar 02 2021 23:22:17 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    xtrn/lord2/map.dat diff
    xtrn/lord2/world.dat diff
    Fix drop dialog and players online list
  446. Deucе
    Tue Mar 02 2021 22:08:14 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/l2cfg.js diff
    xtrn/lord2/l2lib.js diff
    Finish up the world editor in l2cfg
  447. Deucе
    Tue Mar 02 2021 16:22:42 GMT-0800 (PST)
    Modified Files:
    
    exec/load/recordfile.js diff
    Add a close method.
  448. Deucе
    Tue Mar 02 2021 14:47:42 GMT-0800 (PST)
    Modified Files:
    
    exec/dorkit/local_console.js diff
    exec/load/dorkit.js diff
    Add KEY_ALT_[0-9] for local console. Too lazy to add everything, but I need these for l2cfg.
  449. Deucе
    Tue Mar 02 2021 09:46:31 GMT-0800 (PST)
    Modified Files:
    
    src/xpdev/threadwrap.h diff
    Re-enable atomics on FreeBSD :| The various __GNUC__ macros are defined in other compilers and indicate support for a C language standard and can't be used to detect if gcc the compiler is being used.
  450. Deucе
    Mon Mar 01 2021 22:14:01 GMT-0800 (PST)
    Added Files:
    
    xtrn/lord2/l2cfg.js diff
    xtrn/lord2/l2lib.js diff
    Modified Files:
    xtrn/lord2/lord2.js diff
    Start work on l2cfg clone Beginnings of the map editor created, common functions from lord2.js moved into l2lib.js for sharing.
  451. Deucе
    Mon Mar 01 2021 22:04:06 GMT-0800 (PST)
    Modified Files:
    
    exec/load/recordfile.js diff
    Add put() and reInit() support for object/object array types. Apparently, I've never needed this before.
  452. Deucе
    Mon Mar 01 2021 11:21:41 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Erase player before draying it in update(). Fixes moveback/update duplicate character issue in REFs.
  453. Deucе
    Mon Mar 01 2021 10:56:55 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Fix if <condition> then do begin handling. In various places (most visibly stoneb.txt pawn shop), the following is used: @if <condition> then do begin @begin The begin on the @if line must be ignored, and the @begin on the second line starts the block.
  454. Rob Swindell
    Sun Feb 28 2021 14:29:42 GMT-0800 (PST)
    Modified Files:
    
    exec/nntpservice.js diff
    Respond with the (RFC3977) 480 response when authentication is required instead of the RFC977 502. Reportedly, this will trigger Thunderbird to prompt for or send client credentials. This should fix issue #208.
  455. Rob Swindell
    Sun Feb 28 2021 14:32:57 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/services.c diff
    Merge branch 'master' of gitlab.synchro.net:main/sbbs
  456. Rob Swindell
    Sun Feb 28 2021 13:22:28 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/services.c diff
    Fix "clients remain" log line issue introduced in 9af56407 The service clients count is now a protected int, so deal. On Windows, this was resulting in the "total" and "served" values logged as 4294967295.
  457. Rob Swindell
    Sun Feb 28 2021 12:14:54 GMT-0800 (PST)
    Modified Files:
    
    exec/nntpservice.js diff
    Remove the auto-login feature from Tracker1: agree -auto should probably be removed
  458. Deucе
    Sat Feb 27 2021 23:41:57 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Fix issues exposed by Runion Keep - When a player number is passed in an IF, subtract one to get the index - Normalize @begin handling for all @if lines.
  459. Rob Swindell
    Sat Feb 27 2021 23:19:39 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Turn on ctrl-key passthrough for Ctrl-K/T/O/P/Z/U This is a full-screen game, so don't let this ctrl-key handlers mess up the game/map display.
  460. Rob Swindell
    Sat Feb 27 2021 22:28:51 GMT-0800 (PST)
    Modified Files:
    
    exec/imapservice.js diff
    Resolve line 712: Error: can't convert parseInt(line) to an integer
  461. Rob Swindell
    Sat Feb 27 2021 22:21:45 GMT-0800 (PST)
    Modified Files:
    
    exec/load/fonts.js diff
    Don't disable blink when 'wantblink=true' in a section. Previously, if a blink or high-blink font was specified in a font section it was assumed that you did not want the terminal to actually blink the glyphs displayed with that/those fonts. In some cases, blink may be preferable, so if wantblink=true, then leave blink enabled on the terminal for blink/ high-blink fonts.
  462. Rob Swindell
    Sat Feb 27 2021 22:24:17 GMT-0800 (PST)
    Modified Files:
    
    exec/dorkit/local_console.js diff
    src/sbbs3/js_internal.c diff
    xtrn/lord2/lord2.js diff
    Merge branch 'master' of gitlab.synchro.net:main/sbbs
  463. Rob Swindell
    Sat Feb 27 2021 22:25:55 GMT-0800 (PST)
    Modified Files:
    
    exec/load/cterm_lib.js diff
    activate_font() now supports an optional wantblink argument pass true if blink is desireable for blink/high-blink fonts.
  464. Rob Swindell
    Sat Feb 27 2021 22:27:10 GMT-0800 (PST)
    Modified Files:
    
    exec/load/sbbslist_html.js diff
    Handle a case where lib is not an object (?).
  465. Deucе
    Sat Feb 27 2021 20:00:42 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    More CNW fixes/cleanups - Trim bar to 76 characters (triggered by MORTAL.REF) - If the player initial map can't be loaded, move to 0,0,0 - draw_map() can't auto-load the players map (ORACLE2.REF loads a map without the player on it) - When we draw a new map, set last_draw to undefined - If you move off the edge of a map into an undefined map, simply don't move (triggered by GLENDALE.REF) - Move play on map *after* a REF is ran (and you're potentially moved back)
  466. Rob Swindell
    Sat Feb 27 2021 18:37:55 GMT-0800 (PST)
    Added Files:
    
    exec/badpasswords.js diff
    Re-add bad password checker removed in commit 8b4426c79 Not sure why it was removed, apparently by accident.
  467. Deucе
    Sat Feb 27 2021 17:20:00 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Item activation does *not* clear the menu space. Fixes CNW "Vehicles & People" some more.
  468. Deucе
    Sat Feb 27 2021 17:41:25 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Keep track of last player drawn location, and erase there when needed. Fixes the new issue where you would see the player move when x and y are changed, but should still leave the smackrod happy.
  469. Deucе
    Sat Feb 27 2021 17:09:59 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Allow variables in both left and right sides of a conditional @choice Fixes CNW "Vehicles & People" people list.
  470. Deucе
    Sat Feb 27 2021 17:01:04 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Fix @LABEL
  471. Deucе
    Sat Feb 27 2021 16:49:36 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Add HOME/END support where cursor keys are supported. This provides a way to create muscle memory for random fights... HOME will always take you to 'Attack' and END will always take you to 'Run Away' now. Two birds with one stone, yay!
  472. Deucе
    Sat Feb 27 2021 16:41:26 GMT-0800 (PST)
    Modified Files:
    
    xtrn/lord2/lord2.js diff
    Fix chooseplayer() function Previously, it did a case sensitive match against names that started with what you typed including LORD codes. Now it strips codes from both and does a case-insentive substring match.
  473. MJ
    Sat Feb 27 2021 07:45:14 GMT-0800 (PST)
    Modified Files:
    
    xtrn/maze/game.js diff
    attempt to fix mysterious player coords bug
  474. MJ
    Sat Feb 27 2021 07:46:54 GMT-0800 (PST)
    Added Files:
    
    3rdp/build/cl-allow-pkcs12.patch diff
    3rdp/build/cl-no-safe-stack.patch diff
    3rdp/build/imacro-asm-fix.patch diff
    CONTRIBUTING.md diff
    ctrl/dosemu.conf diff
    ctrl/modopts.d/emailfiles.ini diff
    ctrl/modopts.d/xtrnmenu.ini diff
    docs/text318b.dif diff
    docs/v318_new.txt diff
    exec/birthdaylist.js diff
    exec/dosemu.ini diff
    exec/emailfiles.js diff
    exec/external.bat diff
    exec/importcfg.js diff
    exec/load/diskusage.js diff
    exec/load/inihelper.js diff
    exec/load/install-3rdp-xtrn.js diff
    exec/load/qrcode.js diff
    exec/load/sbbsini.js diff
    exec/load/utf8_utf16.js diff
    exec/load/xtrnmenulib.js diff
    exec/postxtrn.js diff
    exec/prextrn.js diff
    exec/sutils.ini diff
    exec/sutils.js diff
    exec/sysavail.js diff
    exec/xtrnmenu.js diff
    exec/xtrnmenucfg.js diff
    src/build/sdl2.props diff
    src/doors/clans-src/.gitignore diff
    src/doors/clans-src/UpgradeLog.htm diff
    src/doors/clans-src/clans.sln diff
    src/doors/clans-src/clans.vcxproj diff
    src/doors/clans-src/clans.vcxproj.filters diff
    src/doors/clans-src/langcomp.vcxproj diff
    src/doors/clans-src/langcomp.vcxproj.filters diff
    src/doors/clans-src/mcomp.vcxproj diff
    src/doors/clans-src/mcomp.vcxproj.filters diff
    src/doors/clans-src/pcedit.vcxproj diff
    src/doors/clans-src/pcedit.vcxproj.filters diff
    src/doors/clans-src/reset.vcxproj diff
    src/doors/clans-src/reset.vcxproj.filters diff
    src/odoors/odoors.props diff
    src/sbbs3/.gitignore diff
    src/sbbs3/chat/.gitignore diff
    src/sbbs3/clean.bat diff
    src/sbbs3/date_str.h diff
    src/sbbs3/dllexport.h diff
    src/sbbs3/extdeps.mk diff
    src/sbbs3/filedat.h diff
    src/sbbs3/getmail.h diff
    src/sbbs3/getstats.h diff
    src/sbbs3/gitinfo.bat diff
    src/sbbs3/gtkconvert.pl diff
    src/sbbs3/load_cfg.h diff
    src/sbbs3/msg_id.h diff
    src/sbbs3/msgdate.h diff
    src/sbbs3/sbbs.jsdocs.vcxproj diff
    src/sbbs3/scfgsave.h diff
    src/sbbs3/str_util.h diff
    src/sbbs3/ver.h diff
    src/sexpots/build.bat diff
    src/sexpots/release.bat diff
    src/syncterm/build.bat diff
    src/syncterm/extdeps.mk diff
    src/syncterm/release.bat diff
    src/xpdev/haproxy.h diff
    webv4/.gitignore diff
    webv4/components/footer.xjs diff
    webv4/components/header.xjs diff
    webv4/components/modal.xjs diff
    webv4/components/navbar.xjs diff
    webv4/components/twit-button.xjs diff
    webv4/pages/000-home.xjs diff
    webv4/pages/000-mail.xjs diff
    webv4/pages/000-register.xjs diff
    webv4/pages/001-forum.ssjs diff
    webv4/pages/001-forum.xjs diff
    webv4/pages/002-files.xjs diff
    webv4/pages/003-games.xjs diff
    webv4/pages/More/001-userlist.xjs diff
    webv4/pages/More/999-sbbslist.xjs diff
    webv4/pages/More/webctrl.ini diff
    webv4/pages/webctrl.ini diff
    webv4/root/css/checkbox.css diff
    webv4/root/js/xjs-forum.js diff
    webv4/sidebar/001-nodelist.xjs diff
    webv4/sidebar/002-recent-visitors.xjs diff
    webv4/sidebar/003-systemStats.xjs diff
    xtrn/3rdp-install/README.md diff
    xtrn/3rdp-install/bigwinslotto.ini diff
    xtrn/3rdp-install/bigwinslotto.js diff
    xtrn/3rdp-install/bre.ini diff
    xtrn/3rdp-install/carlton-blackjack.ini diff
    xtrn/3rdp-install/carlton-blackjack.js diff
    xtrn/3rdp-install/carlton-crazy8.ini diff
    xtrn/3rdp-install/carlton-crazy8.js diff
    xtrn/3rdp-install/carlton-doormania.ini diff
    xtrn/3rdp-install/carlton-doormania.js diff
    xtrn/3rdp-install/carlton-fleethunter.ini diff
    xtrn/3rdp-install/carlton-fleethunter.js diff
    xtrn/3rdp-install/carlton-litecar.ini diff
    xtrn/3rdp-install/carlton-litecar.js diff
    xtrn/3rdp-install/carlton-milleborne.ini diff
    xtrn/3rdp-install/carlton-milleborne.js diff
    xtrn/3rdp-install/carlton-minezone.ini diff
    xtrn/3rdp-install/carlton-minezone.js diff
    xtrn/3rdp-install/carlton-navgrid.ini diff
    xtrn/3rdp-install/carlton-navgrid.js diff
    xtrn/3rdp-install/carlton-plinko.ini diff
    xtrn/3rdp-install/carlton-plinko.js diff
    xtrn/3rdp-install/carlton-rockin.ini diff
    xtrn/3rdp-install/carlton-rockin.js diff
    xtrn/3rdp-install/carlton-scavenger.ini diff
    xtrn/3rdp-install/carlton-scavenger.js diff
    xtrn/3rdp-install/carlton-urges.ini diff
    xtrn/3rdp-install/carlton-urges.js diff
    xtrn/3rdp-install/carlton-wordguess.ini diff
    xtrn/3rdp-install/carlton-wordguess.js diff
    xtrn/3rdp-install/dalton-adgt.ini diff
    xtrn/3rdp-install/dalton-camptown.ini diff
    xtrn/3rdp-install/dalton-deathbytrivia.ini diff
    xtrn/3rdp-install/dalton-escape.ini diff
    xtrn/3rdp-install/dalton-goc.ini diff
    xtrn/3rdp-install/dalton-gruntfest.ini diff
    xtrn/3rdp-install/dalton-risepower.ini diff
    xtrn/3rdp-install/dalton-shipline.ini diff
    xtrn/3rdp-install/dalton-tfbroadside.ini diff
    xtrn/3rdp-install/dalton-warfreight.ini diff
    xtrn/3rdp-install/disoft-futurerunner.ini diff
    xtrn/3rdp-install/disoft-futurerunner.js diff
    xtrn/3rdp-install/disoft-islandempires.ini diff
    xtrn/3rdp-install/disoft-islandempires.js diff
    xtrn/3rdp-install/disoft-nuclearwar.ini diff
    xtrn/3rdp-install/disoft-nuclearwar.js diff
    xtrn/3rdp-install/disoft-rebelkingdom.ini diff
    xtrn/3rdp-install/disoft-rebelkingdom.js diff
    xtrn/3rdp-install/disoft-wordmix.ini diff
    xtrn/3rdp-install/disoft-wordmix.js diff
    xtrn/3rdp-install/doormud-dos.ini diff
    xtrn/3rdp-install/doormud-win32.ini diff
    xtrn/3rdp-install/dreamware-aceydeucy.ini diff
    xtrn/3rdp-install/dreamware-battleship.ini diff
    xtrn/3rdp-install/dreamware-blackjackdice.ini diff
    xtrn/3rdp-install/dreamware-boxdice.ini diff
    xtrn/3rdp-install/dreamware-cardsharks.ini diff
    xtrn/3rdp-install/dreamware-chomper.ini diff
    xtrn/3rdp-install/dreamware-data.js diff
    xtrn/3rdp-install/dreamware-dreamcraps.ini diff
    xtrn/3rdp-install/dreamware-dreamhang.ini diff
    xtrn/3rdp-install/dreamware-dreammatch.ini diff
    xtrn/3rdp-install/dreamware-dreamshuffle.ini diff
    xtrn/3rdp-install/dreamware-dreamslots.ini diff
    xtrn/3rdp-install/dreamware-dreamstacks.ini diff
    xtrn/3rdp-install/dreamware-dreamstakes.ini diff
    xtrn/3rdp-install/dreamware-dreamtrack.ini diff
    xtrn/3rdp-install/dreamware-jot.ini diff
    xtrn/3rdp-install/dreamware-lightsout.ini diff
    xtrn/3rdp-install/dreamware-othello.ini diff
    xtrn/3rdp-install/dreamware-potofgold.ini diff
    xtrn/3rdp-install/dreamware-pressit.ini diff
    xtrn/3rdp-install/dreamware-simonsez.ini diff
    xtrn/3rdp-install/dreamware-targetdice.ini diff
    xtrn/3rdp-install/dreamware-yahtzee.ini diff
    xtrn/3rdp-install/dreamware.js diff
    xtrn/3rdp-install/exdx-empireatwar.ini diff
    xtrn/3rdp-install/exdx-railroadempires.ini diff
    xtrn/3rdp-install/exdx-riverboatblackjack.ini diff
    xtrn/3rdp-install/exdx-romansatwar.ini diff
    xtrn/3rdp-install/exdx-spaceforcecommander.ini diff
    xtrn/3rdp-install/exitilus.ini diff
    xtrn/3rdp-install/exitilus.js diff
    xtrn/3rdp-install/foodfite-wilson.ini diff
    xtrn/3rdp-install/foodfite-wilson.js diff
    xtrn/3rdp-install/gutterbowl32.ini diff
    xtrn/3rdp-install/gutterbowl32.js diff
    xtrn/3rdp-install/ironwar.ini diff
    xtrn/3rdp-install/ironwar.js diff
    xtrn/3rdp-install/jibben-boxcars.ini diff
    xtrn/3rdp-install/jibben-galacticoverlord.ini diff
    xtrn/3rdp-install/jibben-minesofgorr.ini diff
    xtrn/3rdp-install/jibben-rollthebones.ini diff
    xtrn/3rdp-install/jibben-rollthebones.js diff
    xtrn/3rdp-install/jibben.js diff
    xtrn/3rdp-install/jns-amazingmemory.ini diff
    xtrn/3rdp-install/jns-amazingmemory.js diff
    xtrn/3rdp-install/jns-bokedpoker.js diff
    xtrn/3rdp-install/jns-bombsquad.ini diff
    xtrn/3rdp-install/jns-bombsquad.js diff
    xtrn/3rdp-install/jns-boxedpoker.ini diff
    xtrn/3rdp-install/jns-doublesolitree.ini diff
    xtrn/3rdp-install/jns-doublesolitree.js diff
    xtrn/3rdp-install/jns-fivecarddrawpoker.js diff
    xtrn/3rdp-install/jns-fivecarddrawpoker.js.ini diff
    xtrn/3rdp-install/jns-fortythievessolitaire.ini diff
    xtrn/3rdp-install/jns-fortythievessolitaire.js diff
    xtrn/3rdp-install/jns-freecellsolitaire.ini diff
    xtrn/3rdp-install/jns-freecellsolitaire.js diff
    xtrn/3rdp-install/jns-golfsolitaire.ini diff
    xtrn/3rdp-install/jns-golfsolitaire.js diff
    xtrn/3rdp-install/jns-greatwhitecard.ini diff
    xtrn/3rdp-install/jns-greatwhitecard.js diff
    xtrn/3rdp-install/jns-idiotsdelight.ini diff
    xtrn/3rdp-install/jns-idiotsdelight.js diff
    xtrn/3rdp-install/jns-inbetween.ini diff
    xtrn/3rdp-install/jns-inbetween.js diff
    xtrn/3rdp-install/jns-kingslast.ini diff
    xtrn/3rdp-install/jns-kingslast.js diff
    xtrn/3rdp-install/jns-matchtwo.ini diff
    xtrn/3rdp-install/jns-matchtwo.js diff
    xtrn/3rdp-install/jns-montanasolitaire.ini diff
    xtrn/3rdp-install/jns-montanasolitaire.js diff
    xtrn/3rdp-install/jns-ontheedge.ini diff
    xtrn/3rdp-install/jns-ontheedge.js diff
    xtrn/3rdp-install/jns-pressyourluck.ini diff
    xtrn/3rdp-install/jns-pressyourluck.js diff
    xtrn/3rdp-install/jns-quotefall.ini diff
    xtrn/3rdp-install/jns-quotefall.js diff
    xtrn/3rdp-install/jns-slidersolitaire.ini diff
    xtrn/3rdp-install/jns-slidersolitaire.js diff
    xtrn/3rdp-install/jns-solitree.ini diff
    xtrn/3rdp-install/jns-solitree.js diff
    xtrn/3rdp-install/jns-strikesandspares.ini diff
    xtrn/3rdp-install/jns-strikesandspares.js diff
    xtrn/3rdp-install/jns-theeliminator.js diff
    xtrn/3rdp-install/jns-theelminator.ini diff
    xtrn/3rdp-install/jns-thepuzzlemachine.ini diff
    xtrn/3rdp-install/jns-thepuzzlemachine.js diff
    xtrn/3rdp-install/jns-threeshuffles.ini diff
    xtrn/3rdp-install/jns-threeshuffles.js diff
    xtrn/3rdp-install/jns-trapper.ini diff
    xtrn/3rdp-install/jns-trapper.js diff
    xtrn/3rdp-install/jns-treasuretrove.ini diff
    xtrn/3rdp-install/jns-treasuretrove.js diff
    xtrn/3rdp-install/jns-tripeakssolitaire.ini diff
    xtrn/3rdp-install/jns-tripeakssolitaire.js diff
    xtrn/3rdp-install/jns-twocardpoker.ini diff
    xtrn/3rdp-install/jns-twocardpoker.js diff
    xtrn/3rdp-install/jns-yacht.ini diff
    xtrn/3rdp-install/jns-yacht.js diff
    xtrn/3rdp-install/latenight-civilwar.ini diff
    xtrn/3rdp-install/latenight-civilwar.js diff
    xtrn/3rdp-install/latenight-civilwar48.ini diff
    xtrn/3rdp-install/latenight-civilwar48.js diff
    xtrn/3rdp-install/latenight-darkcastle.ini diff
    xtrn/3rdp-install/latenight-darkcastle.js diff
    xtrn/3rdp-install/latenight-superrig.ini diff
    xtrn/3rdp-install/latenight-superrig.js diff
    xtrn/3rdp-install/latenight-triviamaster.ini diff
    xtrn/3rdp-install/latenight-triviamaster.js diff
    xtrn/3rdp-install/lore.ini diff
    xtrn/3rdp-install/mycroft-adventuressherlockholmes.ini diff
    xtrn/3rdp-install/mycroft-fictiousstockexchange.ini diff
    xtrn/3rdp-install/mycroft-stellarquest.ini diff
    xtrn/3rdp-install/mycroft-stellarquest.js diff
    xtrn/3rdp-install/mycroft-uboat.ini diff
    xtrn/3rdp-install/netrunner.ini diff
    xtrn/3rdp-install/overkill.ini diff
    xtrn/3rdp-install/overkill.js diff
    xtrn/3rdp-install/sunrise-3pairpok.ini diff
    xtrn/3rdp-install/sunrise-3pairpoker.js diff
    xtrn/3rdp-install/sunrise-4corners.ini diff
    xtrn/3rdp-install/sunrise-4corners.js diff
    xtrn/3rdp-install/sunrise-aceydeucey.ini diff
    xtrn/3rdp-install/sunrise-aceydeucey.js diff
    xtrn/3rdp-install/sunrise-atlantis.ini diff
    xtrn/3rdp-install/sunrise-atlantis.js diff
    xtrn/3rdp-install/sunrise-baseballdice.ini diff
    xtrn/3rdp-install/sunrise-baseballdice.js diff
    xtrn/3rdp-install/sunrise-betsyross.ini diff
    xtrn/3rdp-install/sunrise-betsyross.js diff
    xtrn/3rdp-install/sunrise-blackjack.ini diff
    xtrn/3rdp-install/sunrise-blackjack.js diff
    xtrn/3rdp-install/sunrise-boxdice.ini diff
    xtrn/3rdp-install/sunrise-boxdice.js diff
    xtrn/3rdp-install/sunrise-boxpoker.ini diff
    xtrn/3rdp-install/sunrise-boxpoker.js diff
    xtrn/3rdp-install/sunrise-chainreaction.ini diff
    xtrn/3rdp-install/sunrise-chainreaction.js diff
    xtrn/3rdp-install/sunrise-colonies.ini diff
    xtrn/3rdp-install/sunrise-colonies.js diff
    xtrn/3rdp-install/sunrise-concentration.ini diff
    xtrn/3rdp-install/sunrise-concentration.js diff
    xtrn/3rdp-install/sunrise-cribbage.ini diff
    xtrn/3rdp-install/sunrise-cribbage.js diff
    xtrn/3rdp-install/sunrise-crypto.ini diff
    xtrn/3rdp-install/sunrise-crypto.js diff
    xtrn/3rdp-install/sunrise-dominoes.ini diff
    xtrn/3rdp-install/sunrise-dominoes.js diff
    xtrn/3rdp-install/sunrise-ganglandwars.ini diff
    xtrn/3rdp-install/sunrise-ganglandwars.js diff
    xtrn/3rdp-install/sunrise-groandice.ini diff
    xtrn/3rdp-install/sunrise-groandice.js diff
    xtrn/3rdp-install/sunrise-hackarama.ini diff
    xtrn/3rdp-install/sunrise-hackarama.js diff
    xtrn/3rdp-install/sunrise-hexxwars.ini diff
    xtrn/3rdp-install/sunrise-hexxwars.js diff
    xtrn/3rdp-install/sunrise-hilo.ini diff
    xtrn/3rdp-install/sunrise-hilo.js diff
    xtrn/3rdp-install/sunrise-hiroll.ini diff
    xtrn/3rdp-install/sunrise-hirolldice.js diff
    xtrn/3rdp-install/sunrise-keno.ini diff
    xtrn/3rdp-install/sunrise-keno.js diff
    xtrn/3rdp-install/sunrise-laddersdice.ini diff
    xtrn/3rdp-install/sunrise-laddersdice.js diff
    xtrn/3rdp-install/sunrise-legendsofole.ini diff
    xtrn/3rdp-install/sunrise-legendsofole.js diff
    xtrn/3rdp-install/sunrise-lettermatch.ini diff
    xtrn/3rdp-install/sunrise-lettermatch.js diff
    xtrn/3rdp-install/sunrise-lostinspace.ini diff
    xtrn/3rdp-install/sunrise-lostinspace.js diff
    xtrn/3rdp-install/sunrise-lottomania.ini diff
    xtrn/3rdp-install/sunrise-lottomania.js diff
    xtrn/3rdp-install/sunrise-montecarlo.ini diff
    xtrn/3rdp-install/sunrise-montecarlo.js diff
    xtrn/3rdp-install/sunrise-overunder.ini diff
    xtrn/3rdp-install/sunrise-overunder.js diff
    xtrn/3rdp-install/sunrise-pentasim.ini diff
    xtrn/3rdp-install/sunrise-pentasim.js diff
    xtrn/3rdp-install/sunrise-questfornora.ini diff
    xtrn/3rdp-install/sunrise-questfornora.js diff
    xtrn/3rdp-install/sunrise-rescue.ini diff
    xtrn/3rdp-install/sunrise-rescue.js diff
    xtrn/3rdp-install/sunrise-rockinradio.ini diff
    xtrn/3rdp-install/sunrise-rockinradio.js diff
    xtrn/3rdp-install/sunrise-rocklandtrivia.ini diff
    xtrn/3rdp-install/sunrise-rocklandtrivia.js diff
    xtrn/3rdp-install/sunrise-skycop.ini diff
    xtrn/3rdp-install/sunrise-skycop.js diff
    xtrn/3rdp-install/sunrise-stairway.ini diff
    xtrn/3rdp-install/sunrise-stairway.js diff
    xtrn/3rdp-install/sunrise-states.ini diff
    xtrn/3rdp-install/sunrise-states.js diff
    xtrn/3rdp-install/sunrise-sweepstakes.ini diff
    xtrn/3rdp-install/sunrise-sweepstakes.js diff
    xtrn/3rdp-install/sunrise-timetravel.ini diff
    xtrn/3rdp-install/sunrise-timetravel.js diff
    xtrn/3rdp-install/sunrise-triangle.ini diff
    xtrn/3rdp-install/sunrise-trianglesolitaire.js diff
    xtrn/3rdp-install/sunrise-tripleyahtzee.ini diff
    xtrn/3rdp-install/sunrise-tripleyahtzee.js diff
    xtrn/3rdp-install/sunrise-trivia.ini diff
    xtrn/3rdp-install/sunrise-trivia.js diff
    xtrn/3rdp-install/sunrise-virtualescape.ini diff
    xtrn/3rdp-install/sunrise-virtualescape.js diff
    xtrn/3rdp-install/sunrise-wheeloffortune.ini diff
    xtrn/3rdp-install/sunrise-wheeloffortune.js diff
    xtrn/3rdp-install/sunrise-wordsearch.ini diff
    xtrn/3rdp-install/sunrise-wordsearch.js diff
    xtrn/3rdp-install/sunrise-wordshuffle.ini diff
    xtrn/3rdp-install/sunrise-wordshuffle.js diff
    xtrn/3rdp-install/sunrise-wordwar.ini diff
    xtrn/3rdp-install/sunrise-wordwar.js diff
    xtrn/3rdp-install/sunrise-wordwarp.ini diff
    xtrn/3rdp-install/sunrise-wordwarp.js diff
    xtrn/3rdp-install/thepit.ini diff
    xtrn/3rdp-install/warlordsofthebalance.ini diff
    xtrn/3rdp-install/warlordsofthebalance.js diff
    xtrn/doorscan/003-doorscan.xjs diff
    xtrn/druglord/server.ini diff
    xtrn/fatfish/server.ini diff
    xtrn/oneliners/install-xtrn.ini diff
    xtrn/synkroban/server.ini diff
    xtrn/xtrnmenu/099-xtrnmenu-games.xjs diff
    xtrn/xtrnmenu/099-xtrnmenu-gamestats.xjs diff
    Modified Files:
    .gitattributes diff
    .gitignore diff
    .gitlab-ci.yml diff
    3rdp/build/GNUmakefile diff
    3rdp/build/js-configure.patch diff
    3rdp/win32.release/sdl2/BUGS.txt diff
    3rdp/win32.release/sdl2/COPYING.txt diff
    3rdp/win32.release/sdl2/README-SDL.txt diff
    3rdp/win32.release/sdl2/README.txt diff
    3rdp/win32.release/sdl2/WhatsNew.txt diff
    ctrl/install-json-service.ini diff
    ctrl/ircd.conf diff
    ctrl/modopts.ini diff
    ctrl/msgs.cnf diff
    ctrl/sbbs.ini diff
    ctrl/sbbsecho.ini diff
    ctrl/services.ini diff
    ctrl/text.dat diff
    docs/install.rtf diff
    docs/jsobjs.html diff
    docs/syncqnet.txt diff
    exec/SlyEdit.js diff
    exec/SlyEdit_Misc.js diff
    exec/automsg.js diff
    exec/avatars.js diff
    exec/binkit.js diff
    exec/certtool.js diff
    exec/chat_sec.js diff
    exec/chksetup.js diff
    exec/chkspace.js diff
    exec/dorkit/sbbs_console.js diff
    exec/email_sec.js diff
    exec/emailval.js diff
    exec/exportcfg.js diff
    exec/fido-nodelist-browser.js diff
    exec/fingerservice.js diff
    exec/ftn-setup.js diff
    exec/gopherservice.js diff
    exec/imapservice.js diff
    exec/init-fidonet.ini diff
    exec/init-fidonet.js diff
    exec/init-tickit.ini diff
    exec/init-tickit.js diff
    exec/install-xtrn.js diff
    exec/irc.js diff
    exec/jsdocs.js diff
    exec/lbshell.js diff
    exec/letsyncrypt.js diff
    exec/load/822header.js diff
    exec/load/acmev2.js diff
    exec/load/avatar_lib.js diff
    exec/load/binkp.js diff
    exec/load/birthdays.js diff
    exec/load/cnfdefs.js diff
    exec/load/cnflib.js diff
    exec/load/fido.js diff
    exec/load/fido_syscfg.js diff
    exec/load/fidocfg.js diff
    exec/load/filebase.js diff
    exec/load/fonts.js diff
    exec/load/frame.js diff
    exec/load/ftn_nodelist.js diff
    exec/load/ftp.js diff
    exec/load/graphic.js diff
    exec/load/http.js diff
    exec/load/json-chat.js diff
    exec/load/json-client.js diff
    exec/load/json-db.js diff
    exec/load/mailproc_util.js diff
    exec/load/modopts.js diff
    exec/load/mouse_getkey.js diff
    exec/load/nodedefs.js diff
    exec/load/presence_lib.js diff
    exec/load/recordfile.js diff
    exec/load/require.js diff
    exec/load/rss-atom.js diff
    exec/load/sbbsdefs.js diff
    exec/load/sprite.js diff
    exec/load/syncdata.js diff
    exec/load/text.js diff
    exec/load/tree.js diff
    exec/load/typeahead.js diff
    exec/load/uifcdefs.js diff
    exec/load/xjs.js diff
    exec/localcopy.js diff
    exec/login.js diff
    exec/logon.js diff
    exec/msglist.js diff
    exec/newuser.js diff
    exec/nntpservice.js diff
    exec/postit.js diff
    exec/privatemsg.js diff
    exec/sbbsimsg.js diff
    exec/sbbslist.js diff
    exec/showmsgavatar.js diff
    exec/str_cmds.js diff
    exec/testbuild.js diff
    exec/text_sec.js diff
    exec/tickit.js diff
    exec/update.js diff
    exec/xtrn-setup.js diff
    exec/xtrn_sec.js diff
    install/GNUmakefile diff
    install/systemd/sbbs.service diff
    src/build/Common.bmake diff
    src/build/Common.gmake diff
    src/conio/Common.gmake diff
    src/conio/ansi_cio.c diff
    src/conio/ciolib.c diff
    src/conio/conio_sdl.vcxproj diff
    src/conio/cterm.txt diff
    src/conio/curs_fix.h diff
    src/conio/win32cio.c diff
    src/crt/source/readme.txt diff
    src/doors/clans-devkit/CLASSES.TXT diff
    src/doors/clans-devkit/EVA.TXT diff
    src/doors/clans-devkit/EVENTMON.TXT diff
    src/doors/clans-devkit/ITEMS.TXT diff
    src/doors/clans-devkit/MONSTERS.TXT diff
    src/doors/clans-devkit/NPC-PC.TXT diff
    src/doors/clans-devkit/NPCQUOTE.TXT diff
    src/doors/clans-devkit/NPCS.TXT diff
    src/doors/clans-devkit/RACES.TXT diff
    src/doors/clans-devkit/SCHEMES.TXT diff
    src/doors/clans-devkit/SPELLS.TXT diff
    src/doors/clans-devkit/STRINGS.TXT diff
    src/doors/clans-devkit/chew.txt diff
    src/doors/clans-devkit/clandev.txt diff
    src/doors/clans-devkit/ecomp.txt diff
    src/doors/clans-devkit/langcomp.txt diff
    src/doors/clans-devkit/makepak.txt diff
    src/doors/clans-devkit/mclass.txt diff
    src/doors/clans-devkit/mcomp.txt diff
    src/doors/clans-devkit/mitems.txt diff
    src/doors/clans-devkit/notes.txt diff
    src/doors/clans-devkit/test.txt diff
    src/doors/clans-src/cfg/clans.ini diff
    src/doors/clans-src/data/classes.txt diff
    src/doors/clans-src/data/eva.txt diff
    src/doors/clans-src/data/eventmon.txt diff
    src/doors/clans-src/data/genall.bat diff
    src/doors/clans-src/data/items.txt diff
    src/doors/clans-src/data/monsters.txt diff
    src/doors/clans-src/data/npc-pc.txt diff
    src/doors/clans-src/data/npcquote.txt diff
    src/doors/clans-src/data/npcs.txt diff
    src/doors/clans-src/data/races.txt diff
    src/doors/clans-src/data/schemes.txt diff
    src/doors/clans-src/data/spells.txt diff
    src/doors/clans-src/data/strings.txt diff
    src/doors/clans-src/data/test.bat diff
    src/doors/clans-src/docs/docs.txt diff
    src/doors/clans-src/docs/lockout.txt diff
    src/doors/clans-src/docs/news.txt diff
    src/doors/clans-src/docs/notes.txt diff
    src/doors/clans-src/docs/schemes.txt diff
    src/doors/clans-src/docs/todo.txt diff
    src/doors/clans-src/gpl.txt diff
    src/doors/clans-src/release/clans.ini diff
    src/doors/clans-src/release/quests.ini diff
    src/doors/clans-src/release/route.cfg diff
    src/doors/clans-src/release/runclans.bat diff
    src/doors/clans-src/release/schemes.txt diff
    src/doors/clans-src/test/clans.cfg diff
    src/doors/clans-src/test/clans.ini diff
    src/doors/clans-src/test/quests.ini diff
    src/doors/clans-src/test/route.cfg diff
    src/doors/clans-src/tools/makefile diff
    src/doors/ny2008/example.bat diff
    src/doors/ny2008/reset.bat diff
    src/doors/ny2008/sample.cfg diff
    src/doors/ny2008/sampleib.cfg diff
    src/doors/sde/COPYING diff
    src/doors/sde/src/defs.h diff
    src/doors/sde/src/dynasty.c diff
    src/doors/sde/src/dynasty.h diff
    src/doors/sde/src/mci.c diff
    src/doors/sde/src/mci.h diff
    src/doors/sde/src/sde_input.c diff
    src/doors/sde/src/sde_input.h diff
    src/doors/timeport/bas.bat diff
    src/doors/timeport/create.bat diff
    src/doors/top/actions.c diff
    src/doors/top/bbs.c diff
    src/doors/top/bbsmax.c diff
    src/doors/top/bbsra.c diff
    src/doors/top/bbssbbs.c diff
    src/doors/top/bbswc.c diff
    src/doors/top/bio.c diff
    src/doors/top/censor.c diff
    src/doors/top/cfg.c diff
    src/doors/top/change.c diff
    src/doors/top/channels.c diff
    src/doors/top/cmi.c diff
    src/doors/top/global.c diff
    src/doors/top/help.c diff
    src/doors/top/init.c diff
    src/doors/top/kernel.c diff
    src/doors/top/lang.c diff
    src/doors/top/main.c diff
    src/doors/top/maint.c diff
    src/doors/top/messages.c diff
    src/doors/top/moderate.c diff
    src/doors/top/nodecfg.c diff
    src/doors/top/nodes.c diff
    src/doors/top/output.c diff
    src/doors/top/privchat.c diff
    src/doors/top/procinp.c diff
    src/doors/top/procmsgs.c diff
    src/doors/top/profile.c diff
    src/doors/top/screens.c diff
    src/doors/top/source.txt diff
    src/doors/top/spawn.c diff
    src/doors/top/strings.c diff
    src/doors/top/sysop.c diff
    src/doors/top/system.c diff
    src/doors/top/top.h diff
    src/doors/top/topact.c diff
    src/doors/top/topcfg.h diff
    src/doors/top/user.c diff
    src/doors/top/words.c diff
    src/encode/base64.c diff
    src/odoors/ODAuto.c diff
    src/odoors/ODBlock.c diff
    src/odoors/ODCFile.c diff
    src/odoors/ODCmdLn.c diff
    src/odoors/ODCom.c diff
    src/odoors/ODCom.h diff
    src/odoors/ODCore.c diff
    src/odoors/ODCore.h diff
    src/odoors/ODDrBox.c diff
    src/odoors/ODEdStr.c diff
    src/odoors/ODEdit.c diff
    src/odoors/ODEmu.c diff
    src/odoors/ODFrame.c diff
    src/odoors/ODFrame.h diff
    src/odoors/ODGen.h diff
    src/odoors/ODGetIn.c diff
    src/odoors/ODGraph.c diff
    src/odoors/ODInEx.h diff
    src/odoors/ODInEx1.c diff
    src/odoors/ODInEx2.c diff
    src/odoors/ODInQue.c diff
    src/odoors/ODInQue.h diff
    src/odoors/ODKrnl.c diff
    src/odoors/ODKrnl.h diff
    src/odoors/ODList.c diff
    src/odoors/ODLog.c diff
    src/odoors/ODMulti.c diff
    src/odoors/ODPCB.c diff
    src/odoors/ODPlat.c diff
    src/odoors/ODPlat.h diff
    src/odoors/ODPopup.c diff
    src/odoors/ODPrntf.c diff
    src/odoors/ODRA.c diff
    src/odoors/ODRes.h diff
    src/odoors/ODScrn.c diff
    src/odoors/ODScrn.h diff
    src/odoors/ODSpawn.c diff
    src/odoors/ODStand.c diff
    src/odoors/ODStat.c diff
    src/odoors/ODStat.h diff
    src/odoors/ODStr.c diff
    src/odoors/ODStr.h diff
    src/odoors/ODSwap.asm diff
    src/odoors/ODSwap.h diff
    src/odoors/ODTypes.h diff
    src/odoors/ODUtil.c diff
    src/odoors/ODUtil.h diff
    src/odoors/ODWCat.c diff
    src/odoors/ODWin.c diff
    src/odoors/OpenDoor.def diff
    src/odoors/OpenDoor.h diff
    src/odoors/license.txt diff
    src/sbbs3/CMakeLists.txt diff
    src/sbbs3/GNUmakefile diff
    src/sbbs3/addfiles.c diff
    src/sbbs3/allusers.c diff
    src/sbbs3/ansiterm.cpp diff
    src/sbbs3/answer.cpp diff
    src/sbbs3/ars.c diff
    src/sbbs3/atcodes.cpp diff
    src/sbbs3/baja.c diff
    src/sbbs3/build.bat diff
    src/sbbs3/chat.cpp diff
    src/sbbs3/chk_ar.cpp diff
    src/sbbs3/chksmb.c diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/ctrl/ConfigWizardUnit.cpp diff
    src/sbbs3/ctrl/FtpCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/FtpCfgDlgUnit.dfm diff
    src/sbbs3/ctrl/FtpCfgDlgUnit.h diff
    src/sbbs3/ctrl/MailCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/MailCfgDlgUnit.dfm diff
    src/sbbs3/ctrl/MailCfgDlgUnit.h diff
    src/sbbs3/ctrl/MainFormUnit.cpp diff
    src/sbbs3/ctrl/MainFormUnit.dfm diff
    src/sbbs3/ctrl/PropertiesDlgUnit.dfm diff
    src/sbbs3/ctrl/TelnetCfgDlgUnit.cpp diff
    src/sbbs3/dat_rec.c diff
    src/sbbs3/dat_rec.h diff
    src/sbbs3/data.cpp diff
    src/sbbs3/date_str.c diff
    src/sbbs3/delfiles.c diff
    src/sbbs3/download.cpp diff
    src/sbbs3/dstsedit.c diff
    src/sbbs3/dupefind.c diff
    src/sbbs3/echocfg.c diff
    src/sbbs3/echocfg.vcxproj diff
    src/sbbs3/email.cpp diff
    src/sbbs3/exec.cpp diff
    src/sbbs3/execfile.cpp diff
    src/sbbs3/execfunc.cpp diff
    src/sbbs3/execmisc.cpp diff
    src/sbbs3/execmsg.cpp diff
    src/sbbs3/fido.cpp diff
    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filelist.c diff
    src/sbbs3/fmsgdump.c diff
    src/sbbs3/fmsgdump.vcxproj diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/ftpsrvr.h diff
    src/sbbs3/ftpsrvr.vcxproj diff
    src/sbbs3/getkey.cpp diff
    src/sbbs3/getmail.c diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/getnode.cpp diff
    src/sbbs3/getstats.c diff
    src/sbbs3/getstr.cpp diff
    src/sbbs3/gtkchat/chatfuncs.c diff
    src/sbbs3/gtkmonitor/gtkmonitor.c diff
    src/sbbs3/gtkuseredit/events.c diff
    src/sbbs3/gtkuseredit/gtkuseredit.c diff
    src/sbbs3/gtkuseredit/gtkuseredit.glade diff
    src/sbbs3/gtkuseredit/gtkuseredit_glade.c diff
    src/sbbs3/gtkuserlist/events.c diff
    src/sbbs3/gtkuserlist/gtkuserlist.c diff
    src/sbbs3/inkey.cpp diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_client.c diff
    src/sbbs3/js_com.c diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_cryptcert.c diff
    src/sbbs3/js_cryptcon.c diff
    src/sbbs3/js_cryptkeyset.c diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_msg_area.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_server.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/js_system.c diff
    src/sbbs3/js_uifc.c diff
    src/sbbs3/js_user.c diff
    src/sbbs3/js_xtrn_area.c diff
    src/sbbs3/jsdebug.c diff
    src/sbbs3/jsdoor.c diff
    src/sbbs3/jsexec.c diff
    src/sbbs3/jsexec.vcxproj diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/logfile.cpp diff
    src/sbbs3/login.cpp diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/mailsrvr.h diff
    src/sbbs3/mailsrvr.vcxproj diff
    src/sbbs3/main.cpp diff
    src/sbbs3/makeuser.c diff
    src/sbbs3/mime.c diff
    src/sbbs3/mime.h diff
    src/sbbs3/msg_id.c diff
    src/sbbs3/msgdate.c diff
    src/sbbs3/msgtoqwk.cpp diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/newuser.cpp diff
    src/sbbs3/node.c diff
    src/sbbs3/nodedefs.h diff
    src/sbbs3/nopen.c diff
    src/sbbs3/ntsvcs.c diff
    src/sbbs3/ntsvcs.vcxproj diff
    src/sbbs3/objects.mk diff
    src/sbbs3/pack_qwk.cpp diff
    src/sbbs3/pack_rep.cpp diff
    src/sbbs3/pktdump.c diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/prntfile.cpp diff
    src/sbbs3/putmsg.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/qwknodes.c diff
    src/sbbs3/qwktomsg.cpp diff
    src/sbbs3/readmail.cpp diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/readtext.c diff
    src/sbbs3/rechocfg.c diff
    src/sbbs3/release.bat diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbs.vcxproj diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/sbbs_status.c diff
    src/sbbs3/sbbscon.c diff
    src/sbbs3/sbbscon.vcxproj diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsecho.h diff
    src/sbbs3/sbbsecho.vcxproj diff
    src/sbbs3/scandirs.cpp diff
    src/sbbs3/scfg/GNUmakefile diff
    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfg.h diff
    src/sbbs3/scfg/scfg.vcxproj diff
    src/sbbs3/scfg/scfgchat.c diff
    src/sbbs3/scfg/scfgmsg.c diff
    src/sbbs3/scfg/scfgnet.c diff
    src/sbbs3/scfg/scfgnode.c diff
    src/sbbs3/scfg/scfgsub.c diff
    src/sbbs3/scfg/scfgsys.c diff
    src/sbbs3/scfg/scfgxfr1.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/services.c diff
    src/sbbs3/services.vcxproj diff
    src/sbbs3/sexyz.c diff
    src/sbbs3/sexyz.vcxproj diff
    src/sbbs3/slog.c diff
    src/sbbs3/smbactiv.c diff
    src/sbbs3/smbutil.c diff
    src/sbbs3/startup.h diff
    src/sbbs3/str.cpp diff
    src/sbbs3/str_util.c diff
    src/sbbs3/targets.mk diff
    src/sbbs3/telgate.cpp diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/textgen.c diff
    src/sbbs3/textgen.vcxproj diff
    src/sbbs3/uedit/uedit.c diff
    src/sbbs3/umonitor/chat.c diff
    src/sbbs3/umonitor/umonitor.c diff
    src/sbbs3/un_qwk.cpp diff
    src/sbbs3/un_rep.cpp diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    src/sbbs3/useredit.cpp diff
    src/sbbs3/userlist/SBBS_User_ListApp.cpp diff
    src/sbbs3/ver.cpp diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/websrvr.h diff
    src/sbbs3/websrvr.vcxproj diff
    src/sbbs3/wordwrap.c diff
    src/sbbs3/writemsg.cpp diff
    src/sbbs3/xmodem.c diff
    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    src/sbbs3/zmodem.c diff
    src/sbbs3/zmodem.h diff
    src/smblib/smballoc.c diff
    src/smblib/smbdefs.h diff
    src/smblib/smbdump.c diff
    src/smblib/smbfile.c diff
    src/smblib/smblib.c diff
    src/smblib/smblib.h diff
    src/smblib/smbstr.c diff
    src/smblib/smbtxt.c diff
    src/syncdraw/block.c diff
    src/syncdraw/buildfont.c diff
    src/syncdraw/crt.c diff
    src/syncdraw/fonts.c diff
    src/syncdraw/fonts.h diff
    src/syncdraw/fontutil.c diff
    src/syncdraw/load.c diff
    src/syncdraw/menue.c diff
    src/syncdraw/miscfunctions.c diff
    src/syncdraw/sauce.c diff
    src/syncdraw/syncdraw.c diff
    src/syncdraw/tabulator.c diff
    src/syncterm/COMPILING diff
    src/syncterm/GNUmakefile diff
    src/syncterm/Manual.txt diff
    src/syncterm/SyncTERM.vcxproj diff
    src/syncterm/amigafont.h diff
    src/syncterm/gpl.txt diff
    src/syncterm/modem.c diff
    src/syncterm/ripper.c diff
    src/syncterm/syncterm.c diff
    src/syncterm/term.c diff
    src/uifc/GNUmakefile diff
    src/uifc/uifc32.c diff
    src/xpdev/dirwrap.c diff
    src/xpdev/filewrap.c diff
    src/xpdev/gen_defs.h diff
    src/xpdev/genwrap.c diff
    src/xpdev/genwrap.h diff
    src/xpdev/ini_file.c diff
    src/xpdev/link_list.c diff
    src/xpdev/link_list.h diff
    src/xpdev/multisock.c diff
    src/xpdev/multisock.h diff
    src/xpdev/netwrap.c diff
    src/xpdev/sockwrap.c diff
    src/xpdev/sockwrap.h diff
    src/xpdev/strwrap.c diff
    src/xpdev/strwrap.h diff
    src/xpdev/threadwrap.c diff
    src/xpdev/threadwrap.h diff
    src/xpdev/xpdev.props diff
    src/xpdev/xpdev_mt.vcxproj diff
    src/xpdev/xpmap.c diff
    text/banner3.msg diff
    text/menu/chat.msg diff
    text/menu/head.asc diff
    text/menu/msghdrexample.asc diff
    text/menu/msglist.asc diff
    text/menu/msgview.asc diff
    text/system.msg diff
    web/lib/nightshade/leftnav_html.ssjs diff
    webv4/lib/avatars.js diff
    webv4/lib/events/forum.js diff
    webv4/lib/events/mail.js diff
    webv4/lib/events/nodelist.js diff
    webv4/lib/events/telegram.js diff
    webv4/lib/files.js diff
    webv4/lib/forum.js diff
    webv4/lib/init.js diff
    webv4/lib/locale/en_us.ini diff
    webv4/lib/locale/en_us.js diff
    webv4/lib/pages.js diff
    webv4/lib/request.js diff
    webv4/lib/sidebar.js diff
    webv4/root/api/attachments.ssjs diff
    webv4/root/api/auth.ssjs diff
    webv4/root/api/events.ssjs diff
    webv4/root/api/files.ssjs diff
    webv4/root/api/forum.ssjs diff
    webv4/root/api/github.ssjs diff
    webv4/root/api/register.ssjs diff
    webv4/root/api/sbbsimsg.ssjs diff
    webv4/root/api/system.ssjs diff
    webv4/root/css/style.css diff
    webv4/root/index.xjs diff
    webv4/root/js/avatars.js diff
    webv4/root/js/common.js diff
    webv4/root/js/forum.js diff
    webv4/root/js/graphics-converter.js diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    xtrn/bullshit/bullshit-lib.js diff
    xtrn/bullshit/bullshit.js diff
    xtrn/bullshit/readme.txt diff
    xtrn/dicewarz2/service.js diff
    xtrn/doorscan/doorscan.js diff
    xtrn/doorscan/doorscan.txt diff
    xtrn/druglord/install-xtrn.ini diff
    xtrn/fatfish/INSTALL.txt diff
    xtrn/fatfish/README.txt diff
    xtrn/fatfish/install-xtrn.ini diff
    xtrn/hamtest/install-xtrn.ini diff
    xtrn/knk/knk.js diff
    xtrn/lord/dumpplayers.js diff
    xtrn/lord/grabbag/grabbag.js diff
    xtrn/lord/install-xtrn.ini diff
    xtrn/lord/lord.js diff
    xtrn/lord/menus/bblor102/readnow.txt diff
    xtrn/lord/menus/cyber209/readnow.txt diff
    xtrn/lord/menus/daemonic/readnow.txt diff
    xtrn/lord/menus/depress/depress.txt diff
    xtrn/lord/menus/ghostlor/readnow.txt diff
    xtrn/lord/menus/hippy/readnow.txt diff
    xtrn/lord/menus/lordansi/readme.txt diff
    xtrn/lord/menus/mdrnwrld/readnow.txt diff
    xtrn/lord/menus/tdragd06/readnow.txt diff
    xtrn/lord/menus/tdt_inc/tdt_inc.txt diff
    xtrn/lord/menus/tnglord/tnglord.txt diff
    xtrn/lord/menus/vamp01/readnow.txt diff
    xtrn/lord2/lord2.js diff
    xtrn/lord2/world.dat diff
    xtrn/oneliners/framed.js diff
    xtrn/oneliners/readme.txt diff
    xtrn/sdk/xsdk.c diff
    xtrn/sdk/xsdkdefs.h diff
    xtrn/starstocks/game.js diff
    xtrn/starstocks/sysop.doc diff
    xtrn/startrek/readme.txt diff
    xtrn/synchronetris/sysop.doc diff
    xtrn/synkroban/install-xtrn.ini diff
    xtrn/tbd/tbd.c diff
    xtrn/tbd/tbd.h diff
    xtrn/termtest/termtest.js diff
    xtrn/tw2/gamesettings.js diff
    xtrn/tw2/install-xtrn.ini diff
    xtrn/tw2/tw2.js diff
    xtrn/tw2/twint500.js diff
    xtrn/war/install-xtrn.ini diff
    xtrn/war/warcommon.js diff
    Removed Files:

    exec/badpasswords.js diff
    exec/ftp-html.js diff
    exec/ftp-web-html.js diff
    exec/gnats_cvs.js diff
    exec/load/birthdate.js diff
    exec/load/gnatslib.js diff
    exec/query_pr.js diff
    exec/send_pr.js diff
    src/sbbs2/addfiles/addfiles.c diff
    src/sbbs2/addfiles/makeall.bat diff
    src/sbbs2/addfiles/makefile diff
    src/sbbs2/addfiles/makefile.bc diff
    src/sbbs2/allusers/allusers.c diff
    src/sbbs2/allusers/make.bat diff
    src/sbbs2/ans2msg/ans2msg.c diff
    src/sbbs2/ars.c diff
    src/sbbs2/ars_defs.h diff
    src/sbbs2/atcodes.c diff
    src/sbbs2/autonode/autonode.c diff
    src/sbbs2/baja/baja.c diff
    src/sbbs2/baja/make.bat diff
    src/sbbs2/baja/make.cmd diff
    src/sbbs2/bulkmail.c diff
    src/sbbs2/chat.c diff
    src/sbbs2/chk_ar.c diff
    src/sbbs2/cmdshell.h diff
    src/sbbs2/comio.c diff
    src/sbbs2/con_hi.c diff
    src/sbbs2/con_in.c diff
    src/sbbs2/con_mid.c diff
    src/sbbs2/con_out.c diff
    src/sbbs2/data.c diff
    src/sbbs2/data_ovl.c diff
    src/sbbs2/dcdwatch/dcdwatch.c diff
    src/sbbs2/delfiles/delfiles.c diff
    src/sbbs2/delfiles/makeall.bat diff
    src/sbbs2/delfiles/makefile diff
    src/sbbs2/delfiles/makefile.bc diff
    src/sbbs2/dos/rciol.obj diff
    src/sbbs2/dstsedit/dstsedit.c diff
    src/sbbs2/dstsedit/make.bat diff
    src/sbbs2/dupefind/dupefind.c diff
    src/sbbs2/dupefind/makeall.bat diff
    src/sbbs2/dupefind/makefile diff
    src/sbbs2/dupefind/makefile.bc diff
    src/sbbs2/echo/docs/fidostep.doc diff
    src/sbbs2/echo/docs/man.c diff
    src/sbbs2/echo/docs/sbbsecho.src diff
    src/sbbs2/echo/echocfg.c diff
    src/sbbs2/echo/echocfg.mak diff
    src/sbbs2/echo/makeall.bat diff
    src/sbbs2/echo/makecfg.bat diff
    src/sbbs2/echo/makefile diff
    src/sbbs2/echo/read_cfg.c diff
    src/sbbs2/echo/sbbsecho.c diff
    src/sbbs2/echo/sbbsecho.h diff
    src/sbbs2/echo/sbbsecho.wat diff
    src/sbbs2/email.c diff
    src/sbbs2/etext.c diff
    src/sbbs2/etext.dat diff
    src/sbbs2/etext.h diff
    src/sbbs2/exec.c diff
    src/sbbs2/execdos/execdos.c diff
    src/sbbs2/execdos/make.bat diff
    src/sbbs2/execfile.c diff
    src/sbbs2/execfunc.c diff
    src/sbbs2/execmisc.c diff
    src/sbbs2/execmsg.c diff
    src/sbbs2/execsbbs/execsbbs.c diff
    src/sbbs2/execsbbs/make.bat diff
    src/sbbs2/execsbbs/make.cmd diff
    src/sbbs2/fido.c diff
    src/sbbs2/fido/crc16.c diff
    src/sbbs2/fido/crc32.h diff
    src/sbbs2/fido/file_id.diz diff
    src/sbbs2/fido/lzh.c diff
    src/sbbs2/fido/lzh.h diff
    src/sbbs2/fido/makeall.bat diff
    src/sbbs2/fido/makefile diff
    src/sbbs2/fido/makefile.bc diff
    src/sbbs2/fido/sbbsfido.c diff
    src/sbbs2/fido/smbdefs.h diff
    src/sbbs2/fido/smblib.c diff
    src/sbbs2/fido/smblib.h diff
    src/sbbs2/fido/smbvars.c diff
    src/sbbs2/file.c diff
    src/sbbs2/file_ovl.c diff
    src/sbbs2/filelist/filelist.c diff
    src/sbbs2/filelist/makeall.bat diff
    src/sbbs2/filelist/makefile diff
    src/sbbs2/filelist/makefile.bc diff
    src/sbbs2/gen_defs.h diff
    src/sbbs2/genetext.c diff
    src/sbbs2/genetext.exe diff
    src/sbbs2/getnode.c diff
    src/sbbs2/getuser.c diff
    src/sbbs2/initdata.c diff
    src/sbbs2/install/install.c diff
    src/sbbs2/install/makefile diff
    src/sbbs2/listfile.c diff
    src/sbbs2/login.c diff
    src/sbbs2/logio.c diff
    src/sbbs2/logon.c diff
    src/sbbs2/logout.c diff
    src/sbbs2/mail.c diff
    src/sbbs2/main.c diff
    src/sbbs2/main_ovl.c diff
    src/sbbs2/main_sec.c diff
    src/sbbs2/main_wfc.c diff
    src/sbbs2/makefile diff
    src/sbbs2/misc.c diff
    src/sbbs2/mlabels/make.bat diff
    src/sbbs2/mlabels/mlabels.c diff
    src/sbbs2/msg1.c diff
    src/sbbs2/msg2.c diff
    src/sbbs2/msg2ans/msg2ans.c diff
    src/sbbs2/msgtoqwk.c diff
    src/sbbs2/netmail.c diff
    src/sbbs2/newuser.c diff
    src/sbbs2/node/make.bat diff
    src/sbbs2/node/make.cmd diff
    src/sbbs2/node/node.c diff
    src/sbbs2/nodedefs.h diff
    src/sbbs2/pack_qwk.c diff
    src/sbbs2/pack_rep.c diff
    src/sbbs2/post.h diff
    src/sbbs2/postmsg.c diff
    src/sbbs2/putmsg.c diff
    src/sbbs2/putnode.c diff
    src/sbbs2/qwk.c diff
    src/sbbs2/qwk.h diff
    src/sbbs2/qwknodes/make.bat diff
    src/sbbs2/qwknodes/qwknodes.c diff
    src/sbbs2/qwktomsg.c diff
    src/sbbs2/readmsgs.c diff
    src/sbbs2/rio/riodefs.h diff
    src/sbbs2/rio/riolib.c diff
    src/sbbs2/rio/riolib.h diff
    src/sbbs2/sbbs.h diff
    src/sbbs2/sbbs_src.doc diff
    src/sbbs2/sbbsdefs.h diff
    src/sbbs2/scb/makefile diff
    src/sbbs2/scb/scb.c diff
    src/sbbs2/scb/scb.h diff
    src/sbbs2/scb/scbcfg.c diff
    src/sbbs2/scb/scbcfg.mak diff
    src/sbbs2/scfg/makeall.bat diff
    src/sbbs2/scfg/makefile diff
    src/sbbs2/scfg/makehelp.c diff
    src/sbbs2/scfg/makehelp.exe diff
    src/sbbs2/scfg/scfg.c diff
    src/sbbs2/scfg/scfg.h diff
    src/sbbs2/scfg/scfgchat.c diff
    src/sbbs2/scfg/scfgmdm.c diff
    src/sbbs2/scfg/scfgmsg.c diff
    src/sbbs2/scfg/scfgnet.c diff
    src/sbbs2/scfg/scfgnode.c diff
    src/sbbs2/scfg/scfgsub.c diff
    src/sbbs2/scfg/scfgsys.c diff
    src/sbbs2/scfg/scfgxfr1.c diff
    src/sbbs2/scfg/scfgxfr2.c diff
    src/sbbs2/scfg/scfgxtrn.c diff
    src/sbbs2/scfg/wrcnf1.c diff
    src/sbbs2/scfg/wrcnf2.c diff
    src/sbbs2/scfglib.h diff
    src/sbbs2/scfglib1.c diff
    src/sbbs2/scfglib2.c diff
    src/sbbs2/scfgvars.c diff
    src/sbbs2/slog/make.bat diff
    src/sbbs2/slog/make.cmd diff
    src/sbbs2/slog/slog.c diff
    src/sbbs2/smb/121a/chksmb.c diff
    src/sbbs2/smb/121a/chksmb.mak diff
    src/sbbs2/smb/121a/crc16.c diff
    src/sbbs2/smb/121a/crc32.h diff
    src/sbbs2/smb/121a/fido2smb.c diff
    src/sbbs2/smb/121a/fido2smb.mak diff
    src/sbbs2/smb/121a/file_id.diz