home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / bit / listserv / netnwsl / 332 < prev    next >
Encoding:
Text File  |  1993-01-04  |  3.4 KB  |  74 lines

  1. Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
  2. Path: sparky!uunet!munnari.oz.au!spool.mu.edu!sdd.hp.com!swrinde!zaphod.mps.ohio-state.edu!howland.reston.ans.net!europa.asd.contel.com!gatech!usenet.ins.cwru.edu!news.ysu.edu!psuvm!auvm!CUNYVM.BITNET!NMBCU
  3. Message-ID: <NETNWS-L%93010418495654@VM1.NODAK.EDU>
  4. Newsgroups: bit.listserv.netnws-l
  5. Date:         Mon, 4 Jan 1993 19:45:35 EST
  6. Sender:       NETNWS-L Netnews List <NETNWS-L@NDSUVM1.BITNET>
  7. From:         Nelson Broat <NMBCU@CUNYVM.BITNET>
  8. Subject:      Re: Something wrong with the days calculation?
  9. In-Reply-To:  Message of Mon, 4 Jan 1993 17:04:38 EST from <LRL@psuvm.psu.edu>
  10. Lines: 62
  11.  
  12. Here's a partial trace, and below that, the code within "CheckHeaders" where
  13. the bug (sortof) occurs. A possible temporary fix is at the bottom.
  14.  
  15. 11:47:38 Process article for group(s) rec.video.satellite
  16. Date =         Tue, 22 Dec 1992 18:39:03 CST
  17. art.postdate = ARTPOSTDATE
  18. art.jul_postdate = 92358
  19. art.posttime = 0039
  20. bad_date = 0
  21. g.today =  93004
  22. g.reject_old = 14
  23. 11:47:38 Foreign article rejected: Article is too old; date=12/23/92
  24.  
  25.  
  26.    'FIND Date:'
  27.    if rc ^= 0 then return '"Date:" header is required.'
  28.    'EXTRACT /CURLINE'
  29.    parse var curline.3 . date
  30.    Say 'Date = 'date
  31.    parse value ParseDateTime(date) with ,
  32.       art.postdate art.jul_postdate art.posttime bad_date .
  33.    if bad_date & b.local then
  34.       return 'Date given is invalid or in invalid format.'
  35.    if g.today - art.jul_postdate > g.reject_old then
  36.       Do;                                                  /*NMB*/
  37.         Say 'art.postdate = 'artpostdate                   /*NMB*/
  38.         Say 'art.jul_postdate = 'art.jul_postdate          /*NMB*/
  39.         Say 'art.posttime = 'art.posttime                  /*NMB*/
  40.         Say 'bad_date = 'bad_date                          /*NMB*/
  41.         Say 'g.today = ' g.today                           /*NMB*/
  42.         Say 'g.reject_old = 'g.reject_old                  /*NMB*/
  43.       return 'Article is too old; date='art.postdate
  44.       End;                                                 /*NMB*/
  45.  
  46. Since todays julian date will be 93xxx and anything posted last year
  47. but arriving this year, say 12/22/92 - 12/31/92, will have a julian date
  48. of 92yyy, the reject date will always be incredibly larger than the default
  49. value for "reject_old" which is 14. As a fix, if you set it too large then
  50. you run the risk of accepting these so called old articles, on the other hand
  51. if you set it too small then you run the risk of missing a chance to
  52. load these articles on your system, since in reality, articles posted
  53. between 12/22 and 12/31 probably really aren't old; i.e. - they never
  54. made it onto your system this holiday season for whatever reason.
  55.  
  56. We've decided to change the above If statement to...
  57.  
  58. If g.today - art.jul-postdate > 14 & g.today - art.jul_postdate < 635 Then...
  59.    Return 'Article is too old; date' = art.postdate
  60.  
  61. I'd be interested in hearing what others think of this solution?
  62.  
  63. Its 635 because 1000-366 (number of days in the leap year) = 634. Thus,
  64. any article with a posting date of 12/31 or earlier will get accepted
  65. and not rejected. This of course, becomes a problem should the fix be left in
  66. too long and truly old articles do decide to make a comeback. :)
  67.  
  68. All in all this sounds like a problem which will weed itself out "reject_old"
  69. number of the days into the new year; I.E. - I'll be removing the fix on the
  70. 15th. But next year we go through this all over again. :-) Anyone have a
  71. permanent solution?
  72.  
  73. Nelson
  74.