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>
Mon, 6 Apr 1987 21:10 SET
text/plain (85 lines)
  I  have eventually  decided to  read the  RFC822 STANDARD  document (augh...
ouchh... arrghh...) and  to provide full RFC822 support in  LISTSERV (and soon
in  NETSERV). After  trying  to understand  the  specs at  the  bottom of  the
document for  the n+1-th time,  I realized that  it was actually  much simpler
than it looked like and could be implemented easily.
 
  I have therefore  decided to write a set of  RFC822-parsing execs which will
come as part of the LISTSERV system  but will be made public domain, operating
system   independent  and   context-independent.  I   will  encourage   server
maintainers to use them to parse input RFC stuff and create output RFC mail so
that if there is a bug or a problem,  only ONE exec has to be fixed. They will
be used by LISTSERV starting with the  next release and by NETSERV when RFC822
is implemented into it. Right now I  have decided to write the following three
execs:
 
- An  exec which,  given  a canonical  USERID,DOMAIN,NAME  string, produces  a
  RFC822 encoded stream for this mailbox. Example:
 
    Eric FRECP11 Eric Thomas --> Eric Thomas <Eric@FRECP11>
 
    @CIR059 FRORS31 --> "@CIR059"@FRORS31
 
  Note that a  fix has been incorporated for the  Crosswell MAILER's "feature"
  of 'anything1 AT anything2  <userid@node>' --> 'anything1@anything2 <userid@
  node>' --> syntax error.
 
- An exec which,  given a RFC822 "field", performs the  folding operation on a
  given number of columns. Did I misunderstand something, or does RFC822 allow
  you to fold  on ANY blank in  the field? Of course the  program will attempt
  folding after ">, " strings and suchlike for better output, but if it is not
  possible it  will fold  anywhere. Note  that the  Crosswell MAILER  does not
  allow folding withing quoted strings, which  is a violation of RFC822 and is
  EXTREMELY difficult to address as you  are usually FORCED to fold within the
  quoted string.
 
- An exec which inputs  a mail header from the program  stack, unfolds it, and
  perform some optional post-processing such as:
 
   - Determining the "actual date" (DATE/RESENT-DATE), and possibly generating
     a default one
 
   - Determining the "actual origin" (RESENT-SENDER/RESENT-FROM...), in USERID
     DOMAIN NAME format
 
   - Extracting the  list of "TO"  or "CC"  recipients, in USERID  DOMAIN NAME
     format
 
  The complete original (unfolded) header, as well as other return information
  and (possibly) info/warning/error messages will be returned to the caller.
 
  That should  do most of the  job, the rest is  trivial keyword/comma abbutal
and suchlike. The first exec is  already written and operational on my server,
I'll try  to write  the two  other ones  tomorrow if I  can. I  have a  lot of
fighting to do with  my school right now: I have not been  allowed to study in
the computing department next year because "I don't have the level". I am only
277th over  360 students  in computer  sciences, which  may seem  difficult to
understand as I have the best marks in the school in that area, but CS amounts
to only 10% of the coefficients for  the CS department (don't ask), english is
5%  (the dept  head barely  speaks english,  that explains  it), and  the most
important fields are quantum physics  (don't ask), linear (RLC) filters design
(don't ask), low-frequency  electronics, etc. Really, don't  try to understand
why these are the most important areas for  a CS student -- there is really no
logic  there. I  have  therefore  been assigned  to  the commercial  computing
sciences sub-department, which means I'll have  to work on IBM PCs and program
in  COBOL,  dBASE  III,  FRAMEWORK,   MULTIPLAN,  LOTUS  and  other  wonderful
contraptions,  and that  my final  training course  will be  to implement  and
integrate a computing facility (read: a  PC with hard-disk and matrix printer)
in some old-fashioned company where people  don't know what a computer is. The
best being that this thing does not  take place in Paris but in Rennes, 450kms
away. That's like Metz but on the other side of France:
 
         Rennes <---450 kms---> Paris <---400 kms---> Metz
 
  Anyway it would be a very long story to explain everything, but as you might
guess I am  not wholly satisfied with  this and intend to try  to do something
(with  very little  hope, though).  But  let's be  honest, there  HAS been  an
improvement in the school's attitude since  last year: they EARNESTLY tried to
take personal choice into account. They  did assign me to something related to
computers  after  all --  it  could  have  been high-energy  inductors,  power
transformers or something  similarly captivating. Because this  is supposed to
meet  my personal  choices it  will  be more  difficult to  request a  change,
though... *sigh*
 
  Eric

ATOM RSS1 RSS2