home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / KA9QTCPP / NNTP4NOS.ZIP / NNTPDOC.TXT < prev    next >
Encoding:
Text File  |  1990-05-15  |  5.5 KB  |  121 lines

  1. The new changes (as of May 12, 1990) are described next, followed by older
  2. changes:
  3.  
  4. Newsgroup name adjustment
  5.     Previously, newsgroups whose names contained characters that were not
  6.     valid in DOS filenames would not get created.  I now map any character
  7.     that is nonalphanumeric and not '-' into an underscore ('_').
  8.  
  9. Locking of nntp.dat history files
  10.     Previously, it was possible for a session to open while another was still
  11.     in progress; the result would be that two processes would be trying to
  12.     update these files.  I've added appropriate mlock() and rmlock() calls to
  13.     prevent this.  If nntp.dat is locked when I try to first read it, I close
  14.     the session and try again later.  If it's locked when I try to update it,
  15.     I simply don't update it; the next session to that server will get the
  16.     old date in the NEWNEWS command, but the old message ids will be found in
  17.     the history file and so not transferred.  If the history file is locked,
  18.     I abort the session; this is not a great solution, but is better than the
  19.     alternative.
  20.  
  21. Updating of nntp.dat changed
  22.     Instead of overwriting it in place (which for reasons unknown didn't seem
  23.     to work for me), I now recreate it.
  24.  
  25. Enhanced NNTP DIR command
  26.     You can now give a second argument, which becomes the Newsdir directory.
  27.  
  28. Changed date stamp on 'From ' lines
  29.     used to be mm/dd/yy hh:mm:ss, now it's just elapsed seconds since origin
  30.     of GMT.  Make it both easier to parse and easier for expire to work with.
  31.  
  32. Buffers in getarticle() now malloc'd
  33.     used to be on stack -- Phil pointed out it's better to mallocw() them,
  34.     so I do.
  35.  
  36. The following describes my changes to Anders Klemets' NNTP client for
  37. the KA9Q NOS package.  The changes described herein are as of May 6, 1990.
  38.                               --Bernie Roehl
  39.                                 broehl@sunee.waterloo.edu
  40.  
  41. NNTP TRACE command
  42.     The syntax is the same as for SMTP TRACE.  There are four levels of
  43.     detail that can be specified:
  44.         0 - no tracing
  45.         1 - only serious errors reported
  46.         2 - same as 1, plus transient errors reported
  47.         3 - same as 2, plus session progress reported
  48.         4 - same as 3, plus actual received articles displayed
  49.     Note that (1) is the default, and corresponds to the way things were
  50.     in Klemets' original code.
  51.  
  52. More error messages
  53.     I've added some error reporting (most of it subject to the nntp trace
  54.     setting).
  55.  
  56. NNTP DIR command
  57.     Allows you to set a spool directory other than the mail directory.
  58.     Note that this is *not* the "Newsdir" directory (where history and
  59.     nntp.dat are kept) but rather the spool directory where the articles
  60.     themselves are kept.  The idea is that you could store articles on
  61.     another drive.
  62.  
  63. Connection windows
  64.     You can now specify a range of times at the end of an "nntp add" command,
  65.     in the form "nntp add localserver 600 22:00-23:00", which would cause
  66.     the nntp connections to be made only between 10 pm and 11 pm local
  67.     time.  (NOTE: uses gettime() call, which is DOS-specific).
  68.  
  69. Site-specific newsgroups
  70.     You can now override the "nntp groups" setting for specific servers.
  71.     For example,
  72.           nntp groups !rec.pets.gerbils
  73.           nntp add myfeed 1800
  74.           nntp add anotherfeed 7200 2:00-5:00 rec.pets.gerbils
  75.     would take a full newsfeed from site "myfeed" every half-hour, but
  76.     would not take rec.pets.gerbils.  The group rec.pets.gerbils is brought
  77.     in from site "anotherfeed" every 2 hours, but only connecting between
  78.     2 and 5 am local time.
  79.  
  80. Accumulating NNTP ADD commands
  81.     Because additional information is now added on to NNTP, the commands
  82.     can get quite long.  Therefore, "nntp add" commands now merge their
  83.     values.  For example,
  84.            nntp add myfeed 1800 rec.pets.gerbils,6:00-9:00,7:30-9:30
  85.            nntp add myfeed 7200 comp.binaries.eniac
  86.            nntp add myfeed 600
  87.            nntp list
  88.     will produce the following:
  89.         myfeed        (595/600 7:30-9:30) rec.pets.gerbils,comp.binaries.eniac
  90.     Note that the interval value *replaces* the previous one, as does the
  91.     window setting; the groups accumulate (up to 512 bytes total).
  92.     To reset the group list, "nntp drop" the entry and re-add it.
  93.  
  94. File Locking
  95.     The mlock() and rmlock() functions within NOS are now used to lock the
  96.     news files while they're being updated.  This is for use in conjunction
  97.     with a (yet-to-be-written) news-expiry program.
  98.  
  99. Date/time stamp on 'From' lines
  100.     'From' lines in the news files now have the date and time appended,
  101.     in the form MM/DD/YY HH:MM:SS.  This for use with a (yet-to-be-written)
  102.     news expiry program.  (Note: this is the *arrival* date of the article,
  103.     not the date it was posted on!)
  104.  
  105. Increased stack space
  106.     Even in the original nntpcli.c, the stack allocated was not really enough.
  107.     I've bumped it to 3k (up from 1k) because of all the array[NNTPMAXLEN]'s
  108.     in getarticle() and elsewhere.
  109.  
  110. Updating of nntp.dat only if the session is succesful
  111.     Otherwise, we might lose articles.
  112.  
  113. That's about it.  Be sure to read Anders Klemets' original description,
  114. in klemets.txt, and of course read through the code to see how it works :-)
  115.  
  116. If you have any questions about the code, send mail to me at
  117. broehl@sunee.waterloo.edu, or to tcp-group@ucsd.edu.
  118.  
  119. I'm working on an expiry program (as time permits...), and am thinking about
  120. how to implement posting (using IHAVE).  Will keep you posted.
  121.