*************************************************** * 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- 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 */