Skip to content
Snippets Groups Projects
Commit 02810b7a authored by rswindell's avatar rswindell
Browse files

List of new features/changes in v3.12a.

parent a1802f95
Branches
Tags
No related merge requests found
<html>
<head>
<title>What's New in Synchronet v3.12 (Change History)</title>
</head>
<body>
<font face=Arial,Helvetica>
<h1 align=center>What's New in Synchronet v3.12</h1>
<ul>
<li><b>Web Server</b> (New!)<ul>
<li>HTTP 1.0 and 1.1
<li>Virtual Hosts
<li>CGI (currently on Unix only)
<li>Server-side JavaScript (SSJS) for dynamically-generated web content
<li>Default HTML user interface for creating new user accounts and reading messages
<li>Standard format HTTP access logs (<tt>data/logs/http-*</tt>)
<li>Configurable MIME file type support (<tt>ctrl/mime_types.ini</tt>)
<li>... and many more cool features thanks to Stephen Hurd (Deuce)
</ul><br>
<li><b>Mail Server</b><ul>
<li>Supports SMTP authentication (PLAIN, LOGIN, or CRAM-MD5) when using an external relay server
<li>Creates default MIME Content-Type for non-Internet messages (<tt>charset=IBM437</tt>)
<li>Supports <tt>user@[<i>ip_address</i>]</tt> notation
<li>Supports RFC822 header fields in <tt>Field<i>[white-space]</i>:</tt> format
<li>Fixed receipt of SMTP telegrams (inter-BBS instant-messages)
<li>Fixed possible buffer overflow scenarios
<li>Fixed UDP DNS MX-record look-up bug
<li>If posting via authenticatd SMTP (e.g. <tt>sub:code@yourbbs.com</tt>), verifies user meets access requirements
<li>Much-improved external mail processor support using new <tt>ctrl/mailproc.ini</tt><ul>
<li>Or <tt>ctrl/mailproc.<i>host</i>.ini</tt> if it exists
<li>Includes ListServer module as example mail processor
<li>See <a href=listserver.txt>listserver.txt</a> for details
</ul>
<li>Mail processors may run only for specific recipients (or a set of recipients)
<li>Additional mail processor command-line specifiers:<ul>
<li><tt>%R</tt> (Reverse path)
<li><tt>%S</tt> (Sender's name)
<li><tt>%A</tt> (Sender's address)
</ul>
<li>JavaScript mail processor modules:<ul>
<li>can now use <tt>log()</tt> to write to the mail server log window<br>
(AKA <tt>write</tt>, <tt>writeln</tt>, and <tt>print</tt>)
<li>have access to global variables: <tt>sender_name</tt>, <tt>sender_address</tt>, and <tt>reverse_path</tt>
</ul>
</ul><br>
<li><b>Telnet/RLogin Server</b><ul>
<li>Telnet option negotiation overhaul:<ul>
<li>Compatibility with more clients
<li>Gets/stores terminal type
<li>Supports negotiated window size (much more reliable than ANSI cursor position reports)
</ul>
<li>Telnet server now escapes the telnet IAC (ASCII 255) character
<li>Many RLogin improvements and behavior changes (ask Deuce for details)
<li>Switched "Allowed RLogin address list" from <tt>data/rlogin.can</tt> to <tt>ctrl/rlogin.cfg</tt>
<li>QWK/REP packing/unpacking semaphore file allows multiple hosts to process QWK events (for FTP server)
<li>Counts and logs number of "short sends" on client socket
<li>Fixed crashes/segfaults when re-loading configuration files
<li>Fixed "Monitor Time Left" external program toggle option
<li>Fixed calculation of upload/download and post/call ratios over 50% in Access Requirement Strings
<li>Beeps at user when reaching end of allowed string input
<li>Batch download file list now contains the long filenames if the file transfer protocol is "Native 32-bit"
<li>Rejects filenames begining with a dash as a "suspicious filename"
<li>Use default <tt>SHELL</tt> value of <tt>/bin/sh</tt> if environment variable not set for Unix version
<li>Created <tt>PROT</tt> ARS keyword (e.g. "Telnet" or "RLogin")
<li>The <tt>%p</tt> command-line specifier now expands to the client's protocol (e.g. "Telnet" or "RLogin")
<li>Allow spinning cursor to be completely disabled by users (even for pause prompts)
<li><tt>input_thread_mutex</tt> lock fix (work-around necessary for some Linux distros)
<li>Eliminated hard-coded "Continue?" prompt during new user procedure, using text.dat line 564 instead
</ul><br>
<li><b>FTP Server</b><ul>
<li>Supports both shared and non-shared open modes when sending files (for download)
<li>Guest/anonymous HTML clients can now toggle on/off extended file descriptions in <tt>00index.html</tt>
<li>Don't update existing (pre-packed?) QWK packet when downloading or "sizing" a QWK packet via FTP
</ul><br>
<li><b>Synchronet Services</b><ul>
<li>Configurable stack size for service threads
<li>Improved <tt>client_add()</tt> and <tt>client_remove()</tt> methods
<li>Eliminated support for legacy <tt>ctrl/services.cfg</tt><ul>
<li>Must use <tt>ctrl/services.ini</tt> or <tt>ctrl/services.<i>host</i>.ini</tt> now
</ul>
<li>Fixed termination request with active clients
</ul><br>
<li><b>All Servers</b><ul>
<li>Automatic bind-retry on failure (typically, "address/port already in use")
<li>Much more flexible semaphore file format for recycling or shutting-down servers using the local file system<ul>
<li>Format: <tt>ctrl/<i>action</i>[.<i>host</i>][.<i>service</i>]</tt>
<li>Examples:<ul>
<li><tt>ctrl/recycle</tt> - recycle all services on all hosts
<li><tt>ctrl/recycle.vert</tt> - recycle all services on system with hostname "vert"
<li><tt>ctrl/shutdown.vert.telnet</tt> - shutdown telnet service on vert only
<br>
<i>service</i> may be "telnet", "ftp", "mail", "web" or "services"
</ul>
<li>Legacy (<tt>ctrl/*.rec</tt>) recycle semaphore files still supported
</ul>
<li>Startup initialization file (<tt>ctrl/sbbs.ini</tt>) is re-parsed upon server recycle
<li>Much more responsive to requests for termination (immediate) and shutdown (when not in use)
</ul><br>
<li><b>Message Bases</b> (SMBLIB v2.40)<ul>
<li>Performance and reliability improvements
<li>The e-mail message base (<tt>data/mail</tt>) now supports an unlimited number of messages (within SMB limits)
<li>High-level functions added for the convenience of 3rd party developers
<li>New security header fields track who posted what messages from where
<li>New hash database<ul>
<li>to perform fast look-ups of message-IDs for threading and duplicate checking
<li>robust body text dupe checking (better than legacy CRC history method)
<li>hash history file is never purged or deleted so old dupes cannot return
<li>no chance for false positives
</ul>
<li>Auto-thread linkage<ul>
<li>resulting thread-links will be used extensively in future threaded message displays (ala web-boards)
</ul>
<li>New SMBUTIL commands:<ul>
<li><tt>d</tt> delete all messages
<li><tt>h</tt> dump hash database
</ul>
<li>New SMBUTIL options:<ul>
<li><tt>-c[m]</tt> create message base if it doesn't exist (m=max msgs)
<li><tt>-l</tt> LZH-compress imported message text
<li><tt>-o</tt> print errors on stdout (instead of stderr)
<li><tt>-p</tt> wait for keypress (pause) on exit
<li><tt>-!</tt> wait for keypress (pause) on error
<li><tt>-b</tt> beep on error (quiet is now the default)
</ul>
<li>New CHKSMB options:<ul>
<li><tt>-b</tt> beep on error (quiet is now the default)
<li><tt>-h</tt> do not check hash database
</ul>
<li>FIXSMB may now be used to repair multiple message bases with a single command<br>
Example: <tt>fixsmb data/*.shd</tt>
<li>FIXSMB now removes "in-transit" attributes (holding messages in the mail server queue)
<li>FIXSMB will now add message hashes to the hash database (if missing)
</ul><br>
<li><b>JavaScript</b><ul>
<li>JSexec new global methods:<ul>
<li><tt>chdir()</tt> (change current directory)
<li><tt>putenv()</tt> (create/set environment variable)
</ul>
<li>Background (multi-threaded) script support using <tt>load(true, <i>filename, args</i>)</tt>
<li>New <a href=v312_jsnew.html#Queue>Queue</a> class for bi-directional communications between modules/threads
<li>New <tt>bbs.mods</tt> object for a common global repository for 3rd party modifications/modules
<li>Reduced memory usage (using the undocumented JSPROP_SHARED attribute for properties)
<li><tt>MsgBase.save_msg()</tt> will accept any variable type for the body text<br>
and will automatically convert to a string (even arrays of objects)
<li>For a complete list of JavaScript Object Model changes, see <a href=v312_jsnew.html>v312_jsnew.html</a>
</ul><br>
<li><b>Full-screen Utilities</b> (e.g. SCFG, EchoCfg, etc.)<ul>
<li>Mouse support returns to Win32
<li>Strings longer than the screen width can now be edited
<li>Support ANSI terminals (remote input doesn't currently work on NT-based OSes)
<li>Support X consoles on Unix
<li>Compatibility with terminals/keyboards lacking some extended keys.<br>
The following are now equivalanet in ulist (menus) and string input:<ul>
<li>^B = home
<li>^E = end
<li>^V = insert (string input only)
<li>^Z = help (F1)
</ul>
and in menus only:<ul>
<li>+ = insert
<li>- = delete
<li>backspace = escape (not new)
<li>^U = pgup
<li>^D = pgdn
<li>^C = copy (F5)
<li>^V = paste (F6)
</ul>
<li>... and many more cool features thanks to Stephen Hurd (Deuce)
</ul><br>
<li><b>Windows NT Services</b><ul>
<li>Supports mute/umute and sysop available/unavailable control from the Synchronet Control Panel
<li>Event log messages no longer contain warnings about "missing event source descriptions"
</ul><br>
<li><b>Synchronet Control Panel (for Win32)</b><ul>
<li>Now stores common server settings in <tt>ctrl/sbbs.ini</tt> instead of Windows Registry<ul>
<li>Legacy registry settings are automatically imported
<li>Allows easy interoperation with <tt>sbbsNTsvcs.exe</tt> and <tt>sbbs.exe</tt>
<li>The startup .ini file can now be specified on the <tt>sbbsctrl.exe</tt> comand-line
<li>Will use <tt>ctrl/<i>host</i>.ini</tt> by default, if it exists
</ul>
<li>Optionally use Windows file associations when editing or viewing text/ansi/ascii files
<li>Synchronet Control Panel configuration (window sizes/positions/colors, etc) may be exported-to<br>
or imported-from <tt>ctrl/sbbsctrl.ini</tt>
</ul><br>
<li><b>Synchronet Console</b><ul>
<li>Added commands:<ul>
<li>(R)ecycle/(S)hutdown/(T)erminate any server (or all servers)
<li>(!) to execute an external (system) command
</ul>
</ul>
</ul>
For <b>many</b> more changes since v3.10, see <a href=v311_new.html>v311_new.html</a> and
<a href=v311_jsnew.html>v311_jsnew.html</a>
<p align="right"><font face="Arial" size="1" , "Helvetica">Copyright 2004 Rob
Swindell <br>
&nbsp;$Id$</font></p>
</body>
</html>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment