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

INN Commit rra at isc.org
Fri Dec 25 22:42:21 UTC 2009


    Date: Friday, December 25, 2009 @ 14:42:21
  Author: iulius
Revision: 8860

Fixed a bug to control-only feeds:  junked non-control articles were being
fed down control-only feeds).  Thanks to Andrew Gierth for the patch.

Modified:
  trunk/doc/pod/news.pod
  trunk/innd/art.c

------------------+
 doc/pod/news.pod |    5 +++++
 innd/art.c       |   18 +++++++++---------
 2 files changed, 14 insertions(+), 9 deletions(-)

Modified: doc/pod/news.pod
===================================================================
--- doc/pod/news.pod	2009-12-24 14:56:10 UTC (rev 8859)
+++ doc/pod/news.pod	2009-12-25 22:42:21 UTC (rev 8860)
@@ -160,6 +160,11 @@
 
 =item *
 
+Fixed a bug to control-only feeds:  junked non-control articles were being
+fed down control-only feeds).  Thanks to Andrew Gierth for the patch.
+
+=item *
+
 Fixed a bug in B<innreport> which was not correctly summing B<innd>
 stats when I<hostname> was set as an IPv6 address instead of a fully
 qualified domain name.  Thanks to Petr Novopashenniy for the bug report.

Modified: innd/art.c
===================================================================
--- innd/art.c	2009-12-24 14:56:10 UTC (rev 8859)
+++ innd/art.c	2009-12-25 22:42:21 UTC (rev 8860)
@@ -2311,13 +2311,6 @@
     ngp->PostCount = 0;
   }
 
-  /* Loop over sites to find Poisons/ControlOnly and undo Sendit flags. */
-  for (i = nSites, sp = Sites; --i >= 0; sp++) {
-    if (sp->Poison || (sp->ControlOnly && !IsControl)
-      || (sp->DontWantNonExist && NonExist))
-      sp->Sendit = false;		
-  }
-
   /* Control messages not filed in "to" get filed only in control.name
    * or control. */
   if (IsControl && Accepted && !ToGroup) {
@@ -2401,16 +2394,23 @@
   }
   *ngptr = NULL;
 
+  /* Loop over sites to find Poisons/ControlOnly and undo Sendit flags. */
+  for (i = nSites, sp = Sites; --i >= 0; sp++) {
+    if (sp->Poison || (sp->ControlOnly && !IsControl)
+        || (sp->DontWantNonExist && NonExist))
+      sp->Sendit = false;
+  }
+
   if (innconf->xrefslave) {
     if (ARTxrefslave(data) == false) {
       if (HDR_FOUND(HDR__XREF)) {
 	snprintf(cp->Error, sizeof(cp->Error),
-                 "%d Xref header \"%s\" invalid in xrefslave mode",
+                 "%d Xref: header \"%s\" invalid in xrefslave mode",
                  ihave ? NNTP_FAIL_IHAVE_REJECT : NNTP_FAIL_TAKETHIS_REJECT,
                  MaxLength(HDR(HDR__XREF), HDR(HDR__XREF)));
       } else {
 	snprintf(cp->Error, sizeof(cp->Error),
-                 "%d Xref header required in xrefslave mode",
+                 "%d Xref: header required in xrefslave mode",
                  ihave ? NNTP_FAIL_IHAVE_REJECT : NNTP_FAIL_TAKETHIS_REJECT);
       }
       ARTlog(data, ART_REJECT, cp->Error);




More information about the inn-committers mailing list