TIC2NOTS.DOC

15.3 KB df924addcc7f3014…


                                   Betatic.doc

                Tick 1.31 -

                * Fixed a minor bug that could allow an invalid  AKA  to  be
           used in rare cases.

                * First attempt at instituting the SECONDARY areas.   If you
           ever followed the AREA name in the TIC.CFG file  with  something,
           you  might  have  encountered  the  message about not finding the
           secondary area.   That was a result of code that  was  only  par-
           tially implemented.  Now to explain what a secondary area is, and
           how it works:

                AREA c:\dir\dir2\boo SOFTDIST R13DIST

                The line above is the start of an area block that declares a
           primary  area  tag  of  SOFTDIST,  and  a  secondary  area called
           "R13DIST".  R13DIST MUST be defined as the primary tag of another
           AREA block.

                What will happen  is  this:    If  a  file  is  received  in
           SOFTDIST,  the  file  will  be  echoed  to the nodes listed under
           SOFTDIST (with a file-echo-tag of SOFTDIST),  and  to  the  nodes
           listed  in  R13DIST  (with  a  file-echo-tag of R13DIST).   Files
           received in R13DIST will NOT echo into SOFTDIST,  unless SOFTDIST
           is also a secondary area for R13DIST.

                Files  entering  your  node  will be tossed to the SECONDARY
           area's toss-to directory if a secondary area is defined.  (It can
           be the same as the primary area's directory.)  The  exception  to
           this  is  if STOPDUP is active.   In that event,  if the file has
           been seen in the secondary area but not in the primary  area,  it
           will toss to the primary area.

                If  STOPDUP  is active,  echo will be suppressed in any area
           that has already seen the file.  If the file has been seen in the
           primary, but not the secondary area, only the secondary area will
           receive the outbounds, and vice-versa.  If the file has been seen
           in BOTH areas, the inbound will be failed (renamed to *.BAD).

                The Seenby's for BOTH areas will appear in all the generated
           TICs.   If the same node is listed in both primary and  secondary
           areas, the file will go to that node in the primary area only.

                The  code is not re-entrant.   If the secondary area has its
           own secondary area, a file sent in the primary area will not echo
           all the way down to the 3rd area.  This prevents circular defini-
           tions.

                So what is it good for?  Several things that I can think of,
           and probably a few more I haven't.   In the  SDS,  only  selected
           nodes  are  given  "*"  capability in the national echos.   Using

                                                                           1



                                   Betatic.doc

           secondary areas,  you could have all nodes in a region link  into
           SOFTDIST  via the local echo R13DIST (or whatever you might chose
           to call it).   The local nodes can all be given "*" capability to
           hatch to each other within R13DIST.  The files will flow locally,
           but  not  enter the national echo unless the RC hatches them into
           that echo.  You might choose to use the secondary area feature to
           merge two echos locally,  while maintaining individual echo feeds
           for  those who want or need the distinction.   To do that,  you'd
           have the same secondary area  for  2  (or  more)  primary  areas.
           Another use may come into play when pre-release is a reality.

                *  Please  note that HATCH now asks for "release in how many
           days?"  That is there for pre-release,  and  is  still  disabled.
           (That  code  is  partially there in HATCH,  but not yet in TICK.)
           You may bypass the prompt by including the command line parameter
           "/R0", to tell HATCH to release it in "0" days, (ie - NOW).

                * Defined a new Files.bbs specification.   %8 will print the
           name  of  the PRIMARY area (that the file was received in) to the
           Files.bbs

                * Fixed the Doc file for the next release,  to  correct  the
           keyword LINEFMT to the proper form, LISTFMT.

                ~~~~~~~~~~~~~~~~~~~~

                Tick 1.32 -

                *  Hopefully  have closed a hole in the COPY routine where a
           file could have been copied to a full disk  and  error  not  have
           been  reported.    I  wonder  if this was the cause for occasions
           where TIC's have been sent without the files?

                * Version 1.31 of HATCH can cause some DUPs if both  primary
           and  secondary areas are active and have a duplicated node listed
           in both.  This version should fix that.

                * Have added support for zones 1 - 32767.   This involved  a
           lot of changes, so look for any flaky operations.

                *  If  you  receive a pre-release file,  the planned release
           date should be logged.

                * Tick now partially implements pre-release!!!    Here's how
           it  works:  Within an AREA block,  those nodes that may receive a
           pre-release file before the release date should have a  "P"  flag
           in  the  flag  field.    When  you  HATCH a file,  the prompt for
           "Release in how many days?" is now active.   If  you  just  press
           <enter>,  the  file is a normal file and is not delayed.   If you
           have a file that you want to send as  a  pre-release,  place  the
           file  into  the  QDIR  directory.     (QDIR  should  NEVER  be  a

                                                                           2



                                   Betatic.doc

           downloadable directory).   When the prompt for release days comes
           up, answer with the number of days to delay.  (You may bypass the
           prompt  by  using  the /Rx command line option,  where "x" is the
           number of days to delay.   /R2 delays 2 days,  /R0  is  a  normal
           release.

                If  you  have specified a pre-release file,  then only those
           nodes that have a "P" flag will get the file immediately.  Please
           note that only nodes that are also running TICK  1.32  or  higher
           should be given "P" status.   Those nodes will have TIC's and at-
           taches created.   The TIC's will have the seenbys for  all  nodes
           that will eventually receive the file.   In addition,  there will
           be a "*.TOK" file also created in the HOLD directory.   That file
           resembles a TIC closely, but has the seenby's for the pre-release
           nodes only.

                Each  time  you run TICK 1.32+,  the program will first scan
           the HOLD directory for TOK files.   If it finds any,  it examines
           them  to  see  if  the associated pre-release file is "ripe" yet.
           When it is,  the file is moved to the destination  (downloadable)
           directory, the FILES.BBS is updated, and new attaches are created
           to those nodes that do not have the "P" flag.

                THIS IS ONLY PARTIALLY IMPLEMENTED YET ...  What I will need
           to do is to provide for the case where the file is "ripe" but all
           the "P" flagged nodes have not yet received the file.    In  that
           instance, the existing file attaches will become invalid when the
           file  is moved.   I need to write code that will look for any un-
           delivered attaches for that file,  and alter the FLO  or  MSG  to
           point to the proper place.   Right now that hasn't been coded, so
           if all "P" nodes have not had their files  delivered  before  the
           time comes, they won't get them at all.

                Pre-release  can be set up in two ways.   Currently,  in the
           SDS the public echos go not only to the SDS  nodes,  but  to  the
           "end-user"  nodes  as  well.    If  files are to be directly pre-
           released into the public echos such as SOFTDIST,  then  any  node
           that  receives  pre-release files in that fashion must be running
           1.32 or higher,  as lower numbered version will forward all files
           without reservation, as will FLEA (with minor reservation).  This
           could still be used in this fashion if all SDS RC's decide to run
           the new TICK when it's ready.   The second way,  and probably the
           more secure way,  would be to set up a separate pre-release  echo
           associated with each public echo.   For example, PRESOFT could be
           associated  with  SOFTDIST,  PREBINK  could  be  associated  with
           SDSBINK,  etc.  When these would be set up, the public area would
           be listed as a secondary area.   Then all  nodes  listed  in  the
           PRExxx  echo could be "P" nodes,  and non-P nodes would be in the
           secondary area.  This way, there would be less chance of acciden-



                                                                           3



                                   Betatic.doc

           tally linking to a non-prerelease node in the public echo.   This
           setup  would  not effect the normal operation of the public echos
           at all.

                EXAMPLE:  AREA d:\prebink PREBINK SDSBINK
                               1:261/662 password *HP
                               1:135/204 passw2 HP

                          AREA d:\sdsbink SDSBINK
                               1:261/662 passw3 *H
                               1:266/13  passw4 C
                               1:132/101 passww C

                In this example, you can receive normal file from 261/662 in
           either PREBINK or SDSBINK.  You can receive Pre-Release file from
           261/662 in PREBINK.  If you receive a normal file in PREBINK, all
           nodes listed in BOTH areas will  get  it  immediately.    If  you
           receive  a  normal  file  in  SDSBINK,  then  only those nodes in
           SDSBINK will receive the file,  and if you receive a  pre-release
           file  in PREBINK,  then it will be echoed to 135/204 immediately,
           and will be released to the rest of the nodes when it's ripe.

                NOW you should all understand why I was going  to  all  that
           bother to create the "secondary areas" stuff!

                NOTE:  With the addition of pre-release, it's VERY important
           that the TZ environmental variable be set properly.  If it isn't,
           release times will be off.

                KEEP IN MIND THAT THIS IS NOT YET FULLY FUNCTIONAL ... THERE
           IS  NO  PROVISION  YET  FOR  THE  CASE  WHERE  A "P" NODE HAS NOT
           RECEIVED THE FILE BY RELEASE DATE.

                ~~~~~~~~~~~~~~~~~~~~

                Tick 1.33 -


                * Hatch will now log the file  release  information  to  the
           log.

                *  If you are using HATCH with the "No Wait" (/ON) option in
           a batch file,  HATCH will no longer loop back for a new  filename
           if stopdup detects a duplicate entry.   It will now abort with an
           error level 2.

                * TICK now attempts to  determine  if  you  are  running  it
           during  a Seadog mail event,  and will postpone release of a file
           if there are undelivered pre-release attaches for that  file  al-
           ready packetized.


                                                                           4



                                   Betatic.doc

                *  Added  certain  error recovery routines for the "release"
           function ... previously an error would always abort the program.

                ~~~~~~~~~~~~~~~~~~~~~

                Tick 1.34 -

                * Fixed (at least one) error caused by the compiler not fol-
           lowing its documented rules of  precedence.    This  would  cause
           memory trashing and eventual bombing of the program.

                *  Added  additional checks for failed closes after a write,
           (Usually meaning that the disk is out of space).

                * TICK and HATCH now require a TZ to be set to run.  You may
           either set it in the environment before calling  the  program(s),
           or you can add it to the CFG file in the form:

                     TZ EST5EDT

                If  BOTH  are set,  TICK/HATCH will use the one from the en-
           vironment.   No test is done to see that the  value  you  set  is
           valid.  You can lead a horse to water ....

                *  Fixed  the  FROM  line  that HATCH was putting in the TOK
           files.  Right now the FROM line is not used there, but it's there
           in case it comes in handy later.

                * Added new Stopdup support ... Stopdup is now smarter.   If
           you  do nothing,  it will continue to act as before.   Any dupli-
           cated filenames in an area will not echo or toss  if  STOPDUP  is
           defined in the CFG.

                If you add the keyword DupByCRC, and have the CRC2DUP option
           active, then STOPDUP will cause TICK to test not only the NAME of
           the file,  but also the CRC32 of the file.  A "hit" will only oc-
           cur if the the CRC matches as well as the name.   This will allow
           same-named  files to pass Stopdup if the files are different than
           the one previously seen.  If the older / same-named file is still
           in the "toss-to" directory, it will (presently) be overwritten.

                *  If you choose to not set  the  global  DupByCRC  keyword,
           which affects ALL areas, you can selectively still employ the new
           dup-check  routine  in  selected areas of your choice by adding a
           "LOCAL DupByCRC" to the list of LOCAL lines  following  the  AREA
           definition line.






                                                                           5



                                   Betatic.doc

                *    Should  you decide you want to use the CRC dup checking
           routine in most areas,  but wish to exclude a few,  you may place
           the  DupByCRC  keyword  in the CFG,  and add a "LOCAL NoDupByCRC"
           line to the list of LOCAL lines  following  the  AREA  definition
           line.

                *    If you decide to use the newer CRC-based DUP detection,
           any DUP file lines that contain only a filename and no CRC number
           (such as may exist from previously running the  programs  without
           CRC2DUP in the CFG) will be tested by the older stopdup logic.



                     Barry Geller
                          609-482-8604
                               1:266/12




































                                                                           6