
                  The Fido Mailtosser System JS_TOSS
                 ====================================


JS_TOSS was developed on the fact that there was nothing as it before.
It is simply a tosser no mail editor and has no message base. This has
simple  reasons:  There are already good mail editors which have their
message  base.  The  other  problem is that mailbox programs have also
their own message base which are completely different from the once of
the  mail editors. So all we need is a tosser that allows the sysop to
use  any  editor  he wants, has full node support to make life easier,
like areafix and routing.

So JS_TOSS was born. This diagram shows the exact position of JS_TOSS
in you node system:


     +------------------+                  +------------------+
     |    THE SYSOP     |                  |   THE MAILBOX    |
     +------------------+                  +------------------+
     |Using an editor he|                  |Mailbox Software  |
     |likes (Spot, April|                  |with its own      |
     |PM or others)     |                  |tosser and editors|
     +------------------+                  +------------------+
     |Still reachable by|                  |Every user is     |
     |the node address! |                  |reachable by the  |
     |No fake point!    |                  |node address!     |
     +------------------+                  +------------------+
     
        own in/outbound                       own in/outbound

               \  \                               /  /
                \  \                             /  /
                 \  \                           /  /
                  \  \    +---------------+    /  /
                   \  \   |    JS_TOSS    |   /  /
                    \  \  +---------------+  /  /
                     \  \ |doing complete | /  /
                      \   |echo and mail  |   /
                          |routing and    |
                          |point handling |
                          +---------------+

                                |  |
                                |  |

                      "normal" in/outbound

                       +---------------------+
                       |      the world      |
                       +---------------------+
                       |Up/Downlinks - using |
                       |TrapDoor or something|
                       |else                 |
                       +---------------------+


Since  points  use better mail editors than nodes, nodes started using
"fake  points"  to  get the comfort of this editors. Maybe this worked
fine but it's only a hack and was complicated.


                               JS_TOSS
                              =========

JS_TOSS  is  distributed  as  SHAREWARE, so if you like and use it you
should  pay  for  it to continue development. JS_TOSS is copyright (c)
1995 by Jürgen Schmitz.

I  made  JS_TOSS  to configure as simple as possible, you only have to
write some commands and addresses in an ASCII file, that's it. JS_TOSS
has  a modular design, you may add any kind of mail robots as external
program  in  any  language  you  like. To "protect" you from this Fido
mailpackets  JS_TOSS  forms  every mails for this robots in nice ASCII
files,  news  mails  (replys)  of this robots are written in ASCII and
transfered back to mailpackets by the tosser.

I  decided  to  write  the  documentation  in moduls, too. This may be
confusing  at  the first moment, but later on, you find everything you
need  quicker,  e.g.  all  commands of the config files could be found
completely described in file "Config-Files.doc".


                               Features
                               --------

 - unlimited number of zones (i.e. nets like Fido, AmigaNet, etc)
 - unlimited number of links (up/downlinks, points)
 - routing table for every zone with wildcards
   (e.g. "ROUTE 2:24*/*.* 2:24/1.0" will route every netmail for
    region 24 to 2:24/1.0)
 - nodelist routing (route netmails to the node's HUB)
 - unlimited number of mail robots (e.g. areafix, file tick managers)
   which can have any name you want
 - buildin areafix with many features  
 - unlimited number of mail tracker (e.g. to check for allowed
   addresses, to change destination addresses because of new address)
 - AKA's unlimited for every zone (e.g. if you have different nodes
   for your different lines)
 - enable or disable file attach for nodes or points
 - add new public echos automatically
 - forward request
 - individual (un)packer for every up/downlink
 - set links readonly for echos
 - lock links from echos
 
 and more you may find out...



                             Installation
                             ------------

To  install  JS_TOSS  or  simply  update  the binaries use the install
script  and  this  part  of  the  documentation.  Here  you  find some
additional  informations  like  in  which  extra  docfile  you  find a
detailed description.


After you have started the installation script you will be asked for a
place to put the JS_TOSS binaries into. Most guys use "mail:bin" so it
is  given  as  default.  Then you will be asked for an other place for
binaries.  This  programs can be started from workbench so put it in a
drawer you may reach from Workbench.

Next  the  script  will  ask  for  a place to put the up/downlink area
config  files drawer into. Default is "mail:" where a drawer "js_toss"
will be created and you should use "mail:"...

