diff --git a/docs/sbbs3faq.txt b/docs/sbbs3faq.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c495ad162e329a2f6cb38ecf4fa2b1bac3d08d5d
--- /dev/null
+++ b/docs/sbbs3faq.txt
@@ -0,0 +1,116 @@
+Answers to frequently asked questions regarding Synchronet Version 3.0
+by Rob Swindell (digital man), December 1999 (updated June 2000)
+*  Updated February 2002
+
+Q: Is Synchronet going to continue to be freeware?
+A: Yes, I'm just doing this for fun (what a sicko!).
+   * See http://synchro.net/copyright.html for details.
+
+Q: What operating system does Synchronet Version 3.0 run on?
+A: Synchronet v3 is currently a Win32 application designed for use on Windows 
+   95/98/NT4/2000.
+   * Windows XP is supported too.
+   * Synchronet v3.10 also runs on Linux and FreeBSD operating systems.
+
+Q: Is v3 multi-user/multi-threaded?
+A: Yes, all nodes are (typically) run in the same process/window.
+   External programs, however, run in their own processes/windows.
+   Version 2.3 for OS/2 was also multi-threaded, but not multi-user: each node 
+   ran in its own process/window.
+
+Q: Is there going to be a DOS version of v3?
+A: No, but I did release an update to v2 for DOS/OS2 (2.30c). This update
+   included some of the Y2K fixes I've made in v3 and some other minor
+   additions, fixes, and features.
+
+Q: Is there going to be an OS/2 version of v3?
+A: Possible, but not probable.
+
+Q: Is there going to be a Linux version of v3?
+A: Definitely.
+   * The Linux version is currently distributed in source code form only,
+     see http://synchro.net/source.html for details.
+
+Q: Can I mix v2 and v3 nodes on the same BBS?
+A: Yes, all of the configuration and data files were purposely kept backwards 
+   compatible.
+   * As of v3.10, there are additional "issues" that must be addressed when mixing
+     v2 and v3.1 nodes (mainly in regards to the TEXT.DAT and exec/*.BIN files).
+
+Q: Can I mix v2 and v3 nodes on the same computer?
+A: Yes.
+
+Q: Does v3 still support traditional dial-in users?
+A: No, v3 is a telnet-only BBS program. Use v2 nodes for your dial-in users.
+
+Q: Do I need a Telnet/FOSSIL application (e.g. NetModem or COM/IP) for v3 
+   nodes?
+A: No, Synchronet v3 includes a DOS/FOSSIL interrupt driver (dynamically loaded
+   VXD for Windows 95/98 and VDD for Windows NT/2000).
+
+Q: Is v3 Y2K compatible?
+A: Yes.
+
+Q: Is the source code for Synchronet v3 available?
+A: * The source code has been available since October, 2000. 
+     See http://synchro.net/source.html for details.
+
+Q: How many v3 nodes can I run on one machine?
+A: Theoretically, 250. If your BBS uses external DOS programs for file 
+   transfers and/or doors, then the realistic number is much lower depending on
+   bandwidth and horsepower (DOS programs consume more system resources than
+   native 32-bit programs). 
+
+Q: Can I spread my nodes across two or more machines?
+A: Yes, v3 includes a configuration dialog that lets you specify a range of 
+   nodes to support in that instance.
+
+Q: Are there limitations to v3?
+A: Yes:
+	o No direct dial-in support (Telnet only)
+	o Only externals programs that use DOS interrupts (XSDK/WWIV doors) or 
+          FOSSIL for I/O will work with v3.
+          * 32-bit doors that use TCP Sockets or Standard I/O are also supported.
+	o Relative paths (e.g. "..\XTRN\BLA.EXE") are no-longer supported in 
+          command lines (the current directory cannot be assumed to be the 
+          current NODE directory). Relative paths ARE still supported in data 
+          directories and other paths in SCFG.
+	
+Q: Are there benefits to v3?
+A: Yes:
+	o Speed, speed, speed 
+		* Separate I/O threads dynamically created for each node in use
+		* Direct socket communications (except when running dos 
+                  externals)
+		* No DOS context-switching (except when running dos externals)
+		* Idle nodes (WFC) consume no resources, bandwidth, or CPU time
+		* System events run in their own dedicated thread
+	o Reliability
+		* A crashed door shoudn't crash the entire system, or in most 
+                  cases, even the current node
+	o Functionality
+		* User IP address and host name are logged and stored in user 
+                  record
+		* Optional AutoLogon via IP address
+		* IP/Host name trashcan
+		* Users can be ;INTERrupted while running ANY external program
+		* Non-exclusive events do not take any nodes off-line
+		* No memory limitations (for configuration items, message 
+                  lengths, etc)
+		* Integrated FTP Server: seemlessly integrated with the BBS
+		  file database with long filename support and QWK transfers
+		* Integrated Mail (POP3/SMTP) server supports MX-record
+		  lookups, aliases, SPAM filters, are more
+	o Simplicity
+		* No third-party Telnet/FOSSIL driver (NetModem or COM/IP) 
+                  necessary
+		* Simple COM port configuration (all nodes can use COM1, for 
+                  example)
+		* No more hassling with baud rates and initialization strings 
+                  (they're not used)
+		* As many nodes as you want to run, all in the same window!
+		* Eliminates all those short-cut icons and taskbar buttons!
+		* DCDWATCH no longer necessary to support WWIV externals
+
+Q: When will v3 be available?
+A: It is available now. Logon to vert.synchro.net via FTP or Telnet.
diff --git a/docs/v300_new.txt b/docs/v300_new.txt
new file mode 100644
index 0000000000000000000000000000000000000000..90a3535650a4857adc7dc069fcce1a0a7ad3d795
--- /dev/null
+++ b/docs/v300_new.txt
@@ -0,0 +1,495 @@
+***************************************************
+* What's New in Synchronet Version 3.00 for Win32 *
+***************************************************
+
+General
+~~~~~~~
+o All "nodes" run in a single multi-threaded process
+  - Minimal resource requirements and improved performance
+  - DOS Windows are automatically opened/closed for external DOS programs/doors
+  - It's never been easier to run a 10+ node system (with DOS door support) on
+    one computer
+
+o Professional GUI Control Panel to monitor all clients and servers 
+  simultaneously
+  - Replaces old "Waiting for call" screen
+  - Launch configuration and editor dialogs directly
+
+o Optionally plays sysop's choice of .WAV file on user connect/disconnect
+
+
+Internet
+~~~~~~~~
+o Supports Telnet logins only (no more direct-dial user support)
+  - No third-party FOSSIL/Telnet driver (SIO/VMODEM, NetModem, COM/IP) required
+  - Full FOSSIL/DOS/WWIV/XSDK program/door support (easy setup!)
+  - Outbound Telnet module included for external MUDs/BBSs
+  - Automatically detects and logs client IP and hostname
+  - Optional auto-logon via IP address (requires V exemption)
+
+o Includes integrated FTP server
+  - Supports Anonymous (Guest) logins
+  - Virtual directory structure mimics BBS filebase hierarchy
+  - User security settings enforced
+  - Supports long/mixed-case filenames
+  - Dynamically generates index (description) files
+  - Supports blind upload and sysop directories
+  - QWK/QWKnet packet uploads and downloads
+  - Upload description support
+  - Transfers included in BBS and user upload/download statistics
+  - Time/Credit system enforced
+  - Custom login/hello/goodbye messages
+  - Optional connect/disconnect sounds (.WAV files)
+
+o Includes integrated Mail (POP3/SMTP) server
+  - Check BBS mailbox using standard Internet mail clients (Eudora, Outlook)
+  - SPAM Filters supported: RBL, RSS, DUL
+  - Configurable alias list
+  - Optionally receive mail by user number (1@yourbbs.com)
+  - Optional inbound/outbound sounds (.WAV files)
+  - Optional DNS/MX record lookup (no SMTP Relay Server required)
+
+o IP/hostname filter/trashcan file (IP.CAN) for all Internet servers/services
+
+
+Configuration
+~~~~~~~~~~~~~
+o New @-codes:
+	REV             :Synchronet revision
+        CONN            :current connection type
+        LOCATION        :system location
+        TNODES          :total nodes on system
+        HOST            :user's hostname
+        CID and IP      :user's IP address
+        QWKID           :System QWK-ID
+        INETADDR        :System's Internet Address
+        FIDOADDR        :System's primary FidoNet address
+
+o The following environment variables are now initialized for DOS externals
+  (specifically for event batch file convenience):
+	YEAR		:Current year (2000)
+	MONTH		:Month (1-12)
+	DAY		:Day of Month (1-31)
+	WEEKDAY		:Three letter weekday abbreviation (Mon, Tue, etc.)
+  - Example: if %DAY%==1 call maintain.bat /reroll
+  - Example: if %WEEKDAY%==Tue chksmb /q %sbbs%\data\mail.shd
+
+
+Message Base
+~~~~~~~~~~~~
+o New SMB REPLIED attribute to indicate a message has been replied-to
+  - Requires TEXT.DAT update (additional %s in MsgAttr line)
+
+
+External Programs/Doors
+~~~~~~~~~~~~~~~~~~~~~~~
+o Most popular DOS doors fully supported
+  - Includes native 32-bit FOSSIL driver that requires NO configuration/setup
+  - Users can be ;INTERrupted while running ANY external program
+  - Non-exclusive events do not take any nodes off-line
+  - No more hassling with baud rates and initialization strings
+  - DCDWATCH no longer necessary to support WWIV/DOS extrernals
+
+o New TELNET_GATE Baja function/module to run external MUDs and BBSs
+  - Includes any-time ^] menu to see who is on the BBS, send messages, etc.
+  - See TELGATE.DOC for details
+
+
+***********************************************************************
+* What's New in Synchronet Version 3.00 Revision B (official release) *
+***********************************************************************
+
+General
+~~~~~~~
+o Windows Version Information display:
+  - Windows NT/2000 indicated by "NT"
+  - Windows 95/98 build number corrected in version information
+  - Service pack information now displayed along with version info
+
+o Block FOSSIL transfers (from DOS externals) now correctly escape Telent IAC
+  character (255) - fixed SBBSEXEC.VXD - does not effect FDSZ
+
+o Windows NT/2000 FOSSIL/DOS Interrupt driver (DOSXTRN.EXE) created and VDD
+  (SBBSEXEC.DLL) created to complete Windows NT/2000 support
+
+o Changed insert text command from Ctrl-<minus> to Ctrl-V
+
+o Changed center text command from Ctrl-V to Ctrl-L
+
+o Filename searches are no longer case sensitive
+
+o Fixed problem viewing extended file description if longer than screen length
+
+o Ability to easily switch A and R commands on the reading mail/msgs prompts
+  for some or all command shells (see RA_EMU.BIN)
+  - New @-codes to represent correct command keys in menus 
+    (MSGREPLY and MSGREREAD)
+
+o New @-codes: 
+	LOCAL-IP 	displays current local IP address
+	CRLF		carriage return/line-feed pair
+	UP		Move cursor up one row			(ANSI)
+	UP:n		Move cursor up n rows			(ANSI)
+	DOWN		Move cursor down one row		(ANSI)
+	DOWN:n		Move cursor down n rows			(ANSI)
+	RIGHT		Move cursor right one column		(ANSI)
+	RIGHT:n		Move cursor right n columns		(ANSI)	
+	LEFT		Move cursor left one column 		(ANSI)
+	LEFT:n		Move cursor left n columns		(ANSI)
+	GOTOXY:x,y	Move cursor to x/y (1-based)		(ANSI)
+	PUSHXY		Save current cursor position		(ANSI)
+	POPXY		Restore saved cursor position		(ANSI)
+	STATS.LOGONS	Total logons during history of system
+	STATS.LTODAY	Total logons today
+	STATS.TIMEON	Total time used during history of system (in minutes)
+	STATS.TTODAY	Total time used today (in minutes)
+	STATS.ULS	Total uploads today				
+	STATS.ULB	Total bytes uploaded today
+	STATS.DLS	Total download today
+	STATS.DLB	Total bytes downloaded today
+	STATS.PTODAY	Total posts today
+	STATS.ETODAY	Total e-mails sent today
+	STATS.FTODAY	Total feedbacks sent today
+	STATS.NUSERS	Total number of new users today
+	MSGREPLY	Command key to reply to last message	
+	MSGREREAD	Command key used to re-read last message
+
+o Ability to disable hostname lookups for Telnet, FTP, and Mail servers
+
+o Ability to disable the spinning cursor for one or all nodes via Baja:
+	OR _node_misc NM_NOPAUSESPIN
+
+
+Control Panel
+~~~~~~~~~~~~~
+o New Clients window shows all connected client details (username, IP address,
+  hostname, time connected, etc.)
+  - Allows sysop to disconnect any client by right clicking socket number and 
+    selecting "Close"
+
+o New GUI User Editor (USEREDIT.EXE)
+  - Launched from SBBSCTRL->User->Editor
+  - Create new user records
+  - Edit all user fields, statistics, and settings
+
+o New Sysop Availability toggle button (replaces v2.3 Scroll-Lock function)
+
+
+FTP Server
+~~~~~~~~~~
+o FTP server now times out and closes data connection if user runs out of time
+  - Helps eliminate stranded transfer threads/sockets
+
+o File aliases supported
+  - Put links in your FTP root directory to often access files
+  - Link to files on your local hard disk or your BBS filebase
+  - Use general alias names to point to often-changing versioned filenames
+
+o Credits now checked before allowing file download
+
+o QWK packet creation time-out bug fix (wasn't timing-out ever)
+
+o Special logon sequence to receive sysop access (users with level >= 90)
+
+o Complete access to local file systems for remote sysops
+
+o Ability to disable QWK packet transfers
+
+
+Mail Server
+~~~~~~~~~~~
+o Attempts delivery a configurable number of times before bouncing message
+  - Uses new SMB message field: delivery_attempts
+
+o Automatically re-scans mail database every configurable number of seconds
+
+o Fixed rare Access Violation in MAILSRVR.DLL during shutdown
+
+
+Online Programs
+~~~~~~~~~~~~~~~
+o 32-bit door support
+  - Duplicate socket handle passed in DOOR32.SYS drop file (new standard)
+  - Duplicate socket handle passed on command line via %H specifier
+  - Support for external programs written with 32-bit XSDK (v3.0)
+
+
+************************************************************************
+* What's New in Synchronet Version 3.00 Revision C (official release) *
+************************************************************************
+
+General
+~~~~~~~
+o Sysop ;SPY command to remotely spy/control other nodes via Telnet
+
+o Support for Windows 95 (pre-OSR2) and Windows NT 3.x
+
+o New filter/trashcan (.CAN) file syntax:
+  - Ignores leading white-space
+  - Beginning a line with a semicolon (;) indicates a comment (line ignored)
+  - Beginning a string with an exclamation mark (!) reverses the match logic
+
+o Win32 DLLs built with Visual C++ 6.0 (Previous 3.0 DLLs built with 5.0)
+
+o "user_alias" is synonymous with "user alias" and "user.alias"
+  - For logins, duplicate name checking, receiving e-mail, etc
+
+
+Control Panel
+~~~~~~~~~~~~~
+o New Local Sysop Split-screen Chat module
+
+o New Local Node Spy module (with ANSI terminal emulation)
+  - View multiple nodes simultaneous
+  - View consecutive logins
+  - Customize font and window size
+
+o New User Listing form with sortable columns
+
+o New BBS Login menu option (launches telnet://localhost)
+  (REGEDIT->HKEY_CURRENT_USER\Software\Swindell\Synchronet Control Panel\LoginCommand)
+
+o Version information for each module is now retrieved and displayed in the 
+  Help->About dialog box
+
+o Reorganization of the Edit Filters sub-menu
+
+o Configurable SCFG command line 
+  (REGEDIT->HKEY_CURRENT_USER\Software\Swindell\Synchronet Control Panel\ConfigCommand)
+
+o Documentation Index (docs/index.htm) can now be launched with SBBSCTRL->Help->Index
+
+
+Internet
+~~~~~~~~
+o RLogin server for immediate logins from trusted hosts
+  - Similar to Trade Wars Game Server (TWGS) operation
+
+o Separate IP address and hostname filter/trashcan files 
+	(IP.CAN and HOST.CAN)
+
+o Added new telnet_gate mode: TG_PASSTHRU (defined in SBBSDEFS.INC)
+  - Allows passthrough of Telnet commandsto gated system
+  - Included UNIXGATE.SRC/BIN to gate to Unix telnet servers
+
+o Added new telnet_gate mode: TG_RLOGIN (defined in SBBSDEFS.INC)
+  - Allows outbound logins using BSD RLogin protocol
+  - Included RLOGIN.SRC/BIN to gate to RLogin servers (e.g. TWGS)
+
+
+FTP Server
+~~~~~~~~~~
+o Sysops and dir-ops can now remove files from the filebase with the DELE 
+  command
+
+o Directory aliases (in FTPALIAS.CFG) now supported. 
+  Example: incoming  bbs://main/uploads/    Blind uploads
+
+o Optional "Directory File Access" allows users to view and download files
+  in the local directory that are not in the BBS file database
+  - Useful for FidoNet packets and other dynamically generated files
+
+o Filename filter/trashcan file (FILE.CAN) is now checked before allowing uploads
+
+o QWK packet option no longer forced on (whoops)
+
+o Total user credits are now displayed during login (for non-exempt users)
+
+o Credits are no longer checked (before download) for D-exempted users
+
+o Credits are only checked for downloads now (not getdate/size commands)
+
+o Now deletes QWK packet semaphore file if failed to create packet 
+  (BBS event thread not running?)
+
+o New sets user modem/connection description in database to "FTP"
+
+o Fixed socket leaks under certain circumstances
+
+o Fixed Access Violation in FTPSRVR.DLL if shutdown during transfer
+
+
+Mail Server
+~~~~~~~~~~~
+o SMTP relay support (supported relay clients must be listed in RELAY.CAN)
+
+o SMTP server now supports multiple recipients (locally, relayed, or forwarded)
+
+o SendMail thread immediately bounces fatally errored messages
+
+o New SMTP state machine guards against invalid sequences of commands
+  - Some messages could cause corruption (SMB error -7, missing header fields)
+
+o Configurable SMTP Relay Server port number (defaults to 25)
+
+o DNS MX-record lookups using TCP (optionally instead of UDP)
+
+o Mail message base is no longer left locked for extended periods of time
+
+o Supports SMB v2.13 extended error information
+
+
+Baja
+~~~~
+o New /Q (quiet/no banner) command-line option
+
+o Included shell/module Makefiles for Borland and GNU make
+
+New Functions:
+
+	- GETCHAR		Case-insensitive version of GETKEY
+	- CMDCHAR		Case-insensitive version of CMDKEY
+	- COMPARE_CHAR		Case-insensitive version of COMPARE_KEY
+	- COPY_FIRST_CHAR	Copies first char of str var to int var
+	- COMPARE_FIRST_CHAR	Compares first char of str var to constant
+
+
+Source Code
+~~~~~~~~~~~
+o Now available as Open Source, see http://www.synchro.net/source.html for details
+
+o Main modules may be built with 
+	- Microsoft Visual C++
+	- Borland C++ Builder (required for SBBSCTRL)
+	- Borland C++ Builder Compiler 5.5 (free)
+	- GNU C/MinGW support in the works
+
+o User Editor may be built with Borland Delphi
+
+
+Documentation
+~~~~~~~~~~~~~
+o Updated for version 3 (version-specific features are noted)
+
+o Converted to HTML format (see docs\index.htm)
+
+
+************************************************************
+* What's New in Synchronet Version 3.00 Revision D (alpha) *
+************************************************************
+
+Control Panel
+~~~~~~~~~~~~~
+o New MinimizeToSysTray option
+  - Minimizes SBBSCTRL to an icon in the system tray
+  - Icon animates when there are active clients
+  - Icon tool tip reports number of active clients
+  - Double-click icon to restore SBBSCTRL window
+
+o New Control Panel Properties Dialog (File->Properties)
+  - Allows configuration of LoginCommand, ConfigCommand, etc.
+
+o Closing no longer interferes with Windows shut-down procedure
+
+o Sorting by first/last on dates in User List now works correctly
+
+
+Telnet Server
+~~~~~~~~~~~~~
+o Quicker response to Ctrl-C (abort) command
+
+o Binary receive mode is automaticaly disabled when returning 
+  from external programs
+  - Some Telnet clents (e.g. HyperTerminal) enable Binary mode when
+    transferring files, but do not disable Binary mode when done.
+    This causes transmitted CR/LF pairs to be interpretted as two
+    separate characters (instead of one).
+
+Baja v2.30
+~~~~~~~~~~
+New Control Flow Functions:
+
+	- LOOP			Begins an execution loop (nesting supported)
+	- CONTINUE		Continues an execution loop
+	- BREAK			Breaks an executuion loop
+	- END_LOOP		Ends an execution loop
+
+New TCP/IP Functions:
+
+	- SOCKET_OPEN		Create/open a TCP/IP socket
+	- SOCKET_CLOSE		Close a socket
+	- SOCKET_CONNECT	Initiate outbound connection
+	- SOCKET_ACCEPT		Accept an inbound connection
+	- SOCKET_NREAD		Get number of bytes ready to read
+	- SOCKET_PEEK		Peek at receive buffer
+	- SOCKET_READ		Read from socket
+	- SOCKET_WRITE		Write to socket
+	- SOCKET_CHECK		Check socket connection status
+
+	- FTP_LOGIN		Login to a remote FTP server
+	- FTP_LOGOUT		Logout from a remote FTP server
+	- FTP_PWD		Print current working directory
+	- FTP_CWD		Change current working directory
+	- FTP_DIR		Display current directory listing
+	- FTP_PUT		Send (upload) a file to server
+	- FTP_GET		Receive (download) file from server
+	- FTP_RENAME		Rename file on server
+	- FTP_DELETE		Delete file from server
+
+Miscellaneous New Functions:
+
+	- INCHAR		Case-insensitive version of INKEY
+	- COPY_CHAR		Copy current cmdkey to int var or str var
+	- COMPARE_ANY_BITS	Compares bits in any two integers
+	- COMPARE_ALL_BITS	Compares bits in any two integers
+	- SHIFT_TO_FIRST_CHAR	Shifts string to first occurance of char
+	- SHIFT_TO_LAST_CHAR	Shifts string to last occurance of char
+	- FILE_RECEIVE		Like FILE_PUT, but doesn't require sys pass
+	- LPRINTF		Local printf (to local console)
+
+New System Variables (defined in exec/sbbsdefs.inc):
+
+	- _FTP_MODE		FTP operating modes (see FTP_* constants)
+	- _CLIENT_SOCKET	Current telnet client's socket handle
+	- _SOCKET_ERROR		Last socket error
+	- _STARTUP_OPTIONS	BBS startup options (See BBS_OPT_* constants)
+
+
+************************************************************
+* What's New in Synchronet Version 3.00 Revision E (beta)  *
+************************************************************
+
+BBS
+~~~
+o Fixed Guru Chat GPF/segfault bug (finally)
+
+
+Control Panel
+~~~~~~~~~~~~~
+o New "Events" window for event-thread log messages and status
+	- No longer clutters Telnet Server log
+
+o New tray-minimized icon (globe)
+
+o Updated closure method
+	- Hopefully resolves problem with shutting down after net event
+	- 30 second time-out waiting for servers to stop (just incase)
+
+
+FTP Server v1.05
+~~~~~~~~~~~~~~~~
+o Failure to create uploaded file (e.g. directory not created) bugs fixed:
+	- Error message cause gpf/segfault
+	- No 450 error response to client
+
+o Resumed downloads (using FTP "REST" command) fixed (wrong response code)
+
+o Now uses control port-1 (normally 20) as TCP port for all active data sessions
+
+o Added active/passive mode indication to upload/download log output
+
+o Detected hack/intrusion attempts are now logged to data/hack.log
+
+o Directory listing are now sorted alphabetically (ala Unix)
+
+
+Mail Server v1.11
+~~~~~~~~~~~~~~~~~
+o SMTP Sending to a forwarded address (251 response) fixed
+
+o POP3 port, address, hostname activity logged
+
+o Now supports destination address hostnames starting with a digit
+
+
+/* End of V300_NEW.TXT */
diff --git a/docs/v310_new.txt b/docs/v310_new.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1de98d0b6f774ab709878dcb16d6244f7f6389ed
--- /dev/null
+++ b/docs/v310_new.txt
@@ -0,0 +1,1247 @@
+***************************************************
+* What's New in Synchronet Version 3.10 for Win32 *
+* (ChangeLog since v3.00c for Win32 Dec 31, 2000) *
+***************************************************
+
+Highlights
+~~~~~~~~~~
+o Server-side JavaScript for dynamically-loaded BBS modules 
+  and dynamic-HTML indexes for FTP server
+
+o GUI Configuration Wizard
+
+o TCP socket and FTP client support in loadable modules
+
+o Support for embedded file descriptions (FILE_ID.DIZ/DESC.SDI) in FTP server
+
+o Improved support for multiple SBBSCTRL instances
+
+o Improved support for external DOS/FOSSIL programs (doors)
+
+o Additional configurability/programmability options
+
+
+General
+~~~~~~~
+o Support for '*' wildcard syntax in trashcan/filter files
+  (e.g. "24.0.193.*" or "*.ppp.someisp.com")
+
+
+Control Panel
+~~~~~~~~~~~~~
+o New Configuration Wizard
+  - Automatically runs on fresh install
+  - Asks basic required questions
+  - Hopefully eliminate some FAQs and common newbie-sysop errors
+
+o New MinimizeToSysTray option
+  - Minimizes SBBSCTRL to an icon in the system tray
+  - Icon animates when there are active clients
+  - Icon tool-tip reports number of active clients
+  - Double-click icon to restore SBBSCTRL window
+  - Right-click for pop-up menu of frequently-used menu items
+
+o New "Events" window for event-thread log messages and status
+  - No longer clutters Telnet Server log
+
+o QWK message events (e.g. for FTP-QWK transfers) can be disabled per-instance
+  using the new "QWK Events" checkbox (defaults to enabled)
+  - Required for multiple instances of SBBSCTRL
+
+o New Control Panel Properties Dialog (File->Properties)
+  - Allows configuration of LoginCommand, ConfigCommand, etc.
+
+o Configurable Node and Client window display intervals 
+  (previously hard-coded to 1 and 5 seconds, respectively)
+
+o Closing no longer interferes with Windows shut-down procedure
+
+o Sorting by first/last-on dates in User List now works correctly
+
+o Added to the BBS->Edit menu: 
+  - New user password (NUP) failure message (text/nupguess.msg)
+  - Nodes full message (text/nonodes.txt, previously hard-coded)
+  - Logon message (text/menu/logon.asc)
+  - Auto-message (data/msgs/auto.msg)
+
+o Eliminated possibility of over-writing registry values with defaults
+  if SBBSCTRL is immediately shut-down before initialization has completed
+
+o SBBS.DLL version is now checked and verified (can't mix versions)
+
+o Minor cosmetic improvements (e.g. FTP server configuration dialog)
+  - Fixed tab orders and enabled more control hints (tool-tips)
+
+o Revamped Node Window
+  - Improved handling of NODE.DAB read/locking errors
+  - New popup menu item to refresh display
+  - New keyboard short-cuts for all popup menu items
+
+o Spy Window fix: KeyboardActive checkbox alternating checked status and 
+  not reflecting previously saved value
+
+o Link to Online Docs (http://www.synchro.net/docs) on Help menu
+
+o Statistics window update interval (previously hard-coded to 5 seconds) now 
+  configured via SCFG->Nodes->Node 1->Advanced Options->Statistics Frequency
+
+
+Telnet Server
+~~~~~~~~~~~~~
+o Server-side JavaScript Support for Loadable Modules
+  - Full support for Core JavaScript objects and classes:
+    - Global (extended and enhanced)
+    - Object
+    - Function
+    - Array
+    - String
+    - Boolean
+    - Number
+    - Date
+    - Math
+    - RegExp (Perlesque regular expressions)
+  - Includes Netscape server-side File class
+  - Both a procedure and object-oriented language
+  - Substantially more powerful language than Baja
+  - No "compiling" required (don't ever lose your source code again)
+  - For more info on Core JavaScript, see http://mozilla.org/js
+  - See exec/*.js for examples
+  - Baja modules and command shells are still fully supported
+  - Execute JS via command-line with "?modulename" instead of "*modulename"
+  - New and evolving ASP/DOM-like Synchronet Object Model:
+    - system
+    - system.stats
+    - system.node_list[]
+    - server
+    - client
+    - user
+    - file_area
+    - file_area.lib_list[]
+    - file_area.lib_list[].dir_list[]
+    - Socket (class)
+    - User (class)
+  - Telnet-specific objects:
+    - bbs
+    - console
+
+o Improved auto-terminal-type detection
+  - Telnet option negotiation occurs before auto-detection sequence 
+    (for CRT compatibility)
+  - Added ANSI save and restore cursor position codes to sequence 
+    (for HyperTerminal compatibility)
+
+o New inactivity (H) exemption
+  - Eliminates "Are you still there?" prompt and auto-disconnection for 
+    specific users
+  - Add to your exec/logon.src (if upgrading):
+    compare_ars exempt H
+    if_true
+        or _console CON_NO_INACT
+        end_if
+
+o New @-codes:
+  - FULL_VER            Synchronet version and revision
+  - VER_NOTICE          Synchronet version notice
+  - OS_VER              Operating system name and version
+  - JS_VER              JavaScript implementation version
+  - PLATFORM            Platform name (e.g. Win32, Linux, etc)
+  - COPYRIGHT           Copyright notice
+  - COMPILER            Compiler name and version
+  - SOCKET_LIB          Socket library name and version
+  - MSG_LIB             Message library name and version
+  - HOST                Now contains FULL (untruncated) host-name
+  - AGE                 User's age (in years)
+
+o Configurable "Nodes full" message (via text/nonodes.txt)
+
+o Better handling of DLL/EXE version mis-matches
+
+o Quicker response to Ctrl-C (abort) command
+
+o Fixed Guru Chat GPF/segfault bug
+
+o Screen pause is disabled while at the private message (Ctrl-P) prompt
+
+o Chat Menu is fully reprogrammable using PCMS (Baja or JavaScript)
+  - See exec/chat_sec.src for example
+
+o No longer logs (or displays locally) failed password attempts if the sysop 
+  has so configured the system in SCFG
+
+o Fixed problems with changing first/last node parameters during run-time
+  - New first/last node parameters don't take effect until server is restarted
+
+o Input and output threads now log/display number of bytes and packets 
+  sent/received upon termination
+
+o Changed NODE.DAB locking failure delays (earlier and longer)
+
+o Process directory is now changed to the ctrl directory during initialization
+
+o Uninitialized port numbers (set to 0) are now set to sensible defaults 
+
+o External Program enhancements/fixes:
+  - Added %~ command-line specifier for DOS-compatible (8.3) filename
+    (use in place of %f to convert long filenames to DOS-compatible)
+  - Added SBBSCTRL environment variable when running native external programs
+  - Moved exec_mutex protection to cover all types of executables 
+    (fixed problem with I/O occasionally going to wrong node/user)
+  - Improvement resource clean-up for Win32 version
+  - Sets Baja-retrievable errorlevel
+
+o Binary receive mode is automaticaly disabled when returning 
+  from external programs
+  - Some Telnet clents (e.g. HyperTerminal) enable Binary mode when
+    transferring files, but do not disable Binary mode when done.
+    This causes transmitted CR/LF pairs to be interpretted as two
+    separate characters (instead of one)
+
+o Added support under Win9x/Me for "naughty" FOSSIL programs/doors
+  - DOSXTRN.EXE now includes a 16-bit ISR stub for FOSSIL programs/doors
+    that DO NOT generate interrupts (e.g. IceEdit, Operation Overkill II, etc)
+
+o Improved background DOS program/door performance under Win9x/Me
+  - DOS/FOSSIL driver (SBBSEXEC.VXD) now schedules VM upon user input
+  - Most noticable performance gain with Global War
+
+o Reduced CPU utilization for DOS programs/doors under WinNT/2K
+  - DOS/FOSSIL driver (SBBSEXEC.DLL) now yields time-slices for programs
+    that poll for input (similar to how TAME operates)
+  - No more 100% CPU usage from games like LORD, TradeWars, BRE, etc
+
+o Improved disconnected-user detection while running DOS/FOSSIL doors
+  - Periodic sending of telnet GA (go-ahead) command
+
+o Non-exclusive timed events now run in the background automatically
+  - Allows multiple simultaneous events and asynchronous execution
+  - Has nothing to do with child window appearance or priority
+
+o Timed event codes are now logged/displayed in uppercase (cosmetic only)
+
+o Fixed bug in random number generation
+
+o No longer prompts for "Forward To Netmail" if the option is disabled in SCFG
+
+o Optional e-mail/netmail address filter/trashcan file (text/email.can) 
+
+o Event loop delay (previously hard-coded to 1 second) now configured via 
+  SCFG->Nodes->Node 1->Advanced Options->Semaphore Frequency
+  
+
+Baja v2.3
+~~~~~~~~~
+o Partially compiled .BIN files are now deleted
+
+o New Control Flow Functions:
+
+  - LOOP                Begins an execution loop (nesting supported)
+  - CONTINUE            Continues an execution loop
+  - BREAK               Breaks an executuion loop
+  - END_LOOP            Ends an execution loop
+
+o New TCP/IP Functions:
+
+  - SOCKET_OPEN         Create/open a TCP/IP socket
+  - SOCKET_CLOSE        Close a socket
+  - SOCKET_CONNECT      Initiate outbound connection
+  - SOCKET_ACCEPT       Accept an inbound connection
+  - SOCKET_NREAD        Get number of bytes ready to read
+  - SOCKET_PEEK         Peek at receive buffer
+  - SOCKET_READ         Read from socket
+  - SOCKET_WRITE        Write to socket
+  - SOCKET_CHECK        Check socket connection status
+  - SOCKET_READLINE     Read a CR/LF terminated line of text
+
+  - FTP_LOGIN           Login to a remote FTP server
+  - FTP_LOGOUT          Logout from a remote FTP server
+  - FTP_PWD             Print current working directory
+  - FTP_CWD             Change current working directory
+  - FTP_DIR             Display current directory listing
+  - FTP_PUT             Send (upload) a file to server
+  - FTP_GET             Receive (download) file from server
+  - FTP_RENAME          Rename file on server
+  - FTP_DELETE          Delete file from server
+
+o Miscellaneous New Functions:
+
+  - INCHAR              Case-insensitive version of INKEY
+  - COPY_CHAR           Copy current cmdkey to int var or str var
+  - COMPARE_ANY_BITS    Compares bits in any two integers
+  - COMPARE_ALL_BITS    Compares bits in any two integers
+  - SHIFT_TO_FIRST_CHAR Shifts string to first occurance of char
+  - SHIFT_TO_LAST_CHAR  Shifts string to last occurance of char
+  - FILE_RECEIVE        Like FILE_PUT, but doesn't require sys pass
+  - LPRINTF             Local printf (to local console)
+
+o New BBS Functions:
+
+  - FILE_RECEIVE        Same as FILE_PUT, but no system password required
+  - MULTINODE_CHAT      Joins a specified multinode chat channel
+                        (used in new exec/chat_sec.src)
+
+o New System Variables (defined in exec/sbbsdefs.inc):
+
+  - _FTP_MODE           FTP operating modes (see FTP_* constants)
+  - _CLIENT_SOCKET      Current telnet client's socket handle
+  - _SOCKET_ERROR       Last socket error
+  - _STARTUP_OPTIONS    BBS startup options (See BBS_OPT_* constants)
+
+
+FTP Server v1.10
+~~~~~~~~~~~~~~~~
+o Dynamic HTML Index support using Server-Side JavaScript 
+  - See exec/ftp-html.js for source code
+  - Additional FTP-specific objects:
+    - ftp.path
+    - ftp.sort
+    - ftp.reverse
+    - ftp.file_list[]
+    - ftp.dir_list[]
+    - ftp.curlib
+    - ftp.curdir
+    - ftp.html_index_file
+
+o Automatic support for embedded file descriptions (FILE_ID.DIZ and DESC.SDI)
+
+o Detected hack/intrusion attempts are now logged to data/hack.log
+
+o Directory listings are now sorted alphabetically (ala Unix)
+
+o Failure to create uploaded file (e.g. directory not created) bugs fixed:
+  - Error message cause gpf/segfault
+  - No 450 error response to client
+
+o Resumed downloads (using FTP "REST" command) fixed (wrong response code)
+
+o Now uses control port-1 (normally 20) as TCP port for all active data 
+  sessions
+  - Fixes problem of locating FTP server behind intelligent firewalls
+
+o Added active/passive mode indication to upload/download log output
+
+o Configurable QWK packet creation timeout 
+  - defaults to 10 minutes, previously hard-coded at 5 minutes
+
+o No longer logs (or displays locally) failed password attempts if the sysop 
+  has so configured the system in SCFG
+
+o Fixed mutex leak in Win32 build when stopping/restarting FTP server
+
+o Fix to disallow viewing of (ASCII or HTML) index file for aliased directory
+  where user has insufficient access to list files
+  (e.g. "/main/uploads" aliased as "/incoming" in ctrl/ftpalias.cfg)
+
+o Shortened thread shutdown timeout (from 60 seconds to 15)
+
+o Fixed upload filename bug in non-Win32 flavors
+
+o Now disallows uploading of dynamic index filenames (if enabled)
+
+o Sending a 0-length file is no longer treated as a failed download
+
+o The path to the upload or sysop directory can now be specified with the STOR 
+  (upload) command
+  - previously, you had to change the current directory first
+
+o Fixed occasional GPF/segfault during shutdown
+
+o Fixed case sensitivity problem with locally added files via telnet
+
+o Optional "hack attempt" sound file (Win32 version only)
+
+o Optional e-mail address filter for guest account passwords
+
+
+Mail Server v1.11
+~~~~~~~~~~~~~~~~~
+o SMTP Sending to a forwarded address (251 response) fixed
+
+o POP3 port, address, hostname activity logged
+
+o Now supports destination address hostnames starting with a digit
+
+o No longer logs (or displays locally) failed password attempts if the sysop 
+  has so configured the system in SCFG
+
+o Shortened thread shutdown timeout (from 60 seconds to 15)
+
+o Uninitialized startup values are now set to sensible defaults 
+
+o Fixed memory leak if server stopped and re-started
+
+
+***********************************************************
+* What's New in Synchronet Version 3.10 Revision C (Beta) *
+***********************************************************
+
+Telnet Server
+~~~~~~~~~~~~~
+o 0-byte QWK packets are now simply ignored rather than generating errors
+  - It is assumed the file is still being downloaded by another process
+
+o Configurable number of polls before yield for NT/2K/XP fossil driver
+  - Allows tuning of multitasker TAME-like performance
+  - Was previosly hard-coded to 10, values of 5000+ improve LORD and LORD IGM 
+    RIP detection but increases CPU usage for BRE and possibly other doors
+
+o Fixed old bug: anonymous uploads weren't flagged as anonymous unless the 
+  entire directory was forced anonymous
+
+o Fixed new bug: FidoNet echomail semaphore files weren't working
+
+o Password display char is now configurable as the fourth character in the 
+  last line of the text.dat - defaults to 'X' if not specified
+  - third char is currently ignored but is reserved for for configurable
+    "quit" character in the future (currently hard-coded to 'Q')
+
+o When replying to mail, no longer prompts to delete message if message was 
+  already flagged for deletion (caused unintential UN-deletion of message)
+
+o Fixed Baja bugs: SYSOP_PAGE and GURU_PAGE functions set reversed logic state
+
+o Improved internal chat page performance (random tones) - rarely used
+
+
+JavaScript
+~~~~~~~~~~
+o Improved Socket class 
+  - last_error property is maintained on a per-instance basis
+  - externally created sockets won't be closed on deletion
+
+o Added global sound() function to play external WAV files 
+  - use sound.js module via command-line (e.g. for external chat pager)
+
+
+FTP Server v1.10
+~~~~~~~~~~~~~~~~
+o JavaScript contexts are only created when needed
+  - should improve performance, reduce memory usage, and improve reliability
+
+o Fixed bug: anonymous uploader names were shown in directory listings
+
+o Fixed bug: daily user statistics (logons today, time used today, etc) were
+  not being reset if user was logged in during the date change (12 midnight)
+
+o Fixed bug: logoff was setting timed-used-last-call to number of 'seconds'
+  used rather than 'minutes'
+
+o Implemented security considerations recommended in RFC2577:
+  - Added a 5 second delay after each failed login attempt
+  - Session is terminated after 3 failed login attempts
+  - Port command supports ports >=1024 only, defeats "bounce attack"
+
+
+Mail Server v1.11
+~~~~~~~~~~~~~~~~~
+o Updated mail-abuse.org DNS and HTTP server addresses 
+  (for RBL/RSS/DUL SPAM rejection)
+
+o Creates data/spam.log listing every rejected SPAM attempt
+
+o Fixed bug: logoff now handles resetting of user's daily statistics
+
+o Time used during POP3 sessions are now added to user's timeon stats
+
+
+***********************************************************
+* What's New in Synchronet Version 3.10 Revision D (Beta) *
+***********************************************************
+
+Control Panel
+~~~~~~~~~~~~~
+o Fixed linker problem in v3.10c that caused various control panel functions
+  to not work or generate access violations or exceptions
+
+
+Telnet Server
+~~~~~~~~~~~~~
+o Bug fixes in Online user editor (;UEDIT) when searching based on ARS
+  potential memory leak if disconnected and access violation on blank string
+
+o Remote sysops can now give flags and exemptions (using the internal user 
+  editor) to users even if they themselves don't have that specific flag or 
+  exemption as long as the user has a lower security level than the sysop
+
+
+***********************************************************
+* What's New in Synchronet Version 3.10 Revision E (Beta) *
+***********************************************************
+
+Control Panel
+~~~~~~~~~~~~~
+o Forms are now not "undockable" (they can't be dragged and undocked)
+  by default
+  - Undockable property toggled in File->Properties dialog
+
+o Log and List colors and fonts are now customizazble via registry keys:
+  HKEY_CURRENT_USER/Software/Swindell/Synchronet Control Panel
+
+o File->Properties dialog now contains tool tips
+
+o New Mail->View->SPAM Log menu item
+
+o New Mail->Edit->Domain List menu item to edit domain alias list
+
+o Mail->Edit->Allowed Relay List menu item now edits ctrl/relay.cfg
+  instead of text/relay.can (same format and purpose)
+
+o New BBS->Reload Configuration menu item (and toolbar button)
+  -Reloads configuration in sbbsctrl and all nodes (when possible)
+
+o Configuration Wizard now loads at appropriate time during "first run"
+
+o Configuration is automatically reloaded after Wizard is run at any time
+
+o New "Lookup Idenity" checkbox in Telnet configuration dialog
+
+
+GUI User Editor
+~~~~~~~~~~~~~~~
+o Fixed problems with disabling expiration dates (setting to 00/00/00)
+
+
+JavaScript
+~~~~~~~~~~
+o New file_remove() global method/function
+o Global exit() method/function now clears pending exceptions
+o Created new File class to replace Mozilla's crappy implementation
+  - Methods:
+        open([mode string], [buflen]) - mode string ala fopen()
+        close()
+        remove() - deletes file if unopen
+        clear_error()
+        flush()
+        lock(offset, length) - provides record locking
+        unlock(offset, length)
+        read([length])
+        readln([length])
+        readBin([size]) - read binary integers of 1, 2, or 4 bytes
+        readAll() - read all lines and return as an array
+        write(string, [length])
+        writeln(string)
+        writeBin(val, size])
+        writeAll(array)
+  - Properties:
+        name       [readonly] - filename
+        mode       [readonly] - mode string
+        exists     [readonly] - file exists?
+        date       [readonly] - time_t format
+        is_open    [readonly] - file open?
+        eof        [readonly] - end of file?
+        error      [readonly] 
+        descriptor [readonly] - no known use at this time
+        etx - end of text character (defaults to 0/NULL)
+        debug - enable debug output
+        position   (ala seek)
+        length     (size in bytes)
+        attributes (OS-dependant)
+  - see http://synchro.net/docs/js.html for details (in the works)
+
+
+Baja v2.31
+~~~~~~~~~~
+o New MATCHUSER function to get the number of a user by name
+  - Used in login.src to dynamically detect Guest account
+
+
+Telnet Server
+~~~~~~~~~~~~~
+o Added identity look-up and log during logon 
+  - using IDENT protocol often utilized by IRC clients/servers
+
+o Added user name to New User dupliate IP warning
+
+o Fixed problem with ZModem/FDSZ file transfers on NT-based OSes
+
+o Event command-lines are now logged to the event log window
+
+o Includes updated DOSXTRN.EXE to allow configurable "polls before yield"
+  on NT-based OSes (forgotten in rev D beta)
+
+o Removed unused global Baja variable: CAP_FNAME
+
+o Cleaned up/beautified the log output a bit
+
+o Fixed potential race condition/crash when re-running a node right as
+  a client was connecting
+
+o Potentially helpful log message on failure to bind to server port
+  - "Another service may be using this port"
+
+o Potentially helpful log message when remote sysop login attempted
+  but disabled in SCFG
+
+o Event log output on network call-out
+
+o More fine-grained checking of 'C' restriction in chat functions
+
+o Cleaned up error.log entries 
+  - eliminated misleading/unnecessary source code path
+  - eliminated useless doserrno
+
+o QWK improvements
+  - Added time-slice yields while creating QWK messages.dat file
+  - Logs/displays total number of bytes packed in QWK packets
+  - Calculates and displays number of sub-boards scanned
+  - Beautified the static config menu
+
+o New message scans now calculate and dipslay number of sub-boards scanned
+
+o More configurable text in ctrl/text.dat
+  - SendingMessageToUser
+  - SendingTelegramToUser
+  - TelegramFmt
+  - MsgSentToUser
+  - PagingUser
+  - PrivateChatSeparator
+  - SysopChatSeparator
+  - SystemPassword
+  - InvalidNetMailAddr
+  - YNQP (Yes/No/Quit/Password chars)
+
+o In password-entry mode, non-destructive backspace now deletes the
+  password char (which is now configurable in ctrl/text.dat)
+
+o @nopause@ and @poff@ codes now work as expected (disabling pause) in
+  text/answer.* files
+  - Ctrl-AQ trick no longer necessary
+
+o New @-codes:
+  - EMAILADDR - user's Internet e-mail address on your system
+  - RESETPAUSE - resets line counter for auto-pause (same as Ctrl-AQ)
+
+o Eliminated many hard-coded colors (uses colors from ctrl/attr.cfg instead)
+
+
+Mail Server v1.11
+~~~~~~~~~~~~~~~~~
+o New optional ctrl/domains.cfg file can be used to list additional domain
+  name aliases to receive mail for
+  - wildcards are allowed, e.g. "*.synchro.net"
+
+o Allowed relay list is now stored in ctrl/relay.cfg instead of
+  text/relay.can
+  - .can files are used for trashcan/filter files
+
+o SendMail thread will now stop sending mail when the server is terminated
+
+o Potentially helpful log message on failure to bind to server port
+  - "Another service may be using this port"
+
+o Eliminated potential lock-ups waiting to receive data while looking up
+  DNS MX records and while waiting for SMTP respones in SendMail thread
+
+
+FTP Server v1.10
+~~~~~~~~~~~~~~~~
+o Fixed potential race condition and segfault while
+  "waiting for transfer to complete" upon server termination
+
+o Potentially helpful log message on failure to bind to server port
+  - "Another service may be using this port"
+
+o Displays telnet command descriptions rather than decimal value 
+  - yes, telnet commands can, and often are, sent on the FTP control port
+
+
+***********************************************************
+* What's New in Synchronet Version 3.10 Revision F (Beta) *
+***********************************************************
+
+General
+~~~~~~~
+o Now using select() before send() or recv() to eliminate potential TCP/IP
+  socket blocking problems
+
+o Much improved Linux-build functionality and FreeBSD compatibility
+  (X/Y/Zmodem file transfers, native external programs, stdio doors, etc)
+
+o Improved user name matching using underscore and dot replacement
+  (e.g. "Dr._Seuss" will match "Dr. Seuss")
+
+o Sysop psuedonym matching is now performed in global matchuser function
+  - Basically, anywhere a user name or number can be specified, "Sysop",
+    "Postmaster", the configured sysop name (in SCFG) and the system's QWK
+    ID will all be considered pseudonym's for user record #1
+
+o Sped up getuserdat() significantly by eliminating call to lastuser->flength
+  - this has a side-effect of greatly improving the load-time for the 
+    SBBSCTRL:View->User->List menu item and other places in the BBS
+
+o No longer logs <no name> host name if host name lookup is disabled
+
+
+Control Panel
+~~~~~~~~~~~~~
+o Fixed Mail Server POP3 sound file configuration
+
+o Fixed the slow close of the User List
+
+o Uninitialized user genders are no longer printed as garbage
+
+o New menu item SBBSCTRL:BBS->Filters->Email Subject Filters
+
+o Added NT-compatible work-around for default LoginCommand 
+  ("start telnet://localhost")
+
+o FTP and Mail server logs are now opened shareable (deny none)
+
+o New "Services" window, see below for details
+
+
+JavaScript (http://synchro.net/docs/js.html)
+~~~~~~~~~~
+o Each client gets its own JS-runtime to improve multi-threaded reliability
+  - This will hopefully eliminate all the JS reliability issues
+
+o New bbs.nodesync() method
+
+o bbs.text() returns null on invalid index (instead of static string)
+
+o Fixed a couple of bugs in Socket.recvline method:
+  1. was incrementing buffer char pointer even when there was no new data
+  2. was not releasing time-slices when there was no new data
+  - This same fix was applied to the Baja SOCKET_READLINE function
+
+o Socket recv, recvline, and peek methods now return null when there is a 
+  time-out or no data (instead of an empty string)
+
+o Socket recvline/readline method now supports an optional 'timeout' parameter 
+  (second argument)
+
+o Socket recvline method will now truncate \n terminated lines correctly
+
+o Dynamic instances of User class were missing stats and security properties
+
+o Changed User class email property to reflect user's BBS e-mail address
+  - Different from the netmail property - their external e-mail address
+
+o New global methods:
+    log(str)    - Log specified string to log window and/or file
+
+o System object
+    New properties:
+        system.uptime   - Time system was brought "up" (in time_t format)
+                          Subtract from time() to get seconds "up"
+    New methods:
+        alias(username) - Returns aliased user name (from ctrl/alias.cfg)
+        timestr([time]) - Returns string representation of specified time
+                          or current time if not specified
+
+o New msg_area object
+    properites:
+        msg_area.grp_list[].name
+        msg_area.grp_list[].description
+        msg_area.grp_list[].sub_list[].name
+        msg_area.grp_list[].sub_list[].description
+        msg_area.grp_list[].sub_list[].code
+        msg_area.grp_list[].sub_list[].newsgroup
+        msg_area.grp_list[].sub_list[].can_read
+        msg_area.grp_list[].sub_list[].can_post
+    (see exec/nntpservice.js for example)
+
+o New MsgBase class - constructor: new MsgBase("code")
+    properties:
+        MsgBase.last_error
+        MsgBase.file
+        MsgBase.debug
+        MsgBase.retry_time
+        MsgBase.first_msg   
+        MsgBase.last_msg    
+        MsgBase.total_msgs
+        MsgBase.max_crcs    
+        MsgBase.max_msgs    
+        MsgBase.max_age     
+        MsgBase.attributes
+    methods:
+        MsgBase.close()
+        MsgBase.get_msg_header(bool by_index, number)
+        MsgBase.get_msg_body(bool by_index, number, bool strip_ctrl_a)
+        MsgBase.save_msg(header, body)
+    (see exec/nntpservice.js for example)
+
+
+Synchronet Services
+~~~~~~~~~~~~~~~~~~~
+o Services are TCP servers that are launched dynamically by Synchronet when an
+  inbound connection is detected on a specific TCP port (ala Unix inetd)
+
+o Services are normally written in JavaScript, but native (32-bit) services are
+  also suppoorted 
+  - Native services must be able to receive socket descriptor on command-line
+
+o Stock "sample" services:
+  - Finger (exec/fingerservice.js)
+  - Gopher (exec/gopherservice.js)
+  - HTTP/HTML node list (exec/nodelist-html.js)
+  - NNTP, Network News Transfer Protocol (exec/nntpservice.js)
+
+o Services are configured with ctrl/services.cfg
+
+o The Finger service along with the SMTP telegram support creates a new 
+  Inter-BBS "Instant Messaging" technology using standard Internet protocols
+
+o Expect to see more standard Internet server protocols supported with 
+  Synchronet services in the near future, as well as-yet-to-be-invented 
+  technologies
+
+
+Telnet Server
+~~~~~~~~~~~~~
+o New finger client (exec/finger.js) launched with the [F]inger command from 
+  the chat menu
+
+o New Inter-BBS "Instant Messaging" module (exec/sbbsimsg.js) launched with the
+  [I]nstant message command from the chat menu
+
+o Increased delay after ANSI cursor position report (detection response) is 
+  received
+  - This increases the likelyhood of detecting RIPscrip support properly in
+    RIPtel
+
+o Non-QuickBBS/MSGTMP-sytle external editors now use the TEMP directory as the
+  current directory and the location of the temporary message files 
+  (for additional security)
+
+o Added support for editing existing messages using QuickBBS/MSGINF-style 
+  external editors
+
+o Batch download programs can now use %s to represent the full list of files
+  to be downloaded (required for Unix sb/sz support)
+
+o Beautified the temp directory listing a bit
+
+o Fixed a really old bug where you couldn't 'R'emove files from the temp dir
+
+o Max QWK message limit now applies to Q-restricted accounts too
+
+o Added new 'O' (QWK packet size) exemption
+
+o Detailed log entries now include user's alias
+
+o userlist will now sort up to 2500 users (previously limited to 1000)
+
+o Changed wildcard use to be more Unix-like ("*" means all files)
+
+o SEND/RECEIVE_FILE functions now use higher level protocol function 
+  - prompt for hangup after transfer, handles log parsing, etc.
+
+o @nopause@ and @poff@ codes now disable all pauses, even on screen clears
+
+o New @-code:
+  - UPTIME - System up-time in days, hours and minutes
+
+o Fixed potential lock-up in getstr if input_thread is unexpectedly terminated
+
+o inkey now recognizes and adheres to the K_UPPER mode bit
+
+o getkey no longer asks if user is still there if cfg.sec_warn is equal to
+  cfg.sec_hangup
+
+o getkey releases time-slices when called with node offline or input_thread not
+  running (just in case)
+
+o Added optional date/time argument (%s) to ctrl/text.dat/AutoMsgBy (line 42)
+
+
+Events
+~~~~~~
+o Added more event log output, especially concerning exclusive events
+
+o Added one hour time-outs while waiting for exclusive events
+  - prevents extended down-time waiting for an unresponsive node or event
+
+o Removed redundant node_daily event execution at end of node_thread 
+  - already handled in event_thread
+
+
+Mail Server v1.11
+~~~~~~~~~~~~~~~~~
+o POP3 server supports login by alias (from ctrl/alias.cfg)
+
+o SMTP server now rejects mail if there is no body text
+
+o Added ability to post on a sub-board via SMTP (sub:code@host)
+  - best to use alias.cfg for this feature (e.g. "syncprog sub:syncprog")
+
+o Support for receving SEND/SOML/SAML SMTP commands (which create telegrams)
+  - used in new Inter-BBS "Instant Messaging" technology
+
+o Set a hard maximum number of recipients in a given mail session 
+  - currently 1000
+
+o Added last_error strings to smb_getmsgtxt() error log entries for better 
+  error reporting
+
+o Added text/email.can and text/subject.can checking as sysop-configurable
+  Spam filters
+
+o Illegal relay attempts are now logged in the SPAM.LOG as Spam attempts
+
+o SMTP server now supports messages missing the 'From' field 
+  - uses MAIL FROM: return-path
+
+o SMTP server supports external address aliases (you@somedomain.com = sysop) in
+  the ctrl/alias.cfg file
+
+o Original destination address is now stored in "name" field of message header
+
+
+FTP Server v1.10
+~~~~~~~~~~~~~~~~
+o Periodic transfer progress reports occur even when no data is transferring
+
+o Progress report cps rates are now per-report rather than for total file
+
+o If resuming a transfer, file offset is now shown in progress reports
+
+
+***********************************************************
+* What's New in Synchronet Version 3.10 Revision G (Beta) *
+***********************************************************
+
+General
+~~~~~~~
+o Added user number validation to data functions to eliminate potential user
+  database corruption by external programs
+
+o New ARS keyword: SHELL
+  - used to specify the user's command shell as an access requirement
+
+
+Configuration Utility (SCFG) Updated for Version 3.x
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+o True Win32 console mode application
+
+o Added automatic re-running of nodes upon configuration changes (yea!)
+
+o Can be run in "standard input/output" mode (scfg -d) to run as a DOOR!
+
+o Increased default backup_level from 3 to 5
+
+o More flexible command-line syntax
+
+o Reads SBBSCTRL environment variable to determine location of CTRL directory 
+  (if not specified on the command-line)
+
+o Supports up to 80x60 console window
+
+o Elimination of version 2-specific options (unused in version 3)
+
+o File paths are no longer forced to uppercase (for Unix support)
+
+o Fixed importing of FIDONET.NA echolist tags with slashes (e.g. "AIDS/ARC")
+  - was creating an invalid internal code for imported sub-board
+
+o No more problems with consuming time-slices (100% CPU utilization)
+
+o No more problems with initializing larger than 80x25 console windows
+
+o New options to control the following:
+  - Long filename support in listings (Win98/Win2K+)
+  - Spinning cursor at [Hit a key] prompt
+  - Native 32-bit external programs (doors), timed events, and editors
+  - DOOR32.SYS drop file creation
+  - Timed events based on frequency (multiple executions per day)
+  - Background execution toggle for timed events
+  - Global Hot Key events
+  - SMTP (inbound e-mail) semaphore file
+  - New user e-mail/netmail address question
+  - Stripping of FidoNet Kludge lines for external editors
+
+
+Control Panel
+~~~~~~~~~~~~~
+o Password-protected tray icon option
+
+o Client form column widths saved/restored
+
+o Added window title to SCFG console ("Synchronet Configuration Utility")
+
+o Fixed crashes when closing while minimized to system tray
+
+o Code Input dialog now lists the available events/hubs in a drop-down list
+
+o Added "User->Truncate Deleted Users" menu option
+  - used to remove all deleted user records from end of user database
+
+o Fixed LogColor registry settings (weren't working)
+
+o Created File->Properties->Customize menu to change color/font schemes
+
+o Fixed window position of services config dialog 
+  (wasn't visible at low resolutions)
+
+o Detailed error reporting upon failure to load configuration files
+
+o New Help->Frequently Asked Question menu option
+
+
+Configuration Wizard
+~~~~~~~~~~~~~~~~~~~~
+o Added automatic detection of DNS server address (yea!)
+
+o Fixed Internet Address configuration page when run for the first time
+
+
+JavaScript (http://synchro.net/docs/js.html)
+~~~~~~~~~~
+o Increased maximum JavaScript heap size from 1 to 8 megabytes
+  - no additional overhead or memory consumption
+  - now supports thousands of message and file areas
+
+o Elminated reliance on exec/nspr4.dll
+  - benefit from switching to the "separate run-time per thread" model
+
+o User class is defined before the answer/login procedure
+  - answer/login .js modules can now use the User class
+
+o user, file_area, and msg_area objects are now created during logon
+
+o New bbs properties:
+    alt_ul_dir, node_action, curgrp, cursub, curlib, curdir,
+    smb_group, smb_group_desc, smb_group_number, smb_sub, smb_sub_desc,
+    smb_sub_code, smb_sub_number, msg_to, msg_to_ext, msg_to_net,
+    msg_to_agent, msg_from, msg_from_ext, msg_from_net, msg_from_agent,
+    msg_replyto, msg_replyto_ext, msg_replyto_net, msg_replyto_agent,
+    msg_subject, msg_date, msg_timezone, msg_date_imported, msg_attr,
+    msg_auxattr, msg_netattr, msg_offset, msg_number, msg_expiration,
+    msg_forwarded, msg_thread_orig, msg_thread_first, msg_thread_next, and
+    msg_delivery_attempts
+
+o New bbs methods:
+    page_sysop, page_guru, multinode_chat, private_message, private_chat,
+    get_node_message, put_node_message, get_telegram, put_telegram,
+    text_sec, xtrn_sec, user_config, sys_info, sub_info, dir_info, 
+    user_info, ver, sys_stats, node_stats, userlist, useredit, logonlist,
+    nodelist, whos_online, spy, xfer_policy, read_mail, email, netmail, 
+    qwk_sec, post_msg, cfg_msg_scan, cfg_msg_ptrs, reinit_msg_ptrs,
+    scan_posts, auto_msg, time_bank, batch_menu, batch_download,
+    batch_add_list, temp_xfer, change_user, bulk_mail, bulk_upload,
+    resort_dir, listfiles, listfileinfo, scan_subs, scan_dirs, cmdstr,
+    get_filespec, get_newscantime, list_users, edit_user, list_logons,
+    list_files, list_file_info, post_msg, list_nodes, upload_file, and atcode
+
+o New User class properties:
+    logontime   - the exact time (in time_t format) of current login
+                  (used to display time spent online in node listings)
+    curxtrn     - the internal code of the external program last run
+                  (used to display the name of the door in node listings)
+
+o New Socket class property: nonblocking (set to true for nonblocking sockets)
+
+o New Socket class method: ioctl (for sending ioctl commands to TCP/IP driver)
+
+o New MsgBase.put_msg_header() method for modifying or deleting messages
+
+o MsgBase class message header properties can now be enumerated
+  - example: for(i in header) print("header." + i + " = " + header[i]);
+
+o MsgBase class now supports anonymous-only and private-only sub-boards
+
+o MsgBase class wasn't locking message headers before reading/writing them
+
+o MsgBase class sub-boards in non-default storage directory didn't work
+
+o exec/sbbsdefs.js now includes SMB constant definitions
+  - for use with the MsgBase class
+
+o msg_area.grp_list[x].sub_list[y].can_post property now accounts for P and N 
+  user restrictions
+
+o New msg_area.grp_list[x].sub_list[y] properties:
+    settings        - bitmask of settings (SUB_*)
+    qwk_name        - QWK conference name
+    data_dir        - path to data files
+    fidonet_origin  - FidoNet origin line
+    qwknet_tagline  - QWKnet tagline
+    is_operator     - current user is sub-board operator (true/false)
+    is_moderated    - sub-board is moderated (true/false)
+    ptridx          - index into data/user/ptrs/<usernum>.ixb files
+    qwk_conf        - QWK conference number
+    max_age         - max message age (in days) before purging
+    max_msgs        - max number of messages before purging
+    max_crcs        - max number of message CRCs to store (for dupe checking)
+
+o New file_area.lib_list[x].dir_list[y] properties:
+    settings        - bitmask of settings (DIR_*)
+    can_upload      - current user can upload (true/false)
+    can_download    - current user can download (true/false)
+    is_exempt       - current user is exempt from d/l credits (true/false)
+    is_operator     - current user is a directory operator (true/false)
+    path            - path to storage directory
+    extensions      - file extensions allowed (comma separated list)
+    upload_sem      - path to upload semaphore file
+    data_dir        - path to data files
+    seqdev          - sequential device number
+    sort            - sort order
+    max_files       - max number of files allowed
+    max_age         - max age before purging
+    upload_credit_pct   - percentage of credits given for uploads
+    download_credit_pct - percentage of credits given for subsequent downloads
+
+o New system.findstr() method for searching any file for pseudo-regexp strings
+  - similar to system.trashcan(), but not limited to text/*.can files
+
+o New global directory() method to return array of files in specified
+  local file system directory matching specified wildcard pattern 
+  - example: files = directory( system.ctrl_dir + "*.cnf");
+  - see exec/dir.js for complete example
+
+o File.readBin() now returns -1 instead of garbage when attempting to read
+  past the end-of-file
+
+o system.uptime is now correctly set after accounting for timezone
+
+o Fixed bug with concurrent access to the MsgBase class from the Telnet server
+  and the services module
+
+
+Synchronet Services
+~~~~~~~~~~~~~~~~~~~
+o Fixed parsing of services.cfg, two spaces were required before port number
+
+o html-nodelist.js:
+  - now reports time online and door names in node listings
+  - added optional location to node list (use "-l" option)
+  - added Runkeeper's mod for Login button to work around MSIE table bug
+
+o fingerservice.js:
+  - now reports time online and door names in node listings
+
+o nntpservice.js:
+  - fixed message-ids for Netscape (and other client) support
+  - now supports real name only sub-boards
+  - now supports private and moderated messages
+  - includes e-mail address in "From:" header fields
+
+o Added support for server recycle semaphore file (ctrl/services.rec)
+
+
+Telnet Server
+~~~~~~~~~~~~~
+o User signature file support (totally independant of message editor)
+
+o Now supports 3-digit ANSI cursor position reports during initial
+  terminal screen length detection (fix for Windows 2K/XP telnet)
+
+o New user netmail/e-mail address question can now be toggled off
+
+o Long filenames are now displayed in extended file information and are
+  optionally displayed in file listings (requires Win98/Win2K+)
+  - files with long filenames must still be uploaded via FTP
+  - complete long filename support will follow the emergence of a WinSock
+    X/Y/Zmodem driver
+
+o 32-bit external programs (doors) and editors no longer need to be in the
+  Native Program List in SCFG for a DOOR32.SYS drop file to be created
+  - select "DOOR32.SYS" from the drop file list instead
+  - also need to set "Native (32-bit) Executable" toggle option to "Yes"
+
+o Added support for I/O redirection of Win32 console apps (e.g. cmd.exe)
+  - ;SHELL command now works on Windows NT/2K/XP
+  - unix-like (stdio) doors now supported (e.g. Lord/X)
+
+o Date environment variables (DAY, WEEKDAY, MONTH, MONTHNAME, and YEAR)
+  are now set before executing native (32-bit) programs
+  - these variables were previously only set when executing DOSXTRN.EXE
+
+o EnterYourBirthday ctrl/text.dat line now uses automatically-supplied
+  variable for the format example ("MM/DD/YY" or "DD/MM/YY") based on the
+  sysop-configured date format
+
+o Message "Title" ctrl/text.dat entries changed to "Subject"
+
+o New @-codes:
+  - SMB_GROUP           Current message group name          
+  - SMB_GROUP_DESC      Current message group description (long name)
+  - SMB_GROUP_NUM       Current message group number
+  - SMB_SUB             Current message sub-board name
+  - SMB_SUB_DESC        Current message sub-board description
+  - SMB_SUB_CODE        Current message sub-board internal code
+  - SMB_SUB_NUM         Current message sub-board number
+  - MSG_TO              Current message to-user name/number/address
+  - MSG_TO_NAME         Current message to-user name
+  - MSG_TO_EXT          Current message to-user extension (number)
+  - MSG_TO_NET          Current message to-user network address
+  - MSG_FROM            Current message from-user name/number/address
+  - MSG_FROM_EXT        Current message from-user extension (number)
+  - MSG_FROM_NET        Current message from-user network address
+  - MSG_SUBJECT         Current message subject
+  - MSG_DATE            Current message date/time
+  - MSG_TIMEZONE        Current message timezone
+  - MSG_ATTR            Current message attributes
+
+o All @-codes now support the -L and -R variations for fixed length display
+  (left or right justified) Example: [@name-l___________________@]
+
+o Fixed %f command-line expansion for DORINFO1.DEF and TRIBBS.SYS drop files
+
+o Fixed bug where the uptime was incorrectly reported in some timezones
+
+o Fixed bug where time left could go negative in Unix builds
+
+o Fixed infinite "error selecting socket for send" error message
+
+o Fixed Baja FTP passive (PASV) mode file transfers
+  - exec/getimlst.bin should now work with ftp.synchro.net
+
+o Fixed Baja FTP active/normal (non-passive) transfers 
+  - was only broken when Telnet server network interface was set to 0 (<any>)
+
+
+Events
+~~~~~~
+o Timed events based on frequency (multiple executions per day)
+
+o DOSXTRN is no longer used to launch timed events (unnecessary overhead)
+
+o Background execution can now be toggled off/on in SCFG
+
+
+Mail Server v1.11
+~~~~~~~~~~~~~~~~~
+o Support for MIME-encoding of outbound e-mails with file attachments
+  - thanks to Marc for this source code contribution
+
+o Recipient e-mail addresses can now be blocked using text/email.can
+
+o Optional "default user" for catch-all e-mail account (e.g. sysop)
+
+o Support for "port-extended" addresses to send mail to SMTP servers on 
+  non-standard ports (e.g. user@some.mail.server:2025)
+
+o alias.cfg can now specify external servers (different address or port)
+  '*' wildcard char is supported (e.g. to forward all mail for anyone at
+  some.com to the same user at orther.org, use "*@some.com *@other.org")
+
+o More detailed smap.log entries
+
+o Time-slice yields while receiving SMTP messages
+  - no more 100% CPU utilization while receiving large e-mails
+
+o Support for SMTP (inbound e-mail) semaphore file
+  - used to trigger external mail processing events
+
+o Removed support for logging in with aliases from alias.cfg (bad idea)
+  - alias.cfg is strictly used for e-mail recipient aliasing
+
+o Added support for server recycle semaphore file (ctrl/mailsrvr.rec)
+
+o Fixed double domain bug in POP3 server
+
+o Counts and logs number of lines per message
+
+
+FTP Server v1.10
+~~~~~~~~~~~~~~~~
+o E-mail aliases (from ctrl/alias.cfg) can no longer be used to login
+
+o Guest/anonymous e-mail address listed in client display
+
+o Added support for server recycle semaphore file (ctrl/ftpsrvr.rec)
+
+o Automatic server recycling upon socket select or accept failure
+
+
+/* End of V310_NEW.TXT */
diff --git a/docs/v3cfgfaq.txt b/docs/v3cfgfaq.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fec3e3119ea29cc1ca70a91ed5eeb8a58dfe7cfc
--- /dev/null
+++ b/docs/v3cfgfaq.txt
@@ -0,0 +1,295 @@
+  Answers to frequently asked questions re: configuring Synchronet Version 3
+       by Rob Swindell (digital man), May 2000, last updated October 2001
+
+Q: The SBBSCTRL:BBS->Login menu option isn't working for me.
+A: The default local login command in v3.00 ("start telnet://localhost") does
+   not work on NT-based OSes (including Win2K and WinXP). If you're running 
+   v3.00, run REGEDIT and go into
+   HKEY_CURRENT_USER\Software\Swindell\Synchronet Control Panel
+   and change "LoginCommand" to "telnet localhost" or "mtel localhost" or 
+   whatever your favorite telnet client is.
+
+   If you're running v3.10e or later, then the "start telnet://localhost" 
+   command line should work (start up your registered telnet client).
+
+Q: The SBBSCTRL:BBS->Configure menu option isn't working for me.
+A: SCFG and SCFG32 are console-mode programs that only work in an 80x25 
+   console window. If you're seeing the message "USCRN failed!" that means
+   you probably have your default console window set to a dimensions larger 
+   than 80x25.
+
+   You can fix this on Windows NT/2K/XP by adjusting the properties of your
+   System32\command.pif file. Make sure "restore settings at startup" 
+   (under the "Screen" tab) is not checked. Also, make sure the screen buffer
+   size is no larger than the screen window size (80x25).
+
+Q: I want to create custom menus. Is there any detailed documentation or
+   samples regarding custom menus on Synchronet?  
+A: Yes, see http://synchro.net/docs/customization.html and
+   http://synchro.net/docs/baja.html for details.
+
+Q: How do I join DOVE-Net?
+A: If you've installed v3.00, Telnet to vert.synchro.net and create a new
+   account for your QWKnet transfers (using your system's QWK-ID for the user
+   name), then edit the file VERT.FTP in your EXEC directory, replacing the
+   qwk-id and password with the username and password you created on
+   Vertrauen.
+   If you've upgraded to v3.00e or later, you'll probably want to use the
+   new QNET-FTP Baja module instead of the old VERT.BAT/VERT.FTP scripts.
+   See exec/qnet-ftp.src for instructions.
+   If you're running an older version of Synchronet (or upgraded to v3.0b), 
+   then you'll need to create the message areas and QWKnet hub information in
+   SBBSCTRL:BBS->Configure->Networks->QWK Packet Networks->Network Hubs. 
+   See DOVE-NET.ZIP for details.
+
+Q: What is my system's QWK-ID?
+A: This is normally an abbreviation of your BBS's name that YOU determine
+   and configure in SBBSCTRL:BBS->Configure->Message Options. You may want to
+   look at NODES.DAT in DOVE-NET.ZIP for any conflicts with other DOVE-Net
+   systems' QWK-IDs.
+
+Q: What is the "!QWKTOMSG failed" or "Duplicate message" warnings in my 
+   Telnet/Event log while importing DOVE-Net QWK packets into my message 
+   areas?
+A: This warning indicates a duplicate message in your QWK packet was detected. 
+   Duplicate messages in the SYNCDATA echo are normal and you can disable the 
+   duplicate message checking for that echo in SBBSCTRL:Configure->Message 
+   Areas->DOVE-Net->SYNCDATA and the warnings should go away.
+
+Q: How do I join/setup a FidoNet Technology Network (FTN)?
+A: Use SBBSecho (included with Synchronet) to toss (export) and scan (import)
+   your FidoNet bundles, packets, and NetMail (see
+   http://synchro.net/docs/sbbsecho.html for details).
+
+   You will also need a TCP/IP FTN transport program like Binkd, Internet Rex,
+   Argus, etc. Traditional Front-End Mailers (FrontDoor, InterMail, D'bridge,
+   BinkleyTerm, etc) are NOT normally used for TCP/IP-based FTN transfers.
+   See http://net229.darktech.org/fidosetup/ for instructions on setting
+   up Synchronet with the Argus 32-bit FidoNet mailer.
+
+Q: Does anyone know of a good, stable newsgroup door I can download or buy?  
+   I would LOVE to have newsgroups on my board.
+A: I don't know of any doors, but I do know of several newsgroup<->fido
+   gateway packages: newsgate, gigo, internet rex, and many others.
+A: You can also try MerlinSystem's NetXpress Usenet Gateway for Synchronet
+   (nx-sync, it's free): http://www.binaryh.com/merlinsys/
+A: Internal NNTP support for Synchronet is planned for the near future.
+
+Q: How do keep external programs (doors) from popping up windows and stealing
+   the keyboard/mouse focus?
+A: Check SBBSCTRL:Telnet->Configure->Minimize Externals.
+
+Q: How do I set additional nodes for telnet access?
+A: Create the additional nodes in SBBSCTRL:BBS->Configure->Nodes if you
+   haven't already done so (Version 3 uses the same configuration information
+   from the first telnet node for all telnet nodes and the COM port/modem
+   configuration information is ignored). Set SBBSCTRL:Telnet->Config->Last
+   Node to highest node number you want available for telnet logins.
+
+Q: How come some of the times diplayed are off by exactly one hour?
+A: There is a time-zone bug in the Microsoft Visual C++ run-time library I'm
+   using in Synchronet v3 related to day-light savings time. Those of you
+   using v3 in a timezone which has daylight savings, may see a different time
+   in the BBS (ctrl-T for example) than you do in SBBSCTRL or your system tray.
+
+   You can fix the problem by removing Windows' knowledge of daylight savings
+   altogether (which I think is a dumb idea to begin with). You need to run
+   TZEDIT which is included on the Win98 CD in the tools\reskit\config
+   directory. It's included with Win95 OSR2 in the Admin\Apptools\Tzedit
+   directory. Anyway, run tzedit, select your time-zone from the list (it
+   should already be selected), click the "Edit" button, and UN-CHECK the
+   "Automatically set Daylight Savings Time" check box. Then clck OK, then
+   click CLOSE.
+
+   Now, you need to RE-SELECT the time-zone by double-clicking the time in your
+   system-tray (lower right corner) or by re-selecting the time zone in the
+   control panel. Now when you run Synchronet and user logs on (for example),
+   the times should all be correct.
+
+Q: I get an error message that contains "file: c:\src\sbbs3\etc" or something
+   similar but I do not have Synchronet installed on drive C or that path does
+   not exist?
+A: The "Source" or "File" portion of the error message is for the author's
+   reference only and has nothing to do with your Synchronet configuration. The
+   file path in question was the original source code file where the error
+   occured, which you do not need to concern yourself with (unless you are
+   modifying the source code). Send the ENTIRE error message (as shown in your
+   data/error.log file) to the author if you still have any questions or
+   concerns that aren't answered here or in the sysop documentation.
+
+Q: How do I add files to the file database?
+A: The easiest way is to use the ADDFILES utility which can automatically
+   detect and import embedded descriptions (e.g. FILE_ID.DIZ). See the
+   chapter in the sysop manual on "Adding files" and the ADDFILES utility
+   chapter for details. No, a files.bbs list is not necessary for adding
+   files. Use "ADDFILES * /DIZ" to search all directories for a new files.bbs,
+   import any embedded descriptions (e.g. FILE_ID.DIZ), and delete the file.bbs
+   after importing it.
+
+Q: My long filenames aren't appearing correctly on the BBS?
+A: The Synchronet file database currently only supports the DOS 8.3 naming
+   format. Longer filenames will be shown in their Micros~1 mangled form.
+   The Synchronet FTP server does automatically detect and display long
+   filenames, however. Long filenames will be supported in the BBS/Telnet
+   server in a future release.
+
+Q: How do I enable forced upload/download ratios.
+A: By default, Synchronet utilizes a "credit" system, where a user typically
+   earns credits by uploading files, posting messages, playing online games, 
+   etc. And downloading files requires a number of credits based on the size
+   of the file.
+
+   If you prefer to use a less flexible upload/download "ratio" system, you
+   can do so by using the UDR (upload/download byte ratio) or UDFR
+   (upload/download file ratio) ARS keywords in the Download Requirements of
+   your file areas. These ARS keywords, like the PCR (post/call ratio) keyword
+   use a specified minimum "percentage". So if you wish to enforce a 1:3
+   upload/download ratio, then use "UDFR 33" for 33%, 3:4 ratio would be
+   "UDFR 75" for 75%, 1:2 would be "UDFR 50" for 50%, etc.
+   See http://synchro.net/docs/security.html for details on using ARS.
+
+Q: How do I allow users to send Internet e-mail from the BBS?
+A: See http://synchro.net/docs/message_section.html for details.
+
+Q: How do I disallow connections from specific host names or IP addresses 
+   (or ranges).
+A: Add the disallowed host names to your text/host.can file or IP addresses
+   to your text/ip.can file. To disallow a range of IP addresses, use the ^
+   wildcard character (e.g. "192.168.10.^"). To disallow a partial string in a
+   host name, use the ~ wildcard character (e.g. "mofoisp.com~").
+   As for v3.10, you can use the familiar '*' wildcard character
+   (e.g. "*.aol.com" and "192.168.*").
+
+Q: When I run SBBSCTRL it asks me for the path to MAIN.CNF, but I don't have
+   this file.
+A: You've installed the v3 upgrade without installing v2.3 first. Install
+   Synchronet v2.3 (SBBS230?.ZIP) first, then apply the upgrade.
+
+Q: File transfers (DSZ) aren't working.
+A: You need to use FDSZ (FOSSIL version of DSZ) in place of DSZ:
+   1. Verify you have FDSZ.EXE in your Synchronet EXEC directory.
+   2. Change the command lines in SBBSCTRL:BBS->Configure->File Options->
+      Transfer Protocols from "%!dsz ..." to "%!fdsz ...".
+A: If you're using an NT-based OS (including Win2K and WinXP), you'll need
+   to upgrade to v3.10e or later to get the fix for Zmodem transfers.
+
+Q: Why do I get an SBBS.DLL error about missing GetDiskFreeSpaceEx?
+A: You're attempting to run Synchronet v3.0 on pre-OSR2 Windows 95 or Windows 
+   NT 3.x. Support for pre-OSR2 Windows 95 was added in Synchronet v3.00c.
+   See http://www.synchro.net/platforms.html for a matrix of supported 
+   platforms.
+
+Q: Can I run version 3 under Windows NT4/2000?
+A: The first beta release (v3.00a) did not include a FOSSIL/DOS interrupt
+   driver for NT/2000, so only Windows 95/98 was fully supported. Version
+   3.00b includes a FOSSIL/DOS interrupt driver for NT4/2000. If running under
+   NT4/2000, see NTREADME.TXT for configuration details.
+
+Q: My CPU/kernel-utilization meter reports 100% when a user is online and
+   entering a string/line of text.
+A: Set SBBSCTRL:BBS->Configure->Nodes->Node X->Toggle Options->Low Priority
+   string input to "Yes" (where X is your first telnet node).
+
+Q: How do I allow anonymous logins to the Synchronet FTP Server?
+A: You need to create a Guest account on your BBS. Create a new user (login
+   as "New" or use the User Editor included with v3.00b) with a user name of
+   "Guest". Give this user the 'G' exemption and the 'G' restriction and
+   delete the password for the account. You may also want to give the Guest
+   account additional exemptions (e.g. L, P, T, etc).
+
+Q: How can I get door X to work?
+A: If the door wasn't specifically written to run on Synchronet (XSDK) or
+   WWIV BBS Software (typically using CHAIN.TXT), then it must support FOSSIL
+   communications (most popular doors support FOSSIL) and the door must be
+   configured to use a FOSSIL driver (yes, you'll need to read the door's
+   documentation files).
+   The Synchronet FOSSIL driver is automatically configured and loaded when
+   needed and ignores the COM port information used by doors, so configuration
+   details such as COM port number and baud rate are irrelevant (you can just
+   leave them set to their default values if the door configuration program
+   allows them to be changed, or use COM1/38400 if it makes you happy).
+
+Q: How can I get this FOSSIL door to work?
+A: Make sure you have "Intercept I/O Interrupts" set to "No" for all FOSSIL
+   doors in SBBSCTRL:BBS->Configure->External Programs->Online Programs
+   (this includes Synchronet Match Maker v2.x).
+   Make sure you have the appropriate startup directory, command line, and
+   drop file options set in SCFG. See SBBSDOOR.ZIP for specific instructions
+   on setting up some popular door games (i.e. LORD, BRE, GlobalWar, TW2002).
+   Make sure you DO NOT have any FOSSIL drivers loaded (including X00, BNU,
+   ADF, COM/IP, WinFOSSIL, or NetModem) as they will conflict with
+   Synchronet's FOSSIL driver.
+   Make sure the door supports FOSSIL communications (read the door's docs)
+   and that the door is configured to use a FOSSIL driver. Synchronet's
+   FOSSIL driver is automatically configured and loaded when needed - there
+   is nothing you need to do to install or load the Synchronet FOSSIL driver.
+
+Q: How do I get Synchronet to create a DOOR32.SYS drop file?
+Q: How do I tell Synchronet that a program is 32-bit?
+A: Add the program's base filename to SBBSCTRL:BBS->Configure->External
+   Programs->OS/2 Program List (this is actually the native 32-bit program
+   list). If you specified the executable file extension (e.g. ".exe") on
+   the program's command-line, then you'll also need to include the
+   filename with the extension in the 32-bit Program List.
+   This process will be improved greatly in a future version of Synchronet.
+
+Q: SyncEdit isn't working correctly.
+A: See the file SYEDTFAQ.TXT for details.
+
+Q: When I read messages on my v2.3c (or earlier) nodes, I sometimes get a
+   garbled Message Attributes line.
+A: Synchronet v3 introduced a new message attribute (REPLIED) and this
+   attribute is not currently supported in v2.3c. To work around this problem,
+   remove one of the %s's from the MsgAttr line of your CTRL\TEXT.DAT file.
+   I plan on releasing a v2.3d with this fix (and others) in the future).
+
+Q: I have Scroll-Lock on, but I'm still not available for chat page.
+A: Synchronet version 3 no longer uses Scroll-Lock to indicate sysop
+   availability. Instead, there is a button on the SBBSCTRL tool bar and on
+   the BBS menu to toggle the sysop availability for chat (added in v3.00b).
+
+Q: What is SCFG?
+A: The Synchronet Configuration Utility (exec/scfg.exe). This 16-bit 
+   console/text-mode program is left-over from Synchronet v2 and is still used 
+   (as of v3.10) to configure many of the aspects of Synchronet v3
+   (SBBSCTRL:BBS->Configure). See http://synchro.net/docs/system_config.html 
+   for details.
+
+   There is also a 32-bit version of SCFG, SCFG32.EXE, that should be used in
+   place of SCFG.EXE when more than a few hundred kilobytes of memory are 
+   required for configuration information (typically, for large numbers 
+   of message areas). 
+
+   You can change the program and command-line used with the 
+   SBBSCTRL:BBS->Configure menu option: in v3.00, run REGEDIT, and change
+   HKEY_CURRENT_USER\Software\Swindell\Synchronet Control Panel\ConfigCommand
+   or in v3.10, go to SBBSCTRL:File->Properties. Change the string to 
+   "%sSCFG32 %s" (removing the "/t2") to utilize the 32-bit version of SCFG.
+
+   You can run SCFG/SCFG32 from the command-line by specifying the path to your
+   Synchronet CTRL directory as the first parameter
+   (e.g. "c:\sbbs\exec\scfg32 c:\sbbs\ctrl"). When running the 16-bit version of
+   SCFG under Windows, it is highly recommended to use the "/t2" command-line
+   switch to yield Windows time-slices.
+
+   SCFG and SCFG32 only work in 80x25 text windows (on Win32-based OSes). 
+   SCFG will fail with a "USCRN failed!" error message when run in a non-80x25
+   window.
+
+   A GUI re-write of SCFG (for Win32 and Linux) is planned for the near future.
+
+Q: Is there any updated documentation for Synchronet v3?
+Q: The documentation I have (sysop.doc) appears to be for v2.3 for DOS/OS2?
+Q: Do you have documentation that is easier for me to view/print/etc?
+A: Yes, the documentation included in Synchronet v3.00b was the same old
+   SYSOP.DOC (ASCII text file) created for Synchronet for DOS and OS/2 v2.30.
+   It was reformatted in HTML and updated for version 3.00c (as of
+   December 2000). You can view the progress of the Synchronet Documentation 
+   project at: http://synchro.net/docs. Contributors are welcome!
+   The Synchronet HTML docs have been converted to PDF for your
+   viewing/printing pleasure and can be downloaded @ vert.synchro.net.
+
+As always, see the documentation if you have any questions that aren't
+answered here: http://synchro.net/docs
+
+/* End of V3CFGFAQ.TXT */