













                       ####  ##   ##                       
                      ##  ## ###  ##                       
                     ##      #### ##  ####   ##   ##  #####
                     ##      ## #### ##  ##  ## # ## ##    
                     ##      ##  ### ######  #######  #### 
                      ##  ## ##   ## ##      #######     ##
                       ####  ##   ##  ####    ## ##  ##### 

             An improved News-transport-system for use with Waffle





                   Written by Geoff Collyer and Henry Spencer
                             University of Toronto

                   adapted for DOS & Waffle by Jochen Erwied



                       CNews-Documentation, Version 1.05
    --------------------------------------------------------------------------

    1.  Preface

            This README is just a fast hack. A real documentation was never
            planned, and will perhaps never be written. Refer to the
            included docs for details.

            CNews was written by Geoff Collyer and Henry Spencer at the
            University of Toronto.
            They are reachable via <c-news@zoo.toronto.edu>

            This version of CNews is based on the source released May'91.
            No patches have been applied (yet), except of the changes
            necessary to get CNews working under DOS. The cleanup-release
            (planned for Nov'93) might be included, but I have to check
            what I actually need of it.

            The original authors have nothing to do with this port, so
            don't bother them when having problems with the
            installation/program. Bother me :-)

            Discussion on purely CNews-related topics takes place in the
            newsgroup news.software.b. Waffle-related topics are discussed
            in the group comp.bbs.waffle (or for German users in the group
            de.alt.bbs.waffle)
            



































    --------------------------------------------------------------------------
         CNews for DOS          Page: 2          Last changed: 10/19/93



                       CNews-Documentation, Version 1.05
    --------------------------------------------------------------------------

    2.  Introduction

            Welcome to CNews!

            This is my first - and currently only - port of UNIX CNews to
            DOS. CNews is the most flexible news-transport system you can
            find. It's using an indexed history of Message-ID's, and only
            articles which are not in this database are added to your
            newsbase.

            If you have questions, write me:

            Jochen Erwied <mack@joker.ruhr.de>
            Asternweg 5
            D-46485 Wesel, Germany

            Questions specific to CNews should be sent to
            <cnews@joker.ruhr.de> or
            <cnews-request@faerun.mi.org>.









































    --------------------------------------------------------------------------
         CNews for DOS          Page: 3          Last changed: 10/19/93



                       CNews-Documentation, Version 1.05
    --------------------------------------------------------------------------

    3.  Installation

            Beginning with version 1.04a of CNews, the format of the
            archive has slightly changed. I'm using a 'zip inside zip'
            strategy to save about 20% on archive size. So unzipping the
            archive 'wcnew' will give you another archive (named 'bin104a')
            which contains the actual binaries.

            After unzipping this archive (which you have done using the
            option '-d' of PKZip, haven't you?), three directories are
            created: NEWS, WAFFLE and DOCS.

            NEWS contains the subdirs BIN and CONTROL, WAFFLE contains the
            subdirs SYSTEM, BIN and EXTERN. DOCS contains some reformatted
            man-pages for certain utilities of CNews.

    3.1  WAFFLE-subdir

            Copy all files from WAFFLE/BIN over your standard Waffle-
            binaries. If you have files with the same name, remember to
            keep backup copies!

            Included in this directory are:

    3.1.1  UUX

            a binary-clean replacement for the original UUX, 6 times
            faster, switch compatible. Needed to send out batched news
            correctly.

    3.1.2  GZip

            GNU-Zip, Version 1.2.4. This tool is like compress (and also
            handles compressed files) but packs files approximately 20%
            better than compress with 16 bits. CNews knows how to handled
            GZipped-batches, so I recommend using this.

    3.1.3  RNews

            This is a replacement for the Waffle-RNews. It supports all
            switches of the original rnews, but was written to work
            together with CNews (just because the work is done slightly
            different)

    3.2  NEWS-subdir

            Add NEWS/BIN to your Path: and put the correct paths into your
            static.

            Look into NEWS/CONTROL/BIN. Copy sendsys.exe to senduuname.exe
            and to version.exe (sendsys handles all these control-
            messages).








    --------------------------------------------------------------------------
         CNews for DOS          Page: 4          Last changed: 10/19/93



                       CNews-Documentation, Version 1.05
    --------------------------------------------------------------------------

            *** NOTE ***

            Please be VERY careful when creating
            sendsys/senduuname/version-controls. They can produce an
            immense mail-traffic, so they are intended for local testing,
            not for worldwide confusion.

            A site in Germany sent out a sendsys, which resulted in a
            nearly complete breakdown of SMTP-traffic for the sites
            germany.eu.net, mcsun.eu.net and uunet.uu.net! Approximately
            50.000 mails were too much!

            now back to the installation...

            Take a look into NEWS/CONTROL/whoami. This file contains the
            information which is put into the 'Path:'-header of each
            article. Remove it to use the content of the static-variable
            'uucpname' instead.

            An example active-file is included in NEWS/CONTROL/ACTIVE. Try
            to get a more complete version from the next UNIX-Site running
            CNews. After this, run upact to update the active file to
            reflect your current article-numbers.

            If you are going to use 'mkhistory' to build a history from
            your stored articles, please be sure to remove DOS-sort from
            your path. Included with CNews is GNU-sort, a much more
            powerful replacement, which handles files of any size.

            Create the directories INCOMING and OUTGOING relative to your
            standard News-directory (as specified by 'newsarts' in your
            static).

            For further information about this file look into
            DOCS/news.doc.

    3.3  DOCS-subdir

            This directory contains some formatted man-pages.

    3.4  Flow of news

            This should be all - right now :-) But read on.

            Incoming news:

            uuxqt executes rnews, which puts the incoming newsbatches into
            the directory incoming. To actually explode the newsbatches,
            you have to execute newsrun, which unpacks new news and feeds
            them to relaynews which generates lists of to-be-spooled news,
            maintains the history, rejects duplicate articles and handles
            (some) Control-messages.








    --------------------------------------------------------------------------
         CNews for DOS          Page: 5          Last changed: 10/19/93



                       CNews-Documentation, Version 1.05
    --------------------------------------------------------------------------

            Outgoing news:

            Take a look at DOCS/NEWS.DOC and read the section about the
            SYS-File. A copy of the sysfile I'm using is included in this
            package.

            A site receiving a full newsfeed should get a line

            <sitename>:all/all:F

            The special sitename 'ME' specifies all the newsgroups you are
            willing to accept.

            Every site getting news must have an entry in NEWS/CONTROL/sys
            (for every site a directory below OUTGOING is created) and can
            have an entry in NEWS/CONTROL/batchpar.

            News are batched using NEWS/BIN/sendbatch.exe. If some articles
            are spooled for a specific site, sendbatch creates up to 9
            newsbatches each time it is called and packs/sends them.

            Included with CNews is a version of gzip which supports the '-
            n' switch.





































    --------------------------------------------------------------------------
         CNews for DOS          Page: 6          Last changed: 10/19/93



                       CNews-Documentation, Version 1.05
    --------------------------------------------------------------------------

    4.  Description of all files

            More Detailed information about the included files in this
            package:

    4.1  DOCS/*.txt

            Formatted documentation from UNIX man-pages. Converted into
            RAW-ASCII, so they can be read by all text-viewers.

            Remember: Since these are UNIX-Man-Pages, not all
            files/programs mentioned/referred to are present under DOS!

    4.2  NEWS/BIN/changesy.exe

            Program to change the sys-file remotely. Read DOCS/changesy.txt
            for further details.

            Note: This program is not distributed with UNIX-CNews, it's an
            add-on by Christian Seyb <seyb@gold.muc.de> written for CNews.

    4.3  NEWS/BIN/sendbatch.exe

            Newsbatcher. Scans all directories relative to OUTGOING and
            batches the spooled news as specified by NEWS/CONTROL/batchpar,
            and sends them out via UUX/RMAIL, depending on what is needed.

            Note: if a site is receiving a huge newsfeed, not all news are
            batched at once. You might have to call sendbatch a few times
            to clear all outbound messages.

    4.4  NEWS/BIN/newsrun.exe

            Actually unpacks the files created by rnews using the needed
            compression program and feeds the output to

    4.5  NEWS/BIN/relaynews.exe

            which puts the articles into the places they belong.

            Relaynews also handles control-messages (currently
            cancel/newgroup/rmgroup).

            A Cancel-Control removes the article from the newsbase, if it
            hasn't come in yet, it will be rejected as soon as it arrives.















    --------------------------------------------------------------------------
         CNews for DOS          Page: 7          Last changed: 10/19/93



                       CNews-Documentation, Version 1.05
    --------------------------------------------------------------------------

            newgroup/rmgroup/sendsys/senduuname/version are fed into the
            corresponding program in NEWS/CONTROL/BIN. The following
            parameters are passed to the programs (in case you want to
            write your own):

            newgroup/rmgroup are called with
              '<newsgroup> {moderated} <article-name>'

            sendsys/senduuname/version are called with '<article-name>'
            only.

            {moderated} means that the string "moderated" is passed for a
            moderated group. <article-name> is relative to newsarts, for
            example 'control/1234'

    4.6  NEWS/BIN/upact.exe

            This program is usually needed only once - after creating an
            active-file to adjust the lowest and highest article numbers.

    4.7  NEWS/BIN/mkhistory.bat

            This program rebuilds your history-file from scratch. Needed
            programs are makehist.exe, sort.exe and dbz.exe.

    4.8  NEWS/BIN/dbz.exe

            Needed by mkhistory to index a newly created history

    4.9  NEWS/BIN/sort.exe

            Sort-program (GNU-Sort) which handles files of any size -
            needed to sort for example 2 MB of history on date of
            insertion. Please remove DOS-Sort from your PATH, since this
            stupid sort just handles 64kB of text!

            Documentation of command-line switches is included in
            NEWS/DOCS/sort.txt

    4.10  NEWS/BIN/makehist.exe

            This program scans your newsdirectory and generates a list of
            Message-ID's based on the stored articles. Should not be called
            directly. Use mkhistory instead.

    4.11  NEWS/BIN/expire.exe

            Expire-program. Based on an configuration-file (NEWS/CON-
            TROL/explist), old articles are deleted. Archiving of news is
            supported. See DOCS/expire.txt for further details.

            Special feature: Expires:-headers are recognized and handled








    --------------------------------------------------------------------------
         CNews for DOS          Page: 8          Last changed: 10/19/93



                       CNews-Documentation, Version 1.05
    --------------------------------------------------------------------------

    4.12  NEWS/CONTROL/batchpar

            File specifying how big newsbatches should be made, how they
            should be compressed, and how to transfer them. Supported
            formats are listed there.

    4.13  NEWS/CONTROL/history[.dir|.pag]

            History of Message-ID's (used by expire and relaynews)

    4.14  NEWS/CONTROL/active

            List of available newsgroups. All groups you carry must appear
            in here.

            Meaning of the fields:

            <newsgroup name> <low article #> <highest article #>
            <y|n|x|m|=alias>

            where y|n|x|m|=alias means: accept, deny posting, deny spooling
            or moderated

            group (reject postings without Approved:-Header). =alias puts
            the group into another.

            Highest article # is used to determine the next number to use,
            so there is no need to keep one article per group for correct
            counting.

    4.15  NEWS/CONTROL/sys

            Most important file of CNews :-) All configuration information
            about which groups to accept and which to spool for other sites
            is controlled here.

            Explanation of the format in DOCS/news.txt

    4.16  NEWS/CONTROL/fakesys

            File to be sent out instead of your sys file in response to a
            'sendsys'-control. The original sys file will be used if this
            one's not present.

    4.17  NEWS/CONTROL/changehe
    4.18  NEWS/CONTROL/changede
    4.19  NEWS/CONTROL/changepw

            Additional files for NEWS/BIN/changesy.exe.

            See DOCS/changesy.txt for details.

    4.20  NEWS/CONTROL/explist

            Example input for expire. Read DOCS/expire.doc for details.





    --------------------------------------------------------------------------
         CNews for DOS          Page: 9          Last changed: 10/19/93



                       CNews-Documentation, Version 1.05
    --------------------------------------------------------------------------

    4.21  NEWS/CONTROL/whoami

            If you want to put a different name into your Path: for each
            newsarticle, you can specify it here. If this file is not
            present, 'uucpname' from static is used.

    4.22  NEWS/CONTROL/drives

            This file specifies where to put incoming news. Especially
            sites receiving a really huge (full?) newsfeed will appreciate
            this, since the 65000-cluster-limit of DOS can get annoying.

            Take a look into this file for details.

    4.23  NEWS/CONTROL/BIN/rmgroup.exe

            Program which handles rmgroup-Control:-messages. Actually, the
            group isn't removed, only a mail is send to <newsmaster>
            (specified in static) that a rmgroup-control: has arrived.
            Further action has to be taken by hand.

    4.24  NEWS/CONTROL/BIN/newgroup.exe

            Program which handles newgroup-Control:-messages. This adds the
            group to the active file and also adds it to SYSTEM/usenet.
            Before adding the group its presence in your active file is
            checked.

    4.25  NEWS/CONTROL/BIN/sendsys.exe

            Handles 'sendsys'-controls. See notes on NEWS/CONTROL/sys for
            more info.

    4.26  NEWS/CONTROL/BIN/senduuna.exe

            Handles 'senduuname'-controls. Sends either the contents of the
            NEWS/CONTROL/whoami file, or the value of 'uucpname'

    4.27  NEWS/CONTROL/BIN/version.exe

            Handles 'version'-controls. Sends 'C/MS-DOS'

    4.28  NEWS/CONTROL/SUSPEND/*

            Suspended sys-file entries. Just included as an example, you
            may delete them.

    4.29  WAFFLE/BIN/rnews.exe

            Replacement for Waffle's RNews.

            All options of the original Waffle-Rnews are supported.

            One additional switch, -i, implies an immediate newsrun, i. e.
            after spooling the requested files, newsrun is executed to
            insert the news.




    --------------------------------------------------------------------------
        CNews for DOS          Page: 10          Last changed: 10/19/93



                       CNews-Documentation, Version 1.05
    --------------------------------------------------------------------------

            Use 'rnews -n<newsgroup> <article' to put an article into the
            specified group. All options of the Waffle-RNews are supported.
            Illegal lines inside a header (for example 'From ...') are
            filtered out.
























































    --------------------------------------------------------------------------
        CNews for DOS          Page: 11          Last changed: 10/19/93



                       CNews-Documentation, Version 1.05
    --------------------------------------------------------------------------

            Puts incoming news into the directory incoming/<number>.ext,
            where ext is one of

            .Z - compressed (compress/uncompress)   needs compress.exe
            .T - textfile
            .F - frozen (freeze/melt),              needs freeze.exe
            .G - gzipped (gzip/gunzip),             needs gzip.exe
            .7 - Encoded with c7encode              needs c7decode.exe
            .B - Encoded with bencode               needs bdecode.exe

            Newsbatches are recognized by using the '#! cunbatch'/'!#
            gunbatch' header or by their special magic number (which each
            compressor uses and should be unique)

    4.30  WAFFLE/BIN/uux.exe

            Replacement for Waffle's UUX.

            Waffle's UUX doesn't handle binary files. The batcher of Waffle
            does not call uux, but spool its files directly. Since CNews
            _uses_ uux, there was a need to create a new uux.

            This one's faster (approx. 6 times) and supports all switches
            provided by the original uux. See DOCS/uux.txt for details.

    4.31  WAFFLE/BIN/gzip.exe

            GNU-Zip, Version 1.2.4. Not everybody has GZip, but should :-)

            Compression is about 20% better the compress with 16 bits, so
            take a look at this. Can also be used as a replacement for
            uncompress (compress -d), since it handles these files, too.

    4.32  WAFFLE/EXTERN/_system

            Example how to change the rnews line so that a newly posted
            article can be read directly after posting.

    4.33  WAFFLE/SYSTEM/static

            Example settings for your own static

    4.34  WAFFLE/SYSTEM/schedule

            Example settings for your schedule

    4.35  WAFFLE/SYSTEM/alias

            Example setting for changesys











    --------------------------------------------------------------------------
        CNews for DOS          Page: 12          Last changed: 10/19/93



                       CNews-Documentation, Version 1.05
    --------------------------------------------------------------------------

    5.  Appendices

    5.1  DOS Error codes, as used by Borland-C++ 3.1

            To save some space, CNews will not return complete error
            messages, just something like 'errno=22'. Use this list to find
            out the actual error. [I can't remember having seen an error
            message, so I removed the code for writing some]
            DOS-error codes as used by Borland-C:

             0: Error 0
             1: Invalid function number
             2: No such file or directory
             3: Path not found
             4: Too many open files
             5: Permission denied
             6: Bad file number
             7: Memory arena trashed
             8: Not enough memory
             9: Invalid memory block address
            10: Invalid environment
            11: Invalid format
            12: Invalid access code
            13: Invalid data
            15: No such device
            16: Attempted to remove current directory
            17: Not same device
            18: No more files
            19: Invalid argument
            20: Arg list too big
            21: Exec format error
            22: Cross-device link
            33: Math argument
            34: Result too large
            35: File already exists
            36: Possible deadlock
























    --------------------------------------------------------------------------
        CNews for DOS          Page: 13          Last changed: 10/19/93



                       CNews-Documentation, Version 1.05
    --------------------------------------------------------------------------

    6.  Miscellaneous, known problems

            The files that are changed by NEWS/CONTROL/BIN/newgroup.exe are
            SYSTEM/usenet, NEWS/CONTROL/active and NEWS/CONTROL/newsgroups.

            SYSTEM/usenet is not (yet) configurable - but this may change.

            NEWS/CONTROL/newsgroups contains a one-line-description of a
            newly created group, if this information appears in the
            control:-message.

            Illegal filenames under DOS - this is a problem, but should not
            appear, since it is handled automatically by CNews.

            Example:

            comp.lang.c++ is changed into comp.lang.cpp

            the file SYSTEM/usenet gets a line like

            comp.lang.c++ /dir="comp.lang.cpp"


            Novell Netware and long filenames:

            There are some problems with Novell and long filenames. To
            avoid this, all filenames are truncated to 8 characters before
            accessing them.
































    --------------------------------------------------------------------------
        CNews for DOS          Page: 14          Last changed: 10/19/93



                       CNews-Documentation, Version 1.05
    --------------------------------------------------------------------------

    7.  Acknowledgements

            My very special thanks go to the following beta-testers (in no
            particular order):

            Rod Shelton <roshne@faerun.mi.org>
            Roy M. Silvernail <roy@sendai.cybrspc.mn.org>
            Bob Kirkpatrick <bobk@dogear.spk.wa.us>
            Paul Zimmerman <shaman@cyberia.bowlgreen.oh.us>
            Bert Medley <medley@synercom.hounix.org>
            Christopher M. Camacho <cmc@mind.org>
            Greg Montgomery <greg@turbo.atl.ga.us>
            Steve Harding <{harding|cnews}@nas.nasa.gov>,
              <steveh@grafex.cupertino.ca.us>
            Paul Tan <ptan@dmntor.uucp>
              <ptan@compudyn.com>
            Alan Brown <dogbowl@dogbox.acme.gen.nz>
            Jonathan Herr <herrj@valnet.vincennes.in.us>










































    --------------------------------------------------------------------------
        CNews for DOS          Page: 15          Last changed: 10/19/93



                       CNews-Documentation, Version 1.05
    --------------------------------------------------------------------------

    8.  Table of contents

    1.  Preface                                                       2
    2.  Introduction                                                  3
    3.  Installation                                                  4
         3.1  WAFFLE-subdir                                           4
              3.1.1  UUX                                              4
              3.1.2  GZip                                             4
              3.1.3  RNews                                            4
         3.2  NEWS-subdir                                             4
         3.3  DOCS-subdir                                             5
         3.4  Flow of news                                            5
    4.  Description of all files                                      7
         4.1  DOCS/*.txt                                              7
         4.2  NEWS/BIN/changesy.exe                                   7
         4.3  NEWS/BIN/sendbatch.exe                                  7
         4.4  NEWS/BIN/newsrun.exe                                    7
         4.5  NEWS/BIN/relaynews.exe                                  7
         4.6  NEWS/BIN/upact.exe                                      8
         4.7  NEWS/BIN/mkhistory.bat                                  8
         4.8  NEWS/BIN/dbz.exe                                        8
         4.9  NEWS/BIN/sort.exe                                       8
         4.10  NEWS/BIN/makehist.exe                                  8
         4.11  NEWS/BIN/expire.exe                                    8
         4.12  NEWS/CONTROL/batchpar                                  9
         4.13  NEWS/CONTROL/history[.dir|.pag]                        9
         4.14  NEWS/CONTROL/active                                    9
         4.15  NEWS/CONTROL/sys                                       9
         4.16  NEWS/CONTROL/fakesys                                   9
         4.17  NEWS/CONTROL/changehe                                  9
         4.18  NEWS/CONTROL/changede                                  9
         4.19  NEWS/CONTROL/changepw                                  9
         4.20  NEWS/CONTROL/explist                                   9
         4.21  NEWS/CONTROL/whoami                                   10
         4.22  NEWS/CONTROL/drives                                   10
         4.23  NEWS/CONTROL/BIN/rmgroup.exe                          10
         4.24  NEWS/CONTROL/BIN/newgroup.exe                         10
         4.25  NEWS/CONTROL/BIN/sendsys.exe                          10
         4.26  NEWS/CONTROL/BIN/senduuna.exe                         10
         4.27  NEWS/CONTROL/BIN/version.exe                          10
         4.28  NEWS/CONTROL/SUSPEND/*                                10
         4.29  WAFFLE/BIN/rnews.exe                                  10
         4.30  WAFFLE/BIN/uux.exe                                    12
         4.31  WAFFLE/BIN/gzip.exe                                   12
         4.32  WAFFLE/EXTERN/_system                                 12
         4.33  WAFFLE/SYSTEM/static                                  12
         4.34  WAFFLE/SYSTEM/schedule                                12
         4.35  WAFFLE/SYSTEM/alias                                   12
    5.  Appendices                                                   13
         5.1  DOS Error codes, as used by Borland-C++ 3.1            13
    6.  Miscellaneous, known problems                                14
    7.  Acknowledgements                                             15
    8.  Table of contents                                            16







    --------------------------------------------------------------------------
        CNews for DOS          Page: 16          Last changed: 10/19/93