The  Areafix supports different languages and now you may select which
of them (but you can change this later).

Then  select  the  path  to  your traplist compiled nodelist (Default:
"Nodelist:")  and  a  path for a temp directory on harddisk (better do
not use RAM: for this!).

Now  you  will  be asked for some inbound and outbound directory. They
must  exist  or  you  should create them before, while or direct after
installation.

 1) "normal" inbound - the inbound you used before and where trapdoor
    put all new received file into
 2) "normal" outbound - where the files were placed that should be
    send out to the world
 
 3) SYSOP inbound - the directory where the sysop's mail editor looks
    for mail packets
 4) SYSOP outbound - where the sysop's mail editor puts new mail 
    packets into
    
 5) BBS inbound - the directory the BBS looks for mail packets
 6) BBS outbound - where the BBS puts new mail packet into
 

(Note:  If  you  later  look  in  the  generated  config file don't be
confused if e.g. the directory behind the "BBSIN" is the directory you
enteres  as  BBS  outbound. This is correct because in/outbound in the
config file is always seen from JS_TOSS.)


Now  the script will install one address for you. Answer the questions
of the script:

 1) your address
 
 2) your name (DOS patterns allowed, e.g. for umlauts)
 
 3) an uplink
 
 4) another uplink
 
 5) a 3rd uplink
 
 6) a general routing address

 7) a public echo
 
 8) a 2nd public echo


Now the config file in generated and written, the script ends.


JS_TOSS  should  work now - but you have to change the config files to
your needs. For the commands look in "Config-Files.doc" or the example
directory for examples.

To generate all required files for your links simple start JS_TOSS one
times.

Next you may start JS_Config from Workbench for configure your system.
But  you  better  continue reading here because you also may configure
JS_TOSS  with a text editor (which could be quicker sometimes) and you
understand the things you may set in JS_Config. If your really want to
ignore  this possibilities (for now, you can also learn this later...)
continue reading below the line "CONTINUE HERE".


For  the next examples we belive we are node "2:2454/9999.0", the file
names  for  this  example node is put in brackets behind the described
name [2:2454/9999.0].

Now we have a look at the public echos. Start your text editor (I hope
you  have  a  good  one....),  select  to  open  a  file and go to the
directory   you   decided   for   "area   config   files".   Load  the
"Zone_"your_zone_number".cfg"   [Zone_2.cfg]   file  (currently  there
should be one anyway).

You will see something like that:

AREA name1 "no description"
AREA name2 "no description"

It's  up  to  you  to  change this, add or remove echos (areas). First
change  the  descriptions,  now  add  new echos and their descriptions
(e.g.  AREA  AMIGA.GER  "German Amiga echo"). Because the DOS function
ReadArgs()  is  used  (you  know  it's  behaviour  from many DOS/Shell
commands) Spaces are used to seperate different options. If an options
should include a space it must be in quotation marks - nothing new...

Add some areas and finally same the file back to disk.

Now you should change your Sysop Mail Editor (April, PM, Spot etc.) to
the  new  in/outbound  directorys  (to  you remember them.....) and as
export  addresses set your own address (or if the software fails to do
this use any point number you like) [2:2454/9999.0].

It's  time  to test everything! Write a message to "Areafix", use your
address  as  destination,  enter something you want as subject. In the
mail body write

%HELP
%LIST
%QUERY

One  per  line!  Export  it, now start JS_TOSS (from cli/shell or so),
wait until it has finished, start import in your Sysop Mail Editor and
voila  you should have 3 mails - a help info, a list of your areas and
the  descriptions  you enteres and an information that our have non of
them  active  for  you.  Change this! Write a mail to the "Areafix" as
before,  but as mail body enter a command to add an area (as described
in  HELP)  -  use  "+#?"  if you don't know. Export and start JS_TOSS,
import again and you should see a new mail.

Let's  go  back  to  the  internals  and  the  text  editor.  Load the
"Config_"<some_numbers>".Sysop"  [Config_2_2454_9999_0.Sysop]  file in
the "area config files" directory. Here you see your active areas, but
you  needn't  care  on this file any more, it's handled by the areafix
and  the  tosser.  But  maybe  there is a reason you must deactivate a
point  from  an  echo,  then  you  simple  remove  this  line  in  his
"Config_"<address> file ("area config file").

