INN commit: branches/2.5 (doc/pod/news.pod innd/art.c)

INN Commit rra at isc.org
Thu Aug 5 19:50:44 UTC 2010


    Date: Thursday, August 5, 2010 @ 12:50:44
  Author: iulius
Revision: 9097

When a header field appeared more than once in an article, it was missing
from the overview data.  OVER/XOVER, as well as HDR/XHDR/XPAT using the
overview, were therefore returning an empty field.  The content of the
first occurrence is now returned, in accordance with RFC 3977.

Modified:
  branches/2.5/doc/pod/news.pod
  branches/2.5/innd/art.c

------------------+
 doc/pod/news.pod |    7 +++++++
 innd/art.c       |   10 ++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

Modified: doc/pod/news.pod
===================================================================
--- doc/pod/news.pod	2010-08-05 19:49:36 UTC (rev 9096)
+++ doc/pod/news.pod	2010-08-05 19:50:44 UTC (rev 9097)
@@ -12,6 +12,13 @@
 
 =item *
 
+When a header field appeared more than once in an article, it was missing
+from the overview data.  OVER/XOVER, as well as HDR/XHDR/XPAT using the
+overview, were therefore returning an empty field.  The content of the
+first occurrence is now returned, in accordance with RFC 3977.
+
+=item *
+
 B<cnfsheadconf> now properly recognizes continuation lines in
 F<cycbuff.conf>, that is to say lines ending with a backslash (C<\>).
 Thanks to John S<F. Morse> for the bug report.

Modified: innd/art.c
===================================================================
--- innd/art.c	2010-08-05 19:49:36 UTC (rev 9096)
+++ innd/art.c	2010-08-05 19:50:44 UTC (rev 9097)
@@ -683,8 +683,14 @@
     cp->Data.BytesHeader = header;
   hc = &hc[i];
   if (hc->Length != 0) {
-    /* Duplicated. */
-    hc->Length = -1;
+    /* Duplicated required header.
+     * We do not check every header because they would otherwise disappear
+     * from the overview.
+     * The content of the first occurrence must be returned by HDR and OVER
+     * according to RFC 3977. */
+    if (ARTheaders[i].Type == HTreq) {
+      hc->Length = -1;
+    }
   } else {
     /* We need to remove leading and trailing spaces for
      * message-IDs; otherwise, history hashes may not be




More information about the inn-committers mailing list