home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / FSC.ZIP / FSC-0002.TXT < prev    next >
Text File  |  1988-01-02  |  16KB  |  374 lines

  1. FSC-0002
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                            The Distribution Nodelist
  8.  
  9.                               by Ben Baker, 100/76
  10.  
  11.  
  12.  
  13.           Copyright (c)  1986, 1987 International FidoNet Association.  All
  14.      rights reserved.   Duplication  and or distribution permitted for non-
  15.      commercial purposes only.
  16.  
  17.  
  18.  
  19.           This document  defines the format and content of the nodelist for
  20.      the Public FidoNet Network (PFN) as published each Friday.
  21.  
  22.           The PFN  is an international network of independently owned elec-
  23.      tronic mail  systems, most with interlocking electronic bulletin board
  24.      systems.  The distribution nodelist, or simply "nodelist," is the glue
  25.      which holds the network together.  It is the PFN's "phone book" and it
  26.      defines the top-level network structure.
  27.  
  28.           The  nodelist   is  published   as  an   ASCII  text  file  named
  29.      NODELIST.nnn, where  nnn is  the day-of-year of the Friday publication
  30.      date.  This file is packed into an archive file (by System Enhancement
  31.      Associates' ARC utility) named NODELIST.Ann, where nn are the last two
  32.      digits of day-of-year.
  33.  
  34.           A companion  file, COORD.nnn, lists the coordinators of the vari-
  35.      ous regions  and local  networks which  constitute the PFN.  This file
  36.      may be created from NODELIST.nnn by the program COORD.EXE, distributed
  37.      by many PFN bulletin boards.
  38.  
  39.           As stated above, NODELIST.nnn is an ASCII text file.  It contains
  40.      two kinds of lines, comment lines and data lines.  Each line is termi-
  41.      nated with  an ASCII carriage return and line feed character sequence,
  42.      and contains no trailing white-space (spaces, tabs, etc.). The file is
  43.      terminated with  an end-of-file  character (EOF  -  decimal  character
  44.      value - 26).
  45.  
  46.           Comments lines contain a semicolon (;) in the first character po-
  47.      sition followed by zero or more alphabetic characters called "interest
  48.      flags." A  program which processes the nodelist may use comment inter-
  49.      est flags  to determine the disposition of a comment line. The remain-
  50.      der of a comment line (with one exception, treated below) is free-form
  51.      ASCII text.  There are five interest flags defined as follows:
  52.  
  53.           ;S This comment is of particular interest to System Operators.
  54.  
  55.           ;U This comment is of particular interest to BBS users.
  56.  
  57.           ;F This comment should appear in any formatted "Fido List."
  58.  
  59.           ;A This comment is of general interest (shorthand for ;SUF).
  60.  
  61.  
  62.                                         1
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.           ;E This comment is an error message inserted by the nodelist gen-
  70.                erating program MakeNL.
  71.  
  72.           ; This comment may be ignored by a nodelist processor.
  73.  
  74.           The first line of a nodelist is a special comment line containing
  75.      identification data  for the  particular edition of the nodelist.  The
  76.      following is an example of the first line of a nodelist:
  77.  
  78.      ;A FidoNet Nodelist for Friday, July 3, 1987 -- Day number 184 : 15943
  79.  
  80.           This line  contains the  general interest flag, the day, date and
  81.      day-of-year number  of publication,  and ends  with a  5-digit decimal
  82.      number with  leading zeros,  if necessary.  This number is the decimal
  83.      representation of a check value derived as follows:
  84.  
  85.           Beginning with  the first  character of the second line, a 16-bit
  86.      cyclic redundancy  check (CRC)  is calculated  for  the  entire  file,
  87.      including carriage  return and line feed characters, but not including
  88.      the terminating  EOF character.  The check polynomial used is the same
  89.      one used for many file transfer protocols:
  90.  
  91.           2**16 + 2**12 + 2**5 + 2**0
  92.  
  93.           The CRC  may be used to verify that the file has not been edited.
  94.      The importance  of this  will become  evident  in  the  discussion  of
  95.      NODEDIFF, below.   CRC  calculation techniques  are well documented in
  96.      the literature, and will not be treated further here.
  97.  
  98.           The content  of the  remaining comments  in the  nodelist are in-
  99.      tended to  be informative.   Beyond the use of interest flags for dis-
  100.      tribution, a processing program need not have any interest in them.
  101.  
  102.           A nodelist data line contains eight variable length "fields" sep-
  103.      arated by commas (,).  No space characters are allowed in a data line,
  104.      and underscore characters (_) are used in lieu of spaces.  The follow-
  105.      ing discussion defines the contents of each field in a data line.
  106.  
  107.  
  108.  
  109.      Field 1: Key-word
  110.  
  111.           The keyword  field may  be empty,  or  may  contain  one  of  the
  112.           following:
  113.  
  114.           Zone --  begins the  definition of  a geographic zone and defines
  115.                its coordinator.   All  the data lines following a line with
  116.                the Zone  keyword down to, but not including the next occur-
  117.                rence of a Zone line, are regions, nets and nodes within the
  118.                defined zone.
  119.  
  120.           Region --  begins the  definition of  a geographic region and de-
  121.                fines its  coordinator.  All the data lines following a line
  122.                with the  Region keyword down to, but not including the next
  123.  
  124.                                         2
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.                occurrence of  a Region  or Host line, are independent nodes
  132.                within the defined region.
  133.  
  134.           Host --  begins the definition of a local network and defines its
  135.                Host.   All the  data lines  following a  line with the Host
  136.                keyword down  to, but not including the next occurrence of a
  137.                Region or Host line, are local nodes, members of the defined
  138.                local network.  The difference  between a region and a local
  139.                network is  in the routing of messages.  A message addressed
  140.                to a  member of  a region  is sent  direct to the addressee,
  141.                while a  message to  a member  of a local network is sent to
  142.                the network host.
  143.  
  144.           Hub --  begins the  definition of  a routing  sub-unit  within  a
  145.                multi-level local  network.   The Hub  is the  routing focal
  146.                point for nodes listed below it until the next occurrence of
  147.                a Hub,  Region, Host or Zone keyword.  The Hub entry MUST be
  148.                a redundant  entry, with  a unique  number, for  one of  the
  149.                nodes listed  below it.   This  is  necessary  because  some
  150.                nodelist processors  eliminate these  entries in all but the
  151.                local network.
  152.  
  153.           Pvt --  defines a  private node  with unlisted  number.   Private
  154.                nodes are only allowed as members of local networks.
  155.  
  156.           Hold --  defines a  node which  is temporarily down.  Mail may be
  157.                sent to it and is held by its host or coordinator.
  158.  
  159.           Down -- defines a node which is not operational.  Mail may NOT be
  160.                sent to it.
  161.  
  162.           <empty> -- defines a normal node entry.
  163.  
  164.      Field 2 - Net/Node number
  165.  
  166.           This field  contains only  numeric digits  and is a number in the
  167.           range of  0 to  32767.   If the line had the Zone, Region or Host
  168.           keyword, the  number is  the zone,  net or region number, and the
  169.           node has  an implied  node number of 0.  Otherwise, the number is
  170.           the node  number.   The region or net number and the node number,
  171.           taken together, constitutes a node's FidoNet address.
  172.  
  173.           Zone numbers  must be  unique.   Region or  Net numbers  must  be
  174.           unique within  their Zone.   Other  numbers must be unique within
  175.           their respective units.
  176.  
  177.      Field 3 - Node name
  178.  
  179.           This field  may contain  any characters except commas and spaces.
  180.           Underscores are  used to  represent spaces.   This is the name by
  181.           which the node is known.
  182.  
  183.  
  184.  
  185.  
  186.                                         3
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.      Field 4 - Location
  194.  
  195.           This field  may contain  any characters except commas and spaces.
  196.           Underscores are  used to  represent spaces.   This field contains
  197.           the location  of the  node.   In the US it is typically "City_ST"
  198.           where ST is the standard two-letter abbreviation for the state.
  199.  
  200.      Field 5 - Sysop name
  201.  
  202.           This field  may contain  any characters except commas and spaces.
  203.           Underscores are  used to  represent spaces.   This is the name of
  204.           the system operator.
  205.  
  206.      Field 6 - Phone number
  207.  
  208.           This field  contains at least three and usually four numeric sub-
  209.           fields separated  by dashes  (-).  The fields are country code (1
  210.           for USA and Canada), city or area code, exchange code and number.
  211.           The various  parts of  the phone  number are  frequently used  to
  212.           derive cost and routing information, as well as what number is to
  213.           be dialed.  A typical example of the data in a phone number field
  214.           is 1-800-555-1212,  corresponding to  country 1  (USA), area  800
  215.           (inward WATS), exchange 555 and number 1212.
  216.  
  217.           Alternatively,   this    field   may    contain   the    notation
  218.           "-Unpublished-" in the case of a private node.  In this case, the
  219.           keyword "Pvt" must appear on the line.
  220.  
  221.      Field 7 - Baud rate
  222.  
  223.           This field  contains one  of the values: 300, 1200, 2400 or 9600,
  224.           and defines the maximum baud rate supported by the node.
  225.  
  226.      Field 8 - Flags
  227.  
  228.           This optional field contains data about the specific operation of
  229.           the node,  such as  special hours, modem protocol supported, etc.
  230.           Any text  following the  sixth comma on a data line is taken col-
  231.           lectively to be the flags field.  For this reason, it may contain
  232.           any characters including spaces and even commas.  It has a recom-
  233.           mended format, but that format is not now guaranteed.  The recom-
  234.           mended format  is zero  or more  subfields  separated  by  commas
  235.           consisting of  a flag  code, followed  by a  colon (:),  possibly
  236.           followed by a value.
  237.  
  238.           The following codes are used to define operating hours:
  239.  
  240.                Code Meaning
  241.  
  242.                DA: Daily
  243.                WK: Week days
  244.                WE: Week ends
  245.                SU: Sundays SA: Saturday
  246.                MO: Mail Only
  247.  
  248.                                         4
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.           The following codes define special operating conditions:
  256.  
  257.                Code Meaning
  258.  
  259.                RE: Node exercises some access restrictions.
  260.                XP: Node that supports the extended protocol which    means
  261.                it supports file request and update request.
  262.  
  263.           The following codes define modem protocols supported:
  264.  
  265.                Code Meaning
  266.  
  267.                CT1: 300 baud CCITT (V21)
  268.                CT2: 1200/75 split baud rate view data mode (V23)
  269.                CT3: 1200 baud full duplex (V22)
  270.                CT4: 2400 baud full duplex (V22bis)
  271.  
  272.                NOTE: Many V22 modems also support Bell 212
  273.  
  274.           The following  codes define  the dedicated mail periods supported
  275.           They have the form "#nn" or !nn where nn is the GMT hour the mail
  276.           period begins, # indicates Bell 212 compatibility and ! indicates
  277.           incompatibility with Bell 212:
  278.  
  279.  
  280.                #02: European mail hour (02:30 - 03:30 GMT)
  281.                #09: North American mail hour (09:00 - 10:00 GMT)
  282.                #18: Western Pacific mail hour (18:00 - 19:00 GMT)
  283.                #CM: Accepts mail 24 hours per day
  284.  
  285.                When applicable, the mail period flags may be strung
  286.                together with no intervening colons, eg.  "#02#09:"
  287.  
  288.  
  289.  
  290.           The following are examples of nodelist data lines:
  291.  
  292.      Host,102,SOCALNET,Los_Angeles_CA,Richard_Martz,1-213-874-9484,2400,XP:
  293.           ,101,Rainbow_Data,Culver_City_CA,Don_Brauns,1-213-204-2996,2400,
  294.  
  295.  
  296.  
  297.           With more  than a  thousand nodes,  the nodelist, even in archive
  298.      form, is  a substantial document (or file).  Since distribution is via
  299.      electronic file  transfer, this  file is  NOT  routinely  distributed.
  300.      Instead, when a new nodelist is prepared, it is compared with the pre-
  301.      vious week's  nodelist, and  a file containing only the differences is
  302.      created and distributed.
  303.  
  304.           The distribution file, called NODEDIFF.nnn, where nnn is the day-
  305.      of-year of  publication, is  actually an  editing  script  which  will
  306.      transform the  previous week's  nodelist into the current nodelist.  A
  307.      definition of its format follows:
  308.  
  309.  
  310.                                         5
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.           The first line of NODEDIFF.nnn is an exact copy of the first line
  318.      of LAST  WEEK'S nodelist.  This is  used as  a first-level  confidence
  319.      check to  insure that  the right file is being edited.  The second and
  320.      subsequent lines are editing commands and editing data.
  321.  
  322.           There are three editing commands and all have the same format:
  323.  
  324.                <command><number>
  325.  
  326.           <command> is  a 1-letter command; A, C or D.  <number> is a deci-
  327.      mal number  greater than  zero, and  defines the number of lines to be
  328.      operated on by the command.  Each command appears on a line by itself.
  329.      The commands have the following meanings:
  330.  
  331.           Ann - Add the following nn lines to the output file.
  332.  
  333.           Cnn - Copy nn unchanged lines from the input to the output file.
  334.  
  335.           Dnn - Delete (or skip) nn lines from the input file.
  336.  
  337.           The following  illustrate how the first few lines of NODEDIFF.213
  338.      might look:
  339.  
  340.           ;A Friday, July 25, 1986 -- Day number 206 : 27712
  341.           D2
  342.           A2
  343.           ;A Friday, August 1, 1986 -- Day number 213 : 05060
  344.           ;A
  345.           C5
  346.  
  347.           This fragment  illustrates all three editing commands.  The first
  348.      line is  the first line from NODELIST.206.  The next line says "delete
  349.      the first  two lines  from NODELIST.206.  These are the identification
  350.      line and  the line  following it.  The next command says "add the next
  351.      two lines  to NODELIST.213.  The two data lines are followed by a com-
  352.      mand which  says "copy  five  unchanged  lines  from  NODELIST.206  to
  353.      NODELIST.213.   Notice that  the first  line added will ALWAYS contain
  354.      the new nodelist's CRC.
  355.  
  356.           Since only  the differences  will be distributed, it is important
  357.      to insure  the accuracy  of the  newly created  nodelist.  This is the
  358.      function of  the CRC  mentioned above.  It is sufficient for a program
  359.      designed to  perform the  above edits  to pick  the CRC value from the
  360.      first line  added to the output file, then compute the CRC of the rest
  361.      of the  output file.   If  the two CRCs do not agree, one of the input
  362.      files has  been corrupted.   If they do agree, the probability is very
  363.      high (but not 100%) that the output file is accurate.
  364.  
  365.           For actual  distribution, NODEDIFF.nnn  is packed into an archive
  366.      file named  NODEDIFF.Ann, where  nn are the last two digits of day-of-
  367.      year.
  368.  
  369.  
  370.  
  371.  
  372.                                         6
  373.  
  374.