Well, we have currently no points? We have! But first we will continue
our  work  here.  There  are  some areas than mustn't received by some
links  (up/downlinks,  points),  because  the  are local or they wrote
times ago some bad mails - you know. So we have to LOCK this area from
him, or at least put him READONLY. So hard work! Load the "zone config
file"  ("Zone_"zone_number".cfg")  again.  Let's  think the first area
should be READONLY for all points. So add below the area line:

readonly 2:2454/9999.*

You  see,  we  your  the  asterisk for ALL. Now the 2nd area should be
locked  for all points, so no point can read or write in it. Add below
the 2nd area line:

lock 2:2454/9999.*

Wow!  And  finally  the  3nd.  It should be locked for the 1st and 2nd
points  -  however.  So  add  below - which line? - the 3nd area line,
right, always the below the area you mean:

lock 2:2454/9999.1
lock 2:2454/9999.2

Aha,  LOCK  and  READONLY  may  be used as often as required, but this
times  we  must  add every point by hand. For more about the supported
asterisk  handling  (wildcard)  in  Fido  address  look  in  doc  file
"Wildcards.doc".

If  you  same  this  file, the points will be locked. But here is some
problem you should know of - and how to handle it:

If  you  LOCK  a  link (point, up/downlink) or set him READONLY in the
zone  config  file  but  he is already connected to that area you also
have to change his "area config file" - remove the area line if locked
or change the "area" command to "rarea" for READONLY.


I  thing  you  understood the zone and area config files. For more and
some  additional files in the "area config file directory" look in the
"Config-Files.doc".


CONTINUE HERE if you "ignored" the part before. This is a must because
this settings below here can't be made in the Config program.


Now  load  the  file  "JS_TOSS.cfg" in the "mail:" directory into your
text  editor.  This  is  the  main  configuration.  All  commands  are
described in "Config-Files.doc".

Move down to the line "node "your_node_number [node 2:2454/9999.0].

Here you see the settings for this address. Every command below "node"
belong to this (expect them below the "Areafix commands" comment). You
may  add  as  many nodes as you want for all your your nets. But first
let's look at the existing one before we (oh, sorry, that's up to you)
make more entries.

Maybe  you  have  different addresses (AKAs) in one net for your phone
lines.  Inform JS_TOSS of this fact, or it may work wrong. How? Simply
put for every AKA below the NODE command a line:

AKA <address>

[AKA 2:2454/9998.0]

Next you see the LINK command. Links are uplinks (Hubs, Hosts, etc) or
downlinks  (other  nodes)  or  points - generally all the same! Add as
many  LINKs  as  you  like  - or remove them. JS_TOSS will generate an
"area  config  file"  automatically if it is started next time. If you
remove  a  LINK  the area config file won't be deleted. But you may do
this  if you start JS_TOSS with the option "scan" (JS_TOSS scan). Look
below for usage and more options of JS_TOSS.

LINK has some extra options like HOLD - look "Config-Files.doc".

If  a  LINK  has  some AKAs in this net and uses them sometimes in the
mail packets use the command LAKA to tell JS_TOSS of this. LAKA always
belongs to the last LINK command and may be used as often as needed.

Example:

 LINK 2:2454/9000.0
 LAKA 2:2454/9001.0
 LAKA 2:2454/9002.0


Routing  is  a  nice  and  easy  thing  - you find a shord overview in
"Routing.doc".

Generally:  All  netmails  with  a special destination pattern will be
send  to a specified address - expect the destination is already known
as LINK. And this is the looking of the ROUTE command.

Example:

 route 2:2454/9010.* 2:2454/9010.0
 ; thing, we have this /9010 as LINK, 
 ; so we send all mails for his point to him
 route 2:2454/902*.* 2:2454/9020.0
 ; we have /9020 as link - so we send every mails for him
 ; and his points and all node addresse starting with 902 to him
 ; (this may be 9020, 9021, 90222, 9022, 90240, etc)
 route *:*/*.* 2:2454/9000.0
 ; all netmails we don't know where to send to
 ; will be send to /9000

The  routing will be handled in the given way, so place something like
"*:*/*.*"  at  the  end!  For  the  AUTOHUB  command  please  look  in
"Config-Files.doc" because this is only used by hosts...

The  ATTACH  command  lets  you specify to which LINK it is allowed to
send file attachs to - wildcards as in ROUTE or READONLY are supported
(you remember READONLY from the beginning....??).

