diff --git a/docs/v312_new.html b/docs/v312_new.html new file mode 100644 index 0000000000000000000000000000000000000000..9d061bf75877a3a4abc2e20bd5131d1f8a3fd541 --- /dev/null +++ b/docs/v312_new.html @@ -0,0 +1,198 @@ +<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> + $Id$</font></p> + +</body> +</html> \ No newline at end of file