home *** CD-ROM | disk | FTP | other *** search
/ The Best of Windows 95.com 1996 September / WIN95_09961.iso / mailsrv / LSV95.ZIP / win95.z / listmast.memo < prev    next >
Text File  |  1995-05-24  |  32KB  |  599 lines

  1.              LISTSERV historical documentation, release 1.5d
  2.              -----------------------------------------------
  3.                        Copyright Eric Thomas 1986
  4.  
  5.  
  6.              *****************************************
  7.              *                                       *
  8.              *  Privileged commands for postmasters  *
  9.              *                                       *
  10.              *****************************************
  11.  
  12.  
  13.  
  14.   This  memo is  a description  of the  commands offered  by the  Revised
  15. LISTSERV to postmasters. It includes a description of privileged postmas-
  16. ter commands,  general information  about the various  data files  on the
  17. LISTSERV minidisk and a (short) maintenance guide.
  18.  
  19.  
  20.  
  21. Defining the postmasters:
  22.  
  23.   Apart from the  LISTSERV userid, which has  full postmaster privileges,
  24. it is mandatory to define at least one postmaster for the LISTSERV machi-
  25. ne. Postmaster accounts  must all be BITNET userid@nodes  and are defined
  26. in LSV$PROF  EXEC ("postmaster"  variable). The  first postmaster  in the
  27. list will be the "main" one and will receive files which have been rejec-
  28. ted by the server. Apart from that, "main" postmastership does not confer
  29. any additional privilege.
  30.  
  31.   "Weaker" postmasters can be defined by including a "cc:" keyword in the
  32. postmasters list. Those  "weak" postmasters will be  "cc:"-ed (instead of
  33. "To:"-ed) whenever  mail is sent to  the postmasters list, and  they will
  34. not be able to issue any CP or CMS (qqv) command to the server. They will
  35. still have full postmaster authority over all the distribution lists, and
  36. will be  able to stop the  server if needs arise  ("STOP"/"SHUTDOWN" com-
  37. mand). Good candidates for "cc:"-postmastership are the system operator
  38. (who must be able to stop the server and will know where to find the main
  39. postmaster in case he gets an error mail from the server), the site direc
  40. tor (in case not a system person) and remote postmasters.
  41.  
  42.   Additionally, it is  possible to define "hidden"  postmasters, who will
  43. not appear on the "Help" command output. For example, it might be desired
  44. to "hide"  the OPERATOR userid so  that he does not  get any error-report
  45. mail from users, while still keeping his full postmaster attributes. Spe-
  46. cifying a "hide:" keyword in the  postmasters list will cause any and all
  47. subsequent userid@nodes to  be hidden. This implies that  you cannot have
  48. both hidden full-prived postmasters  and non-hidden cc:-postmasters. This
  49. is a restriction, et voila.
  50.  
  51.   Note that  a remote cc:-postmaster to  which none of the  passwords has
  52. been communicated is a very weak postmaster indeed... He will not be able
  53. to create lists, nor will he  be allowed to issue any privileged command;
  54. he will not be able to alter  lists unless the password has been communi-
  55. cated to him (or unless there  is no password). He will, however, receive
  56. notification of any severe internal error, and will be able to review all
  57. the lists (and to obtain a  complete list of all the distribution lists).
  58. You should therefore feel free  to give "blind-cc:-postmastership" (as we
  59. might call it) to a relatively  trusted off-node person, for example, the
  60. adjacent node's  system operator, who  could then  drain the link  in the
  61. (quite improbable) case that this system  error caused the server to loop
  62. on a mail-sending operation. This person should probably be "hidden" from
  63. the list, too.
  64.  
  65.  
  66.  
  67. Remote control -- password validation
  68.  
  69.   Because the RSCS network is not proof against userid@node falsification
  70. it was  deemed necessary to  provide a  means whereby any  message coming
  71. from the network  can be validated before being  executed, thus thwarting
  72. possible hacking attempts from UREP  hijackers. Lists can be protected by
  73. a "list password" which is optionally validated on all the list-maintenan
  74. ce commands. A similar scheme has been adopted to protect postmaster com-
  75. mands. In  that case the passwords  that have been adopted  are the list-
  76. creation password ("createpw" variable in  LSV$PROF EXEC) and the remote-
  77. file-storing password  (see PUTC  command description below).  The former
  78. is used  to protect all  the postmaster list-maintenance  commands (which
  79. are available to all classes of  postmasters), while the latter is reser-
  80. ved to CP, CMS, et al. --  commands which are only available to full-priv
  81. postmasters. Since cc:-postmasters are basically list-maintenance persons
  82. they will have  to know the "create" password for  other reasons (eg when
  83. they  have to  create a  new list),  but should  not have  access to  the
  84. "store" password (nor to the  server's logon password). Full-prived post-
  85. masters will have access to all passwords, of course.
  86.  
  87.   For better convenience it was  decided that whenever the "create" pass-
  88. word is required, the "store" password would be accepted as a replacement
  89. since it is a much "stronger" password. Remote full-priv postmasters will
  90. therefore not have to worry about  which password is required by the com-
  91. mand they want to issue -- the "store" password is universal. Furthermore
  92. password validation  is waived whenever  the command has  been physically
  93. entered at  the server's keyboard  or directly sent  to the server  via a
  94. "CP SMSG" or "CP MSG" command from  the local node. In other words, pass-
  95. words must be supplied only when the command comes from the RSCS machine.
  96.  
  97.   It is furthermore possible to disable remote CP, CMS, et al. commanding
  98. by setting  the "storelist" variable to  '' in LSV$PROF. This  will cause
  99. the "store" password not to exist and will disable any command that would
  100. have required it to be specified.
  101.  
  102.  
  103.  
  104. Privileged postmaster commands:
  105.  
  106.   Apart from all the  "postmaster-only" commands, postmasters have access
  107. to all the  commands restricted to list-owners and have  authority to act
  108. upon ANY list exactly as if they "owned" all of them. They must still use
  109. the correct list password, though.
  110.  
  111.  
  112. CMS       command-text                         <PW=storepw>
  113.  
  114. (requires full-postmaster privilege)
  115.   Will execute  the specified  CMS command and  display the  return code.
  116.   Note that there is no protection  against programs which place the vir-
  117.   tual console in VM READ state and can cause CP to terminate the virtual
  118.   machine. I *have* a  program to do that (re-ipl the  machine if you get
  119.   into VM READ  or CMS ABEND), but thought it  wasn't really necessary to
  120.   use it. I could install it  if really needed, though (it's been running
  121.   on all the RELAYs since months without  any problem, so it is safe; the
  122.   only problem is to be sure it cannot cause re-ipl loops).
  123.  
  124.  
  125. Xedit     fn ft <fm <(options>>  (restricted to the LISTSERV userid)
  126.  
  127.   Is functionally identical to "CMS Xedit  ..." It is intended to be exe-
  128.   cuted from  the LISTSERV console  only, and  has no other  purpose than
  129.   to make the  life of the author  a deal easier when he  wants to update
  130.   some LISTSERV exec...
  131.  
  132.  
  133. CP        command-text                         <PW=storepw>
  134.  
  135. (requires full-postmaster privilege)
  136.   Will execute the specified CP  command and display the resulting output
  137.   (trapped via EXECIO), as well as the  return code. This is not the same
  138.   as "CMS CP  command-text", which would not display  the command output.
  139.  
  140.  
  141. DISC                             (restricted to the LISTSERV userid)
  142.  
  143.   Will disconnect the LISTSERV machine.  It is functionally equivalent to
  144.   "CP DISC", and  it's only purpose is to avoid  stressing the postmaster
  145.   when he tries to disconnect the machine...
  146.  
  147.  
  148. SENDFile  fn ft <fm>                            <PW=storepw>
  149. SF
  150.  
  151. (requires full-postmaster privilege)
  152.   Will send  you the requested  file from the appropriate  LISTSERV mini-
  153.   disk, in  Netdata format.  Any file  can be obtained  by means  of this
  154.   command.
  155.  
  156.  
  157. SHUTDOWN <REIPL>                                <PW=createpw or storepw>
  158. STOP      REBOOT
  159.  
  160.   Will shut down the LISTSERV machine. All disk files will be closed, the
  161.   IUCV-trap will be reset and control  will be returned to CMS unless the
  162.   virtual console is found to be  disconnected, in which case a CP LOGOFF
  163.   command is performed. When the "REBOOT" or "REIPL" option is specified,
  164.   an "IPL CMS  PARM AUTOCR" command will be issued  to reboot the server.
  165.   This allows remote postmasters to  reboot the server after updating one
  166.   of the LISTSERV execs, for example.
  167.  
  168.  
  169. PUT       listname                              <PW=createpw>
  170.  
  171.   By means  of this command postmasters  can update any LISTSERV  list or
  172.   create new lists. A detailed description of the command can be found in
  173.   the list-owner's guide; however, there are some different aspects about
  174.   creating new lists.  Since by definition a "new list"  does not already
  175.   exist, it  will have no "PW="  keyword in it, ie  no explicit password.
  176.   This would imply that anybody able to fake the postmaster's userid@node
  177.   could create a  new list on the server for  himself (by specifying him-
  178.   self as owner for future store  commands), or (even worse) could create
  179.   a list  with someone else's  userid in  the "Owner=" keyword,  and that
  180.   person would be  accused of all sorts of nasty  things... It has there-
  181.   fore been decided  that an implicit password be assigned  to new lists.
  182.   This password is defined in LSV$PROF EXEC ("createpw" variable) and can
  183.   be changed only  by modifying this EXEC and rebooting  the server. This
  184.   password must  be specified the  usual way  (ie "* PW=  createpw") when
  185.   creating the list. Note that unless  you specify a second "PW=" keyword
  186.   in the list, no password will be  assigned to it. Do not forget to cre-
  187.   ate the  dummy VM account  after creating a  new list --  otherwise you
  188.   couldn't mail to  it. Alternately, a list can be  "locked" by NOLOG-ing
  189.   the associated  dummy account: subscriptions and  list maintenance will
  190.   still be possible, but no  actual mailing/file sending will take place.
  191.  
  192.  
  193. NOTIFY    userid@node ON | OFF                  <PW=createpw or storepw>
  194.  
  195.   By issuing  a "NOTIFY userid@node  OFF" command, you can  have LISTSERV
  196.   automatically  suppress all  notification  mail sent  to the  specified
  197.   userid@node. This command should be  used whenever LISTSERVs are linked
  198.   together --  refer to  LISTLINK MEMO for  more detailed  information on
  199.   list linking.
  200.  
  201.  
  202. NODESGEN <WTONLY>                               <PW=storepw>
  203. |
  204. | (requires full-postmaster privilege)
  205. | The NODESGEN  command must be invoked  every time a new  version of the
  206. | BITEARN NODES  database is  made available to  LISTSERV, and  after the
  207. | server has been rebooted to  re-access the appropriate (supposedly) R/O
  208. | disks. It will  automatically rebuild all the  BITEARN NODES-based data
  209. | files  used by  LISTSERV. The  WTONLY  option indicates  that the  only
  210. | action  that should  be  taken  is to  compile  the  links weight  file
  211. | ("LINKSWT FILE")  into the "BITEARN  LINKSUM" file. This  process takes
  212. | only a  few seconds and should  be used whenever the  links weight file
  213. | has been  updated. Note  that the full  NODESGEN command  also includes
  214. | compilation of the links weight file.
  215. > GENROUTS is no longer needed.
  216.  
  217.  
  218. HOLD listname                                   <PW=listpw or createpw>
  219. FREE listname                                   <PW=listpw or createpw>
  220. |
  221. | These commands are strictly identical to the list-owner commands of the
  222. | same names.  However, postmasters (including cc:-postmasters)  have the
  223. | ability to  use them against any  list without having to  know the list
  224. | password:  the createpw  (or  the  storepw) is  accepted  on these  two
  225. | commands.
  226.  
  227.  
  228. OFFLINE                                         <PW=createpw or storepw>
  229. |
  230. | The OFFLINE command provides a means  whereby any file or piece of mail
  231. | received by the  server and determined to be  destined for distribution
  232. | to a  list can be  placed in (spool) HOLD  status with a  message being
  233. | sent to its  sender. This is equivalent to issuing  a HOLD command (see
  234. | LISTOWNR MEMO) against  all the distribution lists of  the server, with
  235. | the difference that a  list that has been held by means  of a HOLD com-
  236. | mand will  not be  released when  the OFFLINE  command is  negated (see
  237. | ONLINE command below). In other  words, OFFLINE is a 'global' indicator
  238. | while HOLD  is a 'local' one,  and the list is  held as soon as  one of
  239. | those two indicators is set.
  240. !
  241. ! OFFLINE also  causes all  DISTRIBUTE commands to  be postponed,  with a
  242. ! message being  sent to the  originator and the  file being kept  in the
  243. ! reader in  HOLD status until  subsequently freed by an  ONLINE command.
  244. |
  245. | The OFFLINE  command should be used  only when the precise  origin of a
  246. | mailing loop could  not be determined. As soon as  the list that caused
  247. | the loop has been identified, it  should be placed under selective hold
  248. | status by means of a HOLD command (qqv) *before* the OFFLINE command is
  249. | negated.
  250.  
  251.  
  252. ONLINE                                          <PW=createpw or storepw>
  253. |
  254. | ONLINE is the counterpart of  OFFLINE and releases all the distribution
  255. | lists that have  not been subjected to an individual  HOLD command. All
  256. | files that  had been placed in  spool HOLD status are  released and re-
  257. | enqueued for  distribution. Lists that  have been individually  held by
  258. | means of a  HOLD command are not  released -- use the  FREE command for
  259. | that purpose (described in LISTOWNR MEMO).
  260.  
  261.  
  262. PUTC <fn ft <fm>> <RECFM=F|V> <LRECL=nnn>       <PW=storepw>
  263. |>
  264. |>This command replaces,  and makes obsolete, the dummy  <PUT> command of
  265. |>the earlier versions of LISTSERV. The format of this new command subsu-
  266. |>mes that of  the old <PUT> command and full  ascending compatibility is
  267. |>warrantied.
  268. |
  269. | The PUTC command, which  can only be issued from a  file, allows you to
  270. | store a file on any of the  server's minidisk, under any name. The com-
  271. | mand must be placed in the first  record of the file to be stored, with
  272. | the appropriate keywords being specified (they are all optional, except
  273. | "PW=storepw"). The  file must then be  sent to the server  with a spool
  274. | form of "QU-STORE"  to effect the store operation. The  keywords can be
  275. | specified in  any order and anywhere  in the command line.  The default
  276. | value for "RECFM=" is  V, and the default value for  "LRECL=" is not to
  277. | change the  lrecl. The default  filemode is  A1 and the  default fileid
  278. | is as indicated by the spool fileid.
  279. |
  280. | To delete a file from the server's disk, you can either use a CMS ERASE
  281. | command or send a PUTC command with  no data (ie just the PUTC record).
  282. | The file will then be erased from the server's disk.
  283. |
  284. | It is strongly recommended that you use the LSVPUT program to send your
  285. | PUTC  commands to  LISTSERV, since  it will  automatically fill  in the
  286. | "RECFM=" and "LRECL="  keywords to make sure that the  file is properly
  287. | reformatted.
  288. |>The old <PUT>  command changed all RECFM  F files to RECFM  V when used
  289. |>in conjunction with LSVPUT.
  290. |
  291. |>The reasons for the strange name  of this command (PUTC instead of PUT)
  292. |>are twofold: compatibility with  the equivalent Netserv command (PUTC),
  293. |>and possibility  to reserve  the name "PUT"  to the  list-owner command
  294. |>that will be developped in the next release as part of the planned file
  295. |>server capabilities of  LISTSERV. This, again, will  follow the Netserv
  296. |>conventions. The GET command will be enhanced to perform as the Netserv
  297. |>command of the same name when more than one argument is specified.
  298. |
  299.  
  300.   The password required for this command  is obtained from the dummy dis-
  301. tribution list  whose name is  defined in the LSV$PROF  exec ("storelist"
  302. variable). If "storelist" is set to  '', no PUTC operation will be possi-
  303. ble at all, nor will remote CP/CMS commands be accepted. The "store" pass
  304. word can be changed  by changing the password of the  "store" list in the
  305. usual way (with a <STORE> command). Note that you do NOT need to create a
  306. dummy userid for the "store" list.
  307.  
  308.  
  309. PWC  ADD    userid@node password                <PW=createpw>
  310. !    DELete userid@node                         <PW=createpw>
  311. !    Query  userid@node                         <PW=createpw>
  312. !
  313. ! This command allows you to assign,  delete, or query the LISTSERV pass-
  314. ! word of any user.  Notification will be sent to the  target for the ADD
  315. ! and DELete options unless you have specified QUIET (eg QUIET PWC DELETE
  316. ! userid@node). "userid  node" is accepted  in lieu of  "userid@node" for
  317. ! compatibility with the Netserv syntax.
  318.  
  319.  
  320. FOR  userid@node any_command
  321. !
  322. ! This command allows you to execute  a command "for" another userid. The
  323. ! result is the same  as if the specified user had  issued the command to
  324. ! LISTSERV himself, except  that you get a copy of  all the messages that
  325. ! may be sent to him as a  result of the command. No password is required
  326. ! on the FOR command  -- people able to fake your  userid@node to issue a
  327. ! FOR command can also fake the target's userid@node....
  328.  
  329.  
  330. DEBUG ON | OFF                                  <PW=storepw>
  331. !
  332. ! (requires full-postmaster privilege)
  333. ! This command should  normally not be used except by  the author... Pla-
  334. ! cing LISTSERV  in debug mode will  cause an EXECDROP *  to be executed,
  335. ! with a  flag being set  to avoid  any subsequent EXECLOAD  command from
  336. ! LSVPROF, will  remove the  second and  subsequent postmasters  from the
  337. ! in-storage POSTMASTER global  variable (to avoid sending  100 junk mail
  338. ! files over 15 links to a remote postmaster as it already happened once)
  339. ! etc. DEBUG  OFF will return  everything back  to its normal  status and
  340. ! will reboot the server. Note that performances may be severely affected
  341. ! when running in debug mode.
  342.  
  343.  
  344.  
  345. Data files on the LISTSERV disk:
  346.  
  347.   The LISTSERV machine  has a variety of files on  its 191 minidisk, some
  348. of which must be maintained/tailored by the postmaster. Here is a (short)
  349. description of the various files that  can be encoutered on LISTSERV 191:
  350.  
  351. - LSVaxxx EXEC and LSVaxxx XEDIT, where 'a' is an alphabetical character,
  352.   are the various components of the  LISTSERV program per se. They should
  353.   not be modified. You will gain  no benefit from EXECLOADing them if you
  354.   use the VM/SP 3 EXECLOAD program  since they are always invoked via the
  355.   REXX "Call"  statement. The  startup exec (LSVPROF)  will automatically
  356.   issue EXECLOAD commands for the execs which are frequently used if your
  357.   CMS system is release 4 or better.
  358.  
  359. - LSV$xxx  EXEC are  user-tailorable  exits/definition execs.  Acceptable
  360. ! default execs  are provided for  most of  them, but LSV$PROF  *must* be
  361. ! tailored  before the  server is  started. It  defines the  postmaster's
  362. ! userid, mailer's userid, default password for new lists, etc. LSV$PW is
  363. ! the installation-tailorable exit to control PW ADD commands. LSV$PUT is
  364. ! called whenever a PUT command is issued against a file which is undefi-
  365. ! ned to LISTSERV.
  366.  
  367. - LSV_xxx EXEC are user-defined "control exit" execs associated with some
  368. ! of the  files which are  made available on  LISTSERV. Some of  them are
  369. ! shipped with  the LISTSERV code but  you can create your  own ones. See
  370. ! LISTFOWN MEMO for more information.
  371.  
  372. - PROFILE EXEC should  be modified to change the CP  SPOOL CONSOLE state-
  373.   ment, userid of the person getting a message if REXX unexpectedly exits
  374.   to CMS, and PFkeys settings (if desired).
  375.  
  376. - NONOTIFY FILE contains  the userid@nodes of all the  persons which have
  377.   been subjected to a NOTIFY OFF command (qqv). You can modify it manual-
  378.   ly if needed, but the NOTIFY command can do it too...
  379.  
  380. - SIGNUP FILE lists  the userid@nodes and true names of  all people known
  381.   to LISTSERV. Whenever  information mail is sent to  someone who appears
  382.   on this list, the person's true  name is extracted from it and inserted
  383.   in the mail header. Although you can manually modify it without problem
  384.   it is automatically updated whenever  a SUBSCRIBE/ADD command is recei-
  385.   ved (if the user already appears in  the file his name is replaced with
  386.   the one  that was  specified in  the latest  command). Entries  are not
  387.   removed when a user signs off from  a list (in case he appears on seve-
  388.   ral lists), so  some housekeeping might be required once  a year or so.
  389.  
  390. - PEERS FILE
  391. !>This file has been superseded by  PEERS NAMES. The startup exec of ver-
  392. !>sion 1.5d will automatically erase this file if present on the disk.
  393.  
  394. - PEERS  NAMES contains  information  about all  the known  (operational)
  395.   Revised LISTSERVs in the world.
  396.  
  397. - BITEARN  NODESUM is  a  summary  of the  information  contained in  the
  398. | BITEARN NODES  database. It is  generated by the NODESGEN  command. Al-
  399. | though LISTSERV  can probably still  run without  it, this file  is now
  400. | officially MANDATORY. Problems caused by  the absence of this file from
  401. | the server's disks will no longer be addressed by the author.
  402.  
  403. - BITEARN LINKSUM contains information about  the network topology. It is
  404. | generated from BITEARN NODES by the  NODESGEN command (qqv) and is used
  405. | by the  EXPLODE and  SUBSCRIBE commands processor.  The format  of this
  406. | file is  special and it must  NEVER be modified using  XEDIT, even with
  407. | SET HEX ON, SET IMAGE OFF, etc.  This file is now considered to be man-
  408. | datory under the same conditions as BITEARN NODESUM.
  409.  
  410. - LINKSWT FILE is the "links weight"  file that is used to override links
  411. | weights when generating the "BITEARN  LINKSUM" file. It indicates, in a
  412. | free format, pairs of nodes and the appropriate arbitrary distance that
  413. | separate them (in the 1-9 range). Note that whenever an alias node name
  414. | exists for one  of the nodes, an additional entry  must be provided for
  415. | that alias  name, with the same  distance. For example, if  you specify
  416. | "EARNET BITNIC  9", you MUST also  specify "IEARN BITNIC 9".  Since the
  417. | relation is symmetrical  you do not need to specify  "BITNIC EARNET 9",
  418. | but if BITNIC  had an alias you would  have to file in a  total of four
  419. | entries.
  420. |
  421. | *** Important note ***
  422. | This file is maintained, EXCLUSIVELY, by the Listserv coordinators. You
  423. | should not  modify it without  checking with the  Listserv coordination
  424. | first, unless the modification you intend to make applies only to nodes
  425. | that are local to your institution.  See LISTCOOR MEMO for more details
  426. | on this subject.
  427.  
  428. - NODES FILE
  429. !>This file  is no longer required.  The startup program of  version 1.5d
  430. !>will automatically erase it if found on the disk.
  431.  
  432. - xxxxxxxx LIST are the LISTSERV lists  definitions, as obtained by a GET
  433.   or REView command (but of course the "PW=" keyword appears in the file)
  434.   You should not modify these files manually,  or if you do you MUST pre-
  435.   serve the special  format (tabulation, etc). You should  always use the
  436.   GET & STORE method which will  automatically reformat the file and sort
  437.   it by nodes.
  438.  
  439. - xxxxxxxx STATS are the statistics associated with list "listname". They
  440.   are automatically maintained by the  LISTSERV system, and should not be
  441.   altered. The statistics can be "reset" by erasing the appropriate STATS
  442.   file.
  443.  
  444. - xxxxxx MAILFORM are  information mail templates. You can  create one of
  445.   these for  each list, but this  is not mandatory (default  is "$DEFAULT
  446.   MAILFORM"). The  format of these  files is  easy to understand  -- each
  447.   "form" has a name and its location in the MAILFORM file is indicated by
  448.   a ":formname formsubject"  line (where 'formsubject' is the  line to be
  449.   put in the "Subject:"  tag). The body of the note  follows and is ended
  450.   by ":END". Anything that appears  between quotes is "translated" as per
  451.   the REXX "Interpret" statement; note  that this is exactly the opposite
  452.   of a REXX statement, ie what  is WITHIN quotes gets translated. Some of
  453.   the variables  are always available  (eg 'listname'), but some  of them
  454.   are specified by  the calling program. Note that lines  in excess of 79
  455.   characters will be  split, with the remainder inserted  before the next
  456.   line.  Also, any  line longer  than  70 characters  will be  justified.
  457. | Quotes must be doubled whenever they  are to appear untranslated in the
  458. | text.
  459.  
  460.   *** WARNING ***
  461.   You should carefully  review the "listname MAILFORM" files  sent to you
  462.   by list owners before placing them online. Since the quoted clauses are
  463.   not checked  before being interpreted,  a carefully designed  mail form
  464.   could jeopardize your  system's security by allowing CP  commands to be
  465.   executed. For  example, a 'Diag(8,username)' field  would allow anybody
  466.   to issue  any CP command to  your server by  just signing on to  a list
  467.   with the command text as "name".
  468.  
  469. - xxxxxxxx MEMO and xxxxxxxx REFCARD are the documents sent by the "Info"
  470.   command. You should not erase them nor rename them.
  471.  
  472. - WAKEUP MODULE and CARD MODULE are required for LISTSERV to operate pro-
  473.   perly. WAKEUP is (of course) the  release 5 one, with IUCV support. The
  474.   version shipped with the code is 5.35, and it was the safest one at the
  475.   time  this memo  was written.  Version  5.4 is  a  can of  bugs, so  to
  476.   speak...
  477.   All other MODULEs  are utilities and can be discarded  if required, but
  478.   it is strongly  recommended that REXXDUMP be left on  the disk since it
  479.   is invoked by some of the  REXX programs after an abnormal condition is
  480.   detected. Also, FREE  is a module that will display  the amount of free
  481.   high-area storage  and can  be very useful  to determine  which storage
  482.   size is required by the server.
  483.  
  484. - WAKEPARM FILE  is an  optional "WAKEUP PARMS"  format file  which lists
  485.   events  that LISTSERV  should execute  at specific  times on  a regular
  486.   basis. Refer  to the proper  IBM documentation for more  information on
  487.   the format of this file. The "event" is interpreted as follow:
  488.  
  489.     - If the  first word is  "CP", it is interpreted  as a CP  command to
  490.       execute.
  491.     - If it is "CMS", the command is  passed to CMS via an "Address CMS".
  492.     - "EXEC" is equivalent to "CMS EXEC".
  493.     - "REXX" indicates that the command must be passed to REXX as per the
  494.       'Interpret' statement.
  495.     - Any other parameter string is 'Interpret'-ed.
  496.  
  497. - LOCALCMD FILE  is an optional file  which allows you to  define "local"
  498.   commands for your server without having to modify the standard LISTSERV
  499.   execs. The format of each line of this file is:
  500.  
  501.     command_name min_abbrev exec_name <exec_parms>
  502.  
  503.     command_name is the full  command name. It MUST start  with a special
  504.                  character (anything not in the A-Z range) and be entered
  505.                  all uppercase.  The author  warranties that  no standard
  506.                  command will  ever start  with a special  character; you
  507.                  can therefore  be sure  that there  will be  no conflict
  508.                  between your local commands  and a possible future stan-
  509.                  dard command.  Local commands starting with  A-Z are NOT
  510.                  allowed and are ignored by the command processor.
  511.  
  512.     min_abbrev   is the minimum  number of characters to  provide for the
  513.                  command to be recognized. It  must be an integer number.
  514.  
  515.     exec_name    is the filename  of the REXX program  to receive control
  516.                  when the command is identified. It *must* be a REXX pro-
  517.                  gram and is called as per the following command:
  518.  
  519.                     Call exec_name origin command_name parms,<exec_parms>
  520.  
  521.                  exec_name, command_name and exec_parms are from LOCALCMD
  522.                            FILE
  523.                  origin    is the "userid@node" of the command originator
  524.                  parms     is  the command  parameters  specified by  the
  525.                            user on the command line
  526.  
  527.   The REXX command exec must return  control to the LISTSERV system via a
  528.   "Return <return-code>" instruction. The  return-code is optional and is
  529. > ignored by the present version of  LISTSERV, but should follow the con-
  530. > vention that  0 = command  completed successfully, 1 =  unknown command
  531. > and other  = not yet defined.  A future version of  LISTSERV might make
  532. > these values available  to command jobs for  conditional command execu-
  533. > tion.
  534.   LISTSERV subroutines  and functions can  of course be "Call"-ed  by the
  535.   user REXX command processor, although  no documentation is available on
  536.   these functions.
  537.  
  538. - LOCALCMD HELPFILE should contain help information about your local com-
  539.   mands, if  any. This information is  dumped "as is" to  users issuing a
  540.   "Help" command and is preceded by a message saying "The following local
  541.   commands are available at this installation:". The format should be si-
  542.   milar to the format of the "standard" help messages.
  543.  
  544. - XMAILER NAMES and DOMAIN NAMES are  not mandatory but they are strongly
  545.   recommended. They are used to detect possible mailing loops and must be
  546.   regularly refreshed to  take new mailers into account.  It is therefore
  547.   suggested that a LISTSERV be LINKed to  MAILER 191 in RR mode with this
  548.   disk being subsequently accessed in the  PROFILE EXEC to make sure that
  549.   LISTSERV always has the latest version of these files. Do not forget to
  550.   reboot LISTSERV when you modify the MAILER's 191 disk.
  551. > These files will become mandatory in the next release.
  552.  
  553. - NETSERV CONTACTS is the list of  contacts for the NETSERV machines. Any
  554. ! piece of mail sent to a Netserv machine will be automatically forwarded
  555. ! to the corresponding contacts, with a  copy being sent to the author of
  556. ! Netserv (Berthold Pasch <PASCH@DHDIBM1>)
  557. !
  558. - AFDLIST FILE and FUILIST FILE are the list of all AFD and FUI subscrip-
  559. ! tions served by your server.
  560. !
  561. - AFDPEND FILE and  FUIPEND FILE list the pending  delayed AFD/FUI opera-
  562. ! tions. It is automatically reset when  LSVXAFD is called from the WAKE-
  563. ! PARM FILE.
  564. !
  565. - HARDFAC FILE is a description of  the "hardcoded" FACs and is automati-
  566. ! cally included in each FILELIST sent via a GET command.
  567. !
  568. - PWLIST FILE contains  the LISTSERV passwords of all the  users who were
  569. ! assigned a password on your server.
  570. !
  571. - xxxxx FILELIST are the various  filelists available via the file-server
  572. ! functions.
  573. !
  574. - xxxxx FILEID  are the "fileid  definition" files for  the corresponding
  575. ! filelists. The format is the following:
  576. !
  577. !   line 1: internal counter,  do not  change  it. Set it  to "1"  if you
  578. !           create a new FILEID file.
  579. !   line 2: optionally,  "*DEFAULT* filemode execname  execparm". Defines
  580. !           the default filemode, control exec  and control exec parms to
  581. !           be used when generating new entries in the file.
  582. !
  583. !   Other:  fn ft true_fn true_ft true_fm <execname <execparm>>
  584. !           associates  "true_fn true_ft  true_fm" as  "true fileid"  for
  585. !           the file "fn  ft" of the filelist,  and optionally associates
  586. !           a "control exec" to it.
  587. !
  588. - All the  other files are  profiles/utilities enjoyed by the  author and
  589.   can be discarded if needed.
  590.  
  591.  
  592.  
  593. For more information refer to: LISTSERV MEMO, LISTOWNR MEMO,
  594.                                LISTLINK MEMO, LISTINST MEMO.
  595.  
  596.  
  597. Comments and complaints should be sent to Eric Thomas <ERIC@FRECP11>
  598.  
  599.