LSTSRV-L Archives

LISTSERV Site Administrators' Forum

LSTSRV-L

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Eric Thomas <ERIC@FRECP11>
Wed, 12 Nov 1986 23:03 SET
text/plain (52 lines)
  This kind of feature was in the initial NETINFO idea (as part of the FAC) and
I have used this idea in LISTSERV, but as part of the FILEID control list since
FACs are  local to  each filelist (and  for security reasons  the owner  of the
filelist must not be able to cause just any exec to be called).
 
  Let me explain how the mechanism works.
 
1) The FILELIST owner adds an entry in the filelist for a new file.
 
2) With each filelist  there is an associated "filelistname  FILEID" file which
   is automatically maintained by LISTSERV but  can be modified by the postmas-
   ter. This file lists the "true fileid"  for each file of the filelist, along
   with two very important optional fields: execname and execparms.
 
3) The file  owner sends a  PUT command for  that file. LISTSERV  call LSVFILID
   to determine  the 'real' fileid of  the file. This may  have been overridden
   by the postmaster  (eg I want CHAT EXEC  to be stored as CHAT  EXEC, for ob-
   vious reasons) on a file per file basis. If the file had already been stored
   once, the same fileid is used of course. Otherwise a new fileid is generated
   ("nnnnnnnn filelistname A1"). However, if an "*DEFAULT*" entry exists in the
   FILEID file, its  contents are used to determine the  filemode, execname and
   execparms.
 
4) If execname ^=  '', the exec receives control with  various arguments inclu-
   ding invoker,  fileid, filelist  name, the complete  line from  the filelist
   with FACs  and the like,  execparm (as specified  in the FILEID  file), etc.
   The exec  can either reject the  PUT command, accept  it as is, or  impose a
   different "true fileid".
 
5) The file is received under the specified fileid.
 
6) The exit gets  control a second time to perform  any kind of post-processing
   job that may  be required. It can again change  the "true fileid" associated
   with the file.
 
7) LISTSERV processes to execute or queued FUI and AFD processes.
 
Example:
 
PUT $LISTSRV NAMES
--> LSV_$NAM  gets control,  checks you're  the contact  person for  your node.
    It then  either rejects or accepts  with a fileid of  "LISTSERV CMSUT1 A1".
 
--> The file is received as LISTSERV CMSUT1
--> LSV_$NAM COPYFILEs  it to  LISTSERV UPDNAME A1  (APPEND, and  indicates the
    LISTSERV FILEID list must not be updated.
 
  There are  a lot  of other examples  in a memo  I wrote  a long time  ago for
NETINFO. I will send it to the list so you can see yourself.
 
  Eric

ATOM RSS1 RSS2