NetBSD Problem Report #45986

From river@ISIS.RT.UK.EU.ORG  Sat Feb 11 21:50:44 2012
Return-Path: <river@ISIS.RT.UK.EU.ORG>
Received: from ( [])
	by (Postfix) with ESMTP id 47FDB63B86B
	for <>; Sat, 11 Feb 2012 21:50:44 +0000 (UTC)
Message-Id: <4f36d052.ur5r7iKk+ttsso0o%river@RT.UK.EU.ORG>
Date: Sat, 11 Feb 2012 20:32:18 +0000
From: River Tarnell <river@RT.UK.EU.ORG>
Subject: news/inn ignores PKG_SYSCONFBASE

>Number:         45986
>Category:       pkg
>Synopsis:       news/inn ignores PKG_SYSCONFBASE
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    spz
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Feb 11 21:55:01 +0000 2012
>Closed-Date:    Sat Apr 20 07:58:30 +0000 2013
>Last-Modified:  Sat Apr 20 07:58:30 +0000 2013
>Originator:     River Tarnell <river@RT.UK.EU.ORG>
>Release:        Linux 2.6.32-5-amd64
System: Linux isis 2.6.32-5-amd64 #1 SMP Mon Jan 16 16:22:28 UTC 2012 x86_64 GNU/Linux
pkgsrc 2011Q4
news/inn 2.5.2nb4

news/inn ignores PKG_SYSCONFBASE when installing, so configuration files will
always be put in ${PREFIX}/etc/inn, regardless of what the user has set.
Set PKG_SYSCONFBASE in mk.conf and install news/inn.

Index: Makefile
RCS file: /cvsroot/pkgsrc/news/inn/Makefile,v
retrieving revision 1.108
diff -u -r1.108 Makefile
--- Makefile    25 Sep 2011 14:00:09 -0000      1.108
+++ Makefile    11 Feb 2012 20:27:38 -0000
@@ -27,6 +27,8 @@


@@ -34,7 +36,7 @@
                        --enable-largefiles                             \
                        --bindir=${PREFIX}/${INN_PATHBIN}               \
                        --sbindir=${PREFIX}/${INN_PATHBIN}              \
-                       --sysconfdir=${PREFIX}/etc/inn                  \
+                       --sysconfdir=${PKG_SYSCONFDIR}                  \
                        --with-openssl=${SSLBASE:Q}                     \
                        --with-doc-dir=${PREFIX}/share/doc/inn          \
                        --with-control-dir=${PREFIX}/${INN_PATHBIN}/control \
@@ -75,13 +77,11 @@

-PKG_SYSCONFDIR.inn=    ${PREFIX}/etc/inn
 EXAMPLEDIR=            ${PREFIX}/share/examples/inn
 INN_DATADIRS=          log log/OLD run tmp db spool http
 INN_SPOOLDIRS=         archive articles overview incoming incoming/bad \
                        outgoing uniover innfeed

-INSTALLATION_DIRS+=    etc/nntp
@@ -91,8 +91,7 @@
 MAKE_DIRS+=            ${PREFIX}/sbin
 MAKE_DIRS+=            ${PREFIX}/lib

-INN_DIRS+=             ${PREFIX}/etc/nntp
-INN_DIRS+=             ${PREFIX}/etc/inn
+INN_DIRS+=             ${PKG_SYSCONFDIR}
 INN_DIRS+=             ${INN_DATA_DIR}

 OWN_DIRS+=             ${PREFIX}/${INN_PATHBIN}



Responsible-Changed-From-To: pkg-manager->spz
Responsible-Changed-When: Sun, 12 Feb 2012 14:10:45 +0000
Over to maintainress