AUTONEW  also supports wildcards. The addresses specified with AUTONEW
are  allowed  to add new areas - i.e. if JS_TOSS receive areas that it
didn't currently know it adds this to its known list (zone config file
and  senders area config file). So don't allow this feature for points
because  they  could  have  written an areaname wrong and create a new
area.

That's  all  - this is the magic of JS_TOSS, simply add a new NODE for
an other net, add LINKs, routings, etc.

For  more details on the other general commands above the NODE command
please look in the "Config-File.doc".


                       Usage/Options of JS_Toss
                       ------------------------


 nothing        will start tossing


 INFO           some information
 ?              like INFO

                
 MAIL <drawer>  starts tossing including mails in <drawer>
                (in REPLY format)


You should run JS_TOSS in SCAN mode once a month or so, MAIL should be
used  every  time  you  toss if you use automatic mail generators (for
file announcements or so) that support the JS_TOSS reply header.


                            Some generals
                            -------------

To  avaid  trouble  with  Areafix,  Mailrobots, Tracker and the tosser
itself  you should instruct your up/downlinks always to use their same
address if they write to your system!

I.e. they should (for Areafix they MUST) use the address you specified
by  the  "link"  command.  If they don't areafix can't find their link
area config and fails. But you (the sysop) may manage this with a mail
tracker.


                              Copyrights
                              ----------

           JS_TOSS is copyright (c) 1995 by Jürgen Schmitz
                     and distributed as SHAREWARE

          extra programs like JS_CheckAddress and JS_Config
         are copyright (c) 1995 by Jürgen Schmitz and may be
            free used and copied with the JS_TOSS package

               Fido and FidoNet are registered marks of
                   Tom Jennings and Fido Software.


                           How to register
                           ---------------

JS_TOSS  is  shareware. To use JS_TOSS fully you need a so called "key
file".  Please  use  program "REGISTER" to print out the register-form
and send it to the authors address (shown in the form) by post (please
no email if possible - never use Internet). Ask for cheaper conditions
if you register with 5 or more persons together!

You  will get your key as soon as possible! You can find all important
infos  on the form. Select the way of receiving of the key, the way of
paying and the currency.

Your key will unlock some features in JS_TOSS:

 the unregistrated version allowes only 1 net (zone) and no AKAs for
 LINKs (LAKA)
 
You  are  not  allowed  to  give  your  personal key file to any other
person!


                              Addresses
                              ---------

Snail:

  Jürgen Schmitz
  Bergstr. 82
  D-56589 Bullay/Mosel
  Deutschland/Germany
  
  
Email:

  FidoNet   Juergen Schmitz@2:2454/550.3
  AmigaNet  Juergen Schmitz@39:176/401.2
  Internet  j.schmitz@trier.fh-rpl.de


               Some special addresses for JS_TOSS infos
               ----------------------------------------

Write  to "tossnews" at 2:2454/550.3 or at 39:176/401.2 (leave subject
empty) to get some GERMAN top news and history of JS_TOSS.

English version in development!

You  can  always  get  the newest release of JS_TOSS at Rheinland-Box,
Germany  (Fido  2:2454/550.0,  AmigaNet:  39:176/401.0).  Request  for
"JS_TOSS" or login as new box user and look in the Amiga file area for
my file base.

                           js_tools.library
                           ----------------

JS_TOSS  and  JS_Areafix  use  the  js_tools.library  if installed for
sorting.  If it is not installed some internal functions will be used.
Currently  (v37.837 of JS_TOSS, v37.165 of JS_Areafix, v37.239/1.23 of
js_tools) the are the same. Because js_tools.library' sort function is
always under development it may be faster than the internal once.

js_tools.library  is  a  collection  of  some  usefull  functions. The
general one is a listview gadget like gadtools with much more features
than  gadtools  (like  multiselection, auto column, superlistview, key
handler for keyboard interface and more).


                          Changed & history
                          -----------------

before 1.00     : test releases, beta tester releases

 1.00           : first public release

 1.00a          : sorry, sometimes version 1.00 didn't work with OS
                  2.0 because of an really ugly bug in the ReadArgs()
                  handling function :-(


---------------------------------------------------------------------
FTSC = Fido Technical Standard Committee

Fido  and  FidoNet  are  registered  marks  of  Tom  Jennings and Fido
Software.
