home *** CD-ROM | disk | FTP | other *** search
/ synchro.net / synchro.net.tar / synchro.net / modem.madness / SMMNETML / REGN111.ZIP / REGNODE.PRN < prev    next >
Encoding:
Text File  |  1993-01-06  |  22.8 KB  |  564 lines

  1.  
  2.  
  3.  
  4.                                   RegNode
  5.                             ~~~~~~~~~~~~~~~~~~~
  6.  
  7.  
  8.                             REGISTER NODE v1.10
  9.             (C) COPYRIGHT 1993, The SDN Project, Ray L. Kaliss
  10.                             ALL RIGHTS RESERVED
  11.  
  12.  
  13.  (I didn't know how bad the first version was!)
  14.  
  15.  
  16.  
  17. WARRANTIES
  18. ~~~~~~~~~~
  19. No warranties of any  kind.  Just because I could get  it to work doesn't
  20. mean I  wrote it well enough  so you could  get it to work.   Use RegNode
  21. entirely at your own risk.  I accept no liability whatsoever.
  22.  
  23.  
  24.  
  25. LICENSE
  26. ~~~~~~~
  27. SDN   International(sm)  and   IFDC   (International  File   Distribution
  28. Cooperative) networks are free to use this software for amateur purposes.
  29. These members  are free to  copy it and  share it as  long as they  do so
  30. intact, without change to the software and it's documents.
  31.  
  32.  
  33.  
  34. PURPOSE
  35. ~~~~~~~
  36. RegNode  is  intended to  be  an  easy  way  of compiling  a  listing  of
  37. participating   nodes  in   SDN   International(sm)   and  similar   file
  38. distribution networks.  It's use is not restricted to SDN systems, it may
  39. be  used   freely  by  an  file   distribution  network  member   of  the
  40. International  File Distribution  Cooperative.   Other file  distribution
  41. networks interested may contact me regarding possible use.
  42.  
  43. There are  two major  problems with keeping  a member  node participation
  44. list.  First, the manual effort.  heck..  we GOT computers! The second is
  45. nodes that  drop out  but don't notify  the list  makers to  delete their
  46. entry.  Nodes in the  list but long since gone, are  a confusion to users
  47. and are problems in topology for network managers.
  48.  
  49. What about the  nodelist 'U' flags? Normal users don't  read the nodelist
  50. and some entries are incorrect.   File distribution network managers have
  51. no control  over nodelist user flags,  the nodelist is not  their domain.
  52. The nodelist can represent  some BBS' as being part of  a particular file
  53. distribution network when in fact, they  are not, and visa-versa.  Sysops
  54. are mostly on the ball to put in  user flags, but perhaps not as diligent
  55. at removing them.  Nodelist flags may not represent the real members of a
  56. service.
  57.  
  58. Set up  correctly and  run in  a daily  batch file  with the  AUTOCOMPILE
  59. option set, RegNode will merrily do it's  thing and clean up after itself
  60. too.
  61.  
  62. Traditionally an end site would connect to a manager for files and echo..
  63. managers used  these connections to keep  track.  RegNode being  based on
  64. automatic file attaches..  allows managers to  keep track of systems that
  65. are under their management but link elsewhere.  The registration need not
  66. be sent to the file feed system if the feed system is not the manager, it
  67. can be sent instead to the manager.
  68.  
  69.  
  70.  
  71. THE THEORY
  72. ~~~~~~~~~~~
  73. With RegNode,  managers can approve members,  keep track of  routing, and
  74. compile official participants using automatic  file attache events.  Once
  75. set up, according to a tier of file attach scheduling days, everything is
  76. accomplished automatically without further fuss.  By using a text file as
  77. a  registration, with  the  name  of the  file  itself  being used  as  a
  78. password,  the manager  has  some  control over  who  is  approved to  be
  79. included into the official listing.  The  list itself is kept accurate by
  80. being built new each month, nodes are not carried over monthly.
  81.  
  82. End  nodes  create  a  simple  formatted  text  file  of  information  on
  83. themselves,  their registration,  that  gets file  attached  up to  their
  84. manager during the first week of the month.  EndNode is a utility similar
  85. to RegNode that may work for the end node's needs.
  86.  
  87. When  registrations   arrives  at   the  managers   system,  registration
  88. information  is copied  to  a temporary  storage  file  and the  received
  89. registration file is deleted from the inbound.  Every time RegNode is run
  90. it looks for newly arrived registrations.
  91.  
  92. A managers total  listing of all registrations received is  compiled by a
  93. set  date  according  to  his management  level,  and  the  managers  own
  94. registration information gets appended to the  output file.  A listing of
  95. registrations  that were  not  received for  the month  is  written to  a
  96. report.   By referring  to  the report  and the  last  total listing  the
  97. manager  can determine  who  the missing  node feeds  and  take steps  to
  98. reconnect orphaned nodes.
  99.  
  100. Once compiled, the output listing is ready  to be file attached up to the
  101. next manager..  who processes that list in the same way, which is sent on
  102. up for a regional listing..  which is sent on up for a national listing..
  103. which is sent on  up for an international compile of  the entire listing,
  104. which is then sent to Mars for a galactic..  (oops..  too far)
  105.  
  106.  
  107.  
  108. SETUP
  109. ~~~~
  110. RegNode must be run from the directory  in which it resides.  If no other
  111. configuration file  is named via  command line  parameter it looks  for a
  112. default REGNODE.CFG file.  The configuration file  is pure ASCII text and
  113. can be  edited.  Comment lines  begin with  a semicolon and  are ignored.
  114. Keywords in the configuration file must be left justified and in caps.
  115.  
  116.  
  117.  
  118. INBOUND d:\net\files\
  119.  
  120.           The drive and  path where RegNode is to  look for registration
  121.           update  files sent  in for  processing.   End this  path in  a
  122.           backslash.
  123.  
  124.  
  125.  
  126. OUTPATH d:\hold\
  127.  
  128.            The drive and  directory where you want  your compiled listing
  129.            placed.  where your  file will look for it.   Don't forget the
  130.            trailing backslash.
  131.  
  132.  
  133.  
  134. OUTFILE myreg.reg
  135.  
  136.            The name of the file to write the compiled listing to, even if
  137.            it is only your own registration.  This has to be a legitimate
  138.            DOS file  name.  It is a  password you and your  manager agree
  139.            upon so it should be unique.
  140.  
  141.            If you use RegNode for more than one network and therefore use
  142.            two or more configuration files, be sure that the OUTFILE name
  143.            for each configuration is not the same.
  144.  
  145.  
  146.  
  147. AUTOCOMPILE 2
  148.  
  149.            This option can be used or  commented out.  This tells RegNode
  150.            to compile an outfile only one day a month, on the seventh day
  151.            of the month in our example.  Automatic date compile is active
  152.            when this option is used.  If commented out, then RegNode must
  153.            be forced to compile with  the '-c'parameter.  Setting the day
  154.            as 2 allows  an end node time  to get his registration  to the
  155.            next level before the 7th day when it must be in.
  156.  
  157.  
  158.  
  159. BINKLEYMODE 1:123/123 C
  160.  
  161.            If this verb is uncommented RegNode will create a Binkley/OPUS
  162.            style   file  attach   for  the   outfile.    Give  the   full
  163.            zone:net/node address and "C" if you want Crash mail flavor or
  164.            "H" if you want it put on Hold.  When the outfile is delivered
  165.            by your mailer  it is deleted, so  if you want to  keep a copy
  166.            use the ERRORLEVEL  exit to batch copy the  outfile to another
  167.            directory  to  keep.   This  option  is  not  compatible  with
  168.            FrontDoor or d'Bridge type systems.
  169.  
  170.  
  171. ERRORLEVEL 4
  172.  
  173.            If this option is  uncommented and a level is given  (4 in our
  174.            example)  then  after  a  compile,  RegNode  exits  with  this
  175.            errorlevel.   This can  be  used  by FrontDoor  and  d'Bridge
  176.            systems to call  a file attaching utility to  send the outfile
  177.            with.
  178.  
  179.  
  180.  
  181. @SDN
  182.            The '@'  symbol is  the start of  three lines  of registration
  183.            information.  '@SDN' tells us you are registering for SDN file
  184.            network and tells RegNode to copy the next three lines with it
  185.            as one registration.  If a fourth line of feed nodes is found,
  186.            it will copy that too, but no more than four lines.
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193. Other utilities can also do the file attaching, such as Squish.  By using
  194. the ERRORLEVEL  option you  could use  SQUISH to  send the  outfile, like
  195. this...
  196.  
  197.  
  198.                'Squish SEND c:\hold\12963.sdf 1:141/846'
  199.  
  200.  
  201. Keep in  mind that RegNode completely  re-writes (if it  already existed)
  202. the  outfile during  Compile, so  if  you want  to  keep a  copy use  the
  203. ERRORLEVEL to make a save copy to another path.
  204.  
  205. As a safety, RegNode  will not compile twice on the same  day if it finds
  206. that the  named outfile  exists on  the outpath  and that  files date  is
  207. today's date.  This prevents the accidental loss of the entire listing if
  208. say for some reason your nightly event batch file loops through more than
  209. one time  (a common  BBS blight :)  Of course if  you start  your nightly
  210. maintenance before 12 midnight and it  loops over and over past midnight,
  211. your system date changes  and you will now get an  over-write.  Or if you
  212. run  it in  a maintenance  event  twice on  one  day and  the outfile  is
  213. actually sent in between time (being deleted) it will get written anew.
  214.  
  215.  
  216. Example configuration for REGNODE.CFG
  217. -------------------------------------------------------------------------
  218. INBOUND: d:\net\file
  219. OUTFILE: ish9272.290
  220. OUTPATH: d:\net\hold
  221. AUTOCOMPILE 2
  222. BINKLEYMODE 1:123:123 H
  223. ERRORLEVEL 5
  224. @SDN
  225. 1:102/234 Bob Royer, TIMES BBS, Nittville Nevada, 102-234-23456
  226. 9600 baud v32 and HST. OPUS system. No subscription. 360megs of files.
  227. 1:102/345 1:102/895 1:203/345 1:203/396
  228. -------------------------------------------------------------------------
  229.  
  230. You  can check  to  see if  you have  formatted  your configuration  file
  231. correctly by running RegNode -t (test mode).
  232.  
  233.  
  234.  
  235. FDN REGISTRATION
  236. ~~~~~~~~~~~~~~~~
  237. Many nodes  might receive the distributed  file areas, but you  only want
  238. the nodes who adhere to policy and  are approved to appear in an official
  239. listing.   The registration  RegNode  uses is  a  short  ASCII text  file
  240. containing only  four or  five lines.   Although you  may put  up to  100
  241. characters to a line, each line except the routing line should be kept no
  242. longer than 80 characters in order to be easily read on screen.  Keep all
  243. lines left justified.  The routing line can be up to 100 characters long,
  244. some  systems may  need all  of this  and  more.  Lines  longer than  100
  245. characters will mess up how your entry looks in the listings.
  246.  
  247.  
  248. Example End Node Registration
  249. -----------------------------------------------------------------------
  250. @SDN
  251. 1:141/865 Andre Normandin, The Ultimate BBS, Meriden CT USA 203-345-5666
  252. No subscription. SDS/SDN/UTL/GSD HSTDS 9600 v32bis, special utilities.
  253. 1:141/840 1:109/119 1:141/820 1:141/375 1:219/22
  254. -----------------------------------------------------------------------
  255.  
  256.  
  257. Lines after the @ flag.
  258.  
  259. The FIRST  line is your  full 3D node address  then your name,  your BBS
  260. name, your  city, state or providence,  your countries initials  and your
  261. BBS phone number.  Try to fit it all in screen width of 80 characters.
  262.  
  263. The Second line is  free form.  If you could not  fit everything from the
  264. first line  on the first  line, carry over to  this line, then  you might
  265. like to mention  your baud, file and echo interests..   whatever you want
  266. other to know about your system.
  267.  
  268. The THIRD line is  your routing line.  The first node  number is the node
  269. that feeds _you_ ..   the rest are nodes you feed  directly.  Use full 3D
  270. node addresses for  all (zone:net/node).  If every node you  feed can not
  271. fit into  80 characters you  may use another line,  a fourth line,  for a
  272. total of two  routing lines.
  273.  
  274.  
  275. Example Managers Registration
  276. -----------------------------------------------------------------------
  277. @SDN Eastern Star Manager USA
  278. 1:132/119 Gordon Green, Cuckoo's Nest BBS, Hudson, NH, USA 603-880-1158
  279. SDN Eastern Star Manager. Regional Echo Coordinator. SDS Coordinator.
  280. 1:141/840 1:141/80 1:323:14 1:324/235 1:465/3453 1:234/3456 1:104/345
  281. 1:879/3456 8:400/345 1:102/1 1:102/45
  282. -----------------------------------------------------------------------
  283.  
  284. Gordon is registering for  the SDN list, he is SDN  Eastern Star Manager,
  285. note he  enters his  managers position  on the  top line.   Only managers
  286. should use the top line for anything  else besides the @SDN flag.  Notice
  287. Gordon feeds quite a few of nodes and has to use the limit of two routing
  288. lines.
  289.  
  290.  
  291. LISTING ACCEPTED NODES
  292. ~~~~~~~~~~~~~~~~~~~~~~
  293. Create an ASCII  text file named REGNODE.LST  or edit the sample  one and
  294. put it into the  same directory as RegNode.  This text  file will contain
  295. the unique file names you and the node you will accept registrations from
  296. have agreed upon.   It should also contain a bit  of personal information
  297. on each node.   RegNode will _only_ look  for and process the  file names
  298. that  appear in  this listing.   As a  manager of  the file  distribution
  299. network you can approve nodes you feel have complied with network policy,
  300. while barring others from being added to the official listing.
  301.  
  302. Here are some example lines for REGNODE.LST
  303.  
  304. --------------------------------------------------------------------
  305. 1qazwsx.reg   Jim Dither, The Blast BBS System, Silver City 102/222
  306. 297yet.reg    Tom Thumb, The Layer, Arlington, 102/234
  307. MANAGERS
  308. bingo12.222   Bill Downing, SDN Net Manager in Jefferson, 405/3456
  309. --------------------------------------------------------------------
  310.  
  311. File names must be left justified, followed by a space and then I suggest
  312. listing the sysop's name and node address.   Keep it all to one text line
  313. about 80 characters total.  Nodes listed before the MANAGERS verb will be
  314. processed for only one registration, nodes listed after the MANAGERS verb
  315. are  assumed to  be sending  a registration  with multiple  registrations
  316. inside.   If you  are only  receiving single  registrations then  comment
  317. MANAGERS out  and only one  registration listing  will be taken  from all
  318. incoming files even if they have more inside.
  319.  
  320.  
  321.  
  322. ENDNODE REGISTRATIONS
  323. ~~~~~~~~~~~~~~~~~~~~~~
  324. End  node  do  not  need  RegNode..  they  have  no  nodes  sending  them
  325. registrations, but to  be in the compiled  listing they have to  send you
  326. their registration monthly.   They agree with you on a  unique file name,
  327. then edit in their information as shown  above, and file attach it to you
  328. during the  first week of the  month.  This can  be done by them  by file
  329. attaching a copy of  thier registration with a file attach  utility or by
  330. using EndNode on a  monthly event basis.  
  331.  
  332.  
  333.  
  334. OPERATIONS
  335. ~~~~~~~~~~
  336. Regnode  will   always  operate  in   Append  mode  (scan   for  incoming
  337. registrations and  append them to  a temporary  file).  The only  time it
  338. does  not  append  is  in  Test  mode   (-t)  when  you  can  check  your
  339. configuration file with it.  When Compileing it first looks for processes
  340. any new incoming registrations before it compiles.
  341.  
  342. You can pass RegNode two command line parameters.
  343.  
  344. [-t]
  345.  
  346.      regnode -t
  347.  
  348.           TEST  can  be used  to  be  certain  you have  formated  your
  349.           configuration file  correctly.  I suggest  you run  this test
  350.           mode first to see if all  is right and the configuration file
  351.           is parsed  correctly.  Nothing  is done  in this  mode except
  352.           parse the config file and show you the results.
  353.  
  354.  
  355. [-c]
  356.  
  357.     regnode -c
  358.  
  359.           COMPILE  forces a  compile despite  the AUTOCOMPILE  setting.
  360.           When  used,  RegNode   will  look  for  any   other  incoming
  361.           registrations,  process and  delete  them,  process your  own
  362.           registration, and write a report  of missing registrations in
  363.           REGNODE.RPT.  Your  outfile is now  ready for  file attaching
  364.           upstream. 
  365.  
  366.  
  367. If you want RegNode to use a different configuration file you can specify
  368. it's  name on  command  line.  Any  parameter without  a  leading '-'  is
  369. considered the name of a configuration file for RegNode to use instead of
  370. it's own default.  DO NOT enter an extension.
  371.  
  372.  
  373.        regnode winnet
  374.  
  375.           This tells RegNode  to use the WINNET.CFG file  and names all
  376.           files  associated  with  keeping track  of  registrations  as
  377.           WINNET.(xxx)
  378.  
  379.  
  380.        regnode -t sds
  381.  
  382.           Calling  RegNode  as above,  it  will  test it's  reading  of
  383.           'sds.cfg' as a configuration file.
  384.  
  385.        regnode -c dvnnet
  386.  
  387.           Calling  RegNode  this   way  forces  it  to   compile  using
  388.           'dvnnet.cfg' as a configuration file and names all associated
  389.           tracking files DVNNET.(xxx)
  390.  
  391.        regnode lannet -c
  392.  
  393.           This,  does not  fly  because the  switch  is  not the  first
  394.           parameter.  I  don't know  what will happen  if you  do this.
  395.           Don't do this.
  396.  
  397.  
  398.  
  399.  
  400. COMPILATION DATES
  401. ~~~~~~~~~~~~~~~~~
  402. Naturally, to get  the RegNode concept to work,  different level managers
  403. must compile on different dates.  All  end nodes should file attach their
  404. registrations by  the 7th of each  month.  All Net level  managers should
  405. compile and  attach on  the 8th  day of  each month,  all Regional  level
  406. managers should compile and attach on  the 16th, all Star systems compile
  407. on the 24th  and the new total listing  should be compiled on  the 1st of
  408. each month and published.
  409.  
  410.  
  411.      ┌────────────────────┬───────────────────────────────────────┐
  412.      │  Manager Level     │  Date of Month for Compile and Attach │
  413.      ├────────────────────┼───────────────────────────────────────┤
  414.      │  (End Nodes)       │  Compile and send before or on 2nd    │
  415.      │  Net Managers      │  Compile and send before or on 8th    │
  416.      │  Regional Managers │  Compile and send before or on 16th   │
  417.      │  Star Managers     │  Compile and send beofre or on 24th   │
  418.      │  Published         │  Compile/publish on 1st of new month  │
  419.      └────────────────────┴───────────────────────────────────────┘
  420.  
  421.  
  422.  
  423. REGNODE.REG
  424. ~~~~~~~~~~~
  425. In  order for  RegNode not  to step  on itself  and allow  time for  your
  426. compiled  file  attach  to  be  sent,   the  actual  outfile  listing  of
  427. registrations is  not written until  RegNode compiles.   Between compiles
  428. incoming registrations already processed are stored in REGNODE.REG in the
  429. default directory.  Upon  compile, if the outfile does not  yet exist, it
  430. is created, if it does exist it is  assumed to be last months copy and is
  431. re-written with  this months registrations.   REGNODE.REG is  deleted and
  432. the whole process is ready for to start a new cycle.
  433.  
  434.  
  435.  
  436. LIMITATION
  437. ~~~~~~~~~~
  438. RegNode  will  inform  the  manager  if  any  nodes  listed  in  his  own
  439. REGNODE.LST are missing.  With the case of  a lower manager sending you a
  440. listing that consists  of a few nodes,  RegNode has no way  of telling if
  441. any nodes are missing from his list, only if his list is missing.
  442.  
  443.  
  444.  
  445. MULTI-REGISTRATION
  446. ~~~~~~~~~~~~~~~~~~
  447. RegNode can be used  to create multiple listings, how this  is dealt with
  448. at the top depends on the software used at the top for the final sort and
  449. processing.  Consult with your manager if you feel you need more than one
  450. listingfor your site.
  451.  
  452.  
  453.  
  454. REGNODE FILE NAMES
  455. ~~~~~~~~~~~~~~~~~~
  456. RegNode can be used to append and compile registration for different file
  457. distribution networks.   If you do not  pass RegNode a  new configuration
  458. file name to use, it uses all it's working file names as REGNODE.(xxx) by
  459. default.
  460.  
  461. If you pass RegNode a command line parameter other that -t or -c it takes
  462. it for granted you  have passed it another configuration file  to use for
  463. all of  it's work.  In  this way one manager  can make Regnode  do double
  464. duty for  two or  more file networks.   If you  do use  two configuration
  465. files be sure not to use the same OUTFILE name for both.
  466.  
  467.  
  468.     Default Names:  REGNODE.CFG (configuration information)
  469.                    *REGNODE.TMP (temporary registration info storage)
  470.                     REGNODE.RPT (report missing nodes after compilation)
  471.                     REGNODE.LST (listing of accepted registration files)
  472.                    *REGNODE.REG (a listing of nodes appended to date)
  473.                     REGNODE.EXE (the compiler)
  474.  
  475.        * Designates files which are used, then deleted on compile.
  476.  
  477.  
  478. If you call Regnode like this:
  479.  
  480.             regnode sdsnet
  481.  
  482.     The New Names:  SDSNET.CFG  (configuration information)
  483.                    *SDSNET.TMP  (temporary registration info storage)
  484.                     SDSNET.RPT  (report after compilation)
  485.                     SDSNET.LST  (listing of accepted registration files)
  486.                    *SDSNET.REG  (a listing of nodes appended to date)
  487.                     REGNODE.EXE (the compiler)
  488.  
  489.  
  490.  
  491. ERRORLEVEL & BATCH
  492. ~~~~~~~~~~~~~~~~~~~
  493. RegNode is designed to be run once a  day by batch or command line.  When
  494. using the AUTOCOMPILE day option, you should  not run it after every mail
  495. event or more than  once a day.  It should be place in  your once a night
  496. maintenance event  and your  daily maintenance event  should be  run just
  497. after midnight.
  498.  
  499. When RegNode ends, it  will end by passing DOS one  of four errorlevels.
  500.  
  501.       (1)  If something goes wrong (could not find configuration)
  502.       (2)  If everything ran OK
  503.       (3)  If RegNode created a report of missing nodes
  504.  
  505.       (?)  If ERRORLEVEL is used then this level is given whenever a
  506.               compile is done.
  507.  
  508. An example of batch file to run RegNode in for a daily event follows.  It
  509. is assumed you have  set your compile date in the  configuration.  If run
  510. on any  day except  the compile  day..  either  all runs  OK (exit  2) or
  511. RegNode had problems (exit 1) and nothing  was done.  In this batch file,
  512. on the  compile date,  if a  report is written  it is  copied to  a \HOLD
  513. directory where the sysop will read it later.  ERRORLEVEL is used and set
  514. to 4.
  515.  
  516.                  ECHO OFF
  517.                  REGNODE.EXE
  518.  
  519.                  IF ERRORLEVEL 4 GOTO COMPILED
  520.                  IF ERRORLEVEL 3 GOTO REPORT
  521.                  IF ERRORLEVEL 2 GOTO END
  522.  
  523.                  ECHO RegNode had a system configuration error!!!
  524.                  PAUSE
  525.                  GOTO END
  526.  
  527.                  :COMPILED
  528.                  COPY D:\HOLD\MYREGS.REG D:\STORAGE
  529.                  GOTO REPORT
  530.  
  531.                  :REPORT
  532.                  COPY *.RPT D:\STORAGE
  533.                  DEL *.RPT
  534.                  GOTO END
  535.  
  536.                  :END
  537.  
  538.  
  539.  
  540.  
  541. LAST WORDS
  542. ~~~~~~~~~~
  543. RegNode is  for the  use of  IFDC sysops  only.  Other  file distribution
  544. networks that  may wish  to use RegNode  or some  modification of  it are
  545. welcome to drop me netmail.  Future revisions are contemplated.
  546.  
  547. My thanks to Tom Hendricks, SDS Coordinator, who assisted with developing
  548. the idea of RegNode.
  549.  
  550. My thanks  to Gordon  Green, SDN  Easter Star  for testing  some of  it's
  551. operations.
  552.  
  553. Thanks to all sysops who use it and make life easier for us managers.
  554.  
  555.  
  556. Comments of a constructive nature are welcome.
  557.  
  558.  
  559.                                                    *ray kaliss
  560.                                                    SDN Project Manager
  561.                                                    1:141/840@fidonet
  562.  
  563. /eof
  564.