Skip to content
Snippets Groups Projects
Commit 0efb0e9f authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Additions and fixes and re-organization (of this doc)

parent 0f4325ee
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
...@@ -6,11 +6,12 @@ ...@@ -6,11 +6,12 @@
General General
~~~~~~~ ~~~~~~~
o New userbase (see https://wiki.synchro.net/history:newuserbase for details) o New userbase (see https://wiki.synchro.net/history:newuserbase for details)
o Overhaul statistics files o New statistics file formats
- */dsts.dab (daily statistics and running totals) -> */dsts.ini - */dsts.dab (daily statistics and running totals) -> */dsts.ini
- */csts.dab (cumulative statistics / log) -> */csts.tab - */csts.dab (cumulative statistics / log) -> */csts.tab
- DSTSEDIT (daily stats editor) goes away, not needed (just edit the file) - DSTSEDIT (daily stats editor) goes away: just edit the dsts.ini file
o Baja: Make !INCLUDE directives filename case-insensitive o Baja: Make !INCLUDE directives filename case-insensitive
- some old command shells/mods wouldn't compile on *nix systems otherwise
Security Security
~~~~~~~~ ~~~~~~~~
...@@ -21,17 +22,17 @@ o New 'O' restriction is automatically applied to accounts with a duplicate ...@@ -21,17 +22,17 @@ o New 'O' restriction is automatically applied to accounts with a duplicate
real name (when allowed by the sysop) and prevent such users from posting real name (when allowed by the sysop) and prevent such users from posting
or sending mail with their real name or sending mail with their real name
o Change the semantics of the "Allow Sysop Logins" setting in SCFG->System: o Change the semantics of the "Allow Sysop Logins" setting in SCFG->System:
an account with sysop access (i.e. level 90+) can still login, but any action that an account with sysop access (i.e. level 90+) can still login, but any
normally requires the system password will not be allowed. This includes the action that normally requires the system password will not be allowed. This
sysop-actions available in the FTP server when authenticating with includes the sysop-actions available in the FTP server when authenticating
<user-pass>:<system-pass> as the password. The sysop-user can still with <user-pass>:<system-pass> as the password. The sysop-user can still
authenticate (and login), but none of those sysop-actions will be available authenticate (and login), but none of those sysop-actions will be available
to them. to them.
Renamed/moved to SCFG->System->Security Options->Toggles->Allow Sysop Access Renamed/moved to SCFG->System->Security Options->Toggles->Allow Sysop Access
Customization Customization
~~~~~~~~~~~~~ ~~~~~~~~~~~~~
o New modules: msgscancfg.js and filescancfg.js o New stock modules: msgscancfg.js and filescancfg.js
o New @-codes: o New @-codes:
- BUILD_DATE - BUILD_DATE
- BUILD_TIME - BUILD_TIME
...@@ -45,13 +46,25 @@ o @-codes can now be included in text centered with the CENTER @-code ...@@ -45,13 +46,25 @@ o @-codes can now be included in text centered with the CENTER @-code
Note: this centering logic does not know the expanded-size of the @-code, so Note: this centering logic does not know the expanded-size of the @-code, so
use a fixed-length @-code (e.g. with padding) or use the 'C' @-code format use a fixed-length @-code (e.g. with padding) or use the 'C' @-code format
modifier instead modifier instead
o Fixed negative MSG_SCORE @-code value on 64-bit *nix builds
o New text.dat strings: o New text.dat strings:
- HashingFile - HashingFile
- HashedFile - HashedFile
- String 387 is now used for YouCantUseThatNetmail string - YouCantUseThatNetmail
- NewUserValEmailSubj - NewUserValEmailSubj
- InactivityAlert - InactivityAlert
- FreeDownloadUserMsg
o New text.dat strings for received Fido and Internet mail
- InternetMailReceived
- InternetMailForwarded
- FidoNetMailReceived
- WithAttachment
- FidoEchoMailReceived
For The Millionaire (RIP?), closing issue #254
The first string (suppressed with %.0s) is an optional date/time stamp.
This also deprecates (removes support for) the [mail] NewMailNotice and
ForwardNotice keys in sbbs.ini
Windows Windows
~~~~~~ ~~~~~~
o Synchronet should run on Windows XP again o Synchronet should run on Windows XP again
...@@ -60,18 +73,17 @@ o Synchronet should run on Windows XP again ...@@ -60,18 +73,17 @@ o Synchronet should run on Windows XP again
o Ignore VDD WriteFile() failures if the child process has terminated o Ignore VDD WriteFile() failures if the child process has terminated
If the child process (e.g. door game) has terminated, don't log errors If the child process (e.g. door game) has terminated, don't log errors
if/when WriteFile() to the mailslot fails. This would be expected as the if/when WriteFile() to the mailslot fails. This would be expected as the
mailslot is created/owen-by sbbsexec.dll which would also terminate along mailslot is created/owned-by sbbsexec.dll which would also terminate along
with the process, thus closing the mailslot with the process, thus closing the mailslot
o Suppress "VDD Open failed" warning if child process terminated o Suppress "VDD Open failed" warning if child process terminated
o Fix (loss of) carrier detect reporting in Virtual UART driver
o Many improvements to the Virtual UART Driver as a result of SVDM development: o Many improvements to the Virtual UART Driver as a result of SVDM development:
- Report CTS status in FOSSIL driver (high when outbuf has some space) - Report CTS status in FOSSIL driver (high when outbuf has some space)
- Emulate FIFO enablement - Emulate FIFO enablement
- Support RTS flow control - Support RTS flow control
- Report "DCD change" in MSR correctly - Report "DCD change" in MSR correctly
o Synchronet Control Panel (sbbsctrl.exe) now has a "Log Events to Disk" option o Synchronet Control Panel (sbbsctrl.exe) now has a "Log Events to Disk"
and will write the event thread log messages to data/events*.log option, enabling writing of event thread log messages to data/events*.log
o New useredit.exe (Delphi forms ported to C++Builder) o New useredit.exe (all new C++ version, but using the old Delphi forms)
Configuration Utility (SCFG) Configuration Utility (SCFG)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...@@ -79,20 +91,20 @@ o Displays path/filename of config file actively being edited, not date/time ...@@ -79,20 +91,20 @@ o Displays path/filename of config file actively being edited, not date/time
o Supports cycling through like-items using left/right arrow keys o Supports cycling through like-items using left/right arrow keys
e.g. comparing/glancing through grps, subs, libs, and dirs, is really easy! e.g. comparing/glancing through grps, subs, libs, and dirs, is really easy!
o New "Servers" menu: Almost all settings in the sbbs.ini file are now o New "Servers" menu: Almost all settings in the sbbs.ini file are now
configurable here. configurable here
o New "Initial Setup Wizard" runs automatically on new-install or via '-w' opt o New "Initial Setup Wizard" runs automatically on new-install or via '-w' opt
Similar to the SBBSCTRL:Configuration Wizard in function, but TUI, not GUI Similar to the SBBSCTRL:Configuration Wizard in function, but TUI, not GUI
o Moved Node->Toggle Options->Allow Login by User Number, Login by Real Name, o Moved Node->Toggle Options->Allow Login by User Number, Login by Real Name,
Always Prompt for Password, to System->Security Options Always Prompt for Password, to (new) System->Security Options
o Moved Node->Advanced Options->Validation user, Notification User, and o Moved Node->Advanced Options->Validation user, Notification User, and
Notification Error Level to (new) System->Notifications menu Notification Error Level to (new) System->Notifications menu
o Moved Node->Advanced Options->Inactivity Warning and Inactivity Disconnection o Moved Node->Advanced Options->Inactivity Warning and Inactivity
to System->Advanced->User Inactivity Warning (now a percentage) and Disconnection to System->Advanced->User Inactivity Warning (now a
Maximum User Inactivity percentage) and Maximum User Inactivity
o Removed Node->Advanced Options->Semaphore Frequency and Statistics Frequency o Removed Node->Advanced Options->Semaphore Frequency and Statistics Frequency
o Adding nodes, prompts to automatically adjust the Terminal Server LastNode o Adding nodes prompts to automatically adjust the Terminal Server LastNode
value to include the new (higher) node number value to include the new (higher) node number
o Moved security settings from "System" menu to System->Security Options o Moved security settings from "System" menu to (new) System->Security Options
- Password - Password
- Users Can Change Password - Users Can Change Password
- Days to Preserve Deleted Users - Days to Preserve Deleted Users
...@@ -100,80 +112,84 @@ o Moved security settings from "System" menu to System->Security Options ...@@ -100,80 +112,84 @@ o Moved security settings from "System" menu to System->Security Options
- New User Password (now prompted when setting Security->Open to New Users) - New User Password (now prompted when setting Security->Open to New Users)
- Security Level Values, Expired Account Values, and Quick-Validation Values - Security Level Values, Expired Account Values, and Quick-Validation Values
- Toggle Options->Allow Sysop Logins, Display/Log Passwords Locally, Users - Toggle Options->Allow Sysop Logins, Display/Log Passwords Locally, Users
Expire when Out-of-time, Require Sys Pass during Login, Closed to New Users Expire when Out-of-time, Require Sys Pass during Login, and
Closed to New Users
o Added System->New User Values->QWK Packet Settings o Added System->New User Values->QWK Packet Settings
o Added New User Chat options to System->New User Values->Default Toggles:
Multinode Chat Echo, Multinode Chat Actions, Pageable for Chat,
Node Acitivty Messages, and Split-Screen Private Chat
o Moved System->New User Values->Question Toggles to System->New User Prompts o Moved System->New User Values->Question Toggles to System->New User Prompts
o Added System->Advanced->Maximum Log File Size (enable/control log rotation) o Added System->Advanced->Maximum Log File Size (enable/control log rotation)
o Added System->Loadable Modules->Send Feedback, Chat Section, List Users, o Added System->Loadable Modules->Send Feedback, Chat Section, List Users,
Scan Dirs, List Files, View File Info, Batch Transfer Scan Dirs, List Files, View File Info, Batch Transfer
- All configured loadable modules can now include command-line options - *All* configured loadable modules can now include command-line options
o File Directory->Toggle->Template for New replaced with File Library->Diretory o File Directory->Toggle->Template for New replaced with File Library->
Defaults... Directory Defaults...
"Clone Options" moved to Directory Defaults->Clone Settings "Clone Options" moved to Directory Defaults->Clone Settings
o New File Library options: o New File Library options:
Upload Requirements, Download Requirements, Operator Requirements, Exemption Upload Requirements, Download Requirements, Operator Requirements, Exemption
Requirements, Auto-Add Sub-directories, Virtual Sub-directories Requirements, Auto-Add Sub-directories, Virtual Sub-directories
o Internal codes (prefixes and suffixes) have double in size o Internal codes (prefixes and suffixes) have doubled in maximum length
o Add "Native" option for QWKnet call-out cmd-lines o Add "Native" option for QWKnet call-out cmd-lines
o Add an 'enabled' property for QWKnet hubs, defaults to true o Add an 'enabled' property for QWKnet hubs, defaults to true
o Move the pack and unpack commands to an "Advanced" sub-menu since they o Move the QWKnet hub pack and unpack commands to an "Advanced" sub-menu since
are completely optional now they are completely optional now (SBBS uses libarchive otherwise)
o Trim leading and trailing white-space in input strings, automatically o Trim leading and trailing white-space in input strings, automatically
o Don't allow spaces when inputting/editing internal codes o Don't allow spaces when entering/editing internal codes
JavaScript JavaScript
~~~~~~~~~~ ~~~~~~~~~~
o Command-shells can be written entirely in JavaScript, no .bin stub needed o Command-shells can be written entirely in JavaScript, no .bin stub needed
o file_area.web_vpath_prefix o New property: file_area.web_vpath_prefix
o file_area.min_diskspace is in bytes now, not kilobytes
o file-metadata-object (return value of FileBase.get()).vpath o file-metadata-object (return value of FileBase.get()).vpath
o methods for vetting filenames (e.g. for upload by users) o system methods for vetting filenames (e.g. for upload by users)
- system.illegal_filename() - check if contains illegal chars/sequences - illegal_filename() - check if contains illegal chars/sequences
- system.safest_filename() - check if contains only safest chars - safest_filename() - check if contains only safest chars
- system.allowed_filename() - check if meets criteria from SCFG->File Options - allowed_filename() - check if meets criteria from SCFG->File Options
- system.check_filename() - check if legal and meets configured criteria and - check_filename() - check if legal and meets configured criteria and
is not in file.can is not in file.can
- bbs.check_filename() - ditto, except will display badfile.msg as o bbs.check_filename() - ditto, except will display badfile.msg as appropriate
appropriate o MsgBase.save_msg() throws an exception when empty recipient list is provided
o Restore ability for MsgBase.open() to open an arbitrary SMB msgbase o Restore ability for MsgBase.open() to open an arbitrary SMB msgbase
o Remember the last 'first_msg' property value after MsgBase instance is closed o Remember the last 'first_msg' property value after MsgBase is closed
o Fixed user.dat open file descriptor leak in User object constructor o Fixed user.dat open file descriptor leak in User object constructor
o New User.stats.download_cps property
o New User.mail_settings property
o New User.close() method o New User.close() method
o New console.flush() method
o New console.progress() method
Display a progress indication bar, e.g. "[ Scanning 10.0% ]" with the bar
backfill effect (when supported by the terminal)
o File.readBin() and writeBin() methods now support 64-bit integer binary data
o console.mouse_mode now supports being set to just true or false (no flags)
o console.pause() now accepts an optional bool argument (set_abort)
o Allow system.matchuserdata() to search deleted user records
o Add 'fidonet_addr' property to msg_area.sub[] o Add 'fidonet_addr' property to msg_area.sub[]
o New property: system.login_settings
o New property: system.mail_settings
o file_area.min_diskspace is in bytes now, not kilobytes
o New global function: rmfiles() - remove files and sub-dirs, recursively o New global function: rmfiles() - remove files and sub-dirs, recursively
o New bbs.batch_clear() method o New bbs.batch_clear() method
o New bbs.chat_sec() method o New bbs.chat_sec() method
o New bbs.sync() method o New bbs.sync() method
o New User.stats.download_cps property
o New User.mail_settings property
o New bbs methods: save_msg_scan() and reload_msgs_scan() o New bbs methods: save_msg_scan() and reload_msgs_scan()
o bbs.telnet_gate() and rlogin_gate() now return boolean (success/failure) o bbs.telnet_gate() and rlogin_gate() now return boolean (success/failure)
o bbs.logoff() now returns boolean (false if log-off was denied) o bbs.logoff() now returns boolean (false if log-off was denied)
o New bbs properties: first_node and last_node o New bbs properties: first_node and last_node
o MsgBase.save_msg() throw an exception when empty recipient list is provided
o New system.find_login_id() method o New system.find_login_id() method
o Allow system.matchuserdata() to search deleted user records
o New property: system.login_settings
o New property: system.mail_settings
o New console properties: o New console properties:
- line_delay - line_delay
- max_getkey_inactivity - max_getkey_inactivity
- last_getkey_activity - last_getkey_activity
- max_socket_inactivity - max_socket_inactivity
o console.mouse_mode now supports being set to just true or false (no flags)
o console.pause() now accepts an optional bool argument (set_abort)
o New console.flush() method
o New console.progress() method
Display a progress indication bar, e.g. "[ Scanning 10.0% ]" with the bar
backfill effect (when supported by the terminal)
o File.readBin() and writeBin() methods now support 64-bit integer binary data
o New method: File.iniRemoveSections() o New method: File.iniRemoveSections()
Servers Servers
~~~~~~~ ~~~~~~~
o MQTT (IoT protocol) statistics/status/output publishing and control o MQTT (IoT protocol) statistics/status/output publishing and control
See https://wiki.synchro.net/ref:mqtt for details
o Allow a configured maximum-severity (minimum value) for TLS-related log o Allow a configured maximum-severity (minimum value) for TLS-related log
messages. Default is 0 (LOG_EMERG, maximum severity) messages, default is 0 (LOG_EMERG, maximum severity)
o All servers support login-by-realname/user-number (if enabled by the sysop) o All servers support login-by-realname/user-number (if enabled by the sysop)
o systemd integration (status reporting) on *nix builds o systemd integration (status reporting) on *nix builds
o Fix uploader-notification, credit awards, download-counters in FTP downloads o Fix uploader-notification, credit awards, download-counters in FTP downloads
...@@ -190,19 +206,19 @@ Terminal Server ...@@ -190,19 +206,19 @@ Terminal Server
~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
o Socket inactivity watchdog now supported and configurable with separate o Socket inactivity watchdog now supported and configurable with separate
maximum inactivity values for Login, New User Registration, and normal maximum inactivity values for Login, New User Registration, and normal
User Session (SCFG->Servers->Terminal Server->Max * Inactivity settings User Session (SCFG->Servers->Terminal Server->Max * Inactivity settings)
- This inactivity detection works even when scripts don't call getkey() - This inactivity detection works even when scripts don't call getkey()
but is reset upon received TCP traffic of any kind (even NOP/GA) but is reset upon received TCP traffic of any kind (even Telnet NOP/GA)
o Progress-update displays are now optimized for slow (e.g. modem) connections o Progress-update displays are now optimized for slow (e.g. modem) connections
o Basic PETSCII output column/line counting support (for auto-pause) o Basic PETSCII output column/line counting support (for auto-pause)
o Displayed Instant Messages (notifications and telegrams) are now stored o Displayed Instant Messages (notifications and telegrams) are now stored
and historic messages viewable via ;msgs command and 'V' from the ^P prompt and historic messages viewable via ;msgs command and 'V' from the ^P prompt
o New display file naming (*.cXX.[asc|msg|ans|rip|seq]) where XX is the minimum o New display file naming (*.cXX.[asc|msg|ans|rip|seq]) where XX is the
column width (not necessarily the exact column width) /minimum/ column width (not necessarily the exact column width)
The existing *.XXcol.* naming is still supported for exact-column width files The old *.XXcol.* naming is still supported for exact-column-width files
o ASC/MSG versions of display files no longer required o ASC/MSG versions of display files are no longer required
If all a sysop wants to create/use are .ans files, they can do that, non-ANSI If all a sysop wants to create/use are .ans files, they can do that,
users be damned non-ANSI users be damned
o Use nearest-zone matching for source FTN address when replying to netmail o Use nearest-zone matching for source FTN address when replying to netmail
o Fix lost 'unexpected characters' received in ANSI get cursor position o Fix lost 'unexpected characters' received in ANSI get cursor position
response (issue #304) response (issue #304)
...@@ -233,10 +249,10 @@ Doors ...@@ -233,10 +249,10 @@ Doors
o New option to Disable Local Display o New option to Disable Local Display
o New option to Alert/Disconnect an Inactive User while running program o New option to Alert/Disconnect an Inactive User while running program
o Fix EXITINFO.BBS drop file generation (a few problems with size and garbage) o Fix EXITINFO.BBS drop file generation (a few problems with size and garbage)
o Totally re-write the PCBOARD.SYS and USERS.SYS drop file generation logic o Total rewrite of the PCBOARD.SYS and USERS.SYS drop file generation logic
o Limit door.sys drop file numeric values to 32767 o Limit DOOR.SYS drop file numeric values to 32767
Fixes issue with doors using The DoorFrame door library (e.g Lemonade!) - Fixes issues with doors using The DoorFrame door library (e.g Lemonade!)
o Populate line 36 (user alias) of door.sys with the current user's handle o Populate line 36 (user alias) of DOOR.SYS with the current user's handle
Previously, we just always made this a blank line Previously, we just always made this a blank line
o Add line 8 (user's real name) to DOORFILE.SR (Solar Realms' drop file) o Add line 8 (user's real name) to DOORFILE.SR (Solar Realms' drop file)
o Dates in drop files are now always in MM/DD/YY format, never DD/MM/YY o Dates in drop files are now always in MM/DD/YY format, never DD/MM/YY
...@@ -256,21 +272,21 @@ o When user hangs-up on external programs on *nix, try to terminate w/SIGTERM ...@@ -256,21 +272,21 @@ o When user hangs-up on external programs on *nix, try to terminate w/SIGTERM
stdio-based external program on *nix, if the program was still running, we'd stdio-based external program on *nix, if the program was still running, we'd
send it a SIGHUP, wait up to 10 seconds for the process to terminate and if send it a SIGHUP, wait up to 10 seconds for the process to terminate and if
it did not, terminate it (ungracefully) with SIGKILL. Since some programs it did not, terminate it (ungracefully) with SIGKILL. Since some programs
catch SIGTERM (and not SIGHUP) to indicate a termination request, we now will catch SIGTERM (and not SIGHUP) to indicate a termination request, we now
first attempt a SIGHUP, wait up to 5 seconds for the process to terminate and will first attempt a SIGHUP, wait up to 5 seconds for the process to
if it does not, then send a SIGTERM and wait up to another 5 seconds for it terminate and if it does not, then send a SIGTERM and wait up to another 5
to terminate and if it doesn't, then finally send it a SIGKILL (which cannot seconds for it to terminate and if it doesn't, then finally send it a
be caught and always results in an ungraceful termination of the child SIGKILL (which cannot be caught and always results in an ungraceful
process) termination of the child process)
File Transfers File Transfers
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
o Extracted DIZ from sub-directory of archive does not preempt root DIZ File o Extracted DIZ from sub-directory of archive does not preempt root DIZ File
o Increase maximum extended file description length from 4000 to 5000 chars o Increased maximum extended file description length from 4000 to 5000 chars
o Filenames > 12 chars use liberal filename matching o Filenames > 12 chars use liberal filename matching
(fixes issue seen at https://youtu.be/_IWzIV0_sZ4?t=310) (fixes issue seen at https://youtu.be/_IWzIV0_sZ4?t=310)
o Allow maximum uploaded filename length to be configured (default: 64) o Allow maximum uploaded filename length to be configured (default: 64)
o Searching for file descriptions in the Terminal Server, now searchings file's o Searching for file descriptions in the Terminal Server, now searching file's
tags, author, and author group, if available tags, author, and author group, if available
o Fixed issue (#328) removing files from batch queues o Fixed issue (#328) removing files from batch queues
o Fix "Testable Files" file extension comparison (issue #331) o Fix "Testable Files" file extension comparison (issue #331)
...@@ -290,34 +306,25 @@ o Allow sysop-choice of source of virtual sub-directory source name ...@@ -290,34 +306,25 @@ o Allow sysop-choice of source of virtual sub-directory source name
long name, if they prefer. long name, if they prefer.
o Removed FTP server DIR_FILES option (no longer applicable) o Removed FTP server DIR_FILES option (no longer applicable)
o Fix: Use the user's default download protocol for batch downloads o Fix: Use the user's default download protocol for batch downloads
o Increase maximum file extension length from 3 to 15 characters (e.g. .tar.gz) o Increase maximum file extension length from 3 to 15 characters (e.g. tar.gz)
o Fix bug (issue #515) with moving files between directories o Fix bug (issue #515) with moving files between directories
o Minimum disk space more universally enforced and no longer limited to 65535K o Minimum disk space more universally enforced and no longer limited to 65535K
o Better access enforcement to files in batch download queues o Better access enforcement to files in batch download queues
o Remove defunct files from batch download queue during logon o Remove defunct files from batch download queue during logon
o Store/reuse file download throughput (in CPS), for transfer estimates/ETA o Store/reuse file download throughput (in CPS), for transfer estimates/ETA
Message Areas Message Bases/Areas
~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
o Sanity check sub-board's assigned FTN addresses when loading configuration o Sanity check sub-board's assigned FTN addresses when loading configuration
(use nearest matching configured AKA) (use nearest matching configured AKA)
o Fixed QWKnet netmail dest user look-up (using qnet/users.dat) o Fixed QWKnet netmail dest user look-up (using qnet/users.dat)
broken back in 2021 broken back in 2021
o New text.dat strings for received Fido and Internet mail
- InternetMailReceived
- InternetMailForwarded
- FidoNetMailReceived
- WithAttachment
- FidoEchoMailReceived
For The Millionaire (RIP?), closing issue #254
The first string (suppressed with %.0s) is an optional date/time stamp.
This also deprecates (removes support for) the [mail] NewMailNotice and
ForwardNotice keys from sbbs.ini.
o Fix heap corruption in decoding of quoted-printable text in smblib o Fix heap corruption in decoding of quoted-printable text in smblib
o Fix erroneous filtering of vote messages by age o Fix erroneous filtering of vote messages by age
e.g. !Filtering QWK message from (null) due to age: 19321 days e.g. !Filtering QWK message from (null) due to age: 19321 days
o Fix: Include blank lines in messages edited with internal editor o Fix: Include blank lines in messages edited with internal editor
o Don't save draft messages upon disconnect for Guest or "no one" (user #0) o Don't save draft messages upon disconnect for Guest or "no one" (user #0)
o Improved MIME/QP-encoded message text parsing
SBBSecho SBBSecho
~~~~~~~~ ~~~~~~~~
...@@ -329,7 +336,7 @@ o Rework NetMail routing logic to handle point destinations better ...@@ -329,7 +336,7 @@ o Rework NetMail routing logic to handle point destinations better
HatchIT HatchIT
~~~~~~~ ~~~~~~~
o Supports a new non-interactive mode (patch by @acn) o New non-interactive mode (patch by @acn)
o Generates MS-DOS compatible 'File' key values and 'Lfile' key when source o Generates MS-DOS compatible 'File' key values and 'Lfile' key when source
filename is not MS-DOS compatible filename is not MS-DOS compatible
...@@ -338,13 +345,13 @@ Web Server ...@@ -338,13 +345,13 @@ Web Server
o Direct Filebase access for downloading files with access controls, o Direct Filebase access for downloading files with access controls,
notifications, updated statistics and credits (optional, enabled notifications, updated statistics and credits (optional, enabled
via SCFG->Servers->Web Server->Filebase VPath Prefix (e.g. "/files/") via SCFG->Servers->Web Server->Filebase VPath Prefix (e.g. "/files/")
o Dynamic file area/base indexing
(set sbbs.ini [web] FileIndexScript to webfileindex.ssjs for demo)
o Requsted-path aliasing, via ctrl/web_alias.ini o Requsted-path aliasing, via ctrl/web_alias.ini
o Log requests that resolve outside of the web root as hack attempts o Log requests that resolve outside of the web root as hack attempts
o Fix HTTP-requests for files >= 2GB in size o Fix HTTP-requests for files >= 2GB in size
o Perform a JS garbage collection for each new request in a reused session o Perform a JS garbage collection for each new request in a reused session
o Dynamic file area/base indexing o Add UNIX domain FastCGI support (in *nix builds only)
(set sbbs.ini [web] FileIndexScript to webfileindex.ssjs for demo)
o Add UNIX domain FastCGI support
Mail Server Mail Server
~~~~~~~~~~~ ~~~~~~~~~~~
...@@ -355,3 +362,6 @@ o Fix false FORGED mail header 'FROM' field detection/rejection ...@@ -355,3 +362,6 @@ o Fix false FORGED mail header 'FROM' field detection/rejection
FTP Server FTP Server
~~~~~~~~~~ ~~~~~~~~~~
o Limit uploaded file sizes, accounting for free disk space o Limit uploaded file sizes, accounting for free disk space
o Fix uploader-notification, credit awards, download-counters in downloads
o Source of virtual sub-directory names are now configurable in SCFG
- May be derived from internal code suffix (default), the short or long name
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment