SBNews: News Robot Utility 
(C) Scott M Baker, smbaker@sb-software.com
SBNews is also referred to as
"NewsBot" and
occasionally "News Robot".
Table of Contents 
The purpose of this program is to automatically download
and decode files from newsgroups via an internet
connection. SBNews supports all popular encoding mechanisms,
including uudecode/uuencode, base-64,
mime, and yEnc. 
SBNews excels at downloading all sorts of binary attachments,
including images such as jpegs, gifs, and bmps, movies files such
as mpeg (mpg), and avi, and music files such as mpeg layer 3
(mp3). SBNews automatically pieces together multipart files. 
Here is a sample of (G-Rated) picture type newsgroups where
you can download images:
alt.binaries.pictures.astro
alt.binaries.pictures.animals 
alt.binaries.pictures.cartoons 
alt.binaries.pictures.fractals 
There are a wealth of adult-oriented newsgroups -- if you're
interested in such things, I'm sure you can find them on your
own. SBNews will download the list of newsgroups (often called a newsrc)
and let browse, search, and pick newsgroups to download.
The primary goal of SBNews is automatic unattended
downloading. Newsbot can be used to gain a large number of files
with little or no user intervention, allowing the user to spend
most of his/her time viewing the files. Nevertheless, there are
several manual features supported to give the user control and
status information, such as thumbnails displayed during download,
anti-SPAM controls, and the ability to manually select headers to
filter out unwanted mail. 
    - Windows 95/98/ME/NT/2000/XP/Vista 
        ... there's also an older win-3.1 version available for
        people with really old computers!) 
    - Internet connection (dial-up, dsl, and broadband
        connections all work well)
 
    - 16-bit (Windows 3.1) Version: SBNEWSxx.ZIP (xx denotes
        version number) 
 
    - 32-bit (Windows 95/98/ME/NT/2000/XP/Vista) Version:
        SBN32_xx.ZIP (xx denotes version number)
 
    - Unattended download - do other work (or go out to lunch)
        while downloads and uudecoding are all processed for you!
    
 
    - Spam Filters -- effortlessly filter out unwanted content
 
    - Built in thumbnail image viewers -- Allows you to see
        postage-stamp size images of the files you are
        downloading in progress
 
    - Built in full-screen image viewer and
        sorting/categorization tools
 
    - Delete/View previously downloaded JPEG files. 
 
    - Comprehensive logging capabilities - save the subject and
        from information for files that you might want to follow
        up on later. 
 
    - Duplicate Checkers -- avoid downloading the same files
        multiple times. 
 
    - Auto-Encryption -- can be set to automatically encrypt
        files when saving to disk to keep their contents private.
    
 
    - Automatic FILES.BBS generation for sysops and bbs
        operators
 
    - Eliminate advertisements/SPAM with the Maximum XRef Limit
        (see preferences) and the XRef Lockout Filter (see
        lockout lists) 
 
    - NEWSBOT.EXE: Executable; what you need to run to get the
        program to work. 
 
    - NEWSBOT.HTM: Documentation in HTML format (read with your
        browser) 
 
    - NEWSBOT.DOC: Documentation in plain-ASCII format (read
        with any plain ascii text editor) 
 
    - BWCC.DLL (16-bit) or BWCC32.DLL (32-bit): Borlands
        Custom-Control DLL library; used to support Newsbot's
        grey dialog boxes. 
 
    - FILE_ID.DIZ: Brief description file; useful for bbs
        distribution 
 
    - SAMPLE_G.TXT: Plain-ASCII listing of binary newsgroups 
 
    - REGISTER.HTM: Registration info in HTML format 
 
    - REGISTER.DOC: Registration info in plain-ASCII format 
 
    - README.1ST: General information on documentation &
        archives 
 
    - ENCRYPT.EXE: Standalone utility, Used to encrypt files on
        disk 
 
    - DECRYPT.EXE: Standalone utility, Used to decrypt files on
        disk 
 
    - COORD.EXE: (32-bit version only) Used to coordinate
        multiple Newsbot applications running concurrently 
 
Here are some very quick notes on installing and using
Newsbot: 
Installation: 
    - Unzip the distribution archive into the (temporary)
        directory of your choice. 
 
    - Run the file SETUP.EXE -- this is an automatic
        InstallShield setup program and will copy all files and
        do everything else necessary to get the program installed
        for you. 
 
Running: 
    - Run NEWSBOT.EXE -- this can be done in various ways:
            - use the SBNews icon on your windows desktop
 
            - ... or use the start menu 
 
            - ... or use the command prompt, the Windows
                Explorer (and/or file manager), the Windows Run
                Program command, etc. 
 
        
     
    - On your first session, you'll be prompted for a
        "News Host Name". 
            - This is the name of your news host, and should be
                supplied by your ISP (internet service provider).
            
 
            - If you don't know your host name, you can contact
                your ISP, or look in an existing news program on
                your computer
 
        
     
    - On your first session, you'll be prompted for a
        "download path". This is the path where you
        want the files you download to be placed. 
 
    - Once NewsBot is loaded, you'll want to add some
        newsgroups. 
            - This is done with the "Add" button. 
 
            - If you already know the names of the groups you
                want, then you can just type them
 
            - ... otherwise, you can use the <browse>
                button (after you use the <add> button) to
                browse or search for groups
 
        
     
    - Press the "CONNECT" button to start everything.
        All else should be mostly automatic from here on. Feel
        free to tinker around with the menu items 
 
If your news server requires authentication (a user name and
password), then you should enter those before connecting for the
first time. Use the pull-down menu "configure" and the
option "authentication"
    - "-i INI_FILE_NAME". Sets the name
        of the INI file to use. By default, newsbot uses the file
        newsbot.ini in your windows directory. Specifying a
        filename here will cause newsbot to use the file under
        that name in newsbot's home directory. For example "Newsbot
        -i news1.ini" would use the filename
        "news1.ini" in newsbot's home directory. 
 
    "-auto". Will automatically begin
        downloading news articles as soon as newsbot has loaded. Note:
        For unregistered users, about screen will still be
        displayed!  
    "-autoexit". Automatically exits
        SBNews after all groups have been received.  
    "-noabout". Omits display of the
        about dialog on startup of Newsbot. Note: Only
        supported in registered version!  
    "-autorestart". Automatically
        restarts after all groups have been received. Note:
        Incompatible with -autoexit and -autocat  
    "-autocat". Generates image
        catalogs in each group after all groups have been
        received.  
    - "-minimize". This will cause SBNews to be
        minimized on startup 
 
    - "-autoshrink". Automatically causes SBNews to
        be shrunk down to the taskbar on startup. This is
        equivalent to using the File:Shrink-to-Taskbar pull-down
        menu option. 
 
How to use command line parameters:
You can enter command line parameters in several different
ways. Here are some popular methods:
    - SBNews Defaults: In SBNews, click the
        pull-down menu "Configure" and the item
        "Default Command Line Switches". This will
        present you with a listing of the most popular command
        line switches, and you can check/uncheck them to select
        the default behavior, and SBNews will act as if the
        appropriate options were given on the command line. 
 
    - Windows Start Menu: If SBNews has been
        configured onto the Win-95 Start Menu (the install
        program does this by default), then you can set command
        line options there. Click the 'start' button, then select
        'Settings' and 'Taskbar'. On the taskbar settings dialog,
        select the 'Start Menu Programs' tab, and then the
        'Advanced' button. This will bring up an explorer-type
        window which has all of your start menu programs on it.
        On the left-hand tree display, navigate to the SBNews
        folder. Once you've done this, the right hand panel will
        show the items in the SBNews folder (Documentation, help,
        readme, and sbnews). Right-Click the one that says
        "SBNews" and then follow the instructions for
        Win-95 shortcut below. [I know, this is all very
        complicated, but that's microsofts fault, not mine]
 
    - Windows Shortcut: Right click on the
        shortcut and select 'properties'. Click the 'Shortcut'
        tab on the properties dialog. Then find the edit field
        that says 'Target'. You can enter any command line
        parameters here -- for example "c:\program
        files\sbnews\sbnew.exe -autoexit -autocat". 
 
    - Windows Command Prompt: You can type a
        full command line into the MS-DOS prompt, with command
        line options and all. (Assuming you know how to use the
        MS-DOS Prompt, this should be simple for you -- otherwise
        you should probably choose one of the other methods)
 
    - Windows Start:Run Menu: If you use the
        Windows-95 'Run' command on the start menu, then you can
        enter command line options right after the executable
        file name.
 
SBNews has a built in Jpeg viewer for viewing JPEG and other
image files offline. The JPEG viewer can be operated in several
ways: 
    - By double-clicking on a [RECEIVED] entry in Newsbot's log
        window 
 
    - By single-clicking on one of the preview pictures on the
        right hand side of Newsbot's main window. 
 
    - By using the FILE:VIEW JPEG option from Newsbot's
        pulldown menu. 
 
Once loaded, the JPEG viewer window will display the JPG file
selected and include a listing of filenames and directories on
the left-hand side of the window. This listing is provided to let
you easilly select other files to view. Double clicking on a
directory in the directory list will change to that directory and
double clicking on a filename in the file list will display that
file. The CHDIR and VIEW buttons perform the same functions,
respectively. 
The "<" and ">" buttons will view
the immediately previous and next files in the currently selected
directory. You may use these to rapidly view a list of files that
were downloaded overnight for example. The ">"
button will activate a slideshow of the current directory. Each
file will be displayed, there will be a slight delay, and the
next file will be displayed. 
The FILE menu of the viewer has several options: 
    - Open File: Allows you to open a new file using the
        windows common-dialog open method. 
 
    - Delete File: Deletes the current file that you are
        viewing. 
 
    - Save as BMP: Saves the current image as a BMP image,
        which may later be used as windows wallpaper, for
        example. 
 
    - Set as Wallpaper: Saves the current file as a BMP and
        tells window to use it was wallpaper. 
 
The SlideShow menu has a few options as well: 
    - Start/Stop: Starts and stops the slideshow, equivalent to
        the ">" button. 
 
    - Set Interval: Sets the amount of delay between slideshow
        pictures. 
 
    - "Normal Mode": Images will be displayed in the
        jpeg viewers window. 
 
    - "Wallpaper Mode": Images will also be set as
        WallPaper. This sort-of turns your entire desktop into a
        slideshow display. You can minimize the JPEG viewer
        window and continue to do work while images display in
        the background as wallpaper. 
 
Appearance: 
Newsbot has several different main window styles. You may
select whichever style appeals to you most, they all convey more
or less the same information: 
    - Small: Designed to display as much information as
        possible in a small footprint. The "file log"
        is unavailable, but all other information in present. 
 
    - Large: Default configuration for systems with 800x600
        resolution or above. 
 
    - Windows-95 Tabbed: Same footprint as the small dialog,
        but uses a tab control to select different panels of
        information. Somewhat less cluttered, but you will need
        to use the tab between the information you want to see.
        Large current/previous thumbnails. 
 
The host name is the name of the nntp host which NewsBot will
connect to. If you don't already know this, then you may wish to
contact your Internet Service Provider (ISP) or check an existing
news program on your system for the name. 
The base path where downloaded files will be placed. If you
enable any of the download path expansion (see misc.
preferences), then files may be downloaded into sub-directories
of this base path. 
By default, all files will be downloaded into the download
directory that you have specified. However, this can lead to
confusion, since you will not know which files came from which
newsgroups. Thus, there are several "path expansion"
options that will create a sub-directory tree for the individual
groups. The options are: 
    - None: All files go into the same
        subdirectory 
 
    - Group Number: Files are placed in
        numerical directories, according to their order in your
        newsgroup list. 
 
    - Expanded Group Name: Each field of the
        Newsgroup name is made into a subdirectory name. For
        example, "alt.binaries.pictures.misc" would
        become "alt\binaries\pictures\misc". This
        option is useful for Windows-3.1 systems, since
        subdirectory names may only be a short length. 
 
    - Full Group Name: The entire Newsgroup
        name is used as one big subdirectory name. This is only
        available in Windows-95 with long filename support. 
 
    Path Expansion Example
    (alt.binaries.pictures.misc) 
    
        | Path Exp Setting  | 
        Resultant Path  | 
    
    
        | None  | 
        c:\download\  | 
    
    
        | Group Number  | 
        c:\download\group1\  | 
    
    
        | Exp Group Name  | 
        c:\download\alt\binaries\pictures\misc\  | 
    
    
        | Full Group Name  | 
        c:\download\alt.binaries.pictures.misc\  | 
    
For the "group name" options, you may wish to trim
repetitive prefixes from the front of the path name. For example,
there's no need to include "alt.binaries.pictures" in
the beginning of each pathname -- it just leads to wasted space.
The Path Prefix Removal box is used for this
purpose. Any string(s) that you enter in this box will be removed
from the front of the newsgroup name before the path is
generated. 
Miscellaneous preference options are located under the
Configure menu under the heading Preferences. 
    - Logging: Logging options control the
        creation of the newsbot.log file. The log may be useful
        so that you have more information about the files that
        you have downloaded. The log filename is
        "newsMMDD.log", where MM is the current month
        and DD is the current day. For example, the log for June
        6 would be saved in "news0606.log". The log is
        plain-ascii and may be viewed with any text editor, or by
        using the dos "type" command. 
 
    - Log Enabled: if checked, then a log file
        will be written. Otherwise, no log will be written. 
            - From user name: records the name
                of the person who posted the message 
 
            - Subject: records the subject
                line of the message 
 
            - Comments: records the first few
                non-file lines of the message. Useful if the
                sender has prefaced the message with some
                explanation of it's content. 
 
            - Too Small: Messages that are
                below the minimum message line limit (see below).
            
 
            - Too Long: Messages that are
                above the maximum message line limit (see below).
            
 
            - Dupe File: Files caught by the
                dupe-file checker. 
 
            - Dupe Subject: Messages caught by
                the dupe-subject checker. 
 
            - Mime Headers: Really just
                debugging info for me.... 
 
            - Delete old Logs: If checked,
                then any log files not equal to the current date
                will be deleted when newsbot is run. This
                minimizes 
 
        
     
    - Case Conversion: These options will
        convert the case of the filename to a uniform format. Due
        to limitations in the 16-bit application model, filenames
        will probably be always upper case in the 16-bit
        executable. 
            - None: Leave filename case as it
                appears over the modem. 
 
            - Lower: Convert all filenames to
                lower case. 
 
            - Upper: Convert all filenames to
                upper case. 
 
        
     
    - Disconnect/Reconnect: The
        disconnect/reconnect system will automatically disconnect
        and reconnect the current nntp session in order to abort
        a message that is being transmitted. This is used to save
        time, rather than downloading entire messages which are
        not stored on disk. If you disable disconnect/reconnect,
        then Newsbot will receive the entire message, although
        the message will not be written to disk. You may toggle
        disconnect/reconnect on or off for several subcases: 
            - No-Data: Messages with more
                non-encoded lines than the no-data threshold set
                below. 
 
            - Dupe-File: Files caught by the
                dupe-file checker (not relevent to the
                dupe-subject checker, as the dupe-subject checker
                won't download the message in the first place) 
 
            - No-Mask: Files which do not
                match an acceptable file mask. 
 
            - Current-Delete: Files which were
                deleted during transfer by a user request. 
 
            - Lockout-File: Files whose names
                are matched by the lockout filename system. 
 
            - Lockout-XRef: Messages where a
                string in the XRef field matches the lockout-xref
                system. 
 
            - Lockout-Host: Messages where the
                NNTP-Posting-Host name matches the lockout-host
                system. 
 
        
        Note: Sometimes the Disconnect/Reconnect options may
        cause your news server to record an excessive load. This
        is because Newsbot will disconnect the connection, but
        your news server may continue to keep the connection open
        for a short period of time. Thus, the news server may
        think that you are using more connections than you really
        are. This situation is unlikely, but if it does present a
        problem, then you may wish to disable the
        disconnect/reconnect options. 
     
    - Message Line Limits: Newsbot can limit
        which messages are downloaded based on the length (number
        of lines) of the message. 
            - Minimum Lines: Messages with
                fewer than the specified number of lines will not
                be downloaded. The rationale is that small
                messages do not contain any useful information
                (pictures are big!) and some efficiency may be
                obtained by not downloading them. 
 
            - Maximum Lines: Messages with
                greater than the specified number of lines will
                not be downloaded. The rationale is that really
                huge messages are a waste of time. It's usually
                the case of someone who scanned in a picture at
                too fine a resolution. 
 
            - "No Data" Threshold:
                This specifies the number of lines that can be in
                a message when no attached files (eg images) can
                be found before the message is skipped. For
                example, if 500 lines are scanned, and no
                attached image is present, then the message is
                probably grunged, a misplaced part of a multipart
                encode, or some other useless data. 
 
        
     
    - Maximum XRef Limit: Many people have
        complained about an excess of off-topic advertisement
        messages (i.e. SPAM) being present in the newsgroups.
        This option is designed in an attempt to avoid these
        advertisements. Typically, advertisers will post their
        messages to a large number of newsgroups, and thus the
        XREF list for the article will have many entries. Newsbot
        can be set to filter messages with too many XREF's out.
        The default is set at 999 which effectively disables XREF
        filtering. You can enable XREF filtering by entering a
        lower number here (10 is a good place to start). 
 
    - Preload XRef hdrs: By default, the
        "lockout XRef" and "Maximum XRef
        Limit" systems do not filter out an invalid message
        until the download has begun. This is because the XREF
        line is not transmitted until the message is sent.
        However, you can tell Newsbot to download all the XREF
        headers ahead of time, before any messages are
        downloaded. Thus, Newsbot will know the XRef information
        ahead of time and can avoid the unwanted messages
        entirely. However, XRef information is somewhat bulky,
        and does require a fair amount of time to download the
        headers. Thus, there is a trade-off involved. Feel free
        to experiment. 
 
The lockout lists are used to lock out messages that contain
certain text strings. For example, you may not wish to download
messages written by a certain person, or messages whose title
contains a certain string. There are several types of lockout
lists supported: 
    - Lockout Poster (i.e. Author): Applies to the
        "From:" line of the nntp message. Use this if
        you wish not to receive messages from a specific person. 
 
    - Lockout Subject: Applies to the
        "Subject:" line of the news message. This is
        useful if there are certain keywords which you want to
        lockout if they are present in the subject field. 
 
    - Lockout FileName: Prevents specific filenames from
        being downloaded. You can type a specific filename or a
        wildcard specification to lockout a group of files. 
 
    - Lockout Host: Checks the
        "NNTP-Posting-Host" field of the news message.
        This is useful to eliminate posts from a specific news
        server. Many obnoxious posters will alter their email
        name in the from field, making them impossible to lockout
        by normal means. However, the news server usually will
        put it's correct host name in the
        "NNTP-Posting-Host". Thus, this field may be
        used to weed out the obnoxious poster. However, be warned
        that locking out a NNTP-Posting-Host will lockout all users
        who post from that host! 
 
    - Lockout XRef: Checks the "XRef " field
        of the news message. The XRef field contains a list of
        other newsgroups that the message is cross-posted in.
        Sometimes a person will post a message into several
        groups at once -- this is called crossposting. Sometimes
        an obnoxious poster will cross-post their messages into
        groups that they don't belong in. 
 
All lockout lists are case insensitive (i.e. capitalization
does not matter). All lockout lists support wildcard characters,
* and ?. "*" is interpreted as "any sequence of
zero or more characters" and "?" is interpreted as
"any single character". Here are a few sample wildcard
strings: 
    - (Lockout-Poster) "joe@fubar.com" would refuse
        any messages from joe@fubar.com 
 
    - (Lockout-Poster) "*@foobar.com" would refuse
        messages from ANYONE at fubar.com 
 
    - (Lockout-Poster) "joe@*" would refuse messages
        from "joe" no matter where he posts from 
 
    - (Lockout-Filename) "*.zip" would refuse any
        file that had an extention of ZIP 
 
    - (Lockout-Filename) "fastcash*.*" would refuse
        any file which had "fastcash" as the first 8
        characters. 
 
    - (Lockout-Filename) "index-?.jpg" would refuse
        any file which had "index-", exactly one more
        character, and then ".jpg" as an extention. 
 
    - (Lockout-Host) "news.somehost.com" would refuse
        any messages posted on "news.somehost.com" 
 
    - (Lockout-XRef) "alt.binaries.pictures.erotica"
        would refuse any messages that are cross-posted into
        "alt.binaries.pictures.erotica" 
 
The is an additional toggle which lets you toggle between an
"exact match" and "match any position in
text". 
    - Exact-Match: The search pattern must match all of
        the text exactly; There can be no leading or trailing
        characters. For example, "abc" would not match
        "abcd" or "xabc". 
 
    - Match-Any-Position: The search pattern can match
        any position in the text. There can be leading or
        trailing characters. For example, "abc" would
        match "abcd" and "xabc". 
 
There is a TEST button on the lockout dialog which will let
you enter a string and see if it matches anything. This is useful
if your a little confused about the wildcard strings and want to
make sure what you entered does actually do what you think it
should. 
Note #1: The "NNTP-Posting-Host" and
"XRef" lines of a message are not normally displayed by
SBNews, so you might be wondering where to get the information to
type into those lockout lists. If you notice a particularly
annoying message, you can use the Headers
button to bring up a header listing for the group, then use the Read
button to display the full text of the annoying message. Inside
the read screen will be a header listing where you can find
NNTP-Posting-Host and XRef fields. 
Note #2: Some lockout settings, such as Lockout
Poster and Lockout Subject can be
determined before the message is downloaded. Thus, Newsbot will
bypass the message completely. Others, such as Lockout
File, Lockout Host, and Lockout
XRef, can not be determined until the message has
begun to be received. Thus, Newsbot must start receiving the
message and then abort the message while the download is in
progress. 
The authentication options are used for news servers which
require a user name and password to access the newsgroups. If
your news server does not require a name and password, then you
should leave this option alone. Authentication is located under
the Configure menu. 
Newsbot allows you to specify which types of files will be
downloaded. Specifying "*.*" will enable any file to be
downloaded, and this is the default. For example, if you only
wanted to receive images, then you may wish to remove *.* and add
in *.gif and *.jpg. If you only wanted archives, add in *.zip.
etc. 
Two different types of dupe checking are supported. They may
be used independantly, or you can use both of them at the same
time if you wish. By default, the dupe checkers maintain a list
of approximately the most recent 2048 messages received. 
    - Subject Dupe Checker: Remembers
        duplicates by keeping track of the subject of the
        message. Normally, the Dupe-Subject checker should be
        used with the "Consider 'From'" setting checked
        as enabled. Thus, if the same person posts multiple
        messages with the same subject, the message will be
        flagged as a dupe. This is useful for preventing download
        of crossposted messages (i.e. identical messages posted
        in multiple groups) 
 
    - Filename Dupe Checker: Remembers
        duplicates by keeping track of the names of the files
        that were downloaded. This is very effective at weeding
        out dupes, but has the side effect of sometimes deleting
        messages that are not really duplicates. For example,
        there are a lot of files name "1.JPG" out
        there! 
 
Both of the two above mentioned dupe checkers have some
options that control their behaviour: 
    - Reject Duplicates: If checked, then dupe
        checking will be performed as stated above. If not
        checked, then no dupe checking will be performed. 
 
    - Save dupe list: If checked, then dupe
        information will be saved from session to session. If not
        checked, then dupe information will only be kept for the
        current session. 
 
    - Items to Keep: This is the number of
        items to "remember" for the dupe checker. A
        bigger number here will remember more messages (or
        files), but will also require more memory and/or disk
        space to hold to dupe checker information. 
 
    - Consider "From": If enabled,
        requires the from fields of two messages to be identical
        for the files to be considered duplicates. A good idea
        for the dupe subject checker, but probably not advisable
        for the dupe file checker. 
 
    - Consider "Lines": If enabled,
        requires the number of lines of two messages to be within
        a 10% tolerance for the messages to be considered
        duplicates. For multi-part files, only the first message
        is considered. 
 
Automatic save is used to automatically save the current state
of Newsbot periodically during operation. This is useful since if
Newsbot crashes, Newsbot will be able to start back up at the
correct position in the newsgroups and with all of your dupe
checking and lockout information enabled. There are two types of
autosave: 
    - AutoSave Pointers: Saves message
        pointers. These pointers tell newsbot your current
        position in the newsgroups, i.e. how many messages you
        have already seen in each groups. 
 
    - AutoSave Everything: This saves all
        state information, including the dupe checkers (assuming
        the dupe checkers have saving enabled), HTTP grabber,
        lockout lists, messages pointers, etc. 
 
Auto-Encryption is intended to keep files that you download
"private". This is primarily in case you are
downloading sensitive information that you don't want
unauthorized people to be able to access. If Auto-Encryption is
enabled, then files will be encrypted with a key that you
specify. Only those persons who have this key will be able to
retrieve the information in these files. 
Note #1: Be careful when you pick an encryption key. If you
forget what you picked, then there is no way to "find
out" what it was. Case is important, so make sure you know
what parts (if any) are capitolized. Longer encryption keys do
offer better protection. However, my algorithm is by no means
perfect, and someone with enough time and computing power could
undoubtably crack the code. 
Note #2: Encrypted files cannot be "read" by
another other programs until they are decrpyted in some manner!
No other program except Newsbot and it's associated utilities can
deal with files encrypted in this manner. 
There are two ways to retrieve (or "decrypt")
encrypted files: 
    - With the built-in jpeg viewer. The built
        in jpeg viewer will automatically detect encrypted files
        and prompt you for the decryption key if necessary. 
 
    - With decrypt.exe. Decrypt.exe (and for
        that matter, Encrypt.exe) are standalone utilities that
        you can use to encrypt and/or decrypt a series of files.
        Once decrypted with decrypt.exe, a file may be read by
        any other program. To decrypt files, use a command line
        similar to the following: 
decrypt
        key filename.ext 
        Where "key" is the decrpytion key and
        "filename.ext" is the filename that you want
        decrypted. You may use wildcards in the filename and
        decrypt.exe will decryypt all files matching the
        specification. Decrypt.exe will not "mess up"
        unencrypted files, nor will it improperly decrypt a file
        if an improper key is supplied. 
        Decrypt.exe and Encrypt.exe have some additional
        options. Run the program without any command line
        parameters to get a list of applicable options. 
     
FILES.BBS files are used by bulletin board systems to catalog
files in download directories. If you're the sysop of a bbs, then
you may find the automatic FILES.BBS generation useful.
Otherwise, it probably won't be of much interest to you. 
Newsbot can create a variety of different FILES.BBS styles;
You may select whichever one works best with your bbs. If none of
them do, then you can probably find a conversion or import
program for your bbs software which will do the trick. The
various styles are listed in the listbox. Selecting
"none" will disable files.bbs generation. 
By default, Newsbot will generate a FILES.BBS file in each
directory that files are downloaded into. The FILES.BBS file will
be "appended", not "overwritten". You may
specify an alternate filename if you wish. If you include a
drive/directory in the filename, then all groups will be listed
in one big file. 
The "Convert to 8.3" option will put standard DOS
8.3 (filename.ext) filenames in the FILES.BBS rather than the
Windows-95 long filenames. For example, "longname.jpg"
would be entered as "longna~1.jpg". This may be useful
for bbs programs which do not understand long filenames. 
There are a variety of options listed under the statistics
menu item. Most of these simply return information that SBNews
has collected while processing newsgroups. 
    - Similar NewsGroups: Newsgroup headers
        contain an "Xref:" line which lists other
        newsgroups to which a specific article has been posted.
        Many times, a poster will "cross-post" an
        article to multiple groups which share the same
        interests. The Similar Newsgroups list will display all
        of the accumulated Xref's for the current area. 
 
    - HTTP Grabber: The HTTP Grabber
        automatically keeps a list of any WWW addresses that are
        found in the text and/or subject lines of downloaded
        messages. In addition, a HTML file called HTTPGRAB.HTM
        will be written to the newsbot directory. You may load
        this file with your WWW browser and look up any
        references that SBNews found. 
 
    - Dupe File List: The list that the
        dupe-checker keeps in memory to catch dupe files. 
 
    - Dupe Subject List: The list that the
        dupe-checker keeps in memory to catch duplicate subject
        lines. 
 
    - Latency: A measurement of how long it
        takes your news server to respond to a command message.
        Times listed are in milliseconds (1 second = 1000
        milliseconds). Slower or highly-used servers will have
        greater latency times, whereas faster servers will have
        low latency times. If you are using other Internet
        applications at the same time as NewsBot, then the
        latency figure may rise. 
 
Coord.Exe (only available in 32-bit version) may be used to
synchronize the dupe-checking capabilities of multiple news
robots. Running multiple Newsbots at the same time may allow you
to better utilize some of the slower news servers out there. To
do this, you must run COORD.EXE before loading any instances of
Newsbot. 
Some notes about using Coord: 
    - Coord should be considered EXTREMELY BETA. It seems to be
        working for most of our testers, but there hasn't been
        time to conduct widespread testing at this time. 
 
    - Make sure you run it before loading any newsbots. 
 
    - Coord is used to run multiple newsbots at a time -- if
        you only want to run one newsbot, then don't bother with
        it! 
 
    - Coord has it's own preferences for the dupe checkers --
        you might want to be sure to set them to what you want. 
 
    - Dupe Checking Statistics in Newsbot will be unavailable
        while running coord (use coord's dupe statistics instead)
    
 
I would like to thank the following people for their help,
support, or contributions to SBNews/Newsbot: 
    - The many people who've helped me beta-test! 
 
    - The Independent JPEG Group 
 
    - The ISO Jpeg Standards Committee 
 
    - Brian Kantor & Phil Lapsley (RFC977) 
 
    - S. Barber (NNTP Extensions document) 
 
    - The Papa winsock site 
 
    - The Tucows winsock site 
 
    - Lars Magne Ingebrigtsen, "Notes on News" 
 
SBNews/Newsbot is a shareware program and as such, you are
only granted the right to operate it for a limited time to
evaluate it's performance. If you do continue to use this
software, then you are expected to pay a modest
"registration fee". 
Registration may be performed online at http://www.newsrobot.com/credit/credit.html
For information on registration, please see REGISTER.DOC (or
REGISTER.HTM). 
US-Mail: 
Please go to http://www.sb-software.com/credit/mail.html for instructions on contacting me via US Mail.
Email: 
smbaker@sb-software.com
My Homepage: 
http://www.newsrobot.com Primary site for SBNews: News Robot
http://www.sb-software.com Generic site for all of my 'SB' products
Find the latest SBNews/Newsbot at this address: 
http://www.newsrobot.com/sbnews/sbnews.html
Find the latest SBJV at this address: 
http://www.newsrobot.com/sbjv/sbjv.html
Revision History 
    - Version 1.0 
    
 
    - Version 1.1 
            - Added about dialog and shareware delay 
 
            - Cleaned up (shrunk) main screen and reorganized
                information 
 
            - Added context-sensitive hint text at bottom 
 
            - Fixed problem with message pointers not being
                recorded properly 
 
        
     
    - Version 1.2 
            - Added JPG viewer window (supported in 800x600 or
                above only) 
 
            - Probably fixed a nasty stack overflow (Runtime
                Error 202) bug that was causing trouble with new
                users. 
 
        
     
    - Version 1.3 
            - Made JPEG viewer more crash resistant 
 
            - Increased JPEG viewer read buffer to deal better
                with images with large headers 
 
            - Added a title to the main window 
 
            - Finished registration code system 
 
        
     
    - Version 1.4 
    
 
    - Version 1.5 
            - Made sure to free gensock.dll on exit 
 
            - Added Configure:Preferences dialog, many new
                preference options 
 
        
     
    - Version 1.6 
            - Raised counter-over threshold from 250 to 1000 
 
            - Set update timer at 100ms instead of 250ms 
 
            - Added Lockout Poster system 
 
            - Revamped dupe checker for better reliability 
 
            - Added similar newsgroups list 
 
            - Raised maximum number of newsgroups from 32 to
                128 
 
            - Added view and delete options to current and
                previous menus 
 
            - Fixed problem with crashes on high-ascii
                characters in lockout poster list 
 
            - Fixed possible bug with long header lines 
 
            - Now handles nonexistant newsgroups without
                halting 
 
        
     
    - Version 1.7 
            - Shareware delay now increments by 1 every day
                Newsbot is used 
 
            - Newsbot now stops loading groups from INI file
                when first blank entry is found (speedup?) 
 
            - Revamped the dupe message checker (again!) 
 
            - Fixed bug which was causing unnecessary JPEG
                error 117 
 
            - Fixed problem with decoding lines that started
                with a double period 
 
        
     
    - Version 1.8 
            - Added message when old BWCC found 
 
        
     
    - Version 1.9 
            - Change "about" menu to "file"
                menu 
 
            - Added open jpeg viewer option to file menu 
 
            - Prevented crash if 0 messages in a group 
 
            - Added HTTP URL Grabber 
 
            - Fixed problem with long subject/from lines (i.e.
                >256 chars) 
 
            - Double clicking on the log will bring up a viewer
            
 
            - Made sure files are written to proper directory 
 
            - All uudecode filenames are normalized to lower
                case 
 
            - Added dupe file checker 
 
            - Revamped dupe subject checker (again!) 
 
        
     
    - Version 2.0 
            - Added authentication support (AUTHINFO Original) 
 
            - Ability to deal with SOME mime messages 
 
            - Added acceptable file mask dialog 
 
            - 32-bit version available 
 
            - Incorporated gensock code into SBNews;
                Gensock.DLL no longer needed. 
 
            - Fixed memory leak in jpeg viewer 
 
            - Used suballocater to deal with strman hash table
                nodes 
 
            - Added "add" and "refresh"
                options to similar groups dialog 
 
        
     
    - Version 2.1 
            - Spiffed up Jpeg viewer window 
 
            - Fixed up error handling on JPEG decoding routines
            
 
            - Fixed possible error with "Null"
                strings 
 
        
     
    - Version 2.2 
            - Fixed problems with palette in 256 color mode 
 
            - More tolerant of uuencoded lines with extra
                characters 
 
            - Made small version of window even smaller 
 
            - Dupe File, Delete Current, and No Mask signals
                will now disconnect/reconnect the session to keep
                from having to download entire message. 
 
            - Several user-friendliness improvements 
 
            - Included SAMPLE_G.TXT, a list of binary picture
                newsgroups 
 
            - Added "-i [INIFILENAME]" command line
                parameter 
 
            - Added Save as BMP option to JPEG viewer 
 
            - Added Set Wallpaper option to JPEG viewer 
 
            - Added normal vs Wallpaper mode toggle to JPEG
                viewer slideshow 
 
            - If you drag & drop a JPG file into newsbot's
                main window, then Newsbot will launch a Jpeg
                viewer window to view the file. 
 
            - Moved dupe checker preferences to their own menu
                item 
 
            - Added "Items to keep" settings for dupe
                checkers 
 
            - Fixed major distribution problem in hash function
            
 
            - Added Blank option to Current/Previous menus to
                blank out the current picture 
 
            - Viewer enable defaulted to active 
 
            - Fixed problem with long pathnames in jpeg viewer 
 
            - Fallback when improper BWCC.DLL loaded 
 
        
     
    - Version 2.3 
            - Fixed GPF on loadup of nonregistered users 
 
        
     
    - Version 2.4 
            - Fixed problem with invalid (missing?) dates
                causing GPF 
 
            - Made mime filename guesser stop at punctuation
                (except _ -) 
 
            - Added color options to Jpeg viewer 
 
            - Automatic restart after communications errors 
 
            - Added automatic start command line option -auto 
 
            - Added about box disable command line option
                -noabout 
 
            - Fixed possible GDI leak in small viewer windows 
 
            - Added wildcard (* and ?) support to lockout
                poster list 
 
            - Cached hostname/ip address for reconnect 
 
            - Added table of contents to documentation 
 
            - Included seperate register.htm / register.doc 
 
            - Automatic disconnect when all groups finished 
 
            - Added Exit menu item to file menu 
 
        
     
    - Version 2.5 
            - Fixed GPF when lockout poster list empty 
 
        
     
    - Version 3.0 
            - Major redisign of internal header listing 
                    - Use linked list instead of array 
 
                    - Use hash table while downloading rather
                        than linear search 
 
                    - Modification to header sort methods 
 
                    - Store from & subject in hash table 
 
                    - MSGID only stored for duration of current
                        message; Needed to save wasted memory. 
 
                
             
            - Major redesign of dupe checker routines 
                    - Store from & subject lines in same
                        hash table as header listing to reduce
                        memory requirements. 
 
                    - Allow FROM and LINES fields to be
                        included in comparison. 
 
                    - FROM and LINES fields remembered and
                        saved to disk 
 
                
             
            - Addition of [Headers] button to group list:
                Manually configure header table 
 
            - Added Received File statistics to statistics menu
            
 
            - Added Font configuration to config menu 
 
            - Added help text for menu options 
 
            - Added FROM and LINES toggles to dupe file checker
            
 
            - Added LINES toggle to dupe subject checker; Made
                FROM toggle-able 
 
            - Revamped re search engine to support more than
                4000 re nodes. 
 
            - Added Lockout-Subject and Lockout-Filename 
 
            - Made lockouts so they can be restricted to
                specific groups 
 
            - Revamped dupe checker dialog to include edit and
                find/findnext features 
 
            - Added stateset system to RE checker to improve
                speed in RE matchings 
 
            - Log files now include date in filename to make
                deleting old logs easier 
 
            - Delete old logs option added; Defaulted to on;
                gets rid of previous day(s) log files. 
 
            - Added delete button to jpeg viewer to speed up
                deleting. 
 
            - Added horizontal scrollbars to main dialog list
                boxes 
 
            - Added autosave configuration 
 
            - Added Save Preferences command 
 
            - Rewrote ctime function to tolerate bad dates 
 
            - Added Auto-Encryption to downloader 
 
            - Added Auto-Decryption to viewer 
 
            - Added Encrypt.exe and Decrypt.exe 
 
            - Added additional file formats to fullscreen jpeg
                viewer 
 
        
     
    - Version 3.1 
            - Bug Fix: Major problem with Jump-To button 
 
            - Bug Fix: Re-statesets (i.e. Lockout system) had a
                bogus quicksort. Fix should run faster & use
                less memory. 
 
            - Jpeg Viewer: Added scaledown capability to
                TGA/BMP formats 
 
            - Jpeg Viewer: Index window 
 
            - Jpeg Viewer: Added stretch-to-fit option 
 
            - Set maximum headers per group to 8000 
 
            - Fixed infinite loop on nonexistant newsgroups 
 
            - Fixed crash in ctime with bad dates 
 
            - Fixed bug with shareware delay not working
                (Arrgghhh!) 
 
            - Fixed gif/bmp/tga support crashing big viewer in
                256-color mode 
 
        
     
    - Version 3.2 
            - Fixed thumbnail viewers not working properly in
                256-color mode 
 
        
     
    - Version 3.3 
            - Fixed scrollbars in full screen jpeg viewer 
 
            - Increased maximum number of newsgroups from 128
                to 512 
 
            - Made "Path Expansion" a seperate menu
                option 
 
            - Added "full name" path expansion for
                win-95 users 
 
            - Added Path Prefix elimination to path expansion
                options 
 
            - Added READ and LOCKOUT buttons to header list 
 
            - Better mime filename guessing 
 
            - Auto append .JPG or .GIF to mime images if
                extention missing 
 
            - Fixed uudecode filename routines to handle quoted
                strings 
 
            - Re-aligned log listbox in large screen version 
 
            - Added categorization system to jpeg viewer 
 
            - Toggles for categorization and directory panes 
 
            - Added horizontal scrollbars to header listing 
 
            - 32-bit version: Changed header listbot to a
                ListView control 
 
            - Added lines field to header listing 
 
            - Fixed problem with jview colormodes not being
                saved properly 
 
            - Fixed memory leak in re stateset routines (eg
                lockout system) 
 
            - Minor speedup to re search routines 
 
            - Enabled current/previous viewers in 16-bit
                version 
 
            - Truncated subdirectory names to 8 chars in 16-bit
                version 
 
            - Added confirmation options to JPeg viewer 
 
            - JView file list reflects deleted files 
 
            - Added tabbed windows-95 main dialog option 
 
            - Added Configuration:Appearance option to set main
                dialog style 
 
            - Replaced line count by progress bar in 32-bit
                version 
 
            - Fixed GPF when "%" character in header 
 
            - Added Latency/Throughput statistics 
 
        
     
    - Version 3.4 
            - Fixed problem of .DOC file not being updated in
                previous release 
 
            - Added Menu to header dialog 
 
            - Added selection functions to header dialog menu 
 
            - Possible fix for Coord problems under NT 4.0
                (maybe 3.5 too!) 
 
            - Turned on 32-bit packing in 32-bit versions 
 
            - Fixed abort problem in unregistered about dialog 
 
            - Added 5-minute timeout to NNTP routines 
 
            - Fixed message reader so it can handle passworded
                sessions 
 
            - Added stretch to min(Window,Fullsize) option to
                jpeg viewer 
 
            - Added center option to jpeg viewer 
 
            - Made Jpeg picture viewer background gray 
 
            - Eliminated flicker when resizing JPeg viewer 
 
            - Spiffed up appearance of Jpeg and Index windows
                with gray background 
 
            - Eliminated auto-generation of header log 
 
            - Added save header log option to header dialog 
 
            - Added file marking options to jpeg viewer 
 
            - Added "only display marked files"
                option to slideshow 
 
            - Made move and delete handle marked batches of
                files 
 
            - Moved several of newsbots error messages to the
                resource file 
 
            - Allow 224 in place of 221; Fix for microsoft nntp
                server 
 
            - Send "mode reader" in response to a 200
                or 201 message (only send once!) 
 
            - Msg reader now has a window for header lines to
                be displayed 
 
            - Added Pointers button to let user change message
                pointer 
 
        
     
    - Version 3.5 
            - Fixed the "fix" I put in for "mode
                reader" in version 3.4 
 
        
     
    - Version 3.6 
            - Fixed problem with jpeg viewer delete button
                causing crash 
 
            - Added "-autoexit" command line option 
 
            - Added lockout host and lockout xref menu options 
 
            - Made Strman's Enumerate function not recalculate
                list if no changes 
 
            - Added too many xref limit to miscpref 
 
            - Added preload xref to miscpref 
 
            - Added Next and Previous menu items to Jpeg viewer
                menu 
 
            - Added keyboard shortcuts for next and previous
                items in Jpeg viewer 
 
            - Fixed tabbing problems in jpeg viewer somewhat 
 
            - Mouse click+drag can be used to scroll images in
                hpeg viewer 
 
            - Fixed JPeg viewer categorization pane getting
                messed up when window resize 
 
            - Improved GrayStatic control; Eliminated
                unneccessary repaint of full control 
 
            - Fixed wrong date being written to files.bbs file 
 
        
     
    - Version 4.0 
            - Added automatic lookahead to Jpeg viewer 
 
            - Maybe fixed a memory leak while viewing GIF/BMP
                files 
 
            - Newsbot will now load minimized if set by
                shortcut, etc. 
 
            - A port number may now be specified in the nntp
                host name (i.e. news.foo.com:119) 
 
            - Set literal strings in code segment option in
                16-bit version (save dseg space) 
 
            - Added print command to jpeg viewer 
 
            - Added generate catalogs command to jpeg viewer 
 
            - Added context sensitive help to several dialog
                boxes 
 
            - Fixed minor tab-order problem in main window 
 
            - Added splitter to Jpeg Window to allow resizing
                of file/dir pane 
 
            - Added horizontal scrollbars to Jpeg Window
                file/dir pane 
 
            - Raised maximum number of Jpeg categories to 75 
 
            - Categorization pane will automatically go
                multi-column if necessary 
 
            - Added temporary checkbox to lockout list edit 
 
            - Stretched thumbnails to fill entire thumbnail
                window 
 
            - Centered thumbnails 
 
            - Fixed problem with large jpeg's not being
                displayed in thumbnail viewer 
 
            - Fixed keyboard navigation in header window 
 
            - Header download now shows on progress bar 
 
            - Fixed protection violation when blank space is
                first character on line 
 
        
     
    - Version 4.1 
            - May have fixed problem with 'Lockout Posting
                Host' causing crashes 
 
            - Reduced memory requirements of 'Preload XRef
                Headers' 
 
            - Fixed goof-up if path prefix removal removes
                entire group name 
 
            - Added 'Lockout Any Header' 
 
            - Added 'Lockout Organization' 
 
            - Added -autocat command line switch 
 
            - Added 'Default Command Line Switch' settings to
                configure menu 
 
            - Added 'Catalog All Groups' command to file menu 
 
            - Added timeout settings to configuration menu 
 
            - Changed JView path storage to use a variable
                rather than system wide cwd so one JView window
                won't interfere with another's path 
 
            - JView windows opened on a specific filename will
                now automatically switch to that directory 
 
            - Spiffed up jpeg viewer File:Open dialog 
 
            - Fixed help file problem if program not loaded
                from directory with help file 
 
        
     
    - Version 4.2 
            - Fixed problem with lockout-any causing GPF on
                long header lines 
 
            - Added confirm delete toggle to
                Configure:Preferences dialog 
 
            - Added hotkeys for "Current" menu 
 
            - Added delete indicator to thumbnail preview 
 
            - Fixed problems with 16-bit version not working in
                Windows-3.1 
 
            - Spiffed up overwrite messagebox in jpeg viewer 
 
        
     
    - Version 4.3 
            - Added join directory command to jpeg viewer 
 
            - Jpeg viewer can now load bitmaps with less than
                256 colors 
 
            - Raised Re-Stateset stack size from 2048 elements
                to 4096 elements 
 
            - Added "require file mask in subject"
                toggle to acceptable file masks 
 
            - Fixed problem in RE search engine that had to do
                with high-ascii characters 
 
            - Credit card registration now supported on web
                site http://www.newsrobot.com/ 
 
            - Web site moved from Primenet to Simplenet 
 
            - Added additional information to jpeg viewer
                overwrite messagebox 
 
            - Fixed problem with "Maintain NewsRc"
                switch not working properly 
 
            - Fixed bug with "Preload XRef Headers"
                missing the first newsgroup in each xref 
 
            - Improved subject line filename guesser 
 
            - Eliminated mime header information from status
                display 
 
        
     
    - Version 4.4 
            - May have fixed bug in files.bbs support if date
                not available. 
 
            - Fixed padding in catalog generation (wasn't doing
                anything) 
 
            - Added padding=4 to catalog generation 
 
            - Added quality setting to catalog generation 
 
            - Added additional error checking to blend name on
                generate catalogs dialog 
 
            - Added voice registration nag 
 
            - Added promote group and demote group commands 
 
            - Added zoom command to jpeg viewer 
 
            - Fixed jpeg viewer zoom ratio changing as picture
                is panned/scrolled 
 
            - Fixed problem with "no mask in subject"
                not rejecting messages 
 
            - Switched from polling to async select on nntp
                data read. Should improve performance. 
 
            - Used async winsock connect rather than blocking
                to reduce freezing problem on bad connections. 
 
            - Added plugin support (see SBPLUGxx.ZIP for
                details) 
 
            - Added Decrpyt and Encrypt menu commands to jpeg
                viewer 
 
            - Fixed help in Win-3.1 version 
 
            - Image viewer support for .FTS/.FITS telescope
                image files 
 
            - Added option to force sending of authentication
                data at logon. Default to True. 
 
            - Fixed bug with spaces not supported in download
                path 
 
        
     
    - Version 4.5 
            - Error checking on MSGID's longer than 256 chars 
 
            - Fixed incorrect winsock error messages being
                emitted 
 
            - Error checking on excessively long log lines 
 
            - Got rid of those "invalid mark xx" and
                "xx bytes before marker" errors 
 
            - Reworked disconnect code to be a bit more
                forceful 
 
            - Added minimum free disk space check 
 
            - Added check for blank key enter in decryption
                dialog 
 
            - Don't automatically send auth name/pword unless
                user has enetered one 
 
            - Hide password in authentication dialog 
 
            - Hide password in connection status log 
 
        
     
    - Version 4.6 
            - Fixed up autoscan hard drive to work with win95
                long filenames 
 
            - Convert all filenames in dupe file list to lower
                case 
 
            - Added status info for autoscan hard drive 
 
            - Fixed bug with premature ending GIF files causing
                system crash 
 
            - Minor changes to socket code in hopes of dealing
                with some CPU usage issues 
 
            - Switched to newer version of BC++ (5.0) 
 
            - Fixed problem with about box not going away if
                register on opening screen 
 
            - Added button to reg screen to load browser with
                SBNews address 
 
            - Maybe fixed a problem with errors occurring while
                disconnecting 
 
            - Possibly fixed a problem with lockout-any and/or
                lockout-xref 
 
            - Updated copyright date to include 1997 
 
        
     
    - Version 4.7 
            - Fixed problem with header listview not sorting,
                adjusting column width, etc. 
 
            - Fixed embarrassing typo on registration page 
 
        
     
    - Version 4.8 
            - Added shrink-to-taskbar command 
 
            - Fixed a long-unnoticed misspelling of
                "previous file incomplete" 
 
            - Jpeg Viewer - added more information to duplicate
                overwrite dialog 
 
            - Jpeg Viewer - treat .jpe and .jpeg files as .jpg
                files 
 
            - Fixed problem with Blank/Delete not updating
                thumbnails immediately 
 
            - Ugly workaround for the disappearing newsgroup
                list problem in Win-95 tabbed mode 
 
            - Log and Status lists now only scroll if the last
                item is hilighted 
 
            - Increased number of items in Log and Status lists
            
 
            - Jpeg Viewer - Added sort button to categorization
                list 
 
            - Added documentation commands to help menu 
 
            - Added registration nag to status line 
 
            - Worked on the 10036 error in Win-3.1 versions 
 
            - Jpeg Viewer - fixed print command 
 
            - Jpeg Viewer - fixed problem with really big and
                really small images causing crashes 
 
            - Added hotkey for delete-previous (shift-Del) 
 
            - Added -autorestart command line switch 
 
            - Added NoSpam.Htm; Document on avoiding SPAM 
 
            - Added Top10Reg.Htm; Document on top 10 reasons to
                register 
 
        
     
    - Version 4.9 
            - Widened msgnum: and total-msgs: fields to handle
                7-digit numbers 
 
            - Fixed catalog generator in 16-bit version 
 
            - Fixed problem with using the <Delete>
                button on groups before current group 
 
            - Added randomize to jpeg window 
 
            - Fixed off behavior with authinfo confused
                messages 
 
            - Made thumbnail viewers recognize .jpe and .jpeg
                files 
 
            - Added graceful disconnect command 
 
            - Finally fixed the WSAECONNRESET problem with
                win3.1 version (I Hope!) 
 
        
     
    - Version 5.0 
            - Disabled processing of CMYK jpegs as they were
                causing unpredictable crashes 
 
            - Added delete incomplete toggle 
 
            - Defaulted "consider lines" in dupe file
                checker to off since it confuses most people 
 
        
     
    - Version 5.1 
            - I accidentally made registration code case
                sensitive in 4.9; This ought to fix it. 
 
            - Viewer: Made index window responsive to marks 
 
            - Added httpgrabber toggle to httpgrabber window
                since excessive spamming has made it nearly
                useless 
 
            - Fixed case sensitivity on command line options 
 
            - Fixed crash with GIF files that were chopped
                short 
 
            - Robustized newsrc code 
 
            - Fixed problem with excessively long newsgroup
                names causing crash 
 
            - Fixed possible problem with GetWindowPos() API
                call 
 
            - Switched to multithread library 
 
            - Used _beginthread instead of CreateThread on jpeg
                viewer threads 
 
            - Fixed problem with possible double exit on
                autoexit command 
 
            - Added search specified to browse newsgroups
                dialog 
 
            - Fixed error message when cancel hit on
                restore-from-taskbar 
 
        
     
    - Version 5.2 
            - Added search keywords 
 
            - Added filenames to current: and previous:
                displays 
 
            - Plugin reject wasn't working; I fixed it 
 
            - Added lockout buttons next to kill buttons 
 
            - Added command to header list to not display
                locked out entries 
 
            - Fixed problem with minimum free disk space check
                not working in all cases 
 
        
     
    - Version 5.3 
            - Fixed lockout subject and/or file causing GPFs 
 
            - Increased RE stack max size from 4096 to 16384 --
                support for more lockouts 
 
            - Increased maximum messages per group from 8000 to
                32000 in 32-bit version 
 
            - Added nntp-posting-host to message info dialog 
 
            - Added lockout posting host to lockout
                current/previous 
 
            - Removed paths of incoming files to prevent
                decoding initialization error 
 
            - Made lockout current/previous refuse to display
                "null" 
 
            - Added "temporary" flag to lockout
                current/previous 
 
            - Added promote and demote buttons to jview
                categorization 
 
            - Fixed GPF when status message sent before main
                window open 
 
            - Fixed problem with dupe checker purges when
                items_to_keep set less than or equal to 0 
 
        
     
    - Version 5.4 
            - Added preload posting host preference
 
            - Modernized lockout dialog in headers listing 
 
            - Got rid of box saying you can't delete a group
                when you only have one group 
 
            - Added lockout button to received file listing 
 
            - Added right-click menus to current/previous
                images 
 
            - Added right-click menu to log listing 
 
            - Jpeg Viewer: Added Go-To Menu 
 
            - Jpeg Viewer: Added Move-To Menu 
 
            - Eliminated memory leak in browse dialog 
 
            - Fixed problem with lockout any causing trouble 
 
        
     
    - Version 5.5 
            - Updated FAQ to reflect Decode Initialization
                Errors in root directory 
 
            - Updated download path dialog to reflect above 
 
            - Made encryption key fields auto-scroll 
 
            - Fixed a problem with unresponsiveness in the user
                interface 
 
            - Added timestamping to diagnostic log output 
 
            - Added checkbox to about dialog to disable it
                (registered users!) 
 
            - Added escape character to lockout strings 
 
            - Detailed help on lockout wildcards 
 
            - 32-bit version includes InstallShield setup
                program 
 
            - Fixed problem with "match any position"
                in lockout:filename 
 
            - Fixed lockout button locking out wrong picture in
                Tabbed view 
 
            - Added note for diagnostic log enable on startup 
 
        
     
    - Version 5.6 
            - Fixed install program for 32-bit Win-95
                installation (OCX errors) 
 
        
     
    - Version 5.7 
            - Fixed "jump-to" on the first newsgroup
                in the list. 
 
            - Minor revisions to close socket code 
 
        
     
    - Version 5.8 
            - Added Refresh button to browse dialog 
 
            - Raised registration fee from $15.00 to $19.95 
 
            - Added date field to win95 header listing 
 
            - Added color settings for date & lines fields
                to color prefs 
 
        
     
    - Version 5.9 
            - Emergency release to handle bug with newsrc
                download causing crash 
 
        
     
    - Version 6.0 
            - Usually, I only update the major revision number
                (i.e. left hand digit in the version) for major
                changes, but we ran out of right-hand digits!
 
            - New website for SB-Software: www.sb-software.com
 
            - Added max consecutive disconnect option to
                Config:Preferences 
 
            - viewer: Added refresh button 
 
            - viewer: Added "order by" submenu 
 
            - viewer: Added "titles above" checkbox
                to catlog generation dialog 
 
            - Fixed a few viewer crash problems 
 
            - Added command line option -minimize to cause
                SBNews to be minimized on startup 
 
        
     
    - Version 6.1 
            - Robustized bmp viewer 
 
            - Fixed support for encrypted hmp and gif 
 
            - Raised default max-consec-disconnect to 100 
 
        
     
    - Version 6.2
            - Fixed improper colors in some dialogs under win98
            
 
            - Made fields in pointers dialog wider 
 
            - Added boss key 
 
            - Added -autoshrink command line option 
 
            - Fixed problem with header list accept/reject not
                working properly 
 
        
     
    - Version 6.3
            - Fixed problem with encrypt/decrypt commands
                causing crash 
 
            - Fixed kernel32 crash when system date excessively
                out-of-bounds 
 
            - Added novice instructions 
 
            - Speeded up browse dialog refresh time 
 
            - Added count fields to browse dialog (for
                debugging -- no real practical purpose) 
 
            - Added update button to browse dialog and stopped
                automatic update when search spec changed 
 
        
     
    - Version 6.4
            - Added sort newsgroups command 
 
            - Fixed .jpeg and .jpe files not being displayed in
                thumbnails 
 
            - Added rename command to viewer 
 
            - Added delete to recycle bin command to viewer 
 
            - Fixed delete group and reconnect GPF 
 
            - Added info on newsrc to FAQ 
 
        
     
    - Version 6.5
            - Fixed newsrc problem in 16-bit version 
 
            - Modifications to registration system 
 
            - Misc cosmetic fixes 
 
        
     
    - Version 7.0
            - Major rework of header download system 
 
            - More robust 
 
            - Support XOVER as a fallback if XHDR fails 
 
            - Toggle in Config:MiscPref to use XOVER as default
            
 
            - Fix problems with "socket closed by
                server" 
 
            - Auto-reconnect on closed socket 
 
            - Should now work reliably w/
                demonews.mindspring.com 
 
            - Reorganization of config pull-down menu 
 
            - Split miscpref/limits 
 
            - Added force-numeric-order option to
                Configure:Preferences 
 
            - Modified newsrc stuff 
 
        
     
    - Version 7.1
            - Fixed problems with shrink-to-taskbar accepting
                keys after cancel 
 
            - Fixes to files.bbs system 
 
            - Better error recovery on 500 errors 
 
            - In particular, error "501 Header not in
                index" will recover correctly 
 
            - Added menu option to enable previous/next viewers
            
 
            - Added delay for cable modem users 
 
        
     
    - Version 7.2
            - Raised max newsgroups in 32bit version to 2048 
 
            - Fixed low message pointer when using graceful
                exit 
 
            - Modifications to encryption package 
 
            - Added more info to decode init fail error 
 
            - Y2K compliancy -- fixed problem with NEWGROUPS
                command 
 
            - Fixed possible buffer overrun in LockedOut_XRef 
 
            - Added buffer overrun check to TNews::RejMessage 
 
            - Added extra buffer room in StoreHeaderXRef 
 
        
     
    - Version 7.3
            - Fix crash when viewing very small files (1x1,
                0x0, etc) 
 
            - Added additional asserts to
                TNewsIo::ArticleReady, AskForMessage, and
                NextMessage 
 
            - Guarded possible overflow in copy of MsgId in
                TNewsIo::ArticleReady 
 
            - Fix excessive memory use in lockout tests by
                freeing the statesets in an re-matcher if more
                than 2048 exist. 
 
            - Fix possible buffer overrun in jpeg error
                routines 
 
            - Raise state stack limit from 16K to 64K 
 
        
     
    - Version 7.4
            - Corrected spelling mistakes 
 
            - Minor redesign of large GUI -- eliminated
                groupboxes to make more room in listboxes 
 
            - Removed two status messages: "-- unexpected
                close" and "-- socket closed by
                server". They were redundant and used up
                status window space 
 
        
     
    - Version 7.5
            - New wildcard matching code 
 
            - New splash screen & logo 
 
            - More reg info on unregistered splash screen 
 
        
     
    - Version 7.6
            - Automatic retry fixed for connection refused
                errors 
 
            - Eliminate "disconnecting..." message to
                conserve status window space 
 
        
     
    - Version 7.7
            - 8.3 conversion in files.bbs dialog wasn't working
            
 
            - Fixed files.bbs output to convert years > 2001
                to two digit format 
 
            - Misc cosmetic changes 
 
            - New install program: let me know of any
                complaints 
 
            - New icon and small icon 
 
            - Icon now used for window title bar and taskbar 
 
        
     
    - Version 7.8
            - Fixed problem with disk full detector not working
            
 
            - Fixed GPF due to excessively long filenames 
 
            - Made main window resizeable (people have been
                asking for this for a LOOOONNNNGGGG time) 
 
            - Increased size of thumbnail buffers 3X to
                accomodate larger main window sizes 
 
            - Added message if connect is pressed while already
                connected 
 
        
     
    - Version 7.9
            - The 7.7 and 7.8 install program has been
                defaulting to c:\program files\newsbot instead of
                the traditional c:\program files\sbnews. This is
                now fixed. New users will be installed to
                ...\sbnews. However, users who ran the 7.7 or 7.8
                install will continue to be defaulted to
                ...\newsbot. Hopefully this hasn't caused too
                much confusion. 
 
            - Automatically save window size and position 
 
        
     
    - Version 8.0
            - Resized fields in latency/throughput dialog box
                to hold larger values
 
            - Fixed problem where a deleted group may show back
                up when program reloaded
 
            - Deal better with images with incorrect length in
                comment block
 
            - Abort jpeg decoding only for errors, not for
                errors and warnings. Allows slightly incorrectly
                encoded jpegs to be displayed 
 
            - Raised registration fee from $19.95 to $29.95
 
            - Changed registration code algorithm 
 
            - Fixed header reader from crashing on really long
                subject line messages 
 
        
     
    - Version 8.1
            - Another fix for long subject lines 
 
            - Fix assertion CurMsg!=NULL. 
 
        
     
    - Version 8.2
            - Fixed autocheck paths not being saved if dupe
                checker save turned off 
 
            - Reworked the uudecode filename parsing code to
                include filenames with spaces after the period 
 
            - Added automatic rejection of suspicious filenames
                (filenames with double extensions, lots of
                spaces, etc) 
 
            - Resized fields in latency/throughput dialog 
 
        
     
    - Version 8.3
            - Support servers that return "group"
                rather than actual group name in 211 line 
 
            - Support for Yenc encoding format (including
                multipart). 
 
        
     
    - Version 8.4
            - version 8.4 is identical to version 8.3 
 
        
     
    - Version 8.5
            - Set default jpeg viewer colormode to stretch
                maxofsrc 
 
            - Fix possible problem in uudecode_gettoken() 
 
            - Fix possible buffer overrun in RejMessage 
 
            - Guard string length in
                trestringmanager::tryfname() 
 
            - Guard null src in strncpy_null() 
 
            - UNTESTED EXPERIMENTAL BETA support for SPA (Note
                that the SPA support is experimental, untested,
                and probably does not work. You're welcome to try
                it though and let me know!) 
 
        
     
    - Version 8.6
            - EXPERIMENTAL FIX for SPA support which didn't
                work in 8.5 
 
        
     
	- Version 8.7
		- fix problems with very long paths in jpeg viewer
		
 - fixed problem with editing long paths in jpeg cat editor
                
 - keep hilight in cat dialog when using promote/demote buttons
	
 
     - Version 8.8
            - Upgrades to documentation
 
            - Cosmetic fixes
 
            - Added tip of the day
        
 
     
    - Version 8.9
            - Fixed segfault in jpeg viewer when dealing with badly formed jpeg files
          
 
	 
    - Version 9.0
            - Added delete button to received files window
            
 - Added refresh button to received files window
        
 
     
    - Version 9.1
            - Added meaningful messages when log window clicked on [No Keywords], etc
            
 - Fix progress bar on things greater than the size of an int
            
 - Fix bug with large headers (>255 bytes) crashing header window
            
 - Removed choice between ASCII and HTML in documentation		
        
 
     
    - Vesion 9.2
             - Fixed crash on certain type of bad jpeg
        
 
     
    - Version 9.3
              - Fix crash if read used on a header that does not exist
        
 
     
    - Version 9.4
              - Made browse for newsgroups dialog bigger
        
 
     
    - Version 9.5
               - Fixed using pointers dialog to set message pointer below current value
	       
 - Fixed pointers dialog when pointer set above highest message number
        
 
     
    - Version 10.1
               - Switch from BC5 to BCB5 compiler
	       
 - BWCC is toast
                 
 - Fixed file menu newsgroup commands not working
                 
 - Remove coord from distribution
                 
 - Added support for secure/encrypted usenet
                 
 - Switch from gensock to sbsocket/asyncsocket io implementation
		 
 - Set default download directory
	         
 - Made fancyinput dialogs wider
       
 
     
    - Version 10.2
               - Combine hostname and authentication dialogs to get all the server configuration in one spot
               
 - Eliminated HLP file in favor of HTML users manual
       
 
     
    - Version 10.3
               - Add ability to multiselect and delete items in lockout lists
               
 - Add ability to multiselect newsgroups for delete and enable
       
 
     
    - Version 10.4
               - Fix selection cleared on promote/demote commands