From: "S.P.Zeidler" <>
Subject: PR/45986 CVS commit: pkgsrc/news/inn
Date: Thu, 23 Aug 2012 19:00:43 +0000

 Module Name:	pkgsrc
 Committed By:	spz
 Date:		Thu Aug 23 19:00:42 UTC 2012

 Modified Files:
 	pkgsrc/news/inn: Makefile PLIST distinfo
 	pkgsrc/news/inn/patches: patch-ah patch-ak
 Added Files:
 	pkgsrc/news/inn/patches: patch-al
 Removed Files:
 	pkgsrc/news/inn/patches: patch-am patch-an

 Log Message:
 Update from 2.5.2 to 2.5.3 (fixes CVE-2011-0411).

 While we are touching it, fix PR/45986 with the patch supplied therein

 Changes from 2.5.2 to 2.5.3:

   * When HDR/XHDR/XPAT were used on a new article coming into a newsgroup,
     requesting a header not present in the overview database, the first
     subsequent OVER/XOVER command did not show that article.  A remap of
     the overview data file was missing in nnrpd.  Thanks to Sam
     Varshavchik for the bug report.

   * 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.

     Perl and Python filters for innd now also properly initialize their
     header variables with the first occurrence of header fields.  (It is
     still the last occurrence for the Perl filter for nnrpd.)

   * Fixed a possible plaintext command injection during the negotiation of
     a TLS layer.  The vulnerability detailed in CVE-2011-0411 affects the
     STARTTLS and AUTHINFO SASL commands.  nnrpd now resets its read buffer
     upon a successful negotiation of a TLS layer.  It prevents malicious
     commands, sent unencrypted, from being executed in the new encrypted
     state of the session.

   * Fixed a regression that occurred in INN 2.5.0 when leading whitespace
     characters have been made significant in header field bodies.  It
     could lead INN to drop articles and throttle itself when running as a
     slave because Xref: header fields generated by other news servers, or
     even INN 2.4.6, could contain (valid) leading whitespace.  Thanks to
     Matija Nalis for having caught this bug.

   * Fixed an invalid 431 response to CHECK commands when innd is paused:
     the message-ID of the article to defer was missing.  Also fixed
     another issue in the messages innd replied; when an error occurred
     during a write on a channel, a trailing extra junk byte was added to
     the reply.  Thanks to River Tarnell for these bug reports.

   * It is now possible to properly generate daily statistics with
     sendinpaths thanks to the new -k and -r flags that permit to control
     the interval of days for processing dump files.  The new -c flag
     permits to send a copy of the generated e-mail to the newsmaster.

     Also fixed an issue with statistics that could be missing or
     duplicated for a couple of days when monthly sent.

     The documentation has been updated and mentions a preferred daily run
     of sendinpaths.  This script is a complete rewrite in Perl, and is
     based on Mohan Kokal's initial work.

   * cnfsheadconf now properly recognizes continuation lines in
     cycbuff.conf, that is to say lines ending with a backslash ("\").
     Thanks to John F. Morse for the bug report.

   * The order of CNFS buffers in a metacycbuff is now properly read and
     written by cnfsheadconf.  There previously was a confusion between
     hexadecimal and decimal values.  Thanks again to John F. Morse.

   * When the -l flag is given to cnfsstat, the cycbuff.conf and
     storage.conf files are now reloaded if they have been modified since
     the previous output of cnfsstat.

   * A single header field line is limited to 998 bytes, per RFC 5536.
     innd was previously accepting, and also generating Xref: header field
     lines, up to 1022 bytes.  Now, nnrpd (acting as an injecting agent)
     rejects articles which contain header field lines whose length exceeds
     998 bytes.  And innd (acting as a relaying or serving agent) no longer
     checks that.

   * nnrpd advertises the COUNTS, DISTRIBUTIONS, MODERATORS, MOTD and
     SUBSCRIPTIONS variants of the LIST command in response to
     CAPABILITIES.  These commands already existed in nnrpd but RFC 6048
     had not yet been published.

   * Add support for LIST MOTD in innd.  Consequently, the
     configuration file which was previously used only by nnrpd is renamed
     to motd.nnrpd (innupgrade takes care of the rename).  innd uses the
     new motd.innd file in *pathetc* for its message of the day.

   * Fixed an issue at configure time that made INN wrongly assume that
     OpenBSD (4.6) didn't support Unix-domain sockets.  Thanks to Wim Lewis
     for the patch.

   * Fixed an issue on systems which do not have a working flock(2)
     function (Solaris, for instance).  mailpost and pullnews are reported
     not to be usable on such systems.  Many thanks to Dennis Davis for the
     bug report.

     A wrapper around shlock is now called in Perl scripts.  The
     INN::Utils::Shlock module has been added for that use.

   * Fixed an issue in the Python access hook for nnrpd:  it has not been
     working since Python 2.5 on 64-bit platforms, owing to a change to
     Python's C API, using a new Py_ssize_t type definition instead of int.
     Thanks to Raphael Barrois for the patch.

   * Improve the stability of the Perl filters for innd and nnrpd: properly
     save and restore the stack pointer when needed.

   * The Injection-Date: header, when present, is now used by innd and
     makehistory to determine the posting date of an article.  Otherwise,
     the Date: header is used.

   * controlchan now imposes a date cutoff on processing control articles.
     The *artcutoff* parameter set in inn.conf is used.  Otherwise, without
     that cutoff, old control articles could be maliciously reinjected into
     Usenet, and replayed.  (An unsigned Injection-Date: header field could
     be added to an article that only had a Date: header field.)  A new -c
     flag has been added to controlchan to disable the cutoff check, if
     needed (usually when manually invoking the program).

   * nnrpd no longer adds or updates the Path: header field when an article
     is forwarded to a moderator.  It could otherwise lead to rejects at
     injection time when the article was approved by the moderator.

   * The X-Trace: header field was not properly generated when an article
     was locally posted.  The field mentioning the IP address was skipped,
     resulting in a wrong syntax for this header.  The local "" IP
     address is now used.  Besides, "localhost" is now mentioned instead of
     an obscure "stdin" in injection header fields.

   * Fixed a bug in the frequency innfeed logs its status:  too many
     useless lines were written to news.notice.  Thanks to Florian
     Schlichting for the fix.

   * When unset in innfeed.conf, the *dynamic-method* parameter now
     properly defaults to 3 (instead of 0) and *use-mmap* to false (instead
     of true).  These two values were already the recommended ones in the
     documentation and the sample file.  Note that *use-mmap* is only used
     when innfeed is given file names to send instead of storage API
     tokens, which is a fairly rare use case.

   * innfeed no longer generates an error message (logged in news.err) when
     a parameter is not defined in innfeed.conf.  All the parameters have a
     default value, so there is no need to warn the user if they are not
     present in innfeed.conf.  Thanks to Dieter Stussy for having reported
     this problem.

   * Implement an upper limit to the number of file descriptors innd can
     handle.  At most (FD_SETSIZE-1) file descriptors can be used.  This
     upper limit now overrides any superior number set with *rlimitnofile*
     in inn.conf.  Thanks to Steve Crook for the bug report.

   * A default timeout on outgoing sockets (using NNTPconnect) has been
     added by Florian Schlichting.  For a long time, there have been
     occasional problems with actsync (and probably other programs) that
     would hang until manually killed or restarted.

   * The flag -S has been added to innd by Florian Schlichting.  When used,
     innd reports the errors found in incoming.conf and exits.

   * pullnews no longer stops processing newsgroups when an error occur
     during its run (for instance when a newsgroup mentioned in the
     configuration file is removed from an upstream server).  Besides, it
     can now use authentication when posting to the downstream server.

     A few other minor bugs have been fixed as for the way pullnews counts
     the articles.

   * Fixed the way innreport handles leap years.  It now properly generates
     HTML reports; dates were assumed to be relative to the current year,
     which may break their computation during for instance the whole 2012
     leap year.  Please note that no HTML reports have been lost, and that
     they will appear when INN is updated to this new version.

   * A new parameter has been added to inn.conf to determine whether the
     status file that innd can write out (depending on the value of the
     *status* parameter) is plain text or wrapped in HTML.  It previously
     only was a compile-time option, set to true by default.  Florian
     Schlichting added the *htmlstatus* parameter to provide a configurable

   * It is now possible to run a script at the end of the execution of
     innshellvars scripts.  If a file named innshellvars.local, or innshellvars.tcl.local is present and
     executable in *pathetc*, then it will be executed by the corresponding
     innshellvars script (respectively shell, INN::Config Perl module, and
     Tcl).  A typical use is to add or override variables.

   * Add support for wire-formatted articles in scanspool.

   * A lot of work on cleaning old perl4-style code has been done by
     Florian Schlichting.

   * inncheck now generates a proper non-zero exit value when errors are
     found, and allows quiet mode with the -q flag.  Florian Schlichting
     has greatly improved this script in many regards, especially with a
     config-syntax parser for incoming.conf, innfeed.conf, readers.conf and

   * inncheck now properly finds the boundaries of substituted variables in
     newsfeeds thanks to Alexander Bartolich.

   * docheckgroups no longer uses awk.  On a few systems, the script was
     failing because of the presence of an old version of awk that has a
     limit in the size of the input it can handle.  Processing large
     newsgroups files was consequently impossible.  docheckgroups now uses
     Perl instead of awk, which solves the issue reported by John F. Morse.

   * Other minor bug fixes and documentation improvements.  In particular,
     the *debug-shrinking*, *fast-exit* and *initial-sleep* keys in
     innfeed.conf are now documented.  The function "filter_end()", called
     when Perl filtering is turned off, is also documented for the innd and
     nnrpd Perl filters.

 To generate a diff of this commit:
 cvs rdiff -u -r1.108 -r1.109 pkgsrc/news/inn/Makefile
 cvs rdiff -u -r1.22 -r1.23 pkgsrc/news/inn/PLIST
 cvs rdiff -u -r1.28 -r1.29 pkgsrc/news/inn/distinfo
 cvs rdiff -u -r1.14 -r1.15 pkgsrc/news/inn/patches/patch-ah
 cvs rdiff -u -r1.1 -r1.2 pkgsrc/news/inn/patches/patch-ak
 cvs rdiff -u -r0 -r1.1 pkgsrc/news/inn/patches/patch-al
 cvs rdiff -u -r1.1 -r0 pkgsrc/news/inn/patches/patch-am \

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->feedback
State-Changed-When: Thu, 23 Aug 2012 23:54:14 +0000
Should be fixed, please give it a try.

State-Changed-From-To: feedback->closed
State-Changed-When: Sat, 20 Apr 2013 07:58:30 +0000
no more complaints


NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD:,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.