Solar/SOURCE.TXT v0.95.3 (10.20.95)

This directory contains the full source code for Solar. The source is
distributed in a .ZIP archive called SOURCE.ZIP. You will need PKUnzip
version 2.04g or higher, or Info-ZIP unzip.exe version 5.0 or higher to
expand SOURCE.ZIP. Be sure to use the '-d' option to properly create the
subdirectories contained in the archive.

The source code for Solar is organized into subdirectories as follows:

    COMMON     - Contains source code modules with low-level functions
                 which are common to two or more Solar programs. This is
                 a 'library' of sorts.
    SLRCMD     - The SOUP 1.2 COMMANDS file processor.
    SLRMAIL    - Mailbox to SOUP 1.2 packet processor.
    SLRNEWS    - USENET newsbase to SOUP 1.2 packet processor.
    SLRREPLY   - SOUP 1.2 reply packet processor.
    SLRXFER    - Packet transfer engine.
    SOLAR      - Solar command/system interface.

There are also some loose files in the root directory :

    CHANGES     - Incomplete history of changes to Solar. This was started
                  relatively recently.
    FORMATS.TXT - Documentation for some of the file formats used by Solar.
    NEWSRC.SLR  - A sample NEWSRC.SLR file showing format used.
    OPTIONS.SLR - A sample OPTIONS.SLR file showing format used.
    SLRMAKE.BAT - A .BAT file to MAKE Solar.
    SOUP12.DOC  - The SOUP v1.2 specification.
    TODO        - Stuff I haven't done yet.
    UPDATE.BAT  - A .BAT file I use to update my local working copy of Solar.

All source code is written using the Borland C++ 2.0 compiler, with as much
ANSI C compliance as possible. Project files and makefiles are included.

Some of the Solar program modules make use of Ralph Brown's SPAWNO routine
to swap themselves to disk when calling other programs. SPAWNO cannot be
distributed with Solar, but you may obtain it from your nearest Simtel
mirror.

With Borland C++ 2.0 (at least), SPAWNO must be compiled using the Borland
C++ source option in the compiler as opposed to ANSI. If you wish to use
the standard spawn routines simply comment out or remove the line:

            #include "..\common\spawno.h"

in the source code modules prior to compilation. This will cause programs
to remain in memory during spawn calls but will not otherwise affect
functionality.

Suggestions for source code modifications for inclusion in the standard
Solar distribution are welcome. When submitting changes, either document
well what the changes are from the original source code, or use the UNIX
diff format to submit the changes.

Submissions should be sent to :

    kjhoule@iowegia.dsm.ia.us

Several areas of the code to this point were contributed by various people,
and much of the rest of the code was inspired by feedback from the people
who actually use Solar around the world. Those who have contributed in a
major way deserve recognition, but unfortunately I do not have a list of
everyone (yet). I appologize if I have left anyone out.

Rhys Weatherley <rhys@cs.uq.oz.au>
    - Author of original HDPF and SOUP 1.x, Rhys contacted me when he
      first heard of Solar and suggested that HDPF be used rather than
      my experimental packet format. He wrote a reader called HPV in
      addition to writing and publishing what is now known as SOUP.
      Thanks for the suggestion, Rhys :)
Kevin Sartorelli <kevin@novell.nui-wgtn.gen.nz>
    - Kevin contributed the entire FOSSIL driver comm i/o system used
      in Solar 0.95.x.
Lars Lindgren <lasse@argh.dude.pp.se>
    - Lars contributed a working rfctime() function which respects the
      international timezone format.
Mike Shirley <mikey@cts.com>
    - Mike took the 0.95.x dive and helped me find a number of bugs in
      the configuration load process, as well as provided invaluable feedback
      for use in writing documentation.
Jim Hart <jhart@h5.avcnet.org>
    - Jim proved Solar 0.95.x's new architecture lends itself to use under
      platforms other than Waffle.
Russell Schulz <Russell_Schulz@locutus.ofB.ORG>
    - Russell has provided obscure :) but valuable tips over the years which
      have smoothed the rough edges Solar has always had. He's also great at
      facilitating getting answers to the people who need them.

