



















                                 YaBom V1.10

                    Yet Another Binkley Outbound Manager

             A fully 5D aware Outbound Manager/Packer/Scheduler

                         Berin Lautenbach 1991-1992

                              3:620/248@fidonet
                             58:2600/100@intlnet












































     I. Introduction                                            1
     II. Disclaimer, Licensing and Warranty                     2
     III. Overview                                              3
         A. Requirements                                        3
         B. Command Line Parameters                             3
             1. PACK                                            3
             2. SCHEDULE                                        4
             3. MATRIX                                          4
             4. Starting up in outbound area                    4
         C. Addresses                                           5
             1. Browsing the nodelist                           6
     IV. Configuration                                          7
         A. YBCONFIG                                            7
             1. Directories                                     7
                 a) Matrix Directory                            8
                 b) Nodelists                                   8
                 c) Outbound Directories                        8
             2. Addresses                                       9
             3. Forwarding                                      9
             4. File Forwarding                                 9
             5. General Items                                  10
                 a) Sysop Name                                 10
                 b) Log File                                   10
                 c) Pack Arcmail messages                      10
                 d) Pack Empty Netmail                         10
                 e) Sort by Node or Type                       10
             6. Colours                                        10
         B. ROUTE.CFG                                          11
             1. Schedule                                       11
             2. Global                                         12
             3. Route-Via                                      12
             4. Route-Files                                    13
             5. Change                                         13
             6. Poll                                           13
             7. File-Attach                                    14
         C. YBNode                                             14
     V. YaBom Outbound Manager                                 15
         A. General Items                                      15
             1. Entering an address                            15
         B. Main Menu                                          16
             1. Goto Outbound                                  16
             2. Change Domain                                  16
             3. File Attach                                    17
                 a) Movement                                   17
                 b) Selecting files                            17
                 c) Selecting ALL files                        18
                 d) Selecting as a Truncate or Delete          18
                 e) Exiting File Attach                        18
             4. Request Files                                  18
             5. Poll Node                                      18
             6. Edit Node                                      18
                 a) Loading a new node                         19
                 b) Searching for a new node                   19



     
       YaBom V1.10                                            Page : ii







                 c) Editing the current node                   19
                     (1) Password                              19
                     (2) Phone Number                          19
                     (3) Modem Flags                           19
                     (4) CM Flag                               19
             7. Directories                                    20
                 a) Create Point Directory                     20
                 b) Create Zone Directory                      20
             8. Progress                                       20
         C. Outbound Area                                      20
             1. Goto Point Directory                           21
             2. Change Type                                    21
             3. Change Packet Destination                      22
             4. Delete Packet                                  22
             5. View Files and Requests                        22
             6. View Message Packets                           22
         D. Viewing Progress Reports                           23
         E. Viewing File Attaches and Requests                 23
             1. Moving Around                                  23
             2. Deleting Files                                 24
         F. Viewing Mail Packets                               24
             1. Viewing the Current Message                    24
             2. Deleting the Current Message                   25
     VI. Afterward                                             26
     VII. Credits and Thanks                                   27
         A. Other programs mentioned in this document          27































     
       YaBom V1.10                                            Page : iii








                             
                               I. Introduction
                             

          Just after Binkley Term 2.50 was released, I decided to
     convert from Front Door.  It was something I'd wanted to do for a
     while, but I run quite a few points off the system, as well as
     operating in two domains, and the idea of converting from 4D
     (nearly 5D) aware software to pointnets didn't do much for me :>.
     When Binkley 2.50 was released, I jumped in feet first, and
     converted over, thinking that software would be released very
     quickly to support the 5D address system of the new Binkley.  I was
     wrong.  After a few weeks of fudging mail packing, I got a bit fed
     up and decided to write my own.  (I run a Remote Access system, and
     use IMail for Echo Mail, converting the file attaches to ?LO files
     using this little beast).  YaBom is the result.

          I have tried to incorporate the best features from a lot of
     programs that I use (and have used), including GoldEd, TosScan,
     Front Door and QMail.  Hopefully you will like the result.

          YaBom is a complete Binkley Term outbound handler.  It packs
     all Netmail into the correct bundle types for the correct
     destinations, preserving all message attributes (such as packing
     crash messages into a *.CUT file), and preserves all file attach
     attributes (such as Delete and Truncate when sent).

          It also schedules all the mail in the outbound area according
     to timed events set up in an external route file, very similar to
     that used in QMail or Front Door, thus allowing you to poll nodes
     or send mail at particular times, according to particular nodes,
     during the day.

          The third major feature of YaBom is that it provides an
     outbound manager, allowing you to manipulate the outbound area,
     down to deleting messages and files WITHIN an outbound packet, and
     changing outbound types by hand.  This allows the Sysop of a
     Binkley Board to handle the mail properly according to his/her
     needs.

          All this is done with full 5D support, and the outbound
     manager uses the V7 nodelist to look up systems.  To run most
     effectively it must also have its own (small) index file that
     allows it to look up nets quickly and efficiently.












     
       YaBom V1.10                                            Page : 1








                 
                   II. Disclaimer, Licensing and Warranty
                 


          First of all the standard stuff...  I TAKE NO RESPONSIBILITY
     FOR ANY PROBLEMS CAUSED BY THIS PROGRAM.  YABOM IS NOT GUARANTEED
     TO DO ANYTHING BUT TAKE UP DISK SPACE, AND I WILL NOT BE HELD
     LIABLE IN ANY WAY SHAPE OR FORM FOR ANY DAMAGE CAUSED BY THIS
     PROGRAM.  ***  YOU USE YABOM AT YOUR OWN RISK ***.

          YaBom may be freely used in any non-commercial environment.
     There is no charge for using the software, but you may NOT receive
     any money for the program except normal BBS cover charges  (i.e.
     you may not charge a separate fee for YaBom).  Anyone wishing to
     make commercial use of this software should contact me at one of
     the addresses listed below.

          However, if you DO like this program, and do use it, I would
     appreciate a postcard or failing that a Netmail message to say you
     like it.  (It'd be rather nice to collect postcards from all over
     the world <GRIN>).

          There is NO warranty either expressed or implied associated
     with YaBom.  If it breaks, or if it breaks your system, it is your
     responsibility not mine.  However, I will do my best to fix all
     bugs reported to me.  I have tried to eliminate all bugs from the
     software (that I could find), but I am quite sure there are other
     ones hanging around.  If you send me a complete report of the bugs,
     including your configuration files and (if necessary) any other
     material associated (like mail packets and the like), I will do my
     best to fix them.

          All queries, complaints, and suggestions for future versions
     should be directed to Berin Lautenbach at either

     3:620/248@fidonet or
     58:2600/100@intlnet

          I will do my best to reply to all Netmail sent to me.  Please
     note that my system only operates between 8:30pm - 7:30am EST; mail
     however can be sent to my hub (620/252 or 620/202), who will send
     it through to me.

          The current version of YaBom can always be file requested from
     my system at all speeds up to V32, using the magic file name YABOM,
     and the same goes for my hub.  It can also be requested from Noel
     Roberts at 3:640/531 24 hours, V32, again under the magic name
     YABOM.







     
       YaBom V1.10                                            Page : 2








                              
                                III. Overview
                              

     A. Requirements
     

          YaBom requires an IBM or 100% compatible computer to run on,
     using DOS 3.3 or above (I think - it has only been tested on DOS 5,
          _
     but the compiler dox indicate that it should be fine on 3.3).  A
     colour monitor is nice, but not required.

          Other than that, YaBom runs in conjunction with Binkley Term
     2.50 or above, and presently needs the Version 7 nodelist to run
     properly.  (Thus the need for BT 2.50).  It has NO support for
     fakenet addressing at this time, but allows for full 5D addressing,
     using the point directories introduced in BT 2.5.  The Binkley
     Configuration file is NOT needed - YaBom has its own configuration
     file and setup program,  (done in the hope that this will make the
     program more global in use - I intend to try and get it running
     with Opus).


     B. Command Line Parameters
     

          Usually YaBom will be run in one of two ways; either
     packing/scheduling mail, or as an outbound manager.  Running YaBom
     with no other command line parameters will invoke the manager
     function.  However, parameters are used to invoke other functions.
     These functions are :

     1. PACK

               This is probably the most useful of the command line
          parameters.  It starts off by packing all the outbound netmail
          in *.MSG form in your mail directory into the correct message
          files in your  Binkley Outbound directory.  This is done with
          NO route commands.  So a HOLD, file attach message with the
          file marked as delete when sent will be packed into two files,
          a *.HUT file for the message text, and a *.HLO file containing
          the name of the file, prefixed with a '^' to tell Binkley to
          delete the file once it has left the system.

               It then performs the equivalent of a schedule command
          (see below) to do all the scheduling and routing of mail you
          require, as stated in the ROUTE.CFG file.  (See the relevant
          section on Configuration below).








     
       YaBom V1.10                                            Page : 3








     2. SCHEDULE

               This command (also called during the PACK operation)
          performs all the routing and scheduling of mail.  It takes
          commands from the ROUTE.CFG file (see below) which it parses
          line by line, performing the actions as it reads them in.  It
          stops when it has found the end of a schedule corresponding to
          the current time and day.  There are two types of blocks in
          the route.cfg file, a GLOBAL block, which will always have its
          commands performed IF IT IS REACHED, and a schedule block,
          which will have its commands performed if it is reached, and
          the day and time of the block correspond to the current date
          and time.  This allows you to perform actions at all times
          (such as putting point mail on hold), after a certain time of
          day (a Global section after all the morning schedules), and
          only at a particular time of day (a SCHEDULE block).

               When YaBom finds the end to a SCHEDULE block for the
          current day and time it stops processing the route.cfg file.
          Thus you can have a global schedule at the end of the
          route.cfg file to be used only when no other schedule matches.

     3. MATRIX

               This is equivalent to a PACK operation with no SCHEDULE
          performed after it.  It packs all the matrix mail into the
          correct message packets and file attaches (and file requests).
          Thus this command can be used when you have a particular
          message to be packed but no routing performed on it.


          The last command parameter is /?, which displays a brief
     summary of the commands listed above.  Apart from this, a /ignore
     parameter after either the pack or matrix commands will cause YaBom
     to ignore the last message marker it usually uses.



     4. Starting up in outbound area

               You can now also tell YaBom to start up in the outbound
          area of a certain zone/domain combination.  Thus

               YABOM 3

          will start up in zone 3 of the first domain with such a zone,
          and

               YABOM 3 fidonet

          will start up in zone 3 of fidonet.





     
       YaBom V1.10                                            Page : 4







               Exiting from the outbound area will exit the program, not
          take you back to the main menu.  This is more of a command for
          a "quick fix" operation at this time.


     C. Addresses
     

          It would probably be a good idea to give a run-down on how
     YaBom uses address at this point.  I have stated above that YaBom
     uses full 5D addressing without really saying what that means.
     YaBom supports full domain/zone/net/node/point addressing (5D).
     This means it will pack mail for Binkley so that Binkley can handle
     it in the correct manner for all points you might have, and in any
     domains you might operate.

          The usefulness of Point addressing is fairly obvious, it gets
     rid of the PointNet kludge used in the older versions of Binkley
     and uses the fact that a YooHoo header correctly sends point
     information.  Thus when a point rings up, Binkley no longer has to
     translate the point address to a pointnet to make use of it.  Much
     more efficient and easy to use :>.

          Domain addressing on the other hand is a little bit more
     obscure.  Most people run their mailers under fidonet alone.  This
     means they have no real need for domain support.  However, for
     different networks, different domains are used.  This gets rid of
     the old handicap of different networks having to ensure that no
     zones clash.  For instance, IntlNet uses zones 56-59 to ensure it
     doesn't clash with fidonet addresses (using zones 1 - 8).  Thus it
     is now possible to be in zone 3 in both IntlNet and fidonet,
     removing some of the confusion.

          How does this addressing work?  Well a full 5D address for one
     of my points under fidonet would be :

               3:620/248.2@fidonet

          Note I haven't used any extension on the domain (such as
     fidonet.org).  This is because there is a lot of confusion as to
     what the extensions should be at the moment.  YaBom in fact strips
     these extensions if it finds them.  (As does a YooHoo handshake).

          The capability of mailers to use a 5D address now means we
     have to be more careful when using addresses.  YaBom will take
     3:620/248@fidonet and 3:620/248@fidnet as being TOTALLY different
     addresses.  HOWEVER, YaBom can be used with no domain information
     at all.  You need only define your address using 3D or 4D
     terminology (with a point or as a zone address) in the
     configuration.  YaBom will then ignore all domain references in
     messages and assume you run under only one network.






     
       YaBom V1.10                                            Page : 5








          YaBom also uses wildcards in address for the route file and
     the forwarding lists.  Thus

               3:620/248.*@fidonet

     designates all the points operating under my address.  Note that
     you must ALWAYS have a zone in an address.  Just putting "*" in the
     place of an address will cause YaBom to throw up its hands in
     despair.

          You can also have ALL the addresses in the route.cfg file
     without domain extensions as long as all the zones you operate
     under are different.  Thus if you operate under IntlNet and
     fidonet, you can have addresses listed as 58:2600/100, and YaBom
     will handle it correctly (though you will find many mailers will
     not talk to you if you are using any sort of domain support in
     Binkley).  YaBom has a list of all the zone directories you have in
     memory and searches through them until the first zone match is
     found.  IF a domain is defined as well, it will compare them and if
     different, continue.  Otherwise, it will just take the first match
     it finds.  So if all your zones are different under different
     domains  you can safely, in the route configuration, drop all
     domain references.  However, if they are there, they will be
     strictly adhered to.


     1. Browsing the nodelist

               YaBom now has a multi-level nodelist lookup feature,
          similar to that of Front Door.  If you forget the node number
          of the board you are trying to perform an operation on, you
          can at the address input hit F2 to bring up a list of all the
          nets in the current zone.

               Going to one of these nets and hitting return will bring
          up a list of all the nodes in that net.  Hitting return on one
          of the nodes will either accept that node as the node you
          want, or, if it has points, bring up a list of points for that
          node.  Hitting return on one of the points will take that
          point as the one you want.

               Pressing escape at any point will kill the address input
          routine and take you back to either the main menu, the
          outbound area, or the nodelist editor - depending on where you
          were when you started :>.

               Please note that this feature requires the *.YAB file to
          have been created using YBNode for the current nodelist.  (See
          below for more information on YBNode).







     
       YaBom V1.10                                            Page : 6








                            
                              IV. Configuration
                            

          Configuring YaBom is done in two stages; the major
     configuration, using YBConfig.exe, and the route file
     configuration, used to tell the scheduler what to do with the mail.
     If you are only running YaBom as an outbound manager there is no
     need to set up the route file, however, you must set up all the
     other information YaBom needs through YBConfig.

          After configuration you will also need to compile the V7
     indexes into something that YaBom can use for quick lookup.  This
     is done with YBNode, (Which should be run whenever you get a new
     nodelist in).

     A. YBCONFIG
     

          This is the main configuration program for YaBom.  It tells
     the program what your addresses are, where to find mail, nodelists,
     and information on forwarding of mail.  To start it, type YBCONFIG
     at the command line in the YaBom directory.  You will be presented
     with the main menu.


               Ŀ
                 Directories      
                 Addresses        
                 Forwarding       
                 File Forwarding  
                 General Items    
                 Colours          
                 Save/Exit        
                 Exit             
               

          These commands are listed in order below.


     1. Directories

          Note that directories in YBConfig should always be entered
     WITHOUT a trailing backslash.












     
       YaBom V1.10                                            Page : 7








          a) Matrix Directory

               Tells YaBom where to find the Matrix messages.  It also
          stores a 0 length file, YABOM.MRK, allowing YaBom to skip past
          messages it has already checked.  However, this means that if
          something goes wrong at any time, YaBom should be forced to
          rescan the entire directory (using /ignore on the command
          line) to ensure that it picks up all the mail it missed after
          the offending message.


          b) Nodelists

               YaBom uses the Version 7 Nodelist but will run if it
          can't find one.  I am working on adding other nodelist formats
          for backwards compatibility, but the V7 nodelist is the best
          at the moment and saves a LOT in space/processing
          requirements.  This entry tells YaBom where the nodelist
          directory is.  Do NOT enter the name of the nodelists - YaBom
          expects to find NODEX.DAT etc in this directory.  (At the
          moment, YaBom only uses a single nodelist for all domains.
          This will cause problems if you have similar zones in
          different domains, and will be fixed in the near future).


          c) Outbound Directories

               This is actually the STUBS of the outbound directories,
          not the full names.  Each entry consists of three parts

               Zone      Domain    Directory

          There should only be ONE directory for each domain (NOT ONE
          FOR EACH ZONE).  The zone is the MAIN zone (i.e. yours) for
          the domain, and the directory specifies the stub of the
          outbound directory.  For example, I run IntlNet and fidonet
          with my main zones being zone 58 and zone 3 respectively.  My
          MAIN address is zone 3 so I put this first (to tell YaBom that
          the directory stub will be USED for the main zone).  I.e.

               3    fidonet   c:\binkley\outbound
              58    intlnet   c:\binkley\intlnet

          YaBom will now, when it is run, hook zone three up to the
          c:\binkley\outbound directory, and then search for extensions
          of the form .001 to the directory to get the other zones you
          have set up (thus you do not need to specify all zones).
          However for intlnet, YaBom knows that the main zone still has
          an extension, so it sets up the main directory as
          c:\binkley\intlnet.03A, and then searches for OTHER extensions
          to get the other zones you have set up.





     
       YaBom V1.10                                            Page : 8







     2. Addresses

               Here you must define your system addresses.  The first
          address you define will be taken as your primary address and
          will always be used as the default when no "better" match can
          be found (usually used in packet headers when you are routing
          mail for other systems).  In fact the first address for each
          domain/zone will always be the default for that domain/zone,
          so you should always have your primary addresses listed first
          and secondary later.  YaBom needs ALL your addresses to ensure
          that it doesn't mistakenly pack mail addressed to your system
          into a mail packet.


     3. Forwarding

               This option, along with the next, defines how your system
          will forward mail and files.  Upon selecting this option you
          will be presented with two columns titled Forward-To and
          Forward-From.  As the names imply these columns list the
          systems which you will forward mail to and from.  Thus :

          Forward-To               Forward-From
          58:2600/*@intlnet        3:620/248.*@fidonet

          tells YaBom to forward all mail addressed TO any nodes in net
          2600 of IntlNet and to forward all mail FROM the points of
          3:620/248.

               This system allows you to explicitly define all the
          systems you will route mail for and will cause YaBom to
          "leave" all mail it is unsure of, allowing you to see the
          other systems attempting to use you as a hub.

               It should be noted that YaBom removes all hold/crash
          flags from in-transit messages;  i.e. if a point crashes a
          message to you, for you to send on, YaBom will remove the
          crash flag from the message before packing it into an outbound
          packet - no system can use yours to "crash" mail.  However,
          the ORIGINAL message is unchanged after packing - if it was
          not marked as delete when sent, you will still see the crash
          flag in the message.


     4. File Forwarding

               When YaBom comes across a file attach netmail message
          that did not originate from your system (and how that could
          happen I have no idea, but it is conceivably possible), it
          will use a similar method to (3) above to determine whether or
          not to pack the message.  This is where you define the systems
          that will be allowed to route files through your system.





     
       YaBom V1.10                                            Page : 9







     5. General Items

               This option contains all the "other" information used by
          YaBom.

          a) Sysop Name
               
               This is your own name - will be used more in later
          versions.

          b) Log File
               
               The full name and path to the logfile.  Leaving this
          entry blank will tell YaBom you do not want any log entries.
          YaBom presently logs ALL relevant information in a fair bit of
          detail, which you probably don't want, but might find useful
          :>.  Later versions will allow for "levels" of logging.


          c) Pack Arcmail messages

               If (like me) you use a netmail based echo mail processor
          - one that creates the file attach as a netmail message this
          option will be useful.  Most packers will pack the arcmail
          attach message regardless of the fact it has nothing in it.
          YaBom will look at the sender of the message, and seeing that
          it is arcmail, will look to see whether you wish attach
          messages to be sent as well.  If not it will just create the
          file attach and ignore the message.  Otherwise the full
          message will be packed.


          d) Pack Empty Netmail
               
               Tells YaBom whether or not you want to pack netmail
          messages with no text in them,  (will create any file attaches
          or requests associated with the message though).


          e) Sort by Node or Type

               Tells YaBom how to sort information in the outbound
          manager.  You can either sort listed nodes by node number or
          by type (internally sorted by node number).

     6. Colours

               You can even create your OWN hideous colour scheme :>.









     
       YaBom V1.10                                            Page : 10








     B. ROUTE.CFG
     

          The file ROUTE.CFG is used to tell YaBom how to manipulate the
     outbound area during the SCHEDULE or PACK commands.  It is only
     needed if you will be using YaBom as an event manager for Binkley,
     and consists of a series of commands, one per line.  Any line
     starting with a ";" is ignored or treated as a comment.  Case is
     ignored.  Please see the example configuration in the release for
     and example of the route.cfg file.

          Route.cfg is divided into blocks of commands according to the
     time and day when the commands are to be executed.  There are two
     major types of block - a Global block, in which the commands are
     executed whenever the block is reached, and a Schedule block, for
     which the commands are executed only if the day and time on the
     block match.  Processing stops when a valid schedule block (i.e.
     one with the correct day and time) has been processed or the end of
     the file has been reached.  If the end of the file is reached YaBom
     will halt with a warning message.


     1. Schedule

               The most important of the ROUTE commands is the SCHEDULE
          heading.  It is a line of the form

          SCHEDULE <Day[|Day]> <start time> <end time>

          where the days and the times correspond to those when the
          commands in the block must be executed.  For example the line

          Schedule Tue|Wed 00:00 02:00

          will cause the commands after this line (up to the next line
          starting with global or schedule) to be executed only if the
          day is Tuesday or Wednesday, and the time is between 12:00am
          and 2:00 am.  If this schedule is the correct one for the
          current time, processing will end after the commands in the
          block have been executed.

               All times are in 24 hour format and the region of time
          MUST NOT cross midnight.  (I.e. 22:00 2:00 is not allowed).

               This format of the schedule means you can have a "global"
          schedule block at the end of the route file to be executed
          whenever no other schedule blocks for the current day and time
          were found.








     
       YaBom V1.10                                            Page : 11








     2. Global

               Similar to a schedule command, this word indicates that
          all commands in the following block are to be executed,
          regardless of the day and time, if it is reached (processing
          could have stopped before due to a valid schedule block).
          Unlike the schedule command, GLOBAL exists on a line of its
          own, and processing continues after the end of the block is
          reached (i.e. a SCHEDULE line or another Global line is
          found).


          There are also a number of commands other than the block
     indicators, that can be used in YaBoms route.cfg file.  All these
     commands manipulate the outbound area and allow you to change the
     type of packets (to make Binkley send or hold them), route mail for
     one system (or set of systems) through another system (your mail
     hub for example), or even create a file attach at a given time
     every week.  (I use the last to send a complete file list to my
     points once/week).

          These commands are as follows

     3. Route-Via

               Used to route MAIL packets (non-compressed) for a given
          set of systems through another system.  The syntax for this
          command is

          ROUTE-VIA <packet type> <destination address> <addr list>

          The "packet type" is how the new packet will be put into the
          outbound area (as a hold, crash or whatever packet).
          "Destination Address" specifies which system the mail is to be
          sent to, and the "addr list" is the list of systems for which
          mail is to be routed.  For example

          ROUTE-VIA hold 3:620/252 3:712/* 2:*

          will route all mail for the 712 network and zone 2 through the
          system 3:620/252.  All the mail so routed would be placed in a
          hold packet (*.HUT).

               This command does not affect file attaches and can not be
          used to route files for one system through another.

               A packet will NEVER be routed unless it is a normal
          packet and there are no requests destined for the same system.
          This allows a "sort of" exclude system to operate whereby, if
          you want to route all nodes in 712 through 252 except 712/513
          (for example) then you can put 513 on hold and THEN use the
          route-via command line given above.




     
       YaBom V1.10                                            Page : 12








     4. Route-Files

               Used to route FILE packets and can be useful.  If you
          have compressed mail for two AKA's on the same destination
          system you can use this command to send the mail to just one
          of them.  (The packets will still internally be addressed to
          the different addresses though).  The syntax of the command is
          very like a normal route statement :

          ROUTE-FILES <packet type> <destination addr> <addr_list>

          where packet type is how the new file attach will be placed in
          the outbound area, destination addr is the address you want
          files routed to and addr_list is the list of system for whom
          you want files to be routed through the destination address.

     5. Change

               To tell Binkley what to do with a mail packet at a given
          time you must change the type (or flavour) of the mail packet,
          which is what this command does.  The syntax is

          CHANGE <from type> <to type> <addr_list>

          where "from type" is the original type of the mail to be
          changed - one of Normal, Crash, Hold and Direct, "to type" is
          the new type of the mail packet, and "addr_list" is the list
          of systems for which the change is to be performed.  For
          example

          Change Hold Normal 3:* 58:*

          will change all held mail for zones 3 and 58 to normal mail.
          (I.e. it will change the extensions from *.HUT and *.HLO to
          *.OUT and *.FLO respectively).


     6. Poll

               When ringing your mail hub it is quite possible there
          will be no mail waiting to send, so using a change command
          will not cause Binkley to ring the system.  For this you use
          the Poll command - it creates an empty file attach packet for
          the given system(s) if (and only if) NO other mail for that
          system exists.  The syntax of the command is

          POLL <type> <addr_list>

          where type is the type of the poll to be created and
          "addr_list" is the list of systems you wish to poll.  Thus

          Poll Hold 3:620/262@fidonet




     
       YaBom V1.10                                            Page : 13







          would create a Hold dummy file attach for 3:620/262 if no
          other mail existed for 262.


     7. File-Attach

               This is a kind of "extra" command.  It creates a *.?LO
          file for the systems involved to send them the specified file.
          The syntax of the command is

          FILE-ATTACH <type> <file_name> <addr_list>

          where type is how the file attach should be created (or
          appended to) in the outbound area, "file_name" is the name of
          the file you wish to send (at this time only one file per
          command is supported) and "addr_list" is the list of systems
          you wish to send the file to.

          File-Attach Hold ^c:\ra\files\text\wings.zip 3:620/252

          would create a held file attach of my files list for 252.
          Note the "^" in front of the file name will make it a delete
          file when sent type of attach and a "#" will make it a
          truncate file when sent message.


     C. YBNode
     

          YBNode is the nodelist compiler used to compile the *.YAB
     file.  It looks at the already compiled *.DAT files and uses them
     to find all the NC's in the nodelist.  This allows YaBom to later
     on do a reasonably fast lookup for a node, without having to use
     the *.NDX files.

          For example, NODEX.DAT will be used to compile the NODEX.YAB
     file, which will contain a list of all the NC's listed in
     NODEX.DAT.

          YBNode MUST be run if you wish to use the lookup function
     provided with YaBom.  It takes only one parameter, "-f" to force it
     to recompile all the nodelists.  Otherwise it will only compile
     those nodelists for which the *.DAT file is later than the *.YAB
     file.  YBNode MUST BE RUN AFTER YOU HAVE COMPILED THE NEW V7
     NODELIST FILES.  RUNNING IT BEFORE WILL INVALIDATE THE DATA.  This
     means you will have to use another program, such as XlaxNode to
     compile the V7 lists, and then YBNode to compile its own lists.

          Please note that the size of the index file is relatively
     small.  For all of FidoNet and IntlNet, my *.YAB file is less than
     15K.






     
       YaBom V1.10                                            Page : 14








                        
                          V. YaBom Outbound Manager
                        
     A. General Items
     

          This section lists some of the items that are generic to all
     the sections of YaBom interactive.  (I.e. the ones I couldn't think
     of documenting anywhere else <GRIN>).


     1. Entering an address

               Many functions (such as file attaching and requesting) in
          YaBom require you to enter an address.  There are now two ways
          of doing this - entering the address, or choosing it from the
          nodelist.

               When you initially have to enter an address you will be
          presented with an entry form, with the zone and domain filled
          in permanently - these can not be changed here, and must be
          altered using the change domain option of the main menu.
          Enter the net/node and point of the address you wish to use,
          and then hit return again to accept the selection.  (Pressing
          ESC at any point will cancel the operation).

               You will find the last address you chose will always be
          displayed on the entry form (unless you haven't yet chosen
          one, or you have changed the zone), and can be immediately
          chosen by pressing CTRL-Enter.

               However, you might want to browse the nodelist to choose
          the node.  Pressing F2 will bring up a list of nets in the
          current domain/zone pair.  This list is formatted to show the
          numbers of the nets on the left, the NC's in the middle, and
          the names of there boards (usually a net description) on the
          right.

               Use the movement keys and return to choose one of these
          nets.  When one is chosen, you will be presented with a list
          of nodes in that net, again select one, and if it doesn't have
          any points (in your nodelist) it will be selected as the
          address you want.

               If it DOES have points, a third screen showing the points
          of the system will be displayed, from which you can again
          select.  (The boss node is also shown, so you can select the
          boss node from the nodes screen by pressing return twice).








     
       YaBom V1.10                                            Page : 15








     B. Main Menu
     

          Upon entering YaBom from the command line, you will be
     presented with a menu on the left and an information section at the
     right.  At this time the information section contains only the
     current zone and domain window.  (This tells you which current
     outbound area YaBom is looking at - where file requests etc. will
     go)

          The menu on the left contains 9 entries

             Ŀ
              Goto Outbound 
              Change Domain 
              File Attach   
              Request Files 
              Poll Node     
              Node Edit     
              Directories   
              Progress      
              Exit          
             

          Each of these entries (except exit :>) are now explained in
     more detail.


     1. Goto Outbound

               Go immediately to the outbound area.  This takes you to a
          list of the packets in the outbound area for the current zone
          and domain.  See section B for more detail of the outbound
          area.


     2. Change Domain

               Actually this should probably be entitled change zone and
          domain since it allows you to change to any allowable
          zone/domain configuration available on your system.  YaBom
          takes the base directories you defined in YBCONFIG and
          searches for valid zone extensions for each of these
          directories to find all the zones you have defined.

               When this option is chosen, YaBom lists these options it
          has found in a menu, through which you can move, using the
          cursor keys (or the mouse) to select which domain and zone you
          wish to go.  Upon choosing a new zone/domain pair, the
          zone/domain info will change to reflect the new choice, and
          going to the outbound area will now take you to the new
          directory.  Pressing Esc will abort the command.




     
       YaBom V1.10                                            Page : 16








     3. File Attach

               This menu option allows you to manually attach files to
          any system you wish.  Upon selecting it you will be asked what
          system you wish to send the files to, how you want them sent
          (crash etc.) and then the actual file mask for the files.

               Upon entering the address, YaBom will search the nodelist
          for the system in question and display an information screen
          on the system, asking you if this is the one you want.  If it
          can not find the system it will tell you so and ask you if you
          are sure.  Upon replying "Y" to either question, you will be
          asked for the mail type.  Enter C for Crash, H for Hold, N for
          Normal or D for Direct.

               YaBom then prompts you for a file mask.  This file mask
          must be a valid directory/files mask on your system and if
          YaBom can not find any files corresponding it will do nothing
          simply returning to the main menu.  However, if it CAN find
          files corresponding to the choice it will come up with a new
          selection menu, corresponding to the valid files.

               In the right top corner are some statistics.  The number
          of files that correspond to the given file mask, the total
          bytes of all these files, the number of files you have chosen
          so far and the number of bytes of the files you have chosen so
          far.  The following commands can be used on this selection
          menu :

          a) Movement

               You can move through the list of files using the arrow
          keys, PgUp, PgDn, Home and End.  If there are more files than
          will fit on the screen the program will allow you to scroll
          through the list.


          b) Selecting files

               Pressing Enter on a file name will toggle the selected
          status of that file.  The stats on the right hand side of the
          window will be updated accordingly and the file will be
          indicated as being selected with a set of arrows on the left
          and right of the name.

               As of version 1.10, YaBom will also, as long as you
          specified *.* in the specs, show all the subdirectories for
          your given choice.  If you select any files, and then hit
          return on a directory, YaBom will create the necessary file
          attaches for those files, and move to the new directory.  (If
          you have selected no files, it will move straight to the new
          directory).




     
       YaBom V1.10                                            Page : 17








          c) Selecting ALL files

               To select ALL file in the list, press ALT-A.  All the
          files will come up as selected, whether they where before or
          not.


          d) Selecting as a Truncate or Delete

               To select a file and to have it truncated once it has
          been sent, press ALT-T on the file name.  A capital "T" will
          appear to the left of the file name.  (Note this is not a
          toggle - if the file was already selected, it will remain
          selected, to deselect, press return on the file name).

               ALT-D will do the same thing, except a "D" will appear to
          the left of the file name, and the file will be marked to be
          deleted when the attach is sent.


          e) Exiting File Attach

               Pressing Esc at any time will exit the file attach menu,
          WITHOUT creating ANY file attaches.  Ctrl-Enter will also
          exit, but all attaches will be created for the destination
          system.


     4. Request Files

               This command is exactly the same as file attach up until
          the file mask section.  At this point, instead of asking for a
          mask YaBom asks for a name.  Keep on entering the names of the
          files you wish to request from the system until finished and
          then press Esc or return to exit to the main menu.


     5. Poll Node

               This command will build an empty file attach packet in
          the outbound area for the system you nominate if NO OTHER MAIL
          EXISTS FOR THAT SYSTEM, otherwise the command will be ignored.
          The empty file attach will be a CLO file and can be changed to
          another type in the actual outbound manager.


     6. Edit Node

               YaBom now allows you to edit the current nodelist.  This
          means you can add/change passwords/numbers without having to
          recompile the nodelist.  It also allows you to set a systems
          CM flag on or off, and play with the modem flags (used for the
          dynamic selection of the prefix used for dialling.



     
       YaBom V1.10                                            Page : 18









          a) Loading a new node

               When you first start up the editor it will display either
          the last node you looked for in some other feature or the ZC
          for the current zone.  To load a new node into the editor hit
          ALT-L and give the address as usual.  (You can, as usual, hit
          F2 to use the lookup feature - however this can be done
          automatically, see below).

          b) Searching for a new node

               If you wish to browse the nodelist, and don't want to fo
          through the normal address entry screen, hit ALT-S to be taken
          straight to the node lookup entries.  (See the section on
          addresses for more information on the node lookup feature).

          c) Editing the current node

               Hitting ALT-E on the view screen will change over to edit
          mode.  The heading on the window will change to "[ View ]",
          and the password and phone number fields will be highlighted.

          (1) Password

               Move to the password field and rewrite/add a password to
          change the password for this system.

          (2) Phone Number

               Move to the phone number field to rewrite/add the phone
          number for this system.

          (3) Modem Flags

               Hitting ALT-1 to ALT-8 will toggle the associated modem
          flags.  These are usually associated with particular flags in
          the nodelist, and are put there by your nodelist compiler.
          Binkley uses these to determine the prefix to use for this
          node when dialling.

          (4) CM Flag

               Hitting ALT-C will toggle the CM flag.  The CM flag is
          only on for nodes that run 24 hours a day (most nodes in fact
          :>).  Setting this flag to off will affect whether or not
          Binkley will ring the node, depending on the current event and
          whether it allows ringing of non-CM systems.








     
       YaBom V1.10                                            Page : 19








     7. Directories

               Version 1.10 will now create point and zone directories
          for you.  It works in the current domain (and zone for points)
          only.

          a) Create Point Directory

               Selecting this will bring up a normal address entry form.
          Simply select the net and node of the node whose points you
          wish to support, and YaBom will create the necessary
          directory.  Any point number entered here will be ignored.

               Directories create are in the current zone directory, and
          are of the form :

          XXXXYYYY.PNT

          where XXXX is the net and YYYY is the node of the node you
          selected.

          b) Create Zone Directory

               YaBom will simply ask you for the number of the zone you
          wish to add to the current domain.  It will then create a new
          directory, using the directory stub for this domain, with .XXX
          as the extension, where XXX is the zone number you selected in
          hex.

     8. Progress

               The last option in the main menu is for creating progress
          reports for any node.  It is sometimes useful to tell Binkley
          that it has in fact rung a node already (if only to stop it
          ringing there for a while).  Selecting this option will, as
          usual, bring up an address entry form for the node you wish to
          create a progress report for.

               Yabby will then ask you to enter the number of failed
          connects and failed connection attempts, create a progress
          file, and put it in the outbound area.  Note that the
          effective upper limit of failed connects is 16.

     C. Outbound Area
     

          The outbound area allows you to actually "control" the current
     zone and domain, it is where the real manipulation of your mail is
     performed.  There are 5 Major operations :







     
       YaBom V1.10                                            Page : 20








          ("G") Goto Point Directory
          ("C") Change Type of packet
          ("N") Change the destination of a packet
          (Del) Delete packet
          ("O") Open a packet for viewing - either mail/request/files

          The letter or key before the file represents the key used to
     perform the operation.  Thus "C" will change the type of a packet.
     Enter can be used for the more common operation by packet type.
     For progress, request, mail and file attach packets, it will
     perform the open command.  For Point directories, it will perform
     the Goto command.

          These operations are detailed below.


     1. Goto Point Directory

               This is the way YaBom handles points.  It treats them
          basically as a mail type in the outbound area of a particular
          zone.  You see them as a mail bundle for your address, but
          instead of a packet type there is the line "Point Directory".
          To operate on the point mail, press "G", and then, when asked
          for which entry to perform the operation, type the number of
          the entry corresponding to the point directory.  (Point
          directories will be the first entries in the outbound list).

               This places you in a similar window to that of the zone
          outbound directory except that all the packets now have point
          extensions to their addresses, and the window heading is "mail
          for points".  All the operations in the point window are
          exactly the same as those for the normal outbound manager,
          except for the goto point directory command.  (Funny that :>).


     2. Change Type

               This is how you change the type of a packet (sometimes
          known as "flavour").  Say you have a packet on hold for
          3:620/252, entry number 10.  You want to put that packet on
          crash status to ensure it goes out now.  First type "C" to
          tell YaBom you wish to change the flavour of a packet.  YaBom
          will then ask you the number of the packet you wish to change
          the flavour of (in this case 10).  It will then ask you what
          you want to change the packet to.  Typing "C" (for crash)
          tells YaBom that you want to change the packet extension to
          ".CUT", which it then does.  It also changes the entry so you
          can see what it has done.

               NOTE : This operation only works (and only makes sense
          for) mail and file attach packets.





     
       YaBom V1.10                                            Page : 21







               You can cancel the operation at any time by pressing
          escape and no action will be taken.


     3. Change Packet Destination

               For mail packets and file attaches you can also change
          the destination.  Hitting 'N' on a packet will bring up the
          'type' window, then the address window.  The address window in
          this case is a little different to normal - this is the only
          time you can enter a different zone/domain pair as well as the
          normal address.  This means you can redirect mail to ANY zone
          or domain.  Hitting 'ESC' at any time will back out of the
          operation.

               Note that this operation will change both the name of the
          packet and the packet header to reflect the new destination.
          It will NOT however change the address of any of the messages
          within the packet.


     4. Delete Packet

               Allows you to delete any packet in the current outbound
          list.  As for Change Type above, YaBom will ask you for the
          number of the packet you wish to delete and then delete it.
          Note that at this point there is no request for confirmation,
          so be very sure of what you are doing before using this
          command.


     5. View Files and Requests

               Type "O" and then the number of the file attach or
          request packet to open it and view the contents.  This will
          open up a new window to display the files in the packet, and
          to allow you to perform various operations on those files.
          See section C below for more on this operation.


     6. View Message Packets

               Again, type "O" and give the relevant message packet
          number to open the message packet.  YaBom will open the packet
          display windows, allowing you to view (and delete) the
          messages within the given packet.  See Section D below for
          more details.










     
       YaBom V1.10                                            Page : 22








     D. Viewing Progress Reports
     

          With 1.10 you can now view progress reports in the outbound
     area.  Hitting 'O' (or enter) on a progress packet will bring up a
     window telling you how many failed connects and how many failed
     connection attempts you have had with this node.   Below this is
     the line :

          Reset? ((A)ttempts/(C)onnects/(N)o) :

          Selecting 'A' will bring up a prompt asking you what number to
     set the connections to.  Similarly 'C' will ask you for the number
     of failed connects.  Setting both to 0 will delete the progress
     report.

     E. Viewing File Attaches and Requests
     

          One of the most important things to be able to do is change
     the contents of file attaches using the outbound manager.  Quite
     often you get a request name wrong and rather than delete the
     entire request packet it is much easier to just delete the
     particular name, adding it back again properly using the request
     file option in the main menu.

          When you select either of these options, you will be presented
     with a a new window.  (It should be noted that the operations are
     exactly the same for both request packets and file attach packets,
     the only difference being the way the packets are stored on disk).
     This window provides you with information at the top regarding who
     the packet is addressed to and its flavour.  (The addressing gives
     you both the name of the board and the sysop).  Below this is a
     list of files in the packet, with numbers beside them corresponding
     to the number of the file name in the packet.

          You can NOT add files to the packet at this point but this
     operation can be performed via the main menu.  However, you CAN
     delete files, and this operation, as well as moving around the
     packet is described below.


     1. Moving Around

               Due to space limitations YaBom cannot display all the
          files in the packet on the screen at once.  Using the arrow
          keys allows you to move up and down the list of files.  PgUp
          and PgDn also work, as do Home and End.  You will notice that
          all the files have a unique number unlike the outbound manager
          itself, allowing you to operate on any files even if you
          cannot see them.





     
       YaBom V1.10                                            Page : 23







               Pressing Esc at any point will exit back into the
          outbound area.


     2. Deleting Files

               To delete a file from the packet press the Del key.
          YaBom will prompt you for the number of the file you wish to
          delete from the packet (the number displayed to the left of
          the file name).

               The file is NOT deleted from the packet at this point.
          Rather the delete key is a toggle to switch the deleted status
          on or off.  Thus specifying the file a second time will turn
          the delete status off.  To let you know a particular file has
          been deleted, YaBom displays a flashing star beside the file
          name.

               If any files are marked as deleted when you exit back to
          the outbound area YaBom will rewrite the packet without the
          deleted files.  If no files are marked as deleted YaBom exits
          without doing anything.  Be sure you have marked the correct
          files since YaBom at this point does not ask for any
          confirmation.  Neither does it delete files that are marked as
          delete when sent or truncate when sent so at this time, you
          will have to perform that operation by hand :<.


     F. Viewing Mail Packets
     

          YaBom allows you to look "inside" mail packets at the messages
     they contain and the header information of the packets themselves.
     It does this by loading the entire packet into memory, and then
     allowing you to scroll through the messages at will.  The drawback
     to this, is that only reasonably small packets can be viewed at any
     one time.  However, this is a minor problem, since netmail packets
     usually stay fairly small.  (I am working on this problem).


     1. Viewing the Current Message

               The messages are shown to you one at a time and you can
          scroll through the text of each message at will.  There are
          three windows for viewing messages.  The first, at the top,
          shows information on the current PACKET, it's destination
          (board and address), packet type (hold, crash etc.), the time
          it was packed and the program used to pack it. (This
          information comes from the product codes list released
          regularly, and could get out of date.  At the current time, I
          have to use an old version, since I cannot find anything later
          than November 1990.  Hopefully this will be upgraded in the
          near future).




     
       YaBom V1.10                                            Page : 24







               The second window shows information on the message
          currently being viewed - who it is to (name, board and
          address), who it is from (as before), the subject of the
          message, the flags of the message (File attach etc) and the
          number of the message.  Numbering is done against the number
          of messages in the entire packet, i.e. a number of 2/5 means
          that this is the second message in the packet and the packet
          contains 5 messages.

               The third window shows the actual body of the message,
          using different colours according to whether the line is a
          kludge line or not.  At this time there is no way of turning
          the kludge display off, so you have to view all the lines of
          the message.  To scroll through the text, the up and down
          arrows, PgUp, PgDn, Home and End can all be used.

               To scroll between messages simply use the left and right
          arrows to go to the previous message or next message
          respectively.  Hitting Escape will exit the viewer and take
          you back to the outbound area deleting any messages marked as
          deleted.  (See below).


     2. Deleting the Current Message

               Hitting the Del key will mark the current message as
          deleted.  It works similarly to deleting files from a file
          attach packet - it does not actually delete the message, just
          marks it for deletion when you exit the viewer.  Thus if you
          change you mind later on you can hit the delete key again to
          "undelete" it.

               When you do hit the delete key, you will see a red
          "[del]" appear in the message header window.  This means the
          message will be deleted at exit.  Hitting the del key again
          will remove this sign.  As YaBom returns from the message
          viewer it checks for deleted messages in the packet.  If it
          finds none, it performs no action.  Otherwise it rewrites the
          packet to the disk without the messages you have marked.  If
          you have deleted ALL messages in the packet, it will delete
          the packet from the outbound area.
















     
       YaBom V1.10                                            Page : 25








                              
                                VI. Afterward
                              

          I hope you find YaBom useful.  If you have any suggestions for
     improvements or new features, please feel free to send me a
     message.  I am currently about to start working on the following
     features :

     o    Facility to add messages directly to the outbound area.

     o    Add a netmail checker to the pack function, ensuring checking
          of netmail (for correct dest etc) before leaving the system.

     o    Support for compressed mail, both viewing packets within and
          creating from the pack command.

     o    Creating an OS/2 version.  This could be tricky for a variety
          of reasons, so don't hold your breath :<.

     o    Possible viewing of TIC files in the outbound area, and
          addition of hatch.

     o    Going to fiddle with new packet formats for netmail, though
          this might not be seen in release versions.

     o    Viewing of the Binkley log file

     o    Standard messages to be sent whenever creating a request

     o    Add an option to be able to enter addresses either through the
          current style of entry form, or on a one line entry.

     o    Name lookup within nodelist

     o    Allow editor to edit more of the nodelist entries

     o    Try a "browse" feature when looking at the nodelist entries

     o    Rewrite the file attach viewer so it has the standard
          scrolling interface

     o    MAYBE add support for other nodelist formats (such as the V6)

     o    Allow loading of other zones/domains directly from the
          outbound area.

     o    Attempt to look at two zones at once, in two windows.  Thus
          you will be able (I hope) to drag and drop mail between
          windows, maybe between packets.






     
       YaBom V1.10                                            Page : 26








                         
                           VII. Credits and Thanks
                         

          YaBom was written using Borland C++ (wonderful compiler - best
     investment I ever made).  The windowing is thanks to TesSeRact C
     Extended Library V5.2 (another wonderful investment).  Otherwise
     I'd like to thank my mother and my father..... (<GRIN>).

          I would also like to say thankyou to the Beta testers :

     o    Paul Marwick
     o    Noel Roberts
     o    Robert Lindsay
     o    Ian Harris
     o    Carl Makin
     o    Grant Wilson

          Without there help not much would have happened with yabby
     after the last version.

     A. Other programs mentioned in this document
     

          The following programs have been mentioned previously in this
     document, and are copyright products.

     Program Name             Copyrighted To
     

     Binkley Term             Bit Bucket Software
     IMail                    Fabiano Fabris
     QMail                    Greg Dawson
     Front Door               Advanced Engineering sarl
     GoldEd                   Odinn Sorensen
     TosScan                  Joaquim H. Homrighausen
     XlaxNode                 Scott Samet



















     
       YaBom V1.10                                            Page : 27
